<?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>116026</bug_id>
          
          <creation_ts>2013-05-13 04:29:01 -0700</creation_ts>
          <short_desc>[WK2] Crash in WebKit::StorageAreaMap::didSetItem()</short_desc>
          <delta_ts>2013-05-13 12:30:28 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>888190</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-05-13 04:29:01 -0700</bug_when>
    <thetext>The following test cases are crashing on WK2 in WebKit::StorageAreaMap::didSetItem():
storage/domstorage/storage-functions-not-overwritten.html
storage/domstorage/complex-keys.html
fast/loader/history-forward-in-head.html

Crash logs on lion-debug-tests-wk2:
http://build.webkit.org/results/Apple%20Lion%20Debug%20WK2%20(Tests)/r149852%20(9414)/storage/domstorage/storage-functions-not-overwritten-crash-log.txt
http://build.webkit.org/results/Apple%20Lion%20Debug%20WK2%20(Tests)/r149852%20(9414)/storage/domstorage/complex-keys-crash-log.txt
http://build.webkit.org/results/Apple%20Lion%20Debug%20WK2%20(Tests)/r149852%20(9414)/fast/loader/history-forward-in-head-crash-log.txt

Assertion hit on EFL WK2 Debug:
crash log for WebProcess (pid &lt;unknown&gt;):
STDOUT: &lt;empty&gt;
STDERR: ASSERTION FAILED: m_pendingValueChanges.contains(key)
STDERR: /home/buildslave-1/webkit-buildslave/efl-linux-64-debug-wk2/build/Source/WebKit2/WebProcess/Storage/StorageAreaMap.cpp(186) : void WebKit::StorageAreaMap::didSetItem(const WTF::String&amp;, bool)
STDERR: 1   0x7f47701e1b4f WebKit::StorageAreaMap::didSetItem(WTF::String const&amp;, bool)
STDERR: 2   0x7f47702f84e8 void CoreIPC::callMemberFunction&lt;WebKit::StorageAreaMap, void (WebKit::StorageAreaMap::*)(WTF::String const&amp;, bool), WTF::String, bool&gt;(CoreIPC::Arguments2&lt;WTF::String, bool&gt; const&amp;, WebKit::StorageAreaMap*, void (WebKit::StorageAreaMap::*)(WTF::String const&amp;, bool))
STDERR: 3   0x7f47702f82db void CoreIPC::handleMessage&lt;Messages::StorageAreaMap::DidSetItem, WebKit::StorageAreaMap, void (WebKit::StorageAreaMap::*)(WTF::String const&amp;, bool)&gt;(CoreIPC::MessageDecoder&amp;, WebKit::StorageAreaMap*, void (WebKit::StorageAreaMap::*)(WTF::String const&amp;, bool))
STDERR: 4   0x7f47702f7fb9 WebKit::StorageAreaMap::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&amp;)
STDERR: 5   0x7f476ffe724e CoreIPC::MessageReceiverMap::dispatchMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&amp;)
STDERR: 6   0x7f4770157e8d WebKit::WebProcess::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&amp;)
STDERR: 7   0x7f476ffd3fcb CoreIPC::Connection::dispatchMessage(CoreIPC::MessageDecoder&amp;)
STDERR: 8   0x7f476ffd40a6 CoreIPC::Connection::dispatchMessage(WTF::PassOwnPtr&lt;CoreIPC::MessageDecoder&gt;)
STDERR: 9   0x7f476ffd42af CoreIPC::Connection::dispatchOneMessage()
STDERR: 10  0x7f476ffe656e WTF::FunctionWrapper&lt;void (CoreIPC::Connection::*)()&gt;::operator()(CoreIPC::Connection*)
STDERR: 11  0x7f476ffe6114 WTF::BoundFunctionImpl&lt;WTF::FunctionWrapper&lt;void (CoreIPC::Connection::*)()&gt;, void (CoreIPC::Connection*)&gt;::operator()()
STDERR: 12  0x7f477021162c WTF::Function&lt;void ()&gt;::operator()() const
STDERR: 13  0x7f476b82f8a0 WebCore::RunLoop::performWork()
STDERR: 14  0x7f476c43ee20 WebCore::RunLoop::wakeUpEvent(void*, void*, unsigned int)
STDERR: 15  0x7f47682c16c1
STDERR: 16  0x7f47682c0601
STDERR: 17  0x7f47682c0b47 ecore_main_loop_begin
STDERR: 18  0x7f476c43edb1 WebCore::RunLoop::run()
STDERR: 19  0x7f47702c0037 WebProcessMainEfl
STDERR: 20  0x400804 main
STDERR: 21  0x7f476f27d76d __libc_start_main
STDERR: 22  0x400729</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888441</commentid>
    <comment_count>1</comment_count>
      <attachid>201612</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-05-13 12:07:53 -0700</bug_when>
    <thetext>Created attachment 201612
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888462</commentid>
    <comment_count>2</comment_count>
      <attachid>201612</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-05-13 12:28:20 -0700</bug_when>
    <thetext>Comment on attachment 201612
Patch

Seems like a reasonable solution. r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888465</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-05-13 12:30:28 -0700</bug_when>
    <thetext>Committed r150030: &lt;http://trac.webkit.org/changeset/150030&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>201612</attachid>
            <date>2013-05-13 12:07:53 -0700</date>
            <delta_ts>2013-05-13 12:28:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116026-20130513120652.patch</filename>
            <type>text/plain</type>
            <size>19275</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwMDIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOWMwNmI3OWFkMWRiMmU3
