<?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>151953</bug_id>
          
          <creation_ts>2015-12-07 12:09:11 -0800</creation_ts>
          <short_desc>Add diagnostic logging to measure speculative revalidation accuracy</short_desc>
          <delta_ts>2015-12-08 09:40:09 -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>WebKit2</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>barraclough</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1146934</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-12-07 12:09:11 -0800</bug_when>
    <thetext>Add diagnostic logging to measure speculative revalidation accuracy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146935</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-12-07 12:09:36 -0800</bug_when>
    <thetext>rdar://problem/23092196</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146957</commentid>
    <comment_count>2</comment_count>
      <attachid>266797</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-12-07 12:48:06 -0800</bug_when>
    <thetext>Created attachment 266797
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1147319</commentid>
    <comment_count>3</comment_count>
      <attachid>266797</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-08 09:40:06 -0800</bug_when>
    <thetext>Comment on attachment 266797
Patch

Clearing flags on attachment: 266797

Committed r193756: &lt;http://trac.webkit.org/changeset/193756&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1147320</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-08 09:40:09 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266797</attachid>
            <date>2015-12-07 12:48:06 -0800</date>
            <delta_ts>2015-12-08 09:40:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151953-20151207124756.patch</filename>
            <type>text/plain</type>
            <size>20794</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyODE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmI5ZDkxNWIzYmFiNDI5
