<?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>150985</bug_id>
          
          <creation_ts>2015-11-06 16:42:27 -0800</creation_ts>
          <short_desc>Modern IDB: Make the result data for a &quot;get&quot; request be an IDBGetResult</short_desc>
          <delta_ts>2015-11-06 17:13:41 -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>WebCore Misc.</component>
          <version>Safari 9</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>149117</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jsbell</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1140105</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-11-06 16:42:27 -0800</bug_when>
    <thetext>Modern IDB: Make the result data for a &quot;get&quot; request be an IDBGetResult

This is to better support the various types of object store and index gets in an upcoming patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140108</commentid>
    <comment_count>1</comment_count>
      <attachid>264979</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-11-06 16:45:21 -0800</bug_when>
    <thetext>Created attachment 264979
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140112</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-06 16:55:24 -0800</bug_when>
    <thetext>Attachment 264979 did not pass style-queue:


ERROR: Source/WebCore/Modules/indexeddb/shared/IDBResultData.h:73:  The parameter name &quot;getResult&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 18 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140117</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-11-06 17:13:41 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/192123</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264979</attachid>
            <date>2015-11-06 16:45:21 -0800</date>
            <delta_ts>2015-11-06 16:53:34 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>29405</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkZDQ1Nzg0Li44MmZkYWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTYg
QEAKKzIwMTUtMTEtMDYgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIE1vZGVybiBJREI6IE1ha2UgdGhlIHJlc3VsdCBkYXRhIGZvciBhICJnZXQiIHJlcXVlc3Qg
YmUgYW4gSURCR2V0UmVzdWx0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTUwOTg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChSZWZhY3Rvciwgbm8gY2hhbmdlIGluIGJlaGF2aW9y
KS4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkdldFJlc3VsdC5oOgorICAgICAg
ICAoV2ViQ29yZTo6SURCR2V0UmVzdWx0OjpJREJHZXRSZXN1bHQpOgorICAgICAgICAoV2ViQ29y
ZTo6SURCR2V0UmVzdWx0OjpkYXRhRnJvbUJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpJREJH
ZXRSZXN1bHQ6Omlzb2xhdGVkQ29weSk6CisgICAgICAgIAorICAgICAgICAqIE1vZHVsZXMvaW5k
ZXhlZGRiL2NsaWVudC9JREJUcmFuc2FjdGlvbkltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SURCQ2xpZW50OjpJREJUcmFuc2FjdGlvbjo6ZGlkR2V0UmVjb3JkT25TZXJ2ZXIpOgorICAgICAg
ICAKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9sZWdhY3kvSURCVHJhbnNhY3Rpb25CYWNr
ZW5kT3BlcmF0aW9ucy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHZXRPcGVyYXRpb246OnBlcmZv
cm0pOgorICAgICAgICAKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQmFj
a2luZ1N0b3JlLmg6CisgICAgICAgIAorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZl
ci9NZW1vcnlJREJCYWNraW5nU3RvcmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVy
OjpNZW1vcnlJREJCYWNraW5nU3RvcmU6OmdldEluZGV4UmVjb3JkKToKKyAgICAgICAgKiBNb2R1
bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvTWVtb3J5SURCQmFja2luZ1N0b3JlLmg6CisgICAgICAgIAor
ICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9NZW1vcnlJbmRleC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6Ok1lbW9yeUluZGV4Ojp2YWx1ZUZvcktleVJhbmdlKToK
KyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvTWVtb3J5SW5kZXguaDoKKyAgICAg
ICAgCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL01lbW9yeU9iamVjdFN0b3Jl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6TWVtb3J5T2JqZWN0U3RvcmU6Omlu
ZGV4VmFsdWVGb3JLZXlSYW5nZSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVy
L01lbW9yeU9iamVjdFN0b3JlLmg6CisgICAgICAgIAorICAgICAgICAqIE1vZHVsZXMvaW5kZXhl
ZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJT
ZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlOjpzdG9yZUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OklEQlNlcnZlcjo6VW5pcXVlSURCRGF0YWJhc2U6OmdldFJlY29yZCk6CisgICAgICAgIChX
ZWJDb3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlEQkRhdGFiYXNlOjpwZXJmb3JtR2V0SW5kZXhSZWNv
cmQpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFzZTo6ZGlk
UGVyZm9ybUdldFJlY29yZCk6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OlVuaXF1ZUlE
QkRhdGFiYXNlOjpwZXJmb3JtR2V0UmVzdWx0Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6
SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFzZTo6cGVyZm9ybVZhbHVlRGF0YUNhbGxiYWNrKTog
RGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0
YWJhc2UuaDoKKyAgICAgICAgCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1Vu
aXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2Vy
dmVyOjpVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpnZXRSZWNvcmQpOgorICAgICAgICAK
KyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVzdWx0RGF0YS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJREJSZXN1bHREYXRhOjpJREJSZXN1bHREYXRhKToKKyAgICAgICAg
KFdlYkNvcmU6OklEQlJlc3VsdERhdGE6OmdldFJlY29yZFN1Y2Nlc3MpOgorICAgICAgICAoV2Vi
Q29yZTo6SURCUmVzdWx0RGF0YTo6Z2V0UmVzdWx0KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4
ZWRkYi9zaGFyZWQvSURCUmVzdWx0RGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6SURCUmVzdWx0
RGF0YTo6cmVzdWx0RGF0YSk6IERlbGV0ZWQuCisKIDIwMTUtMTEtMDUgIEJyYWR5IEVpZHNvbiAg
PGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIE1vZGVybiBJREI6IEltcGxlbWVudCBJREJJ
bmRleCBnZXQvZ2V0S2V5L2NvdW50IHJlcXVlc3RzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCR2V0UmVzdWx0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJHZXRSZXN1bHQuaAppbmRleCBlYzBjNzJiLi5mM2JlZjM3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJHZXRSZXN1bHQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJHZXRSZXN1bHQuaApAQCAt
MzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIklEQktleURhdGEuaCIKICNpbmNsdWRlICJJREJLZXlQ
YXRoLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCisjaW5jbHVkZSAiVGhyZWFkU2FmZURh
dGFCdWZmZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MSw2ICs0MiwxMiBAQCBz
dHJ1Y3QgSURCR2V0UmVzdWx0IHsKICAgICB9CiAKICAgICBJREJHZXRSZXN1bHQoUGFzc1JlZlB0
cjxTaGFyZWRCdWZmZXI+IGJ1ZmZlcikKKyAgICB7CisgICAgICAgIGlmIChidWZmZXIpCisgICAg
ICAgICAgICBkYXRhRnJvbUJ1ZmZlcigqYnVmZmVyKTsKKyAgICB9CisKKyAgICBJREJHZXRSZXN1
bHQoY29uc3QgVGhyZWFkU2FmZURhdGFCdWZmZXImIGJ1ZmZlcikKICAgICAgICAgOiB2YWx1ZUJ1
ZmZlcihidWZmZXIpCiAgICAgewogICAgIH0KQEAgLTU2LDI0ICs2MywzMSBAQCBzdHJ1Y3QgSURC
R2V0UmVzdWx0IHsKICAgICB9CiAKICAgICBJREJHZXRSZXN1bHQoUGFzc1JlZlB0cjxTaGFyZWRC
dWZmZXI+IGJ1ZmZlciwgUGFzc1JlZlB0cjxJREJLZXk+IGtleSwgY29uc3QgSURCS2V5UGF0aCYg
cGF0aCkKLSAgICAgICAgOiB2YWx1ZUJ1ZmZlcihidWZmZXIpCi0gICAgICAgICwga2V5RGF0YShr
ZXkuZ2V0KCkpCisgICAgICAgIDoga2V5RGF0YShrZXkuZ2V0KCkpCiAgICAgICAgICwga2V5UGF0
aChwYXRoKQogICAgIHsKKyAgICAgICAgaWYgKGJ1ZmZlcikKKyAgICAgICAgICAgIGRhdGFGcm9t
QnVmZmVyKCpidWZmZXIpOworICAgIH0KKworICAgIHZvaWQgZGF0YUZyb21CdWZmZXIoU2hhcmVk
QnVmZmVyJiBidWZmZXIpCisgICAgeworICAgICAgICBWZWN0b3I8dWludDhfdD4gZGF0YShidWZm
ZXIuc2l6ZSgpKTsKKyAgICAgICAgbWVtY3B5KGRhdGEuZGF0YSgpLCBidWZmZXIuZGF0YSgpLCBi
dWZmZXIuc2l6ZSgpKTsKKworICAgICAgICB2YWx1ZUJ1ZmZlciA9IFRocmVhZFNhZmVEYXRhQnVm
ZmVyOjphZG9wdFZlY3RvcihkYXRhKTsKICAgICB9CiAKICAgICBJREJHZXRSZXN1bHQgaXNvbGF0
ZWRDb3B5KCkgY29uc3QKICAgICB7CiAgICAgICAgIElEQkdldFJlc3VsdCByZXN1bHQ7Ci0gICAg
ICAgIGlmICh2YWx1ZUJ1ZmZlcikKLSAgICAgICAgICAgIHJlc3VsdC52YWx1ZUJ1ZmZlciA9IHZh
bHVlQnVmZmVyLT5jb3B5KCk7Ci0KKyAgICAgICAgcmVzdWx0LnZhbHVlQnVmZmVyID0gdmFsdWVC
dWZmZXI7CiAgICAgICAgIHJlc3VsdC5rZXlEYXRhID0ga2V5RGF0YS5pc29sYXRlZENvcHkoKTsK
ICAgICAgICAgcmVzdWx0LmtleVBhdGggPSBrZXlQYXRoLmlzb2xhdGVkQ29weSgpOwogICAgICAg
ICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAotICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IHZhbHVl
QnVmZmVyOworICAgIFRocmVhZFNhZmVEYXRhQnVmZmVyIHZhbHVlQnVmZmVyOwogICAgIElEQktl
eURhdGEga2V5RGF0YTsKICAgICBJREJLZXlQYXRoIGtleVBhdGg7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlRyYW5zYWN0aW9uSW1w
bC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCVHJhbnNh
Y3Rpb25JbXBsLmNwcAppbmRleCBmYjgwMWEyLi5jZWYxMDU1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCVHJhbnNhY3Rpb25JbXBsLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCVHJhbnNhY3Rp
b25JbXBsLmNwcApAQCAtNDkwLDggKzQ5MCw4IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OmRpZEdl
dFJlY29yZE9uU2VydmVyKElEQlJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IElEQlJlc3VsdERhCiAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgIHJlcXVlc3Quc2V0UmVzdWx0VG9VbmRlZmluZWQoKTsK
ICAgICB9IGVsc2UgewotICAgICAgICBpZiAocmVzdWx0RGF0YS5yZXN1bHREYXRhKCkuZGF0YSgp
KQotICAgICAgICAgICAgcmVxdWVzdC5zZXRSZXN1bHRUb1N0cnVjdHVyZWRDbG9uZShyZXN1bHRE
YXRhLnJlc3VsdERhdGEoKSk7CisgICAgICAgIGlmIChyZXN1bHREYXRhLmdldFJlc3VsdCgpLnZh
bHVlQnVmZmVyLmRhdGEoKSkKKyAgICAgICAgICAgIHJlcXVlc3Quc2V0UmVzdWx0VG9TdHJ1Y3R1
cmVkQ2xvbmUocmVzdWx0RGF0YS5nZXRSZXN1bHQoKS52YWx1ZUJ1ZmZlcik7CiAgICAgICAgIGVs
c2UKICAgICAgICAgICAgIHJlcXVlc3Quc2V0UmVzdWx0VG9VbmRlZmluZWQoKTsKICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZWdhY3kvSURCVHJh
bnNhY3Rpb25CYWNrZW5kT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9sZWdhY3kvSURCVHJhbnNhY3Rpb25CYWNrZW5kT3BlcmF0aW9ucy5jcHAKaW5kZXgg
YjBmNmUxMC4uMDc3N2Q3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvbGVnYWN5L0lEQlRyYW5zYWN0aW9uQmFja2VuZE9wZXJhdGlvbnMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2xlZ2FjeS9JREJUcmFuc2FjdGlvbkJhY2tl
bmRPcGVyYXRpb25zLmNwcApAQCAtMTAwLDE2ICsxMDAsMTcgQEAgdm9pZCBHZXRPcGVyYXRpb246
OnBlcmZvcm0oc3RkOjpmdW5jdGlvbjx2b2lkKCk+IGNvbXBsZXRpb25DYWxsYmFjaykKICAgICAg
ICAgaWYgKGVycm9yKQogICAgICAgICAgICAgbV9jYWxsYmFja3MtPm9uRXJyb3IoZXJyb3IpOwog
ICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIGlmICghcmVzdWx0LnZhbHVlQnVmZmVyKSB7Cisg
ICAgICAgICAgICBpZiAoIXJlc3VsdC52YWx1ZUJ1ZmZlci5kYXRhKCkpIHsKICAgICAgICAgICAg
ICAgICBpZiAocmVzdWx0LmtleURhdGEuaXNOdWxsKCkpCiAgICAgICAgICAgICAgICAgICAgIG1f
Y2FsbGJhY2tzLT5vblN1Y2Nlc3MoKTsKICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAg
ICAgICAgICAgIG1fY2FsbGJhY2tzLT5vblN1Y2Nlc3MocmVzdWx0LmtleURhdGEubWF5YmVDcmVh
dGVJREJLZXkoKSk7CiAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGF1dG8g
dmFsdWVCdWZmZXIgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZShyZXN1bHQudmFsdWVCdWZmZXIuZGF0
YSgpLT5kYXRhKCksIHJlc3VsdC52YWx1ZUJ1ZmZlci5kYXRhKCktPnNpemUoKSk7CiAgICAgICAg
ICAgICAgICAgaWYgKCFyZXN1bHQua2V5RGF0YS5pc051bGwoKSkKLSAgICAgICAgICAgICAgICAg
ICAgbV9jYWxsYmFja3MtPm9uU3VjY2VzcyhyZXN1bHQudmFsdWVCdWZmZXIsIHJlc3VsdC5rZXlE
YXRhLm1heWJlQ3JlYXRlSURCS2V5KCksIHJlc3VsdC5rZXlQYXRoKTsKKyAgICAgICAgICAgICAg
ICAgICAgbV9jYWxsYmFja3MtPm9uU3VjY2Vzcyh2YWx1ZUJ1ZmZlciwgcmVzdWx0LmtleURhdGEu
bWF5YmVDcmVhdGVJREJLZXkoKSwgcmVzdWx0LmtleVBhdGgpOwogICAgICAgICAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgICAgICAgICAgbV9jYWxsYmFja3MtPm9uU3VjY2VzcyhyZXN1bHQudmFs
dWVCdWZmZXIuZ2V0KCkpOworICAgICAgICAgICAgICAgICAgICBtX2NhbGxiYWNrcy0+b25TdWNj
ZXNzKHZhbHVlQnVmZmVyKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQmFja2luZ1N0b3Jl
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQmFja2luZ1N0
b3JlLmgKaW5kZXggN2E4YzI0ZC4uZTZiYTY2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQkJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJCYWNraW5nU3RvcmUuaApAQCAtNDAs
NiArNDAsNyBAQCBjbGFzcyBJREJSZXNvdXJjZUlkZW50aWZpZXI7CiBjbGFzcyBJREJUcmFuc2Fj
dGlvbkluZm87CiBjbGFzcyBUaHJlYWRTYWZlRGF0YUJ1ZmZlcjsKIAorc3RydWN0IElEQkdldFJl
c3VsdDsKIHN0cnVjdCBJREJLZXlSYW5nZURhdGE7CiAKIG5hbWVzcGFjZSBJbmRleGVkREIgewpA
QCAtNjYsNyArNjcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBJREJFcnJvciBkZWxldGVSYW5n
ZShjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgdWlu
dDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBjb25zdCBJREJLZXlSYW5nZURhdGEmKSA9IDA7
CiAgICAgdmlydHVhbCBJREJFcnJvciBwdXRSZWNvcmQoY29uc3QgSURCUmVzb3VyY2VJZGVudGlm
aWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmll
ciwgY29uc3QgSURCS2V5RGF0YSYsIGNvbnN0IFRocmVhZFNhZmVEYXRhQnVmZmVyJiB2YWx1ZSkg
PSAwOwogICAgIHZpcnR1YWwgSURCRXJyb3IgZ2V0UmVjb3JkKGNvbnN0IElEQlJlc291cmNlSWRl
bnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCB1aW50NjRfdCBvYmplY3RTdG9yZUlkZW50
aWZpZXIsIGNvbnN0IElEQktleVJhbmdlRGF0YSYsIFRocmVhZFNhZmVEYXRhQnVmZmVyJiBvdXRW
YWx1ZSkgPSAwOwotICAgIHZpcnR1YWwgSURCRXJyb3IgZ2V0SW5kZXhSZWNvcmQoY29uc3QgSURC
UmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIsIHVpbnQ2NF90IG9iamVj
dFN0b3JlSWRlbnRpZmllciwgdWludDY0X3QgaW5kZXhJZGVudGlmaWVyLCBJbmRleGVkREI6Oklu
ZGV4UmVjb3JkVHlwZSwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJiwgVGhyZWFkU2FmZURhdGFCdWZm
ZXImIG91dFZhbHVlKSA9IDA7CisgICAgdmlydHVhbCBJREJFcnJvciBnZXRJbmRleFJlY29yZChj
b25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgdWludDY0
X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCB1aW50NjRfdCBpbmRleElkZW50aWZpZXIsIEluZGV4
ZWREQjo6SW5kZXhSZWNvcmRUeXBlLCBjb25zdCBJREJLZXlSYW5nZURhdGEmLCBJREJHZXRSZXN1
bHQmIG91dFZhbHVlKSA9IDA7CiAgICAgdmlydHVhbCBJREJFcnJvciBnZXRDb3VudChjb25zdCBJ
REJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgdWludDY0X3Qgb2Jq
ZWN0U3RvcmVJZGVudGlmaWVyLCB1aW50NjRfdCBpbmRleElkZW50aWZpZXIsIGNvbnN0IElEQktl
eVJhbmdlRGF0YSYsIHVpbnQ2NF90JiBvdXRDb3VudCkgPSAwOwogICAgIHZpcnR1YWwgSURCRXJy
b3IgZ2VuZXJhdGVLZXlOdW1iZXIoY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2Fj
dGlvbklkZW50aWZpZXIsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmllciwgdWludDY0X3Qm
IGtleU51bWJlcikgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9zZXJ2ZXIvTWVtb3J5SURCQmFja2luZ1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9NZW1vcnlJREJCYWNraW5nU3RvcmUuY3BwCmluZGV4
IDBmZWRiODkuLjM3ODQzZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL3NlcnZlci9NZW1vcnlJREJCYWNraW5nU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9NZW1vcnlJREJCYWNraW5nU3RvcmUuY3BwCkBA
IC0yNzksNyArMjc5LDcgQEAgSURCRXJyb3IgTWVtb3J5SURCQmFja2luZ1N0b3JlOjpnZXRSZWNv
cmQoY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2FjdGkKICAgICByZXR1cm4gSURC
RXJyb3IoKTsKIH0KIAotSURCRXJyb3IgTWVtb3J5SURCQmFja2luZ1N0b3JlOjpnZXRJbmRleFJl
Y29yZChjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwg
dWludDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCB1aW50NjRfdCBpbmRleElkZW50aWZpZXIs
IEluZGV4ZWREQjo6SW5kZXhSZWNvcmRUeXBlIHJlY29yZFR5cGUsIGNvbnN0IElEQktleVJhbmdl
RGF0YSYgcmFuZ2UsIFRocmVhZFNhZmVEYXRhQnVmZmVyJiBvdXRWYWx1ZSkKK0lEQkVycm9yIE1l
bW9yeUlEQkJhY2tpbmdTdG9yZTo6Z2V0SW5kZXhSZWNvcmQoY29uc3QgSURCUmVzb3VyY2VJZGVu
dGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRp
ZmllciwgdWludDY0X3QgaW5kZXhJZGVudGlmaWVyLCBJbmRleGVkREI6OkluZGV4UmVjb3JkVHlw
ZSByZWNvcmRUeXBlLCBjb25zdCBJREJLZXlSYW5nZURhdGEmIHJhbmdlLCBJREJHZXRSZXN1bHQm
IG91dFZhbHVlKQogewogICAgIExPRyhJbmRleGVkREIsICJNZW1vcnlJREJCYWNraW5nU3RvcmU6
OmdldEluZGV4UmVjb3JkIik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NlcnZlci9NZW1vcnlJREJCYWNraW5nU3RvcmUuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9NZW1vcnlJREJCYWNraW5nU3RvcmUuaAppbmRleCBk
ODUwNGZhLi4xYjNkNmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9zZXJ2ZXIvTWVtb3J5SURCQmFja2luZ1N0b3JlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL01lbW9yeUlEQkJhY2tpbmdTdG9yZS5oCkBAIC02MCw3
ICs2MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIElEQkVycm9yIGRlbGV0ZVJhbmdlKGNvbnN0
IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCB1aW50NjRfdCBv
YmplY3RTdG9yZUlkZW50aWZpZXIsIGNvbnN0IElEQktleVJhbmdlRGF0YSYpIG92ZXJyaWRlIGZp
bmFsOwogICAgIHZpcnR1YWwgSURCRXJyb3IgcHV0UmVjb3JkKGNvbnN0IElEQlJlc291cmNlSWRl
bnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCB1aW50NjRfdCBvYmplY3RTdG9yZUlkZW50
aWZpZXIsIGNvbnN0IElEQktleURhdGEmLCBjb25zdCBUaHJlYWRTYWZlRGF0YUJ1ZmZlciYgdmFs
dWUpIG92ZXJyaWRlIGZpbmFsOwogICAgIHZpcnR1YWwgSURCRXJyb3IgZ2V0UmVjb3JkKGNvbnN0
IElEQlJlc291cmNlSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCB1aW50NjRfdCBv
YmplY3RTdG9yZUlkZW50aWZpZXIsIGNvbnN0IElEQktleVJhbmdlRGF0YSYsIFRocmVhZFNhZmVE
YXRhQnVmZmVyJiBvdXRWYWx1ZSkgb3ZlcnJpZGUgZmluYWw7Ci0gICAgdmlydHVhbCBJREJFcnJv
ciBnZXRJbmRleFJlY29yZChjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5zYWN0aW9u
SWRlbnRpZmllciwgdWludDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCB1aW50NjRfdCBpbmRl
eElkZW50aWZpZXIsIEluZGV4ZWREQjo6SW5kZXhSZWNvcmRUeXBlLCBjb25zdCBJREJLZXlSYW5n
ZURhdGEmLCBUaHJlYWRTYWZlRGF0YUJ1ZmZlciYgb3V0VmFsdWUpIG92ZXJyaWRlIGZpbmFsOwor
ICAgIHZpcnR1YWwgSURCRXJyb3IgZ2V0SW5kZXhSZWNvcmQoY29uc3QgSURCUmVzb3VyY2VJZGVu
dGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRp
ZmllciwgdWludDY0X3QgaW5kZXhJZGVudGlmaWVyLCBJbmRleGVkREI6OkluZGV4UmVjb3JkVHlw
ZSwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJiwgSURCR2V0UmVzdWx0JiBvdXRWYWx1ZSkgb3ZlcnJp
ZGUgZmluYWw7CiAgICAgdmlydHVhbCBJREJFcnJvciBnZXRDb3VudChjb25zdCBJREJSZXNvdXJj
ZUlkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgdWludDY0X3Qgb2JqZWN0U3RvcmVJ
ZGVudGlmaWVyLCB1aW50NjRfdCBpbmRleElkZW50aWZpZXIsIGNvbnN0IElEQktleVJhbmdlRGF0
YSYsIHVpbnQ2NF90JiBvdXRDb3VudCkgb3ZlcnJpZGUgZmluYWw7CiAgICAgdmlydHVhbCBJREJF
cnJvciBnZW5lcmF0ZUtleU51bWJlcihjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImIHRyYW5z
YWN0aW9uSWRlbnRpZmllciwgdWludDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCB1aW50NjRf
dCYga2V5TnVtYmVyKSBvdmVycmlkZSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL01lbW9yeUluZGV4LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9NZW1vcnlJbmRleC5jcHAKaW5kZXggMjVmYjI2
NS4uODVjZWUwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
c2VydmVyL01lbW9yeUluZGV4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9zZXJ2ZXIvTWVtb3J5SW5kZXguY3BwCkBAIC0yOCw3ICsyOCw3IEBACiAKICNpZiBFTkFC
TEUoSU5ERVhFRF9EQVRBQkFTRSkKIAotI2luY2x1ZGUgIlRocmVhZFNhZmVEYXRhQnVmZmVyLmgi
CisjaW5jbHVkZSAiSURCR2V0UmVzdWx0LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVz
cGFjZSBJREJTZXJ2ZXIgewpAQCAtNDcsNyArNDcsNyBAQCBNZW1vcnlJbmRleDo6fk1lbW9yeUlu
ZGV4KCkKIHsKIH0KIAotVGhyZWFkU2FmZURhdGFCdWZmZXIgTWVtb3J5SW5kZXg6OnZhbHVlRm9y
S2V5UmFuZ2UoSW5kZXhlZERCOjpJbmRleFJlY29yZFR5cGUsIGNvbnN0IElEQktleVJhbmdlRGF0
YSYpIGNvbnN0CitJREJHZXRSZXN1bHQgTWVtb3J5SW5kZXg6OnZhbHVlRm9yS2V5UmFuZ2UoSW5k
ZXhlZERCOjpJbmRleFJlY29yZFR5cGUsIGNvbnN0IElEQktleVJhbmdlRGF0YSYpIGNvbnN0CiB7
CiAgICAgLy8gRklYTUU6IE9uY2UgaW5kZXhlcyBhY3R1YWxseSBpbmRleCwgd2UnbGwgcmV0dXJu
IHNvbWV0aGluZyByZWFsLgogICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTA5MzkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NlcnZlci9NZW1vcnlJbmRleC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvc2VydmVyL01lbW9yeUluZGV4LmgKaW5kZXggZDlmZGRiMS4uNWNhMGQ5NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL01lbW9yeUluZGV4LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL01lbW9yeUluZGV4
LmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogCisj
aW5jbHVkZSAiSURCR2V0UmVzdWx0LmgiCiAjaW5jbHVkZSAiSURCSW5kZXhJbmZvLmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUxLDcgKzUyLDcgQEAgcHVibGljOgogCiAgICAgY29uc3Qg
SURCSW5kZXhJbmZvJiBpbmZvKCkgY29uc3QgeyByZXR1cm4gbV9pbmZvOyB9CiAKLSAgICBUaHJl
YWRTYWZlRGF0YUJ1ZmZlciB2YWx1ZUZvcktleVJhbmdlKEluZGV4ZWREQjo6SW5kZXhSZWNvcmRU
eXBlLCBjb25zdCBJREJLZXlSYW5nZURhdGEmKSBjb25zdDsKKyAgICBJREJHZXRSZXN1bHQgdmFs
dWVGb3JLZXlSYW5nZShJbmRleGVkREI6OkluZGV4UmVjb3JkVHlwZSwgY29uc3QgSURCS2V5UmFu
Z2VEYXRhJikgY29uc3Q7CiAgICAgdWludDY0X3QgY291bnRGb3JLZXlSYW5nZShjb25zdCBJREJL
ZXlSYW5nZURhdGEmKTsKICAgICAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvTWVtb3J5T2JqZWN0U3RvcmUuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL01lbW9yeU9iamVjdFN0b3JlLmNwcApp
bmRleCA3NDE5YmFmLi5jZTlmYzk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9zZXJ2ZXIvTWVtb3J5T2JqZWN0U3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9NZW1vcnlPYmplY3RTdG9yZS5jcHAKQEAgLTIx
NSw3ICsyMTUsNyBAQCBUaHJlYWRTYWZlRGF0YUJ1ZmZlciBNZW1vcnlPYmplY3RTdG9yZTo6dmFs
dWVGb3JLZXlSYW5nZShjb25zdCBJREJLZXlSYW5nZURhdGEmCiAgICAgcmV0dXJuIG1fa2V5VmFs
dWVTdG9yZS0+Z2V0KGtleSk7CiB9CiAKLVRocmVhZFNhZmVEYXRhQnVmZmVyIE1lbW9yeU9iamVj
dFN0b3JlOjppbmRleFZhbHVlRm9yS2V5UmFuZ2UodWludDY0X3QgaW5kZXhJZGVudGlmaWVyLCBJ
bmRleGVkREI6OkluZGV4UmVjb3JkVHlwZSByZWNvcmRUeXBlLCBjb25zdCBJREJLZXlSYW5nZURh
dGEmIHJhbmdlKSBjb25zdAorSURCR2V0UmVzdWx0IE1lbW9yeU9iamVjdFN0b3JlOjppbmRleFZh
bHVlRm9yS2V5UmFuZ2UodWludDY0X3QgaW5kZXhJZGVudGlmaWVyLCBJbmRleGVkREI6OkluZGV4
UmVjb3JkVHlwZSByZWNvcmRUeXBlLCBjb25zdCBJREJLZXlSYW5nZURhdGEmIHJhbmdlKSBjb25z
dAogewogICAgIExPRyhJbmRleGVkREIsICJNZW1vcnlPYmplY3RTdG9yZTo6aW5kZXhWYWx1ZUZv
cktleVJhbmdlIik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NlcnZlci9NZW1vcnlPYmplY3RTdG9yZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvc2VydmVyL01lbW9yeU9iamVjdFN0b3JlLmgKaW5kZXggZjkwNDljMC4uNTM4OTA5
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL01l
bW9yeU9iamVjdFN0b3JlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
c2VydmVyL01lbW9yeU9iamVjdFN0b3JlLmgKQEAgLTc4LDcgKzc4LDcgQEAgcHVibGljOgogICAg
IHZvaWQgcmVwbGFjZUtleVZhbHVlU3RvcmUoc3RkOjp1bmlxdWVfcHRyPEtleVZhbHVlTWFwPiYm
KTsKIAogICAgIFRocmVhZFNhZmVEYXRhQnVmZmVyIHZhbHVlRm9yS2V5UmFuZ2UoY29uc3QgSURC
S2V5UmFuZ2VEYXRhJikgY29uc3Q7Ci0gICAgVGhyZWFkU2FmZURhdGFCdWZmZXIgaW5kZXhWYWx1
ZUZvcktleVJhbmdlKHVpbnQ2NF90IGluZGV4SWRlbnRpZmllciwgSW5kZXhlZERCOjpJbmRleFJl
Y29yZFR5cGUsIGNvbnN0IElEQktleVJhbmdlRGF0YSYpIGNvbnN0OworICAgIElEQkdldFJlc3Vs
dCBpbmRleFZhbHVlRm9yS2V5UmFuZ2UodWludDY0X3QgaW5kZXhJZGVudGlmaWVyLCBJbmRleGVk
REI6OkluZGV4UmVjb3JkVHlwZSwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJikgY29uc3Q7CiAgICAg
dWludDY0X3QgY291bnRGb3JLZXlSYW5nZSh1aW50NjRfdCBpbmRleElkZW50aWZpZXIsIGNvbnN0
IElEQktleVJhbmdlRGF0YSYpIGNvbnN0OwogCiAgICAgY29uc3QgSURCT2JqZWN0U3RvcmVJbmZv
JiBpbmZvKCkgY29uc3QgeyByZXR1cm4gbV9pbmZvOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNlLmNw
cAppbmRleCBiZWNiYTI4Li5hMjI0MDZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5jcHAKQEAg
LTE0OSwxMSArMTQ5LDExIEBAIHVpbnQ2NF90IFVuaXF1ZUlEQkRhdGFiYXNlOjpzdG9yZUNhbGxi
YWNrKEtleURhdGFDYWxsYmFjayBjYWxsYmFjaykKICAgICByZXR1cm4gaWRlbnRpZmllcjsKIH0K
IAotdWludDY0X3QgVW5pcXVlSURCRGF0YWJhc2U6OnN0b3JlQ2FsbGJhY2soVmFsdWVEYXRhQ2Fs
bGJhY2sgY2FsbGJhY2spCit1aW50NjRfdCBVbmlxdWVJREJEYXRhYmFzZTo6c3RvcmVDYWxsYmFj
ayhHZXRSZXN1bHRDYWxsYmFjayBjYWxsYmFjaykKIHsKICAgICB1aW50NjRfdCBpZGVudGlmaWVy
ID0gZ2VuZXJhdGVVbmlxdWVDYWxsYmFja0lkZW50aWZpZXIoKTsKLSAgICBBU1NFUlQoIW1fdmFs
dWVEYXRhQ2FsbGJhY2tzLmNvbnRhaW5zKGlkZW50aWZpZXIpKTsKLSAgICBtX3ZhbHVlRGF0YUNh
bGxiYWNrcy5hZGQoaWRlbnRpZmllciwgY2FsbGJhY2spOworICAgIEFTU0VSVCghbV9nZXRSZXN1
bHRDYWxsYmFja3MuY29udGFpbnMoaWRlbnRpZmllcikpOworICAgIG1fZ2V0UmVzdWx0Q2FsbGJh
Y2tzLmFkZChpZGVudGlmaWVyLCBjYWxsYmFjayk7CiAgICAgcmV0dXJuIGlkZW50aWZpZXI7CiB9
CiAKQEAgLTQ0Nyw3ICs0NDcsNyBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjpkaWRQZXJmb3Jt
UHV0T3JBZGQodWludDY0X3QgY2FsbGJhY2tJZGVudGlmaWVyLCBjb25zdCBJRAogICAgIHBlcmZv
cm1LZXlEYXRhQ2FsbGJhY2soY2FsbGJhY2tJZGVudGlmaWVyLCBlcnJvciwgcmVzdWx0S2V5KTsK
IH0KIAotdm9pZCBVbmlxdWVJREJEYXRhYmFzZTo6Z2V0UmVjb3JkKGNvbnN0IElEQlJlcXVlc3RE
YXRhJiByZXF1ZXN0RGF0YSwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJiByYW5nZSwgVmFsdWVEYXRh
Q2FsbGJhY2sgY2FsbGJhY2spCit2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjpnZXRSZWNvcmQoY29u
c3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLCBjb25zdCBJREJLZXlSYW5nZURhdGEmIHJh
bmdlLCBHZXRSZXN1bHRDYWxsYmFjayBjYWxsYmFjaykKIHsKICAgICBBU1NFUlQoaXNNYWluVGhy
ZWFkKCkpOwogICAgIExPRyhJbmRleGVkREIsICIobWFpbikgVW5pcXVlSURCRGF0YWJhc2U6Omdl
dFJlY29yZCIpOwpAQCAtNDgwLDE4ICs0ODAsMTggQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZTo6
cGVyZm9ybUdldEluZGV4UmVjb3JkKHVpbnQ2NF90IGNhbGxiYWNrSWRlbnRpZmllciwgY29uc3QK
IAogICAgIEFTU0VSVChtX2JhY2tpbmdTdG9yZSk7CiAKLSAgICBUaHJlYWRTYWZlRGF0YUJ1ZmZl
ciB2YWx1ZURhdGE7Ci0gICAgSURCRXJyb3IgZXJyb3IgPSBtX2JhY2tpbmdTdG9yZS0+Z2V0SW5k
ZXhSZWNvcmQodHJhbnNhY3Rpb25JZGVudGlmaWVyLCBvYmplY3RTdG9yZUlkZW50aWZpZXIsIGlu
ZGV4SWRlbnRpZmllciwgcmVjb3JkVHlwZSwgcmFuZ2UsIHZhbHVlRGF0YSk7CisgICAgSURCR2V0
UmVzdWx0IHJlc3VsdDsKKyAgICBJREJFcnJvciBlcnJvciA9IG1fYmFja2luZ1N0b3JlLT5nZXRJ
bmRleFJlY29yZCh0cmFuc2FjdGlvbklkZW50aWZpZXIsIG9iamVjdFN0b3JlSWRlbnRpZmllciwg
aW5kZXhJZGVudGlmaWVyLCByZWNvcmRUeXBlLCByYW5nZSwgcmVzdWx0KTsKIAotICAgIG1fc2Vy
dmVyLnBvc3REYXRhYmFzZVRhc2tSZXBseShjcmVhdGVDcm9zc1RocmVhZFRhc2soKnRoaXMsICZV
bmlxdWVJREJEYXRhYmFzZTo6ZGlkUGVyZm9ybUdldFJlY29yZCwgY2FsbGJhY2tJZGVudGlmaWVy
LCBlcnJvciwgdmFsdWVEYXRhKSk7CisgICAgbV9zZXJ2ZXIucG9zdERhdGFiYXNlVGFza1JlcGx5
KGNyZWF0ZUNyb3NzVGhyZWFkVGFzaygqdGhpcywgJlVuaXF1ZUlEQkRhdGFiYXNlOjpkaWRQZXJm
b3JtR2V0UmVjb3JkLCBjYWxsYmFja0lkZW50aWZpZXIsIGVycm9yLCByZXN1bHQpKTsKIH0KIAot
dm9pZCBVbmlxdWVJREJEYXRhYmFzZTo6ZGlkUGVyZm9ybUdldFJlY29yZCh1aW50NjRfdCBjYWxs
YmFja0lkZW50aWZpZXIsIGNvbnN0IElEQkVycm9yJiBlcnJvciwgY29uc3QgVGhyZWFkU2FmZURh
dGFCdWZmZXImIHJlc3VsdERhdGEpCit2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjpkaWRQZXJmb3Jt
R2V0UmVjb3JkKHVpbnQ2NF90IGNhbGxiYWNrSWRlbnRpZmllciwgY29uc3QgSURCRXJyb3ImIGVy
cm9yLCBjb25zdCBJREJHZXRSZXN1bHQmIHJlc3VsdCkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhy
ZWFkKCkpOwogICAgIExPRyhJbmRleGVkREIsICIobWFpbikgVW5pcXVlSURCRGF0YWJhc2U6OmRp
ZFBlcmZvcm1HZXRSZWNvcmQiKTsKIAotICAgIHBlcmZvcm1WYWx1ZURhdGFDYWxsYmFjayhjYWxs
YmFja0lkZW50aWZpZXIsIGVycm9yLCByZXN1bHREYXRhKTsKKyAgICBwZXJmb3JtR2V0UmVzdWx0
Q2FsbGJhY2soY2FsbGJhY2tJZGVudGlmaWVyLCBlcnJvciwgcmVzdWx0KTsKIH0KIAogdm9pZCBV
bmlxdWVJREJEYXRhYmFzZTo6Z2V0Q291bnQoY29uc3QgSURCUmVxdWVzdERhdGEmIHJlcXVlc3RE
YXRhLCBjb25zdCBJREJLZXlSYW5nZURhdGEmIHJhbmdlLCBDb3VudENhbGxiYWNrIGNhbGxiYWNr
KQpAQCAtODE1LDkgKzgxNSw5IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2U6OnBlcmZvcm1LZXlE
YXRhQ2FsbGJhY2sodWludDY0X3QgY2FsbGJhY2tJZGVudGlmaWVyLCBjb25zCiAgICAgY2FsbGJh
Y2soZXJyb3IsIHJlc3VsdEtleSk7CiB9CiAKLXZvaWQgVW5pcXVlSURCRGF0YWJhc2U6OnBlcmZv
cm1WYWx1ZURhdGFDYWxsYmFjayh1aW50NjRfdCBjYWxsYmFja0lkZW50aWZpZXIsIGNvbnN0IElE
QkVycm9yJiBlcnJvciwgY29uc3QgVGhyZWFkU2FmZURhdGFCdWZmZXImIHJlc3VsdERhdGEpCit2
b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjpwZXJmb3JtR2V0UmVzdWx0Q2FsbGJhY2sodWludDY0X3Qg
Y2FsbGJhY2tJZGVudGlmaWVyLCBjb25zdCBJREJFcnJvciYgZXJyb3IsIGNvbnN0IElEQkdldFJl
c3VsdCYgcmVzdWx0RGF0YSkKIHsKLSAgICBhdXRvIGNhbGxiYWNrID0gbV92YWx1ZURhdGFDYWxs
YmFja3MudGFrZShjYWxsYmFja0lkZW50aWZpZXIpOworICAgIGF1dG8gY2FsbGJhY2sgPSBtX2dl
dFJlc3VsdENhbGxiYWNrcy50YWtlKGNhbGxiYWNrSWRlbnRpZmllcik7CiAgICAgQVNTRVJUKGNh
bGxiYWNrKTsKICAgICBjYWxsYmFjayhlcnJvciwgcmVzdWx0RGF0YSk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJh
c2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJE
YXRhYmFzZS5oCmluZGV4IDRmNzI5OGQuLjcyN2IzNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFzZS5o
CkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiSURCQmFja2luZ1N0b3JlLmgiCiAjaW5jbHVk
ZSAiSURCRGF0YWJhc2VJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiSURCRGF0YWJhc2VJbmZvLmgi
CisjaW5jbHVkZSAiSURCR2V0UmVzdWx0LmgiCiAjaW5jbHVkZSAiSURCU2VydmVyT3BlcmF0aW9u
LmgiCiAjaW5jbHVkZSAiVGhyZWFkU2FmZURhdGFCdWZmZXIuaCIKICNpbmNsdWRlICJUaW1lci5o
IgpAQCAtNTksNyArNjAsNyBAQCBjbGFzcyBJREJTZXJ2ZXI7CiAKIHR5cGVkZWYgc3RkOjpmdW5j
dGlvbjx2b2lkKGNvbnN0IElEQkVycm9yJik+IEVycm9yQ2FsbGJhY2s7CiB0eXBlZGVmIHN0ZDo6
ZnVuY3Rpb248dm9pZChjb25zdCBJREJFcnJvciYsIGNvbnN0IElEQktleURhdGEmKT4gS2V5RGF0
YUNhbGxiYWNrOwotdHlwZWRlZiBzdGQ6OmZ1bmN0aW9uPHZvaWQoY29uc3QgSURCRXJyb3ImLCBj
b25zdCBUaHJlYWRTYWZlRGF0YUJ1ZmZlciYpPiBWYWx1ZURhdGFDYWxsYmFjazsKK3R5cGVkZWYg
c3RkOjpmdW5jdGlvbjx2b2lkKGNvbnN0IElEQkVycm9yJiwgY29uc3QgSURCR2V0UmVzdWx0Jik+
IEdldFJlc3VsdENhbGxiYWNrOwogdHlwZWRlZiBzdGQ6OmZ1bmN0aW9uPHZvaWQoY29uc3QgSURC
RXJyb3ImLCB1aW50NjRfdCk+IENvdW50Q2FsbGJhY2s7CiAKIGNsYXNzIFVuaXF1ZUlEQkRhdGFi
YXNlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFVuaXF1ZUlEQkRhdGFiYXNlPiB7CkBA
IC03OSw3ICs4MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNsZWFyT2JqZWN0U3RvcmUoVW5pcXVl
SURCRGF0YWJhc2VUcmFuc2FjdGlvbiYsIHVpbnQ2NF90IG9iamVjdFN0b3JlSWRlbnRpZmllciwg
RXJyb3JDYWxsYmFjayk7CiAgICAgdm9pZCBjcmVhdGVJbmRleChVbmlxdWVJREJEYXRhYmFzZVRy
YW5zYWN0aW9uJiwgY29uc3QgSURCSW5kZXhJbmZvJiwgRXJyb3JDYWxsYmFjayk7CiAgICAgdm9p
ZCBwdXRPckFkZChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQktleURhdGEmLCBjb25z
dCBUaHJlYWRTYWZlRGF0YUJ1ZmZlciYgdmFsdWVEYXRhLCBJbmRleGVkREI6Ok9iamVjdFN0b3Jl
T3ZlcndyaXRlTW9kZSwgS2V5RGF0YUNhbGxiYWNrKTsKLSAgICB2b2lkIGdldFJlY29yZChjb25z
dCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElEQktleVJhbmdlRGF0YSYsIFZhbHVlRGF0YUNhbGxi
YWNrKTsKKyAgICB2b2lkIGdldFJlY29yZChjb25zdCBJREJSZXF1ZXN0RGF0YSYsIGNvbnN0IElE
QktleVJhbmdlRGF0YSYsIEdldFJlc3VsdENhbGxiYWNrKTsKICAgICB2b2lkIGdldENvdW50KGNv
bnN0IElEQlJlcXVlc3REYXRhJiwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJiwgQ291bnRDYWxsYmFj
ayk7CiAgICAgdm9pZCBkZWxldGVSZWNvcmQoY29uc3QgSURCUmVxdWVzdERhdGEmLCBjb25zdCBJ
REJLZXlSYW5nZURhdGEmLCBFcnJvckNhbGxiYWNrKTsKICAgICB2b2lkIGNvbW1pdFRyYW5zYWN0
aW9uKFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24mLCBFcnJvckNhbGxiYWNrKTsKQEAgLTEy
NSw3ICsxMjYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkUGVyZm9ybUNsZWFyT2JqZWN0U3Rv
cmUodWludDY0X3QgY2FsbGJhY2tJZGVudGlmaWVyLCBjb25zdCBJREJFcnJvciYpOwogICAgIHZv
aWQgZGlkUGVyZm9ybUNyZWF0ZUluZGV4KHVpbnQ2NF90IGNhbGxiYWNrSWRlbnRpZmllciwgY29u
c3QgSURCRXJyb3ImLCBjb25zdCBJREJJbmRleEluZm8mKTsKICAgICB2b2lkIGRpZFBlcmZvcm1Q
dXRPckFkZCh1aW50NjRfdCBjYWxsYmFja0lkZW50aWZpZXIsIGNvbnN0IElEQkVycm9yJiwgY29u
c3QgSURCS2V5RGF0YSYpOwotICAgIHZvaWQgZGlkUGVyZm9ybUdldFJlY29yZCh1aW50NjRfdCBj
YWxsYmFja0lkZW50aWZpZXIsIGNvbnN0IElEQkVycm9yJiwgY29uc3QgVGhyZWFkU2FmZURhdGFC
dWZmZXImKTsKKyAgICB2b2lkIGRpZFBlcmZvcm1HZXRSZWNvcmQodWludDY0X3QgY2FsbGJhY2tJ
ZGVudGlmaWVyLCBjb25zdCBJREJFcnJvciYsIGNvbnN0IElEQkdldFJlc3VsdCYpOwogICAgIHZv
aWQgZGlkUGVyZm9ybUdldENvdW50KHVpbnQ2NF90IGNhbGxiYWNrSWRlbnRpZmllciwgY29uc3Qg
SURCRXJyb3ImLCB1aW50NjRfdCk7CiAgICAgdm9pZCBkaWRQZXJmb3JtRGVsZXRlUmVjb3JkKHVp
bnQ2NF90IGNhbGxiYWNrSWRlbnRpZmllciwgY29uc3QgSURCRXJyb3ImKTsKICAgICB2b2lkIGRp
ZFBlcmZvcm1Db21taXRUcmFuc2FjdGlvbih1aW50NjRfdCBjYWxsYmFja0lkZW50aWZpZXIsIGNv
bnN0IElEQkVycm9yJiwgY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklk
ZW50aWZpZXIpOwpAQCAtMTM0LDEyICsxMzUsMTIgQEAgcHJpdmF0ZToKIAogICAgIHVpbnQ2NF90
IHN0b3JlQ2FsbGJhY2soRXJyb3JDYWxsYmFjayk7CiAgICAgdWludDY0X3Qgc3RvcmVDYWxsYmFj
ayhLZXlEYXRhQ2FsbGJhY2spOwotICAgIHVpbnQ2NF90IHN0b3JlQ2FsbGJhY2soVmFsdWVEYXRh
Q2FsbGJhY2spOworICAgIHVpbnQ2NF90IHN0b3JlQ2FsbGJhY2soR2V0UmVzdWx0Q2FsbGJhY2sp
OwogICAgIHVpbnQ2NF90IHN0b3JlQ2FsbGJhY2soQ291bnRDYWxsYmFjayk7CiAKICAgICB2b2lk
IHBlcmZvcm1FcnJvckNhbGxiYWNrKHVpbnQ2NF90IGNhbGxiYWNrSWRlbnRpZmllciwgY29uc3Qg
SURCRXJyb3ImKTsKICAgICB2b2lkIHBlcmZvcm1LZXlEYXRhQ2FsbGJhY2sodWludDY0X3QgY2Fs
bGJhY2tJZGVudGlmaWVyLCBjb25zdCBJREJFcnJvciYsIGNvbnN0IElEQktleURhdGEmKTsKLSAg
ICB2b2lkIHBlcmZvcm1WYWx1ZURhdGFDYWxsYmFjayh1aW50NjRfdCBjYWxsYmFja0lkZW50aWZp
ZXIsIGNvbnN0IElEQkVycm9yJiwgY29uc3QgVGhyZWFkU2FmZURhdGFCdWZmZXImKTsKKyAgICB2
b2lkIHBlcmZvcm1HZXRSZXN1bHRDYWxsYmFjayh1aW50NjRfdCBjYWxsYmFja0lkZW50aWZpZXIs
IGNvbnN0IElEQkVycm9yJiwgY29uc3QgSURCR2V0UmVzdWx0Jik7CiAgICAgdm9pZCBwZXJmb3Jt
Q291bnRDYWxsYmFjayh1aW50NjRfdCBjYWxsYmFja0lkZW50aWZpZXIsIGNvbnN0IElEQkVycm9y
JiwgdWludDY0X3QpOwogCiAgICAgdm9pZCBpbnZva2VUcmFuc2FjdGlvblNjaGVkdWxlcigpOwpA
QCAtMTYzLDcgKzE2NCw3IEBAIHByaXZhdGU6CiAKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBFcnJv
ckNhbGxiYWNrPiBtX2Vycm9yQ2FsbGJhY2tzOwogICAgIEhhc2hNYXA8dWludDY0X3QsIEtleURh
dGFDYWxsYmFjaz4gbV9rZXlEYXRhQ2FsbGJhY2tzOwotICAgIEhhc2hNYXA8dWludDY0X3QsIFZh
bHVlRGF0YUNhbGxiYWNrPiBtX3ZhbHVlRGF0YUNhbGxiYWNrczsKKyAgICBIYXNoTWFwPHVpbnQ2
NF90LCBHZXRSZXN1bHRDYWxsYmFjaz4gbV9nZXRSZXN1bHRDYWxsYmFja3M7CiAgICAgSGFzaE1h
cDx1aW50NjRfdCwgQ291bnRDYWxsYmFjaz4gbV9jb3VudENhbGxiYWNrczsKIAogICAgIFRpbWVy
IG1fdHJhbnNhY3Rpb25TY2hlZHVsaW5nVGltZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0
YWJhc2VUcmFuc2FjdGlvbi5jcHAKaW5kZXggZmM5YWUyZi4uZmQ0M2IxZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1ZUlEQkRhdGFiYXNl
VHJhbnNhY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3Nl
cnZlci9VbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uLmNwcApAQCAtMTg4LDExICsxODgsMTEg
QEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uOjpnZXRSZWNvcmQoY29uc3QgSURC
UmVxdWVzdERhdGEmIHJlcXVlc3REYXRhLAogICAgIEFTU0VSVChtX3RyYW5zYWN0aW9uSW5mby5p
ZGVudGlmaWVyKCkgPT0gcmVxdWVzdERhdGEudHJhbnNhY3Rpb25JZGVudGlmaWVyKCkpOwogCiAg
ICAgUmVmUHRyPFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24+IHNlbGYodGhpcyk7Ci0gICAg
bV9kYXRhYmFzZUNvbm5lY3Rpb24tPmRhdGFiYXNlKCkuZ2V0UmVjb3JkKHJlcXVlc3REYXRhLCBr
ZXlSYW5nZURhdGEsIFt0aGlzLCBzZWxmLCByZXF1ZXN0RGF0YV0oY29uc3QgSURCRXJyb3ImIGVy
cm9yLCBjb25zdCBUaHJlYWRTYWZlRGF0YUJ1ZmZlciYgdmFsdWVEYXRhKSB7CisgICAgbV9kYXRh
YmFzZUNvbm5lY3Rpb24tPmRhdGFiYXNlKCkuZ2V0UmVjb3JkKHJlcXVlc3REYXRhLCBrZXlSYW5n
ZURhdGEsIFt0aGlzLCBzZWxmLCByZXF1ZXN0RGF0YV0oY29uc3QgSURCRXJyb3ImIGVycm9yLCBj
b25zdCBJREJHZXRSZXN1bHQmIHJlc3VsdCkgewogICAgICAgICBMT0coSW5kZXhlZERCLCAiVW5p
cXVlSURCRGF0YWJhc2VUcmFuc2FjdGlvbjo6Z2V0UmVjb3JkIChjYWxsYmFjaykiKTsKIAogICAg
ICAgICBpZiAoZXJyb3IuaXNOdWxsKCkpCi0gICAgICAgICAgICBtX2RhdGFiYXNlQ29ubmVjdGlv
bi0+Y29ubmVjdGlvblRvQ2xpZW50KCkuZGlkR2V0UmVjb3JkKElEQlJlc3VsdERhdGE6OmdldFJl
Y29yZFN1Y2Nlc3MocmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSwgdmFsdWVEYXRhKSk7
CisgICAgICAgICAgICBtX2RhdGFiYXNlQ29ubmVjdGlvbi0+Y29ubmVjdGlvblRvQ2xpZW50KCku
ZGlkR2V0UmVjb3JkKElEQlJlc3VsdERhdGE6OmdldFJlY29yZFN1Y2Nlc3MocmVxdWVzdERhdGEu
cmVxdWVzdElkZW50aWZpZXIoKSwgcmVzdWx0KSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAg
IG1fZGF0YWJhc2VDb25uZWN0aW9uLT5jb25uZWN0aW9uVG9DbGllbnQoKS5kaWRHZXRSZWNvcmQo
SURCUmVzdWx0RGF0YTo6ZXJyb3IocmVxdWVzdERhdGEucmVxdWVzdElkZW50aWZpZXIoKSwgZXJy
b3IpKTsKICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NoYXJlZC9JREJSZXN1bHREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL3NoYXJlZC9JREJSZXN1bHREYXRhLmNwcAppbmRleCBkNzE4N2Q4Li4zN2RhNzMzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVz
dWx0RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVk
L0lEQlJlc3VsdERhdGEuY3BwCkBAIC01MSw3ICs1MSw2IEBAIElEQlJlc3VsdERhdGE6OklEQlJl
c3VsdERhdGEoY29uc3QgSURCUmVzdWx0RGF0YSYgb3RoZXIpCiAgICAgLCBtX2Vycm9yKG90aGVy
Lm1fZXJyb3IpCiAgICAgLCBtX2RhdGFiYXNlQ29ubmVjdGlvbklkZW50aWZpZXIob3RoZXIubV9k
YXRhYmFzZUNvbm5lY3Rpb25JZGVudGlmaWVyKQogICAgICwgbV9yZXN1bHRJbnRlZ2VyKG90aGVy
Lm1fcmVzdWx0SW50ZWdlcikKLSAgICAsIG1fcmVzdWx0RGF0YShvdGhlci5tX3Jlc3VsdERhdGEp
CiB7CiAgICAgaWYgKG90aGVyLm1fZGF0YWJhc2VJbmZvKQogICAgICAgICBtX2RhdGFiYXNlSW5m
byA9IHN0ZDo6bWFrZV91bmlxdWU8SURCRGF0YWJhc2VJbmZvPigqb3RoZXIubV9kYXRhYmFzZUlu
Zm8pOwpAQCAtNTksNiArNTgsOCBAQCBJREJSZXN1bHREYXRhOjpJREJSZXN1bHREYXRhKGNvbnN0
IElEQlJlc3VsdERhdGEmIG90aGVyKQogICAgICAgICBtX3RyYW5zYWN0aW9uSW5mbyA9IHN0ZDo6
bWFrZV91bmlxdWU8SURCVHJhbnNhY3Rpb25JbmZvPigqb3RoZXIubV90cmFuc2FjdGlvbkluZm8p
OwogICAgIGlmIChvdGhlci5tX3Jlc3VsdEtleSkKICAgICAgICAgbV9yZXN1bHRLZXkgPSBzdGQ6
Om1ha2VfdW5pcXVlPElEQktleURhdGE+KCpvdGhlci5tX3Jlc3VsdEtleSk7CisgICAgaWYgKG90
aGVyLm1fZ2V0UmVzdWx0KQorICAgICAgICBtX2dldFJlc3VsdCA9IHN0ZDo6bWFrZV91bmlxdWU8
SURCR2V0UmVzdWx0Pigqb3RoZXIubV9nZXRSZXN1bHQpOwogfQogCiBJREJSZXN1bHREYXRhIElE
QlJlc3VsdERhdGE6OmVycm9yKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYgcmVxdWVzdElk
ZW50aWZpZXIsIGNvbnN0IElEQkVycm9yJiBlcnJvcikKQEAgLTExNiwxMCArMTE3LDEwIEBAIElE
QlJlc3VsdERhdGEgSURCUmVzdWx0RGF0YTo6cHV0T3JBZGRTdWNjZXNzKGNvbnN0IElEQlJlc291
cmNlSWRlbnRpZmllciYgcmVxdWVzCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotSURCUmVzdWx0
RGF0YSBJREJSZXN1bHREYXRhOjpnZXRSZWNvcmRTdWNjZXNzKGNvbnN0IElEQlJlc291cmNlSWRl
bnRpZmllciYgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFRocmVhZFNhZmVEYXRhQnVmZmVyJiB2
YWx1ZURhdGEpCitJREJSZXN1bHREYXRhIElEQlJlc3VsdERhdGE6OmdldFJlY29yZFN1Y2Nlc3Mo
Y29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiByZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgSURC
R2V0UmVzdWx0JiBnZXRSZXN1bHQpCiB7CiAgICAgSURCUmVzdWx0RGF0YSByZXN1bHQoSURCUmVz
dWx0VHlwZTo6R2V0UmVjb3JkU3VjY2VzcywgcmVxdWVzdElkZW50aWZpZXIpOwotICAgIHJlc3Vs
dC5tX3Jlc3VsdERhdGEgPSB2YWx1ZURhdGE7CisgICAgcmVzdWx0Lm1fZ2V0UmVzdWx0ID0gc3Rk
OjptYWtlX3VuaXF1ZTxJREJHZXRSZXN1bHQ+KGdldFJlc3VsdCk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIApAQCAtMTQ3LDYgKzE0OCwxMiBAQCBjb25zdCBJREJUcmFuc2FjdGlvbkluZm8mIElE
QlJlc3VsdERhdGE6OnRyYW5zYWN0aW9uSW5mbygpIGNvbnN0CiAgICAgcmV0dXJuICptX3RyYW5z
YWN0aW9uSW5mbzsKIH0KIAorY29uc3QgSURCR2V0UmVzdWx0JiBJREJSZXN1bHREYXRhOjpnZXRS
ZXN1bHQoKSBjb25zdAoreworICAgIFJFTEVBU0VfQVNTRVJUKG1fZ2V0UmVzdWx0KTsKKyAgICBy
ZXR1cm4gKm1fZ2V0UmVzdWx0OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRp
ZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXN1bHREYXRhLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVzdWx0RGF0YS5oCmluZGV4IDY5NTZhZWMu
LjQ2ZjU3YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3No
YXJlZC9JREJSZXN1bHREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvc2hhcmVkL0lEQlJlc3VsdERhdGEuaApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAi
SURCRGF0YWJhc2VJbmZvLmgiCiAjaW5jbHVkZSAiSURCRXJyb3IuaCIKKyNpbmNsdWRlICJJREJH
ZXRSZXN1bHQuaCIKICNpbmNsdWRlICJJREJLZXlEYXRhLmgiCiAjaW5jbHVkZSAiSURCUmVzb3Vy
Y2VJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiSURCVHJhbnNhY3Rpb25JbmZvLmgiCkBAIC02OSw3
ICs3MCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgSURCUmVzdWx0RGF0YSBjbGVhck9iamVjdFN0
b3JlU3VjY2Vzcyhjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImKTsKICAgICBzdGF0aWMgSURC
UmVzdWx0RGF0YSBjcmVhdGVJbmRleFN1Y2Nlc3MoY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVy
Jik7CiAgICAgc3RhdGljIElEQlJlc3VsdERhdGEgcHV0T3JBZGRTdWNjZXNzKGNvbnN0IElEQlJl
c291cmNlSWRlbnRpZmllciYsIGNvbnN0IElEQktleURhdGEmKTsKLSAgICBzdGF0aWMgSURCUmVz
dWx0RGF0YSBnZXRSZWNvcmRTdWNjZXNzKGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYsIGNv
bnN0IFRocmVhZFNhZmVEYXRhQnVmZmVyJiB2YWx1ZURhdGEpOworICAgIHN0YXRpYyBJREJSZXN1
bHREYXRhIGdldFJlY29yZFN1Y2Nlc3MoY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJiwgY29u
c3QgSURCR2V0UmVzdWx0JiBnZXRSZXN1bHQpOwogICAgIHN0YXRpYyBJREJSZXN1bHREYXRhIGdl
dENvdW50U3VjY2Vzcyhjb25zdCBJREJSZXNvdXJjZUlkZW50aWZpZXImLCB1aW50NjRfdCBjb3Vu
dCk7CiAgICAgc3RhdGljIElEQlJlc3VsdERhdGEgZGVsZXRlUmVjb3JkU3VjY2Vzcyhjb25zdCBJ
REJSZXNvdXJjZUlkZW50aWZpZXImKTsKIApAQCAtODUsOSArODYsMTAgQEAgcHVibGljOgogICAg
IGNvbnN0IElEQlRyYW5zYWN0aW9uSW5mbyYgdHJhbnNhY3Rpb25JbmZvKCkgY29uc3Q7CiAKICAg
ICBjb25zdCBJREJLZXlEYXRhKiByZXN1bHRLZXkoKSBjb25zdCB7IHJldHVybiBtX3Jlc3VsdEtl
eS5nZXQoKTsgfQotICAgIGNvbnN0IFRocmVhZFNhZmVEYXRhQnVmZmVyJiByZXN1bHREYXRhKCkg
Y29uc3QgeyByZXR1cm4gbV9yZXN1bHREYXRhOyB9CiAgICAgdWludDY0X3QgcmVzdWx0SW50ZWdl
cigpIGNvbnN0IHsgcmV0dXJuIG1fcmVzdWx0SW50ZWdlcjsgfQogCisgICAgY29uc3QgSURCR2V0
UmVzdWx0JiBnZXRSZXN1bHQoKSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBJREJSZXN1bHREYXRh
KGNvbnN0IElEQlJlc291cmNlSWRlbnRpZmllciYpOwogICAgIElEQlJlc3VsdERhdGEoSURCUmVz
dWx0VHlwZSwgY29uc3QgSURCUmVzb3VyY2VJZGVudGlmaWVyJik7CkBAIC0xMDAsOCArMTAyLDgg
QEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SURCRGF0YWJhc2VJbmZvPiBtX2RhdGFi
YXNlSW5mbzsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SURCVHJhbnNhY3Rpb25JbmZvPiBtX3RyYW5z
YWN0aW9uSW5mbzsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SURCS2V5RGF0YT4gbV9yZXN1bHRLZXk7
CisgICAgc3RkOjp1bmlxdWVfcHRyPElEQkdldFJlc3VsdD4gbV9nZXRSZXN1bHQ7CiAgICAgdWlu
dDY0X3QgbV9yZXN1bHRJbnRlZ2VyIHsgMCB9OwotICAgIFRocmVhZFNhZmVEYXRhQnVmZmVyIG1f
cmVzdWx0RGF0YTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA1
NmI2ZmRlLi5mNWMyMjRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMTEtMDYg
IEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIE1vZGVybiBJREI6
IE1ha2UgdGhlIHJlc3VsdCBkYXRhIGZvciBhICJnZXQiIHJlcXVlc3QgYmUgYW4gSURCR2V0UmVz
dWx0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUw
OTg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBT
aGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAgKElQQzo6QXJndW1lbnRD
b2RlcjxJREJHZXRSZXN1bHQ+OjplbmNvZGUpOgorICAgICAgICAoSVBDOjpBcmd1bWVudENvZGVy
PElEQkdldFJlc3VsdD46OmRlY29kZSk6CisKIDIwMTUtMTEtMDUgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbV0syXSBDbGVhbiB1cCAvIE1vZGVybml6ZSBOZXR3
b3JrUmVzb3VyY2VMb2FkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5jcHAKaW5kZXggZjBlMjYzNi4uYmVmY2U0MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKQEAgLTE4MjcsMTEgKzE4Mjcs
MTEgQEAgYm9vbCBBcmd1bWVudENvZGVyPEZpbHRlck9wZXJhdGlvbnM+OjpkZWNvZGUoQXJndW1l
bnREZWNvZGVyJiBkZWNvZGVyLCBGaWx0ZXJPcGUKIAogdm9pZCBBcmd1bWVudENvZGVyPElEQkdl
dFJlc3VsdD46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IElEQkdldFJl
c3VsdCYgcmVzdWx0KQogewotICAgIGJvb2wgbnVsbERhdGEgPSAhcmVzdWx0LnZhbHVlQnVmZmVy
OworICAgIGJvb2wgbnVsbERhdGEgPSAhcmVzdWx0LnZhbHVlQnVmZmVyLmRhdGEoKTsKICAgICBl
bmNvZGVyIDw8IG51bGxEYXRhOwogCiAgICAgaWYgKCFudWxsRGF0YSkKLSAgICAgICAgZW5jb2Rl
ciA8PCBEYXRhUmVmZXJlbmNlKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KHJlc3Vs
dC52YWx1ZUJ1ZmZlci0+ZGF0YSgpKSwgcmVzdWx0LnZhbHVlQnVmZmVyLT5zaXplKCkpOworICAg
ICAgICBlbmNvZGVyIDw8IERhdGFSZWZlcmVuY2UocmVzdWx0LnZhbHVlQnVmZmVyLmRhdGEoKS0+
ZGF0YSgpLCByZXN1bHQudmFsdWVCdWZmZXIuZGF0YSgpLT5zaXplKCkpOwogCiAgICAgZW5jb2Rl
ciA8PCByZXN1bHQua2V5RGF0YSA8PCByZXN1bHQua2V5UGF0aDsKIH0KQEAgLTE4NDMsMTMgKzE4
NDMsMTUgQEAgYm9vbCBBcmd1bWVudENvZGVyPElEQkdldFJlc3VsdD46OmRlY29kZShBcmd1bWVu
dERlY29kZXImIGRlY29kZXIsIElEQkdldFJlc3VsdCYKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CiAgICAgaWYgKG51bGxEYXRhKQotICAgICAgICByZXN1bHQudmFsdWVCdWZmZXIgPSBudWxscHRy
OworICAgICAgICByZXN1bHQudmFsdWVCdWZmZXIgPSB7IH07CiAgICAgZWxzZSB7CiAgICAgICAg
IERhdGFSZWZlcmVuY2UgZGF0YTsKICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShkYXRhKSkK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICByZXN1bHQudmFsdWVCdWZmZXIg
PSBTaGFyZWRCdWZmZXI6OmNyZWF0ZShkYXRhLmRhdGEoKSwgZGF0YS5zaXplKCkpOworICAgICAg
ICBWZWN0b3I8dWludDhfdD4gdmVjdG9yKGRhdGEuc2l6ZSgpKTsKKyAgICAgICAgbWVtY3B5KHZl
Y3Rvci5kYXRhKCksIGRhdGEuZGF0YSgpLCBkYXRhLnNpemUoKSk7CisgICAgICAgIHJlc3VsdC52
YWx1ZUJ1ZmZlciA9IFRocmVhZFNhZmVEYXRhQnVmZmVyOjphZG9wdFZlY3Rvcih2ZWN0b3IpOwog
ICAgIH0KIAogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmtleURhdGEpKQo=
</data>
<flag name="review"
          id="290082"
          type_id="1"
          status="+"
          setter="achristensen"
    />
          </attachment>
      

    </bug>

</bugzilla>