<?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>229277</bug_id>
          
          <creation_ts>2021-08-18 20:40:23 -0700</creation_ts>
          <short_desc>Nullptr crash in TypingCommand::willAddTypingToOpenCommand via TypingCommand::deleteKeyPressed</short_desc>
          <delta_ts>2021-09-05 09:19:11 -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>HTML Editing</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-feeder</cc>
    
    <cc>fred.wang</cc>
    
    <cc>gpoo</cc>
    
    <cc>product-security</cc>
    
    <cc>rbuis</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1785353</commentid>
    <comment_count>0</comment_count>
      <attachid>435836</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-08-18 20:40:23 -0700</bug_when>
    <thetext>Created attachment 435836
Test

e.g.

#0 0x14afd5252 in WTF::Ref&lt;WebCore::Node, WTF::RawPtrTraits&lt;WebCore::Node&gt; &gt;::Ref(WTF::Ref&lt;WebCore::Node, WTF::RawPtrTraits&lt;WebCore::Node&gt; &gt; const&amp;)+0x42 (WebCore.framework/Versions/A/WebCore:x86_64+0xf57252)
#1 0x14afd5208 in WTF::Ref&lt;WebCore::Node, WTF::RawPtrTraits&lt;WebCore::Node&gt; &gt;::Ref(WTF::Ref&lt;WebCore::Node, WTF::RawPtrTraits&lt;WebCore::Node&gt; &gt; const&amp;)+0x8 (WebCore.framework/Versions/A/WebCore:x86_64+0xf57208)
#2 0x14afd518e in WebCore::BoundaryPoint::BoundaryPoint(WebCore::BoundaryPoint const&amp;)+0x1e (WebCore.framework/Versions/A/WebCore:x86_64+0xf5718e)
#3 0x14afd5168 in WebCore::BoundaryPoint::BoundaryPoint(WebCore::BoundaryPoint const&amp;)+0x8 (WebCore.framework/Versions/A/WebCore:x86_64+0xf57168)
#4 0x14afd5901 in WebCore::SimpleRange::SimpleRange(WebCore::SimpleRange const&amp;)+0x21 (WebCore.framework/Versions/A/WebCore:x86_64+0xf57901)
#5 0x14afd4c98 in WebCore::SimpleRange::SimpleRange(WebCore::SimpleRange const&amp;)+0x8 (WebCore.framework/Versions/A/WebCore:x86_64+0xf56c98)
#6 0x14d9ac471 in WebCore::StaticRange::create(WebCore::SimpleRange const&amp;)+0xc1 (WebCore.framework/Versions/A/WebCore:x86_64+0x392e471)
#7 0x14db91d7c in WebCore::TypingCommand::willAddTypingToOpenCommand(WebCore::TypingCommand::ETypingCommand, WebCore::TextGranularity, WTF::String const&amp;, std::__1::optional&lt;WebCore::SimpleRange&gt; const&amp;)+0x22c (WebCore.framework/Versions/A/WebCore:x86_64+0x3b13d7c)
#8 0x14db8cdee in WebCore::TypingCommand::deleteKeyPressed(WebCore::TextGranularity, bool)+0x8be (WebCore.framework/Versions/A/WebCore:x86_64+0x3b0edee)
#9 0x14db90f4e in WebCore::TypingCommand::doApply()+0x1be (WebCore.framework/Versions/A/WebCore:x86_64+0x3b12f4e)
#10 0x14da353c6 in WebCore::CompositeEditCommand::apply()+0x216 (WebCore.framework/Versions/A/WebCore:x86_64+0x39b73c6)
#11 0x14db8c27b in WebCore::TypingCommand::deleteKeyPressed(WebCore::Document&amp;, unsigned int, WebCore::TextGranularity)+0x29b (WebCore.framework/Versions/A/WebCore:x86_64+0x3b0e27b)
#12 0x14db05dae in WebCore::executeDelete(WebCore::Frame&amp;, WebCore::Event*, WebCore::EditorCommandSource, WTF::String const&amp;)+0xde (WebCore.framework/Versions/A/WebCore:x86_64+0x3a87dae)
#13 0x14dac808b in WebCore::Editor::Command::execute(WTF::String const&amp;, WebCore::Event*) const+0xdb (WebCore.framework/Versions/A/WebCore:x86_64+0x3a4a08b)
#14 0x14d72dc7e in WebCore::Document::execCommand(WTF::String const&amp;, bool, WTF::String const&amp;)+0x14e (WebCore.framework/Versions/A/WebCore:x86_64+0x36afc7e)
#15 0x14ab2d8c8 in WebCore::jsDocumentPrototypeFunction_execCommandBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSDocument*)+0x4f8 (WebCore.framework/Versions/A/WebCore:x86_64+0xaaf8c8)
#16 0x14ab2d330 in long long WebCore::IDLOperation&lt;WebCore::JSDocument&gt;::call&lt;&amp;(WebCore::jsDocumentPrototypeFunction_execCommandBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSDocument*)), (WebCore::CastedThisErrorBehavior)0&gt;(JSC::JSGlobalObject&amp;, JSC::CallFrame&amp;, char const*)+0x100 (WebCore.framework/Versions/A/WebCore:x86_64+0xaaf330)
#17 0x14ab165a8 in WebCore::jsDocumentPrototypeFunction_execCommand(JSC::JSGlobalObject*, JSC::CallFrame*)+0x8 (WebCore.framework/Versions/A/WebCore:x86_64+0xa985a8)
#18 0x3ae554a011d7  (&lt;unknown module&gt;)
#19 0x16806f8d6 in llint_entry+0x1b5c6 (JavaScriptCore.framework/Versions/A/JavaScriptCore:x86_64+0xe318d6)
#20 0x168054108 in vmEntryToJavaScript+0xd7 (JavaScriptCore.framework/Versions/A/JavaScriptCore:x86_64+0xe16108)
#21 0x169a75084 in JSC::Interpreter::executeCall(JSC::JSGlobalObject*, JSC::JSObject*, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)+0x5e4 (JavaScriptCore.framework/Versions/A/JavaScriptCore:x86_64+0x2837084)
#22 0x16a375b84 in JSC::call(JSC::JSGlobalObject*, JSC::JSValue, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)+0x64 (JavaScriptCore.framework/Versions/A/JavaScriptCore:x86_64+0x3137b84)