YTM5Njk5ODBiZjkyZTBhOGEwN2RhNTlmMy4uYjZjNTA1MjQxM2U0NTQ5NGI0NTliOWFiYWFjNjEz
MmY5MzcyYTM1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE1LTEyLTA3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGRpYWdub3N0aWMgbG9n
Z2luZyB0byBtZWFzdXJlIHNwZWN1bGF0aXZlIHJldmFsaWRhdGlvbiBhY2N1cmFjeQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxOTUzCisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8yMzA5MjE5Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgZGlhZ25vc3RpYyBsb2dnaW5nIHRvIG1lYXN1cmUgc3Bl
Y3VsYXRpdmUgcmV2YWxpZGF0aW9uIGFjY3VyYWN5LgorCisgICAgICAgICogcGFnZS9EaWFnbm9z
dGljTG9nZ2luZ0tleXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdL
ZXlzOjplbnRyeVJpZ2h0bHlOb3RXYXJtZWRVcEtleSk6CisgICAgICAgIChXZWJDb3JlOjpEaWFn
bm9zdGljTG9nZ2luZ0tleXM6OmVudHJ5V3JvbmdseU5vdFdhcm1lZFVwS2V5KToKKyAgICAgICAg
KFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nS2V5czo6c3VjY2Vzc2Z1bFNwZWN1bGF0aXZlV2Fy
bXVwV2l0aFJldmFsaWRhdGlvbktleSk6CisgICAgICAgIChXZWJDb3JlOjpEaWFnbm9zdGljTG9n
Z2luZ0tleXM6OnN1Y2Nlc3NmdWxTcGVjdWxhdGl2ZVdhcm11cFdpdGhvdXRSZXZhbGlkYXRpb25L
ZXkpOgorICAgICAgICAoV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjp1bmtub3duRW50
cnlSZXF1ZXN0S2V5KToKKyAgICAgICAgKFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nS2V5czo6
d2FzdGVkU3BlY3VsYXRpdmVXYXJtdXBXaXRoUmV2YWxpZGF0aW9uS2V5KToKKyAgICAgICAgKFdl
YkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nS2V5czo6d2FzdGVkU3BlY3VsYXRpdmVXYXJtdXBXaXRo
b3V0UmV2YWxpZGF0aW9uS2V5KToKKyAgICAgICAgKiBwYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5
cy5oOgorCiAyMDE1LTExLTMwICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5j
b20+CiAKICAgICAgICAgVW5pZnkgZm9udC12YXJpYW50LSogd2l0aCBmb250LXZhcmlhbnQgc2hv
cnRoYW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDkzMDYwM2MwZDljNTZlOGQxNGJhY2UwZTY0NTc4M2NkNDE5
ZWVmOS4uMjJlNDBhNGRjMmFkODY2ZDcwOTNhYWVlOWY4YjVlN2UxOWQ3YjlhMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDQ1IEBACisyMDE1LTEyLTA3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWRkIGRpYWdub3N0aWMgbG9nZ2luZyB0byBtZWFzdXJlIHNwZWN1
bGF0aXZlIHJldmFsaWRhdGlvbiBhY2N1cmFjeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxOTUzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMzA5
MjE5Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
ZSB0cmFjayB0aGUgZm9sbG93aW5nOgorICAgICAgICAxLiBSZXNvdXJjZXMgd2Uga25ldyBhYm91
dCBBTkQgZGlkIG5vdCBnZXQgcmVxdWVzdGVkCisgICAgICAgICAgIEEuIFdlIGRpZCBub3Qgc3Bl
Y3VsYXRlIChHb29kKQorICAgICAgICAgICBCLiBXZSBzcGVjdWxhdGVkIGJ1dCBkaWQgbm90IGdv
IHRvIG5ldHdvcmsgKEJhZCkKKyAgICAgICAgICAgQy4gV2Ugc3BlY3VsYXRlZCBhbmQgd2VudCB0
byBuZXR3b3JrIChWZXJ5IGJhZCkKKyAgICAgICAgMi4gUmVzb3VyY2VzIHdlIGRpZCBub3Qga25v
dyBhYm91dCAoTmV1dHJhbCkKKyAgICAgICAgMy4gUmVzb3VyY2VzIHdlIGtuZXcgYWJvdXQgQU5E
IGdvdCByZXF1ZXN0ZWQKKyAgICAgICAgICAgQS4gV2UgZGlkIG5vdCBzcGVjdWxhdGUgKEJhZCkK
KyAgICAgICAgICAgQi4gV2Ugc3BlY3VsYXRlZCBidXQgZGlkIG5vdCBnbyB0byBuZXR3b3JrIChH
b29kKQorICAgICAgICAgICBDLiBXZSBzcGVjdWxhdGVkIGFuZCB3ZW50IHRvIG5ldHdvcmsgKFZl
cnkgZ29vZCkKKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5j
cHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6Q2FjaGU6OnJldHJpZXZlKToKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRN
YW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjphbGxTcGVjdWxhdGl2
ZUxvYWRpbmdEaWFnbm9zdGljTWVzc2FnZXMpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2Fj
aGU6OnByaW50U3BlY3VsYXRpdmVMb2FkaW5nRGlhZ25vc3RpY01lc3NhZ2VDb3VudHMpOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OmxvZ1NwZWN1bGF0aXZlTG9hZGluZ0RpYWdub3N0
aWNNZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTcGVjdWxhdGl2ZUxv
YWRNYW5hZ2VyOjpFeHBpcmluZ0VudHJ5OjpFeHBpcmluZ0VudHJ5KToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya0NhY2hlOjpTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOjpQcmVsb2FkZWRFbnRyeTo6
UHJlbG9hZGVkRW50cnkpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlNwZWN1bGF0
aXZlTG9hZE1hbmFnZXI6OlByZWxvYWRlZEVudHJ5Ojp3YXNSZXZhbGlkYXRlZCk6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3BlY3VsYXRpdmVMb2FkTWFuYWdlcjo6UGVuZGluZ0Zy
YW1lTG9hZDo6bWFya0xvYWRBc0NvbXBsZXRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtD
YWNoZTo6U3BlY3VsYXRpdmVMb2FkTWFuYWdlcjo6cmV0cmlldmUpOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrQ2FjaGU6OlNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OmFkZFByZWxvYWRlZEVudHJ5
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTcGVjdWxhdGl2ZUxvYWRNYW5hZ2Vy
OjpyZXZhbGlkYXRlRW50cnkpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OlNwZWN1
bGF0aXZlTG9hZE1hbmFnZXI6OnByZWxvYWRFbnRyeSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtDYWNoZTo6U3BlY3VsYXRpdmVMb2FkTWFuYWdlcjo6c3RhcnRTcGVjdWxhdGl2ZVJldmFsaWRh
dGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6bWFrZVN1YnJlc291cmNlc0tl
eSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6Y29uc3RydWN0UmV2
YWxpZGF0aW9uUmVxdWVzdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNo
ZTo6cmVzcG9uc2VOZWVkc1JldmFsaWRhdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtDYWNoZTo6U3BlY3VsYXRpdmVMb2FkTWFuYWdlcjo6UGVuZGluZ0ZyYW1lTG9hZDo6
c2F2ZVRvRGlza0lmUmVhZHkpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2Fj
aGU6OlNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OnJldHJpZXZlRW50cnlGcm9tU3RvcmFnZSk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6U3BlY3VsYXRpdmVMb2FkTWFu
YWdlcjo6c2F0aXNmeVBlbmRpbmdSZXF1ZXN0cyk6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5oOgorCiAy
MDE1LTExLTMwICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAg
ICAgIFtpT1NdIE9wdGlvbi11cCBhbmQgT3B0aW9uLWRvd24gc2hvdWxkIHNjcm9sbCBhIGxpdHRs
ZSBsZXNzIHRoYW4gYSBmdWxsIHBhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3Rp
Y0xvZ2dpbmdLZXlzLmNwcAppbmRleCA5N2M1ZTg1NTZjODVmMjZmYmQ5MjIyNjVhNzQxNzMxMmUz
NjEyZDVmLi4xMTEyYzRjYzg4MGY3N2Q0ZDNkMTVkYTI5Yzc2ZGFjNTUwZWM0NmFlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuY3BwCkBAIC0xMDMsNiAr
MTAzLDE2IEBAIFN0cmluZyBEaWFnbm9zdGljTG9nZ2luZ0tleXM6OmVuZ2luZUZhaWxlZFRvTG9h
ZEtleSgpCiAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiZW5naW5lRmFpbGVkVG9Mb2FkIik7CiB9
CiAKK1N0cmluZyBEaWFnbm9zdGljTG9nZ2luZ0tleXM6OmVudHJ5UmlnaHRseU5vdFdhcm1lZFVw
S2V5KCkKK3sKKyAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJlbnRyeVJpZ2h0bHlOb3RXYXJtZWRV
cCIpOworfQorCitTdHJpbmcgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjplbnRyeVdyb25nbHlOb3RX
YXJtZWRVcEtleSgpCit7CisgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiZW50cnlXcm9uZ2x5Tm90
V2FybWVkVXAiKTsKK30KKwogU3RyaW5nIERpYWdub3N0aWNMb2dnaW5nS2V5czo6bmF2aWdhdGlv
bktleSgpCiB7CiAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgibmF2aWdhdGlvbiIpOwpAQCAtNDE4
LDYgKzQyOCwxNiBAQCBTdHJpbmcgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpzdHlsZVNoZWV0S2V5
KCkKICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJzdHlsZVNoZWV0Iik7CiB9CiAKK1N0cmluZyBE
aWFnbm9zdGljTG9nZ2luZ0tleXM6OnN1Y2Nlc3NmdWxTcGVjdWxhdGl2ZVdhcm11cFdpdGhSZXZh
bGlkYXRpb25LZXkoKQoreworICAgIHJldHVybiBBU0NJSUxpdGVyYWwoInN1Y2Nlc3NmdWxTcGVj
dWxhdGl2ZVdhcm11cFdpdGhSZXZhbGlkYXRpb24iKTsKK30KKworU3RyaW5nIERpYWdub3N0aWNM
b2dnaW5nS2V5czo6c3VjY2Vzc2Z1bFNwZWN1bGF0aXZlV2FybXVwV2l0aG91dFJldmFsaWRhdGlv
bktleSgpCit7CisgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgic3VjY2Vzc2Z1bFNwZWN1bGF0aXZl
V2FybXVwV2l0aG91dFJldmFsaWRhdGlvbiIpOworfQorCiBTdHJpbmcgRGlhZ25vc3RpY0xvZ2dp
bmdLZXlzOjpzdmdEb2N1bWVudEtleSgpCiB7CiAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgic3Zn
RG9jdW1lbnQiKTsKQEAgLTQzMyw2ICs0NTMsMTEgQEAgU3RyaW5nIERpYWdub3N0aWNMb2dnaW5n
S2V5czo6dW5kZXJNZW1vcnlQcmVzc3VyZUtleSgpCiAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgi
dW5kZXJNZW1vcnlQcmVzc3VyZSIpOwogfQogCitTdHJpbmcgRGlhZ25vc3RpY0xvZ2dpbmdLZXlz
Ojp1bmtub3duRW50cnlSZXF1ZXN0S2V5KCkKK3sKKyAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJ1
bmtub3duRW50cnlSZXF1ZXN0Iik7Cit9CisKIFN0cmluZyBEaWFnbm9zdGljTG9nZ2luZ0tleXM6
OnVubGlrZWx5VG9SZXVzZUtleSgpCiB7CiAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgidW5saWtl
bHlUb1JldXNlIik7CkBAIC01MTMsNiArNTM4LDE2IEBAIFN0cmluZyBEaWFnbm9zdGljTG9nZ2lu
Z0tleXM6OnZpZGVvS2V5KCkKICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJ2aWRlbyIpOwogfQog
CitTdHJpbmcgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjp3YXN0ZWRTcGVjdWxhdGl2ZVdhcm11cFdp
dGhSZXZhbGlkYXRpb25LZXkoKQoreworICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIndhc3RlZFNw
ZWN1bGF0aXZlV2FybXVwV2l0aFJldmFsaWRhdGlvbiIpOworfQorCitTdHJpbmcgRGlhZ25vc3Rp
Y0xvZ2dpbmdLZXlzOjp3YXN0ZWRTcGVjdWxhdGl2ZVdhcm11cFdpdGhvdXRSZXZhbGlkYXRpb25L
ZXkoKQoreworICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIndhc3RlZFNwZWN1bGF0aXZlV2FybXVw
V2l0aG91dFJldmFsaWRhdGlvbiIpOworfQorCiBTdHJpbmcgRGlhZ25vc3RpY0xvZ2dpbmdLZXlz
Ojp3ZWJWaWV3S2V5KCkKIHsKICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJ3ZWJWaWV3Iik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuaAppbmRleCA3YTU0YWY1
N2U3MzU4ODIxMDNiYjNkNGFlMGY0NGNjOTI3NmE5NTNmLi4xZGFhOTc0NGVmOGVkNDhhODA2NmE2
N2IwMDFjNTE3ZGY1YjQ2ZDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdu
b3N0aWNMb2dnaW5nS2V5cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xv
Z2dpbmdLZXlzLmgKQEAgLTQ4LDYgKzQ4LDggQEAgcHVibGljOgogICAgIHN0YXRpYyBTdHJpbmcg
ZGlza0NhY2hlQWZ0ZXJWYWxpZGF0aW9uS2V5KCk7CiAgICAgc3RhdGljIFN0cmluZyBkb2N1bWVu
dExvYWRlclN0b3BwaW5nS2V5KCk7CiAgICAgc3RhdGljIFN0cmluZyBlbmdpbmVGYWlsZWRUb0xv
YWRLZXkoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgU3RyaW5nIGVudHJ5UmlnaHRseU5v
dFdhcm1lZFVwS2V5KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFN0cmluZyBlbnRyeVdy
b25nbHlOb3RXYXJtZWRVcEtleSgpOwogICAgIHN0YXRpYyBTdHJpbmcgZXhwaXJlZEtleSgpOwog
ICAgIHN0YXRpYyBTdHJpbmcgZm9udEtleSgpOwogICAgIHN0YXRpYyBTdHJpbmcgaGFzUGx1Z2lu
c0tleSgpOwpAQCAtMTE1LDkgKzExNywxMiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFN0cmluZyBz
b3VyY2VLZXkoKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgU3RyaW5nIHN0cmVhbWluZ01l
ZGlhKCk7CiAgICAgc3RhdGljIFN0cmluZyBzdHlsZVNoZWV0S2V5KCk7CisgICAgV0VCQ09SRV9F
WFBPUlQgc3RhdGljIFN0cmluZyBzdWNjZXNzZnVsU3BlY3VsYXRpdmVXYXJtdXBXaXRoUmV2YWxp
ZGF0aW9uS2V5KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFN0cmluZyBzdWNjZXNzZnVs
U3BlY3VsYXRpdmVXYXJtdXBXaXRob3V0UmV2YWxpZGF0aW9uS2V5KCk7CiAgICAgc3RhdGljIFN0
cmluZyBzdmdEb2N1bWVudEtleSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBTdHJpbmcg
dW5jYWNoZWFibGVTdGF0dXNDb2RlS2V5KCk7CiAgICAgc3RhdGljIFN0cmluZyB1bmRlck1lbW9y
eVByZXNzdXJlS2V5KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFN0cmluZyB1bmtub3du
RW50cnlSZXF1ZXN0S2V5KCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFN0cmluZyB1bmxp
a2VseVRvUmV1c2VLZXkoKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgU3RyaW5nIHVuc3Vw
cG9ydGVkSFRUUE1ldGhvZEtleSgpOwogICAgIHN0YXRpYyBTdHJpbmcgdW5zdXNwZW5kYWJsZURP
TU9iamVjdEtleSgpOwpAQCAtMTM0LDYgKzEzOSw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VY
UE9SVCBzdGF0aWMgU3RyaW5nIHVzZXJLZXkoKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMg
U3RyaW5nIHZhcnlpbmdIZWFkZXJNaXNtYXRjaEtleSgpOwogICAgIHN0YXRpYyBTdHJpbmcgdmlk
ZW9LZXkoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgU3RyaW5nIHdhc3RlZFNwZWN1bGF0
aXZlV2FybXVwV2l0aFJldmFsaWRhdGlvbktleSgpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRp
YyBTdHJpbmcgd2FzdGVkU3BlY3VsYXRpdmVXYXJtdXBXaXRob3V0UmV2YWxpZGF0aW9uS2V5KCk7
CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFN0cmluZyB3ZWJWaWV3S2V5KCk7CiAgICAgV0VC
Q09SRV9FWFBPUlQgc3RhdGljIFN0cmluZyB6b29tZWRLZXkoKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKaW5kZXggMTc0
YjYyYWMwZmI5M2ZlZTAwMjI4NGVkMTJlZTgyOTE5YzJmNzkzYS4uOGE0Yzg4NDU1ZGM1YTg1Yjdl
OGJkOTM2MzZiNWQ0YmNjMTAwOWI5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCkBAIC0zNzAsNyArMzcwLDcgQEAgdm9p
ZCBDYWNoZTo6cmV0cmlldmUoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBvcmlnaW5h
bFJlcXVlc3QsIGNvbnN0IEdsb2IKICAgICB9CiAKICNpZiBFTkFCTEUoTkVUV09SS19DQUNIRV9T
UEVDVUxBVElWRV9SRVZBTElEQVRJT04pCi0gICAgaWYgKG1fc3BlY3VsYXRpdmVMb2FkTWFuYWdl
ciAmJiBtX3NwZWN1bGF0aXZlTG9hZE1hbmFnZXItPnJldHJpZXZlKHN0b3JhZ2VLZXksIFtvcmln
aW5hbFJlcXVlc3QsIGNvbXBsZXRpb25IYW5kbGVyXShzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IGVu
dHJ5KSB7CisgICAgaWYgKG1fc3BlY3VsYXRpdmVMb2FkTWFuYWdlciAmJiBtX3NwZWN1bGF0aXZl
TG9hZE1hbmFnZXItPnJldHJpZXZlKGZyYW1lSUQsIHN0b3JhZ2VLZXksIFtvcmlnaW5hbFJlcXVl
c3QsIGNvbXBsZXRpb25IYW5kbGVyXShzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IGVudHJ5KSB7CiAg
ICAgICAgIGlmIChlbnRyeSAmJiB2ZXJpZnlWYXJ5aW5nUmVxdWVzdEhlYWRlcnMoZW50cnktPnZh
cnlpbmdSZXF1ZXN0SGVhZGVycygpLCBvcmlnaW5hbFJlcXVlc3QpKQogICAgICAgICAgICAgY29t
cGxldGlvbkhhbmRsZXIoV1RGOjptb3ZlKGVudHJ5KSk7CiAgICAgICAgIGVsc2UKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1
bGF0aXZlTG9hZE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAKaW5kZXggNDQ0OTY2ODMx
YmYzMDZiMTBkYWQ1YTZiYmRiNDYzZWM2MDA2MTZjNy4uZmQzM2I0N2IyNGUzZDcwNTUyNzljMTll
Y2QzODM2NGRlODI5YzNhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVM
b2FkTWFuYWdlci5jcHAKQEAgLTMyLDcgKzMyLDEwIEBACiAjaW5jbHVkZSAiTmV0d29ya0NhY2hl
RW50cnkuaCIKICNpbmNsdWRlICJOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWQuaCIKICNpbmNs
dWRlICJOZXR3b3JrQ2FjaGVTdWJyZXNvdXJjZXNFbnRyeS5oIgorI2luY2x1ZGUgIk5ldHdvcmtQ
cm9jZXNzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0h5c3RlcmVzaXNBY3Rpdml0eS5oPgorI2luY2x1ZGUgPHd0Zi9IYXNo
Q291bnRlZFNldC5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KQEAgLTQ1LDYgKzQ4
LDMwIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBzdGF0aWMgY29uc3QgYXV0byBwcmVs
b2FkZWRFbnRyeUxpZmV0aW1lID0gMTBfczsKIAorI2lmICFMT0dfRElTQUJMRUQKK3N0YXRpYyBI
YXNoQ291bnRlZFNldDxTdHJpbmc+JiBhbGxTcGVjdWxhdGl2ZUxvYWRpbmdEaWFnbm9zdGljTWVz
c2FnZXMoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoQ291bnRlZFNldDxTdHJp
bmc+PiBtZXNzYWdlczsKKyAgICByZXR1cm4gbWVzc2FnZXM7Cit9CisKK3N0YXRpYyB2b2lkIHBy
aW50U3BlY3VsYXRpdmVMb2FkaW5nRGlhZ25vc3RpY01lc3NhZ2VDb3VudHMoKQoreworICAgIExP
RyhOZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcsICItLSBTcGVjdWxhdGl2ZSBsb2Fk
aW5nIHN0YXRpc3RpY3MgLS0iKTsKKyAgICBmb3IgKGF1dG8mIHBhaXIgOiBhbGxTcGVjdWxhdGl2
ZUxvYWRpbmdEaWFnbm9zdGljTWVzc2FnZXMoKSkKKyAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVNw
ZWN1bGF0aXZlUHJlbG9hZGluZywgIiVzOiAldSIsIHBhaXIua2V5LnV0ZjgoKS5kYXRhKCksIHBh
aXIudmFsdWUpOworfQorI2VuZGlmCisKK3N0YXRpYyB2b2lkIGxvZ1NwZWN1bGF0aXZlTG9hZGlu
Z0RpYWdub3N0aWNNZXNzYWdlKGNvbnN0IEdsb2JhbEZyYW1lSUQmIGZyYW1lSUQsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSkKK3sKKyNpZiAhTE9HX0RJU0FCTEVECisgICAgaWYgKFdlYktpdDJMb2dO
ZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZVByZWxvYWRpbmcuc3RhdGUgPT0gV1RGTG9nQ2hhbm5lbE9u
KQorICAgICAgICBhbGxTcGVjdWxhdGl2ZUxvYWRpbmdEaWFnbm9zdGljTWVzc2FnZXMoKS5hZGQo
bWVzc2FnZSk7CisjZW5kaWYKKyAgICBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkubG9nRGlh
Z25vc3RpY01lc3NhZ2UoZnJhbWVJRC5maXJzdCwgV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdL
ZXlzOjpuZXR3b3JrQ2FjaGVLZXkoKSwgbWVzc2FnZSwgV2ViQ29yZTo6U2hvdWxkU2FtcGxlOjpZ
ZXMpOworfQorCiBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBzdWJyZXNvdXJjZXNUeXBlKCkK
IHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwpAQCAtODIsMzIgKzEwOSwzOSBAQCBz
dGF0aWMgYm9vbCByZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9uKGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIHJlc3BvbnNlLCBzdGQ6OmNocgogICAgIHJldHVybiBhZ2UgLSBsaWZldGltZSA+IDBfbXM7
CiB9CiAKLWNsYXNzIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OlByZWxvYWRlZEVudHJ5IHsKK2Ns
YXNzIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OkV4cGlyaW5nRW50cnkgewogICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFByZWxvYWRlZEVudHJ5KHN0ZDo6dW5pcXVl
X3B0cjxFbnRyeT4gZW50cnksIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiYmIGxpZmV0aW1lUmVhY2hl
ZEhhbmRsZXIpCi0gICAgICAgIDogbV9lbnRyeShXVEY6Om1vdmUoZW50cnkpKQotICAgICAgICAs
IG1fbGlmZXRpbWVUaW1lcigqdGhpcywgJlByZWxvYWRlZEVudHJ5OjpsaWZldGltZVRpbWVyRmly
ZWQpCi0gICAgICAgICwgbV9saWZldGltZVJlYWNoZWRIYW5kbGVyKFdURjo6bW92ZShsaWZldGlt
ZVJlYWNoZWRIYW5kbGVyKSkKKyAgICBleHBsaWNpdCBFeHBpcmluZ0VudHJ5KHN0ZDo6ZnVuY3Rp
b248dm9pZCgpPiYmIGV4cGlyYXRpb25IYW5kbGVyKQorICAgICAgICA6IG1fbGlmZXRpbWVUaW1l
cihXVEY6Om1vdmUoZXhwaXJhdGlvbkhhbmRsZXIpKQogICAgIHsKICAgICAgICAgbV9saWZldGlt
ZVRpbWVyLnN0YXJ0T25lU2hvdChwcmVsb2FkZWRFbnRyeUxpZmV0aW1lKTsKICAgICB9CiAKK3By
aXZhdGU6CisgICAgVGltZXIgbV9saWZldGltZVRpbWVyOworfTsKKworY2xhc3MgU3BlY3VsYXRp
dmVMb2FkTWFuYWdlcjo6UHJlbG9hZGVkRW50cnkgOiBwcml2YXRlIEV4cGlyaW5nRW50cnkgewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIFByZWxvYWRlZEVudHJ5
KHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4gZW50cnksIFdhc1JldmFsaWRhdGVkIHdhc1JldmFsaWRh
dGVkLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4mJiBsaWZldGltZVJlYWNoZWRIYW5kbGVyKQorICAg
ICAgICA6IEV4cGlyaW5nRW50cnkoV1RGOjptb3ZlKGxpZmV0aW1lUmVhY2hlZEhhbmRsZXIpKQor
ICAgICAgICAsIG1fZW50cnkoV1RGOjptb3ZlKGVudHJ5KSkKKyAgICAgICAgLCBtX3dhc1JldmFs
aWRhdGVkKHdhc1JldmFsaWRhdGVkID09IFdhc1JldmFsaWRhdGVkOjpZZXMpCisgICAgeyB9CisK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IHRha2VDYWNoZUVudHJ5KCkKICAgICB7CiAgICAg
ICAgIEFTU0VSVChtX2VudHJ5KTsKICAgICAgICAgcmV0dXJuIFdURjo6bW92ZShtX2VudHJ5KTsK
ICAgICB9CiAKLXByaXZhdGU6Ci0gICAgdm9pZCBsaWZldGltZVRpbWVyRmlyZWQoKQotICAgIHsK
LSAgICAgICAgbV9saWZldGltZVJlYWNoZWRIYW5kbGVyKCk7Ci0gICAgfQorICAgIGJvb2wgd2Fz
UmV2YWxpZGF0ZWQoKSBjb25zdCB7IHJldHVybiBtX3dhc1JldmFsaWRhdGVkOyB9CiAKK3ByaXZh
dGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiBtX2VudHJ5OwotICAgIFRpbWVyIG1fbGlm
ZXRpbWVUaW1lcjsKLSAgICBzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gbV9saWZldGltZVJlYWNoZWRI
YW5kbGVyOworICAgIGJvb2wgbV93YXNSZXZhbGlkYXRlZDsKIH07CiAKIGNsYXNzIFNwZWN1bGF0
aXZlTG9hZE1hbmFnZXI6OlBlbmRpbmdGcmFtZUxvYWQgOiBwdWJsaWMgUmVmQ291bnRlZDxQZW5k
aW5nRnJhbWVMb2FkPiB7CkBAIC0xMzYsNiArMTcwLDEwIEBAIHB1YmxpYzoKICAgICAgICAgaWYg
KG1fZGlkRmluaXNoTG9hZCkKICAgICAgICAgICAgIHJldHVybjsKIAorI2lmICFMT0dfRElTQUJM
RUQKKyAgICAgICAgcHJpbnRTcGVjdWxhdGl2ZUxvYWRpbmdEaWFnbm9zdGljTWVzc2FnZUNvdW50
cygpOworI2VuZGlmCisKICAgICAgICAgbV9kaWRGaW5pc2hMb2FkID0gdHJ1ZTsKICAgICAgICAg
c2F2ZVRvRGlza0lmUmVhZHkoKTsKICAgICAgICAgbV9sb2FkQ29tcGxldGlvbkhhbmRsZXIoKTsK
QEAgLTIwMSwxOCArMjM5LDI5IEBAIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6On5TcGVjdWxhdGl2
ZUxvYWRNYW5hZ2VyKCkKIHsKIH0KIAotYm9vbCBTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOjpyZXRy
aWV2ZShjb25zdCBLZXkmIHN0b3JhZ2VLZXksIGNvbnN0IFJldHJpZXZlQ29tcGxldGlvbkhhbmRs
ZXImIGNvbXBsZXRpb25IYW5kbGVyKQorYm9vbCBTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOjpyZXRy
aWV2ZShjb25zdCBHbG9iYWxGcmFtZUlEJiBmcmFtZUlELCBjb25zdCBLZXkmIHN0b3JhZ2VLZXks
IGNvbnN0IFJldHJpZXZlQ29tcGxldGlvbkhhbmRsZXImIGNvbXBsZXRpb25IYW5kbGVyKQogewog
ICAgIC8vIENoZWNrIGFscmVhZHkgcHJlbG9hZGVkIGVudHJpZXMuCiAgICAgaWYgKGF1dG8gcHJl
bG9hZGVkRW50cnkgPSBtX3ByZWxvYWRlZEVudHJpZXMudGFrZShzdG9yYWdlS2V5KSkgewogICAg
ICAgICBMT0coTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVsb2FkaW5nLCAiKE5ldHdvcmtQcm9j
ZXNzKSBSZXRyaWV2YWw6IFVzaW5nIHByZWxvYWRlZCBlbnRyeSB0byBzYXRpc2Z5IHJlcXVlc3Qg
Zm9yICclcyc6Iiwgc3RvcmFnZUtleS5pZGVudGlmaWVyKCkudXRmOCgpLmRhdGEoKSk7CisgICAg
ICAgIGlmIChwcmVsb2FkZWRFbnRyeS0+d2FzUmV2YWxpZGF0ZWQoKSkKKyAgICAgICAgICAgIGxv
Z1NwZWN1bGF0aXZlTG9hZGluZ0RpYWdub3N0aWNNZXNzYWdlKGZyYW1lSUQsIERpYWdub3N0aWNM
b2dnaW5nS2V5czo6c3VjY2Vzc2Z1bFNwZWN1bGF0aXZlV2FybXVwV2l0aFJldmFsaWRhdGlvbktl
eSgpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbG9nU3BlY3VsYXRpdmVMb2FkaW5nRGlh
Z25vc3RpY01lc3NhZ2UoZnJhbWVJRCwgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpzdWNjZXNzZnVs
U3BlY3VsYXRpdmVXYXJtdXBXaXRob3V0UmV2YWxpZGF0aW9uS2V5KCkpOworCiAgICAgICAgIGNv
bXBsZXRpb25IYW5kbGVyKHByZWxvYWRlZEVudHJ5LT50YWtlQ2FjaGVFbnRyeSgpKTsKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgfQogCiAgICAgLy8gQ2hlY2sgcGVuZGluZyBzcGVjdWxhdGl2
ZSByZXZhbGlkYXRpb25zLgotICAgIGlmICghbV9wZW5kaW5nUHJlbG9hZHMuY29udGFpbnMoc3Rv
cmFnZUtleSkpCisgICAgaWYgKCFtX3BlbmRpbmdQcmVsb2Fkcy5jb250YWlucyhzdG9yYWdlS2V5
KSkgeworICAgICAgICBpZiAobV9ub3RQcmVsb2FkZWRFbnRyaWVzLnJlbW92ZShzdG9yYWdlS2V5
KSkKKyAgICAgICAgICAgIGxvZ1NwZWN1bGF0aXZlTG9hZGluZ0RpYWdub3N0aWNNZXNzYWdlKGZy
YW1lSUQsIERpYWdub3N0aWNMb2dnaW5nS2V5czo6ZW50cnlXcm9uZ2x5Tm90V2FybWVkVXBLZXko
KSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGxvZ1NwZWN1bGF0aXZlTG9hZGluZ0RpYWdu
b3N0aWNNZXNzYWdlKGZyYW1lSUQsIERpYWdub3N0aWNMb2dnaW5nS2V5czo6dW5rbm93bkVudHJ5
UmVxdWVzdEtleSgpKTsKKwogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQogCiAgICAgTE9H
KE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIihOZXR3b3JrUHJvY2VzcykgUmV0
cmlldmFsOiByZXZhbGlkYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcyBmb3IgJyVzJzoiLCBzdG9y
YWdlS2V5LmlkZW50aWZpZXIoKS51dGY4KCkuZGF0YSgpKTsKIApAQCAtMjYwLDEzICszMDksMTgg
QEAgdm9pZCBTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOjpyZWdpc3RlckxvYWQoY29uc3QgR2xvYmFs
RnJhbWVJRCYgZnJhbWVJRCwgY29uc3QgUmUKICAgICAgICAgcGVuZGluZ0ZyYW1lTG9hZC0+cmVn
aXN0ZXJTdWJyZXNvdXJjZShyZXNvdXJjZUtleSk7CiB9CiAKLXZvaWQgU3BlY3VsYXRpdmVMb2Fk
TWFuYWdlcjo6YWRkUHJlbG9hZGVkRW50cnkoc3RkOjp1bmlxdWVfcHRyPEVudHJ5PiBlbnRyeSkK
K3ZvaWQgU3BlY3VsYXRpdmVMb2FkTWFuYWdlcjo6YWRkUHJlbG9hZGVkRW50cnkoc3RkOjp1bmlx
dWVfcHRyPEVudHJ5PiBlbnRyeSwgY29uc3QgR2xvYmFsRnJhbWVJRCYgZnJhbWVJRCwgV2FzUmV2
YWxpZGF0ZWQgd2FzUmV2YWxpZGF0ZWQpCiB7CiAgICAgQVNTRVJUKGVudHJ5KTsKICAgICBBU1NF
UlQoIWVudHJ5LT5uZWVkc1ZhbGlkYXRpb24oKSk7CiAgICAgYXV0byBrZXkgPSBlbnRyeS0+a2V5
KCk7Ci0gICAgbV9wcmVsb2FkZWRFbnRyaWVzLmFkZChrZXksIHN0ZDo6bWFrZV91bmlxdWU8UHJl
bG9hZGVkRW50cnk+KFdURjo6bW92ZShlbnRyeSksIFt0aGlzLCBrZXldKCkgewotICAgICAgICBt
X3ByZWxvYWRlZEVudHJpZXMucmVtb3ZlKGtleSk7CisgICAgbV9wcmVsb2FkZWRFbnRyaWVzLmFk
ZChrZXksIHN0ZDo6bWFrZV91bmlxdWU8UHJlbG9hZGVkRW50cnk+KFdURjo6bW92ZShlbnRyeSks
IHdhc1JldmFsaWRhdGVkLCBbdGhpcywga2V5LCBmcmFtZUlEXSB7CisgICAgICAgIGF1dG8gcHJl
bG9hZGVkRW50cnkgPSBtX3ByZWxvYWRlZEVudHJpZXMudGFrZShrZXkpOworICAgICAgICBBU1NF
UlQocHJlbG9hZGVkRW50cnkpOworICAgICAgICBpZiAocHJlbG9hZGVkRW50cnktPndhc1JldmFs
aWRhdGVkKCkpCisgICAgICAgICAgICBsb2dTcGVjdWxhdGl2ZUxvYWRpbmdEaWFnbm9zdGljTWVz
c2FnZShmcmFtZUlELCBEaWFnbm9zdGljTG9nZ2luZ0tleXM6Ondhc3RlZFNwZWN1bGF0aXZlV2Fy
bXVwV2l0aFJldmFsaWRhdGlvbktleSgpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbG9n
U3BlY3VsYXRpdmVMb2FkaW5nRGlhZ25vc3RpY01lc3NhZ2UoZnJhbWVJRCwgRGlhZ25vc3RpY0xv
Z2dpbmdLZXlzOjp3YXN0ZWRTcGVjdWxhdGl2ZVdhcm11cFdpdGhvdXRSZXZhbGlkYXRpb25LZXko
KSk7CiAgICAgfSkpOwogfQogCkBAIC0zMTYsMTYgKzM3MCwxOSBAQCB2b2lkIFNwZWN1bGF0aXZl
TG9hZE1hbmFnZXI6OnJldmFsaWRhdGVFbnRyeShzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IGVudHJ5
LCBjb25zdAogCiAgICAgYXV0byBrZXkgPSBlbnRyeS0+a2V5KCk7CiAgICAgTE9HKE5ldHdvcmtD
YWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIihOZXR3b3JrUHJvY2VzcykgU3BlY3VsYXRpdmVs
eSByZXZhbGlkYXRpbmcgJyVzJzoiLCBrZXkuaWRlbnRpZmllcigpLnV0ZjgoKS5kYXRhKCkpOwot
ICAgIGF1dG8gcmV2YWxpZGF0b3IgPSBzdGQ6Om1ha2VfdW5pcXVlPFNwZWN1bGF0aXZlTG9hZD4o
ZnJhbWVJRCwgY29uc3RydWN0UmV2YWxpZGF0aW9uUmVxdWVzdCgqZW50cnkpLCBXVEY6Om1vdmUo
ZW50cnkpLCBbdGhpcywga2V5XShzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+IHJldmFsaWRhdGVkRW50
cnkpIHsKKyAgICBhdXRvIHJldmFsaWRhdG9yID0gc3RkOjptYWtlX3VuaXF1ZTxTcGVjdWxhdGl2
ZUxvYWQ+KGZyYW1lSUQsIGNvbnN0cnVjdFJldmFsaWRhdGlvblJlcXVlc3QoKmVudHJ5KSwgV1RG
Ojptb3ZlKGVudHJ5KSwgW3RoaXMsIGtleSwgZnJhbWVJRF0oc3RkOjp1bmlxdWVfcHRyPEVudHJ5
PiByZXZhbGlkYXRlZEVudHJ5KSB7CiAgICAgICAgIEFTU0VSVCghcmV2YWxpZGF0ZWRFbnRyeSB8
fCAhcmV2YWxpZGF0ZWRFbnRyeS0+bmVlZHNWYWxpZGF0aW9uKCkpOwogICAgICAgICBhdXRvIHBy
b3RlY3RSZXZhbGlkYXRvciA9IG1fcGVuZGluZ1ByZWxvYWRzLnRha2Uoa2V5KTsKICAgICAgICAg
TE9HKE5ldHdvcmtDYWNoZVNwZWN1bGF0aXZlUHJlbG9hZGluZywgIihOZXR3b3JrUHJvY2Vzcykg
U3BlY3VsYXRpdmUgcmV2YWxpZGF0aW9uIGNvbXBsZXRlZCBmb3IgJyVzJzoiLCBrZXkuaWRlbnRp
ZmllcigpLnV0ZjgoKS5kYXRhKCkpOwogCi0gICAgICAgIGlmIChzYXRpc2Z5UGVuZGluZ1JlcXVl
c3RzKGtleSwgcmV2YWxpZGF0ZWRFbnRyeS5nZXQoKSkpCisgICAgICAgIGlmIChzYXRpc2Z5UGVu
ZGluZ1JlcXVlc3RzKGtleSwgcmV2YWxpZGF0ZWRFbnRyeS5nZXQoKSkpIHsKKyAgICAgICAgICAg
IGlmIChyZXZhbGlkYXRlZEVudHJ5KQorICAgICAgICAgICAgICAgIGxvZ1NwZWN1bGF0aXZlTG9h
ZGluZ0RpYWdub3N0aWNNZXNzYWdlKGZyYW1lSUQsIERpYWdub3N0aWNMb2dnaW5nS2V5czo6c3Vj
Y2Vzc2Z1bFNwZWN1bGF0aXZlV2FybXVwV2l0aFJldmFsaWRhdGlvbktleSgpKTsKICAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgfQogCiAgICAgICAgIGlmIChyZXZhbGlkYXRlZEVudHJ5KQot
ICAgICAgICAgICAgYWRkUHJlbG9hZGVkRW50cnkoV1RGOjptb3ZlKHJldmFsaWRhdGVkRW50cnkp
KTsKKyAgICAgICAgICAgIGFkZFByZWxvYWRlZEVudHJ5KFdURjo6bW92ZShyZXZhbGlkYXRlZEVu
dHJ5KSwgZnJhbWVJRCwgV2FzUmV2YWxpZGF0ZWQ6Olllcyk7CiAgICAgfSk7CiAgICAgbV9wZW5k
aW5nUHJlbG9hZHMuYWRkKGtleSwgV1RGOjptb3ZlKHJldmFsaWRhdG9yKSk7CiB9CkBAIC0zMzYs
OCArMzkzLDExIEBAIHZvaWQgU3BlY3VsYXRpdmVMb2FkTWFuYWdlcjo6cHJlbG9hZEVudHJ5KGNv
bnN0IEtleSYga2V5LCBjb25zdCBHbG9iYWxGcmFtZUlEJiBmCiAgICAgcmV0cmlldmVFbnRyeUZy
b21TdG9yYWdlKGtleSwgW3RoaXMsIGtleSwgZnJhbWVJRF0oc3RkOjp1bmlxdWVfcHRyPEVudHJ5
PiBlbnRyeSkgewogICAgICAgICBtX3BlbmRpbmdQcmVsb2Fkcy5yZW1vdmUoa2V5KTsKIAotICAg
ICAgICBpZiAoc2F0aXNmeVBlbmRpbmdSZXF1ZXN0cyhrZXksIGVudHJ5LmdldCgpKSkKKyAgICAg
ICAgaWYgKHNhdGlzZnlQZW5kaW5nUmVxdWVzdHMoa2V5LCBlbnRyeS5nZXQoKSkpIHsKKyAgICAg
ICAgICAgIGlmIChlbnRyeSkKKyAgICAgICAgICAgICAgICBsb2dTcGVjdWxhdGl2ZUxvYWRpbmdE
aWFnbm9zdGljTWVzc2FnZShmcmFtZUlELCBEaWFnbm9zdGljTG9nZ2luZ0tleXM6OnN1Y2Nlc3Nm
dWxTcGVjdWxhdGl2ZVdhcm11cFdpdGhvdXRSZXZhbGlkYXRpb25LZXkoKSk7CiAgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KIAogICAgICAgICBpZiAoIWVudHJ5KQogICAgICAgICAgICAg
cmV0dXJuOwpAQCAtMzQ1LDE3ICs0MDUsMjMgQEAgdm9pZCBTcGVjdWxhdGl2ZUxvYWRNYW5hZ2Vy
OjpwcmVsb2FkRW50cnkoY29uc3QgS2V5JiBrZXksIGNvbnN0IEdsb2JhbEZyYW1lSUQmIGYKICAg
ICAgICAgaWYgKGVudHJ5LT5uZWVkc1ZhbGlkYXRpb24oKSkKICAgICAgICAgICAgIHJldmFsaWRh
dGVFbnRyeShXVEY6Om1vdmUoZW50cnkpLCBmcmFtZUlEKTsKICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgYWRkUHJlbG9hZGVkRW50cnkoV1RGOjptb3ZlKGVudHJ5KSk7CisgICAgICAgICAgICBh
ZGRQcmVsb2FkZWRFbnRyeShXVEY6Om1vdmUoZW50cnkpLCBmcmFtZUlELCBXYXNSZXZhbGlkYXRl
ZDo6Tm8pOwogICAgIH0pOwogfQogCiB2b2lkIFNwZWN1bGF0aXZlTG9hZE1hbmFnZXI6OnN0YXJ0
U3BlY3VsYXRpdmVSZXZhbGlkYXRpb24oY29uc3QgR2xvYmFsRnJhbWVJRCYgZnJhbWVJRCwgU3Vi
cmVzb3VyY2VzRW50cnkmIGVudHJ5KQogewogICAgIGZvciAoYXV0byYgc3VicmVzb3VyY2UgOiBl
bnRyeS5zdWJyZXNvdXJjZXMoKSkgeworICAgICAgICBhdXRvIGtleSA9IHN1YnJlc291cmNlLmtl
eTsKICAgICAgICAgaWYgKCFzdWJyZXNvdXJjZS52YWx1ZS5pc1RyYW5zaWVudCkKLSAgICAgICAg
ICAgIHByZWxvYWRFbnRyeShzdWJyZXNvdXJjZS5rZXksIGZyYW1lSUQpOwotICAgICAgICBlbHNl
CisgICAgICAgICAgICBwcmVsb2FkRW50cnkoa2V5LCBmcmFtZUlEKTsKKyAgICAgICAgZWxzZSB7
CiAgICAgICAgICAgICBMT0coTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVQcmVsb2FkaW5nLCAiKE5l
dHdvcmtQcm9jZXNzKSBOb3QgcHJlbG9hZGluZyAnJXMnIGJlY2F1c2UgaXQgaXMgbWFya2VkIGFz
IHRyYW5zaWVudCIsIHN1YnJlc291cmNlLmtleS5pZGVudGlmaWVyKCkudXRmOCgpLmRhdGEoKSk7
CisgICAgICAgICAgICBtX25vdFByZWxvYWRlZEVudHJpZXMuYWRkKGtleSwgc3RkOjptYWtlX3Vu
aXF1ZTxFeHBpcmluZ0VudHJ5PihbdGhpcywga2V5LCBmcmFtZUlEXSB7CisgICAgICAgICAgICAg
ICAgbG9nU3BlY3VsYXRpdmVMb2FkaW5nRGlhZ25vc3RpY01lc3NhZ2UoZnJhbWVJRCwgRGlhZ25v
c3RpY0xvZ2dpbmdLZXlzOjplbnRyeVJpZ2h0bHlOb3RXYXJtZWRVcEtleSgpKTsKKyAgICAgICAg
ICAgICAgICBtX25vdFByZWxvYWRlZEVudHJpZXMucmVtb3ZlKGtleSk7CisgICAgICAgICAgICB9
KSk7CisgICAgICAgIH0KICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuaCBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0
aXZlTG9hZE1hbmFnZXIuaAppbmRleCAyMWNlNWMwNzAxZTMwMmQ0NWYzOGQzOTMxM2ZlNGFiMTYx
MWVlZWQ5Li40YzFkZTcyMDBlMGQxYWNlNjg4MGNkNDNlMjQzNjZhZTA3ZjljMjIxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVj
dWxhdGl2ZUxvYWRNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlU3BlY3VsYXRpdmVMb2FkTWFuYWdlci5oCkBAIC01MCwxMCArNTAs
MTEgQEAgcHVibGljOgogICAgIHZvaWQgcmVnaXN0ZXJMb2FkKGNvbnN0IEdsb2JhbEZyYW1lSUQm
LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBLZXkmIHJlc291cmNlS2V5
KTsKIAogICAgIHR5cGVkZWYgc3RkOjpmdW5jdGlvbjx2b2lkIChzdGQ6OnVuaXF1ZV9wdHI8RW50
cnk+KT4gUmV0cmlldmVDb21wbGV0aW9uSGFuZGxlcjsKLSAgICBib29sIHJldHJpZXZlKGNvbnN0
IEtleSYgc3RvcmFnZUtleSwgY29uc3QgUmV0cmlldmVDb21wbGV0aW9uSGFuZGxlciYpOworICAg
IGJvb2wgcmV0cmlldmUoY29uc3QgR2xvYmFsRnJhbWVJRCYsIGNvbnN0IEtleSYgc3RvcmFnZUtl
eSwgY29uc3QgUmV0cmlldmVDb21wbGV0aW9uSGFuZGxlciYpOwogCiBwcml2YXRlOgotICAgIHZv
aWQgYWRkUHJlbG9hZGVkRW50cnkoc3RkOjp1bmlxdWVfcHRyPEVudHJ5Pik7CisgICAgZW51bSBj
bGFzcyBXYXNSZXZhbGlkYXRlZCB7IE5vLCBZZXMgfTsKKyAgICB2b2lkIGFkZFByZWxvYWRlZEVu
dHJ5KHN0ZDo6dW5pcXVlX3B0cjxFbnRyeT4sIGNvbnN0IEdsb2JhbEZyYW1lSUQmLCBXYXNSZXZh
bGlkYXRlZCk7CiAgICAgdm9pZCBwcmVsb2FkRW50cnkoY29uc3QgS2V5JiwgY29uc3QgR2xvYmFs
RnJhbWVJRCYpOwogICAgIHZvaWQgcmV0cmlldmVFbnRyeUZyb21TdG9yYWdlKGNvbnN0IEtleSYs
IGNvbnN0IFJldHJpZXZlQ29tcGxldGlvbkhhbmRsZXImKTsKICAgICB2b2lkIHJldmFsaWRhdGVF
bnRyeShzdGQ6OnVuaXF1ZV9wdHI8RW50cnk+LCBjb25zdCBHbG9iYWxGcmFtZUlEJik7CkBAIC03
MSw2ICs3Miw5IEBAIHByaXZhdGU6CiAKICAgICBjbGFzcyBQcmVsb2FkZWRFbnRyeTsKICAgICBI
YXNoTWFwPEtleSwgc3RkOjp1bmlxdWVfcHRyPFByZWxvYWRlZEVudHJ5Pj4gbV9wcmVsb2FkZWRF
bnRyaWVzOworCisgICAgY2xhc3MgRXhwaXJpbmdFbnRyeTsKKyAgICBIYXNoTWFwPEtleSwgc3Rk
Ojp1bmlxdWVfcHRyPEV4cGlyaW5nRW50cnk+PiBtX25vdFByZWxvYWRlZEVudHJpZXM7IC8vIEZv
ciBsb2dnaW5nLgogfTsKIAogfSAvLyBuYW1lc3BhY2UgTmV0d29ya0NhY2hlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>