<?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>157372</bug_id>
          
          <creation_ts>2016-05-05 07:10:18 -0700</creation_ts>
          <short_desc>Add support for delete by value to the DFG</short_desc>
          <delta_ts>2016-05-05 10:29:27 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1190354</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-05-05 07:10:18 -0700</bug_when>
    <thetext>Add support for delete by value to the DFG</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1190356</commentid>
    <comment_count>1</comment_count>
      <attachid>278163</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-05-05 07:44:28 -0700</bug_when>
    <thetext>Created attachment 278163
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1190358</commentid>
    <comment_count>2</comment_count>
      <attachid>278164</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-05-05 07:54:51 -0700</bug_when>
    <thetext>Created attachment 278164
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1190359</commentid>
    <comment_count>3</comment_count>
      <attachid>278165</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-05-05 08:18:10 -0700</bug_when>
    <thetext>Created attachment 278165
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1190379</commentid>
    <comment_count>4</comment_count>
      <attachid>278165</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-05 10:29:23 -0700</bug_when>
    <thetext>Comment on attachment 278165
Patch

Clearing flags on attachment: 278165

Committed r200459: &lt;http://trac.webkit.org/changeset/200459&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1190380</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-05 10:29:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278163</attachid>
            <date>2016-05-05 07:44:28 -0700</date>
            <delta_ts>2016-05-05 07:54:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157372-20160505094508.patch</filename>
            <type>text/plain</type>
            <size>19464</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwNDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
