<?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>121564</bug_id>
          
          <creation_ts>2013-09-18 12:18:36 -0700</creation_ts>
          <short_desc>RefPtrHashMap should work with move only types</short_desc>
          <delta_ts>2013-09-18 12:51:15 -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>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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>930699</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-09-18 12:18:36 -0700</bug_when>
    <thetext>RefPtrHashMap should work with move only types</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930700</commentid>
    <comment_count>1</comment_count>
      <attachid>212010</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-09-18 12:20:35 -0700</bug_when>
    <thetext>Created attachment 212010
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930701</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-18 12:21:28 -0700</bug_when>
    <thetext>Attachment 212010 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source/JavaScriptCore/runtime/VM.cpp&apos;, u&apos;Source/WTF/ChangeLog&apos;, u&apos;Source/WTF/wtf/RefPtrHashMap.h&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/bridge/IdentifierRep.cpp&apos;, u&apos;Source/WebCore/page/PageGroup.cpp&apos;, u&apos;Source/WebKit/mac/ChangeLog&apos;, u&apos;Source/WebKit/mac/Plugins/Hosted/ProxyInstance.mm&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit2/UIProcess/Storage/StorageManager.cpp&apos;, u&apos;Source/WebKit2/WebProcess/Storage/StorageNamespaceImpl.cpp&apos;]&quot; exit_code: 1
Source/WebCore/page/PageGroup.cpp:268:  Missing spaces around &gt;&gt;  [whitespace/operators] [3]
Source/WTF/wtf/RefPtrHashMap.h:90:  Missing spaces around &amp;&amp;  [whitespace/operators] [3]
Source/WTF/wtf/RefPtrHashMap.h:91:  Missing spaces around &amp;&amp;  [whitespace/operators] [3]
Source/WTF/wtf/RefPtrHashMap.h:96:  Missing spaces around &amp;&amp;  [whitespace/operators] [3]
Source/WTF/wtf/RefPtrHashMap.h:97:  Missing spaces around &amp;&amp;  [whitespace/operators] [3]
Source/WTF/wtf/RefPtrHashMap.h:109:  Missing spaces around &amp;&amp;  [whitespace/operators] [3]
Source/WTF/wtf/RefPtrHashMap.h:112:  Missing spaces around &amp;&amp;  [whitespace/operators] [3]
Source/WebKit2/WebProcess/Storage/StorageNamespaceImpl.cpp:88:  Missing spaces around &gt;&gt;  [whitespace/operators] [3]
Source/WebKit2/UIProcess/Storage/StorageManager.cpp:354:  Missing spaces around &gt;&gt;  [whitespace/operators] [3]
Total errors found: 9 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930708</commentid>
    <comment_count>3</comment_count>
      <attachid>212010</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-09-18 12:42:14 -0700</bug_when>
    <thetext>Comment on attachment 212010
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=212010&amp;action=review

r=me but dude...

&gt; Source/JavaScriptCore/runtime/VM.cpp:495
&gt; -    SourceProviderCacheMap::AddResult addResult = sourceProviderCacheMap.add(sourceProvider, 0);
&gt; +    SourceProviderCacheMap::AddResult addResult = sourceProviderCacheMap.add(sourceProvider, nullptr);

auto

&gt;&gt; Source/WebCore/page/PageGroup.cpp:268
&gt;&gt; -    HashMap&lt;RefPtr&lt;SecurityOrigin&gt;, RefPtr&lt;StorageNamespace&gt; &gt;::AddResult result = m_transientLocalStorageMap.add(topOrigin, 0);
&gt;&gt; +    HashMap&lt;RefPtr&lt;SecurityOrigin&gt;, RefPtr&lt;StorageNamespace&gt;&gt;::AddResult result = m_transientLocalStorageMap.add(topOrigin, nullptr);
&gt; 
&gt; Missing spaces around &gt;&gt;  [whitespace/operators] [3]

auto

&gt; Source/WebKit2/UIProcess/Storage/StorageManager.cpp:271
&gt; -    HashMap&lt;RefPtr&lt;SecurityOrigin&gt;, StorageArea*&gt;::AddResult result = m_storageAreaMap.add(securityOrigin, 0);
&gt; +    HashMap&lt;RefPtr&lt;SecurityOrigin&gt;, StorageArea*&gt;::AddResult result = m_storageAreaMap.add(securityOrigin, nullptr);

auto

&gt;&gt; Source/WebKit2/UIProcess/Storage/StorageManager.cpp:354
&gt;&gt; +    HashMap&lt;RefPtr&lt;SecurityOrigin&gt;, RefPtr&lt;StorageArea&gt;&gt;::AddResult result = m_storageAreaMap.add(securityOrigin, nullptr);
&gt; 
&gt; Missing spaces around &gt;&gt;  [whitespace/operators] [3]

auto

&gt;&gt; Source/WebKit2/WebProcess/Storage/StorageNamespaceImpl.cpp:88
&gt;&gt; -    HashMap&lt;RefPtr&lt;WebCore::SecurityOrigin&gt;, RefPtr&lt;StorageAreaMap&gt;&gt;::AddResult result = m_storageAreaMaps.add(securityOrigin.get(), 0);
&gt;&gt; +    HashMap&lt;RefPtr&lt;WebCore::SecurityOrigin&gt;, RefPtr&lt;StorageAreaMap&gt;&gt;::AddResult result = m_storageAreaMaps.add(securityOrigin.get(), nullptr);
&gt; 
&gt; Missing spaces around &gt;&gt;  [whitespace/operators] [3]

