<?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>166990</bug_id>
          
          <creation_ts>2017-01-12 15:07:52 -0800</creation_ts>
          <short_desc>HTML form validation popover sometimes does not go away</short_desc>
          <delta_ts>2017-01-12 17:00:44 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1266313</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-01-12 15:07:52 -0800</bug_when>
    <thetext>HTML form validation popover sometimes does not go away when it should.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266314</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-01-12 15:08:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/29985957&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266315</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-01-12 15:09:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/30001932&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266328</commentid>
    <comment_count>3</comment_count>
      <attachid>298718</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-01-12 15:20:58 -0800</bug_when>
    <thetext>Created attachment 298718
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266356</commentid>
    <comment_count>4</comment_count>
      <attachid>298728</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-01-12 16:08:54 -0800</bug_when>
    <thetext>Created attachment 298728
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266358</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-01-12 16:09:48 -0800</bug_when>
    <thetext>Sorry, I had 2 patches squashed together. Now it contains only the fix for this bug, sorry about that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266382</commentid>
    <comment_count>6</comment_count>
      <attachid>298728</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-01-12 17:00:39 -0800</bug_when>
    <thetext>Comment on attachment 298728
Patch

Clearing flags on attachment: 298728

Committed r210689: &lt;http://trac.webkit.org/changeset/210689&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266383</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-01-12 17:00:44 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>298718</attachid>
            <date>2017-01-12 15:20:58 -0800</date>
            <delta_ts>2017-01-12 16:08:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-166990-20170112151918.patch</filename>
            <type>text/plain</type>
            <size>35873</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwNTk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjVjOWVhM2NhOTBiZGJm