NDFmZGI3ZTBhNGU2OWNlN2JjNjIyMWMxNzMxNjg2MmM3YWZiYzE3Li5jY2EzYjVmMjMzMjg0Yzc4
NjhhYzMzNmYxNjdjYTY1ZGI2NWJiMzgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NCBAQAorMjAxNi0wNS0wNSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgZGVsZXRlIGJ5IHZhbHVlIHRvIHRoZSBE
RkcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzM3
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMg
cGF0Y2ggYWRkcyBiYXNpYyBzdXBwb3J0IGZvciBkZWxldGUgYnkgdmFsdWUgdG8gdGhlIERGRy4g
ZGVsZXRlIGJ5IHZhbHVlCisgICAgICAgIGp1c3QgY2FsbHMgb3V0IHRvIGEgQysrIG9wZXJhdGlv
biBvbiBlYWNoIGV4ZWN1dGlvbi4gQWRkaXRpb25hbGx5LCB0aGlzIHBhdGNoCisgICAgICAgIGZp
eGVzIGFuIGlzc3VlIHdpdGggZGVsZXRlIGJ5IGlkIHdoZXJlIHdlIHdvdWxkIGNyYXNoIGlmIHRo
ZSBiYXNlIHdhcyBudWxsCisgICAgICAgIG9yIHVuZGVmaW5lZC4KKworICAgICAgICAqIGRmZy9E
RkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpERkc6OkFic3Ry
YWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyk6CisgICAg
ICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpCeXRl
Q29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0NhcGFiaWxpdGllcy5j
cHA6CisgICAgICAgIChKU0M6OkRGRzo6Y2FwYWJpbGl0eUxldmVsKToKKyAgICAgICAgKiBkZmcv
REZHQ2xvYmJlcml6ZS5oOgorICAgICAgICAoSlNDOjpERkc6OmNsb2JiZXJpemUpOgorICAgICAg
ICAqIGRmZy9ERkdEb2VzR0MuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmRvZXNHQyk6CisgICAg
ICAgICogZGZnL0RGR0ZpeHVwUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVwUGhh
c2U6OmZpeHVwTm9kZSk6CisgICAgICAgICogZGZnL0RGR05vZGVUeXBlLmg6CisgICAgICAgICog
ZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcDoKKyAgICAgICAgKiBkZmcvREZH
U2FmZVRvRXhlY3V0ZS5oOgorICAgICAgICAoSlNDOjpERkc6OnNhZmVUb0V4ZWN1dGUpOgorICAg
ICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGVEZWxldGVCeUlkKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZURlbGV0ZUJ5VmFsKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3Vs
YXRpdmVKSVQuaDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y2FsbE9wZXJh
dGlvbik6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAg
ICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZH
U3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGUpOgorICAgICAgICAqIGppdC9KSVQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnBy
aXZhdGVDb21waWxlTWFpblBhc3MpOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAgICAgKiBq
aXQvSklUT3BlcmF0aW9ucy5jcHA6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuaDoKKyAg
ICAgICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVt
aXRfb3BfZGVsX2J5X3ZhbCk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2RlbGV0ZS1ieS12YWwu
anM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKHRlc3QpOgorICAgICAgICAq
IHRlc3RzL3N0cmVzcy9kZWxldGUtdG8tb2JqZWN0LWV4Y2VwdGlvbi5qczogQWRkZWQuCisgICAg
ICAgIChhc3NlcnQpOgorICAgICAgICAodGVzdCk6CisKIDIwMTYtMDUtMDUgIEpvc2VwaCBQZWNv
cmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBDcmVhdGUgY29uc29sZSBvYmpl
Y3QgbGF6aWx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3Ry
YWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fi
c3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXggZDc5Y2RhYmM3NDUyNjIyYjkzYzM4OTNk
NWI2YjA2ZTk2MTljMTYzZS4uNGI3Mzg4ODEzNjY2ZTUwNjA2MTNlNTZlMTIxOTZiODVlYjIxMGJj
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVy
cHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJh
Y3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtMjE5MSw3ICsyMTkxLDggQEAgYm9vbCBBYnN0cmFj
dEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHModW5zaWduZWQg
Y2xvYmJlckxpbWkKICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAgY2FzZSBEZWxldGVCeUlk
OiB7CisgICAgY2FzZSBEZWxldGVCeUlkOgorICAgIGNhc2UgRGVsZXRlQnlWYWw6IHsKICAgICAg
ICAgLy8gRklYTUU6IFRoaXMgY291bGQgZGVjaWRlIGlmIHRoZSBkZWxldGUgd2lsbCBiZSBzdWNj
ZXNzZnVsIGJhc2VkIG9uIHRoZSBzZXQgb2Ygc3RydWN0dXJlcyB0aGF0CiAgICAgICAgIC8vIHdl
IGdldCBmcm9tIG91ciBiYXNlIHZhbHVlLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTU2NjExCiAgICAgICAgIGNsb2JiZXJXb3JsZChub2RlLT5vcmlnaW4uc2VtYW50
aWMsIGNsb2JiZXJMaW1pdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0J5dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0
ZUNvZGVQYXJzZXIuY3BwCmluZGV4IDBjYjI1MGEyN2IxZGMzYTI5M2JjMzE2NDIxY2JkOTY3YmYx
ZjdiZmMuLjZjMTE5NDFmNWIwZDk3OTc0NjA0YTllYzIxOTNjNTBkMWQ0NGJhOTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCkBAIC00MTYw
LDYgKzQxNjAsMTQgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBs
aW1pdCkKICAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX2RlbF9ieV9pZCk7CiAgICAgICAgIH0K
IAorICAgICAgICBjYXNlIG9wX2RlbF9ieV92YWw6IHsKKyAgICAgICAgICAgIGludCBkc3QgPSBj
dXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kOworICAgICAgICAgICAgTm9kZSogYmFzZSA9
IGdldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpOwor
ICAgICAgICAgICAgTm9kZSoga2V5ID0gZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1
Y3Rpb25bM10udS5vcGVyYW5kKSk7CisgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGRz
dCksIGFkZFRvR3JhcGgoRGVsZXRlQnlWYWwsIGJhc2UsIGtleSkpOworICAgICAgICAgICAgTkVY
VF9PUENPREUob3BfZGVsX2J5X3ZhbCk7CisgICAgICAgIH0KKwogICAgICAgICBjYXNlIG9wX3By
b2ZpbGVfdHlwZTogewogICAgICAgICAgICAgTm9kZSogdmFsdWVUb1Byb2ZpbGUgPSBnZXQoVmly
dHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpKTsKICAgICAgICAg
ICAgIGFkZFRvR3JhcGgoUHJvZmlsZVR5cGUsIE9wSW5mbyhjdXJyZW50SW5zdHJ1Y3Rpb25bMl0u
dS5sb2NhdGlvbiksIHZhbHVlVG9Qcm9maWxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCAxZTkyNTM4NjBmZWNhYjg0YjExZjRlZmUyOTll
NDczOGViMGQzYTE4Li4xOThmMWE4NGI3M2Q1NzEwYWNlZTFmMTllNmZhM2I2YTgzYTZjOWVmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCkBAIC0x
NjQsNiArMTY0LDcgQEAgQ2FwYWJpbGl0eUxldmVsIGNhcGFiaWxpdHlMZXZlbChPcGNvZGVJRCBv
cGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEluc3RydWMKICAgICBjYXNlIG9wX3B1dF9n
ZXR0ZXJfYnlfdmFsOgogICAgIGNhc2Ugb3BfcHV0X3NldHRlcl9ieV92YWw6CiAgICAgY2FzZSBv
cF9kZWxfYnlfaWQ6CisgICAgY2FzZSBvcF9kZWxfYnlfdmFsOgogICAgIGNhc2Ugb3Bfam1wOgog
ICAgIGNhc2Ugb3BfanRydWU6CiAgICAgY2FzZSBvcF9qZmFsc2U6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCmluZGV4IGNjNmU1ODIzM2U5Y2FhYjg3YWQzZWRkMGMy
MWY2Nzc0ZDUzMTY4YmMuLjM4N2E2MWQ4NjNhNzNkYjI3MTA0M2U5ZTc5ZDc4ZTg0YjBjYTI5YWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCkBAIC00NDgsNiAr
NDQ4LDcgQEAgdm9pZCBjbG9iYmVyaXplKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSwgY29uc3Qg
UmVhZEZ1bmN0b3ImIHJlYWQsIGNvbnN0IFdyaXRlRnUKICAgICBjYXNlIFB1dEdldHRlckJ5VmFs
OgogICAgIGNhc2UgUHV0U2V0dGVyQnlWYWw6CiAgICAgY2FzZSBEZWxldGVCeUlkOgorICAgIGNh
c2UgRGVsZXRlQnlWYWw6CiAgICAgY2FzZSBBcnJheVB1c2g6CiAgICAgY2FzZSBBcnJheVBvcDoK
ICAgICBjYXNlIENhbGw6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0RvZXNHQy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKaW5k
ZXggYWQ3ZmRkYmM0NzU0MTVhODI0YjgyM2Q4NzMyNmM0OWMzZmIyOGM4OS4uOTk3ZGUzYjFlMjFk
ZTcyOGZlYTVjNmRkZmZkOWZlNzFhMGRiZDViYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHRG9lc0dDLmNwcApAQCAtMTA4LDYgKzEwOCw3IEBAIGJvb2wgZG9lc0dDKEdyYXBoJiBncmFw
aCwgTm9kZSogbm9kZSkKICAgICBjYXNlIFB1dEdldHRlckJ5VmFsOgogICAgIGNhc2UgUHV0U2V0
dGVyQnlWYWw6CiAgICAgY2FzZSBEZWxldGVCeUlkOgorICAgIGNhc2UgRGVsZXRlQnlWYWw6CiAg
ICAgY2FzZSBDaGVja1N0cnVjdHVyZToKICAgICBjYXNlIEdldEV4ZWN1dGFibGU6CiAgICAgY2Fz
ZSBHZXRCdXR0ZXJmbHk6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0ZpeHVwUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNl
LmNwcAppbmRleCA0MTZiMTMyNWE0MWMzNjQ5ZjAwMDliNWMxZmUwODNlNTZmZTAxOTk3Li5hNzY2
ODM5YjFiNGY5NGFmYmMyYmVmODU3MDMwZjRkMzEyYzI3MWMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKQEAgLTE1NDEsNiArMTU0MSw3IEBAIHByaXZh
dGU6CiAgICAgICAgIGNhc2UgUHJvZmlsZVdpbGxDYWxsOgogICAgICAgICBjYXNlIFByb2ZpbGVE
aWRDYWxsOgogICAgICAgICBjYXNlIERlbGV0ZUJ5SWQ6CisgICAgICAgIGNhc2UgRGVsZXRlQnlW
YWw6CiAgICAgICAgIGNhc2UgSXNBcnJheU9iamVjdDoKICAgICAgICAgY2FzZSBJc0pTQXJyYXk6
CiAgICAgICAgIGNhc2UgSXNBcnJheUNvbnN0cnVjdG9yOgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdOb2RlVHlwZS5oCmluZGV4IDI1NTRiMmFjZmU4NWZjM2U1Yzg0YjdmNDk4NDQ0YmM5MGFl
MWI3MmMuLjFiZTY3MzhiZTNkMmIyYzUzMTdjOWIyYmJiNmU2YTc1ZTY1ZmE4ODggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKQEAgLTE5NSw2ICsxOTUsNyBAQCBuYW1l
c3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAgICAgbWFjcm8oUHV0R2V0dGVyQnlWYWwsIE5v
ZGVNdXN0R2VuZXJhdGUpIFwKICAgICBtYWNybyhQdXRTZXR0ZXJCeVZhbCwgTm9kZU11c3RHZW5l
cmF0ZSkgXAogICAgIG1hY3JvKERlbGV0ZUJ5SWQsIE5vZGVSZXN1bHRCb29sZWFuIHwgTm9kZU11
c3RHZW5lcmF0ZSkgXAorICAgIG1hY3JvKERlbGV0ZUJ5VmFsLCBOb2RlUmVzdWx0Qm9vbGVhbiB8
IE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBtYWNybyhDaGVja1N0cnVjdHVyZSwgTm9kZU11c3RH
ZW5lcmF0ZSkgXAogICAgIG1hY3JvKEdldEV4ZWN1dGFibGUsIE5vZGVSZXN1bHRKUykgXAogICAg
IG1hY3JvKFB1dFN0cnVjdHVyZSwgTm9kZU11c3RHZW5lcmF0ZSkgXApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNl
LmNwcAppbmRleCA1NDJiMThjMzNjMzU5N2EwZTNlY2M1MDViOGRkYmQzYWQwNjk0MGM1Li4zYjk5
MjcyYTUyMDlmY2JjMDE2YmZjYjE4ODcxZjVmYTY2MDA0Mjg1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNl
LmNwcApAQCAtNzUxLDYgKzc1MSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBzZXRQcmVkaWN0
aW9uKFNwZWNEb3VibGVSZWFsKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisgICAg
ICAgIGNhc2UgRGVsZXRlQnlWYWw6CiAgICAgICAgIGNhc2UgRGVsZXRlQnlJZDoKICAgICAgICAg
Y2FzZSBMb2dpY2FsTm90OgogICAgICAgICBjYXNlIENvbXBhcmVMZXNzOgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaAppbmRleCBlNmE4YWY5NjViMTRhNjdk
YjVhYmIyYzdjNzM0M2NlOWJhNWEwNDRhLi5hNzRjODc4YmE2YmY3ODZhNDQyYzhjZmQ5MDMxYmVl
ZjA0MzdmZGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVU
b0V4ZWN1dGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1
dGUuaApAQCAtMTkzLDYgKzE5Myw3IEBAIGJvb2wgc2FmZVRvRXhlY3V0ZShBYnN0cmFjdFN0YXRl
VHlwZSYgc3RhdGUsIEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIFZhbHVlQWRk
OgogICAgIGNhc2UgVHJ5R2V0QnlJZDoKICAgICBjYXNlIERlbGV0ZUJ5SWQ6CisgICAgY2FzZSBE
ZWxldGVCeVZhbDoKICAgICBjYXNlIEdldEJ5SWQ6CiAgICAgY2FzZSBHZXRCeUlkRmx1c2g6CiAg
ICAgY2FzZSBQdXRCeUlkOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmNwcAppbmRleCA0YTBiZDk2Mzk0ZTg2NmRiNjQ2MDc0ZjcxYWQ1NzFlY2Q2NWRh
YmNjLi5jOGMzOWFlMzhiOTU5NTNhYjQ3NjU3MDkzZjE1YzM3YzVkNWZjZjU0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcApAQCAtMTA3Miw2
ICsxMDcyLDI2IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVEZWxldGVCeUlkKE5vZGUq
IG5vZGUpCiAgICAgdW5ibGVzc2VkQm9vbGVhblJlc3VsdChyZXN1bHRHUFIsIG5vZGUsIFVzZUNo
aWxkcmVuQ2FsbGVkRXhwbGljaXRseSk7CiB9CiAKK3ZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVEZWxldGVCeVZhbChOb2RlKiBub2RlKQoreworICAgIEpTVmFsdWVPcGVyYW5kIGJhc2UodGhp
cywgbm9kZS0+Y2hpbGQxKCkpOworICAgIEpTVmFsdWVPcGVyYW5kIGtleSh0aGlzLCBub2RlLT5j
aGlsZDIoKSk7CisgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQgcmVzdWx0KHRoaXMpOworCisgICAg
SlNWYWx1ZVJlZ3MgYmFzZVJlZ3MgPSBiYXNlLmpzVmFsdWVSZWdzKCk7CisgICAgSlNWYWx1ZVJl
Z3Mga2V5UmVncyA9IGtleS5qc1ZhbHVlUmVncygpOworICAgIEdQUlJlZyByZXN1bHRHUFIgPSBy
ZXN1bHQuZ3ByKCk7CisKKyAgICBiYXNlLnVzZSgpOworICAgIGtleS51c2UoKTsKKworICAgIGZs
dXNoUmVnaXN0ZXJzKCk7CisgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25EZWxldGVCeVZhbCwg
cmVzdWx0R1BSLCBiYXNlUmVncywga2V5UmVncyk7CisgICAgbV9qaXQuZXhjZXB0aW9uQ2hlY2so
KTsKKworICAgIHVuYmxlc3NlZEJvb2xlYW5SZXN1bHQocmVzdWx0R1BSLCBub2RlLCBVc2VDaGls
ZHJlbkNhbGxlZEV4cGxpY2l0bHkpOworfQorCiBib29sIFNwZWN1bGF0aXZlSklUOjpub25TcGVj
dWxhdGl2ZUNvbXBhcmUoTm9kZSogbm9kZSwgTWFjcm9Bc3NlbWJsZXI6OlJlbGF0aW9uYWxDb25k
aXRpb24gY29uZCwgU19KSVRPcGVyYXRpb25fRUpKIGhlbHBlckZ1bmN0aW9uKQogewogICAgIHVu
c2lnbmVkIGJyYW5jaEluZGV4SW5CbG9jayA9IGRldGVjdFBlZXBIb2xlQnJhbmNoKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKaW5kZXggNDg1NTYz
YThjYjZkMjY1MThlN2MyYmNiZDA4YmJjMDk3MTBjMzI0Ni4uODM4MGFmYzk4MDgxYzNlZGFhZGYx
ZDkxMTZiYmZiMjQ5OTgxODU4ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQuaApAQCAtNzE1LDYgKzcxNSw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAg
ICAgdm9pZCBjb21waWxlRGVsZXRlQnlJZChOb2RlKik7CisgICAgdm9pZCBjb21waWxlRGVsZXRl
QnlWYWwoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZVRyeUdldEJ5SWQoTm9kZSopOwogICAgIHZv
aWQgY29tcGlsZUluKE5vZGUqKTsKICAgICAKQEAgLTE1MTEsNiArMTUxMiwxMCBAQCBwdWJsaWM6
CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyKTsK
ICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwog
ICAgIH0KKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFNfSklUT3BlcmF0aW9u
X0VKSiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsICBKU1ZhbHVlUmVncyBhcmcxLCBKU1ZhbHVl
UmVncyBhcmcyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9u
LCByZXN1bHQsIGFyZzEuZ3ByKCksIGFyZzIuZ3ByKCkpOworICAgIH0KICAgICBKSVRDb21waWxl
cjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFNfSklUT3BlcmF0aW9uX0VHSkogb3BlcmF0aW9uLCBHUFJS
ZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIEdQUlJlZyBhcmczKQogICAgIHsK
ICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIsIGFy
ZzMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQzMl82NC5jcHAKaW5kZXggZGU2MzFkNGFkYjZkOTUzMzQ4ZTQzMjIxZTkzOWY3YzBmYzcyMzgw
MC4uMjBjN2M2YzFkNzc3ZjFjN2QxYTkwYzE4Y2U1NTg4ZGVhOWNkOTI5ZCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCkBA
IC00MTAyLDYgKzQxMDIsMTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBu
b2RlKQogICAgICAgICBjb21waWxlRGVsZXRlQnlJZChub2RlKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgfQorCisgICAgY2FzZSBEZWxldGVCeVZhbDogeworICAgICAgICBjb21waWxlRGVsZXRlQnlW
YWwobm9kZSk7CisgICAgICAgIGJyZWFrOworICAgIH0KICAgICAgICAgCiAgICAgY2FzZSBDaGVj
a0NlbGw6IHsKICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgY2VsbCh0aGlzLCBub2RlLT5j
aGlsZDEoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklUNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVDY0LmNwcAppbmRleCBmNTNhNDU4ZTMxMDdhMjc0NmMyZDYwMmViM2JhNThiYWQ0MDY4MzRh
Li4xNmUxNzc4NDVkODY3YTRlOTJjOGQyMjU5MTg0NmE0ZTNiNzhjODk2IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKQEAgLTQxNDMs
NiArNDE0MywxMSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAg
ICAgICAgIGNvbXBpbGVEZWxldGVCeUlkKG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9CisK
KyAgICBjYXNlIERlbGV0ZUJ5VmFsOiB7CisgICAgICAgIGNvbXBpbGVEZWxldGVCeVZhbChub2Rl
KTsKKyAgICAgICAgYnJlYWs7CisgICAgfQogICAgICAgICAKICAgICBjYXNlIENoZWNrQ2VsbDog
ewogICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBjZWxsKHRoaXMsIG5vZGUtPmNoaWxkMSgp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAppbmRleCA5NmU0ZWMyODYwMTdhMDgzNjgxMjkw
MDJjNGNjM2M1MmVhODY4ZjRlLi4xZjYxOGU0MmMzOWRjNWE3ZDM5YmJiNmY0ZGYzY2VjYWQ1OGZi
ZTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCkBAIC0xODcsNyArMTg3LDYgQEAgdm9p
ZCBKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MoKQogICAgICAgICB1bnNpZ25lZCBieXRlY29k
ZU9mZnNldCA9IG1fYnl0ZWNvZGVPZmZzZXQ7CiAKICAgICAgICAgc3dpdGNoIChvcGNvZGVJRCkg
ewotICAgICAgICBERUZJTkVfU0xPV19PUChkZWxfYnlfdmFsKQogICAgICAgICBERUZJTkVfU0xP
V19PUChpbikKICAgICAgICAgREVGSU5FX1NMT1dfT1AobGVzcykKICAgICAgICAgREVGSU5FX1NM
T1dfT1AobGVzc2VxKQpAQCAtMjIyLDYgKzIyMSw3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGls
ZU1haW5QYXNzKCkKICAgICAgICAgREVGSU5FX09QKG9wX3Jlc3VtZSkKICAgICAgICAgREVGSU5F
X09QKG9wX2RlYnVnKQogICAgICAgICBERUZJTkVfT1Aob3BfZGVsX2J5X2lkKQorICAgICAgICBE
RUZJTkVfT1Aob3BfZGVsX2J5X3ZhbCkKICAgICAgICAgREVGSU5FX09QKG9wX2RpdikKICAgICAg
ICAgREVGSU5FX09QKG9wX2VuZCkKICAgICAgICAgREVGSU5FX09QKG9wX2VudGVyKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklULmgKaW5kZXggMGMzZjExZGI4ZDFlZGE2ZDUwYjUyNmRmNjIwZjQ1ZWE0NzNm
MjUyOS4uNGQ5MGU1NTc3MDJlNWEzNDI3ZmZkMTY3MWU0NzgyZWE3ZWU1YTUwZSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVC5oCkBAIC00OTYsNiArNDk2LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgIHZvaWQgZW1pdF9vcF9yZXN1bWUoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0
X29wX2RlYnVnKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9kZWxfYnlfaWQo
SW5zdHJ1Y3Rpb24qKTsKKyAgICAgICAgdm9pZCBlbWl0X29wX2RlbF9ieV92YWwoSW5zdHJ1Y3Rp
b24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX2RpdihJbnN0cnVjdGlvbiopOwogICAgICAgICB2
b2lkIGVtaXRfb3BfZW5kKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9lbnRl
cihJbnN0cnVjdGlvbiopOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9u
cy5jcHAKaW5kZXggZGQxZTVlYjliNDk1ZjJlZTQ2MDUwOTNkMmI0ZmU4MWZmYWVhYjZkNi4uOTAz
YjY5NDQ0ODIyN2M0ZGRiM2NmYWNkZmJlYTZhZjZkYjg5NWIyZCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCkBAIC0xODcxLDcgKzE4NzEsNiBAQCBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkRlbGV0ZUJ5SWRKU1Jlc3VsdChFeGVj
U3RhdGUqIGV4ZWMsIEVuY29kZQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFu
KG9wZXJhdGlvbkRlbGV0ZUJ5SWQoZXhlYywgYmFzZSwgdWlkKSkpOwogfQogCi0KIHNpemVfdCBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvbkRlbGV0ZUJ5SWQoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkQmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBWTSYg
dm0gPSBleGVjLT52bSgpOwpAQCAtMTg3OSwxMyArMTg3OCw0NSBAQCBzaXplX3QgSklUX09QRVJB
VElPTiBvcGVyYXRpb25EZWxldGVCeUlkKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZAogCiAgICAgSlNPYmplY3QqIGJhc2VPYmogPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2Rl
ZEJhc2UpLnRvT2JqZWN0KGV4ZWMpOwogICAgIGlmICghYmFzZU9iaikKLSAgICAgICAgSlNWYWx1
ZTo6ZW5jb2RlKEpTVmFsdWUoKSk7CisgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBib29sIGNv
dWxkRGVsZXRlID0gYmFzZU9iai0+bWV0aG9kVGFibGUodm0pLT5kZWxldGVQcm9wZXJ0eShiYXNl
T2JqLCBleGVjLCBJZGVudGlmaWVyOjpmcm9tVWlkKCZ2bSwgdWlkKSk7CiAgICAgaWYgKCFjb3Vs
ZERlbGV0ZSAmJiBleGVjLT5jb2RlQmxvY2soKS0+aXNTdHJpY3RNb2RlKCkpCiAgICAgICAgIHZt
LnRocm93RXhjZXB0aW9uKGV4ZWMsIGNyZWF0ZVR5cGVFcnJvcihleGVjLCBBU0NJSUxpdGVyYWwo
IlVuYWJsZSB0byBkZWxldGUgcHJvcGVydHkuIikpKTsKICAgICByZXR1cm4gY291bGREZWxldGU7
CiB9CiAKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGVsZXRlQnlWYWxK
U1Jlc3VsdChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGJhc2UsICBFbmNvZGVkSlNW
YWx1ZSBrZXkpCit7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4ob3BlcmF0
aW9uRGVsZXRlQnlWYWwoZXhlYywgYmFzZSwga2V5KSkpOworfQorCitzaXplX3QgSklUX09QRVJB
VElPTiBvcGVyYXRpb25EZWxldGVCeVZhbChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRCYXNlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkS2V5KQoreworICAgIFZNJiB2bSA9
IGV4ZWMtPnZtKCk7CisgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMp
OworCisgICAgSlNPYmplY3QqIGJhc2VPYmogPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2Up
LnRvT2JqZWN0KGV4ZWMpOworICAgIEpTVmFsdWUga2V5ID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29k
ZWRLZXkpOworICAgIGlmICghYmFzZU9iaikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
Ym9vbCBjb3VsZERlbGV0ZTsKKyAgICB1aW50MzJfdCBpbmRleDsKKyAgICBpZiAoa2V5LmdldFVJ
bnQzMihpbmRleCkpCisgICAgICAgIGNvdWxkRGVsZXRlID0gYmFzZU9iai0+bWV0aG9kVGFibGUo
dm0pLT5kZWxldGVQcm9wZXJ0eUJ5SW5kZXgoYmFzZU9iaiwgZXhlYywgaW5kZXgpOworICAgIGVs
c2UgeworICAgICAgICBpZiAodm0uZXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgIElkZW50aWZpZXIgcHJvcGVydHkgPSBrZXkudG9Qcm9wZXJ0eUtleShleGVj
KTsKKyAgICAgICAgaWYgKHZtLmV4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgICAgICBjb3VsZERlbGV0ZSA9IGJhc2VPYmotPm1ldGhvZFRhYmxlKHZtKS0+ZGVsZXRl
UHJvcGVydHkoYmFzZU9iaiwgZXhlYywgcHJvcGVydHkpOworICAgIH0KKyAgICBpZiAoIWNvdWxk
RGVsZXRlICYmIGV4ZWMtPmNvZGVCbG9jaygpLT5pc1N0cmljdE1vZGUoKSkKKyAgICAgICAgdm0u
dGhyb3dFeGNlcHRpb24oZXhlYywgY3JlYXRlVHlwZUVycm9yKGV4ZWMsIEFTQ0lJTGl0ZXJhbCgi
VW5hYmxlIHRvIGRlbGV0ZSBwcm9wZXJ0eS4iKSkpOworICAgIHJldHVybiBjb3VsZERlbGV0ZTsK
K30KKwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25JbnN0YW5jZU9mKEV4
ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSBlbmNvZGVkUHJvdG8pCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKaW5kZXggNTk5YmQwMzdiM2U1YjAwZWI1ODFi
OGMyZDNhZTBmNDk1NDg3YzVlYy4uZjg5MTg0NzJiOGZhZWZhNzAyOWUxM2EyMGU1N2FlMjViMzdl
MThiYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25z
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKQEAgLTM3
Myw2ICszNzMsOCBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhc0lu
ZGV4ZWRQcm9wZXJ0eURlZmF1bHQoRXhlY1N0YXRlKiwgRW5jbwogRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiBvcGVyYXRpb25IYXNJbmRleGVkUHJvcGVydHlHZW5lcmljKEV4ZWNTdGF0ZSos
IEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkU3Vic2Ny
aXB0LCBCeVZhbEluZm8qKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkRlbGV0ZUJ5SWRKU1Jlc3VsdChFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1
ZSBiYXNlLCBVbmlxdWVkU3RyaW5nSW1wbCopIFdURl9JTlRFUk5BTDsKIHNpemVfdCBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbkRlbGV0ZUJ5SWQoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgYmFz
ZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvbkRlbGV0ZUJ5VmFsSlNSZXN1bHQoRXhlY1N0YXRlKiwgRW5jb2Rl
ZEpTVmFsdWUgYmFzZSwgRW5jb2RlZEpTVmFsdWUgdGFyZ2V0KSBXVEZfSU5URVJOQUw7CitzaXpl
X3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25EZWxldGVCeVZhbChFeGVjU3RhdGUqLCBFbmNvZGVk
SlNWYWx1ZSBiYXNlLCBFbmNvZGVkSlNWYWx1ZSB0YXJnZXQpIFdURl9JTlRFUk5BTDsKIEpTQ2Vs
bCogSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRQTmFtZXMoRXhlY1N0YXRlKiwgSlNPYmplY3Qq
KSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbklu
c3RhbmNlT2YoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlIHByb3Rv
KSBXVEZfSU5URVJOQUw7CiBpbnQzMl90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uU2l6ZUZyYW1l
Rm9yVmFyYXJncyhFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSBhcmd1bWVudHMsIGludDMyX3Qg
bnVtVXNlZFN0YWNrU2xvdHMsIGludDMyX3QgZmlyc3RWYXJBcmdPZmZzZXQpIFdURl9JTlRFUk5B
TDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nl
c3MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAK
aW5kZXggMTM0YWY3OWZjNzc5ODQ1Njg0NWU1MDhiNzk3ODQzZDkyMDEyNThjMi4uNDk0YmQyYjEz
MTU3NTQ3NmNiNTNjZTBjYTRiZDlmYWI3MjVlMWIzMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKQEAgLTUzMiw2ICs1MzIsMTYgQEAgdm9p
ZCBKSVQ6OmVtaXRfb3BfZGVsX2J5X2lkKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24p
CiAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25EZWxldGVCeUlkSlNSZXN1bHQsIGRzdCwgcmVn
VDAsIG1fY29kZUJsb2NrLT5pZGVudGlmaWVyKHByb3BlcnR5KS5pbXBsKCkpOwogfQogCit2b2lk
IEpJVDo6ZW1pdF9vcF9kZWxfYnlfdmFsKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24p
Cit7CisgICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7CisgICAg
aW50IGJhc2UgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kOworICAgIGludCBwcm9w
ZXJ0eSA9IGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQ7CisgICAgZW1pdEdldFZpcnR1
YWxSZWdpc3RlcihiYXNlLCByZWdUMCk7CisgICAgZW1pdEdldFZpcnR1YWxSZWdpc3Rlcihwcm9w
ZXJ0eSwgcmVnVDEpOworICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uRGVsZXRlQnlWYWxKU1Jl
c3VsdCwgZHN0LCByZWdUMCwgcmVnVDEpOworfQorCiB2b2lkIEpJVDo6ZW1pdF9vcF90cnlfZ2V0
X2J5X2lkKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7CiAgICAgaW50IHJlc3Vs
dFZSZWcgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9kZWxldGUtYnktdmFsLmpzIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9kZWxldGUtYnktdmFsLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjMyN2Q4ODliMzkzMDI3ZmU4YjRhNTE4MTEzZWM3YWQ4N2Q3MDhkNjgKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2RlbGV0ZS1ieS12YWwuanMK
QEAgLTAsMCArMSwxNSBAQAorZnVuY3Rpb24gYXNzZXJ0KGNvbmRpdGlvbikgeworICAgIGlmICgh
Y29uZGl0aW9uKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoImFzc2VydGlvbiBmYWlsZWQiKTsK
K30KKworZnVuY3Rpb24gdGVzdChpKSB7CisgICAgbGV0IGZvbyA9IHt9OworICAgIGZvb1siYmFy
IiArIGldID0gMTsKKyAgICBhc3NlcnQoZm9vWyJiYXIiICsgaV0gPT09IDEpCisgICAgYXNzZXJ0
KGRlbGV0ZSBmb29bImJhciIgKyBpXSk7CisgICAgYXNzZXJ0KCEoImJhciIgKyBpIGluIGZvbykp
OworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsgKytpKQorICAgIHRlc3QoaSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2RlbGV0ZS10by1v
YmplY3QtZXhjZXB0aW9uLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9k
ZWxldGUtdG8tb2JqZWN0LWV4Y2VwdGlvbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNDIxMDAzYzEyZWQyMDZj
NGQ2OWQyZWI4YWU0ZDBiOTFlZDVlY2Y4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9kZWxldGUtdG8tb2JqZWN0LWV4Y2VwdGlvbi5qcwpAQCAt
MCwwICsxLDI0IEBACitmdW5jdGlvbiBhc3NlcnQoY29uZGl0aW9uKSB7CisgICAgaWYgKCFjb25k
aXRpb24pCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiYXNzZXJ0aW9uIGZhaWxlZCIpOworfQor
CitmdW5jdGlvbiB0ZXN0KGkpIHsKKyAgICBsZXQgdmFsdWUgPSBudWxsOworICAgIGxldCBwYXNz
ZWQgPSB0cnVlOworCisgICAgdHJ5IHsKKyAgICAgICAgZGVsZXRlIHZhbHVlLmJhcjsKKyAgICAg
ICAgcGFzc2VkID0gZmFsc2U7CisgICAgfSBjYXRjaChlKSB7fQorICAgIHRyeSB7CisgICAgICAg
IGRlbGV0ZSB2YWx1ZVsiYmFyIiArIGldOworICAgICAgICBwYXNzZWQgPSBmYWxzZTsKKyAgICB9
IGNhdGNoKGUpIHt9CisgICAgaWYgKCFwYXNzZWQpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigi
ZGlkbid0IHRocm93Iik7Cit9Citub0lubGluZSh0ZXN0KTsKKworZm9yIChsZXQgaSA9IDA7IGkg
PCAxMDAwMDsgKytpKQorICAgIHRlc3QoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278164</attachid>
            <date>2016-05-05 07:54:51 -0700</date>
            <delta_ts>2016-05-05 08:18:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157372-20160505095531.patch</filename>
            <type>text/plain</type>
            <size>20230</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwNDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