&lt;rdar://80333314&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785354</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-08-18 20:40:33 -0700</bug_when>
    <thetext>I can reproduce this with ASAN release build of WebKitTestRunner at r281219.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786742</commentid>
    <comment_count>2</comment_count>
      <attachid>436289</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-08-24 08:24:27 -0700</bug_when>
    <thetext>Created attachment 436289
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786887</commentid>
    <comment_count>3</comment_count>
      <attachid>436289</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-08-24 12:32:55 -0700</bug_when>
    <thetext>Comment on attachment 436289
Patch

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

&gt; Source/WebCore/editing/TypingCommand.cpp:666
&gt; +                if (auto range = deleteListSelection.value().firstRange()) {

I presume deleteListSelection is &quot;none&quot;?
It&apos;s confusing that CompositeEditCommand::shouldBreakOutOfEmptyListItem() returns optional&lt;VisibleSelection&gt;.
We normally use VisibleSelection.isNone() in these cases.
Given shouldBreakOutOfEmptyListItem() is only used in this function, I think we should go ahead &amp; make that change
instead of returning checking for both std::nullopt and VisibleSelection being none.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788497</commentid>
    <comment_count>4</comment_count>
      <attachid>436770</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-08-30 07:44:36 -0700</bug_when>
    <thetext>Created attachment 436770
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788569</commentid>
    <comment_count>5</comment_count>
      <attachid>436770</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-08-30 10:49:22 -0700</bug_when>
    <thetext>Comment on attachment 436770
Patch

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

&gt; Source/WebCore/editing/TypingCommand.cpp:667
&gt; +            auto deleteListSelection = shouldBreakOutOfEmptyListItem();
&gt; +            if (!deleteListSelection.isNone()) {
&gt; +                if (willAddTypingToOpenCommand(DeleteKey, granularity, { }, deleteListSelection.firstRange())) {

Define the variable inside if like so:
if (auto deleteListSelection = shouldBreakOutOfEmptyListItem(); !deleteListSelection.isNone()) {</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788795</commentid>
    <comment_count>6</comment_count>
      <attachid>436848</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-08-31 00:25:36 -0700</bug_when>
    <thetext>Created attachment 436848
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788817</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-31 01:39:59 -0700</bug_when>
    <thetext>Committed r281795 (241132@main): &lt;https://commits.webkit.org/241132@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 436848.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>435836</attachid>
            <date>2021-08-18 20:40:23 -0700</date>
            <delta_ts>2021-08-18 20:40:23 -0700</delta_ts>
            <desc>Test</desc>
            <filename>repro_697.html</filename>
            <type>text/html</type>
            <size>376</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">PHN0eWxlPgogIGh0bWwgewogICAgZGlzcGxheTogdGFibGU7CiAgfQo8L3N0eWxlPgo8c2NyaXB0
PgogIG9ubG9hZCA9ICgpID0+IHsKICAgIGRvY3VtZW50LmRlc2lnbk1vZGUgPSAnb24nOwogICAg
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuYm9keSk7CiAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgnSW5zZXJ0TmVzdGVkVW5vcmRlcmVkTGlzdCcpOwogICAgZG9jdW1l
bnQuYm9keS5hcHBlbmQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JykpOwogICAgZG9jdW1l
bnQuYm9keS5pbm5lckhUTUwgKz0gJyc7CiAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnRGVsZXRl
Jyk7CiAgfTsKPC9zY3JpcHQ+Cjxib2R5Pgo8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436289</attachid>
            <date>2021-08-24 08:24:27 -0700</date>
            <delta_ts>2021-08-30 07:44:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229277-20210824172425.patch</filename>
            <type>text/plain</type>
            <size>4050</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNDkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjhkNWNlOGNjOTBjYTAy
MzgzZjNhNjIyNjkxZGNhNjJiZGM0NTFjNy4uOTQ0MThjNTlhZTQ5ZTJhNmE0MjdmYzNlYWQ3ODg0
MzVkMTE3NTQ1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA4LTI0ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgTnVsbCBjaGVjayBmaXJzdFJhbmdl
IGluIFR5cGluZ0NvbW1hbmQ6OmRlbGV0ZUtleVByZXNzZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTI3NworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE51bGwgY2hlY2sgZmlyc3RSYW5nZSBpbiBUeXBp
bmdDb21tYW5kOjpkZWxldGVLZXlQcmVzc2VkLgorCisgICAgICAgIFRlc3RzOiBlZGl0aW5nL2Rl
bGV0aW5nL2RlbGV0ZS1rZXktY3Jhc2guaHRtbAorCisgICAgICAgICogZWRpdGluZy9UeXBpbmdD
b21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlR5cGluZ0NvbW1hbmQ6OmRlbGV0ZUtleVBy
ZXNzZWQpOgorCiAyMDIxLTA4LTI0ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlh
LmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyODEzMDUpIFtHU3RyZWFtZXJdIGZhc3QvbWVk
aWFzdHJlYW0vZ2V0RGlzcGxheU1lZGlhLWZyYW1lLXJhdGUuaHRtbCB0aW1lb3V0cwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UeXBpbmdDb21tYW5kLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvVHlwaW5nQ29tbWFuZC5jcHAKaW5kZXggNzY4ZDM3MzcwNDQ2YTUyNjVj
OTNjYzcyZThmYzQ0NmIxZTMwMWU2Yy4uMjIzNjI3ZWJmMWNlYTEyNmRiMDJkMGJjMTc2ZDVjYmY4
MzEzMjhiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UeXBpbmdDb21tYW5k
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1R5cGluZ0NvbW1hbmQuY3BwCkBAIC02
NjMsOSArNjYzLDExIEBAIHZvaWQgVHlwaW5nQ29tbWFuZDo6ZGVsZXRlS2V5UHJlc3NlZChUZXh0
R3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHksIGJvb2wgc2hvdWxkQWRkCiAgICAgICAgIGlmIChwcmV2
aW91c1Bvc2l0aW9uLmlzTnVsbCgpIHx8IGVuY2xvc2luZ1RhYmxlQ2VsbCAhPSBlbmNsb3NpbmdU
YWJsZUNlbGxGb3JQcmV2aW91c1Bvc2l0aW9uKSB7CiAgICAgICAgICAgICAvLyBXaGVuIHRoZSBj
YXJldCBpcyBhdCB0aGUgc3RhcnQgb2YgdGhlIGVkaXRhYmxlIGFyZWEgaW4gYW4gZW1wdHkgbGlz
dCBpdGVtLCBicmVhayBvdXQgb2YgdGhlIGxpc3QgaXRlbS4KICAgICAgICAgICAgIGlmIChhdXRv
IGRlbGV0ZUxpc3RTZWxlY3Rpb24gPSBzaG91bGRCcmVha091dE9mRW1wdHlMaXN0SXRlbSgpKSB7
Ci0gICAgICAgICAgICAgICAgaWYgKHdpbGxBZGRUeXBpbmdUb09wZW5Db21tYW5kKERlbGV0ZUtl
eSwgZ3JhbnVsYXJpdHksIHsgfSwgKmRlbGV0ZUxpc3RTZWxlY3Rpb24udmFsdWUoKS5maXJzdFJh
bmdlKCkpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrT3V0T2ZFbXB0eUxpc3RJdGVtKCk7
Ci0gICAgICAgICAgICAgICAgICAgIHR5cGluZ0FkZGVkVG9PcGVuQ29tbWFuZChEZWxldGVLZXkp
OworICAgICAgICAgICAgICAgIGlmIChhdXRvIHJhbmdlID0gZGVsZXRlTGlzdFNlbGVjdGlvbi52
YWx1ZSgpLmZpcnN0UmFuZ2UoKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAod2lsbEFkZFR5
cGluZ1RvT3BlbkNvbW1hbmQoRGVsZXRlS2V5LCBncmFudWxhcml0eSwgeyB9LCAqcmFuZ2UpKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICBicmVha091dE9mRW1wdHlMaXN0SXRlbSgpOworICAg
ICAgICAgICAgICAgICAgICAgICAgdHlwaW5nQWRkZWRUb09wZW5Db21tYW5kKERlbGV0ZUtleSk7
CisgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDFkZWJhMDc5NmFjM2JmYzg0NjZlN2Yx
ODJjM2Q3YTcwYmEyYWVmNmYuLjdkYjU4ZDE2ODg5YjQ3YzFjYTAyZDUyOWY4Zjc0ZjliNjA5NDcy
MmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0wOC0yNCAgUm9iIEJ1aXMgIDxyYnVpc0Bp
Z2FsaWEuY29tPgorCisgICAgICAgIE51bGwgY2hlY2sgZmlyc3RSYW5nZSBpbiBUeXBpbmdDb21t
YW5kOjpkZWxldGVLZXlQcmVzc2VkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjkyNzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGVkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLWtleS1jcmFzaC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLWtleS1jcmFz
aC5odG1sOiBBZGRlZC4KKwogMjAyMS0wOC0yNCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5k
QGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjgxMzA1KSBbR1N0cmVhbWVyXSBm
YXN0L21lZGlhc3RyZWFtL2dldERpc3BsYXlNZWRpYS1mcmFtZS1yYXRlLmh0bWwgdGltZW91dHMK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLWtleS1jcmFz
aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1rZXkt
Y3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAzODMxNjIwZjY0ODA0NTM4ZTIwZTk2YTEx
MzNiYWU5MWQ2YjRjZWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2Rl
bGV0aW5nL2RlbGV0ZS1rZXktY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1Rlc3Qg
cGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRp
dGluZy9kZWxldGluZy9kZWxldGUta2V5LWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2RlbGV0aW5nL2RlbGV0ZS1rZXktY3Jhc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODk5YWFhODE2ZGE2
MzFmYzIyNmQ1NGU5ZWYxYmU2Y2EyNWRiY2VhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9kZWxldGluZy9kZWxldGUta2V5LWNyYXNoLmh0bWwKQEAgLTAsMCArMSwyMCBA
QAorPHN0eWxlPgorICBodG1sIHsKKyAgICBkaXNwbGF5OiB0YWJsZTsKKyAgfQorPC9zdHlsZT4K
KzxzY3JpcHQ+CisgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB3aW5kb3cudGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7CisgIG9ubG9hZCA9ICgpID0+IHsKKyAgICBkb2N1bWVudC5kZXNpZ25N
b2RlID0gJ29uJzsKKyAgICBnZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVu
dC5ib2R5KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnSW5zZXJ0TmVzdGVkVW5vcmRlcmVk
TGlzdCcpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2RpdicpKTsKKyAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCArPSAnJzsKKyAgICBkb2N1bWVu
dC5leGVjQ29tbWFuZCgnRGVsZXRlJyk7CisgICAgZG9jdW1lbnQud3JpdGUoIlRlc3QgcGFzc2Vz
IGlmIGl0IGRvZXMgbm90IGNyYXNoLiIpOworICB9OworPC9zY3JpcHQ+Cis8Ym9keT4KKzwvYm9k
eT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436770</attachid>
            <date>2021-08-30 07:44:36 -0700</date>
            <delta_ts>2021-08-31 00:25:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229277-20210830164434.patch</filename>
            <type>text/plain</type>
            <size>6930</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNzUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjM5MDU1ZGE1ZjU1Yzhh
Y2M0MTVkMDVkNzdmNjE5Y2E1MWNkNTJiNi4uODdjYzFhMDE4OGFhYWVhZDU5ODcwOTg2Mjk2ZWY4
MzlkNDVkM2Q3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTA4LTMwICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgTnVsbHB0ciBjcmFzaCBpbiBUeXBp
bmdDb21tYW5kOjp3aWxsQWRkVHlwaW5nVG9PcGVuQ29tbWFuZCB2aWEgVHlwaW5nQ29tbWFuZDo6
ZGVsZXRlS2V5UHJlc3NlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI5Mjc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmV3dGl0ZSBDb21wb3NpdGVFZGl0Q29tbWFuZDo6c2hvdWxkQnJlYWtPdXRPZkVt
cHR5TGlzdEl0ZW0oKSB0byByZXR1cm4ganVzdCBWaXNpYmxlU2VsZWN0aW9uCisgICAgICAgIGFu
ZCBjaGVjayB0aGF0IGl0IGlzIG5vdCBub25lIGluIFR5cGluZ0NvbW1hbmQ6OndpbGxBZGRUeXBp
bmdUb09wZW5Db21tYW5kLgorCisgICAgICAgIFRlc3Q6IGVkaXRpbmcvZGVsZXRpbmcvZGVsZXRl
LWtleS1jcmFzaC5odG1sCisKKyAgICAgICAgKiBlZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5k
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBvc2l0ZUVkaXRDb21tYW5kOjptb3ZlUGFyYWdy
YXBocyk6CisgICAgICAgICogZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5oOgorICAgICAg
ICAqIGVkaXRpbmcvVHlwaW5nQ29tbWFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUeXBpbmdD
b21tYW5kOjpkZWxldGVLZXlQcmVzc2VkKToKKwogMjAyMS0wOC0yOSAgQWxhbiBCdWp0YXMgIDx6
YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBNb3ZlICJsaW5lIG5lZWRzIGlu
dGVncmFsIHNuYXBwaW5nIiBjb21wdXRpbmcgdG8gSUZDIGZyb20gdGhlIGludGVncmF0aW9uIGxh
eWVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21t
YW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3Bw
CmluZGV4IDNmZDA0YzdlMzFmYTliNDM5MmMyNTQ0OGE5MmY1NDAxZTJjMmNlYWMuLmJkYzJlYTIw
NDc0ZmQ4MjJhNDdkNTAxZjNmOWZmY2I0ZDc0ZTQxYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCkBAIC0xNTQ1LDExICsxNTQ1LDExIEBA
IHZvaWQgQ29tcG9zaXRlRWRpdENvbW1hbmQ6Om1vdmVQYXJhZ3JhcGhzKGNvbnN0IFZpc2libGVQ
b3NpdGlvbiYgc3RhcnRPZlBhcmFncmFwCiAgICAgfQogfQogCi1zdGQ6Om9wdGlvbmFsPFZpc2li
bGVTZWxlY3Rpb24+IENvbXBvc2l0ZUVkaXRDb21tYW5kOjpzaG91bGRCcmVha091dE9mRW1wdHlM
aXN0SXRlbSgpIGNvbnN0CitWaXNpYmxlU2VsZWN0aW9uIENvbXBvc2l0ZUVkaXRDb21tYW5kOjpz
aG91bGRCcmVha091dE9mRW1wdHlMaXN0SXRlbSgpIGNvbnN0CiB7CiAgICAgYXV0byBlbXB0eUxp
c3RJdGVtID0gZW5jbG9zaW5nRW1wdHlMaXN0SXRlbShlbmRpbmdTZWxlY3Rpb24oKS52aXNpYmxl
U3RhcnQoKSk7CiAgICAgaWYgKCFlbXB0eUxpc3RJdGVtKQotICAgICAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OworICAgICAgICByZXR1cm4geyB9OwogCiAgICAgYXV0byBsaXN0Tm9kZSA9IGVtcHR5
TGlzdEl0ZW0tPnBhcmVudE5vZGUoKTsKICAgICAvLyBGSVhNRTogQ2FuJ3Qgd2UgZG8gc29tZXRo
aW5nIGJldHRlciB3aGVuIHRoZSBpbW1lZGlhdGUgcGFyZW50IHdhc24ndCBhIGxpc3Qgbm9kZT8K
QEAgLTE1NTcsNyArMTU1Nyw3IEBAIHN0ZDo6b3B0aW9uYWw8VmlzaWJsZVNlbGVjdGlvbj4gQ29t
cG9zaXRlRWRpdENvbW1hbmQ6OnNob3VsZEJyZWFrT3V0T2ZFbXB0eUxpc3RJCiAgICAgICAgIHx8
ICghbGlzdE5vZGUtPmhhc1RhZ05hbWUodWxUYWcpICYmICFsaXN0Tm9kZS0+aGFzVGFnTmFtZShv
bFRhZykpCiAgICAgICAgIHx8ICFsaXN0Tm9kZS0+aGFzRWRpdGFibGVTdHlsZSgpCiAgICAgICAg
IHx8IGxpc3ROb2RlID09IGVtcHR5TGlzdEl0ZW0tPnJvb3RFZGl0YWJsZUVsZW1lbnQoKSkKLSAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICAgICAgcmV0dXJuIHsgfTsKIAogICAgIHJl
dHVybiBWaXNpYmxlU2VsZWN0aW9uKGVuZGluZ1NlbGVjdGlvbigpLnN0YXJ0KCkucHJldmlvdXMo
QmFja3dhcmREZWxldGlvbiksIGVuZGluZ1NlbGVjdGlvbigpLmVuZCgpKTsKIH0KQEAgLTE1NjUs
NyArMTU2NSw3IEBAIHN0ZDo6b3B0aW9uYWw8VmlzaWJsZVNlbGVjdGlvbj4gQ29tcG9zaXRlRWRp
dENvbW1hbmQ6OnNob3VsZEJyZWFrT3V0T2ZFbXB0eUxpc3RJCiAvLyBGSVhNRTogU2VuZCBhbiBh
cHByb3ByaWF0ZSBzaG91bGREZWxldGVSYW5nZSBjYWxsLgogYm9vbCBDb21wb3NpdGVFZGl0Q29t
bWFuZDo6YnJlYWtPdXRPZkVtcHR5TGlzdEl0ZW0oKQogewotICAgIGlmICghc2hvdWxkQnJlYWtP
dXRPZkVtcHR5TGlzdEl0ZW0oKSkKKyAgICBpZiAoc2hvdWxkQnJlYWtPdXRPZkVtcHR5TGlzdEl0
ZW0oKS5pc05vbmUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgYXV0byBlbXB0eUxp
c3RJdGVtID0gZW5jbG9zaW5nRW1wdHlMaXN0SXRlbShlbmRpbmdTZWxlY3Rpb24oKS52aXNpYmxl
U3RhcnQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVk
aXRDb21tYW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5k
LmgKaW5kZXggMmVmNjcyYjhhMjZhZDVjYzljNzFhZTkwNWEzNmM0OTM4MmI0N2ZlOC4uNGY2YTkx
OWRjNDk2NGVmMjkxNmIyOGFmODIyNGI3ZGM4MzliZWVlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuaApAQCAtMjA2LDcgKzIwNiw3IEBAIHByb3Rl
Y3RlZDoKICAgICB2b2lkIGNsb25lUGFyYWdyYXBoVW5kZXJOZXdFbGVtZW50KGNvbnN0IFBvc2l0
aW9uJiBzdGFydCwgY29uc3QgUG9zaXRpb24mIGVuZCwgTm9kZSogb3V0ZXJOb2RlLCBFbGVtZW50
KiBibG9ja0VsZW1lbnQpOwogICAgIHZvaWQgY2xlYW51cEFmdGVyRGVsZXRpb24oVmlzaWJsZVBv
c2l0aW9uIGRlc3RpbmF0aW9uID0gVmlzaWJsZVBvc2l0aW9uKCkpOwogICAgIAotICAgIHN0ZDo6
b3B0aW9uYWw8VmlzaWJsZVNlbGVjdGlvbj4gc2hvdWxkQnJlYWtPdXRPZkVtcHR5TGlzdEl0ZW0o
KSBjb25zdDsKKyAgICBWaXNpYmxlU2VsZWN0aW9uIHNob3VsZEJyZWFrT3V0T2ZFbXB0eUxpc3RJ
dGVtKCkgY29uc3Q7CiAgICAgYm9vbCBicmVha091dE9mRW1wdHlMaXN0SXRlbSgpOwogICAgIGJv
b2wgYnJlYWtPdXRPZkVtcHR5TWFpbEJsb2NrcXVvdGVkUGFyYWdyYXBoKCk7CiAgICAgCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1R5cGluZ0NvbW1hbmQuY3BwIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9UeXBpbmdDb21tYW5kLmNwcAppbmRleCA3NjhkMzczNzA0NDZhNTI2
NWM5M2NjNzJlOGZjNDQ2YjFlMzAxZTZjLi4wZmYxNTNmZjAzM2EzYTUzYWNiODRlYTdkNzUxMmU5
Y2VmNWI1NGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1R5cGluZ0NvbW1h
bmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVHlwaW5nQ29tbWFuZC5jcHAKQEAg
LTY2Miw4ICs2NjIsOSBAQCB2b2lkIFR5cGluZ0NvbW1hbmQ6OmRlbGV0ZUtleVByZXNzZWQoVGV4
dEdyYW51bGFyaXR5IGdyYW51bGFyaXR5LCBib29sIHNob3VsZEFkZAogICAgICAgICBjb25zdCBO
b2RlKiBlbmNsb3NpbmdUYWJsZUNlbGxGb3JQcmV2aW91c1Bvc2l0aW9uID0gZW5jbG9zaW5nTm9k
ZU9mVHlwZShwcmV2aW91c1Bvc2l0aW9uLmRlZXBFcXVpdmFsZW50KCksICZpc1RhYmxlQ2VsbCk7
CiAgICAgICAgIGlmIChwcmV2aW91c1Bvc2l0aW9uLmlzTnVsbCgpIHx8IGVuY2xvc2luZ1RhYmxl
Q2VsbCAhPSBlbmNsb3NpbmdUYWJsZUNlbGxGb3JQcmV2aW91c1Bvc2l0aW9uKSB7CiAgICAgICAg
ICAgICAvLyBXaGVuIHRoZSBjYXJldCBpcyBhdCB0aGUgc3RhcnQgb2YgdGhlIGVkaXRhYmxlIGFy
ZWEgaW4gYW4gZW1wdHkgbGlzdCBpdGVtLCBicmVhayBvdXQgb2YgdGhlIGxpc3QgaXRlbS4KLSAg
ICAgICAgICAgIGlmIChhdXRvIGRlbGV0ZUxpc3RTZWxlY3Rpb24gPSBzaG91bGRCcmVha091dE9m
RW1wdHlMaXN0SXRlbSgpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHdpbGxBZGRUeXBpbmdUb09w
ZW5Db21tYW5kKERlbGV0ZUtleSwgZ3JhbnVsYXJpdHksIHsgfSwgKmRlbGV0ZUxpc3RTZWxlY3Rp
b24udmFsdWUoKS5maXJzdFJhbmdlKCkpKSB7CisgICAgICAgICAgICBhdXRvIGRlbGV0ZUxpc3RT
ZWxlY3Rpb24gPSBzaG91bGRCcmVha091dE9mRW1wdHlMaXN0SXRlbSgpOworICAgICAgICAgICAg
aWYgKCFkZWxldGVMaXN0U2VsZWN0aW9uLmlzTm9uZSgpKSB7CisgICAgICAgICAgICAgICAgaWYg
KHdpbGxBZGRUeXBpbmdUb09wZW5Db21tYW5kKERlbGV0ZUtleSwgZ3JhbnVsYXJpdHksIHsgfSwg
ZGVsZXRlTGlzdFNlbGVjdGlvbi5maXJzdFJhbmdlKCkpKSB7CiAgICAgICAgICAgICAgICAgICAg
IGJyZWFrT3V0T2ZFbXB0eUxpc3RJdGVtKCk7CiAgICAgICAgICAgICAgICAgICAgIHR5cGluZ0Fk
ZGVkVG9PcGVuQ29tbWFuZChEZWxldGVLZXkpOwogICAgICAgICAgICAgICAgIH0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0
MzIyOTk5M2UwYTBkM2ZlODMyMGQyZTMzYWVkYjc5ZWZkMTNmMjg2Li5kZDc1MDgwZjk1NTIyOTUx
OGFjNWJhNGZiMzcxNzJmYmY0ODI1YjNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDgt
MzAgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBOdWxscHRyIGNyYXNo
IGluIFR5cGluZ0NvbW1hbmQ6OndpbGxBZGRUeXBpbmdUb09wZW5Db21tYW5kIHZpYSBUeXBpbmdD
b21tYW5kOjpkZWxldGVLZXlQcmVzc2VkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjkyNzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGVkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLWtleS1jcmFzaC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLWtleS1j
cmFzaC5odG1sOiBBZGRlZC4KKwogMjAyMS0wOC0yOSAgTGF1cm8gTW91cmEgIDxsbW91cmFAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0gVXBkYXRlIGZhc3QvYm9yZGVyIGJhc2VsaW5lcyBh
ZnRlciByMjgxNzI0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nL2Rl
bGV0ZS1rZXktY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9kZWxldGlu
Zy9kZWxldGUta2V5LWNyYXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMzgzMTYyMGY2NDgw
NDUzOGUyMGU5NmExMTMzYmFlOTFkNmI0Y2VkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9kZWxldGluZy9kZWxldGUta2V5LWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxIEBACitUZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaC4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLWtleS1jcmFzaC5odG1sIGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9kZWxldGluZy9kZWxldGUta2V5LWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDA4Y2M1NGM4MjVlYjk4OTA5ZTZkMWY1MDhlOTVhOTI2N2UyOGY5ZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLWtleS1jcmFzaC5odG1sCkBA
IC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPHN0eWxlPgorICBodG1sIHsKKyAgICBk
aXNwbGF5OiB0YWJsZTsKKyAgfQorPC9zdHlsZT4KKzxzY3JpcHQ+CisgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgIG9ubG9hZCA9
ICgpID0+IHsKKyAgICBkb2N1bWVudC5kZXNpZ25Nb2RlID0gJ29uJzsKKyAgICBnZXRTZWxlY3Rp
b24oKS5zZWxlY3RBbGxDaGlsZHJlbihkb2N1bWVudC5ib2R5KTsKKyAgICBkb2N1bWVudC5leGVj
Q29tbWFuZCgnSW5zZXJ0TmVzdGVkVW5vcmRlcmVkTGlzdCcpOworICAgIGRvY3VtZW50LmJvZHku
YXBwZW5kKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTsKKyAgICBkb2N1bWVudC5ib2R5
LmlubmVySFRNTCArPSAnJzsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnRGVsZXRlJyk7Cisg
ICAgZG9jdW1lbnQud3JpdGUoIlRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLiIpOwor
ICB9OworPC9zY3JpcHQ+Cis8Ym9keT4KKzwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436848</attachid>
            <date>2021-08-31 00:25:36 -0700</date>
            <delta_ts>2021-08-31 01:40:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229277-20210831092535.patch</filename>
            <type>text/plain</type>
            <size>6925</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDgyMjkwN2FmY2M5ODIx
NjU3ZjIyYjdlNzZjYWY3Y2ZkYTIzNTkxZC4uYTZhMjRlNjMwNWM5OTdiZGZmZThjZDVjODE1MWU1
Y2Q1NjhkYzY4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTA4LTMwICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgTnVsbHB0ciBjcmFzaCBpbiBUeXBp
bmdDb21tYW5kOjp3aWxsQWRkVHlwaW5nVG9PcGVuQ29tbWFuZCB2aWEgVHlwaW5nQ29tbWFuZDo6
ZGVsZXRlS2V5UHJlc3NlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI5Mjc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisg
ICAgICAgIFJld3RpdGUgQ29tcG9zaXRlRWRpdENvbW1hbmQ6OnNob3VsZEJyZWFrT3V0T2ZFbXB0
eUxpc3RJdGVtKCkgdG8gcmV0dXJuIGp1c3QgVmlzaWJsZVNlbGVjdGlvbgorICAgICAgICBhbmQg
Y2hlY2sgdGhhdCBpdCBpcyBub3Qgbm9uZSBpbiBUeXBpbmdDb21tYW5kOjp3aWxsQWRkVHlwaW5n
VG9PcGVuQ29tbWFuZC4KKworICAgICAgICBUZXN0OiBlZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1r
ZXktY3Jhc2guaHRtbAorCisgICAgICAgICogZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDb21wb3NpdGVFZGl0Q29tbWFuZDo6bW92ZVBhcmFncmFw
aHMpOgorICAgICAgICAqIGVkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuaDoKKyAgICAgICAg
KiBlZGl0aW5nL1R5cGluZ0NvbW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VHlwaW5nQ29t
bWFuZDo6ZGVsZXRlS2V5UHJlc3NlZCk6CisKIDIwMjEtMDgtMjYgIERhcmluIEFkbGVyICA8ZGFy
aW5AYXBwbGUuY29tPgogCiAgICAgICAgIEN1dCBkb3duIG9uIHVzZSBvZiBDRkdldFR5cGVJRCwg
dXNpbmcgZHluYW1pY19jZl9jYXN0IGluc3RlYWQ7IHJlbGF0ZWQgc3RyZWFtbGluaW5nCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCmluZGV4IDNm
ZDA0YzdlMzFmYTliNDM5MmMyNTQ0OGE5MmY1NDAxZTJjMmNlYWMuLmJkYzJlYTIwNDc0ZmQ4MjJh
NDdkNTAxZjNmOWZmY2I0ZDc0ZTQxYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
Q29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCkBAIC0xNTQ1LDExICsxNTQ1LDExIEBAIHZvaWQgQ29t
cG9zaXRlRWRpdENvbW1hbmQ6Om1vdmVQYXJhZ3JhcGhzKGNvbnN0IFZpc2libGVQb3NpdGlvbiYg
c3RhcnRPZlBhcmFncmFwCiAgICAgfQogfQogCi1zdGQ6Om9wdGlvbmFsPFZpc2libGVTZWxlY3Rp
b24+IENvbXBvc2l0ZUVkaXRDb21tYW5kOjpzaG91bGRCcmVha091dE9mRW1wdHlMaXN0SXRlbSgp
IGNvbnN0CitWaXNpYmxlU2VsZWN0aW9uIENvbXBvc2l0ZUVkaXRDb21tYW5kOjpzaG91bGRCcmVh
a091dE9mRW1wdHlMaXN0SXRlbSgpIGNvbnN0CiB7CiAgICAgYXV0byBlbXB0eUxpc3RJdGVtID0g
ZW5jbG9zaW5nRW1wdHlMaXN0SXRlbShlbmRpbmdTZWxlY3Rpb24oKS52aXNpYmxlU3RhcnQoKSk7
CiAgICAgaWYgKCFlbXB0eUxpc3RJdGVtKQotICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owor
ICAgICAgICByZXR1cm4geyB9OwogCiAgICAgYXV0byBsaXN0Tm9kZSA9IGVtcHR5TGlzdEl0ZW0t
PnBhcmVudE5vZGUoKTsKICAgICAvLyBGSVhNRTogQ2FuJ3Qgd2UgZG8gc29tZXRoaW5nIGJldHRl
ciB3aGVuIHRoZSBpbW1lZGlhdGUgcGFyZW50IHdhc24ndCBhIGxpc3Qgbm9kZT8KQEAgLTE1NTcs
NyArMTU1Nyw3IEBAIHN0ZDo6b3B0aW9uYWw8VmlzaWJsZVNlbGVjdGlvbj4gQ29tcG9zaXRlRWRp
dENvbW1hbmQ6OnNob3VsZEJyZWFrT3V0T2ZFbXB0eUxpc3RJCiAgICAgICAgIHx8ICghbGlzdE5v
ZGUtPmhhc1RhZ05hbWUodWxUYWcpICYmICFsaXN0Tm9kZS0+aGFzVGFnTmFtZShvbFRhZykpCiAg
ICAgICAgIHx8ICFsaXN0Tm9kZS0+aGFzRWRpdGFibGVTdHlsZSgpCiAgICAgICAgIHx8IGxpc3RO
b2RlID09IGVtcHR5TGlzdEl0ZW0tPnJvb3RFZGl0YWJsZUVsZW1lbnQoKSkKLSAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICAgICAgcmV0dXJuIHsgfTsKIAogICAgIHJldHVybiBWaXNp
YmxlU2VsZWN0aW9uKGVuZGluZ1NlbGVjdGlvbigpLnN0YXJ0KCkucHJldmlvdXMoQmFja3dhcmRE
ZWxldGlvbiksIGVuZGluZ1NlbGVjdGlvbigpLmVuZCgpKTsKIH0KQEAgLTE1NjUsNyArMTU2NSw3
IEBAIHN0ZDo6b3B0aW9uYWw8VmlzaWJsZVNlbGVjdGlvbj4gQ29tcG9zaXRlRWRpdENvbW1hbmQ6
OnNob3VsZEJyZWFrT3V0T2ZFbXB0eUxpc3RJCiAvLyBGSVhNRTogU2VuZCBhbiBhcHByb3ByaWF0
ZSBzaG91bGREZWxldGVSYW5nZSBjYWxsLgogYm9vbCBDb21wb3NpdGVFZGl0Q29tbWFuZDo6YnJl
YWtPdXRPZkVtcHR5TGlzdEl0ZW0oKQogewotICAgIGlmICghc2hvdWxkQnJlYWtPdXRPZkVtcHR5
TGlzdEl0ZW0oKSkKKyAgICBpZiAoc2hvdWxkQnJlYWtPdXRPZkVtcHR5TGlzdEl0ZW0oKS5pc05v
bmUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgYXV0byBlbXB0eUxpc3RJdGVtID0g
ZW5jbG9zaW5nRW1wdHlMaXN0SXRlbShlbmRpbmdTZWxlY3Rpb24oKS52aXNpYmxlU3RhcnQoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5k
LmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmgKaW5kZXgg
MmVmNjcyYjhhMjZhZDVjYzljNzFhZTkwNWEzNmM0OTM4MmI0N2ZlOC4uNGY2YTkxOWRjNDk2NGVm
MjkxNmIyOGFmODIyNGI3ZGM4MzliZWVlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
Q29tcG9zaXRlRWRpdENvbW1hbmQuaApAQCAtMjA2LDcgKzIwNiw3IEBAIHByb3RlY3RlZDoKICAg
ICB2b2lkIGNsb25lUGFyYWdyYXBoVW5kZXJOZXdFbGVtZW50KGNvbnN0IFBvc2l0aW9uJiBzdGFy
dCwgY29uc3QgUG9zaXRpb24mIGVuZCwgTm9kZSogb3V0ZXJOb2RlLCBFbGVtZW50KiBibG9ja0Vs
ZW1lbnQpOwogICAgIHZvaWQgY2xlYW51cEFmdGVyRGVsZXRpb24oVmlzaWJsZVBvc2l0aW9uIGRl
c3RpbmF0aW9uID0gVmlzaWJsZVBvc2l0aW9uKCkpOwogICAgIAotICAgIHN0ZDo6b3B0aW9uYWw8
VmlzaWJsZVNlbGVjdGlvbj4gc2hvdWxkQnJlYWtPdXRPZkVtcHR5TGlzdEl0ZW0oKSBjb25zdDsK
KyAgICBWaXNpYmxlU2VsZWN0aW9uIHNob3VsZEJyZWFrT3V0T2ZFbXB0eUxpc3RJdGVtKCkgY29u
c3Q7CiAgICAgYm9vbCBicmVha091dE9mRW1wdHlMaXN0SXRlbSgpOwogICAgIGJvb2wgYnJlYWtP
dXRPZkVtcHR5TWFpbEJsb2NrcXVvdGVkUGFyYWdyYXBoKCk7CiAgICAgCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1R5cGluZ0NvbW1hbmQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9UeXBpbmdDb21tYW5kLmNwcAppbmRleCA3NjhkMzczNzA0NDZhNTI2NWM5M2NjNzJl
OGZjNDQ2YjFlMzAxZTZjLi44NzkxNDIxNmNhYTJhZTcwNWE1YzQ4OTliZGZhMDE0NGMzNjYwOGRk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1R5cGluZ0NvbW1hbmQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVHlwaW5nQ29tbWFuZC5jcHAKQEAgLTY2Miw4ICs2
NjIsOCBAQCB2b2lkIFR5cGluZ0NvbW1hbmQ6OmRlbGV0ZUtleVByZXNzZWQoVGV4dEdyYW51bGFy
aXR5IGdyYW51bGFyaXR5LCBib29sIHNob3VsZEFkZAogICAgICAgICBjb25zdCBOb2RlKiBlbmNs
b3NpbmdUYWJsZUNlbGxGb3JQcmV2aW91c1Bvc2l0aW9uID0gZW5jbG9zaW5nTm9kZU9mVHlwZShw
cmV2aW91c1Bvc2l0aW9uLmRlZXBFcXVpdmFsZW50KCksICZpc1RhYmxlQ2VsbCk7CiAgICAgICAg
IGlmIChwcmV2aW91c1Bvc2l0aW9uLmlzTnVsbCgpIHx8IGVuY2xvc2luZ1RhYmxlQ2VsbCAhPSBl
bmNsb3NpbmdUYWJsZUNlbGxGb3JQcmV2aW91c1Bvc2l0aW9uKSB7CiAgICAgICAgICAgICAvLyBX
aGVuIHRoZSBjYXJldCBpcyBhdCB0aGUgc3RhcnQgb2YgdGhlIGVkaXRhYmxlIGFyZWEgaW4gYW4g
ZW1wdHkgbGlzdCBpdGVtLCBicmVhayBvdXQgb2YgdGhlIGxpc3QgaXRlbS4KLSAgICAgICAgICAg
IGlmIChhdXRvIGRlbGV0ZUxpc3RTZWxlY3Rpb24gPSBzaG91bGRCcmVha091dE9mRW1wdHlMaXN0
SXRlbSgpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHdpbGxBZGRUeXBpbmdUb09wZW5Db21tYW5k
KERlbGV0ZUtleSwgZ3JhbnVsYXJpdHksIHsgfSwgKmRlbGV0ZUxpc3RTZWxlY3Rpb24udmFsdWUo
KS5maXJzdFJhbmdlKCkpKSB7CisgICAgICAgICAgICBpZiAoYXV0byBkZWxldGVMaXN0U2VsZWN0
aW9uID0gc2hvdWxkQnJlYWtPdXRPZkVtcHR5TGlzdEl0ZW0oKTsgIWRlbGV0ZUxpc3RTZWxlY3Rp
b24uaXNOb25lKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAod2lsbEFkZFR5cGluZ1RvT3BlbkNv
bW1hbmQoRGVsZXRlS2V5LCBncmFudWxhcml0eSwgeyB9LCBkZWxldGVMaXN0U2VsZWN0aW9uLmZp
cnN0UmFuZ2UoKSkpIHsKICAgICAgICAgICAgICAgICAgICAgYnJlYWtPdXRPZkVtcHR5TGlzdEl0
ZW0oKTsKICAgICAgICAgICAgICAgICAgICAgdHlwaW5nQWRkZWRUb09wZW5Db21tYW5kKERlbGV0
ZUtleSk7CiAgICAgICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGRlZWRiNGRlMGU1N2ViNmM4MGI3MDVl
NWQ2YzAyZDZkNGMxZTE1MjguLmVlN2U4ODNhZGNhMmRhZGUyZjk5NTdhNDAxZWM0OTZmMWQ1ZWM2
MTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0wOC0zMCAgUm9iIEJ1aXMgIDxyYnVpc0Bp
Z2FsaWEuY29tPgorCisgICAgICAgIE51bGxwdHIgY3Jhc2ggaW4gVHlwaW5nQ29tbWFuZDo6d2ls
bEFkZFR5cGluZ1RvT3BlbkNvbW1hbmQgdmlhIFR5cGluZ0NvbW1hbmQ6OmRlbGV0ZUtleVByZXNz
ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTI3
NworCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICAqIGVkaXRp
bmcvZGVsZXRpbmcvZGVsZXRlLWtleS1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLWtleS1jcmFzaC5odG1sOiBBZGRlZC4KKwogMjAy
MS0wOC0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgogCiAgICAg
ICAgIFVwZGF0ZSBmYXN0L2V2ZW50cy90b3VjaC9pb3MvbG9uZy1wcmVzcy10by1zZWxlY3QtdGV4
dC5odG1sIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9kZWxldGluZy9kZWxldGUt
a2V5LWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvZGVs
ZXRlLWtleS1jcmFzaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDM4MzE2MjBmNjQ4MDQ1Mzhl
MjBlOTZhMTEzM2JhZTkxZDZiNGNlZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvZGVsZXRpbmcvZGVsZXRlLWtleS1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBA
QAorVGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2guCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9lZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1rZXktY3Jhc2guaHRtbCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLWtleS1jcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQwOGNj
NTRjODI1ZWI5ODkwOWU2ZDFmNTA4ZTk1YTkyNjdlMjhmOWQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1rZXktY3Jhc2guaHRtbApAQCAtMCww
ICsxLDIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxzdHlsZT4KKyAgaHRtbCB7CisgICAgZGlzcGxh
eTogdGFibGU7CisgIH0KKzwvc3R5bGU+Cis8c2NyaXB0PgorICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgd2luZG93LnRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICBvbmxvYWQgPSAoKSA9
PiB7CisgICAgZG9jdW1lbnQuZGVzaWduTW9kZSA9ICdvbic7CisgICAgZ2V0U2VsZWN0aW9uKCku
c2VsZWN0QWxsQ2hpbGRyZW4oZG9jdW1lbnQuYm9keSk7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1h
bmQoJ0luc2VydE5lc3RlZFVub3JkZXJlZExpc3QnKTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSk7CisgICAgZG9jdW1lbnQuYm9keS5pbm5l
ckhUTUwgKz0gJyc7CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0RlbGV0ZScpOworICAgIGRv
Y3VtZW50LndyaXRlKCJUZXN0IHBhc3NlcyBpZiBpdCBkb2VzIG5vdCBjcmFzaC4iKTsKKyAgfTsK
Kzwvc2NyaXB0PgorPGJvZHk+Cis8L2JvZHk+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>