ZDcwNjY4OWYyZmJlMmNkNGQzNDM2ZDUwMi4uODU3ZjA5YjY3MzI4NDg3MDNkNDkyNWRjM2E1YTA0
ZmY2NmI5ODg2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgyIEBACisyMDE3LTAxLTEyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gSFRNTCBmb3JtIHZh
bGlkYXRpb24gcG9wb3ZlciBzb21ldGltZXMgZG9lcyBub3QgZ28gYXdheQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2OTkwCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS8yOTk4NTk1Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGUgaXNzdWUgd2FzIHRoYXQgW1VJVmlld0NvbnRyb2xsZXIgcHJlc2Vu
dFZpZXdDb250cm9sbGVyOl0gaXMgYXN5bmNocm9ub3VzCisgICAgICAgIGFuZCB0aGF0IHdlIHNv
bWV0aW1lcyB0cmllZCB0byBjYWxsIFttX3BvcG92ZXJDb250cm9sbGVyIGRpc21pc3NWaWV3Q29u
dHJvbGxlckFuaW1hdGVkOl0KKyAgICAgICAgYmVmb3JlIHByZXNlbnRWaWV3Q29udHJvbGxlciBo
YWQgY29tcGxldGVkLiBUaGlzIGlzIHNvbWV0aGluZyB0aGF0IFVJS2l0IGRvZXMKKyAgICAgICAg
bm90IGhhbmRsZSBuaWNlbHkgYW5kIHRoZSBwb3BvdmVyIGp1c3Qgc3RheXMgdmlzaWJsZSBldmVu
IHRob3VnaCB3ZSBoYXZlCisgICAgICAgIGFza2VkIGZvciB0aGUgY29udHJvbGxlciB0byBiZSBk
aXNtaXNzZWQgYW5kIGRlc3Ryb3llZCB0aGUgVmFsaWRhdGlvbkJ1YmJsZQorICAgICAgICBvYmpl
Y3QuCisKKyAgICAgICAgVG8gYWRkcmVzcyB0aGUgaXNzdWUsIEkgbWFkZSBWYWxpZGF0aW9uQnVi
YmxlIFJlZkNvdW50ZWQgYW5kIG1ha2Ugc3VyZSB0aGUKKyAgICAgICAgVmFsaWRhdGlvbkJ1YmJs
ZSBvYmplY3Qgc3RheXMgYWxpdmUgYXQgbGVhc3QgdW50aWwgdGhlIGNvbXBsZXRpb24gaGFuZGxl
ciBmb3IKKyAgICAgICAgW1VJVmlld0NvbnRyb2xsZXIgcHJlc2VudFZpZXdDb250cm9sbGVyOl0g
aGFzIGJlZW4gY2FsbGVkLiBUaGlzIGlzIGRvbmUgdmlhCisgICAgICAgIHByb3RlY3RpbmcgdGhl
IG9iamVjdCB1c2luZyBhIFJlZlB0cjw+IGFuZCBjYXB0dXJpbmcgaXQgaW4gdGhlIGxhbWJkYS4K
KyAgICAgICAgQmVjYXVzZSBkaXNtaXNzVmlld0NvbnRyb2xsZXJBbmltYXRlZCBpcyBjYWxsZWQg
aW4gdGhlIGRlc3RydWN0b3IsIGl0IGlzIG5vCisgICAgICAgIGxvbmdlciBwb3NzaWJsZSB0byBj
YWxsIGRpc21pc3NWaWV3Q29udHJvbGxlckFuaW1hdGVkIGJlZm9yZSB0aGUgY2FsbCB0bworICAg
ICAgICBwcmVzZW50Vmlld0NvbnRyb2xsZXIgaGFzIGNvbXBsZXRlZC4KKworICAgICAgICBObyBu
ZXcgdGVzdHMsIG5vIGVhc2lseSB0ZXN0YWJsZSBzaW5jZSB0aGUgcG9wb3ZlciB3YXMgc3RheWlu
ZyB2aXNpYmxlCisgICAgICAgIGFmdGVyIGJlaW5nIGRlc3Ryb3llZCAoaGVsZCBvbiBieSBVSUtp
dCkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9WYWxpZGF0aW9uQnViYmxlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpWYWxpZGF0aW9uQnViYmxlOjpjcmVhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL2lv
cy9WYWxpZGF0aW9uQnViYmxlSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbkJ1
YmJsZTo6c2hvdyk6CisKKzIwMTctMDEtMTIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KKworICAgICAgICBSZXBvcnQgcG9zdC1wYWdlIGxvYWQgQ1BVIHVzYWdlIHVzaW5nIGRpYWdu
b3N0aWMgbG9nZ2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTY2OTUwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yOTk2NDEzOT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaG9ydGx5IGFmdGVyIHBh
Z2UgbG9hZCAoNSBzZWNvbmRzKSwgd2UgbWVhc3VyZSB0aGUgV2ViQ29udGVudCBwcm9jZXNzJwor
ICAgICAgICBDUFUgdXNhZ2Ugb3ZlciAxMCBzZWNvbmRzIGFuZCByZXBvcnQgdGhlIHBlcmNlbnRh
Z2UgYmFjayB2aWEgcmVsZWFzZQorICAgICAgICBsb2dnaW5nLiBXZSBhbHNvIGxvZyB0aGUgcGVy
Y2VudGFnZSB1c2luZyBkaWFnbm9zdGljIGxvZ2dpbmcgdXNpbmcgdGhlCisgICAgICAgIGZvbGxv
d2luZyBidWNrZXRzOgorICAgICAgICAtIEJlbG93IDEwJQorICAgICAgICAtIDEwIHRvIDIwJQor
ICAgICAgICAtIDIwIHRvIDQwJQorICAgICAgICAtIDYwIHRvIDgwJQorICAgICAgICAtIE92ZXIg
ODAlCisKKyAgICAgICAgVGhlIGxvZ2dpbmcgd29ya3Mgb24gYm90aCBNYWMgYW5kIGlPUy4gSSB2
ZXJpZmllZCB0aGF0IEkgZ2V0IHJlc3VsdHMKKyAgICAgICAgY29uc2lzdGVudCB3aXRoIEFjdGl2
aXR5IE1vbml0b3Igb3IgdG9wLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gV2ViLWZhY2lu
ZyBiZWhhdmlvciBjaGFuZ2UsIG9ubHkgZXh0cmEgbG9nZ2luZy4KKworICAgICAgICAqIENNYWtl
TGlzdHMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVMb2FkZXI6OmNoZWNrTG9hZENvbXBsZXRlRm9yVGhpc0ZyYW1lKToKKyAgICAgICAgKiBwYWdl
L0RpYWdub3N0aWNMb2dnaW5nS2V5cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEaWFnbm9zdGlj
TG9nZ2luZ0tleXM6OnBvc3RQYWdlTG9hZEtleSk6CisgICAgICAgIChXZWJDb3JlOjpEaWFnbm9z
dGljTG9nZ2luZ0tleXM6OmNwdVVzYWdlS2V5KToKKyAgICAgICAgKiBwYWdlL0RpYWdub3N0aWNM
b2dnaW5nS2V5cy5oOgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpQYWdlOjpQYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OmRpZEZpbmlzaExvYWQpOgor
ICAgICAgICAoV2ViQ29yZTo6Y3B1VXNhZ2VUb0RpYWdub3N0aWNMb2dnaW5LZXkpOgorICAgICAg
ICAoV2ViQ29yZTo6UGFnZTo6bWVhc3VyZVBvc3RMb2FkQ1BVVXNhZ2UpOgorICAgICAgICAqIHBh
Z2UvUGFnZS5oOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2V0dGluZ3M6OmlzUG9zdExvYWRDUFVVc2FnZU1lYXN1cmVtZW50RW5hYmxlZCk6CisgICAg
ICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAqIHBsYXRmb3JtL0NQVVRpbWUuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmdldENQVVRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6
Q1BVVGltZTo6cGVyY2VudGFnZUNQVVVzYWdlU2luY2UpOgorICAgICAgICAqIHBsYXRmb3JtL0NQ
VVRpbWUuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY29jb2EvQ1BVVGltZUNvY29hLm1t
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnRpbWVWYWx1ZVRvTWljcm9zZWNvbmRzKToKKyAg
ICAgICAgKFdlYkNvcmU6OmdldENQVVRpbWUpOgorCiAyMDE3LTAxLTExICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgSXRlcmF0aW5nIG92ZXIgVVJMU2VhcmNoUGFy
YW1zIGRvZXMgbm90IHdvcmsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCBkYmIwYTJlODU0ZWFkMmNlOGVh
MzkzOTRmMWIxODJjZDcwZjJjNGQ3Li4yYTdiMGFlMjFkOTdlNzA4MTQ1OWEwZWNjYTI1MTk3NTlk
ODhhMjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTctMDEtMTIgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBIVE1MIGZvcm0gdmFsaWRh
dGlvbiBwb3BvdmVyIHNvbWV0aW1lcyBkb2VzIG5vdCBnbyBhd2F5CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjY5OTAKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzI5OTg1OTU3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFVwZGF0ZSBjb2RlIHVzaW5nIFZhbGlkYXRpb25CdWJibGUgbm93IHRoYXQgaXQg
aXMgUmVmQ291bnRlZC4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAg
KC1bV2ViVmlldyBzaG93Rm9ybVZhbGlkYXRpb25NZXNzYWdlOndpdGhBbmNob3JSZWN0Ol0pOgor
CiAyMDE3LTAxLTEwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAg
IFJlbW92ZSBwb2ludGVyTG9ja0VsZW1lbnQgZnJvbSBET01Eb2N1bWVudFByaXZhdGUuaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCmluZGV4IDBmYzM1YmExMmNmODY0Y2M1YTEzODlhYTRjNzE2NjdiZGZiZDIyMjEuLjczMGU1
YzE3MzcxZDYyMzg5YWZjOTJhYjkxZWUxZGU3Mzk5OTEwNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMiBAQAorMjAxNy0wMS0xMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisg
ICAgICAgIFtpT1NdIEhUTUwgZm9ybSB2YWxpZGF0aW9uIHBvcG92ZXIgc29tZXRpbWVzIGRvZXMg
bm90IGdvIGF3YXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE2Njk5MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjk5ODU5NTc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGNvZGUgdXNpbmcg
VmFsaWRhdGlvbkJ1YmJsZSBub3cgdGhhdCBpdCBpcyBSZWZDb3VudGVkLgorCisgICAgICAgICog
VUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6
OlBhZ2VDbGllbnRJbXBsOjpjcmVhdGVWYWxpZGF0aW9uQnViYmxlKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdl
Q2xpZW50SW1wbC5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmNyZWF0ZVZh
bGlkYXRpb25CdWJibGUpOgorCiAyMDE3LTAxLTExICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CiAKICAgICAgICAgW2lPU11bV0syXSBLZXlib2FyZEV2ZW50LmtleSBhbHdheXMgcmV0
dXJucyBhbiBlbXB0eSBzdHJpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMGI3YWU0MTc0ZWY3
NTBhZTcyMzVmZDRlM2FhMDg4MGZlNzg1NTMxOC4uYzg0MjhjNjI5NDQ0MmQzNGRmMGJkOThlYTEz
MDJkMDgyMjQxNjRmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTIwNjAsNiArMjA2MCw3IEBA
IHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZS5jcHAKICAgICBwYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUu
Y3BwCiAKKyAgICBwbGF0Zm9ybS9DUFVUaW1lLmNwcAogICAgIHBsYXRmb3JtL0NhbGN1bGF0aW9u
VmFsdWUuY3BwCiAgICAgcGxhdGZvcm0vQ2xvY2suY3BwCiAgICAgcGxhdGZvcm0vQ2xvY2tHZW5l
cmljLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDJmNzI4NjE4ZWNhMGUxMzliMjg1ZThhNjQwMTMxMTUxMWI0OGQ2NDEuLjU0
ZjBmNDNmOGRkM2U5YmM2NzA2NzFjYjMwOTI3Njk3MzVjZmQ5NmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE3MzMsNiArMTcz
Myw5IEBACiAJCTQ2MENCRjM1MUQ0QkNEMEUwMDkyRTg4RSAvKiBKU0RPTVdpbmRvd1Byb3BlcnRp
ZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDYw
Q0JGMzMxRDRCQ0NGRTAwOTJFODhFIC8qIEpTRE9NV2luZG93UHJvcGVydGllcy5jcHAgKi87IH07
CiAJCTQ2MENCRjM2MUQ0QkNEMEUwMDkyRTg4RSAvKiBKU0RPTVdpbmRvd1Byb3BlcnRpZXMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2MENCRjM0MUQ0
QkNDRkUwMDkyRTg4RSAvKiBKU0RPTVdpbmRvd1Byb3BlcnRpZXMuaCAqLzsgfTsKIAkJNDYzNDU5
MkMxQUMyMjcxMDAwRUNCNzFDIC8qIFBvd2VyT2JzZXJ2ZXJNYWMuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDYzNDU5MkIxQUMyMjcxMDAwRUNCNzFD
IC8qIFBvd2VyT2JzZXJ2ZXJNYWMuY3BwICovOyB9OworCQk0NjM3NjMwODFFMjZGREQ3MDA4Q0Q0
NkQgLyogQ1BVVGltZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NjM3NjMwNjFFMjZGREJBMDA4Q0Q0NkQgLyogQ1BVVGltZS5jcHAgKi87IH07CisJ
CTQ2Mzc2MzA5MUUyNkZERDcwMDhDRDQ2RCAvKiBDUFVUaW1lLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjM3NjMwNzFFMjZGREJBMDA4Q0Q0NkQgLyog
Q1BVVGltZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTQ2Mzc2MzBCMUUyNkZERjYwMDhDRDQ2RCAvKiBDUFVUaW1lQ29jb2EubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjM3NjMwQTFFMjZGREVCMDA4
Q0Q0NkQgLyogQ1BVVGltZUNvY29hLm1tICovOyB9OwogCQk0NjNFQjYyMjFCODc4OUUwMDA5NkVE
NTEgLyogVGFnQ29sbGVjdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0NjNFQjYyMDFCODc4OUNCMDA5NkVENTEgLyogVGFnQ29sbGVjdGlvbi5j
cHAgKi87IH07CiAJCTQ2M0VCNjIzMUI4Nzg5RTAwMDk2RUQ1MSAvKiBUYWdDb2xsZWN0aW9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NjNFQjYyMTFC
ODc4OUNCMDA5NkVENTEgLyogVGFnQ29sbGVjdGlvbi5oICovOyB9OwogCQk0NjUzMDdEMDFEQjZF
RTQ4MDBFNDEzN0MgLyogSlNVSUV2ZW50SW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODNFMDQ1RUYxREFBMTA0RjAwQjBEOEI5IC8qIEpTVUlFdmVu
dEluaXQuaCAqLzsgfTsKQEAgLTg5MjksNiArODkzMiw5IEBACiAJCTQ2MENCRjMzMUQ0QkNDRkUw
MDkyRTg4RSAvKiBKU0RPTVdpbmRvd1Byb3BlcnRpZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNET01XaW5kb3dQcm9wZXJ0aWVzLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDYwQ0JGMzQxRDRCQ0NGRTAwOTJFODhFIC8qIEpTRE9NV2luZG93
UHJvcGVydGllcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVdpbmRv
d1Byb3BlcnRpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDYzNDU5MkIxQUMy
MjcxMDAwRUNCNzFDIC8qIFBvd2VyT2JzZXJ2ZXJNYWMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUG93ZXJPYnNlcnZlck1hYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTQ2Mzc2MzA2MUUyNkZEQkEwMDhDRDQ2RCAvKiBDUFVUaW1lLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENQVVRpbWUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk0NjM3NjMwNzFFMjZGREJBMDA4Q0Q0NkQgLyogQ1BVVGltZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDUFVUaW1lLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQ2Mzc2MzBBMUUyNkZERUIwMDhDRDQ2RCAvKiBDUFVUaW1lQ29j
b2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDUFVUaW1lQ29j
b2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2M0VCNjIwMUI4Nzg5Q0IwMDk2
RUQ1MSAvKiBUYWdDb2xsZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFRhZ0NvbGxlY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
NjNFQjYyMTFCODc4OUNCMDA5NkVENTEgLyogVGFnQ29sbGVjdGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBUYWdDb2xsZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQ2NUE4RTc4MUM4QTI0Q0UwMEU3RDNFNCAvKiBSdW50aW1lQXBwbGljYXRpb25D
aGVja3MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSdW50aW1l
QXBwbGljYXRpb25DaGVja3MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xOTc2
OCw2ICsxOTc3NCw3IEBACiAJCUE1Qzk3NENFMTE0ODVGREEwMDY2RjJBQiAvKiBjb2NvYSAqLyA9
IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNDYzNzYzMEExRTI2
RkRFQjAwOENENDZEIC8qIENQVVRpbWVDb2NvYS5tbSAqLywKIAkJCQlBMTQwOTBGQTFBQTUxRTFE
MDA5MTE5MUEgLyogQ29udGVudEZpbHRlclVuYmxvY2tIYW5kbGVyQ29jb2EubW0gKi8sCiAJCQkJ
Q0Q3RDMzNDUxQzdBMTZCRjAwMDQxMjkzIC8qIENvcmVWaWRlb1NvZnRMaW5rLmNwcCAqLywKIAkJ
CQlDRDdEMzM0NjFDN0ExNkJGMDAwNDEyOTMgLyogQ29yZVZpZGVvU29mdExpbmsuaCAqLywKQEAg
LTIyNTAxLDYgKzIyNTA4LDggQEAKIAkJCQk2NTNFRjgzNjE5QTA0M0FFMDA1MjIwMkMgLyogc3Bp
ICovLAogCQkJCTFBMkU2RTU2MENDNTUxRTAwMDRBMjA2MiAvKiBzcWwgKi8sCiAJCQkJQjJDM0Q5
RUMwRDAwNkMxRDAwRUY2RjI2IC8qIHRleHQgKi8sCisJCQkJNDYzNzYzMDYxRTI2RkRCQTAwOENE
NDZEIC8qIENQVVRpbWUuY3BwICovLAorCQkJCTQ2Mzc2MzA3MUUyNkZEQkEwMDhDRDQ2RCAvKiBD
UFVUaW1lLmggKi8sCiAJCQkJNDlBRTJEOTQxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGN1bGF0aW9u
VmFsdWUuY3BwICovLAogCQkJCTQ5QUUyRDk1MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjdWxhdGlv
blZhbHVlLmggKi8sCiAJCQkJQ0RFQTc2MzMxNDYwQjQ2MjAwOEIzMUYxIC8qIENsb2NrLmNwcCAq
LywKQEAgLTI4MjU5LDYgKzI4MjY4LDcgQEAKIAkJCQk1QjMwNjk1RTE4QjNEMzQ1MDA5OUQ1RTgg
LyogV2ViR0xEcmF3QnVmZmVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkVCRjBFNTUxMkE4OTI5
ODAwREIxNzA5IC8qIFdlYkdMRXh0ZW5zaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUM3QjlD
RjEwNDJEMzJGMDAwOUQ0NDcgLyogV2ViR0xGcmFtZWJ1ZmZlci5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNDYzNzYzMDkxRTI2RkRENzAwOENENDZEIC8qIENQVVRpbWUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTZFNDdFNjYxMTBCNzk0NEIwMEIxODZDOCAvKiBXZWJHTEFueS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDlGRkJGM0YxMUM5M0VFMzAwNkE3MTE4IC8qIFdlYkdMTGF5ZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTkzRjFENUJCMTJENTMyQzQwMDgzMkJFQyAvKiBXZWJHTExvc2VDb250ZXh0Lmgg
aW4gSGVhZGVycyAqLywKQEAgLTI5OTA2LDYgKzI5OTE2LDcgQEAKIAkJCQkyRTA4ODhENDExNDg4
NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUMz
NkNCRDBFQjA4MDYyMDA3NDEwQkMgLyogSlNET01HbG9iYWxPYmplY3QuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJN0MyQkREM0QxN0M3Rjk4QzAwMzhGRjE1IC8qIEpTRE9NR2xvYmFsT2JqZWN0VGFz
ay5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0NjM3NjMwODFFMjZGREQ3MDA4Q0Q0NkQgLyogQ1BV
VGltZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2NURGMzFGNzA5RDFDQzYwMDAwQkUzMjUgLyog
SlNET01JbXBsZW1lbnRhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NDc5NDkzQzFFMDQ1
Q0YzMDAwMThEODUgLyogRGVwcmVjYXRlZENTU09NUHJpbWl0aXZlVmFsdWUuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNDEzOEY4NTcxRDI1M0YwODAwMUNCNjFFIC8qIEpTRE9NSXRlcmF0b3IuY3Bw
IGluIFNvdXJjZXMgKi8sCkBAIC0zMDA3Myw2ICszMDA4NCw3IEBACiAJCQkJQkMwNkVEOUYwQkZE
NjYwNjAwODU2RTlEIC8qIEpTSFRNTFRhYmxlUm93RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCQzA2RUQwNjBCRkQ1QkFFMDA4NTZFOUQgLyogSlNIVE1MVGFibGVTZWN0aW9uRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlENjQ4OUQyNTE2NkZGQ0YxMDA3QzAzMUIgLyogSlNI
VE1MVGVtcGxhdGVFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQ2Mzc2MzBCMUUyNkZE
RjYwMDhDRDQ2RCAvKiBDUFVUaW1lQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQlENkY3OTYw
RDE2NkZGRUNFMDA3NkREMTggLyogSlNIVE1MVGVtcGxhdGVFbGVtZW50Q3VzdG9tLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUE4MEU3RTlFMEExQTgzRTMwMDdGQjhDNSAvKiBKU0hUTUxUZXh0QXJl
YUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODNFMzU5QTMxQkIxMDMxRDAwMkNFQjk4
IC8qIEpTSFRNTFRpbWVFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAKaW5kZXggMGJjN2Y4N2I2OWIxMTU2YjRmNzIwMTRlYjc2MDdkMzY3
MmE4YmVhNC4uMzhjZTdmZmRkYjdiNTYxODk1MzI3ODc4OGE1ZGQ1YTJhYjVlN2Q2MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC0yMjg2LDcgKzIyODYsNyBAQCB2b2lk
IEZyYW1lTG9hZGVyOjpjaGVja0xvYWRDb21wbGV0ZUZvclRoaXNGcmFtZSgpCiAgICAgICAgICAg
ICBQYWdlKiBwYWdlID0gbV9mcmFtZS5wYWdlKCk7CiAgICAgICAgICAgICBpZiAocGFnZSkgewog
ICAgICAgICAgICAgICAgIGlmIChtX2ZyYW1lLmlzTWFpbkZyYW1lKCkpCi0gICAgICAgICAgICAg
ICAgICAgIHBhZ2UtPnJlc2V0UmVsZXZhbnRQYWludGVkT2JqZWN0Q291bnRlcigpOworICAgICAg
ICAgICAgICAgICAgICBwYWdlLT5kaWRGaW5pc2hMb2FkKCk7CiAgICAgICAgICAgICB9CiAKICAg
ICAgICAgICAgIGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yID0gZGwtPm1haW5Eb2N1bWVudEVy
cm9yKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5n
S2V5cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5jcHAK
aW5kZXggZDZiZTAyMGFiNWE1OWQyMmIwOGRkOWNjNmRlNDZmMDQ1NmE5M2FlZC4uMGZhMjY2NDhi
Nzg5NzYzYjg4YWQxZjZjM2M0Y2MyZTdhYzdmZGRjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNwcApAQCAtNTMsNiArNTMsMTEgQEAgU3RyaW5nIERp
YWdub3N0aWNMb2dnaW5nS2V5czo6cGx1Z2luTG9hZGluZ0ZhaWxlZEtleSgpCiAgICAgcmV0dXJu
IEFTQ0lJTGl0ZXJhbCgicGx1Z2luRmFpbGVkTG9hZGluZyIpOwogfQogCitTdHJpbmcgRGlhZ25v
c3RpY0xvZ2dpbmdLZXlzOjpwb3N0UGFnZUxvYWRLZXkoKQoreworICAgIHJldHVybiBBU0NJSUxp
dGVyYWwoInBvc3RQYWdlTG9hZCIpOworfQorCiBTdHJpbmcgRGlhZ25vc3RpY0xvZ2dpbmdLZXlz
Ojpwcm92aXNpb25hbExvYWRLZXkoKQogewogICAgIHJldHVybiBBU0NJSUxpdGVyYWwoInByb3Zp
c2lvbmFsTG9hZCIpOwpAQCAtMzAzLDYgKzMwOCwxMSBAQCBTdHJpbmcgRGlhZ25vc3RpY0xvZ2dp
bmdLZXlzOjpjYW5ub3RTdXNwZW5kQWN0aXZlRE9NT2JqZWN0c0tleSgpCiAgICAgcmV0dXJuIEFT
Q0lJTGl0ZXJhbCgiY2Fubm90U3VzcGVuZEFjdGl2ZURPTU9iamVjdHMiKTsKIH0KIAorU3RyaW5n
IERpYWdub3N0aWNMb2dnaW5nS2V5czo6Y3B1VXNhZ2VLZXkoKQoreworICAgIHJldHVybiBBU0NJ
SUxpdGVyYWwoImNwdVVzYWdlIik7Cit9CisKIFN0cmluZyBEaWFnbm9zdGljTG9nZ2luZ0tleXM6
OmNyZWF0ZVNoYXJlZEJ1ZmZlckZhaWxlZEtleSgpCiB7CiAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJh
bCgiY3JlYXRlU2hhcmVkQnVmZmVyRmFpbGVkIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFn
bm9zdGljTG9nZ2luZ0tleXMuaAppbmRleCAyZWU2MjdiOGY0MzgzYWQ2ODNiNzJiNDAxNmRkMjI5
MjIwNzFlNTkyLi5jNzUzMWM2ZGMyNjU4MDg5Mjg3ODRkM2IwM2I0ZWM2ODkwM2EwMjM4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmgKQEAgLTM4LDYgKzM4
LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBTdHJpbmcgY2FjaGVkUmVzb3VyY2VSZXZhbGlkYXRp
b25LZXkoKTsKICAgICBzdGF0aWMgU3RyaW5nIGNhbkNhY2hlS2V5KCk7CiAgICAgc3RhdGljIFN0
cmluZyBjYW5ub3RTdXNwZW5kQWN0aXZlRE9NT2JqZWN0c0tleSgpOworICAgIHN0YXRpYyBTdHJp
bmcgY3B1VXNhZ2VLZXkoKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgU3RyaW5nIGNyZWF0
ZVNoYXJlZEJ1ZmZlckZhaWxlZEtleSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBTdHJp
bmcgZGVsdGFLZXkoKTsKICAgICBzdGF0aWMgU3RyaW5nIGRlbmllZEJ5Q2xpZW50S2V5KCk7CkBA
IC05Nyw2ICs5OCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3RyaW5nIHBsYXllZEtleSgpOwog
ICAgIHN0YXRpYyBTdHJpbmcgcGx1Z2luTG9hZGVkS2V5KCk7CiAgICAgc3RhdGljIFN0cmluZyBw
bHVnaW5Mb2FkaW5nRmFpbGVkS2V5KCk7CisgICAgc3RhdGljIFN0cmluZyBwb3N0UGFnZUxvYWRL
ZXkoKTsKICAgICBzdGF0aWMgU3RyaW5nIHByb3Zpc2lvbmFsTG9hZEtleSgpOwogICAgIHN0YXRp
YyBTdHJpbmcgcHJ1bmVkRHVlVG9NYXhTaXplUmVhY2hlZCgpOwogICAgIHN0YXRpYyBTdHJpbmcg
cHJ1bmVkRHVlVG9NZW1vcnlQcmVzc3VyZUtleSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggOTMz
MWIzMDI5MDdlNzliN2MxMWI1ZWMwODQ2YmFmZDVjM2ZlYzQ5Ny4uMDhhM2QzNWZlZGY3NjY5M2Ex
MGJlM2VkNmQ4N2M3YmE2Mzg3MzY2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0zMyw2ICszMyw3
IEBACiAjaW5jbHVkZSAiQ29udGV4dE1lbnVDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRGF0YWJh
c2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgiCisjaW5j
bHVkZSAiRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIu
aCIKICNpbmNsdWRlICJEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJEcmFn
Q29udHJvbGxlci5oIgpAQCAtOTgsNiArOTksNyBAQAogI2luY2x1ZGUgIlZpc2l0ZWRMaW5rU3Rv
cmUuaCIKICNpbmNsdWRlICJWb2lkQ2FsbGJhY2suaCIKICNpbmNsdWRlICJXaWRnZXQuaCIKKyNp
bmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZExlYWtD
b3VudGVyLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L0Jhc2U2NC5oPgpAQCAtMTI0LDggKzEyNiwxMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKKyNkZWZpbmUgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChjaGFubmVsLCBmbXQsIC4uLikgUkVM
RUFTRV9MT0dfSUYoaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIGNoYW5uZWwsICIlcCAtIFBh
Z2U6OiIgZm10LCB0aGlzLCAjI19fVkFfQVJHU19fKQorCiBzdGF0aWMgSGFzaFNldDxQYWdlKj4q
IGFsbFBhZ2VzOwogCitzdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgY3B1VXNhZ2VN
ZWFzdXJlbWVudERlbGF5IHsgNSB9Oworc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRz
IGNwdVVzYWdlTWVhc3VyZW1lbnREdXJhdGlvbiB7IDEwIH07CisKIERFRklORV9ERUJVR19PTkxZ
X0dMT0JBTChXVEY6OlJlZkNvdW50ZWRMZWFrQ291bnRlciwgcGFnZUNvdW50ZXIsICgiUGFnZSIp
KTsKIAogdm9pZCBQYWdlOjpmb3JFYWNoUGFnZShzdGQ6OmZ1bmN0aW9uPHZvaWQoUGFnZSYpPiBm
dW5jdGlvbikKQEAgLTI0NCw2ICsyNTEsNyBAQCBQYWdlOjpQYWdlKFBhZ2VDb25maWd1cmF0aW9u
JiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAgICAgLCBtX3Zpc2l0ZWRMaW5rU3RvcmUoKldURk1vdmUo
cGFnZUNvbmZpZ3VyYXRpb24udmlzaXRlZExpbmtTdG9yZSkpCiAgICAgLCBtX3Nlc3Npb25JRChT
ZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQoKSkKICAgICAsIG1faXNDbG9zaW5nKGZhbHNlKQor
ICAgICwgbV9jcHVVc2FnZU1lYXN1cmVtZW50VGltZXIoKnRoaXMsICZQYWdlOjptZWFzdXJlUG9z
dExvYWRDUFVVc2FnZSkKIHsKICAgICB1cGRhdGVUaW1lclRocm90dGxpbmdTdGF0ZSgpOwogCkBA
IC05MjAsNiArOTI4LDQ5IEBAIHZvaWQgUGFnZTo6c2V0VXNlckludGVyZmFjZUxheW91dERpcmVj
dGlvbihVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uIHVzZXJJbnRlCiAjZW5kaWYKIH0KIAor
dm9pZCBQYWdlOjpkaWRGaW5pc2hMb2FkKCkKK3sKKyAgICByZXNldFJlbGV2YW50UGFpbnRlZE9i
amVjdENvdW50ZXIoKTsKKworICAgIC8vIE9ubHkgZG8gcG9zdC1sb2FkIENQVSB1c2FnZSBtZWFz
dXJlbWVudCBpZiB0aGVyZSBpcyBhIHNpbmdsZSBQYWdlIGluIHRoZSBwcm9jZXNzIGluIG9yZGVy
IHRvIHJlZHVjZSBub2lzZS4KKyAgICBpZiAoU2V0dGluZ3M6OmlzUG9zdExvYWRDUFVVc2FnZU1l
YXN1cmVtZW50RW5hYmxlZCgpICYmIGFsbFBhZ2VzLT5zaXplKCkgPT0gMSkgeworICAgICAgICBt
X3Bvc3RMb2FkQ1BVVGltZSA9IHN0ZDo6bnVsbG9wdDsKKyAgICAgICAgbV9jcHVVc2FnZU1lYXN1
cmVtZW50VGltZXIuc3RhcnRPbmVTaG90KGNwdVVzYWdlTWVhc3VyZW1lbnREZWxheSk7CisgICAg
fQorfQorCitzdGF0aWMgU3RyaW5nIGNwdVVzYWdlVG9EaWFnbm9zdGljTG9nZ2luS2V5KGRvdWJs
ZSBjcHVVc2FnZSkKK3sKKyAgICBpZiAoY3B1VXNhZ2UgPCAxMCkKKyAgICAgICAgcmV0dXJuIEFT
Q0lJTGl0ZXJhbCgiQmVsb3cxMCIpOworICAgIGlmIChjcHVVc2FnZSA8IDIwKQorICAgICAgICBy
ZXR1cm4gQVNDSUlMaXRlcmFsKCIxMHRvMjAiKTsKKyAgICBpZiAoY3B1VXNhZ2UgPCA0MCkKKyAg
ICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiMjB0bzQwIik7CisgICAgaWYgKGNwdVVzYWdlIDwg
NjApCisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIjQwdG82MCIpOworICAgIGlmIChjcHVV
c2FnZSA8IDgwKQorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCI2MHRvODAiKTsKKyAgICBy
ZXR1cm4gQVNDSUlMaXRlcmFsKCJvdmVyODAiKTsKK30KKwordm9pZCBQYWdlOjptZWFzdXJlUG9z
dExvYWRDUFVVc2FnZSgpCit7CisgICAgaWYgKCFtX3Bvc3RMb2FkQ1BVVGltZSkgeworICAgICAg
ICBtX3Bvc3RMb2FkQ1BVVGltZSA9IGdldENQVVRpbWUoKTsKKyAgICAgICAgaWYgKG1fcG9zdExv
YWRDUFVUaW1lKQorICAgICAgICAgICAgbV9jcHVVc2FnZU1lYXN1cmVtZW50VGltZXIuc3RhcnRP
bmVTaG90KGNwdVVzYWdlTWVhc3VyZW1lbnREdXJhdGlvbik7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisgICAgc3RkOjpvcHRpb25hbDxDUFVUaW1lPiBjcHVUaW1lID0gZ2V0Q1BVVGltZSgpOwor
ICAgIGlmICghY3B1VGltZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgZG91YmxlIGNwdVVzYWdl
ID0gY3B1VGltZS52YWx1ZSgpLnBlcmNlbnRhZ2VDUFVVc2FnZVNpbmNlKCptX3Bvc3RMb2FkQ1BV
VGltZSk7CisgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChQZXJmb3JtYW5jZUxvZ2dpbmcsICJt
ZWFzdXJlUG9zdExvYWRDUFVVc2FnZTogUHJvY2VzcyB3YXMgdXNpbmcgJS4xZiUlIHBlcmNlbnQg
Q1BVIGFmdGVyIHRoZSBwYWdlIGxvYWQuIiwgY3B1VXNhZ2UpOworICAgIGRpYWdub3N0aWNMb2dn
aW5nQ2xpZW50KCkubG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoRGlhZ25vc3RpY0xvZ2dp
bmdLZXlzOjpwb3N0UGFnZUxvYWRLZXkoKSwgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpjcHVVc2Fn
ZUtleSgpLCBjcHVVc2FnZVRvRGlhZ25vc3RpY0xvZ2dpbktleShjcHVVc2FnZSksIFNob3VsZFNh
bXBsZTo6Tm8pOworfQorCiB2b2lkIFBhZ2U6OnNldFRvcENvbnRlbnRJbnNldChmbG9hdCBjb250
ZW50SW5zZXQpCiB7CiAgICAgaWYgKG1fdG9wQ29udGVudEluc2V0ID09IGNvbnRlbnRJbnNldCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmgKaW5kZXggZGUzZmU0ZTg1ODA5NzYzY2YzYjAzZGM5NDdhY2NmNjFjMTZkMTVl
OS4uY2IyYjdkMWNmN2FiYjg2YTlhYmEyODI2OWRlMDdiM2RlNmJmMTQ1YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmgKQEAgLTIxLDYgKzIxLDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiQWN0aXZpdHlT
dGF0ZS5oIgorI2luY2x1ZGUgIkNQVVRpbWUuaCIKICNpbmNsdWRlICJGaW5kT3B0aW9ucy5oIgog
I2luY2x1ZGUgIkZyYW1lTG9hZGVyVHlwZXMuaCIKICNpbmNsdWRlICJMYXlvdXRNaWxlc3RvbmVz
LmgiCkBAIC0yOTMsNiArMjk0LDggQEAgcHVibGljOgogICAgIFVzZXJJbnRlcmZhY2VMYXlvdXRE
aXJlY3Rpb24gdXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1f
dXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbjsgfQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
c2V0VXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbihVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0
aW9uKTsKIAorICAgIHZvaWQgZGlkRmluaXNoTG9hZCgpOyAvLyBDYWxsZWQgd2hlbiB0aGUgbG9h
ZCBoYXMgYmVlbiBjb21taXR0ZWQgaW4gdGhlIG1haW4gZnJhbWUuCisKICAgICAvLyBUaGUgdmll
dyBzY2FsZSBmYWN0b3IgaXMgbXVsdGlwbGllZCBpbnRvIHRoZSBwYWdlIHNjYWxlIGZhY3RvciBi
eSBhbGwKICAgICAvLyBjYWxsZXJzIG9mIHNldFBhZ2VTY2FsZUZhY3Rvci4KICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldFZpZXdTY2FsZUZhY3RvcihmbG9hdCk7CkBAIC01NjEsNiArNTY0LDgg
QEAgcHJpdmF0ZToKICAgICB2b2lkIGNoZWNrU3ViZnJhbWVDb3VudENvbnNpc3RlbmN5KCkgY29u
c3Q7CiAjZW5kaWYKIAorICAgIHZvaWQgbWVhc3VyZVBvc3RMb2FkQ1BVVXNhZ2UoKTsKKwogICAg
IGVudW0gU2hvdWxkSGlnaGxpZ2h0TWF0Y2hlcyB7IERvTm90SGlnaGxpZ2h0TWF0Y2hlcywgSGln
aGxpZ2h0TWF0Y2hlcyB9OwogICAgIGVudW0gU2hvdWxkTWFya01hdGNoZXMgeyBEb05vdE1hcmtN
YXRjaGVzLCBNYXJrTWF0Y2hlcyB9OwogCkBAIC03NDIsNiArNzQ3LDkgQEAgcHJpdmF0ZToKICAg
ICAKICAgICAvLyBGb3IgdGVzdGluZy4KICAgICBzdGQ6Om9wdGlvbmFsPEV2ZW50VGhyb3R0bGlu
Z0JlaGF2aW9yPiBtX2V2ZW50VGhyb3R0bGluZ0JlaGF2aW9yT3ZlcnJpZGU7CisKKyAgICBUaW1l
ciBtX2NwdVVzYWdlTWVhc3VyZW1lbnRUaW1lcjsKKyAgICBzdGQ6Om9wdGlvbmFsPENQVVRpbWU+
IG1fcG9zdExvYWRDUFVUaW1lOwogfTsKIAogaW5saW5lIFBhZ2VHcm91cCYgUGFnZTo6Z3JvdXAo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCA2YmI5ZDAzYThiMzRjMTk2ODI0YThkMmJl
ZGNkZTNkYWFhZTFkNDIxLi5jNjU0YTRlY2NhOGM3N2NhNmUzMzcyYTdkMDlkNjY1YjJhNWVmM2Rh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtNzc4LDYgKzc3OCwxNSBAQCBib29sIFNl
dHRpbmdzOjpnbG9iYWxDb25zdFJlZGVjbGFyYXRpb25TaG91bGRUaHJvdygpCiAjZW5kaWYKIH0K
IAorYm9vbCBTZXR0aW5nczo6aXNQb3N0TG9hZENQVVVzYWdlTWVhc3VyZW1lbnRFbmFibGVkKCkK
K3sKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICByZXR1cm4gdHJ1ZTsKKyNlbHNlCisgICAgcmV0
dXJuIGZhbHNlOgorI2VuZGlmCit9CisKIHZvaWQgU2V0dGluZ3M6OnNldEFsbG93c0FueVNTTENl
cnRpZmljYXRlKGJvb2wgYWxsb3dBbnlTU0xDZXJ0aWZpY2F0ZSkKIHsKICAgICBnQWxsb3dzQW55
U1NMQ2VydGlmaWNhdGUgPSBhbGxvd0FueVNTTENlcnRpZmljYXRlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5oCmluZGV4IDJjMjk5MTZiNTM1MTk0NmNmODI4NDM4YzM0ZjNlYjZiZjY0ODE3NDcuLmE2ZmQx
YjhmMWI0OGFkNzVlMzljYzU0NzQwMDQyNGUzZmY1ODUxYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmgKQEAgLTE5OSw2ICsxOTksOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgc2hvdWxkVXNl
SGlnaFJlc29sdXRpb25UaW1lcnMoKSB7IHJldHVybiBnU2hvdWxkVXNlSGlnaFJlc29sdXRpb25U
aW1lcnM7IH0KICNlbmRpZgogCisgICAgc3RhdGljIGJvb2wgaXNQb3N0TG9hZENQVVVzYWdlTWVh
c3VyZW1lbnRFbmFibGVkKCk7CisKICAgICBzdGF0aWMgYm9vbCBnbG9iYWxDb25zdFJlZGVjbGFy
YXRpb25TaG91bGRUaHJvdygpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRCYWNrZ3Jv
dW5kU2hvdWxkRXh0ZW5kQmV5b25kUGFnZShib29sKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0NQVVRpbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ1BVVGlt
ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjI2NDQwOTc0M2ExMGU4MzRhNTc3OTFjNDYzYjM3ZDYyZWQ0MGE2
YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NQVVRpbWUuY3Bw
CkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiQ1BVVGltZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyNpZiAhUExBVEZPUk0o
Q09DT0EpCisKK3N0ZDo6b3B0aW9uYWw8Q1BVVGltZT4gZ2V0Q1BVVGltZSgpCit7CisgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKK30KKworI2VuZGlmCisKK2RvdWJsZSBDUFVUaW1lOjpwZXJjZW50
YWdlQ1BVVXNhZ2VTaW5jZShjb25zdCBDUFVUaW1lJiByZWZlcmVuY2UpCit7CisgICAgaW50NjRf
dCBjcHVVc2FnZVRpbWVEZWx0YSA9IChzeXN0ZW1UaW1lICsgdXNlclRpbWUpIC0gKHJlZmVyZW5j
ZS5zeXN0ZW1UaW1lICsgcmVmZXJlbmNlLnVzZXJUaW1lKTsKKyAgICBpbnQ2NF90IGNwdVRpbWVE
ZWx0YSA9IGNwdVRpbWUgLSByZWZlcmVuY2UuY3B1VGltZTsKKyAgICBBU1NFUlQoY3B1VGltZURl
bHRhKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8ZG91YmxlPihjcHVVc2FnZVRpbWVEZWx0YSAq
IDEwMC4wKSAvIGNwdVRpbWVEZWx0YTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vQ1BVVGltZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ1BVVGltZS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmQyZDUwYmUyNTI4YjA2ZWUzNTcyNTZkOTNkYjI1ZjM1MWI4NjNiZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DUFVUaW1lLmgKQEAgLTAs
MCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL09w
dGlvbmFsLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IENQVVRpbWUgeworICAg
IGludDY0X3QgY3B1VGltZTsgLy8gaW4gbWljcm9zZWNvbmRzLgorICAgIGludDY0X3QgdXNlclRp
bWU7IC8vIGluIG1pY3Jvc2Vjb25kcy4KKyAgICBpbnQ2NF90IHN5c3RlbVRpbWU7IC8vIGluIG1p
Y3Jvc2Vjb25kcy4KKworICAgIGRvdWJsZSBwZXJjZW50YWdlQ1BVVXNhZ2VTaW5jZShjb25zdCBD
UFVUaW1lJik7Cit9OworCitzdGQ6Om9wdGlvbmFsPENQVVRpbWU+IGdldENQVVRpbWUoKTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVmFsaWRhdGlvbkJ1YmJsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmFsaWRhdGlv
bkJ1YmJsZS5oCmluZGV4IDE3Y2ExNjdmM2Q3YjgwMzc1NzFjNTlmZjExM2I1NzllZTlhOTU2MDAu
LmI5YWE3NWMzYTlhYWFhMTZmMGM1NGQ0NTgxODQ5MzRkY2M3MjA0MTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZhbGlkYXRpb25CdWJibGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9WYWxpZGF0aW9uQnViYmxlLmgKQEAgLTUzLDkgKzUzLDEzIEBAIHVzaW5n
IFBsYXRmb3JtVmlldyA9IHZvaWQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVmFs
aWRhdGlvbkJ1YmJsZSB7CitjbGFzcyBWYWxpZGF0aW9uQnViYmxlIDogcHVibGljIFJlZkNvdW50
ZWQ8VmFsaWRhdGlvbkJ1YmJsZT4gewogcHVibGljOgotICAgIFdFQkNPUkVfRVhQT1JUIFZhbGlk
YXRpb25CdWJibGUoUGxhdGZvcm1WaWV3KiwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKTsKKyAgICBz
dGF0aWMgUmVmPFZhbGlkYXRpb25CdWJibGU+IGNyZWF0ZShQbGF0Zm9ybVZpZXcqIHZpZXcsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFZhbGlkYXRpb25CdWJibGUodmlldywgbWVzc2FnZSkpOworICAgIH0KKwogICAgIFdFQkNPUkVf
RVhQT1JUIH5WYWxpZGF0aW9uQnViYmxlKCk7CiAKICAgICBjb25zdCBTdHJpbmcmIG1lc3NhZ2Uo
KSBjb25zdCB7IHJldHVybiBtX21lc3NhZ2U7IH0KQEAgLTY4LDYgKzcyLDggQEAgcHVibGljOgog
I2VuZGlmCiAKIHByaXZhdGU6CisgICAgV0VCQ09SRV9FWFBPUlQgVmFsaWRhdGlvbkJ1YmJsZShQ
bGF0Zm9ybVZpZXcqLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpOworCiAgICAgUGxhdGZvcm1WaWV3
KiBtX3ZpZXc7CiAgICAgU3RyaW5nIG1fbWVzc2FnZTsKICNpZiBQTEFURk9STShNQUMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9DUFVUaW1lQ29jb2EubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9DUFVUaW1lQ29jb2EubW0KbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTFiMTExOTY3MmUwMmY5N2YwNmY0NzA3MGY5OGU4ODc0Zjg2YTAxMgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0NQVVRpbWVDb2NvYS5tbQpAQCAtMCww
ICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJDUFVU
aW1lLmgiCisKKyNpbXBvcnQgPG1hY2gvbWFjaF9pbml0Lmg+CisjaW1wb3J0IDxtYWNoL3Rhc2su
aD4KKyNpbXBvcnQgPG1hY2gvdGFza19pbmZvLmg+CisjaW1wb3J0IDx3dGYvQ3VycmVudFRpbWUu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMgY29uc3QgaW50NjRfdCBtaWNyb3Nl
Y29uZHNQZXJTZWNvbmQgPSAxMDAwMDAwOworCitzdGF0aWMgaW50NjRfdCB0aW1lVmFsdWVUb01p
Y3Jvc2Vjb25kcyhjb25zdCB0aW1lX3ZhbHVlX3QmIHZhbHVlKQoreworICAgIGludDY0X3QgcmVz
dWx0ID0gdmFsdWUuc2Vjb25kczsKKyAgICByZXN1bHQgKj0gbWljcm9zZWNvbmRzUGVyU2Vjb25k
OworICAgIHJlc3VsdCArPSB2YWx1ZS5taWNyb3NlY29uZHM7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KKworc3RkOjpvcHRpb25hbDxDUFVUaW1lPiBnZXRDUFVUaW1lKCkKK3sKKyAgICAvLyBBY2Nv
dW50IGZvciBjdXJyZW50IHRocmVhZHMuCisgICAgdGFza190aHJlYWRfdGltZXNfaW5mbyB0aHJl
YWRJbmZvRGF0YTsKKyAgICBtYWNoX21zZ190eXBlX251bWJlcl90IHRocmVhZEluZm9Db3VudCA9
IFRBU0tfVEhSRUFEX1RJTUVTX0lORk9fQ09VTlQ7CisgICAga2Vybl9yZXR1cm5fdCByZXN1bHQg
PSB0YXNrX2luZm8obWFjaF90YXNrX3NlbGYoKSwgVEFTS19USFJFQURfVElNRVNfSU5GTywgcmVp
bnRlcnByZXRfY2FzdDx0YXNrX2luZm9fdD4oJnRocmVhZEluZm9EYXRhKSwgJnRocmVhZEluZm9D
b3VudCk7CisgICAgaWYgKHJlc3VsdCAhPSBLRVJOX1NVQ0NFU1MpCisgICAgICAgIHJldHVybiBz
dGQ6Om51bGxvcHQ7CisKKyAgICBpbnQ2NF90IHVzZXJUaW1lID0gdGltZVZhbHVlVG9NaWNyb3Nl
Y29uZHModGhyZWFkSW5mb0RhdGEudXNlcl90aW1lKTsKKyAgICBpbnQ2NF90IHN5c3RlbVRpbWUg
PSB0aW1lVmFsdWVUb01pY3Jvc2Vjb25kcyh0aHJlYWRJbmZvRGF0YS5zeXN0ZW1fdGltZSk7CisK
KyAgICAvLyBBY2NvdW50IGZvciB0ZXJtaW5lZCB0aHJlYWRzLgorICAgIHRhc2tfYmFzaWNfaW5m
byB0YXNrSW5mb0RhdGE7CisgICAgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCB0YXNrSW5mb0NvdW50
ID0gVEFTS19CQVNJQ19JTkZPX0NPVU5UOworICAgIHJlc3VsdCA9IHRhc2tfaW5mbyhtYWNoX3Rh
c2tfc2VsZigpLCBUQVNLX0JBU0lDX0lORk8sIHJlaW50ZXJwcmV0X2Nhc3Q8dGFza19pbmZvX3Q+
KCZ0YXNrSW5mb0RhdGEpLCAmdGFza0luZm9Db3VudCk7CisgICAgaWYgKHJlc3VsdCAhPSBLRVJO
X1NVQ0NFU1MpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICB1c2VyVGltZSAr
PSB0aW1lVmFsdWVUb01pY3Jvc2Vjb25kcyh0YXNrSW5mb0RhdGEudXNlcl90aW1lKTsKKyAgICBz
eXN0ZW1UaW1lICs9IHRpbWVWYWx1ZVRvTWljcm9zZWNvbmRzKHRhc2tJbmZvRGF0YS5zeXN0ZW1f
dGltZSk7CisKKyAgICByZXR1cm4gQ1BVVGltZSB7IHN0YXRpY19jYXN0PGludDY0X3Q+KG1vbm90
b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpICogbWljcm9zZWNvbmRzUGVyU2Vjb25kKSwgdXNlclRp
bWUsIHN5c3RlbVRpbWUgfTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW9zL1ZhbGlkYXRpb25CdWJibGVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pb3MvVmFsaWRhdGlvbkJ1YmJsZUlPUy5tbQppbmRleCBmZGU0MTU0MDExYzBhYzgyM2I4MWUx
ZDI1MjZmZGU2MDkxZWQ4NWM1Li45Y2RmYjI4ZjlhZDMyN2IzYTc3ZTZmZGY5MTg5NWE1MzZiYWUw
NjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmFsaWRhdGlvbkJ1
YmJsZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmFsaWRhdGlvbkJ1
YmJsZUlPUy5tbQpAQCAtMTI5LDcgKzEyOSwxMCBAQCBWYWxpZGF0aW9uQnViYmxlOjp+VmFsaWRh
dGlvbkJ1YmJsZSgpCiAKIHZvaWQgVmFsaWRhdGlvbkJ1YmJsZTo6c2hvdygpCiB7Ci0gICAgW21f
cHJlc2VudGluZ1ZpZXdDb250cm9sbGVyIHByZXNlbnRWaWV3Q29udHJvbGxlcjptX3BvcG92ZXJD
b250cm9sbGVyLmdldCgpIGFuaW1hdGVkOk5PIGNvbXBsZXRpb246bmlsXTsKKyAgICAvLyBQcm90
ZWN0IHRoZSB2YWxpZGF0aW9uIGJ1YmJsZSBzbyBpdCBzdGF5cyBhbGl2ZSB1bnRpbCBpdCBpcyBl
ZmZlY3RpdmVseSBwcmVzZW50ZWQuIFVJS2l0IGRvZXMgbm90IGRlYWwgbmljZWx5IHdpdGgKKyAg
ICAvLyBkaXNtaXNzaW5nIGEgcG9wb3ZlciB0aGF0IGlzIGJlaW5nIHByZXNlbnRlZC4KKyAgICBS
ZWZQdHI8VmFsaWRhdGlvbkJ1YmJsZT4gcHJvdGVjdGVkVGhpcyh0aGlzKTsKKyAgICBbbV9wcmVz
ZW50aW5nVmlld0NvbnRyb2xsZXIgcHJlc2VudFZpZXdDb250cm9sbGVyOm1fcG9wb3ZlckNvbnRy
b2xsZXIuZ2V0KCkgYW5pbWF0ZWQ6Tk8gY29tcGxldGlvbjpbcHJvdGVjdGVkVGhpc10oKSB7IH1d
OwogfQogCiBzdGF0aWMgVUlWaWV3Q29udHJvbGxlciAqZmFsbGJhY2tWaWV3Q29udHJvbGxlcihV
SVZpZXcgKnZpZXcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggMGM1ZmRh
MDFmMDhhOTA1ZDE2YzkzYzRiNzM4MmI2NDJkODJlZjVhYS4uZDRlNTBiODdhZTA2YzA0OWM3ZjBj
YjQzY2JlNWI1ODAzMzI3MmMwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpA
QCAtOTMwOSw3ICs5MzA5LDcgQEAgYm9vbCBMYXllckZsdXNoQ29udHJvbGxlcjo6Zmx1c2hMYXll
cnMoKQogewogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgZW5hYmxlIHRoaXMgb24gaU9TIGFzIHdl
bGwuCiAjaWYgUExBVEZPUk0oTUFDKQotICAgIF9wcml2YXRlLT5mb3JtVmFsaWRhdGlvbkJ1YmJs
ZSA9IHN0ZDo6bWFrZV91bmlxdWU8VmFsaWRhdGlvbkJ1YmJsZT4oc2VsZiwgbWVzc2FnZSk7Cisg
ICAgX3ByaXZhdGUtPmZvcm1WYWxpZGF0aW9uQnViYmxlID0gVmFsaWRhdGlvbkJ1YmJsZTo6Y3Jl
YXRlKHNlbGYsIG1lc3NhZ2UpOwogICAgIF9wcml2YXRlLT5mb3JtVmFsaWRhdGlvbkJ1YmJsZS0+
c2hvd1JlbGF0aXZlVG8oZW5jbG9zaW5nSW50UmVjdChbc2VsZiBfY29udmVydFJlY3RGcm9tUm9v
dFZpZXc6YW5jaG9yUmVjdF0pKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKG1lc3NhZ2UpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5oIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5oCmluZGV4IDhjNTJlZmY5ZTAwMjJi
MDE0NWNhMjE5YmEyMjgwYWNkOGE0MTRkYjMuLjYzMWZhZTE4NTRlZDBiMGJmZThmNGU2NjA2MWQx
MjlmMTdiNTU4OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmll
d0RhdGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLmgKQEAg
LTIwNyw3ICsyMDcsNyBAQCBwcml2YXRlOgogICAgIFJldGFpblB0cjxOU0V2ZW50PiBwcmVzc3Vy
ZUV2ZW50OwogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIAotICAgIHN0ZDo6dW5pcXVlX3B0cjxX
ZWJDb3JlOjpWYWxpZGF0aW9uQnViYmxlPiBmb3JtVmFsaWRhdGlvbkJ1YmJsZTsKKyAgICBSZWZQ
dHI8V2ViQ29yZTo6VmFsaWRhdGlvbkJ1YmJsZT4gZm9ybVZhbGlkYXRpb25CdWJibGU7CiAKICAg
ICBCT09MIHNob3VsZE1haW50YWluSW5hY3RpdmVTZWxlY3Rpb247CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4IDFjMjEwYjFkN2RjMmYzYjhjNjllZWRjODFiOTgyNzBh
ZWVmMDUxNjMuLmQzMmM3OTFmZjE0ZTk4OTBlNDljNzgzNWI5ZGM2ZTliYmJhYzdhNzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtMjI4LDcgKzIyOCw3IEBAIHB1Ymxp
YzoKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgdmlydHVhbCBzdGQ6OnVuaXF1
ZV9wdHI8V2ViQ29yZTo6VmFsaWRhdGlvbkJ1YmJsZT4gY3JlYXRlVmFsaWRhdGlvbkJ1YmJsZShj
b25zdCBTdHJpbmcmIG1lc3NhZ2UpID0gMDsKKyAgICB2aXJ0dWFsIFJlZjxXZWJDb3JlOjpWYWxp
ZGF0aW9uQnViYmxlPiBjcmVhdGVWYWxpZGF0aW9uQnViYmxlKGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSkgPSAwOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBlZjU2YjFjNjYzNmYxYWI1ZGNkNmZlNThkZjYyODg0
Yzk4MTNlZTExLi4zMjc1ZjljYTI0MWNkNTVlMjQ1NjdiM2VjNDRiNzRhZTNjNDE0ZTQxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xODI2LDcgKzE4MjYsNyBA
QCBwcml2YXRlOgogICAgIFJlZlB0cjxXZWJDb2xvclBpY2tlcj4gbV9jb2xvclBpY2tlcjsKICNl
bmRpZgogI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpW
YWxpZGF0aW9uQnViYmxlPiBtX3ZhbGlkYXRpb25CdWJibGU7CisgICAgUmVmUHRyPFdlYkNvcmU6
OlZhbGlkYXRpb25CdWJibGU+IG1fdmFsaWRhdGlvbkJ1YmJsZTsKICNlbmRpZgogCiAgICAgY29u
c3QgdWludDY0X3QgbV9wYWdlSUQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9z
L1BhZ2VDbGllbnRJbXBsSU9TLmgKaW5kZXggNjliNjEzNWFmOWUyNmNiMWQzMzU2MGY4NGM5NDUw
ODJiYzA4NjM4YS4uODdiZTgzMGVhNTFjZTdmMWYyNDUyNmQxY2M0OTc0OWVmMmZjMmU1NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaApA
QCAtOTYsNyArOTYsNyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQogICAg
IHN0ZDo6dW5pcXVlX3B0cjxXZWJDb250ZXh0TWVudVByb3h5PiBjcmVhdGVDb250ZXh0TWVudVBy
b3h5KFdlYlBhZ2VQcm94eSYsIGNvbnN0IENvbnRleHRNZW51Q29udGV4dERhdGEmLCBjb25zdCBV
c2VyRGF0YSYpIG92ZXJyaWRlOwogI2VuZGlmCi0gICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6
OlZhbGlkYXRpb25CdWJibGU+IGNyZWF0ZVZhbGlkYXRpb25CdWJibGUoY29uc3QgU3RyaW5nJiBt
ZXNzYWdlKSBmaW5hbDsKKyAgICBSZWY8V2ViQ29yZTo6VmFsaWRhdGlvbkJ1YmJsZT4gY3JlYXRl
VmFsaWRhdGlvbkJ1YmJsZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpIGZpbmFsOwogCiAgICAgdm9p
ZCBzZXRUZXh0SW5kaWNhdG9yKFJlZjxXZWJDb3JlOjpUZXh0SW5kaWNhdG9yPiwgV2ViQ29yZTo6
VGV4dEluZGljYXRvcldpbmRvd0xpZmV0aW1lKSBvdmVycmlkZTsKICAgICB2b2lkIGNsZWFyVGV4
dEluZGljYXRvcihXZWJDb3JlOjpUZXh0SW5kaWNhdG9yV2luZG93RGlzbWlzc2FsQW5pbWF0aW9u
KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFn
ZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGll
bnRJbXBsSU9TLm1tCmluZGV4IGNlMzY0MDU1NTg1ZWQ0OWVlZTZjNWY4NzNhYmNkZDNkMDg4OTM5
NjguLjdhYjMxMTVlNTA2YTA1ZjZhN2U0ZTViZGU5ZDY4NDRiZWU3ZjQyMmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQpAQCAtNzQ0
LDkgKzc0NCw5IEBAIFdlYkNvcmU6OlVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gUGFnZUNs
aWVudEltcGw6OnVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3RpCiAgICAgcmV0dXJuIChbVUlWaWV3
IHVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb25Gb3JTZW1hbnRpY0NvbnRlbnRBdHRyaWJ1dGU6
W21fd2ViVmlldyBzZW1hbnRpY0NvbnRlbnRBdHRyaWJ1dGVdXSA9PSBVSVVzZXJJbnRlcmZhY2VM
YXlvdXREaXJlY3Rpb25MZWZ0VG9SaWdodCkgPyBXZWJDb3JlOjpVc2VySW50ZXJmYWNlTGF5b3V0
RGlyZWN0aW9uOjpMVFIgOiBXZWJDb3JlOjpVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uOjpS
VEw7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxWYWxpZGF0aW9uQnViYmxlPiBQYWdlQ2xpZW50SW1w
bDo6Y3JlYXRlVmFsaWRhdGlvbkJ1YmJsZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCitSZWY8VmFs
aWRhdGlvbkJ1YmJsZT4gUGFnZUNsaWVudEltcGw6OmNyZWF0ZVZhbGlkYXRpb25CdWJibGUoY29u
c3QgU3RyaW5nJiBtZXNzYWdlKQogewotICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPFZhbGlk
YXRpb25CdWJibGU+KG1fY29udGVudFZpZXcsIG1lc3NhZ2UpOworICAgIHJldHVybiBWYWxpZGF0
aW9uQnViYmxlOjpjcmVhdGUobV9jb250ZW50VmlldywgbWVzc2FnZSk7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9Q
YWdlQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50
SW1wbC5oCmluZGV4IDlkN2NlMDQzNjgyYzcyYThlOTYxNzc1M2I4MjAxMWIxNGI3NzNmNmYuLjBk
MmRkYWEyY2RjZDdiNjYwOTY5YzZkNDNjZDhkYjJlMjlmYWIxNjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmgKQEAgLTEzMSw3ICsxMzEsNyBAQCBw
cml2YXRlOgogICAgIFJlZlB0cjxXZWJDb2xvclBpY2tlcj4gY3JlYXRlQ29sb3JQaWNrZXIoV2Vi
UGFnZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6Q29sb3ImIGluaXRpYWxDb2xvciwgY29uc3QgV2Vi
Q29yZTo6SW50UmVjdCYpIG92ZXJyaWRlOwogI2VuZGlmCiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8
V2ViQ29yZTo6VmFsaWRhdGlvbkJ1YmJsZT4gY3JlYXRlVmFsaWRhdGlvbkJ1YmJsZShjb25zdCBT
dHJpbmcmIG1lc3NhZ2UpIGZpbmFsOworICAgIFJlZjxXZWJDb3JlOjpWYWxpZGF0aW9uQnViYmxl
PiBjcmVhdGVWYWxpZGF0aW9uQnViYmxlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkgZmluYWw7CiAK
ICAgICB2b2lkIHNldFRleHRJbmRpY2F0b3IoUmVmPFdlYkNvcmU6OlRleHRJbmRpY2F0b3I+LCBX
ZWJDb3JlOjpUZXh0SW5kaWNhdG9yV2luZG93TGlmZXRpbWUpIG92ZXJyaWRlOwogICAgIHZvaWQg
Y2xlYXJUZXh0SW5kaWNhdG9yKFdlYkNvcmU6OlRleHRJbmRpY2F0b3JXaW5kb3dEaXNtaXNzYWxB
bmltYXRpb24pIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L21hYy9QYWdlQ2xpZW50SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFn
ZUNsaWVudEltcGwubW0KaW5kZXggZmVlYTI2M2QzZDdhMTcyNzk1N2VmYTYxYzZlYmEyNTcyNTBj
ZWViOS4uYjBlNDY3NjI0MWZjYWU3ZTAxOGQ3NDMyZDY3NmUwYjY3ZmM2YWY3NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCkBAIC00NDAsOSAr
NDQwLDkgQEAgUmVmUHRyPFdlYkNvbG9yUGlja2VyPiBQYWdlQ2xpZW50SW1wbDo6Y3JlYXRlQ29s
b3JQaWNrZXIoV2ViUGFnZVByb3h5KiBwYWdlLCBjb24KIH0KICNlbmRpZgogCi1zdGQ6OnVuaXF1
ZV9wdHI8VmFsaWRhdGlvbkJ1YmJsZT4gUGFnZUNsaWVudEltcGw6OmNyZWF0ZVZhbGlkYXRpb25C
dWJibGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQorUmVmPFZhbGlkYXRpb25CdWJibGU+IFBhZ2VD
bGllbnRJbXBsOjpjcmVhdGVWYWxpZGF0aW9uQnViYmxlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkK
IHsKLSAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxWYWxpZGF0aW9uQnViYmxlPihtX3ZpZXcs
IG1lc3NhZ2UpOworICAgIHJldHVybiBWYWxpZGF0aW9uQnViYmxlOjpjcmVhdGUobV92aWV3LCBt
ZXNzYWdlKTsKIH0KIAogdm9pZCBQYWdlQ2xpZW50SW1wbDo6c2V0VGV4dEluZGljYXRvcihSZWY8
VGV4dEluZGljYXRvcj4gdGV4dEluZGljYXRvciwgV2ViQ29yZTo6VGV4dEluZGljYXRvcldpbmRv
d0xpZmV0aW1lIGxpZmV0aW1lKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>298728</attachid>
            <date>2017-01-12 16:08:54 -0800</date>
            <delta_ts>2017-01-12 17:00:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-166990-20170112160714.patch</filename>
            <type>text/plain</type>
            <size>11873</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwNTk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjcxNzc4NTkwN2QzMWVk