NDFmZGI3ZTBhNGU2OWNlN2JjNjIyMWMxNzMxNjg2MmM3YWZiYzE3Li5jY2EzYjVmMjMzMjg0Yzc4
NjhhYzMzNmYxNjdjYTY1ZGI2NWJiMzgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NCBAQAorMjAxNi0wNS0wNSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgZGVsZXRlIGJ5IHZhbHVlIHRvIHRoZSBE
RkcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzM3
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMg
cGF0Y2ggYWRkcyBiYXNpYyBzdXBwb3J0IGZvciBkZWxldGUgYnkgdmFsdWUgdG8gdGhlIERGRy4g
ZGVsZXRlIGJ5IHZhbHVlCisgICAgICAgIGp1c3QgY2FsbHMgb3V0IHRvIGEgQysrIG9wZXJhdGlv
biBvbiBlYWNoIGV4ZWN1dGlvbi4gQWRkaXRpb25hbGx5LCB0aGlzIHBhdGNoCisgICAgICAgIGZp
eGVzIGFuIGlzc3VlIHdpdGggZGVsZXRlIGJ5IGlkIHdoZXJlIHdlIHdvdWxkIGNyYXNoIGlmIHRo
ZSBiYXNlIHdhcyBudWxsCisgICAgICAgIG9yIHVuZGVmaW5lZC4KKworICAgICAgICAqIGRmZy9E
RkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpERkc6OkFic3Ry
YWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyk6CisgICAg
ICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpCeXRl
Q29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0NhcGFiaWxpdGllcy5j
cHA6CisgICAgICAgIChKU0M6OkRGRzo6Y2FwYWJpbGl0eUxldmVsKToKKyAgICAgICAgKiBkZmcv
REZHQ2xvYmJlcml6ZS5oOgorICAgICAgICAoSlNDOjpERkc6OmNsb2JiZXJpemUpOgorICAgICAg
ICAqIGRmZy9ERkdEb2VzR0MuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmRvZXNHQyk6CisgICAg
ICAgICogZGZnL0RGR0ZpeHVwUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVwUGhh
c2U6OmZpeHVwTm9kZSk6CisgICAgICAgICogZGZnL0RGR05vZGVUeXBlLmg6CisgICAgICAgICog
ZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcDoKKyAgICAgICAgKiBkZmcvREZH
U2FmZVRvRXhlY3V0ZS5oOgorICAgICAgICAoSlNDOjpERkc6OnNhZmVUb0V4ZWN1dGUpOgorICAg
ICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGVEZWxldGVCeUlkKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZURlbGV0ZUJ5VmFsKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3Vs
YXRpdmVKSVQuaDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y2FsbE9wZXJh
dGlvbik6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAg
ICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZH
U3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGUpOgorICAgICAgICAqIGppdC9KSVQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnBy
aXZhdGVDb21waWxlTWFpblBhc3MpOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAgICAgKiBq
aXQvSklUT3BlcmF0aW9ucy5jcHA6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuaDoKKyAg
ICAgICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVt
aXRfb3BfZGVsX2J5X3ZhbCk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2RlbGV0ZS1ieS12YWwu
anM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0KToKKyAgICAgICAgKHRlc3QpOgorICAgICAgICAq
IHRlc3RzL3N0cmVzcy9kZWxldGUtdG8tb2JqZWN0LWV4Y2VwdGlvbi5qczogQWRkZWQuCisgICAg
ICAgIChhc3NlcnQpOgorICAgICAgICAodGVzdCk6CisKIDIwMTYtMDUtMDUgIEpvc2VwaCBQZWNv
cmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBDcmVhdGUgY29uc29sZSBvYmpl
Y3QgbGF6aWx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3Ry
YWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fi
c3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXggZDc5Y2RhYmM3NDUyNjIyYjkzYzM4OTNk
NWI2YjA2ZTk2MTljMTYzZS4uNGI3Mzg4ODEzNjY2ZTUwNjA2MTNlNTZlMTIxOTZiODVlYjIxMGJj
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVy
cHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJh
Y3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtMjE5MSw3ICsyMTkxLDggQEAgYm9vbCBBYnN0cmFj
dEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHModW5zaWduZWQg
Y2xvYmJlckxpbWkKICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAgY2FzZSBEZWxldGVCeUlk
OiB7CisgICAgY2FzZSBEZWxldGVCeUlkOgorICAgIGNhc2UgRGVsZXRlQnlWYWw6IHsKICAgICAg
ICAgLy8gRklYTUU6IFRoaXMgY291bGQgZGVjaWRlIGlmIHRoZSBkZWxldGUgd2lsbCBiZSBzdWNj
ZXNzZnVsIGJhc2VkIG9uIHRoZSBzZXQgb2Ygc3RydWN0dXJlcyB0aGF0CiAgICAgICAgIC8vIHdl
IGdldCBmcm9tIG91ciBiYXNlIHZhbHVlLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTU2NjExCiAgICAgICAgIGNsb2JiZXJXb3JsZChub2RlLT5vcmlnaW4uc2VtYW50
aWMsIGNsb2JiZXJMaW1pdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0J5dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0
ZUNvZGVQYXJzZXIuY3BwCmluZGV4IDBjYjI1MGEyN2IxZGMzYTI5M2JjMzE2NDIxY2JkOTY3YmYx
ZjdiZmMuLjZjMTE5NDFmNWIwZDk3OTc0NjA0YTllYzIxOTNjNTBkMWQ0NGJhOTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCkBAIC00MTYw
LDYgKzQxNjAsMTQgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBs
aW1pdCkKICAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX2RlbF9ieV9pZCk7CiAgICAgICAgIH0K
IAorICAgICAgICBjYXNlIG9wX2RlbF9ieV92YWw6IHsKKyAgICAgICAgICAgIGludCBkc3QgPSBj
dXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kOworICAgICAgICAgICAgTm9kZSogYmFzZSA9
IGdldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpOwor
ICAgICAgICAgICAgTm9kZSoga2V5ID0gZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1
Y3Rpb25bM10udS5vcGVyYW5kKSk7CisgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGRz
dCksIGFkZFRvR3JhcGgoRGVsZXRlQnlWYWwsIGJhc2UsIGtleSkpOworICAgICAgICAgICAgTkVY
VF9PUENPREUob3BfZGVsX2J5X3ZhbCk7CisgICAgICAgIH0KKwogICAgICAgICBjYXNlIG9wX3By
b2ZpbGVfdHlwZTogewogICAgICAgICAgICAgTm9kZSogdmFsdWVUb1Byb2ZpbGUgPSBnZXQoVmly
dHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpKTsKICAgICAgICAg
ICAgIGFkZFRvR3JhcGgoUHJvZmlsZVR5cGUsIE9wSW5mbyhjdXJyZW50SW5zdHJ1Y3Rpb25bMl0u
dS5sb2NhdGlvbiksIHZhbHVlVG9Qcm9maWxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCAxZTkyNTM4NjBmZWNhYjg0YjExZjRlZmUyOTll
NDczOGViMGQzYTE4Li4xOThmMWE4NGI3M2Q1NzEwYWNlZTFmMTllNmZhM2I2YTgzYTZjOWVmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCkBAIC0x
NjQsNiArMTY0LDcgQEAgQ2FwYWJpbGl0eUxldmVsIGNhcGFiaWxpdHlMZXZlbChPcGNvZGVJRCBv
cGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEluc3RydWMKICAgICBjYXNlIG9wX3B1dF9n
ZXR0ZXJfYnlfdmFsOgogICAgIGNhc2Ugb3BfcHV0X3NldHRlcl9ieV92YWw6CiAgICAgY2FzZSBv
cF9kZWxfYnlfaWQ6CisgICAgY2FzZSBvcF9kZWxfYnlfdmFsOgogICAgIGNhc2Ugb3Bfam1wOgog
ICAgIGNhc2Ugb3BfanRydWU6CiAgICAgY2FzZSBvcF9qZmFsc2U6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCmluZGV4IGNjNmU1ODIzM2U5Y2FhYjg3YWQzZWRkMGMy
MWY2Nzc0ZDUzMTY4YmMuLjM4N2E2MWQ4NjNhNzNkYjI3MTA0M2U5ZTc5ZDc4ZTg0YjBjYTI5YWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCkBAIC00NDgsNiAr
NDQ4LDcgQEAgdm9pZCBjbG9iYmVyaXplKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSwgY29uc3Qg
UmVhZEZ1bmN0b3ImIHJlYWQsIGNvbnN0IFdyaXRlRnUKICAgICBjYXNlIFB1dEdldHRlckJ5VmFs
OgogICAgIGNhc2UgUHV0U2V0dGVyQnlWYWw6CiAgICAgY2FzZSBEZWxldGVCeUlkOgorICAgIGNh
c2UgRGVsZXRlQnlWYWw6CiAgICAgY2FzZSBBcnJheVB1c2g6CiAgICAgY2FzZSBBcnJheVBvcDoK
ICAgICBjYXNlIENhbGw6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0RvZXNHQy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKaW5k
ZXggYWQ3ZmRkYmM0NzU0MTVhODI0YjgyM2Q4NzMyNmM0OWMzZmIyOGM4OS4uOTk3ZGUzYjFlMjFk
ZTcyOGZlYTVjNmRkZmZkOWZlNzFhMGRiZDViYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHRG9lc0dDLmNwcApAQCAtMTA4LDYgKzEwOCw3IEBAIGJvb2wgZG9lc0dDKEdyYXBoJiBncmFw
aCwgTm9kZSogbm9kZSkKICAgICBjYXNlIFB1dEdldHRlckJ5VmFsOgogICAgIGNhc2UgUHV0U2V0
dGVyQnlWYWw6CiAgICAgY2FzZSBEZWxldGVCeUlkOgorICAgIGNhc2UgRGVsZXRlQnlWYWw6CiAg
ICAgY2FzZSBDaGVja1N0cnVjdHVyZToKICAgICBjYXNlIEdldEV4ZWN1dGFibGU6CiAgICAgY2Fz
ZSBHZXRCdXR0ZXJmbHk6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0ZpeHVwUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNl
LmNwcAppbmRleCA0MTZiMTMyNWE0MWMzNjQ5ZjAwMDliNWMxZmUwODNlNTZmZTAxOTk3Li5hNzY2
ODM5YjFiNGY5NGFmYmMyYmVmODU3MDMwZjRkMzEyYzI3MWMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKQEAgLTE1NDEsNiArMTU0MSw3IEBAIHByaXZh
dGU6CiAgICAgICAgIGNhc2UgUHJvZmlsZVdpbGxDYWxsOgogICAgICAgICBjYXNlIFByb2ZpbGVE
aWRDYWxsOgogICAgICAgICBjYXNlIERlbGV0ZUJ5SWQ6CisgICAgICAgIGNhc2UgRGVsZXRlQnlW
YWw6CiAgICAgICAgIGNhc2UgSXNBcnJheU9iamVjdDoKICAgICAgICAgY2FzZSBJc0pTQXJyYXk6
CiAgICAgICAgIGNhc2UgSXNBcnJheUNvbnN0cnVjdG9yOgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdOb2RlVHlwZS5oCmluZGV4IDI1NTRiMmFjZmU4NWZjM2U1Yzg0YjdmNDk4NDQ0YmM5MGFl
MWI3MmMuLjFiZTY3MzhiZTNkMmIyYzUzMTdjOWIyYmJiNmU2YTc1ZTY1ZmE4ODggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKQEAgLTE5NSw2ICsxOTUsNyBAQCBuYW1l
c3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAgICAgbWFjcm8oUHV0R2V0dGVyQnlWYWwsIE5v
ZGVNdXN0R2VuZXJhdGUpIFwKICAgICBtYWNybyhQdXRTZXR0ZXJCeVZhbCwgTm9kZU11c3RHZW5l
cmF0ZSkgXAogICAgIG1hY3JvKERlbGV0ZUJ5SWQsIE5vZGVSZXN1bHRCb29sZWFuIHwgTm9kZU11
c3RHZW5lcmF0ZSkgXAorICAgIG1hY3JvKERlbGV0ZUJ5VmFsLCBOb2RlUmVzdWx0Qm9vbGVhbiB8
IE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBtYWNybyhDaGVja1N0cnVjdHVyZSwgTm9kZU11c3RH
ZW5lcmF0ZSkgXAogICAgIG1hY3JvKEdldEV4ZWN1dGFibGUsIE5vZGVSZXN1bHRKUykgXAogICAg
IG1hY3JvKFB1dFN0cnVjdHVyZSwgTm9kZU11c3RHZW5lcmF0ZSkgXApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNl
LmNwcAppbmRleCA1NDJiMThjMzNjMzU5N2EwZTNlY2M1MDViOGRkYmQzYWQwNjk0MGM1Li4zYjk5
MjcyYTUyMDlmY2JjMDE2YmZjYjE4ODcxZjVmYTY2MDA0Mjg1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNl
LmNwcApAQCAtNzUxLDYgKzc1MSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBzZXRQcmVkaWN0
aW9uKFNwZWNEb3VibGVSZWFsKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisgICAg
ICAgIGNhc2UgRGVsZXRlQnlWYWw6CiAgICAgICAgIGNhc2UgRGVsZXRlQnlJZDoKICAgICAgICAg
Y2FzZSBMb2dpY2FsTm90OgogICAgICAgICBjYXNlIENvbXBhcmVMZXNzOgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaAppbmRleCBlNmE4YWY5NjViMTRhNjdk
YjVhYmIyYzdjNzM0M2NlOWJhNWEwNDRhLi5hNzRjODc4YmE2YmY3ODZhNDQyYzhjZmQ5MDMxYmVl
ZjA0MzdmZGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVU
b0V4ZWN1dGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1
dGUuaApAQCAtMTkzLDYgKzE5Myw3IEBAIGJvb2wgc2FmZVRvRXhlY3V0ZShBYnN0cmFjdFN0YXRl
VHlwZSYgc3RhdGUsIEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIFZhbHVlQWRk
OgogICAgIGNhc2UgVHJ5R2V0QnlJZDoKICAgICBjYXNlIERlbGV0ZUJ5SWQ6CisgICAgY2FzZSBE
ZWxldGVCeVZhbDoKICAgICBjYXNlIEdldEJ5SWQ6CiAgICAgY2FzZSBHZXRCeUlkRmx1c2g6CiAg
ICAgY2FzZSBQdXRCeUlkOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmNwcAppbmRleCA0YTBiZDk2Mzk0ZTg2NmRiNjQ2MDc0ZjcxYWQ1NzFlY2Q2NWRh
YmNjLi5jOGMzOWFlMzhiOTU5NTNhYjQ3NjU3MDkzZjE1YzM3YzVkNWZjZjU0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcApAQCAtMTA3Miw2
ICsxMDcyLDI2IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVEZWxldGVCeUlkKE5vZGUq
IG5vZGUpCiAgICAgdW5ibGVzc2VkQm9vbGVhblJlc3VsdChyZXN1bHRHUFIsIG5vZGUsIFVzZUNo
aWxkcmVuQ2FsbGVkRXhwbGljaXRseSk7CiB9CiAKK3ZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVEZWxldGVCeVZhbChOb2RlKiBub2RlKQoreworICAgIEpTVmFsdWVPcGVyYW5kIGJhc2UodGhp
cywgbm9kZS0+Y2hpbGQxKCkpOworICAgIEpTVmFsdWVPcGVyYW5kIGtleSh0aGlzLCBub2RlLT5j
aGlsZDIoKSk7CisgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQgcmVzdWx0KHRoaXMpOworCisgICAg
SlNWYWx1ZVJlZ3MgYmFzZVJlZ3MgPSBiYXNlLmpzVmFsdWVSZWdzKCk7CisgICAgSlNWYWx1ZVJl
Z3Mga2V5UmVncyA9IGtleS5qc1ZhbHVlUmVncygpOworICAgIEdQUlJlZyByZXN1bHRHUFIgPSBy
ZXN1bHQuZ3ByKCk7CisKKyAgICBiYXNlLnVzZSgpOworICAgIGtleS51c2UoKTsKKworICAgIGZs
dXNoUmVnaXN0ZXJzKCk7CisgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25EZWxldGVCeVZhbCwg
cmVzdWx0R1BSLCBiYXNlUmVncywga2V5UmVncyk7CisgICAgbV9qaXQuZXhjZXB0aW9uQ2hlY2so
KTsKKworICAgIHVuYmxlc3NlZEJvb2xlYW5SZXN1bHQocmVzdWx0R1BSLCBub2RlLCBVc2VDaGls
ZHJlbkNhbGxlZEV4cGxpY2l0bHkpOworfQorCiBib29sIFNwZWN1bGF0aXZlSklUOjpub25TcGVj
dWxhdGl2ZUNvbXBhcmUoTm9kZSogbm9kZSwgTWFjcm9Bc3NlbWJsZXI6OlJlbGF0aW9uYWxDb25k
aXRpb24gY29uZCwgU19KSVRPcGVyYXRpb25fRUpKIGhlbHBlckZ1bmN0aW9uKQogewogICAgIHVu
c2lnbmVkIGJyYW5jaEluZGV4SW5CbG9jayA9IGRldGVjdFBlZXBIb2xlQnJhbmNoKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKaW5kZXggNDg1NTYz
YThjYjZkMjY1MThlN2MyYmNiZDA4YmJjMDk3MTBjMzI0Ni4uMWJlYjE5OWMxNWQxMzdlZmY3MWUy
ZjIxYzU3ZTc1MzQ4MDYzOWY5NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQuaApAQCAtNzE1LDYgKzcxNSw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAg
ICAgdm9pZCBjb21waWxlRGVsZXRlQnlJZChOb2RlKik7CisgICAgdm9pZCBjb21waWxlRGVsZXRl
QnlWYWwoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZVRyeUdldEJ5SWQoTm9kZSopOwogICAgIHZv
aWQgY29tcGlsZUluKE5vZGUqKTsKICAgICAKQEAgLTE1MTEsNiArMTUxMiwxMCBAQCBwdWJsaWM6
CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyKTsK
ICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwog
ICAgIH0KKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFNfSklUT3BlcmF0aW9u
X0VKSiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsICBKU1ZhbHVlUmVncyBhcmcxLCBKU1ZhbHVl
UmVncyBhcmcyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9u
LCByZXN1bHQsIGFyZzEuZ3ByKCksIGFyZzIuZ3ByKCkpOworICAgIH0KICAgICBKSVRDb21waWxl
cjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFNfSklUT3BlcmF0aW9uX0VHSkogb3BlcmF0aW9uLCBHUFJS
ZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIEdQUlJlZyBhcmczKQogICAgIHsK
ICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIsIGFy
ZzMpOwpAQCAtMTk0Niw2ICsxOTUxLDEyIEBAIHB1YmxpYzoKICAgICAgICAgbV9qaXQuc2V0dXBB
cmd1bWVudHNXaXRoRXhlY1N0YXRlKEVBQklfMzJCSVRfRFVNTVlfQVJHIGFyZzFQYXlsb2FkLCBh
cmcxVGFnLCBTSDRfMzJCSVRfRFVNTVlfQVJHIGFyZzJQYXlsb2FkLCBhcmcyVGFnKTsKICAgICAg
ICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0K
KworICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oU19KSVRPcGVyYXRpb25fRUpK
IG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgSlNWYWx1ZVJlZ3MgYXJnMSwgSlNWYWx1ZVJlZ3Mg
YXJnMikKKyAgICB7CisgICAgICAgIHJldHVybiBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbiwgcmVz
dWx0LCBhcmcxLnRhZ0dQUigpLCBhcmcxLnBheWxvYWRHUFIoKSwgYXJnMi50YWdHUFIoKSwgYXJn
Mi5wYXlsb2FkR1BSKCkpOworICAgIH0KKwogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oU19KSVRPcGVyYXRpb25fRUdKSiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJl
ZyBhcmcxLCBHUFJSZWcgYXJnMlRhZywgR1BSUmVnIGFyZzJQYXlsb2FkLCBHUFJSZWcgYXJnM1Rh
ZywgR1BSUmVnIGFyZzNQYXlsb2FkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVu
dHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzJQYXlsb2FkLCBhcmcyVGFnLCBTSDRfMzJCSVRfRFVN
TVlfQVJHIGFyZzNQYXlsb2FkLCBhcmczVGFnKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCmluZGV4IGRlNjMxZDRhZGI2ZDk1
MzM0OGU0MzIyMWU5MzlmN2MwZmM3MjM4MDAuLjIwYzdjNmMxZDc3N2YxYzdkMWE5MGMxOGNlNTU4
OGRlYTljZDkyOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtNDEwMiw2ICs0MTAyLDExIEBAIHZvaWQgU3BlY3Vs
YXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgY29tcGlsZURlbGV0ZUJ5SWQo
bm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KKworICAgIGNhc2UgRGVsZXRlQnlWYWw6IHsK
KyAgICAgICAgY29tcGlsZURlbGV0ZUJ5VmFsKG5vZGUpOworICAgICAgICBicmVhazsKKyAgICB9
CiAgICAgICAgIAogICAgIGNhc2UgQ2hlY2tDZWxsOiB7CiAgICAgICAgIFNwZWN1bGF0ZUNlbGxP
cGVyYW5kIGNlbGwodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKaW5kZXggZjUzYTQ1OGUzMTA3YTI3
NDZjMmQ2MDJlYjNiYTU4YmFkNDA2ODM0YS4uMTZlMTc3ODQ1ZDg2N2E0ZTkyYzhkMjI1OTE4NDZh
NGUzYjc4Yzg5NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklUNjQuY3BwCkBAIC00MTQzLDYgKzQxNDMsMTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBjb21waWxlRGVsZXRlQnlJZChub2RlKTsK
ICAgICAgICAgYnJlYWs7CiAgICAgfQorCisgICAgY2FzZSBEZWxldGVCeVZhbDogeworICAgICAg
ICBjb21waWxlRGVsZXRlQnlWYWwobm9kZSk7CisgICAgICAgIGJyZWFrOworICAgIH0KICAgICAg
ICAgCiAgICAgY2FzZSBDaGVja0NlbGw6IHsKICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQg
Y2VsbCh0aGlzLCBub2RlLT5jaGlsZDEoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5k
ZXggOTZlNGVjMjg2MDE3YTA4MzY4MTI5MDAyYzRjYzNjNTJlYTg2OGY0ZS4uMWY2MThlNDJjMzlk
YzVhN2QzOWJiYjZmNGRmM2NlY2FkNThmYmU5NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNw
cApAQCAtMTg3LDcgKzE4Nyw2IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkK
ICAgICAgICAgdW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQgPSBtX2J5dGVjb2RlT2Zmc2V0OwogCiAg
ICAgICAgIHN3aXRjaCAob3Bjb2RlSUQpIHsKLSAgICAgICAgREVGSU5FX1NMT1dfT1AoZGVsX2J5
X3ZhbCkKICAgICAgICAgREVGSU5FX1NMT1dfT1AoaW4pCiAgICAgICAgIERFRklORV9TTE9XX09Q
KGxlc3MpCiAgICAgICAgIERFRklORV9TTE9XX09QKGxlc3NlcSkKQEAgLTIyMiw2ICsyMjEsNyBA
QCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcygpCiAgICAgICAgIERFRklORV9PUChv
cF9yZXN1bWUpCiAgICAgICAgIERFRklORV9PUChvcF9kZWJ1ZykKICAgICAgICAgREVGSU5FX09Q
KG9wX2RlbF9ieV9pZCkKKyAgICAgICAgREVGSU5FX09QKG9wX2RlbF9ieV92YWwpCiAgICAgICAg
IERFRklORV9PUChvcF9kaXYpCiAgICAgICAgIERFRklORV9PUChvcF9lbmQpCiAgICAgICAgIERF
RklORV9PUChvcF9lbnRlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCmluZGV4IDBjM2YxMWRiOGQx
ZWRhNmQ1MGI1MjZkZjYyMGY0NWVhNDczZjI1MjkuLjRkOTBlNTU3NzAyZTVhMzQyN2ZmZDE2NzFl
NDc4MmVhN2VlNWE1MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaApAQCAtNDk2LDYgKzQ5Niw3
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIGVtaXRfb3BfcmVzdW1lKEluc3RydWN0
aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9kZWJ1ZyhJbnN0cnVjdGlvbiopOwogICAgICAg
ICB2b2lkIGVtaXRfb3BfZGVsX2J5X2lkKEluc3RydWN0aW9uKik7CisgICAgICAgIHZvaWQgZW1p
dF9vcF9kZWxfYnlfdmFsKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9kaXYo
SW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX2VuZChJbnN0cnVjdGlvbiopOwog
ICAgICAgICB2b2lkIGVtaXRfb3BfZW50ZXIoSW5zdHJ1Y3Rpb24qKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCmluZGV4IGRkMWU1ZWI5YjQ5NWYyZWU0NjA1
MDkzZDJiNGZlODFmZmFlYWI2ZDYuLjkwM2I2OTQ0NDgyMjdjNGRkYjNjZmFjZGZiZWE2YWY2ZGI4
OTViMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9u
cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcApA
QCAtMTg3MSw3ICsxODcxLDYgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRp
b25EZWxldGVCeUlkSlNSZXN1bHQoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGUKICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihvcGVyYXRpb25EZWxldGVCeUlkKGV4ZWMsIGJhc2Us
IHVpZCkpKTsKIH0KIAotCiBzaXplX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25EZWxldGVCeUlk
KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJp
bmdJbXBsKiB1aWQpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKQEAgLTE4NzksMTMgKzE4
NzgsNDUgQEAgc2l6ZV90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGVsZXRlQnlJZChFeGVjU3Rh
dGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWQKIAogICAgIEpTT2JqZWN0KiBiYXNlT2Jq
ID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKS50b09iamVjdChleGVjKTsKICAgICBpZiAo
IWJhc2VPYmopCi0gICAgICAgIEpTVmFsdWU6OmVuY29kZShKU1ZhbHVlKCkpOworICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgYm9vbCBjb3VsZERlbGV0ZSA9IGJhc2VPYmotPm1ldGhvZFRhYmxl
KHZtKS0+ZGVsZXRlUHJvcGVydHkoYmFzZU9iaiwgZXhlYywgSWRlbnRpZmllcjo6ZnJvbVVpZCgm
dm0sIHVpZCkpOwogICAgIGlmICghY291bGREZWxldGUgJiYgZXhlYy0+Y29kZUJsb2NrKCktPmlz
U3RyaWN0TW9kZSgpKQogICAgICAgICB2bS50aHJvd0V4Y2VwdGlvbihleGVjLCBjcmVhdGVUeXBl
RXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKCJVbmFibGUgdG8gZGVsZXRlIHByb3BlcnR5LiIpKSk7
CiAgICAgcmV0dXJuIGNvdWxkRGVsZXRlOwogfQogCitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkRlbGV0ZUJ5VmFsSlNSZXN1bHQoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVk
SlNWYWx1ZSBiYXNlLCAgRW5jb2RlZEpTVmFsdWUga2V5KQoreworICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNCb29sZWFuKG9wZXJhdGlvbkRlbGV0ZUJ5VmFsKGV4ZWMsIGJhc2UsIGtleSkp
KTsKK30KKworc2l6ZV90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGVsZXRlQnlWYWwoRXhlY1N0
YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZEtleSkKK3sKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgIE5hdGl2ZUNhbGxGcmFt
ZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKKworICAgIEpTT2JqZWN0KiBiYXNlT2JqID0gSlNW
YWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKS50b09iamVjdChleGVjKTsKKyAgICBKU1ZhbHVlIGtl
eSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkS2V5KTsKKyAgICBpZiAoIWJhc2VPYmopCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIGJvb2wgY291bGREZWxldGU7CisgICAgdWludDMyX3Qg
aW5kZXg7CisgICAgaWYgKGtleS5nZXRVSW50MzIoaW5kZXgpKQorICAgICAgICBjb3VsZERlbGV0
ZSA9IGJhc2VPYmotPm1ldGhvZFRhYmxlKHZtKS0+ZGVsZXRlUHJvcGVydHlCeUluZGV4KGJhc2VP
YmosIGV4ZWMsIGluZGV4KTsKKyAgICBlbHNlIHsKKyAgICAgICAgaWYgKHZtLmV4Y2VwdGlvbigp
KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBJZGVudGlmaWVyIHByb3BlcnR5
ID0ga2V5LnRvUHJvcGVydHlLZXkoZXhlYyk7CisgICAgICAgIGlmICh2bS5leGNlcHRpb24oKSkK
KyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgY291bGREZWxldGUgPSBiYXNlT2Jq
LT5tZXRob2RUYWJsZSh2bSktPmRlbGV0ZVByb3BlcnR5KGJhc2VPYmosIGV4ZWMsIHByb3BlcnR5
KTsKKyAgICB9CisgICAgaWYgKCFjb3VsZERlbGV0ZSAmJiBleGVjLT5jb2RlQmxvY2soKS0+aXNT
dHJpY3RNb2RlKCkpCisgICAgICAgIHZtLnRocm93RXhjZXB0aW9uKGV4ZWMsIGNyZWF0ZVR5cGVF
cnJvcihleGVjLCBBU0NJSUxpdGVyYWwoIlVuYWJsZSB0byBkZWxldGUgcHJvcGVydHkuIikpKTsK
KyAgICByZXR1cm4gY291bGREZWxldGU7Cit9CisKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uSW5zdGFuY2VPZihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFByb3RvKQogewogICAgIFZNJiB2bSA9
IGV4ZWMtPnZtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
ZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCmlu
ZGV4IDU5OWJkMDM3YjNlNWIwMGViNTgxYjhjMmQzYWUwZjQ5NTQ4N2M1ZWMuLmY4OTE4NDcyYjhm
YWVmYTcwMjllMTNhMjBlNTdhZTI1YjM3ZTE4YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUT3BlcmF0aW9ucy5oCkBAIC0zNzMsNiArMzczLDggQEAgRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiBvcGVyYXRpb25IYXNJbmRleGVkUHJvcGVydHlEZWZhdWx0KEV4ZWNTdGF0ZSos
IEVuY28KIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzSW5kZXhlZFBy
b3BlcnR5R2VuZXJpYyhFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFN1YnNjcmlwdCwgQnlWYWxJbmZvKikgV1RGX0lOVEVSTkFMOwog
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25EZWxldGVCeUlkSlNSZXN1bHQo
RXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgYmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZf
SU5URVJOQUw7CiBzaXplX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25EZWxldGVCeUlkKEV4ZWNT
dGF0ZSosIEVuY29kZWRKU1ZhbHVlIGJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVS
TkFMOworRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25EZWxldGVCeVZhbEpT
UmVzdWx0KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGJhc2UsIEVuY29kZWRKU1ZhbHVlIHRh
cmdldCkgV1RGX0lOVEVSTkFMOworc2l6ZV90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGVsZXRl
QnlWYWwoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgYmFzZSwgRW5jb2RlZEpTVmFsdWUgdGFy
Z2V0KSBXVEZfSU5URVJOQUw7CiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0UE5h
bWVzKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KikgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiBvcGVyYXRpb25JbnN0YW5jZU9mKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSBwcm90bykgV1RGX0lOVEVSTkFMOwogaW50MzJfdCBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvblNpemVGcmFtZUZvclZhcmFyZ3MoRXhlY1N0YXRlKiwgRW5jb2RlZEpT
VmFsdWUgYXJndW1lbnRzLCBpbnQzMl90IG51bVVzZWRTdGFja1Nsb3RzLCBpbnQzMl90IGZpcnN0
VmFyQXJnT2Zmc2V0KSBXVEZfSU5URVJOQUw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCmluZGV4IDEzNGFmNzlmYzc3OTg0NTY4NDVlNTA4Yjc5
Nzg0M2Q5MjAxMjU4YzIuLjQ5NGJkMmIxMzE1NzU0NzZjYjUzY2UwY2E0YmQ5ZmFiNzI1ZTFiMzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3Mu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3Bw
CkBAIC01MzIsNiArNTMyLDE2IEBAIHZvaWQgSklUOjplbWl0X29wX2RlbF9ieV9pZChJbnN0cnVj
dGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uRGVs
ZXRlQnlJZEpTUmVzdWx0LCBkc3QsIHJlZ1QwLCBtX2NvZGVCbG9jay0+aWRlbnRpZmllcihwcm9w
ZXJ0eSkuaW1wbCgpKTsKIH0KIAordm9pZCBKSVQ6OmVtaXRfb3BfZGVsX2J5X3ZhbChJbnN0cnVj
dGlvbiogY3VycmVudEluc3RydWN0aW9uKQoreworICAgIGludCBkc3QgPSBjdXJyZW50SW5zdHJ1
Y3Rpb25bMV0udS5vcGVyYW5kOworICAgIGludCBiYXNlID0gY3VycmVudEluc3RydWN0aW9uWzJd
LnUub3BlcmFuZDsKKyAgICBpbnQgcHJvcGVydHkgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bM10udS5v
cGVyYW5kOworICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoYmFzZSwgcmVnVDApOworICAgIGVt
aXRHZXRWaXJ0dWFsUmVnaXN0ZXIocHJvcGVydHksIHJlZ1QxKTsKKyAgICBjYWxsT3BlcmF0aW9u
KG9wZXJhdGlvbkRlbGV0ZUJ5VmFsSlNSZXN1bHQsIGRzdCwgcmVnVDAsIHJlZ1QxKTsKK30KKwog
dm9pZCBKSVQ6OmVtaXRfb3BfdHJ5X2dldF9ieV9pZChJbnN0cnVjdGlvbiogY3VycmVudEluc3Ry
dWN0aW9uKQogewogICAgIGludCByZXN1bHRWUmVnID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUu
b3BlcmFuZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
ZGVsZXRlLWJ5LXZhbC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZGVs
ZXRlLWJ5LXZhbC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMjdkODg5YjM5MzAyN2ZlOGI0YTUxODExM2VjN2Fk
ODdkNzA4ZDY4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9kZWxldGUtYnktdmFsLmpzCkBAIC0wLDAgKzEsMTUgQEAKK2Z1bmN0aW9uIGFzc2Vy
dChjb25kaXRpb24pIHsKKyAgICBpZiAoIWNvbmRpdGlvbikKKyAgICAgICAgdGhyb3cgbmV3IEVy
cm9yKCJhc3NlcnRpb24gZmFpbGVkIik7Cit9CisKK2Z1bmN0aW9uIHRlc3QoaSkgeworICAgIGxl
dCBmb28gPSB7fTsKKyAgICBmb29bImJhciIgKyBpXSA9IDE7CisgICAgYXNzZXJ0KGZvb1siYmFy
IiArIGldID09PSAxKQorICAgIGFzc2VydChkZWxldGUgZm9vWyJiYXIiICsgaV0pOworICAgIGFz
c2VydCghKCJiYXIiICsgaSBpbiBmb28pKTsKK30KKworZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAw
MDA7ICsraSkKKyAgICB0ZXN0KGkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9kZWxldGUtdG8tb2JqZWN0LWV4Y2VwdGlvbi5qcyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZGVsZXRlLXRvLW9iamVjdC1leGNlcHRpb24uanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMzQyMTAwM2MxMmVkMjA2YzRkNjlkMmViOGFlNGQwYjkxZWQ1ZWNmOAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZGVsZXRlLXRv
LW9iamVjdC1leGNlcHRpb24uanMKQEAgLTAsMCArMSwyNCBAQAorZnVuY3Rpb24gYXNzZXJ0KGNv
bmRpdGlvbikgeworICAgIGlmICghY29uZGl0aW9uKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
ImFzc2VydGlvbiBmYWlsZWQiKTsKK30KKworZnVuY3Rpb24gdGVzdChpKSB7CisgICAgbGV0IHZh
bHVlID0gbnVsbDsKKyAgICBsZXQgcGFzc2VkID0gdHJ1ZTsKKworICAgIHRyeSB7CisgICAgICAg
IGRlbGV0ZSB2YWx1ZS5iYXI7CisgICAgICAgIHBhc3NlZCA9IGZhbHNlOworICAgIH0gY2F0Y2go
ZSkge30KKyAgICB0cnkgeworICAgICAgICBkZWxldGUgdmFsdWVbImJhciIgKyBpXTsKKyAgICAg
ICAgcGFzc2VkID0gZmFsc2U7CisgICAgfSBjYXRjaChlKSB7fQorICAgIGlmICghcGFzc2VkKQor
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoImRpZG4ndCB0aHJvdyIpOworfQorbm9JbmxpbmUodGVz
dCk7CisKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkKKyAgICB0ZXN0KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278165</attachid>
            <date>2016-05-05 08:18:10 -0700</date>
            <delta_ts>2016-05-05 10:29:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157372-20160505101850.patch</filename>
            <type>text/plain</type>
            <size>21297</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwNDU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