MThhMzJmYzBjNmIxZjEyOTEzYzg3MTMzNy4uMjFlNzRlZDAyMTY2ZWI5Y2YzY2I2NTgzOTQ2N2Jj
ZjFiMmIwYTJlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEzLTA1LTEzICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0gQ3Jhc2gg
aW4gV2ViS2l0OjpTdG9yYWdlQXJlYU1hcDo6ZGlkU2V0SXRlbSgpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTYwMjYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHN1cmUgdGhhdCB3ZSBpZ25vcmUg
YW55IGxlZnRvdmVyIG1lc3NhZ2VzIGZyb20gdGhlIFVJIHByb2Nlc3MgYWZ0ZXIgd2UndmUgcmVz
ZXQKKyAgICAgICAgdGhlIHN0b3JhZ2UgbWFwLiBBY2hpZXZlIHRoaXMgYnkga2VlcGluZyBhIHNl
ZWQgY291bnQgaW4gdGhlIFN0b3JhZ2VBcmVhTWFwIG9iamVjdCB0aGF0J3MgaW5jcmVtZW50ZWQK
KyAgICAgICAgZXZlcnl0aW1lIHRoZSBtYXAgaXMgcmVzZXQuIEFzc29jaWF0ZSBldmVyeSBzdG9y
YWdlIGFyZWEgY2hhbmdlIHdpdGggdGhlIHNlZWQgYW5kIGlnbm9yZSBhbnkgaW5jb21pbmcgCisg
ICAgICAgIG5vdGlmaWNhdGlvbiBtZXNzYWdlcyBmcm9tIHRoZSBVSSBwcm9jZXNzIGlmIHRoZSBz
ZWVkcyBhcmUgZGlmZmVyZW50LgorCisgICAgICAgICogUGxhdGZvcm0vQ29yZUlQQy9IYW5kbGVN
ZXNzYWdlLmg6CisgICAgICAgIChDb3JlSVBDKToKKyAgICAgICAgKENvcmVJUEM6OmNhbGxNZW1i
ZXJGdW5jdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZU1hbmFnZXIu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlTWFuYWdlcjo6Z2V0VmFsdWVzKToKKyAgICAg
ICAgKFdlYktpdDo6U3RvcmFnZU1hbmFnZXI6OnNldEl0ZW0pOgorICAgICAgICAoV2ViS2l0OjpT
dG9yYWdlTWFuYWdlcjo6cmVtb3ZlSXRlbSk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VNYW5h
Z2VyOjpjbGVhcik6CisgICAgICAgICogVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZU1hbmFnZXIu
aDoKKyAgICAgICAgKFN0b3JhZ2VNYW5hZ2VyKToKKyAgICAgICAgKiBVSVByb2Nlc3MvU3RvcmFn
ZS9TdG9yYWdlTWFuYWdlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3Jh
Z2UvU3RvcmFnZUFyZWFNYXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlQXJlYU1hcDo6
U3RvcmFnZUFyZWFNYXApOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlQXJlYU1hcDo6c2V0SXRl
bSk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VBcmVhTWFwOjpyZW1vdmVJdGVtKToKKyAgICAg
ICAgKFdlYktpdDo6U3RvcmFnZUFyZWFNYXA6OmNsZWFyKToKKyAgICAgICAgKFdlYktpdDo6U3Rv
cmFnZUFyZWFNYXA6OnJlc2V0VmFsdWVzKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZUFyZWFN
YXA6OmxvYWRWYWx1ZXNJZk5lZWRlZCk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VBcmVhTWFw
OjpkaWRHZXRWYWx1ZXMpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlQXJlYU1hcDo6ZGlkU2V0
SXRlbSk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VBcmVhTWFwOjpkaWRSZW1vdmVJdGVtKToK
KyAgICAgICAgKFdlYktpdDo6U3RvcmFnZUFyZWFNYXA6OmRpZENsZWFyKToKKyAgICAgICAgKFdl
YktpdDo6U3RvcmFnZUFyZWFNYXA6OmFwcGx5Q2hhbmdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1N0b3JhZ2UvU3RvcmFnZUFyZWFNYXAuaDoKKyAgICAgICAgKFN0b3JhZ2VBcmVhTWFwKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZUFyZWFNYXAubWVzc2FnZXMuaW46CisK
IDIwMTMtMDUtMTMgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCiAgICAgICAgIFtXSzJd
IE5vdGlmaWNhdGlvbiBtYW5hZ2VyIHJlbW92YWwgc2hvdWxkIG5vdCBiZSB0aWVkIHRvIHRlcm1p
bmF0aW9uIG9mIHdlYiBwcm9jZXNzZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL0NvcmVJUEMvSGFuZGxlTWVzc2FnZS5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29y
ZUlQQy9IYW5kbGVNZXNzYWdlLmgKaW5kZXggMTczNTE4ZGVjNzhhMWUxNzBhNDljNGYxNWU0OTk3
YzVkOTU5NGNjZC4uM2Y2NTg3MTM2YTIyNWE2YzliZjY5OWU2MzY2YmYzMjEwMDBmY2EzMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9IYW5kbGVNZXNzYWdlLmgK
KysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9IYW5kbGVNZXNzYWdlLmgKQEAg
LTI1OSw2ICsyNTksMTggQEAgdm9pZCBjYWxsTWVtYmVyRnVuY3Rpb24oQ29ubmVjdGlvbiogY29u
bmVjdGlvbiwgY29uc3QgQXJndW1lbnRzNTxQMSwgUDIsIFAzLCBQNCwKICAgICAob2JqZWN0LT4q
ZnVuY3Rpb24pKGNvbm5lY3Rpb24sIGFyZ3MuYXJndW1lbnQxLCBhcmdzLmFyZ3VtZW50MiwgYXJn
cy5hcmd1bWVudDMsIGFyZ3MuYXJndW1lbnQ0LCBhcmdzLmFyZ3VtZW50NSk7CiB9CiAKK3RlbXBs
YXRlPHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5
cGVuYW1lIFAzLCB0eXBlbmFtZSBQNCwgdHlwZW5hbWUgUDUsIHR5cGVuYW1lIFA2Pgordm9pZCBj
YWxsTWVtYmVyRnVuY3Rpb24oQ29ubmVjdGlvbiogY29ubmVjdGlvbiwgY29uc3QgQXJndW1lbnRz
NjxQMSwgUDIsIFAzLCBQNCwgUDUsIFA2PiYgYXJncywgQyogb2JqZWN0LCBNRiBmdW5jdGlvbikK
K3sKKyAgICAob2JqZWN0LT4qZnVuY3Rpb24pKGNvbm5lY3Rpb24sIGFyZ3MuYXJndW1lbnQxLCBh
cmdzLmFyZ3VtZW50MiwgYXJncy5hcmd1bWVudDMsIGFyZ3MuYXJndW1lbnQ0LCBhcmdzLmFyZ3Vt
ZW50NSwgYXJncy5hcmd1bWVudDYpOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBDLCB0eXBlbmFt
ZSBNRiwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBSMT4KK3ZvaWQgY2FsbE1l
bWJlckZ1bmN0aW9uKENvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIGNvbnN0IEFyZ3VtZW50czI8UDEs
IFAyPiYgYXJncywgQXJndW1lbnRzMTxSMT4mIHJlcGx5QXJncywgQyogb2JqZWN0LCBNRiBmdW5j
dGlvbikKK3sKKyAgICAob2JqZWN0LT4qZnVuY3Rpb24pKGNvbm5lY3Rpb24sIGFyZ3MuYXJndW1l
bnQxLCBhcmdzLmFyZ3VtZW50MiwgcmVwbHlBcmdzLmFyZ3VtZW50MSk7Cit9CisKIHRlbXBsYXRl
PHR5cGVuYW1lIEMsIHR5cGVuYW1lIE1GLCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUjE+CiB2b2lk
IGNhbGxNZW1iZXJGdW5jdGlvbihDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBjb25zdCBBcmd1bWVu
dHMxPFAxPiYgYXJncywgQXJndW1lbnRzMTxSMT4mIHJlcGx5QXJncywgQyogb2JqZWN0LCBNRiBm
dW5jdGlvbikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TdG9yYWdl
L1N0b3JhZ2VNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TdG9yYWdlL1N0
b3JhZ2VNYW5hZ2VyLmNwcAppbmRleCBkYzk1MjJmZWUzNmU0YTM5N2I1ZWQ2ODcwNTFjN2YyNjBk
Y2RiNDc2Li4wZGQ4NDliMTU0MDFmMzdmMmI0OGFjOWE1ZGNkZmYwMGJkYjJkNjlhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlTWFuYWdlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZU1hbmFnZXIuY3Bw
CkBAIC00NDMsNyArNDQzLDcgQEAgdm9pZCBTdG9yYWdlTWFuYWdlcjo6ZGVzdHJveVN0b3JhZ2VN
YXAoQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgdWludDY0X3QKICAgICBtX3N0b3Jh
Z2VBcmVhc0J5Q29ubmVjdGlvbi5yZW1vdmUoY29ubmVjdGlvbkFuZFN0b3JhZ2VNYXBJRFBhaXIp
OwogfQogCi12b2lkIFN0b3JhZ2VNYW5hZ2VyOjpnZXRWYWx1ZXMoQ29yZUlQQzo6Q29ubmVjdGlv
biogY29ubmVjdGlvbiwgdWludDY0X3Qgc3RvcmFnZU1hcElELCBIYXNoTWFwPFN0cmluZywgU3Ry
aW5nPiYgdmFsdWVzKQordm9pZCBTdG9yYWdlTWFuYWdlcjo6Z2V0VmFsdWVzKENvcmVJUEM6OkNv
bm5lY3Rpb24qIGNvbm5lY3Rpb24sIHVpbnQ2NF90IHN0b3JhZ2VNYXBJRCwgdWludDY0X3Qgc3Rv
cmFnZU1hcFNlZWQsIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+JiB2YWx1ZXMpCiB7CiAgICAgU3Rv
cmFnZUFyZWEqIHN0b3JhZ2VBcmVhID0gZmluZFN0b3JhZ2VBcmVhKGNvbm5lY3Rpb24sIHN0b3Jh
Z2VNYXBJRCk7CiAKQEAgLTQ1MiwxMCArNDUyLDEwIEBAIHZvaWQgU3RvcmFnZU1hbmFnZXI6Omdl
dFZhbHVlcyhDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCB1aW50NjRfdCBzdG9yYWdl
CiAKICAgICB2YWx1ZXMgPSBzdG9yYWdlQXJlYS0+aXRlbXMoKTsKIAotICAgIGNvbm5lY3Rpb24t
PnNlbmQoTWVzc2FnZXM6OlN0b3JhZ2VBcmVhTWFwOjpEaWRHZXRWYWx1ZXMoKSwgc3RvcmFnZU1h
cElEKTsKKyAgICBjb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpTdG9yYWdlQXJlYU1hcDo6RGlk
R2V0VmFsdWVzKHN0b3JhZ2VNYXBTZWVkKSwgc3RvcmFnZU1hcElEKTsKIH0KIAotdm9pZCBTdG9y
YWdlTWFuYWdlcjo6c2V0SXRlbShDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCB1aW50
NjRfdCBzdG9yYWdlTWFwSUQsIHVpbnQ2NF90IHNvdXJjZVN0b3JhZ2VBcmVhSUQsIGNvbnN0IFN0
cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHZhbHVlLCBjb25zdCBTdHJpbmcmIHVybFN0cmluZykK
K3ZvaWQgU3RvcmFnZU1hbmFnZXI6OnNldEl0ZW0oQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVj
dGlvbiwgdWludDY0X3Qgc3RvcmFnZU1hcElELCB1aW50NjRfdCBzb3VyY2VTdG9yYWdlQXJlYUlE
LCB1aW50NjRfdCBzdG9yYWdlTWFwU2VlZCwgY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmlu
ZyYgdmFsdWUsIGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nKQogewogICAgIFN0b3JhZ2VBcmVhKiBz
dG9yYWdlQXJlYSA9IGZpbmRTdG9yYWdlQXJlYShjb25uZWN0aW9uLCBzdG9yYWdlTWFwSUQpOwog
CkBAIC00NjQsMTAgKzQ2NCwxMCBAQCB2b2lkIFN0b3JhZ2VNYW5hZ2VyOjpzZXRJdGVtKENvcmVJ
UEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIHVpbnQ2NF90IHN0b3JhZ2VNYQogCiAgICAgYm9v
bCBxdW90YUVycm9yOwogICAgIHN0b3JhZ2VBcmVhLT5zZXRJdGVtKGNvbm5lY3Rpb24sIHNvdXJj
ZVN0b3JhZ2VBcmVhSUQsIGtleSwgdmFsdWUsIHVybFN0cmluZywgcXVvdGFFcnJvcik7Ci0gICAg
Y29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6U3RvcmFnZUFyZWFNYXA6OkRpZFNldEl0ZW0oa2V5
LCBxdW90YUVycm9yKSwgc3RvcmFnZU1hcElEKTsKKyAgICBjb25uZWN0aW9uLT5zZW5kKE1lc3Nh
Z2VzOjpTdG9yYWdlQXJlYU1hcDo6RGlkU2V0SXRlbShzdG9yYWdlTWFwU2VlZCwga2V5LCBxdW90
YUVycm9yKSwgc3RvcmFnZU1hcElEKTsKIH0KIAotdm9pZCBTdG9yYWdlTWFuYWdlcjo6cmVtb3Zl
SXRlbShDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCB1aW50NjRfdCBzdG9yYWdlTWFw
SUQsIHVpbnQ2NF90IHNvdXJjZVN0b3JhZ2VBcmVhSUQsIGNvbnN0IFN0cmluZyYga2V5LCBjb25z
dCBTdHJpbmcmIHVybFN0cmluZykKK3ZvaWQgU3RvcmFnZU1hbmFnZXI6OnJlbW92ZUl0ZW0oQ29y
ZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgdWludDY0X3Qgc3RvcmFnZU1hcElELCB1aW50
NjRfdCBzb3VyY2VTdG9yYWdlQXJlYUlELCB1aW50NjRfdCBzdG9yYWdlTWFwU2VlZCwgY29uc3Qg
U3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nKQogewogICAgIFN0b3JhZ2VBcmVh
KiBzdG9yYWdlQXJlYSA9IGZpbmRTdG9yYWdlQXJlYShjb25uZWN0aW9uLCBzdG9yYWdlTWFwSUQp
OwogCkBAIC00NzUsMTAgKzQ3NSwxMCBAQCB2b2lkIFN0b3JhZ2VNYW5hZ2VyOjpyZW1vdmVJdGVt
KENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIHVpbnQ2NF90IHN0b3JhZwogICAgIEFT
U0VSVChzdG9yYWdlQXJlYSk7CiAKICAgICBzdG9yYWdlQXJlYS0+cmVtb3ZlSXRlbShjb25uZWN0
aW9uLCBzb3VyY2VTdG9yYWdlQXJlYUlELCBrZXksIHVybFN0cmluZyk7Ci0gICAgY29ubmVjdGlv
bi0+c2VuZChNZXNzYWdlczo6U3RvcmFnZUFyZWFNYXA6OkRpZFJlbW92ZUl0ZW0oa2V5KSwgc3Rv
cmFnZU1hcElEKTsKKyAgICBjb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpTdG9yYWdlQXJlYU1h
cDo6RGlkUmVtb3ZlSXRlbShzdG9yYWdlTWFwU2VlZCwga2V5KSwgc3RvcmFnZU1hcElEKTsKIH0K
IAotdm9pZCBTdG9yYWdlTWFuYWdlcjo6Y2xlYXIoQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVj
dGlvbiwgdWludDY0X3Qgc3RvcmFnZU1hcElELCB1aW50NjRfdCBzb3VyY2VTdG9yYWdlQXJlYUlE
LCBjb25zdCBTdHJpbmcmIHVybFN0cmluZykKK3ZvaWQgU3RvcmFnZU1hbmFnZXI6OmNsZWFyKENv
cmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIHVpbnQ2NF90IHN0b3JhZ2VNYXBJRCwgdWlu
dDY0X3Qgc291cmNlU3RvcmFnZUFyZWFJRCwgdWludDY0X3Qgc3RvcmFnZU1hcFNlZWQsIGNvbnN0
IFN0cmluZyYgdXJsU3RyaW5nKQogewogICAgIFN0b3JhZ2VBcmVhKiBzdG9yYWdlQXJlYSA9IGZp
bmRTdG9yYWdlQXJlYShjb25uZWN0aW9uLCBzdG9yYWdlTWFwSUQpOwogCkBAIC00ODYsNyArNDg2
LDcgQEAgdm9pZCBTdG9yYWdlTWFuYWdlcjo6Y2xlYXIoQ29yZUlQQzo6Q29ubmVjdGlvbiogY29u
bmVjdGlvbiwgdWludDY0X3Qgc3RvcmFnZU1hcEkKICAgICBBU1NFUlQoc3RvcmFnZUFyZWEpOwog
CiAgICAgc3RvcmFnZUFyZWEtPmNsZWFyKGNvbm5lY3Rpb24sIHNvdXJjZVN0b3JhZ2VBcmVhSUQs
IHVybFN0cmluZyk7Ci0gICAgY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6U3RvcmFnZUFyZWFN
YXA6OkRpZENsZWFyKCksIHN0b3JhZ2VNYXBJRCk7CisgICAgY29ubmVjdGlvbi0+c2VuZChNZXNz
YWdlczo6U3RvcmFnZUFyZWFNYXA6OkRpZENsZWFyKHN0b3JhZ2VNYXBTZWVkKSwgc3RvcmFnZU1h
cElEKTsKIH0KIAogdm9pZCBTdG9yYWdlTWFuYWdlcjo6Y3JlYXRlU2Vzc2lvblN0b3JhZ2VOYW1l
c3BhY2VJbnRlcm5hbCh1aW50NjRfdCBzdG9yYWdlTmFtZXNwYWNlSUQsIENvcmVJUEM6OkNvbm5l
Y3Rpb24qIGFsbG93ZWRDb25uZWN0aW9uLCB1bnNpZ25lZCBxdW90YUluQnl0ZXMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlTWFuYWdlci5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZU1hbmFnZXIuaAppbmRleCBm
ODdlZWIwNzEwZjRhNmFjZDZiZDQ0MmJiNDgzYzM0ZDdmOWQzYzkwLi4zOWMyMjNkMGY1NDNkMGNm
NDc2ODE5ZTc1NWZlOTY0YzJiZmJmYmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvU3RvcmFnZS9TdG9yYWdlTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9TdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyLmgKQEAgLTY1LDEwICs2NSwxMSBAQCBwcml2YXRl
OgogICAgIHZvaWQgY3JlYXRlTG9jYWxTdG9yYWdlTWFwKENvcmVJUEM6OkNvbm5lY3Rpb24qLCB1
aW50NjRfdCBzdG9yYWdlTWFwSUQsIHVpbnQ2NF90IHN0b3JhZ2VOYW1lc3BhY2VJRCwgY29uc3Qg
U2VjdXJpdHlPcmlnaW5EYXRhJik7CiAgICAgdm9pZCBjcmVhdGVTZXNzaW9uU3RvcmFnZU1hcChD
b3JlSVBDOjpDb25uZWN0aW9uKiwgdWludDY0X3Qgc3RvcmFnZU1hcElELCB1aW50NjRfdCBzdG9y
YWdlTmFtZXNwYWNlSUQsIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYpOwogICAgIHZvaWQgZGVz
dHJveVN0b3JhZ2VNYXAoQ29yZUlQQzo6Q29ubmVjdGlvbiosIHVpbnQ2NF90IHN0b3JhZ2VNYXBJ
RCk7Ci0gICAgdm9pZCBnZXRWYWx1ZXMoQ29yZUlQQzo6Q29ubmVjdGlvbiosIHVpbnQ2NF90IHN0
b3JhZ2VNYXBJRCwgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4mIHZhbHVlcyk7Ci0gICAgdm9pZCBz
ZXRJdGVtKENvcmVJUEM6OkNvbm5lY3Rpb24qLCB1aW50NjRfdCBzdG9yYWdlQXJlYUlELCB1aW50
NjRfdCBzb3VyY2VTdG9yYWdlQXJlYUlELCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5n
JiB2YWx1ZSwgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpOwotICAgIHZvaWQgcmVtb3ZlSXRlbShD
b3JlSVBDOjpDb25uZWN0aW9uKiwgdWludDY0X3Qgc3RvcmFnZU1hcElELCB1aW50NjRfdCBzb3Vy
Y2VTdG9yYWdlQXJlYUlELCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiB1cmxTdHJp
bmcpOwotICAgIHZvaWQgY2xlYXIoQ29yZUlQQzo6Q29ubmVjdGlvbiosIHVpbnQ2NF90IHN0b3Jh
Z2VNYXBJRCwgdWludDY0X3Qgc291cmNlU3RvcmFnZUFyZWFJRCwgY29uc3QgU3RyaW5nJiB1cmxT
dHJpbmcpOworCisgICAgdm9pZCBnZXRWYWx1ZXMoQ29yZUlQQzo6Q29ubmVjdGlvbiosIHVpbnQ2
NF90IHN0b3JhZ2VNYXBJRCwgdWludDY0X3Qgc3RvcmFnZU1hcFNlZWQsIEhhc2hNYXA8U3RyaW5n
LCBTdHJpbmc+JiB2YWx1ZXMpOworICAgIHZvaWQgc2V0SXRlbShDb3JlSVBDOjpDb25uZWN0aW9u
KiwgdWludDY0X3Qgc3RvcmFnZUFyZWFJRCwgdWludDY0X3Qgc291cmNlU3RvcmFnZUFyZWFJRCwg
dWludDY0X3Qgc3RvcmFnZU1hcFNlZWQsIGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcm
IHZhbHVlLCBjb25zdCBTdHJpbmcmIHVybFN0cmluZyk7CisgICAgdm9pZCByZW1vdmVJdGVtKENv
cmVJUEM6OkNvbm5lY3Rpb24qLCB1aW50NjRfdCBzdG9yYWdlTWFwSUQsIHVpbnQ2NF90IHNvdXJj
ZVN0b3JhZ2VBcmVhSUQsIHVpbnQ2NF90IHN0b3JhZ2VNYXBTZWVkLCBjb25zdCBTdHJpbmcmIGtl
eSwgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpOworICAgIHZvaWQgY2xlYXIoQ29yZUlQQzo6Q29u
bmVjdGlvbiosIHVpbnQ2NF90IHN0b3JhZ2VNYXBJRCwgdWludDY0X3Qgc291cmNlU3RvcmFnZUFy
ZWFJRCwgdWludDY0X3Qgc3RvcmFnZU1hcFNlZWQsIGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nKTsK
IAogICAgIHZvaWQgY3JlYXRlU2Vzc2lvblN0b3JhZ2VOYW1lc3BhY2VJbnRlcm5hbCh1aW50NjRf
dCBzdG9yYWdlTmFtZXNwYWNlSUQsIENvcmVJUEM6OkNvbm5lY3Rpb24qIGFsbG93ZWRDb25uZWN0
aW9uLCB1bnNpZ25lZCBxdW90YUluQnl0ZXMpOwogICAgIHZvaWQgZGVzdHJveVNlc3Npb25TdG9y
YWdlTmFtZXNwYWNlSW50ZXJuYWwodWludDY0X3Qgc3RvcmFnZU5hbWVzcGFjZUlEKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyLm1l
c3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZU1hbmFn
ZXIubWVzc2FnZXMuaW4KaW5kZXggYTg4ZmMxN2Y2OGVmNzMzZWU4ZDEyMDVjMjRlYjQ3ZjBjZGIx
MGI1MS4uMjJkMDEyMWZlN2VhMjc2ZjhmM2EwNDE1YTRkNzdhNWRmMzUxYmU4NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZU1hbmFnZXIubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZU1hbmFn
ZXIubWVzc2FnZXMuaW4KQEAgLTI1LDkgKzI1LDkgQEAgbWVzc2FnZXMgLT4gU3RvcmFnZU1hbmFn
ZXIgewogICAgIENyZWF0ZVNlc3Npb25TdG9yYWdlTWFwKHVpbnQ2NF90IHN0b3JhZ2VNYXBJRCwg
dWludDY0X3Qgc3RvcmFnZU5hbWVzcGFjZUlELCBXZWJLaXQ6OlNlY3VyaXR5T3JpZ2luRGF0YSBz
ZWN1cml0eU9yaWdpbkRhdGEpIFdhbnRzQ29ubmVjdGlvbgogICAgIERlc3Ryb3lTdG9yYWdlTWFw
KHVpbnQ2NF90IHN0b3JhZ2VNYXBJRCkgV2FudHNDb25uZWN0aW9uCiAKLSAgICBHZXRWYWx1ZXMo
dWludDY0X3Qgc3RvcmFnZU1hcElEKSAtPiAoV1RGOjpIYXNoTWFwPFdURjo6U3RyaW5nLCBXVEY6
OlN0cmluZz4gdmFsdWVzKSBXYW50c0Nvbm5lY3Rpb24KKyAgICBHZXRWYWx1ZXModWludDY0X3Qg
c3RvcmFnZU1hcElELCB1aW50NjRfdCBzdG9yYWdlTWFwU2VlZCkgLT4gKFdURjo6SGFzaE1hcDxX
VEY6OlN0cmluZywgV1RGOjpTdHJpbmc+IHZhbHVlcykgV2FudHNDb25uZWN0aW9uCiAKLSAgICBT
ZXRJdGVtKHVpbnQ2NF90IHN0b3JhZ2VNYXBJRCwgdWludDY0X3Qgc291cmNlU3RvcmFnZUFyZWFJ
RCwgV1RGOjpTdHJpbmcga2V5LCBXVEY6OlN0cmluZyB2YWx1ZSwgV1RGOjpTdHJpbmcgdXJsU3Ry
aW5nKSBXYW50c0Nvbm5lY3Rpb24KLSAgICBSZW1vdmVJdGVtKHVpbnQ2NF90IHN0b3JhZ2VNYXBJ
RCwgdWludDY0X3Qgc291cmNlU3RvcmFnZUFyZWFJRCwgV1RGOjpTdHJpbmcga2V5LCBXVEY6OlN0
cmluZyB1cmxTdHJpbmcpIFdhbnRzQ29ubmVjdGlvbgotICAgIENsZWFyKHVpbnQ2NF90IHN0b3Jh
Z2VNYXBJRCwgdWludDY0X3Qgc291cmNlU3RvcmFnZUFyZWFJRCwgV1RGOjpTdHJpbmcgdXJsU3Ry
aW5nKSBXYW50c0Nvbm5lY3Rpb24KKyAgICBTZXRJdGVtKHVpbnQ2NF90IHN0b3JhZ2VNYXBJRCwg
dWludDY0X3Qgc291cmNlU3RvcmFnZUFyZWFJRCwgdWludDY0X3Qgc3RvcmFnZU1hcFNlZWQsIFdU
Rjo6U3RyaW5nIGtleSwgV1RGOjpTdHJpbmcgdmFsdWUsIFdURjo6U3RyaW5nIHVybFN0cmluZykg
V2FudHNDb25uZWN0aW9uCisgICAgUmVtb3ZlSXRlbSh1aW50NjRfdCBzdG9yYWdlTWFwSUQsIHVp
bnQ2NF90IHNvdXJjZVN0b3JhZ2VBcmVhSUQsIHVpbnQ2NF90IHN0b3JhZ2VNYXBTZWVkLCBXVEY6
OlN0cmluZyBrZXksIFdURjo6U3RyaW5nIHVybFN0cmluZykgV2FudHNDb25uZWN0aW9uCisgICAg
Q2xlYXIodWludDY0X3Qgc3RvcmFnZU1hcElELCB1aW50NjRfdCBzb3VyY2VTdG9yYWdlQXJlYUlE
LCB1aW50NjRfdCBzdG9yYWdlTWFwU2VlZCwgV1RGOjpTdHJpbmcgdXJsU3RyaW5nKSBXYW50c0Nv
bm5lY3Rpb24KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvU3RvcmFn
ZS9TdG9yYWdlQXJlYU1hcC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1N0b3JhZ2Uv
U3RvcmFnZUFyZWFNYXAuY3BwCmluZGV4IDNhY2U2ZmRkNDkwMWRlNzI5ZTllMWUyZjk2OTNmYzIy
NTIxOTQ3YjYuLmU1NjAxNjNjM2Y2ZTViNDA1ZWFlNThmMDMwYWI0MjI1ZWRiZDY2MzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlQXJlYU1hcC5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VBcmVhTWFw
LmNwcApAQCAtNjMsNyArNjMsOSBAQCBTdG9yYWdlQXJlYU1hcDo6U3RvcmFnZUFyZWFNYXAoU3Rv
cmFnZU5hbWVzcGFjZUltcGwqIHN0b3JhZ2VOYW1lc3BhY2UsIFBhc3NSZWZQdAogICAgICwgbV9z
dG9yYWdlTmFtZXNwYWNlSUQoc3RvcmFnZU5hbWVzcGFjZS0+c3RvcmFnZU5hbWVzcGFjZUlEKCkp
CiAgICAgLCBtX3F1b3RhSW5CeXRlcyhzdG9yYWdlTmFtZXNwYWNlLT5xdW90YUluQnl0ZXMoKSkK
ICAgICAsIG1fc2VjdXJpdHlPcmlnaW4oc2VjdXJpdHlPcmlnaW4pCisgICAgLCBtX2N1cnJlbnRT
ZWVkKDApCiAgICAgLCBtX2hhc1BlbmRpbmdDbGVhcihmYWxzZSkKKyAgICAsIG1faGFzUGVuZGlu
Z0dldFZhbHVlcyhmYWxzZSkKIHsKICAgICBpZiAobV9zdG9yYWdlVHlwZSA9PSBMb2NhbFN0b3Jh
Z2UpCiAgICAgICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rpb24oKS0+c2VuZChNZXNz
YWdlczo6U3RvcmFnZU1hbmFnZXI6OkNyZWF0ZUxvY2FsU3RvcmFnZU1hcChtX3N0b3JhZ2VNYXBJ
RCwgc3RvcmFnZU5hbWVzcGFjZS0+c3RvcmFnZU5hbWVzcGFjZUlEKCksIFNlY3VyaXR5T3JpZ2lu
RGF0YTo6ZnJvbVNlY3VyaXR5T3JpZ2luKG1fc2VjdXJpdHlPcmlnaW4uZ2V0KCkpKSwgMCk7CkBA
IC0xMTYsNyArMTE4LDcgQEAgdm9pZCBTdG9yYWdlQXJlYU1hcDo6c2V0SXRlbShGcmFtZSogc291
cmNlRnJhbWUsIFN0b3JhZ2VBcmVhSW1wbCogc291cmNlQXJlYSwgY28KIAogICAgIG1fcGVuZGlu
Z1ZhbHVlQ2hhbmdlcy5hZGQoa2V5KTsKIAotICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5l
Y3Rpb24oKS0+c2VuZChNZXNzYWdlczo6U3RvcmFnZU1hbmFnZXI6OlNldEl0ZW0obV9zdG9yYWdl
TWFwSUQsIHNvdXJjZUFyZWEtPnN0b3JhZ2VBcmVhSUQoKSwga2V5LCB2YWx1ZSwgc291cmNlRnJh
bWUtPmRvY3VtZW50KCktPnVybCgpKSwgMCk7CisgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuY29u
bmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpTdG9yYWdlTWFuYWdlcjo6U2V0SXRlbShtX3N0b3Jh
Z2VNYXBJRCwgc291cmNlQXJlYS0+c3RvcmFnZUFyZWFJRCgpLCBtX2N1cnJlbnRTZWVkLCBrZXks
IHZhbHVlLCBzb3VyY2VGcmFtZS0+ZG9jdW1lbnQoKS0+dXJsKCkpLCAwKTsKIH0KIAogdm9pZCBT
dG9yYWdlQXJlYU1hcDo6cmVtb3ZlSXRlbShXZWJDb3JlOjpGcmFtZSogc291cmNlRnJhbWUsIFN0
b3JhZ2VBcmVhSW1wbCogc291cmNlQXJlYSwgY29uc3QgU3RyaW5nJiBrZXkpCkBAIC0xMzIsNyAr
MTM0LDcgQEAgdm9pZCBTdG9yYWdlQXJlYU1hcDo6cmVtb3ZlSXRlbShXZWJDb3JlOjpGcmFtZSog
c291cmNlRnJhbWUsIFN0b3JhZ2VBcmVhSW1wbCogc28KIAogICAgIG1fcGVuZGluZ1ZhbHVlQ2hh
bmdlcy5hZGQoa2V5KTsKIAotICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rpb24oKS0+
c2VuZChNZXNzYWdlczo6U3RvcmFnZU1hbmFnZXI6OlJlbW92ZUl0ZW0obV9zdG9yYWdlTWFwSUQs
IHNvdXJjZUFyZWEtPnN0b3JhZ2VBcmVhSUQoKSwga2V5LCBzb3VyY2VGcmFtZS0+ZG9jdW1lbnQo
KS0+dXJsKCkpLCAwKTsKKyAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5jb25uZWN0aW9uKCktPnNl
bmQoTWVzc2FnZXM6OlN0b3JhZ2VNYW5hZ2VyOjpSZW1vdmVJdGVtKG1fc3RvcmFnZU1hcElELCBz
b3VyY2VBcmVhLT5zdG9yYWdlQXJlYUlEKCksIG1fY3VycmVudFNlZWQsIGtleSwgc291cmNlRnJh
bWUtPmRvY3VtZW50KCktPnVybCgpKSwgMCk7CiB9CiAKIHZvaWQgU3RvcmFnZUFyZWFNYXA6OmNs
ZWFyKFdlYkNvcmU6OkZyYW1lKiBzb3VyY2VGcmFtZSwgU3RvcmFnZUFyZWFJbXBsKiBzb3VyY2VB
cmVhKQpAQCAtMTQxLDcgKzE0Myw3IEBAIHZvaWQgU3RvcmFnZUFyZWFNYXA6OmNsZWFyKFdlYkNv
cmU6OkZyYW1lKiBzb3VyY2VGcmFtZSwgU3RvcmFnZUFyZWFJbXBsKiBzb3VyY2VBCiAKICAgICBt
X2hhc1BlbmRpbmdDbGVhciA9IHRydWU7CiAgICAgbV9zdG9yYWdlTWFwID0gU3RvcmFnZU1hcDo6
Y3JlYXRlKG1fcXVvdGFJbkJ5dGVzKTsKLSAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5jb25uZWN0
aW9uKCktPnNlbmQoTWVzc2FnZXM6OlN0b3JhZ2VNYW5hZ2VyOjpDbGVhcihtX3N0b3JhZ2VNYXBJ
RCwgc291cmNlQXJlYS0+c3RvcmFnZUFyZWFJRCgpLCBzb3VyY2VGcmFtZS0+ZG9jdW1lbnQoKS0+
dXJsKCkpLCAwKTsKKyAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5jb25uZWN0aW9uKCktPnNlbmQo
TWVzc2FnZXM6OlN0b3JhZ2VNYW5hZ2VyOjpDbGVhcihtX3N0b3JhZ2VNYXBJRCwgc291cmNlQXJl
YS0+c3RvcmFnZUFyZWFJRCgpLCBtX2N1cnJlbnRTZWVkLCBzb3VyY2VGcmFtZS0+ZG9jdW1lbnQo
KS0+dXJsKCkpLCAwKTsKIH0KIAogYm9vbCBTdG9yYWdlQXJlYU1hcDo6Y29udGFpbnMoY29uc3Qg
U3RyaW5nJiBrZXkpCkBAIC0xNTQsOCArMTU2LDExIEBAIGJvb2wgU3RvcmFnZUFyZWFNYXA6OmNv
bnRhaW5zKGNvbnN0IFN0cmluZyYga2V5KQogdm9pZCBTdG9yYWdlQXJlYU1hcDo6cmVzZXRWYWx1
ZXMoKQogewogICAgIG1fc3RvcmFnZU1hcCA9IG51bGxwdHI7CisKICAgICBtX3BlbmRpbmdWYWx1
ZUNoYW5nZXMuY2xlYXIoKTsKICAgICBtX2hhc1BlbmRpbmdDbGVhciA9IGZhbHNlOworICAgIG1f
aGFzUGVuZGluZ0dldFZhbHVlcyA9IGZhbHNlOworICAgIG1fY3VycmVudFNlZWQrKzsKIH0KIAog
dm9pZCBTdG9yYWdlQXJlYU1hcDo6bG9hZFZhbHVlc0lmTmVlZGVkKCkKQEAgLTE2NywyMiArMTcy
LDI5IEBAIHZvaWQgU3RvcmFnZUFyZWFNYXA6OmxvYWRWYWx1ZXNJZk5lZWRlZCgpCiAgICAgLy8g
RklYTUU6IFRoaXMgc2hvdWxkIHVzZSBhIHNwZWNpYWwgc2VuZFN5bmMgZmxhZyB0byBpbmRpY2F0
ZSB0aGF0IHdlIGRvbid0IHdhbnQgdG8gcHJvY2VzcyBpbmNvbWluZyBtZXNzYWdlcyB3aGlsZSB3
YWl0aW5nIGZvciBhIHJlcGx5LgogICAgIC8vIChUaGlzIGZsYWcgZG9lcyBub3QgeWV0IGV4aXN0
KS4gU2luY2UgbG9hZFZhbHVlc0lmTmVlZGVkKCkgZW5kcyB1cCBiZWluZyBjYWxsZWQgZnJvbSB3
aXRoaW4gSmF2YVNjcmlwdCBjb2RlLCBwcm9jZXNzaW5nIGluY29taW5nIHN5bmNocm9ub3VzIG1l
c3NhZ2VzCiAgICAgLy8gY291bGQgbGVhZCB0byB3ZWlyZCByZWVudHJlbmN5IGJ1Z3Mgb3RoZXJ3
aXNlLgotICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rpb24oKS0+c2VuZFN5bmMoTWVz
c2FnZXM6OlN0b3JhZ2VNYW5hZ2VyOjpHZXRWYWx1ZXMobV9zdG9yYWdlTWFwSUQpLCBNZXNzYWdl
czo6U3RvcmFnZU1hbmFnZXI6OkdldFZhbHVlczo6UmVwbHkodmFsdWVzKSwgMCk7CisgICAgV2Vi
UHJvY2Vzczo6c2hhcmVkKCkuY29ubmVjdGlvbigpLT5zZW5kU3luYyhNZXNzYWdlczo6U3RvcmFn
ZU1hbmFnZXI6OkdldFZhbHVlcyhtX3N0b3JhZ2VNYXBJRCwgbV9jdXJyZW50U2VlZCksIE1lc3Nh
Z2VzOjpTdG9yYWdlTWFuYWdlcjo6R2V0VmFsdWVzOjpSZXBseSh2YWx1ZXMpLCAwKTsKIAogICAg
IG1fc3RvcmFnZU1hcCA9IFN0b3JhZ2VNYXA6OmNyZWF0ZShtX3F1b3RhSW5CeXRlcyk7CiAgICAg
bV9zdG9yYWdlTWFwLT5pbXBvcnRJdGVtcyh2YWx1ZXMpOwogCi0gICAgLy8gV2Ugd2FudCB0byBp
Z25vcmUgYWxsIGNoYW5nZXMgdW50aWwgd2UgZ2V0IHRoZSBEaWRHZXRWYWx1ZXMgbWVzc2FnZSwg
c28gdHJlYXQgdGhpcyBhcyBhIHBlbmRpbmcgY2xlYXIuCi0gICAgbV9oYXNQZW5kaW5nQ2xlYXIg
PSB0cnVlOworICAgIC8vIFdlIHdhbnQgdG8gaWdub3JlIGFsbCBjaGFuZ2VzIHVudGlsIHdlIGdl
dCB0aGUgRGlkR2V0VmFsdWVzIG1lc3NhZ2UuCisgICAgbV9oYXNQZW5kaW5nR2V0VmFsdWVzID0g
dHJ1ZTsKIH0KIAotdm9pZCBTdG9yYWdlQXJlYU1hcDo6ZGlkR2V0VmFsdWVzKCkKK3ZvaWQgU3Rv
cmFnZUFyZWFNYXA6OmRpZEdldFZhbHVlcyh1aW50NjRfdCBzdG9yYWdlTWFwU2VlZCkKIHsKLSAg
ICBtX2hhc1BlbmRpbmdDbGVhciA9IGZhbHNlOworICAgIGlmIChtX2N1cnJlbnRTZWVkICE9IHN0
b3JhZ2VNYXBTZWVkKQorICAgICAgICByZXR1cm47CisKKyAgICBBU1NFUlQobV9oYXNQZW5kaW5n
R2V0VmFsdWVzKTsKKyAgICBtX2hhc1BlbmRpbmdHZXRWYWx1ZXMgPSBmYWxzZTsKIH0KIAotdm9p
ZCBTdG9yYWdlQXJlYU1hcDo6ZGlkU2V0SXRlbShjb25zdCBTdHJpbmcmIGtleSwgYm9vbCBxdW90
YUVycm9yKQordm9pZCBTdG9yYWdlQXJlYU1hcDo6ZGlkU2V0SXRlbSh1aW50NjRfdCBzdG9yYWdl
TWFwU2VlZCwgY29uc3QgU3RyaW5nJiBrZXksIGJvb2wgcXVvdGFFcnJvcikKIHsKKyAgICBpZiAo
bV9jdXJyZW50U2VlZCAhPSBzdG9yYWdlTWFwU2VlZCkKKyAgICAgICAgcmV0dXJuOworCiAgICAg
QVNTRVJUKG1fcGVuZGluZ1ZhbHVlQ2hhbmdlcy5jb250YWlucyhrZXkpKTsKIAogICAgIGlmIChx
dW90YUVycm9yKSB7CkBAIC0xOTMsMTUgKzIwNSwyMSBAQCB2b2lkIFN0b3JhZ2VBcmVhTWFwOjpk
aWRTZXRJdGVtKGNvbnN0IFN0cmluZyYga2V5LCBib29sIHF1b3RhRXJyb3IpCiAgICAgbV9wZW5k
aW5nVmFsdWVDaGFuZ2VzLnJlbW92ZShrZXkpOwogfQogCi12b2lkIFN0b3JhZ2VBcmVhTWFwOjpk
aWRSZW1vdmVJdGVtKGNvbnN0IFN0cmluZyYga2V5KQordm9pZCBTdG9yYWdlQXJlYU1hcDo6ZGlk
UmVtb3ZlSXRlbSh1aW50NjRfdCBzdG9yYWdlTWFwU2VlZCwgY29uc3QgU3RyaW5nJiBrZXkpCiB7
Ci0gICAgQVNTRVJUKG1fcGVuZGluZ1ZhbHVlQ2hhbmdlcy5jb250YWlucyhrZXkpKTsKKyAgICBp
ZiAobV9jdXJyZW50U2VlZCAhPSBzdG9yYWdlTWFwU2VlZCkKKyAgICAgICAgcmV0dXJuOwogCisg
ICAgQVNTRVJUKG1fcGVuZGluZ1ZhbHVlQ2hhbmdlcy5jb250YWlucyhrZXkpKTsKICAgICBtX3Bl
bmRpbmdWYWx1ZUNoYW5nZXMucmVtb3ZlKGtleSk7CiB9CiAKLXZvaWQgU3RvcmFnZUFyZWFNYXA6
OmRpZENsZWFyKCkKK3ZvaWQgU3RvcmFnZUFyZWFNYXA6OmRpZENsZWFyKHVpbnQ2NF90IHN0b3Jh
Z2VNYXBTZWVkKQogeworICAgIGlmIChtX2N1cnJlbnRTZWVkICE9IHN0b3JhZ2VNYXBTZWVkKQor
ICAgICAgICByZXR1cm47CisKKyAgICBBU1NFUlQobV9oYXNQZW5kaW5nQ2xlYXIpOwogICAgIG1f
aGFzUGVuZGluZ0NsZWFyID0gZmFsc2U7CiB9CiAKQEAgLTIyNCw4ICsyNDIsOCBAQCB2b2lkIFN0
b3JhZ2VBcmVhTWFwOjphcHBseUNoYW5nZShjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5n
JiBuZXdWYWx1ZSkKIHsKICAgICBBU1NFUlQobV9zdG9yYWdlTWFwLT5oYXNPbmVSZWYoKSk7CiAK
LSAgICAvLyBUaGVyZSdzIGEgY2xlYXIgcGVuZGluZywgd2UgZG9uJ3Qgd2FudCBhbnkgY2hhbmdl
cyB1bnRpbCB3ZSd2ZSBnb3R0ZW4gdGhlIERpZENsZWFyIG1lc3NhZ2UuCi0gICAgaWYgKG1faGFz
UGVuZGluZ0NsZWFyKQorICAgIC8vIFRoZXJlJ3MgYSBjbGVhciBwZW5kaW5nIG9yIGdldFZhbHVl
cyBwZW5kaW5nIHdlIGRvbid0IHdhbnQgdG8gYXBwbHkgYW55IGNoYW5nZXMgdW50aWwgd2UgZ2V0
IHRoZSBjb3JyZXNwb25kaW5nIERpZENsZWFyL0RpZEdldFZhbHVlcyBtZXNzYWdlcy4KKyAgICBp
ZiAobV9oYXNQZW5kaW5nQ2xlYXIgfHwgbV9oYXNQZW5kaW5nR2V0VmFsdWVzKQogICAgICAgICBy
ZXR1cm47CiAKICAgICBpZiAoIWtleSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VBcmVhTWFwLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1N0b3JhZ2UvU3RvcmFnZUFyZWFNYXAuaAppbmRleCAwOTBmZGQ0YzY4ODE1NGNjNTFhNWM5
NTY1ZGFiYjAxOWRiYThmZDdkLi40MGEyZTJkMmVkNTQ1ODA5YTNjNmM5N2E2ZGI5NWIyOGUwNzBi
OGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1N0b3JhZ2UvU3RvcmFn
ZUFyZWFNYXAuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1N0b3JhZ2UvU3RvcmFn
ZUFyZWFNYXAuaApAQCAtNjUsMTAgKzY1LDEwIEBAIHByaXZhdGU6CiAgICAgLy8gQ29yZUlQQzo6
TWVzc2FnZVJlY2VpdmVyCiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJ
UEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpIE9WRVJSSURFOwogCi0g
ICAgdm9pZCBkaWRHZXRWYWx1ZXMoKTsKLSAgICB2b2lkIGRpZFNldEl0ZW0oY29uc3QgU3RyaW5n
JiBrZXksIGJvb2wgcXVvdGFFcnJvcik7Ci0gICAgdm9pZCBkaWRSZW1vdmVJdGVtKGNvbnN0IFN0
cmluZyYga2V5KTsKLSAgICB2b2lkIGRpZENsZWFyKCk7CisgICAgdm9pZCBkaWRHZXRWYWx1ZXMo
dWludDY0X3Qgc3RvcmFnZU1hcFNlZWQpOworICAgIHZvaWQgZGlkU2V0SXRlbSh1aW50NjRfdCBz
dG9yYWdlTWFwU2VlZCwgY29uc3QgU3RyaW5nJiBrZXksIGJvb2wgcXVvdGFFcnJvcik7CisgICAg
dm9pZCBkaWRSZW1vdmVJdGVtKHVpbnQ2NF90IHN0b3JhZ2VNYXBTZWVkLCBjb25zdCBTdHJpbmcm
IGtleSk7CisgICAgdm9pZCBkaWRDbGVhcih1aW50NjRfdCBzdG9yYWdlTWFwU2VlZCk7CiAKICAg
ICB2b2lkIHJlc2V0VmFsdWVzKCk7CiAgICAgdm9pZCBsb2FkVmFsdWVzSWZOZWVkZWQoKTsKQEAg
LTg5LDcgKzg5LDEwIEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3Jp
Z2luPiBtX3NlY3VyaXR5T3JpZ2luOwogCiAgICAgUmVmUHRyPFdlYkNvcmU6OlN0b3JhZ2VNYXA+
IG1fc3RvcmFnZU1hcDsKKworICAgIHVpbnQ2NF90IG1fY3VycmVudFNlZWQ7CiAgICAgYm9vbCBt
X2hhc1BlbmRpbmdDbGVhcjsKKyAgICBib29sIG1faGFzUGVuZGluZ0dldFZhbHVlczsKICAgICBI
YXNoQ291bnRlZFNldDxTdHJpbmc+IG1fcGVuZGluZ1ZhbHVlQ2hhbmdlczsKIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlQXJlYU1hcC5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlQXJl
YU1hcC5tZXNzYWdlcy5pbgppbmRleCBkMjY1MDg3OTJhZTkwMmI4MjYxY2JlY2JkZWEwYTk2NGIw
N2IzMmEzLi4yYjU2Yzc3ZDgzZDZkZmI3ZGFjMmVjNmU2ZDFiNDc4YWY3MTRkMDEzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZUFyZWFNYXAubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VB
cmVhTWFwLm1lc3NhZ2VzLmluCkBAIC0yMSwxMCArMjEsMTAgQEAKICMgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAog
bWVzc2FnZXMgLT4gU3RvcmFnZUFyZWFNYXAgewotICAgIERpZEdldFZhbHVlcygpCi0gICAgRGlk
U2V0SXRlbShXVEY6OlN0cmluZyBrZXksIGJvb2wgcXVvdGFFeGNlcHRpb24pCi0gICAgRGlkUmVt
b3ZlSXRlbShXVEY6OlN0cmluZyBrZXkpCi0gICAgRGlkQ2xlYXIoKQorICAgIERpZEdldFZhbHVl
cyh1aW50NjRfdCBzdG9yYWdlTWFwU2VlZCkKKyAgICBEaWRTZXRJdGVtKHVpbnQ2NF90IHN0b3Jh
Z2VNYXBTZWVkLCBXVEY6OlN0cmluZyBrZXksIGJvb2wgcXVvdGFFeGNlcHRpb24pCisgICAgRGlk
UmVtb3ZlSXRlbSh1aW50NjRfdCBzdG9yYWdlTWFwU2VlZCwgV1RGOjpTdHJpbmcga2V5KQorICAg
IERpZENsZWFyKHVpbnQ2NF90IHN0b3JhZ2VNYXBTZWVkKQogCiAgICAgRGlzcGF0Y2hTdG9yYWdl
RXZlbnQodWludDY0X3Qgc291cmNlU3RvcmFnZUFyZWFJRCwgV1RGOjpTdHJpbmcga2V5LCBXVEY6
OlN0cmluZyBvbGRWYWx1ZSwgV1RGOjpTdHJpbmcgbmV3VmFsdWUsIFdURjo6U3RyaW5nIHVybFN0
cmluZykKIH0K
</data>
<flag name="review"
          id="222957"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>