ZjY0OWE5NGViOGUzN2RlN2NmYWZmM2JjMi4uODU3ZjA5YjY3MzI4NDg3MDNkNDkyNWRjM2E1YTA0
ZmY2NmI5ODg2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM2IEBACiAyMDE3LTAxLTEyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgW2lPU10gSFRNTCBmb3JtIHZh
bGlkYXRpb24gcG9wb3ZlciBzb21ldGltZXMgZG9lcyBub3QgZ28gYXdheQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2OTkwCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS8yOTk4NTk1Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGUgaXNzdWUgd2FzIHRoYXQgW1VJVmlld0NvbnRyb2xsZXIgcHJlc2Vu
dFZpZXdDb250cm9sbGVyOl0gaXMgYXN5bmNocm9ub3VzCisgICAgICAgIGFuZCB0aGF0IHdlIHNv
bWV0aW1lcyB0cmllZCB0byBjYWxsIFttX3BvcG92ZXJDb250cm9sbGVyIGRpc21pc3NWaWV3Q29u
dHJvbGxlckFuaW1hdGVkOl0KKyAgICAgICAgYmVmb3JlIHByZXNlbnRWaWV3Q29udHJvbGxlciBo
YWQgY29tcGxldGVkLiBUaGlzIGlzIHNvbWV0aGluZyB0aGF0IFVJS2l0IGRvZXMKKyAgICAgICAg
bm90IGhhbmRsZSBuaWNlbHkgYW5kIHRoZSBwb3BvdmVyIGp1c3Qgc3RheXMgdmlzaWJsZSBldmVu
IHRob3VnaCB3ZSBoYXZlCisgICAgICAgIGFza2VkIGZvciB0aGUgY29udHJvbGxlciB0byBiZSBk
aXNtaXNzZWQgYW5kIGRlc3Ryb3llZCB0aGUgVmFsaWRhdGlvbkJ1YmJsZQorICAgICAgICBvYmpl
Y3QuCisKKyAgICAgICAgVG8gYWRkcmVzcyB0aGUgaXNzdWUsIEkgbWFkZSBWYWxpZGF0aW9uQnVi
YmxlIFJlZkNvdW50ZWQgYW5kIG1ha2Ugc3VyZSB0aGUKKyAgICAgICAgVmFsaWRhdGlvbkJ1YmJs
ZSBvYmplY3Qgc3RheXMgYWxpdmUgYXQgbGVhc3QgdW50aWwgdGhlIGNvbXBsZXRpb24gaGFuZGxl
ciBmb3IKKyAgICAgICAgW1VJVmlld0NvbnRyb2xsZXIgcHJlc2VudFZpZXdDb250cm9sbGVyOl0g
aGFzIGJlZW4gY2FsbGVkLiBUaGlzIGlzIGRvbmUgdmlhCisgICAgICAgIHByb3RlY3RpbmcgdGhl
IG9iamVjdCB1c2luZyBhIFJlZlB0cjw+IGFuZCBjYXB0dXJpbmcgaXQgaW4gdGhlIGxhbWJkYS4K
KyAgICAgICAgQmVjYXVzZSBkaXNtaXNzVmlld0NvbnRyb2xsZXJBbmltYXRlZCBpcyBjYWxsZWQg
aW4gdGhlIGRlc3RydWN0b3IsIGl0IGlzIG5vCisgICAgICAgIGxvbmdlciBwb3NzaWJsZSB0byBj
YWxsIGRpc21pc3NWaWV3Q29udHJvbGxlckFuaW1hdGVkIGJlZm9yZSB0aGUgY2FsbCB0bworICAg
ICAgICBwcmVzZW50Vmlld0NvbnRyb2xsZXIgaGFzIGNvbXBsZXRlZC4KKworICAgICAgICBObyBu
ZXcgdGVzdHMsIG5vIGVhc2lseSB0ZXN0YWJsZSBzaW5jZSB0aGUgcG9wb3ZlciB3YXMgc3RheWlu
ZyB2aXNpYmxlCisgICAgICAgIGFmdGVyIGJlaW5nIGRlc3Ryb3llZCAoaGVsZCBvbiBieSBVSUtp
dCkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9WYWxpZGF0aW9uQnViYmxlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpWYWxpZGF0aW9uQnViYmxlOjpjcmVhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL2lv
cy9WYWxpZGF0aW9uQnViYmxlSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRhdGlvbkJ1
YmJsZTo6c2hvdyk6CisKKzIwMTctMDEtMTIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KKwogICAgICAgICBSZXBvcnQgcG9zdC1wYWdlIGxvYWQgQ1BVIHVzYWdlIHVzaW5nIGRpYWdu
b3N0aWMgbG9nZ2luZwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTY2OTUwCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yOTk2NDEzOT4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwppbmRleCBkYmIwYTJlODU0ZWFkMmNlOGVhMzkzOTRmMWIxODJjZDcwZjJjNGQ3Li4yYTdi
MGFlMjFkOTdlNzA4MTQ1OWEwZWNjYTI1MTk3NTlkODhhMjliIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTctMDEtMTIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KKworICAgICAgICBIVE1MIGZvcm0gdmFsaWRhdGlvbiBwb3BvdmVyIHNvbWV0aW1lcyBkb2Vz
IG5vdCBnbyBhd2F5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjY5OTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5OTg1OTU3PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBjb2RlIHVzaW5n
IFZhbGlkYXRpb25CdWJibGUgbm93IHRoYXQgaXQgaXMgUmVmQ291bnRlZC4KKworICAgICAgICAq
IFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBzaG93Rm9ybVZhbGlkYXRp
b25NZXNzYWdlOndpdGhBbmNob3JSZWN0Ol0pOgorCiAyMDE3LTAxLTEwICBSeW9zdWtlIE5pd2Eg
IDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBwb2ludGVyTG9ja0VsZW1lbnQg
ZnJvbSBET01Eb2N1bWVudFByaXZhdGUuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDBmYzM1YmExMmNmODY0Y2M1
YTEzODlhYTRjNzE2NjdiZGZiZDIyMjEuLjczMGU1YzE3MzcxZDYyMzg5YWZjOTJhYjkxZWUxZGU3
Mzk5OTEwNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxNy0wMS0xMiAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIEhUTUwgZm9ybSB2YWxp
ZGF0aW9uIHBvcG92ZXIgc29tZXRpbWVzIGRvZXMgbm90IGdvIGF3YXkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Njk5MAorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMjk5ODU5NTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVXBkYXRlIGNvZGUgdXNpbmcgVmFsaWRhdGlvbkJ1YmJsZSBub3cgdGhhdCBp
dCBpcyBSZWZDb3VudGVkLgorCisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9QYWdlQ2xpZW50SW1wbElPUy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVu
dEltcGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpjcmVhdGVWYWxp
ZGF0aW9uQnViYmxlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmg6
CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbToKKyAgICAgICAgKFdl
YktpdDo6UGFnZUNsaWVudEltcGw6OmNyZWF0ZVZhbGlkYXRpb25CdWJibGUpOgorCiAyMDE3LTAx
LTExICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU11bV0sy
XSBLZXlib2FyZEV2ZW50LmtleSBhbHdheXMgcmV0dXJucyBhbiBlbXB0eSBzdHJpbmcKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZhbGlkYXRpb25CdWJibGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1ZhbGlkYXRpb25CdWJibGUuaAppbmRleCAxN2NhMTY3ZjNkN2I4
MDM3NTcxYzU5ZmYxMTNiNTc5ZWU5YTk1NjAwLi5iOWFhNzVjM2E5YWFhYTE2ZjBjNTRkNDU4MTg0
OTM0ZGNjNzIwNDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WYWxpZGF0
aW9uQnViYmxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVmFsaWRhdGlvbkJ1YmJs
ZS5oCkBAIC01Myw5ICs1MywxMyBAQCB1c2luZyBQbGF0Zm9ybVZpZXcgPSB2b2lkOwogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFZhbGlkYXRpb25CdWJibGUgeworY2xhc3MgVmFsaWRh
dGlvbkJ1YmJsZSA6IHB1YmxpYyBSZWZDb3VudGVkPFZhbGlkYXRpb25CdWJibGU+IHsKIHB1Ymxp
YzoKLSAgICBXRUJDT1JFX0VYUE9SVCBWYWxpZGF0aW9uQnViYmxlKFBsYXRmb3JtVmlldyosIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSk7CisgICAgc3RhdGljIFJlZjxWYWxpZGF0aW9uQnViYmxlPiBj
cmVhdGUoUGxhdGZvcm1WaWV3KiB2aWV3LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCisgICAgewor
ICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBWYWxpZGF0aW9uQnViYmxlKHZpZXcsIG1lc3Nh
Z2UpKTsKKyAgICB9CisKICAgICBXRUJDT1JFX0VYUE9SVCB+VmFsaWRhdGlvbkJ1YmJsZSgpOwog
CiAgICAgY29uc3QgU3RyaW5nJiBtZXNzYWdlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNzYWdlOyB9
CkBAIC02OCw2ICs3Miw4IEBAIHB1YmxpYzoKICNlbmRpZgogCiBwcml2YXRlOgorICAgIFdFQkNP
UkVfRVhQT1JUIFZhbGlkYXRpb25CdWJibGUoUGxhdGZvcm1WaWV3KiwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlKTsKKwogICAgIFBsYXRmb3JtVmlldyogbV92aWV3OwogICAgIFN0cmluZyBtX21lc3Nh
Z2U7CiAjaWYgUExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1ZhbGlkYXRpb25CdWJibGVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvVmFsaWRhdGlvbkJ1YmJsZUlPUy5tbQppbmRleCBmZGU0MTU0MDExYzBhYzgyM2I4MWUxZDI1
MjZmZGU2MDkxZWQ4NWM1Li45Y2RmYjI4ZjlhZDMyN2IzYTc3ZTZmZGY5MTg5NWE1MzZiYWUwNjgz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmFsaWRhdGlvbkJ1YmJs
ZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmFsaWRhdGlvbkJ1YmJs
ZUlPUy5tbQpAQCAtMTI5LDcgKzEyOSwxMCBAQCBWYWxpZGF0aW9uQnViYmxlOjp+VmFsaWRhdGlv
bkJ1YmJsZSgpCiAKIHZvaWQgVmFsaWRhdGlvbkJ1YmJsZTo6c2hvdygpCiB7Ci0gICAgW21fcHJl
c2VudGluZ1ZpZXdDb250cm9sbGVyIHByZXNlbnRWaWV3Q29udHJvbGxlcjptX3BvcG92ZXJDb250
cm9sbGVyLmdldCgpIGFuaW1hdGVkOk5PIGNvbXBsZXRpb246bmlsXTsKKyAgICAvLyBQcm90ZWN0
IHRoZSB2YWxpZGF0aW9uIGJ1YmJsZSBzbyBpdCBzdGF5cyBhbGl2ZSB1bnRpbCBpdCBpcyBlZmZl
Y3RpdmVseSBwcmVzZW50ZWQuIFVJS2l0IGRvZXMgbm90IGRlYWwgbmljZWx5IHdpdGgKKyAgICAv
LyBkaXNtaXNzaW5nIGEgcG9wb3ZlciB0aGF0IGlzIGJlaW5nIHByZXNlbnRlZC4KKyAgICBSZWZQ
dHI8VmFsaWRhdGlvbkJ1YmJsZT4gcHJvdGVjdGVkVGhpcyh0aGlzKTsKKyAgICBbbV9wcmVzZW50
aW5nVmlld0NvbnRyb2xsZXIgcHJlc2VudFZpZXdDb250cm9sbGVyOm1fcG9wb3ZlckNvbnRyb2xs
ZXIuZ2V0KCkgYW5pbWF0ZWQ6Tk8gY29tcGxldGlvbjpbcHJvdGVjdGVkVGhpc10oKSB7IH1dOwog
fQogCiBzdGF0aWMgVUlWaWV3Q29udHJvbGxlciAqZmFsbGJhY2tWaWV3Q29udHJvbGxlcihVSVZp
ZXcgKnZpZXcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggMGM1ZmRhMDFm
MDhhOTA1ZDE2YzkzYzRiNzM4MmI2NDJkODJlZjVhYS4uZDRlNTBiODdhZTA2YzA0OWM3ZjBjYjQz
Y2JlNWI1ODAzMzI3MmMwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAt
OTMwOSw3ICs5MzA5LDcgQEAgYm9vbCBMYXllckZsdXNoQ29udHJvbGxlcjo6Zmx1c2hMYXllcnMo
KQogewogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgZW5hYmxlIHRoaXMgb24gaU9TIGFzIHdlbGwu
CiAjaWYgUExBVEZPUk0oTUFDKQotICAgIF9wcml2YXRlLT5mb3JtVmFsaWRhdGlvbkJ1YmJsZSA9
IHN0ZDo6bWFrZV91bmlxdWU8VmFsaWRhdGlvbkJ1YmJsZT4oc2VsZiwgbWVzc2FnZSk7CisgICAg
X3ByaXZhdGUtPmZvcm1WYWxpZGF0aW9uQnViYmxlID0gVmFsaWRhdGlvbkJ1YmJsZTo6Y3JlYXRl
KHNlbGYsIG1lc3NhZ2UpOwogICAgIF9wcml2YXRlLT5mb3JtVmFsaWRhdGlvbkJ1YmJsZS0+c2hv
d1JlbGF0aXZlVG8oZW5jbG9zaW5nSW50UmVjdChbc2VsZiBfY29udmVydFJlY3RGcm9tUm9vdFZp
ZXc6YW5jaG9yUmVjdF0pKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKG1lc3NhZ2UpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5oIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5oCmluZGV4IDhjNTJlZmY5ZTAwMjJiMDE0
NWNhMjE5YmEyMjgwYWNkOGE0MTRkYjMuLjYzMWZhZTE4NTRlZDBiMGJmZThmNGU2NjA2MWQxMjlm
MTdiNTU4OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld0Rh
dGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLmgKQEAgLTIw
Nyw3ICsyMDcsNyBAQCBwcml2YXRlOgogICAgIFJldGFpblB0cjxOU0V2ZW50PiBwcmVzc3VyZUV2
ZW50OwogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIAotICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJD
b3JlOjpWYWxpZGF0aW9uQnViYmxlPiBmb3JtVmFsaWRhdGlvbkJ1YmJsZTsKKyAgICBSZWZQdHI8
V2ViQ29yZTo6VmFsaWRhdGlvbkJ1YmJsZT4gZm9ybVZhbGlkYXRpb25CdWJibGU7CiAKICAgICBC
T09MIHNob3VsZE1haW50YWluSW5hY3RpdmVTZWxlY3Rpb247CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvUGFnZUNsaWVudC5oCmluZGV4IDFjMjEwYjFkN2RjMmYzYjhjNjllZWRjODFiOTgyNzBhZWVm
MDUxNjMuLmQzMmM3OTFmZjE0ZTk4OTBlNDljNzgzNWI5ZGM2ZTliYmJhYzdhNzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtMjI4LDcgKzIyOCw3IEBAIHB1YmxpYzoK
ICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9w
dHI8V2ViQ29yZTo6VmFsaWRhdGlvbkJ1YmJsZT4gY3JlYXRlVmFsaWRhdGlvbkJ1YmJsZShjb25z
dCBTdHJpbmcmIG1lc3NhZ2UpID0gMDsKKyAgICB2aXJ0dWFsIFJlZjxXZWJDb3JlOjpWYWxpZGF0
aW9uQnViYmxlPiBjcmVhdGVWYWxpZGF0aW9uQnViYmxlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkg
PSAwOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAppbmRleCBlZjU2YjFjNjYzNmYxYWI1ZGNkNmZlNThkZjYyODg0Yzk4
MTNlZTExLi4zMjc1ZjljYTI0MWNkNTVlMjQ1NjdiM2VjNDRiNzRhZTNjNDE0ZTQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xODI2LDcgKzE4MjYsNyBAQCBw
cml2YXRlOgogICAgIFJlZlB0cjxXZWJDb2xvclBpY2tlcj4gbV9jb2xvclBpY2tlcjsKICNlbmRp
ZgogI2lmIFBMQVRGT1JNKENPQ09BKQotICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpWYWxp
ZGF0aW9uQnViYmxlPiBtX3ZhbGlkYXRpb25CdWJibGU7CisgICAgUmVmUHRyPFdlYkNvcmU6OlZh
bGlkYXRpb25CdWJibGU+IG1fdmFsaWRhdGlvbkJ1YmJsZTsKICNlbmRpZgogCiAgICAgY29uc3Qg
dWludDY0X3QgbV9wYWdlSUQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
aW9zL1BhZ2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1Bh
Z2VDbGllbnRJbXBsSU9TLmgKaW5kZXggNjliNjEzNWFmOWUyNmNiMWQzMzU2MGY4NGM5NDUwODJi
YzA4NjM4YS4uODdiZTgzMGVhNTFjZTdmMWYyNDUyNmQxY2M0OTc0OWVmMmZjMmU1NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaApAQCAt
OTYsNyArOTYsNyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQogICAgIHN0
ZDo6dW5pcXVlX3B0cjxXZWJDb250ZXh0TWVudVByb3h5PiBjcmVhdGVDb250ZXh0TWVudVByb3h5
KFdlYlBhZ2VQcm94eSYsIGNvbnN0IENvbnRleHRNZW51Q29udGV4dERhdGEmLCBjb25zdCBVc2Vy
RGF0YSYpIG92ZXJyaWRlOwogI2VuZGlmCi0gICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlZh
bGlkYXRpb25CdWJibGU+IGNyZWF0ZVZhbGlkYXRpb25CdWJibGUoY29uc3QgU3RyaW5nJiBtZXNz
YWdlKSBmaW5hbDsKKyAgICBSZWY8V2ViQ29yZTo6VmFsaWRhdGlvbkJ1YmJsZT4gY3JlYXRlVmFs
aWRhdGlvbkJ1YmJsZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpIGZpbmFsOwogCiAgICAgdm9pZCBz
ZXRUZXh0SW5kaWNhdG9yKFJlZjxXZWJDb3JlOjpUZXh0SW5kaWNhdG9yPiwgV2ViQ29yZTo6VGV4
dEluZGljYXRvcldpbmRvd0xpZmV0aW1lKSBvdmVycmlkZTsKICAgICB2b2lkIGNsZWFyVGV4dElu
ZGljYXRvcihXZWJDb3JlOjpUZXh0SW5kaWNhdG9yV2luZG93RGlzbWlzc2FsQW5pbWF0aW9uKSBv
dmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNs
aWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJ
bXBsSU9TLm1tCmluZGV4IGNlMzY0MDU1NTg1ZWQ0OWVlZTZjNWY4NzNhYmNkZDNkMDg4OTM5Njgu
LjdhYjMxMTVlNTA2YTA1ZjZhN2U0ZTViZGU5ZDY4NDRiZWU3ZjQyMmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQpAQCAtNzQ0LDkg
Kzc0NCw5IEBAIFdlYkNvcmU6OlVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gUGFnZUNsaWVu
dEltcGw6OnVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3RpCiAgICAgcmV0dXJuIChbVUlWaWV3IHVz
ZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb25Gb3JTZW1hbnRpY0NvbnRlbnRBdHRyaWJ1dGU6W21f
d2ViVmlldyBzZW1hbnRpY0NvbnRlbnRBdHRyaWJ1dGVdXSA9PSBVSVVzZXJJbnRlcmZhY2VMYXlv
dXREaXJlY3Rpb25MZWZ0VG9SaWdodCkgPyBXZWJDb3JlOjpVc2VySW50ZXJmYWNlTGF5b3V0RGly
ZWN0aW9uOjpMVFIgOiBXZWJDb3JlOjpVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uOjpSVEw7
CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxWYWxpZGF0aW9uQnViYmxlPiBQYWdlQ2xpZW50SW1wbDo6
Y3JlYXRlVmFsaWRhdGlvbkJ1YmJsZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCitSZWY8VmFsaWRh
dGlvbkJ1YmJsZT4gUGFnZUNsaWVudEltcGw6OmNyZWF0ZVZhbGlkYXRpb25CdWJibGUoY29uc3Qg
U3RyaW5nJiBtZXNzYWdlKQogewotICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPFZhbGlkYXRp
b25CdWJibGU+KG1fY29udGVudFZpZXcsIG1lc3NhZ2UpOworICAgIHJldHVybiBWYWxpZGF0aW9u
QnViYmxlOjpjcmVhdGUobV9jb250ZW50VmlldywgbWVzc2FnZSk7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdl
Q2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1w
bC5oCmluZGV4IDlkN2NlMDQzNjgyYzcyYThlOTYxNzc1M2I4MjAxMWIxNGI3NzNmNmYuLjBkMmRk
YWEyY2RjZDdiNjYwOTY5YzZkNDNjZDhkYjJlMjlmYWIxNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmgKQEAgLTEzMSw3ICsxMzEsNyBAQCBwcml2
YXRlOgogICAgIFJlZlB0cjxXZWJDb2xvclBpY2tlcj4gY3JlYXRlQ29sb3JQaWNrZXIoV2ViUGFn
ZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6Q29sb3ImIGluaXRpYWxDb2xvciwgY29uc3QgV2ViQ29y
ZTo6SW50UmVjdCYpIG92ZXJyaWRlOwogI2VuZGlmCiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8V2Vi
Q29yZTo6VmFsaWRhdGlvbkJ1YmJsZT4gY3JlYXRlVmFsaWRhdGlvbkJ1YmJsZShjb25zdCBTdHJp
bmcmIG1lc3NhZ2UpIGZpbmFsOworICAgIFJlZjxXZWJDb3JlOjpWYWxpZGF0aW9uQnViYmxlPiBj
cmVhdGVWYWxpZGF0aW9uQnViYmxlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkgZmluYWw7CiAKICAg
ICB2b2lkIHNldFRleHRJbmRpY2F0b3IoUmVmPFdlYkNvcmU6OlRleHRJbmRpY2F0b3I+LCBXZWJD
b3JlOjpUZXh0SW5kaWNhdG9yV2luZG93TGlmZXRpbWUpIG92ZXJyaWRlOwogICAgIHZvaWQgY2xl
YXJUZXh0SW5kaWNhdG9yKFdlYkNvcmU6OlRleHRJbmRpY2F0b3JXaW5kb3dEaXNtaXNzYWxBbmlt
YXRpb24pIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21h
Yy9QYWdlQ2xpZW50SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNs
aWVudEltcGwubW0KaW5kZXggZmVlYTI2M2QzZDdhMTcyNzk1N2VmYTYxYzZlYmEyNTcyNTBjZWVi
OS4uYjBlNDY3NjI0MWZjYWU3ZTAxOGQ3NDMyZDY3NmUwYjY3ZmM2YWY3NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCkBAIC00NDAsOSArNDQw
LDkgQEAgUmVmUHRyPFdlYkNvbG9yUGlja2VyPiBQYWdlQ2xpZW50SW1wbDo6Y3JlYXRlQ29sb3JQ
aWNrZXIoV2ViUGFnZVByb3h5KiBwYWdlLCBjb24KIH0KICNlbmRpZgogCi1zdGQ6OnVuaXF1ZV9w
dHI8VmFsaWRhdGlvbkJ1YmJsZT4gUGFnZUNsaWVudEltcGw6OmNyZWF0ZVZhbGlkYXRpb25CdWJi
bGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQorUmVmPFZhbGlkYXRpb25CdWJibGU+IFBhZ2VDbGll
bnRJbXBsOjpjcmVhdGVWYWxpZGF0aW9uQnViYmxlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsK
LSAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxWYWxpZGF0aW9uQnViYmxlPihtX3ZpZXcsIG1l
c3NhZ2UpOworICAgIHJldHVybiBWYWxpZGF0aW9uQnViYmxlOjpjcmVhdGUobV92aWV3LCBtZXNz
YWdlKTsKIH0KIAogdm9pZCBQYWdlQ2xpZW50SW1wbDo6c2V0VGV4dEluZGljYXRvcihSZWY8VGV4
dEluZGljYXRvcj4gdGV4dEluZGljYXRvciwgV2ViQ29yZTo6VGV4dEluZGljYXRvcldpbmRvd0xp
ZmV0aW1lIGxpZmV0aW1lKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>