NDFmZGI3ZTBhNGU2OWNlN2JjNjIyMWMxNzMxNjg2MmM3YWZiYzE3Li5lOGViMWFkNWM3OWY2ZjRl
MWYxODI4ODZkNGVkNzc1MjBkN2ViYTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NiBAQAorMjAxNi0wNS0wNSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgZGVsZXRlIGJ5IHZhbHVlIHRvIHRoZSBE
RkcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzM3
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMg
cGF0Y2ggYWRkcyBiYXNpYyBzdXBwb3J0IGZvciBkZWxldGUgYnkgdmFsdWUgdG8gdGhlIERGRy4g
ZGVsZXRlIGJ5IHZhbHVlCisgICAgICAgIGp1c3QgY2FsbHMgb3V0IHRvIGEgQysrIG9wZXJhdGlv
biBvbiBlYWNoIGV4ZWN1dGlvbi4gQWRkaXRpb25hbGx5LCB0aGlzIHBhdGNoCisgICAgICAgIGZp
eGVzIGFuIGlzc3VlIHdpdGggZGVsZXRlIGJ5IGlkIHdoZXJlIHdlIHdvdWxkIGNyYXNoIGlmIHRo
ZSBiYXNlIHdhcyBudWxsCisgICAgICAgIG9yIHVuZGVmaW5lZC4KKworICAgICAgICAqIGRmZy9E
RkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpERkc6OkFic3Ry
YWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyk6CisgICAg
ICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpCeXRl
Q29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0NhcGFiaWxpdGllcy5j
cHA6CisgICAgICAgIChKU0M6OkRGRzo6Y2FwYWJpbGl0eUxldmVsKToKKyAgICAgICAgKiBkZmcv
REZHQ2xvYmJlcml6ZS5oOgorICAgICAgICAoSlNDOjpERkc6OmNsb2JiZXJpemUpOgorICAgICAg
ICAqIGRmZy9ERkdEb2VzR0MuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmRvZXNHQyk6CisgICAg
ICAgICogZGZnL0RGR0ZpeHVwUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVwUGhh
c2U6OmZpeHVwTm9kZSk6CisgICAgICAgICogZGZnL0RGR05vZGVUeXBlLmg6CisgICAgICAgICog
ZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcDoKKyAgICAgICAgKiBkZmcvREZH
U2FmZVRvRXhlY3V0ZS5oOgorICAgICAgICAoSlNDOjpERkc6OnNhZmVUb0V4ZWN1dGUpOgorICAg
ICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGVEZWxldGVCeUlkKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZURlbGV0ZUJ5VmFsKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3Vs
YXRpdmVKSVQuaDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y2FsbE9wZXJh
dGlvbik6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAg
ICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZH
U3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGUpOgorICAgICAgICAqIGppdC9KSVQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnBy
aXZhdGVDb21waWxlTWFpblBhc3MpOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAgICAgKiBq
aXQvSklUT3BlcmF0aW9ucy5jcHA6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuaDoKKyAg
ICAgICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVt
aXRfb3BfZGVsX2J5X3ZhbCk6CisgICAgICAgICogaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQu
Y3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfZGVsX2J5X3ZhbCk6CisgICAgICAgICog
dGVzdHMvc3RyZXNzL2RlbGV0ZS1ieS12YWwuanM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0KToK
KyAgICAgICAgKHRlc3QpOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9kZWxldGUtdG8tb2JqZWN0
LWV4Y2VwdGlvbi5qczogQWRkZWQuCisgICAgICAgIChhc3NlcnQpOgorICAgICAgICAodGVzdCk6
CisKIDIwMTYtMDUtMDUgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAog
ICAgICAgICBDcmVhdGUgY29uc29sZSBvYmplY3QgbGF6aWx5CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5k
ZXggZDc5Y2RhYmM3NDUyNjIyYjkzYzM4OTNkNWI2YjA2ZTk2MTljMTYzZS4uNGI3Mzg4ODEzNjY2
ZTUwNjA2MTNlNTZlMTIxOTZiODVlYjIxMGJjMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtMjE5
MSw3ICsyMTkxLDggQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBl
Pjo6ZXhlY3V0ZUVmZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICAgICAgYnJlYWs7CiAg
ICAgfQogCi0gICAgY2FzZSBEZWxldGVCeUlkOiB7CisgICAgY2FzZSBEZWxldGVCeUlkOgorICAg
IGNhc2UgRGVsZXRlQnlWYWw6IHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgY291bGQgZGVjaWRl
IGlmIHRoZSBkZWxldGUgd2lsbCBiZSBzdWNjZXNzZnVsIGJhc2VkIG9uIHRoZSBzZXQgb2Ygc3Ry
dWN0dXJlcyB0aGF0CiAgICAgICAgIC8vIHdlIGdldCBmcm9tIG91ciBiYXNlIHZhbHVlLiBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU2NjExCiAgICAgICAgIGNsb2Ji
ZXJXb3JsZChub2RlLT5vcmlnaW4uc2VtYW50aWMsIGNsb2JiZXJMaW1pdCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCmluZGV4IDBjYjI1MGEy
N2IxZGMzYTI5M2JjMzE2NDIxY2JkOTY3YmYxZjdiZmMuLjZjMTE5NDFmNWIwZDk3OTc0NjA0YTll
YzIxOTNjNTBkMWQ0NGJhOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQnl0ZUNvZGVQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Qnl0ZUNvZGVQYXJzZXIuY3BwCkBAIC00MTYwLDYgKzQxNjAsMTQgQEAgYm9vbCBCeXRlQ29kZVBh
cnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBsaW1pdCkKICAgICAgICAgICAgIE5FWFRfT1BDT0RF
KG9wX2RlbF9ieV9pZCk7CiAgICAgICAgIH0KIAorICAgICAgICBjYXNlIG9wX2RlbF9ieV92YWw6
IHsKKyAgICAgICAgICAgIGludCBkc3QgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5k
OworICAgICAgICAgICAgTm9kZSogYmFzZSA9IGdldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudElu
c3RydWN0aW9uWzJdLnUub3BlcmFuZCkpOworICAgICAgICAgICAgTm9kZSoga2V5ID0gZ2V0KFZp
cnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kKSk7CisgICAgICAg
ICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGRzdCksIGFkZFRvR3JhcGgoRGVsZXRlQnlWYWwsIGJh
c2UsIGtleSkpOworICAgICAgICAgICAgTkVYVF9PUENPREUob3BfZGVsX2J5X3ZhbCk7CisgICAg
ICAgIH0KKwogICAgICAgICBjYXNlIG9wX3Byb2ZpbGVfdHlwZTogewogICAgICAgICAgICAgTm9k
ZSogdmFsdWVUb1Byb2ZpbGUgPSBnZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlv
blsxXS51Lm9wZXJhbmQpKTsKICAgICAgICAgICAgIGFkZFRvR3JhcGgoUHJvZmlsZVR5cGUsIE9w
SW5mbyhjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5sb2NhdGlvbiksIHZhbHVlVG9Qcm9maWxlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCAx
ZTkyNTM4NjBmZWNhYjg0YjExZjRlZmUyOTllNDczOGViMGQzYTE4Li4xOThmMWE4NGI3M2Q1NzEw
YWNlZTFmMTllNmZhM2I2YTgzYTZjOWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdDYXBhYmlsaXRpZXMuY3BwCkBAIC0xNjQsNiArMTY0LDcgQEAgQ2FwYWJpbGl0eUxldmVs
IGNhcGFiaWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ss
IEluc3RydWMKICAgICBjYXNlIG9wX3B1dF9nZXR0ZXJfYnlfdmFsOgogICAgIGNhc2Ugb3BfcHV0
X3NldHRlcl9ieV92YWw6CiAgICAgY2FzZSBvcF9kZWxfYnlfaWQ6CisgICAgY2FzZSBvcF9kZWxf
YnlfdmFsOgogICAgIGNhc2Ugb3Bfam1wOgogICAgIGNhc2Ugb3BfanRydWU6CiAgICAgY2FzZSBv
cF9qZmFsc2U6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2Ji
ZXJpemUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCmluZGV4
IGNjNmU1ODIzM2U5Y2FhYjg3YWQzZWRkMGMyMWY2Nzc0ZDUzMTY4YmMuLjM4N2E2MWQ4NjNhNzNk
YjI3MTA0M2U5ZTc5ZDc4ZTg0YjBjYTI5YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQ2xvYmJlcml6ZS5oCkBAIC00NDgsNiArNDQ4LDcgQEAgdm9pZCBjbG9iYmVyaXplKEdyYXBo
JiBncmFwaCwgTm9kZSogbm9kZSwgY29uc3QgUmVhZEZ1bmN0b3ImIHJlYWQsIGNvbnN0IFdyaXRl
RnUKICAgICBjYXNlIFB1dEdldHRlckJ5VmFsOgogICAgIGNhc2UgUHV0U2V0dGVyQnlWYWw6CiAg
ICAgY2FzZSBEZWxldGVCeUlkOgorICAgIGNhc2UgRGVsZXRlQnlWYWw6CiAgICAgY2FzZSBBcnJh
eVB1c2g6CiAgICAgY2FzZSBBcnJheVBvcDoKICAgICBjYXNlIENhbGw6CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKaW5kZXggYWQ3ZmRkYmM0NzU0MTVhODI0YjgyM2Q4NzMy
NmM0OWMzZmIyOGM4OS4uOTk3ZGUzYjFlMjFkZTcyOGZlYTVjNmRkZmZkOWZlNzFhMGRiZDViYyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcApAQCAtMTA4LDYgKzEwOCw3
IEBAIGJvb2wgZG9lc0dDKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIFB1dEdl
dHRlckJ5VmFsOgogICAgIGNhc2UgUHV0U2V0dGVyQnlWYWw6CiAgICAgY2FzZSBEZWxldGVCeUlk
OgorICAgIGNhc2UgRGVsZXRlQnlWYWw6CiAgICAgY2FzZSBDaGVja1N0cnVjdHVyZToKICAgICBj
YXNlIEdldEV4ZWN1dGFibGU6CiAgICAgY2FzZSBHZXRCdXR0ZXJmbHk6CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAppbmRleCA0MTZiMTMyNWE0MWMzNjQ5ZjAw
MDliNWMxZmUwODNlNTZmZTAxOTk3Li5hNzY2ODM5YjFiNGY5NGFmYmMyYmVmODU3MDMwZjRkMzEy
YzI3MWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhh
c2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAK
QEAgLTE1NDEsNiArMTU0MSw3IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgUHJvZmlsZVdpbGxD
YWxsOgogICAgICAgICBjYXNlIFByb2ZpbGVEaWRDYWxsOgogICAgICAgICBjYXNlIERlbGV0ZUJ5
SWQ6CisgICAgICAgIGNhc2UgRGVsZXRlQnlWYWw6CiAgICAgICAgIGNhc2UgSXNBcnJheU9iamVj
dDoKICAgICAgICAgY2FzZSBJc0pTQXJyYXk6CiAgICAgICAgIGNhc2UgSXNBcnJheUNvbnN0cnVj
dG9yOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCmluZGV4IDI1NTRiMmFj
ZmU4NWZjM2U1Yzg0YjdmNDk4NDQ0YmM5MGFlMWI3MmMuLjFiZTY3MzhiZTNkMmIyYzUzMTdjOWIy
YmJiNmU2YTc1ZTY1ZmE4ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHTm9kZVR5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBl
LmgKQEAgLTE5NSw2ICsxOTUsNyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAg
ICAgbWFjcm8oUHV0R2V0dGVyQnlWYWwsIE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBtYWNybyhQ
dXRTZXR0ZXJCeVZhbCwgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIG1hY3JvKERlbGV0ZUJ5SWQs
IE5vZGVSZXN1bHRCb29sZWFuIHwgTm9kZU11c3RHZW5lcmF0ZSkgXAorICAgIG1hY3JvKERlbGV0
ZUJ5VmFsLCBOb2RlUmVzdWx0Qm9vbGVhbiB8IE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBtYWNy
byhDaGVja1N0cnVjdHVyZSwgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIG1hY3JvKEdldEV4ZWN1
dGFibGUsIE5vZGVSZXN1bHRKUykgXAogICAgIG1hY3JvKFB1dFN0cnVjdHVyZSwgTm9kZU11c3RH
ZW5lcmF0ZSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVk
aWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAppbmRleCA1NDJiMThjMzNjMzU5N2EwZTNl
Y2M1MDViOGRkYmQzYWQwNjk0MGM1Li4zYjk5MjcyYTUyMDlmY2JjMDE2YmZjYjE4ODcxZjVmYTY2
MDA0Mjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rp
b25Qcm9wYWdhdGlvblBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcApAQCAtNzUxLDYgKzc1MSw3IEBAIHByaXZh
dGU6CiAgICAgICAgICAgICBzZXRQcmVkaWN0aW9uKFNwZWNEb3VibGVSZWFsKTsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICB9CisgICAgICAgIGNhc2UgRGVsZXRlQnlWYWw6CiAgICAgICAg
IGNhc2UgRGVsZXRlQnlJZDoKICAgICAgICAgY2FzZSBMb2dpY2FsTm90OgogICAgICAgICBjYXNl
IENvbXBhcmVMZXNzOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
YWZlVG9FeGVjdXRlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1
dGUuaAppbmRleCBlNmE4YWY5NjViMTRhNjdkYjVhYmIyYzdjNzM0M2NlOWJhNWEwNDRhLi5hNzRj
ODc4YmE2YmY3ODZhNDQyYzhjZmQ5MDMxYmVlZjA0MzdmZGRjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaApAQCAtMTkzLDYgKzE5Myw3IEBAIGJvb2wg
c2FmZVRvRXhlY3V0ZShBYnN0cmFjdFN0YXRlVHlwZSYgc3RhdGUsIEdyYXBoJiBncmFwaCwgTm9k
ZSogbm9kZSkKICAgICBjYXNlIFZhbHVlQWRkOgogICAgIGNhc2UgVHJ5R2V0QnlJZDoKICAgICBj
YXNlIERlbGV0ZUJ5SWQ6CisgICAgY2FzZSBEZWxldGVCeVZhbDoKICAgICBjYXNlIEdldEJ5SWQ6
CiAgICAgY2FzZSBHZXRCeUlkRmx1c2g6CiAgICAgY2FzZSBQdXRCeUlkOgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCA0YTBiZDk2Mzk0
ZTg2NmRiNjQ2MDc0ZjcxYWQ1NzFlY2Q2NWRhYmNjLi5jOGMzOWFlMzhiOTU5NTNhYjQ3NjU3MDkz
ZjE1YzM3YzVkNWZjZjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmNwcApAQCAtMTA3Miw2ICsxMDcyLDI2IEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVEZWxldGVCeUlkKE5vZGUqIG5vZGUpCiAgICAgdW5ibGVzc2VkQm9vbGVhblJl
c3VsdChyZXN1bHRHUFIsIG5vZGUsIFVzZUNoaWxkcmVuQ2FsbGVkRXhwbGljaXRseSk7CiB9CiAK
K3ZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVEZWxldGVCeVZhbChOb2RlKiBub2RlKQorewor
ICAgIEpTVmFsdWVPcGVyYW5kIGJhc2UodGhpcywgbm9kZS0+Y2hpbGQxKCkpOworICAgIEpTVmFs
dWVPcGVyYW5kIGtleSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7CisgICAgR1BSRmx1c2hlZENhbGxS
ZXN1bHQgcmVzdWx0KHRoaXMpOworCisgICAgSlNWYWx1ZVJlZ3MgYmFzZVJlZ3MgPSBiYXNlLmpz
VmFsdWVSZWdzKCk7CisgICAgSlNWYWx1ZVJlZ3Mga2V5UmVncyA9IGtleS5qc1ZhbHVlUmVncygp
OworICAgIEdQUlJlZyByZXN1bHRHUFIgPSByZXN1bHQuZ3ByKCk7CisKKyAgICBiYXNlLnVzZSgp
OworICAgIGtleS51c2UoKTsKKworICAgIGZsdXNoUmVnaXN0ZXJzKCk7CisgICAgY2FsbE9wZXJh
dGlvbihvcGVyYXRpb25EZWxldGVCeVZhbCwgcmVzdWx0R1BSLCBiYXNlUmVncywga2V5UmVncyk7
CisgICAgbV9qaXQuZXhjZXB0aW9uQ2hlY2soKTsKKworICAgIHVuYmxlc3NlZEJvb2xlYW5SZXN1
bHQocmVzdWx0R1BSLCBub2RlLCBVc2VDaGlsZHJlbkNhbGxlZEV4cGxpY2l0bHkpOworfQorCiBi
b29sIFNwZWN1bGF0aXZlSklUOjpub25TcGVjdWxhdGl2ZUNvbXBhcmUoTm9kZSogbm9kZSwgTWFj
cm9Bc3NlbWJsZXI6OlJlbGF0aW9uYWxDb25kaXRpb24gY29uZCwgU19KSVRPcGVyYXRpb25fRUpK
IGhlbHBlckZ1bmN0aW9uKQogewogICAgIHVuc2lnbmVkIGJyYW5jaEluZGV4SW5CbG9jayA9IGRl
dGVjdFBlZXBIb2xlQnJhbmNoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmgKaW5kZXggNDg1NTYzYThjYjZkMjY1MThlN2MyYmNiZDA4YmJjMDk3MTBj
MzI0Ni4uMWJlYjE5OWMxNWQxMzdlZmY3MWUyZjIxYzU3ZTc1MzQ4MDYzOWY5NiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaApAQCAtNzE1LDYgKzcx
NSw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgdm9pZCBjb21waWxlRGVsZXRlQnlJZChOb2Rl
Kik7CisgICAgdm9pZCBjb21waWxlRGVsZXRlQnlWYWwoTm9kZSopOwogICAgIHZvaWQgY29tcGls
ZVRyeUdldEJ5SWQoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZUluKE5vZGUqKTsKICAgICAKQEAg
LTE1MTEsNiArMTUxMiwxMCBAQCBwdWJsaWM6CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRz
V2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRS
ZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KKyAgICBKSVRDb21waWxlcjo6Q2FsbCBj
YWxsT3BlcmF0aW9uKFNfSklUT3BlcmF0aW9uX0VKSiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQs
ICBKU1ZhbHVlUmVncyBhcmcxLCBKU1ZhbHVlUmVncyBhcmcyKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uLCByZXN1bHQsIGFyZzEuZ3ByKCksIGFyZzIuZ3By
KCkpOworICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFNfSklUT3Bl
cmF0aW9uX0VHSkogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwgR1BSUmVn
IGFyZzIsIEdQUlJlZyBhcmczKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNX
aXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIsIGFyZzMpOwpAQCAtMTk0Niw2ICsxOTUxLDEyIEBAIHB1
YmxpYzoKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKEVBQklfMzJC
SVRfRFVNTVlfQVJHIGFyZzFQYXlsb2FkLCBhcmcxVGFnLCBTSDRfMzJCSVRfRFVNTVlfQVJHIGFy
ZzJQYXlsb2FkLCBhcmcyVGFnKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQo
b3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KKworICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oU19KSVRPcGVyYXRpb25fRUpKIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgSlNW
YWx1ZVJlZ3MgYXJnMSwgSlNWYWx1ZVJlZ3MgYXJnMikKKyAgICB7CisgICAgICAgIHJldHVybiBj
YWxsT3BlcmF0aW9uKG9wZXJhdGlvbiwgcmVzdWx0LCBhcmcxLnRhZ0dQUigpLCBhcmcxLnBheWxv
YWRHUFIoKSwgYXJnMi50YWdHUFIoKSwgYXJnMi5wYXlsb2FkR1BSKCkpOworICAgIH0KKwogICAg
IEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oU19KSVRPcGVyYXRpb25fRUdKSiBvcGVy
YXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMlRhZywgR1BSUmVn
IGFyZzJQYXlsb2FkLCBHUFJSZWcgYXJnM1RhZywgR1BSUmVnIGFyZzNQYXlsb2FkKQogICAgIHsK
ICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzJQYXls
b2FkLCBhcmcyVGFnLCBTSDRfMzJCSVRfRFVNTVlfQVJHIGFyZzNQYXlsb2FkLCBhcmczVGFnKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQz
Ml82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJf
NjQuY3BwCmluZGV4IGRlNjMxZDRhZGI2ZDk1MzM0OGU0MzIyMWU5MzlmN2MwZmM3MjM4MDAuLjIw
YzdjNmMxZDc3N2YxYzdkMWE5MGMxOGNlNTU4OGRlYTljZDkyOWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtNDEw
Miw2ICs0MTAyLDExIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkK
ICAgICAgICAgY29tcGlsZURlbGV0ZUJ5SWQobm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0K
KworICAgIGNhc2UgRGVsZXRlQnlWYWw6IHsKKyAgICAgICAgY29tcGlsZURlbGV0ZUJ5VmFsKG5v
ZGUpOworICAgICAgICBicmVhazsKKyAgICB9CiAgICAgICAgIAogICAgIGNhc2UgQ2hlY2tDZWxs
OiB7CiAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGNlbGwodGhpcywgbm9kZS0+Y2hpbGQx
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVDY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2
NC5jcHAKaW5kZXggZjUzYTQ1OGUzMTA3YTI3NDZjMmQ2MDJlYjNiYTU4YmFkNDA2ODM0YS4uMTZl
MTc3ODQ1ZDg2N2E0ZTkyYzhkMjI1OTE4NDZhNGUzYjc4Yzg5NiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCkBAIC00MTQzLDYgKzQx
NDMsMTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAg
ICBjb21waWxlRGVsZXRlQnlJZChub2RlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQorCisgICAg
Y2FzZSBEZWxldGVCeVZhbDogeworICAgICAgICBjb21waWxlRGVsZXRlQnlWYWwobm9kZSk7Cisg
ICAgICAgIGJyZWFrOworICAgIH0KICAgICAgICAgCiAgICAgY2FzZSBDaGVja0NlbGw6IHsKICAg
ICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgY2VsbCh0aGlzLCBub2RlLT5jaGlsZDEoKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXggOTZlNGVjMjg2MDE3YTA4MzY4MTI5MDAyYzRj
YzNjNTJlYTg2OGY0ZS4uMWY2MThlNDJjMzlkYzVhN2QzOWJiYjZmNGRmM2NlY2FkNThmYmU5NSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApAQCAtMTg3LDcgKzE4Nyw2IEBAIHZvaWQgSklU
Ojpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgdW5zaWduZWQgYnl0ZWNvZGVPZmZz
ZXQgPSBtX2J5dGVjb2RlT2Zmc2V0OwogCiAgICAgICAgIHN3aXRjaCAob3Bjb2RlSUQpIHsKLSAg
ICAgICAgREVGSU5FX1NMT1dfT1AoZGVsX2J5X3ZhbCkKICAgICAgICAgREVGSU5FX1NMT1dfT1Ao
aW4pCiAgICAgICAgIERFRklORV9TTE9XX09QKGxlc3MpCiAgICAgICAgIERFRklORV9TTE9XX09Q
KGxlc3NlcSkKQEAgLTIyMiw2ICsyMjEsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVNYWlu
UGFzcygpCiAgICAgICAgIERFRklORV9PUChvcF9yZXN1bWUpCiAgICAgICAgIERFRklORV9PUChv
cF9kZWJ1ZykKICAgICAgICAgREVGSU5FX09QKG9wX2RlbF9ieV9pZCkKKyAgICAgICAgREVGSU5F
X09QKG9wX2RlbF9ieV92YWwpCiAgICAgICAgIERFRklORV9PUChvcF9kaXYpCiAgICAgICAgIERF
RklORV9PUChvcF9lbmQpCiAgICAgICAgIERFRklORV9PUChvcF9lbnRlcikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVC5oCmluZGV4IDBjM2YxMWRiOGQxZWRhNmQ1MGI1MjZkZjYyMGY0NWVhNDczZjI1Mjku
LjRkOTBlNTU3NzAyZTVhMzQyN2ZmZDE2NzFlNDc4MmVhN2VlNWE1MGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVQuaApAQCAtNDk2LDYgKzQ5Niw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2
b2lkIGVtaXRfb3BfcmVzdW1lKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9k
ZWJ1ZyhJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfZGVsX2J5X2lkKEluc3Ry
dWN0aW9uKik7CisgICAgICAgIHZvaWQgZW1pdF9vcF9kZWxfYnlfdmFsKEluc3RydWN0aW9uKik7
CiAgICAgICAgIHZvaWQgZW1pdF9vcF9kaXYoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBl
bWl0X29wX2VuZChJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfZW50ZXIoSW5z
dHJ1Y3Rpb24qKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bl
cmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3Bw
CmluZGV4IGRkMWU1ZWI5YjQ5NWYyZWU0NjA1MDkzZDJiNGZlODFmZmFlYWI2ZDYuLjkwM2I2OTQ0
NDgyMjdjNGRkYjNjZmFjZGZiZWE2YWY2ZGI4OTViMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcApAQCAtMTg3MSw3ICsxODcxLDYgQEAgRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25EZWxldGVCeUlkSlNSZXN1bHQoRXhlY1N0YXRl
KiBleGVjLCBFbmNvZGUKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihvcGVy
YXRpb25EZWxldGVCeUlkKGV4ZWMsIGJhc2UsIHVpZCkpKTsKIH0KIAotCiBzaXplX3QgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25EZWxldGVCeUlkKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZEJhc2UsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVk0mIHZtID0g
ZXhlYy0+dm0oKTsKQEAgLTE4NzksMTMgKzE4NzgsNDUgQEAgc2l6ZV90IEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uRGVsZXRlQnlJZChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWQKIAogICAgIEpTT2JqZWN0KiBiYXNlT2JqID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNl
KS50b09iamVjdChleGVjKTsKICAgICBpZiAoIWJhc2VPYmopCi0gICAgICAgIEpTVmFsdWU6OmVu
Y29kZShKU1ZhbHVlKCkpOworICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgYm9vbCBjb3VsZERl
bGV0ZSA9IGJhc2VPYmotPm1ldGhvZFRhYmxlKHZtKS0+ZGVsZXRlUHJvcGVydHkoYmFzZU9iaiwg
ZXhlYywgSWRlbnRpZmllcjo6ZnJvbVVpZCgmdm0sIHVpZCkpOwogICAgIGlmICghY291bGREZWxl
dGUgJiYgZXhlYy0+Y29kZUJsb2NrKCktPmlzU3RyaWN0TW9kZSgpKQogICAgICAgICB2bS50aHJv
d0V4Y2VwdGlvbihleGVjLCBjcmVhdGVUeXBlRXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKCJVbmFi
bGUgdG8gZGVsZXRlIHByb3BlcnR5LiIpKSk7CiAgICAgcmV0dXJuIGNvdWxkRGVsZXRlOwogfQog
CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkRlbGV0ZUJ5VmFsSlNSZXN1
bHQoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBiYXNlLCAgRW5jb2RlZEpTVmFsdWUg
a2V5KQoreworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKG9wZXJhdGlvbkRl
bGV0ZUJ5VmFsKGV4ZWMsIGJhc2UsIGtleSkpKTsKK30KKworc2l6ZV90IEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uRGVsZXRlQnlWYWwoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkQmFzZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEtleSkKK3sKKyAgICBWTSYgdm0gPSBleGVj
LT52bSgpOworICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKKwor
ICAgIEpTT2JqZWN0KiBiYXNlT2JqID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKS50b09i
amVjdChleGVjKTsKKyAgICBKU1ZhbHVlIGtleSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkS2V5
KTsKKyAgICBpZiAoIWJhc2VPYmopCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGJvb2wg
Y291bGREZWxldGU7CisgICAgdWludDMyX3QgaW5kZXg7CisgICAgaWYgKGtleS5nZXRVSW50MzIo
aW5kZXgpKQorICAgICAgICBjb3VsZERlbGV0ZSA9IGJhc2VPYmotPm1ldGhvZFRhYmxlKHZtKS0+
ZGVsZXRlUHJvcGVydHlCeUluZGV4KGJhc2VPYmosIGV4ZWMsIGluZGV4KTsKKyAgICBlbHNlIHsK
KyAgICAgICAgaWYgKHZtLmV4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICBJZGVudGlmaWVyIHByb3BlcnR5ID0ga2V5LnRvUHJvcGVydHlLZXkoZXhlYyk7Cisg
ICAgICAgIGlmICh2bS5leGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgY291bGREZWxldGUgPSBiYXNlT2JqLT5tZXRob2RUYWJsZSh2bSktPmRlbGV0ZVByb3Bl
cnR5KGJhc2VPYmosIGV4ZWMsIHByb3BlcnR5KTsKKyAgICB9CisgICAgaWYgKCFjb3VsZERlbGV0
ZSAmJiBleGVjLT5jb2RlQmxvY2soKS0+aXNTdHJpY3RNb2RlKCkpCisgICAgICAgIHZtLnRocm93
RXhjZXB0aW9uKGV4ZWMsIGNyZWF0ZVR5cGVFcnJvcihleGVjLCBBU0NJSUxpdGVyYWwoIlVuYWJs
ZSB0byBkZWxldGUgcHJvcGVydHkuIikpKTsKKyAgICByZXR1cm4gY291bGREZWxldGU7Cit9CisK
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW5zdGFuY2VPZihFeGVjU3Rh
dGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFByb3RvKQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCmluZGV4IDU5OWJkMDM3YjNlNWIwMGViNTgxYjhjMmQz
YWUwZjQ5NTQ4N2M1ZWMuLmY4OTE4NDcyYjhmYWVmYTcwMjllMTNhMjBlNTdhZTI1YjM3ZTE4YmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCkBAIC0zNzMsNiAr
MzczLDggQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25IYXNJbmRleGVk
UHJvcGVydHlEZWZhdWx0KEV4ZWNTdGF0ZSosIEVuY28KIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5R2VuZXJpYyhFeGVjU3RhdGUqLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFN1YnNjcmlwdCwg
QnlWYWxJbmZvKikgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBv
cGVyYXRpb25EZWxldGVCeUlkSlNSZXN1bHQoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgYmFz
ZSwgVW5pcXVlZFN0cmluZ0ltcGwqKSBXVEZfSU5URVJOQUw7CiBzaXplX3QgSklUX09QRVJBVElP
TiBvcGVyYXRpb25EZWxldGVCeUlkKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGJhc2UsIFVu
aXF1ZWRTdHJpbmdJbXBsKikgV1RGX0lOVEVSTkFMOworRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiBvcGVyYXRpb25EZWxldGVCeVZhbEpTUmVzdWx0KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1Zh
bHVlIGJhc2UsIEVuY29kZWRKU1ZhbHVlIHRhcmdldCkgV1RGX0lOVEVSTkFMOworc2l6ZV90IEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uRGVsZXRlQnlWYWwoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFs
dWUgYmFzZSwgRW5jb2RlZEpTVmFsdWUgdGFyZ2V0KSBXVEZfSU5URVJOQUw7CiBKU0NlbGwqIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0UE5hbWVzKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KikgV1RG
X0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25JbnN0YW5j
ZU9mKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBwcm90bykgV1RG
X0lOVEVSTkFMOwogaW50MzJfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblNpemVGcmFtZUZvclZh
cmFyZ3MoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgYXJndW1lbnRzLCBpbnQzMl90IG51bVVz
ZWRTdGFja1Nsb3RzLCBpbnQzMl90IGZpcnN0VmFyQXJnT2Zmc2V0KSBXVEZfSU5URVJOQUw7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCmluZGV4
IDEzNGFmNzlmYzc3OTg0NTY4NDVlNTA4Yjc5Nzg0M2Q5MjAxMjU4YzIuLjQ5NGJkMmIxMzE1NzU0
NzZjYjUzY2UwY2E0YmQ5ZmFiNzI1ZTFiMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCkBAIC01MzIsNiArNTMyLDE2IEBAIHZvaWQgSklU
OjplbWl0X29wX2RlbF9ieV9pZChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAg
IGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uRGVsZXRlQnlJZEpTUmVzdWx0LCBkc3QsIHJlZ1QwLCBt
X2NvZGVCbG9jay0+aWRlbnRpZmllcihwcm9wZXJ0eSkuaW1wbCgpKTsKIH0KIAordm9pZCBKSVQ6
OmVtaXRfb3BfZGVsX2J5X3ZhbChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQorewor
ICAgIGludCBkc3QgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kOworICAgIGludCBi
YXNlID0gY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZDsKKyAgICBpbnQgcHJvcGVydHkg
PSBjdXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kOworICAgIGVtaXRHZXRWaXJ0dWFsUmVn
aXN0ZXIoYmFzZSwgcmVnVDApOworICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIocHJvcGVydHks
IHJlZ1QxKTsKKyAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbkRlbGV0ZUJ5VmFsSlNSZXN1bHQs
IGRzdCwgcmVnVDAsIHJlZ1QxKTsKK30KKwogdm9pZCBKSVQ6OmVtaXRfb3BfdHJ5X2dldF9ieV9p
ZChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogewogICAgIGludCByZXN1bHRWUmVn
ID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwCmluZGV4IDk2M2FhODc2
NmNlM2M4NDZmNDg1OTlmMmI0ZGFiZGRmYjNiOTg1YjYuLjM4YjA3Mjk1M2M1MDlhMjc0MzRkMmIy
ZDRiNzY2ZjRhNzYzODBhZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcApAQCAtMTMwLDYgKzEzMCwxNSBAQCB2b2lkIEpJ
VDo6ZW1pdF9vcF9kZWxfYnlfaWQoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAg
ICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbkRlbGV0ZUJ5SWRKU1Jlc3VsdCwgZHN0LCByZWdUMSwg
cmVnVDAsIG1fY29kZUJsb2NrLT5pZGVudGlmaWVyKHByb3BlcnR5KS5pbXBsKCkpOwogfQogCit2
b2lkIEpJVDo6ZW1pdF9vcF9kZWxfYnlfdmFsKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rp
b24pCit7CisgICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7Cisg
ICAgaW50IGJhc2UgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kOworICAgIGludCBw
cm9wZXJ0eSA9IGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQ7CisgICAgZW1pdExvYWQy
KGJhc2UsIHJlZ1QxLCByZWdUMCwgcHJvcGVydHksIHJlZ1QzLCByZWdUMik7CisgICAgY2FsbE9w
ZXJhdGlvbihvcGVyYXRpb25EZWxldGVCeVZhbEpTUmVzdWx0LCBkc3QsIHJlZ1QxLCByZWdUMCwg
cmVnVDMsIHJlZ1QyKTsKK30KKwogSklUOjpDb2RlUmVmIEpJVDo6c3RyaW5nR2V0QnlWYWxTdHVi
R2VuZXJhdG9yKFZNKiB2bSkKIHsKICAgICBKU0ludGVyZmFjZUpJVCBqaXQodm0pOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9kZWxldGUtYnktdmFsLmpz
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9kZWxldGUtYnktdmFsLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjMyN2Q4ODliMzkzMDI3ZmU4YjRhNTE4MTEzZWM3YWQ4N2Q3MDhkNjgKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2RlbGV0ZS1i
eS12YWwuanMKQEAgLTAsMCArMSwxNSBAQAorZnVuY3Rpb24gYXNzZXJ0KGNvbmRpdGlvbikgewor
ICAgIGlmICghY29uZGl0aW9uKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoImFzc2VydGlvbiBm
YWlsZWQiKTsKK30KKworZnVuY3Rpb24gdGVzdChpKSB7CisgICAgbGV0IGZvbyA9IHt9OworICAg
IGZvb1siYmFyIiArIGldID0gMTsKKyAgICBhc3NlcnQoZm9vWyJiYXIiICsgaV0gPT09IDEpCisg
ICAgYXNzZXJ0KGRlbGV0ZSBmb29bImJhciIgKyBpXSk7CisgICAgYXNzZXJ0KCEoImJhciIgKyBp
IGluIGZvbykpOworfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwMDsgKytpKQorICAgIHRl
c3QoaSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Rl
bGV0ZS10by1vYmplY3QtZXhjZXB0aW9uLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9kZWxldGUtdG8tb2JqZWN0LWV4Y2VwdGlvbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNDIxMDAz
YzEyZWQyMDZjNGQ2OWQyZWI4YWU0ZDBiOTFlZDVlY2Y4Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9kZWxldGUtdG8tb2JqZWN0LWV4Y2VwdGlv
bi5qcwpAQCAtMCwwICsxLDI0IEBACitmdW5jdGlvbiBhc3NlcnQoY29uZGl0aW9uKSB7CisgICAg
aWYgKCFjb25kaXRpb24pCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiYXNzZXJ0aW9uIGZhaWxl
ZCIpOworfQorCitmdW5jdGlvbiB0ZXN0KGkpIHsKKyAgICBsZXQgdmFsdWUgPSBudWxsOworICAg
IGxldCBwYXNzZWQgPSB0cnVlOworCisgICAgdHJ5IHsKKyAgICAgICAgZGVsZXRlIHZhbHVlLmJh
cjsKKyAgICAgICAgcGFzc2VkID0gZmFsc2U7CisgICAgfSBjYXRjaChlKSB7fQorICAgIHRyeSB7
CisgICAgICAgIGRlbGV0ZSB2YWx1ZVsiYmFyIiArIGldOworICAgICAgICBwYXNzZWQgPSBmYWxz
ZTsKKyAgICB9IGNhdGNoKGUpIHt9CisgICAgaWYgKCFwYXNzZWQpCisgICAgICAgIHRocm93IG5l
dyBFcnJvcigiZGlkbid0IHRocm93Iik7Cit9Citub0lubGluZSh0ZXN0KTsKKworZm9yIChsZXQg
aSA9IDA7IGkgPCAxMDAwMDsgKytpKQorICAgIHRlc3QoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>