auto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930710</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-09-18 12:51:15 -0700</bug_when>
    <thetext>Committed r156056: &lt;http://trac.webkit.org/changeset/156056&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212010</attachid>
            <date>2013-09-18 12:20:35 -0700</date>
            <delta_ts>2013-09-18 12:42:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121564-20130918122034.patch</filename>
            <type>text/plain</type>
            <size>16037</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2MDU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
MTM0YTEzYTliMzA4NzRkODRiMzEzNDU3ODI0MzJhNWZhMTJkNTIyLi4xNzQ0NTc3Nzc4ZjgxYTAx
NDdiMzQ4ZWRlOTgxOWYwMTljYTU2MDQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxMy0wOS0xOCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUu
Y29tPgorCisgICAgICAgIFJlZlB0ckhhc2hNYXAgc2hvdWxkIHdvcmsgd2l0aCBtb3ZlIG9ubHkg
dHlwZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEy
MTU2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
cnVudGltZS9WTS5jcHA6CisgICAgICAgIChKU0M6OlZNOjphZGRTb3VyY2VQcm92aWRlckNhY2hl
KToKKwogMjAxMy0wOS0xNyAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29t
PgogCiAgICAgICAgIFJlbmFtZSBPcGVyYXRpb25JblByb2dyZXNzIHRvIEhlYXBPcGVyYXRpb24g
YW5kIG1vdmUgaXQgb3V0IG9mIEhlYXAuaCBpbnRvIGl0cyBvd24gaGVhZGVyCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGNjZjAz
NjczYzcwZDUzZjgyNGMzYzM4NDViMTBmNTY5N2JmMDg5NGUuLmJjYjJiODhlYzE2MDI1ZDc5ZDg3
YjU2ZTE4MDBkODgyNzRmOTYxMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTMtMDktMTggIEFu
ZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBSZWZQdHJIYXNo
TWFwIHNob3VsZCB3b3JrIHdpdGggbW92ZSBvbmx5IHR5cGVzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjE1NjQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGhlIHNhbWUgcnZhbHVlIHJlZmVyZW5j
ZXMgYW5kIHN0ZDo6Zm9yd2FyZCBjYWxscyB0aGF0IGFscmVhZHkgZXhpc3QgaW4gSGFzaE1hcC4K
KworICAgICAgICAqIHd0Zi9SZWZQdHJIYXNoTWFwLmg6CisKIDIwMTMtMDktMTggIEZpbGlwIFBp
emxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBERkcgc2hvdWxkIHN1cHBvcnQgSW50
NTIgZm9yIGxvY2FsIHZhcmlhYmxlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDg3OWVkMmY1ZThhN2MyMDYwNzU0
M2M5ZWYwZDhlM2JmMTY3N2ZiYjMuLjAxYTE3MWEwMjgyYzkwNWZjMzUzZmQ0ZTk3ZmI3YTNkZTE1
MWRmOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMy0wOS0xOCAgQW5kZXJzIENh
cmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIFJlZlB0ckhhc2hNYXAgc2hv
dWxkIHdvcmsgd2l0aCBtb3ZlIG9ubHkgdHlwZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTU2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogYnJpZGdlL0lkZW50aWZpZXJSZXAuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SWRlbnRpZmllclJlcDo6Z2V0KToKKyAgICAgICAgKiBwYWdlL1BhZ2VHcm91
cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlR3JvdXA6OnRyYW5zaWVudExvY2FsU3RvcmFn
ZSk6CisKIDIwMTMtMDktMTggIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJlbmFtZSBSZW5kZXJCUiB0byBSZW5kZXJMaW5lQnJlYWsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpp
bmRleCBmY2Q2MTQzODAzMDA4MDk1N2ZjZTc5MWU1NDFjMjdlMTVlYzI3MGY0Li44OGRlMmIwYTNj
NTFmYjQ2M2UwNGI3NDRhZGI4YzJlMjdkZTUxNGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTMtMDktMTggIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNv
bT4KKworICAgICAgICBSZWZQdHJIYXNoTWFwIHNob3VsZCB3b3JrIHdpdGggbW92ZSBvbmx5IHR5
cGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjE1
NjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBs
dWdpbnMvSG9zdGVkL1Byb3h5SW5zdGFuY2UubW06CisgICAgICAgIChXZWJLaXQ6OlByb3h5SW5z
dGFuY2U6Om1ldGhvZE5hbWVkKToKKyAgICAgICAgKFdlYktpdDo6UHJveHlJbnN0YW5jZTo6Zmll
bGROYW1lZCk6CisKIDIwMTMtMDktMTYgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZW1vdmUgdW51c2VkIGZ1bmN0aW9uIGRpZFNldFNlbGVjdGlvblR5cGVz
Rm9yUGFzdGVib2FyZCBmcm9tIEVkaXRvckNsaWVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAyMWYwNzI0YWYz
NWVlMDVjMWJlZDI5YTVmMWM3YmE3Yzc5NjU2ZDQzLi42MzVlMmM2OTkzYjNjNjRmYTJmZGEzMWI0
ZDM4NTg5NmY0NDE3YzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTMtMDktMTgg
IEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBSZWZQdHJI
YXNoTWFwIHNob3VsZCB3b3JrIHdpdGggbW92ZSBvbmx5IHR5cGVzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjE1NjQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9TdG9yYWdlL1N0b3Jh
Z2VNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZU1hbmFnZXI6OkxvY2FsU3Rv
cmFnZU5hbWVzcGFjZTo6Z2V0T3JDcmVhdGVTdG9yYWdlQXJlYSk6CisgICAgICAgIChXZWJLaXQ6
OlN0b3JhZ2VNYW5hZ2VyOjpTZXNzaW9uU3RvcmFnZU5hbWVzcGFjZTo6Z2V0T3JDcmVhdGVTdG9y
YWdlQXJlYSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2VJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZU5hbWVzcGFjZUltcGw6OnN0b3JhZ2VB
cmVhKToKKwogMjAxMy0wOS0xOCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW0dUS10gV2ViS2l0U2NyaXB0V29ybGQgbm90IGluIEFQSSBkb2N1
bWVudGF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKaW5kZXggOTQ5ODg5NGQ1
MTI0NTM3MDgzNzcxZjVjZWVmNDU1MTRmNzcyNzBlYS4uMTliNThiYzg0NGRiMTA5ZDU4M2JiOTBh
ZjZiYTZkMTEyZjc1MmY1ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVk0uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcApAQCAt
NDkyLDcgKzQ5Miw3IEBAIHZvaWQgVk06OmR1bXBTYW1wbGVEYXRhKEV4ZWNTdGF0ZSogZXhlYykK
IAogU291cmNlUHJvdmlkZXJDYWNoZSogVk06OmFkZFNvdXJjZVByb3ZpZGVyQ2FjaGUoU291cmNl
UHJvdmlkZXIqIHNvdXJjZVByb3ZpZGVyKQogewotICAgIFNvdXJjZVByb3ZpZGVyQ2FjaGVNYXA6
OkFkZFJlc3VsdCBhZGRSZXN1bHQgPSBzb3VyY2VQcm92aWRlckNhY2hlTWFwLmFkZChzb3VyY2VQ
cm92aWRlciwgMCk7CisgICAgU291cmNlUHJvdmlkZXJDYWNoZU1hcDo6QWRkUmVzdWx0IGFkZFJl
c3VsdCA9IHNvdXJjZVByb3ZpZGVyQ2FjaGVNYXAuYWRkKHNvdXJjZVByb3ZpZGVyLCBudWxscHRy
KTsKICAgICBpZiAoYWRkUmVzdWx0LmlzTmV3RW50cnkpCiAgICAgICAgIGFkZFJlc3VsdC5pdGVy
YXRvci0+dmFsdWUgPSBhZG9wdFJlZihuZXcgU291cmNlUHJvdmlkZXJDYWNoZSk7CiAgICAgcmV0
dXJuIGFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWUuZ2V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9SZWZQdHJIYXNoTWFwLmggYi9Tb3VyY2UvV1RGL3d0Zi9SZWZQdHJIYXNoTWFwLmgK
aW5kZXggMDFjY2U2ZTQxMjZiNThiNzYwNjYxNmFjNjMxZjliNjVhYzkxMjlmNS4uYjhiN2I1MDY4
Yjc2MDc3OTRjNTAwYTQ0ODcwODU1YjhiMTFjYzhhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvUmVmUHRySGFzaE1hcC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1JlZlB0ckhhc2hNYXAuaApA
QCAtODcsMTQgKzg3LDE0IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICAvLyByZXBsYWNlcyB2
YWx1ZSBidXQgbm90IGtleSBpZiBrZXkgaXMgYWxyZWFkeSBwcmVzZW50CiAgICAgICAgIC8vIHJl
dHVybiB2YWx1ZSBpcyBhIHBhaXIgb2YgdGhlIGl0ZXJhdG9yIHRvIHRoZSBrZXkgbG9jYXRpb24s
IAogICAgICAgICAvLyBhbmQgYSBib29sZWFuIHRoYXQncyB0cnVlIGlmIGEgbmV3IHZhbHVlIHdh
cyBhY3R1YWxseSBhZGRlZAotICAgICAgICBBZGRSZXN1bHQgc2V0KGNvbnN0IEtleVR5cGUmLCBN
YXBwZWRQYXNzSW5UeXBlKTsKLSAgICAgICAgQWRkUmVzdWx0IHNldChSYXdLZXlUeXBlLCBNYXBw
ZWRQYXNzSW5UeXBlKTsKKyAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVj4gQWRkUmVzdWx0IHNl
dChjb25zdCBLZXlUeXBlJiwgViYmKTsKKyAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVj4gQWRk
UmVzdWx0IHNldChSYXdLZXlUeXBlLCBWJiYpOwogCiAgICAgICAgIC8vIGRvZXMgbm90aGluZyBp
ZiBrZXkgaXMgYWxyZWFkeSBwcmVzZW50CiAgICAgICAgIC8vIHJldHVybiB2YWx1ZSBpcyBhIHBh
aXIgb2YgdGhlIGl0ZXJhdG9yIHRvIHRoZSBrZXkgbG9jYXRpb24sIAogICAgICAgICAvLyBhbmQg
YSBib29sZWFuIHRoYXQncyB0cnVlIGlmIGEgbmV3IHZhbHVlIHdhcyBhY3R1YWxseSBhZGRlZAot
ICAgICAgICBBZGRSZXN1bHQgYWRkKGNvbnN0IEtleVR5cGUmLCBNYXBwZWRQYXNzSW5UeXBlKTsK
LSAgICAgICAgQWRkUmVzdWx0IGFkZChSYXdLZXlUeXBlLCBNYXBwZWRQYXNzSW5UeXBlKTsKKyAg
ICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVj4gQWRkUmVzdWx0IGFkZChjb25zdCBLZXlUeXBlJiwg
ViYmKTsKKyAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVj4gQWRkUmVzdWx0IGFkZChSYXdLZXlU
eXBlLCBWJiYpOwogCiAgICAgICAgIGJvb2wgcmVtb3ZlKGNvbnN0IEtleVR5cGUmKTsKICAgICAg
ICAgYm9vbCByZW1vdmUoUmF3S2V5VHlwZSk7CkBAIC0xMDUsOCArMTA1LDExIEBAIG5hbWVzcGFj
ZSBXVEYgewogICAgICAgICBNYXBwZWRQYXNzT3V0VHlwZSB0YWtlKFJhd0tleVR5cGUpOyAvLyBl
ZmZpY2llbnQgY29tYmluYXRpb24gb2YgZ2V0IHdpdGggcmVtb3ZlCiAKICAgICBwcml2YXRlOgot
ICAgICAgICBBZGRSZXN1bHQgaW5saW5lQWRkKGNvbnN0IEtleVR5cGUmLCBNYXBwZWRQYXNzSW5S
ZWZlcmVuY2VUeXBlKTsKLSAgICAgICAgQWRkUmVzdWx0IGlubGluZUFkZChSYXdLZXlUeXBlLCBN
YXBwZWRQYXNzSW5SZWZlcmVuY2VUeXBlKTsKKyAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVj4K
KyAgICAgICAgQWRkUmVzdWx0IGlubGluZUFkZChjb25zdCBLZXlUeXBlJiwgViYmKTsKKworICAg
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWPgorICAgICAgICBBZGRSZXN1bHQgaW5saW5lQWRkKFJh
d0tleVR5cGUsIFYmJik7CiAKICAgICAgICAgSGFzaFRhYmxlVHlwZSBtX2ltcGw7CiAgICAgfTsK
QEAgLTE5NSw1NiArMTk4LDU2IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICByZXR1cm4gbV9p
bXBsLnRlbXBsYXRlIGNvbnRhaW5zPFRyYW5zbGF0b3I+KGtleSk7CiAgICAgfQogCi0gICAgdGVt
cGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVSwgdHlwZW5hbWUgViwgdHlwZW5hbWUgVywgdHlw
ZW5hbWUgWD4KLSAgICBpbmxpbmUgdHlwZW5hbWUgSGFzaE1hcDxSZWZQdHI8VD4sIFUsIFYsIFcs
IFg+OjpBZGRSZXN1bHQKLSAgICBIYXNoTWFwPFJlZlB0cjxUPiwgVSwgViwgVywgWD46OmlubGlu
ZUFkZChjb25zdCBLZXlUeXBlJiBrZXksIE1hcHBlZFBhc3NJblJlZmVyZW5jZVR5cGUgbWFwcGVk
KSAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXlBcmcsIHR5cGVuYW1lIE1hcHBlZEFyZywgdHlw
ZW5hbWUgSGFzaEFyZywgdHlwZW5hbWUgS2V5VHJhaXRzQXJnLCB0eXBlbmFtZSBNYXBwZWRUcmFp
dHNBcmc+CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVj4KKyAgICBhdXRvIEhhc2hNYXA8UmVmUHRy
PEtleUFyZz4sIE1hcHBlZEFyZywgSGFzaEFyZywgS2V5VHJhaXRzQXJnLCBNYXBwZWRUcmFpdHNB
cmc+OjppbmxpbmVBZGQoY29uc3QgS2V5VHlwZSYga2V5LCBWJiYgbWFwcGVkKSAtPiBBZGRSZXN1
bHQKICAgICB7Ci0gICAgICAgIHJldHVybiBtX2ltcGwudGVtcGxhdGUgYWRkPFRyYW5zbGF0b3I+
KGtleSwgbWFwcGVkKTsKKyAgICAgICAgcmV0dXJuIG1faW1wbC50ZW1wbGF0ZSBhZGQ8VHJhbnNs
YXRvcj4oa2V5LCBzdGQ6OmZvcndhcmQ8Vj4obWFwcGVkKSk7CiAgICAgfQogCi0gICAgdGVtcGxh
dGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVSwgdHlwZW5hbWUgViwgdHlwZW5hbWUgVywgdHlwZW5h
bWUgWD4KLSAgICBpbmxpbmUgdHlwZW5hbWUgSGFzaE1hcDxSZWZQdHI8VD4sIFUsIFYsIFcsIFg+
OjpBZGRSZXN1bHQKLSAgICBIYXNoTWFwPFJlZlB0cjxUPiwgVSwgViwgVywgWD46OmlubGluZUFk
ZChSYXdLZXlUeXBlIGtleSwgTWFwcGVkUGFzc0luUmVmZXJlbmNlVHlwZSBtYXBwZWQpIAorICAg
IHRlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUgTWFwcGVkQXJnLCB0eXBlbmFtZSBI
YXNoQXJnLCB0eXBlbmFtZSBLZXlUcmFpdHNBcmcsIHR5cGVuYW1lIE1hcHBlZFRyYWl0c0FyZz4K
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWPgorICAgIGF1dG8gSGFzaE1hcDxSZWZQdHI8S2V5QXJn
PiwgTWFwcGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBlZFRyYWl0c0FyZz46Omlu
bGluZUFkZChSYXdLZXlUeXBlIGtleSwgViYmIG1hcHBlZCkgLT4gQWRkUmVzdWx0CiAgICAgewot
ICAgICAgICByZXR1cm4gbV9pbXBsLnRlbXBsYXRlIGFkZDxUcmFuc2xhdG9yPihrZXksIG1hcHBl
ZCk7CisgICAgICAgIHJldHVybiBtX2ltcGwudGVtcGxhdGUgYWRkPFRyYW5zbGF0b3I+KGtleSwg
c3RkOjpmb3J3YXJkPFY+KG1hcHBlZCkpOwogICAgIH0KIAotICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFQsIHR5cGVuYW1lIFUsIHR5cGVuYW1lIFYsIHR5cGVuYW1lIFcsIHR5cGVuYW1lIFg+Ci0gICAg
dHlwZW5hbWUgSGFzaE1hcDxSZWZQdHI8VD4sIFUsIFYsIFcsIFg+OjpBZGRSZXN1bHQKLSAgICBI
YXNoTWFwPFJlZlB0cjxUPiwgVSwgViwgVywgWD46OnNldChjb25zdCBLZXlUeXBlJiBrZXksIE1h
cHBlZFBhc3NJblR5cGUgbWFwcGVkKSAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXlBcmcsIHR5
cGVuYW1lIE1hcHBlZEFyZywgdHlwZW5hbWUgSGFzaEFyZywgdHlwZW5hbWUgS2V5VHJhaXRzQXJn
LCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmc+CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVj4KKyAg
ICBhdXRvIEhhc2hNYXA8UmVmUHRyPEtleUFyZz4sIE1hcHBlZEFyZywgSGFzaEFyZywgS2V5VHJh
aXRzQXJnLCBNYXBwZWRUcmFpdHNBcmc+OjpzZXQoY29uc3QgS2V5VHlwZSYga2V5LCBWJiYgdmFs
dWUpIC0+IEFkZFJlc3VsdAogICAgIHsKLSAgICAgICAgQWRkUmVzdWx0IHJlc3VsdCA9IGlubGlu
ZUFkZChrZXksIG1hcHBlZCk7CisgICAgICAgIEFkZFJlc3VsdCByZXN1bHQgPSBpbmxpbmVBZGQo
a2V5LCBzdGQ6OmZvcndhcmQ8Vj4odmFsdWUpKTsKICAgICAgICAgaWYgKCFyZXN1bHQuaXNOZXdF
bnRyeSkgewogICAgICAgICAgICAgLy8gVGhlIGlubGluZUFkZCBjYWxsIGFib3ZlIGZvdW5kIGFu
IGV4aXN0aW5nIGhhc2ggdGFibGUgZW50cnk7IHdlIG5lZWQgdG8gc2V0IHRoZSBtYXBwZWQgdmFs
dWUuCi0gICAgICAgICAgICBNYXBwZWRUcmFpdHM6OnN0b3JlKG1hcHBlZCwgcmVzdWx0Lml0ZXJh
dG9yLT52YWx1ZSk7CisgICAgICAgICAgICByZXN1bHQuaXRlcmF0b3ItPnZhbHVlID0gc3RkOjpm
b3J3YXJkPFY+KHZhbHVlKTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAg
IH0KIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFUsIHR5cGVuYW1lIFYsIHR5
cGVuYW1lIFcsIHR5cGVuYW1lIFg+Ci0gICAgdHlwZW5hbWUgSGFzaE1hcDxSZWZQdHI8VD4sIFUs
IFYsIFcsIFg+OjpBZGRSZXN1bHQKLSAgICBIYXNoTWFwPFJlZlB0cjxUPiwgVSwgViwgVywgWD46
OnNldChSYXdLZXlUeXBlIGtleSwgTWFwcGVkUGFzc0luVHlwZSBtYXBwZWQpIAorICAgIHRlbXBs
YXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUgTWFwcGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJn
LCB0eXBlbmFtZSBLZXlUcmFpdHNBcmcsIHR5cGVuYW1lIE1hcHBlZFRyYWl0c0FyZz4KKyAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBWPgorICAgIGF1dG8gSGFzaE1hcDxSZWZQdHI8S2V5QXJnPiwgTWFw
cGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBlZFRyYWl0c0FyZz46OnNldChSYXdL
ZXlUeXBlIGtleSwgViYmIHZhbHVlKSAtPiBBZGRSZXN1bHQKICAgICB7Ci0gICAgICAgIEFkZFJl
c3VsdCByZXN1bHQgPSBpbmxpbmVBZGQoa2V5LCBtYXBwZWQpOworICAgICAgICBBZGRSZXN1bHQg
cmVzdWx0ID0gaW5saW5lQWRkKGtleSwgdmFsdWUpOwogICAgICAgICBpZiAoIXJlc3VsdC5pc05l
d0VudHJ5KSB7CiAgICAgICAgICAgICAvLyBUaGUgaW5saW5lQWRkIGNhbGwgYWJvdmUgZm91bmQg
YW4gZXhpc3RpbmcgaGFzaCB0YWJsZSBlbnRyeTsgd2UgbmVlZCB0byBzZXQgdGhlIG1hcHBlZCB2
YWx1ZS4KLSAgICAgICAgICAgIE1hcHBlZFRyYWl0czo6c3RvcmUobWFwcGVkLCByZXN1bHQuaXRl
cmF0b3ItPnZhbHVlKTsKKyAgICAgICAgICAgIHJlc3VsdC5pdGVyYXRvci0+dmFsdWUgPSBzdGQ6
OmZvcndhcmQ8Vj4odmFsdWUpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAg
ICAgfQogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVSwgdHlwZW5hbWUgViwg
dHlwZW5hbWUgVywgdHlwZW5hbWUgWD4KLSAgICB0eXBlbmFtZSBIYXNoTWFwPFJlZlB0cjxUPiwg
VSwgViwgVywgWD46OkFkZFJlc3VsdAotICAgIEhhc2hNYXA8UmVmUHRyPFQ+LCBVLCBWLCBXLCBY
Pjo6YWRkKGNvbnN0IEtleVR5cGUmIGtleSwgTWFwcGVkUGFzc0luVHlwZSBtYXBwZWQpCisgICAg
dGVtcGxhdGU8dHlwZW5hbWUgS2V5QXJnLCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1lIEhh
c2hBcmcsIHR5cGVuYW1lIEtleVRyYWl0c0FyZywgdHlwZW5hbWUgTWFwcGVkVHJhaXRzQXJnPgor
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFY+CisgICAgYXV0byBIYXNoTWFwPFJlZlB0cjxLZXlBcmc+
LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtleVRyYWl0c0FyZywgTWFwcGVkVHJhaXRzQXJnPjo6YWRk
KGNvbnN0IEtleVR5cGUmIGtleSwgViYmIHZhbHVlKSAtPiBBZGRSZXN1bHQKICAgICB7Ci0gICAg
ICAgIHJldHVybiBpbmxpbmVBZGQoa2V5LCBtYXBwZWQpOworICAgICAgICByZXR1cm4gaW5saW5l
QWRkKGtleSwgc3RkOjpmb3J3YXJkPFY+KHZhbHVlKSk7CiAgICAgfQogCi0gICAgdGVtcGxhdGU8
dHlwZW5hbWUgVCwgdHlwZW5hbWUgVSwgdHlwZW5hbWUgViwgdHlwZW5hbWUgVywgdHlwZW5hbWUg
WD4KLSAgICB0eXBlbmFtZSBIYXNoTWFwPFJlZlB0cjxUPiwgVSwgViwgVywgWD46OkFkZFJlc3Vs
dAotICAgIEhhc2hNYXA8UmVmUHRyPFQ+LCBVLCBWLCBXLCBYPjo6YWRkKFJhd0tleVR5cGUga2V5
LCBNYXBwZWRQYXNzSW5UeXBlIG1hcHBlZCkKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXlBcmcs
IHR5cGVuYW1lIE1hcHBlZEFyZywgdHlwZW5hbWUgSGFzaEFyZywgdHlwZW5hbWUgS2V5VHJhaXRz
QXJnLCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmc+CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVj4K
KyAgICBhdXRvIEhhc2hNYXA8UmVmUHRyPEtleUFyZz4sIE1hcHBlZEFyZywgSGFzaEFyZywgS2V5
VHJhaXRzQXJnLCBNYXBwZWRUcmFpdHNBcmc+OjphZGQoUmF3S2V5VHlwZSBrZXksIFYmJiB2YWx1
ZSkgLT4gQWRkUmVzdWx0CiAgICAgewotICAgICAgICByZXR1cm4gaW5saW5lQWRkKGtleSwgbWFw
cGVkKTsKKyAgICAgICAgcmV0dXJuIGlubGluZUFkZChrZXksIHN0ZDo6Zm9yd2FyZDxWPih2YWx1
ZSkpOwogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFUsIHR5cGVu
YW1lIFYsIHR5cGVuYW1lIFcsIHR5cGVuYW1lIE1hcHBlZFRyYWl0cz4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9JZGVudGlmaWVyUmVwLmNwcAppbmRleCBlYjhhZmM2NzNkMGRjMjMzNmE1N2RiZTA2MzU2
OWQzM2QxNTI0MmRhLi4zYWY3YTM3ZmEwNGIwZWJmNGExOTNjYzJjYWFjODcwMmM3YjhmZmM1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmllclJlcC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuY3BwCkBAIC05Miw3ICs5Miw3IEBA
IElkZW50aWZpZXJSZXAqIElkZW50aWZpZXJSZXA6OmdldChjb25zdCBjaGFyKiBuYW1lKQogICAg
ICAgICByZXR1cm4gMDsKICAgCiAgICAgU3RyaW5nIHN0cmluZyA9IFN0cmluZzo6ZnJvbVVURjhX
aXRoTGF0aW4xRmFsbGJhY2sobmFtZSwgc3RybGVuKG5hbWUpKTsKLSAgICBTdHJpbmdJZGVudGlm
aWVyTWFwOjpBZGRSZXN1bHQgcmVzdWx0ID0gc3RyaW5nSWRlbnRpZmllck1hcCgpLmFkZChzdHJp
bmcuaW1wbCgpLCAwKTsKKyAgICBTdHJpbmdJZGVudGlmaWVyTWFwOjpBZGRSZXN1bHQgcmVzdWx0
ID0gc3RyaW5nSWRlbnRpZmllck1hcCgpLmFkZChzdHJpbmcuaW1wbCgpLCBudWxscHRyKTsKICAg
ICBpZiAocmVzdWx0LmlzTmV3RW50cnkpIHsKICAgICAgICAgQVNTRVJUKCFyZXN1bHQuaXRlcmF0
b3ItPnZhbHVlKTsKICAgICAgICAgcmVzdWx0Lml0ZXJhdG9yLT52YWx1ZSA9IG5ldyBJZGVudGlm
aWVyUmVwKG5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuY3BwCmluZGV4IGM0NGJlZTBkNWE5
ZThmYjRmMjNmYTMzZmY0OTNlMDZkYzRjNGJlZTguLmVhM2ZiYmNmZDQyYmQ3Mjg0MTZhNmJmOTli
ZGU2OGI2ZWMzODA4YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3Vw
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5jcHAKQEAgLTI2NSw3ICsy
NjUsNyBAQCBTdG9yYWdlTmFtZXNwYWNlKiBQYWdlR3JvdXA6OmxvY2FsU3RvcmFnZSgpCiAKIFN0
b3JhZ2VOYW1lc3BhY2UqIFBhZ2VHcm91cDo6dHJhbnNpZW50TG9jYWxTdG9yYWdlKFNlY3VyaXR5
T3JpZ2luKiB0b3BPcmlnaW4pCiB7Ci0gICAgSGFzaE1hcDxSZWZQdHI8U2VjdXJpdHlPcmlnaW4+
LCBSZWZQdHI8U3RvcmFnZU5hbWVzcGFjZT4gPjo6QWRkUmVzdWx0IHJlc3VsdCA9IG1fdHJhbnNp
ZW50TG9jYWxTdG9yYWdlTWFwLmFkZCh0b3BPcmlnaW4sIDApOworICAgIEhhc2hNYXA8UmVmUHRy
PFNlY3VyaXR5T3JpZ2luPiwgUmVmUHRyPFN0b3JhZ2VOYW1lc3BhY2U+Pjo6QWRkUmVzdWx0IHJl
c3VsdCA9IG1fdHJhbnNpZW50TG9jYWxTdG9yYWdlTWFwLmFkZCh0b3BPcmlnaW4sIG51bGxwdHIp
OwogCiAgICAgaWYgKHJlc3VsdC5pc05ld0VudHJ5KQogICAgICAgICByZXN1bHQuaXRlcmF0b3It
PnZhbHVlID0gU3RvcmFnZU5hbWVzcGFjZTo6dHJhbnNpZW50TG9jYWxTdG9yYWdlTmFtZXNwYWNl
KHRoaXMsIHRvcE9yaWdpbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5z
L0hvc3RlZC9Qcm94eUluc3RhbmNlLm1tIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0
ZWQvUHJveHlJbnN0YW5jZS5tbQppbmRleCBjM2M1ZjUzN2M1NGEwNjM0MzMzYjhlODUzNjk2ZTQ4
NDk3NGZkNjVjLi44NWI1MzQzNjVjM2Y0YWNhNjhkYWMxNmE3MDdkNGM5ZmMyZjUwMzIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9Qcm94eUluc3RhbmNlLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL1Byb3h5SW5zdGFuY2UubW0K
QEAgLTM3NCw3ICszNzQsNyBAQCBNZXRob2QqIFByb3h5SW5zdGFuY2U6Om1ldGhvZE5hbWVkKFBy
b3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgLy8gQWRk
IGEgbmV3IGVudHJ5IHRvIHRoZSBtYXAgdW5sZXNzIGFuIGVudHJ5IHdhcyBhZGRlZCB3aGlsZSB3
ZSB3ZXJlIGluIHdhaXRGb3JSZXBseS4KLSAgICBhdXRvIG1hcEFkZFJlc3VsdCA9IG1fbWV0aG9k
cy5hZGQobmFtZS5pbXBsKCksIDApOworICAgIGF1dG8gbWFwQWRkUmVzdWx0ID0gbV9tZXRob2Rz
LmFkZChuYW1lLmltcGwoKSwgbnVsbHB0cik7CiAgICAgaWYgKG1hcEFkZFJlc3VsdC5pc05ld0Vu
dHJ5ICYmIHJlcGx5LT5tX3Jlc3VsdCkKICAgICAgICAgbWFwQWRkUmVzdWx0Lml0ZXJhdG9yLT52
YWx1ZSA9IG5ldyBQcm94eU1ldGhvZChtZXRob2ROYW1lKTsKIApAQCAtNDExLDcgKzQxMSw3IEBA
IEZpZWxkKiBQcm94eUluc3RhbmNlOjpmaWVsZE5hbWVkKFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5h
bWUpCiAgICAgICAgIHJldHVybiAwOwogICAgIAogICAgIC8vIEFkZCBhIG5ldyBlbnRyeSB0byB0
aGUgbWFwIHVubGVzcyBhbiBlbnRyeSB3YXMgYWRkZWQgd2hpbGUgd2Ugd2VyZSBpbiB3YWl0Rm9y
UmVwbHkuCi0gICAgYXV0byBtYXBBZGRSZXN1bHQgPSBtX2ZpZWxkcy5hZGQobmFtZS5pbXBsKCks
IDApOworICAgIGF1dG8gbWFwQWRkUmVzdWx0ID0gbV9maWVsZHMuYWRkKG5hbWUuaW1wbCgpLCBu
dWxscHRyKTsKICAgICBpZiAobWFwQWRkUmVzdWx0LmlzTmV3RW50cnkgJiYgcmVwbHktPm1fcmVz
dWx0KQogICAgICAgICBtYXBBZGRSZXN1bHQuaXRlcmF0b3ItPnZhbHVlID0gbmV3IFByb3h5Rmll
bGQoaWRlbnRpZmllcik7CiAgICAgcmV0dXJuIG1hcEFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlTWFu
YWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlTWFuYWdl
ci5jcHAKaW5kZXggYjY1NjczOTAwZDI1ZWU5ZmU0NDE3ZTk4ZjRlOGJlMGIxNmZlYjM4ZS4uZGZj
ZWViNjYxZjJhYmYwNWZhYmQ2ZDY3YWIxYzUwMWU1OWM5ZjI3YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyLmNwcApAQCAtMjY4LDcg
KzI2OCw3IEBAIFN0b3JhZ2VNYW5hZ2VyOjpMb2NhbFN0b3JhZ2VOYW1lc3BhY2U6On5Mb2NhbFN0
b3JhZ2VOYW1lc3BhY2UoKQogCiBQYXNzUmVmUHRyPFN0b3JhZ2VNYW5hZ2VyOjpTdG9yYWdlQXJl
YT4gU3RvcmFnZU1hbmFnZXI6OkxvY2FsU3RvcmFnZU5hbWVzcGFjZTo6Z2V0T3JDcmVhdGVTdG9y
YWdlQXJlYShQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiBzZWN1cml0eU9yaWdpbikKIHsKLSAg
ICBIYXNoTWFwPFJlZlB0cjxTZWN1cml0eU9yaWdpbj4sIFN0b3JhZ2VBcmVhKj46OkFkZFJlc3Vs
dCByZXN1bHQgPSBtX3N0b3JhZ2VBcmVhTWFwLmFkZChzZWN1cml0eU9yaWdpbiwgMCk7CisgICAg
SGFzaE1hcDxSZWZQdHI8U2VjdXJpdHlPcmlnaW4+LCBTdG9yYWdlQXJlYSo+OjpBZGRSZXN1bHQg
cmVzdWx0ID0gbV9zdG9yYWdlQXJlYU1hcC5hZGQoc2VjdXJpdHlPcmlnaW4sIG51bGxwdHIpOwog
ICAgIGlmICghcmVzdWx0LmlzTmV3RW50cnkpCiAgICAgICAgIHJldHVybiByZXN1bHQuaXRlcmF0
b3ItPnZhbHVlOwogCkBAIC0zNTEsNyArMzUxLDcgQEAgdm9pZCBTdG9yYWdlTWFuYWdlcjo6U2Vz
c2lvblN0b3JhZ2VOYW1lc3BhY2U6OnNldEFsbG93ZWRDb25uZWN0aW9uKENvcmVJUEM6OkNvbm4K
IAogUGFzc1JlZlB0cjxTdG9yYWdlTWFuYWdlcjo6U3RvcmFnZUFyZWE+IFN0b3JhZ2VNYW5hZ2Vy
OjpTZXNzaW9uU3RvcmFnZU5hbWVzcGFjZTo6Z2V0T3JDcmVhdGVTdG9yYWdlQXJlYShQYXNzUmVm
UHRyPFNlY3VyaXR5T3JpZ2luPiBzZWN1cml0eU9yaWdpbikKIHsKLSAgICBIYXNoTWFwPFJlZlB0
cjxTZWN1cml0eU9yaWdpbj4sIFJlZlB0cjxTdG9yYWdlQXJlYT4+OjpBZGRSZXN1bHQgcmVzdWx0
ID0gbV9zdG9yYWdlQXJlYU1hcC5hZGQoc2VjdXJpdHlPcmlnaW4sIDApOworICAgIEhhc2hNYXA8
UmVmUHRyPFNlY3VyaXR5T3JpZ2luPiwgUmVmUHRyPFN0b3JhZ2VBcmVhPj46OkFkZFJlc3VsdCBy
ZXN1bHQgPSBtX3N0b3JhZ2VBcmVhTWFwLmFkZChzZWN1cml0eU9yaWdpbiwgbnVsbHB0cik7CiAg
ICAgaWYgKHJlc3VsdC5pc05ld0VudHJ5KQogICAgICAgICByZXN1bHQuaXRlcmF0b3ItPnZhbHVl
ID0gU3RvcmFnZUFyZWE6OmNyZWF0ZSgwLCByZXN1bHQuaXRlcmF0b3ItPmtleSwgbV9xdW90YUlu
Qnl0ZXMpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1N0b3JhZ2Uv
U3RvcmFnZU5hbWVzcGFjZUltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9TdG9y
YWdlL1N0b3JhZ2VOYW1lc3BhY2VJbXBsLmNwcAppbmRleCA5NzhkMjBmODAxNGMwYjMxYTU2NzIx
ZTZhMTMzYjg0NjBhMTU0ZjU4Li5kYjJhODhiYTdlZWY0NGI2NGYxNTJiYzYwMDY5ZDBmZGZhMzEw
MWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1N0b3JhZ2UvU3RvcmFn
ZU5hbWVzcGFjZUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvU3RvcmFn
ZS9TdG9yYWdlTmFtZXNwYWNlSW1wbC5jcHAKQEAgLTg1LDcgKzg1LDcgQEAgU3RvcmFnZU5hbWVz
cGFjZUltcGw6On5TdG9yYWdlTmFtZXNwYWNlSW1wbCgpCiAKIFBhc3NSZWZQdHI8U3RvcmFnZUFy
ZWE+IFN0b3JhZ2VOYW1lc3BhY2VJbXBsOjpzdG9yYWdlQXJlYShQYXNzUmVmUHRyPFNlY3VyaXR5
T3JpZ2luPiBzZWN1cml0eU9yaWdpbikKIHsKLSAgICBIYXNoTWFwPFJlZlB0cjxXZWJDb3JlOjpT
ZWN1cml0eU9yaWdpbj4sIFJlZlB0cjxTdG9yYWdlQXJlYU1hcD4+OjpBZGRSZXN1bHQgcmVzdWx0
ID0gbV9zdG9yYWdlQXJlYU1hcHMuYWRkKHNlY3VyaXR5T3JpZ2luLmdldCgpLCAwKTsKKyAgICBI
YXNoTWFwPFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4sIFJlZlB0cjxTdG9yYWdlQXJl
YU1hcD4+OjpBZGRSZXN1bHQgcmVzdWx0ID0gbV9zdG9yYWdlQXJlYU1hcHMuYWRkKHNlY3VyaXR5
T3JpZ2luLmdldCgpLCBudWxscHRyKTsKICAgICBpZiAocmVzdWx0LmlzTmV3RW50cnkpCiAgICAg
ICAgIHJlc3VsdC5pdGVyYXRvci0+dmFsdWUgPSBTdG9yYWdlQXJlYU1hcDo6Y3JlYXRlKHRoaXMs
IHNlY3VyaXR5T3JpZ2luKTsKIAo=
</data>
<flag name="review"
          id="234158"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>