<?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>220396</bug_id>
          
          <creation_ts>2021-01-06 20:27:32 -0800</creation_ts>
          <short_desc>Nullptr crash in ReadableStream::create</short_desc>
          <delta_ts>2021-03-08 06:37:41 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</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>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1717843</commentid>
    <comment_count>0</comment_count>
      <attachid>417150</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-01-06 20:27:32 -0800</bug_when>
    <thetext>Created attachment 417150
Test

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebCore             	0x0000000122dd8e7c JSC::JSGlobalObject::vm() const + 12 (JSGlobalObject.h:1043)
1   com.apple.WebCore             	0x00000001256158d7 WebCore::ReadableStream::create(JSC::JSGlobalObject&amp;, WTF::RefPtr&lt;WebCore::ReadableStreamSource, WTF::RawPtrTraits&lt;WebCore::ReadableStreamSource&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::ReadableStreamSource&gt; &gt;&amp;&amp;) + 55 (ReadableStream.cpp:42)
2   com.apple.WebCore             	0x0000000124ec9f18 WebCore::RTCRtpSFrameTransform::createStreams() + 168 (RTCRtpSFrameTransform.cpp:167)
3   com.apple.WebCore             	0x0000000124eca5e1 WebCore::RTCRtpSFrameTransform::readable() + 193 (RTCRtpSFrameTransform.cpp:207)
4   com.apple.WebCore             	0x0000000123fe5179 WebCore::jsRTCRtpSFrameTransform_readableGetter(JSC::JSGlobalObject&amp;, WebCore::JSRTCRtpSFrameTransform&amp;) + 201 (JSRTCRtpSFrameTransform.cpp:339)
5   com.apple.WebCore             	0x0000000123f261ab long long WebCore::IDLAttribute&lt;WebCore::JSRTCRtpSFrameTransform&gt;::get&lt;&amp;(WebCore::jsRTCRtpSFrameTransform_readableGetter(JSC::JSGlobalObject&amp;, WebCore::JSRTCRtpSFrameTransform&amp;)), (WebCore::CastedThisErrorBehavior)3&gt;(JSC::JSGlobalObject&amp;, long long, char const*) + 283 (JSDOMAttribute.h:67)
6   com.apple.WebCore             	0x0000000123f26088 WebCore::jsRTCRtpSFrameTransform_readable(JSC::JSGlobalObject*, long long, JSC::PropertyName) + 40 (JSRTCRtpSFrameTransform.cpp:344)
7   com.apple.JavaScriptCore      	0x00000001447137af JSC::PropertySlot::customGetter(JSC::JSGlobalObject*, JSC::PropertyName) const + 479 (PropertySlot.cpp:46)
8   com.apple.JavaScriptCore      	0x00000001443b7331 JSC::PropertySlot::getValue(JSC::JSGlobalObject*, JSC::PropertyName) const + 177 (PropertySlot.h:421)
9   com.apple.JavaScriptCore      	0x0000000144650025 JSC::JSValue::get(JSC::JSGlobalObject*, JSC::PropertyName, JSC::PropertySlot&amp;) const + 389 (JSCJSValueInlines.h:952)
10  com.apple.JavaScriptCore      	0x00000001441ceeed JSC::LLInt::performLLIntGetByID(JSC::Instruction const*, JSC::CodeBlock*, JSC::JSGlobalObject*, JSC::JSValue, JSC::Identifier const&amp;, JSC::GetByIdModeMetadata&amp;) + 269 (LLIntSlowPaths.cpp:760)
11  com.apple.JavaScriptCore      	0x00000001441cec8a llint_slow_path_get_by_id + 394 (LLIntSlowPaths.cpp:834)
12  com.apple.JavaScriptCore      	0x000000014323c84c llint_entry + 43706 (LowLevelInterpreter64.asm:97)
13  com.apple.JavaScriptCore      	0x000000014325316a llint_entry + 136152 (LowLevelInterpreter.asm:1092)
14  com.apple.JavaScriptCore      	0x0000000143253212 llint_entry + 136320 (LowLevelInterpreter.asm:1092)
15  com.apple.JavaScriptCore      	0x0000000143253212 llint_entry + 136320 (LowLevelInterpreter.asm:1092)
16  com.apple.JavaScriptCore      	0x0000000143253212 llint_entry + 136320 (LowLevelInterpreter.asm:1092)
17  com.apple.JavaScriptCore      	0x0000000143231aa0 vmEntryToJavaScript + 289 (LowLevelInterpreter64.asm:316)
18  com.apple.JavaScriptCore      	0x000000014409f4cb JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 235 (JITCodeInlines.h:42)
19  com.apple.JavaScriptCore      	0x000000014409fc87 JSC::Interpreter::executeCall(JSC::JSGlobalObject*, JSC::JSObject*, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 1815 (Interpreter.cpp:905)
20  com.apple.JavaScriptCore      	0x00000001443f299d JSC::call(JSC::JSGlobalObject*, JSC::JSValue, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 221 (CallData.cpp:57)
21  com.apple.JavaScriptCore      	0x00000001443f2c73 JSC::profiledCall(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::JSValue, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 115 (CallData.cpp:78)
22  com.apple.JavaScriptCore      	0x0000000144605eb1 JSC::JSMicrotask::run(JSC::JSGlobalObject*) + 657 (JSMicrotask.cpp:92)
23  com.apple.WebCore             	0x00000001255cecee WebCore::JSExecState::runTask(JSC::JSGlobalObject*, JSC::Microtask&amp;) + 46 (JSExecState.h:91)
24  com.apple.WebCore             	0x00000001255d5a9b WebCore::JSMicrotaskCallback::call() + 235 (JSMicrotaskCallback.h:46)
25  com.apple.WebCore             	0x00000001255d58d4 WebCore::JSDOMWindowBase::queueMicrotaskToEventLoop(JSC::JSGlobalObject&amp;, WTF::Ref&lt;JSC::Microtask, WTF::RawPtrTraits&lt;JSC::Microtask&gt; &gt;&amp;&amp;)::$_36::operator()() + 68 (JSDOMWindowBase.cpp:228)
26  com.apple.WebCore             	0x00000001255d57de WTF::Detail::CallableWrapper&lt;WebCore::JSDOMWindowBase::queueMicrotaskToEventLoop(JSC::JSGlobalObject&amp;, WTF::Ref&lt;JSC::Microtask, WTF::RawPtrTraits&lt;JSC::Microtask&gt; &gt;&amp;&amp;)::$_36, void&gt;::call() + 30 (Function.h:52)
27  com.apple.WebCore             	0x0000000122d1f5f2 WTF::Function&lt;void ()&gt;::operator()() const + 130 (Function.h:83)
28  com.apple.WebCore             	0x0000000125c72e6e WebCore::EventLoopFunctionDispatchTask::execute() + 30 (EventLoop.cpp:159)
29  com.apple.WebCore             	0x0000000125cb4e3c WebCore::MicrotaskQueue::performMicrotaskCheckpoint() + 332 (Microtasks.cpp:64)
30  com.apple.WebCore             	0x0000000125c69441 WebCore::EventLoop::run() + 401 (EventLoop.cpp:125)
31  com.apple.WebCore             	0x0000000125dcfa9c WebCore::WindowEventLoop::didReachTimeToRun() + 44 (WindowEventLoop.cpp:120)

&lt;rdar://problem/71933447&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720504</commentid>
    <comment_count>1</comment_count>
      <attachid>417867</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-01-19 03:11:57 -0800</bug_when>
    <thetext>Created attachment 417867
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720505</commentid>
    <comment_count>2</comment_count>
      <attachid>417868</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-01-19 03:18:33 -0800</bug_when>
    <thetext>Created attachment 417868
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720512</commentid>
    <comment_count>3</comment_count>
      <attachid>417868</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-19 05:42:33 -0800</bug_when>
    <thetext>Comment on attachment 417868
Patch

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

&gt; Source/WebCore/Modules/mediastream/RTCRtpSFrameTransform.cpp:166
&gt; +        return;

I think it would be best for createStreams caller to check for globalObject.
I would suggest we pass a GlobalObject&amp; and at call site we throw an InvalidStateError error.
DOMCache::put may suffer from the same issue as well.

&gt; LayoutTests/http/wpt/webrtc/sframe-transform-readable-crash.html:7
&gt; +new SFrameTransform().readable;

It is unclear why we need the requestAdapter call.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720517</commentid>
    <comment_count>4</comment_count>
      <attachid>417872</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-01-19 06:28:03 -0800</bug_when>
    <thetext>Created attachment 417872
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720523</commentid>
    <comment_count>5</comment_count>
      <attachid>417868</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-01-19 07:23:13 -0800</bug_when>
    <thetext>Comment on attachment 417868
Patch

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

&gt;&gt; Source/WebCore/Modules/mediastream/RTCRtpSFrameTransform.cpp:166
&gt;&gt; +        return;
&gt; 
&gt; I think it would be best for createStreams caller to check for globalObject.
&gt; I would suggest we pass a GlobalObject&amp; and at call site we throw an InvalidStateError error.
&gt; DOMCache::put may suffer from the same issue as well.

Done.

&gt;&gt; LayoutTests/http/wpt/webrtc/sframe-transform-readable-crash.html:7
&gt;&gt; +new SFrameTransform().readable;
&gt; 
&gt; It is unclear why we need the requestAdapter call.

We need the whole thing, also the call to requestDevice. Also notice the test will not crash standalone but only on second or further iterations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720524</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-19 07:32:13 -0800</bug_when>
    <thetext>
&gt; &gt;&gt; LayoutTests/http/wpt/webrtc/sframe-transform-readable-crash.html:7
&gt; &gt;&gt; +new SFrameTransform().readable;
&gt; &gt; 
&gt; &gt; It is unclear why we need the requestAdapter call.
&gt; 
&gt; We need the whole thing, also the call to requestDevice. Also notice the
&gt; test will not crash standalone but only on second or further iterations.

Why does this trigger the global object to be null?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721124</commentid>
    <comment_count>7</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-01-21 04:24:19 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #6)
&gt; &gt; &gt;&gt; LayoutTests/http/wpt/webrtc/sframe-transform-readable-crash.html:7
&gt; &gt; &gt;&gt; +new SFrameTransform().readable;
&gt; &gt; &gt; 
&gt; &gt; &gt; It is unclear why we need the requestAdapter call.
&gt; &gt; 
&gt; &gt; We need the whole thing, also the call to requestDevice. Also notice the
&gt; &gt; test will not crash standalone but only on second or further iterations.
&gt; 
&gt; Why does this trigger the global object to be null?

A frameless document is handed over as context for RTCRtpSFrameTransform.

It looks like that is because this line:
await navigator.gpu.requestAdapter().then(a=&gt;a.requestDevice());

requestDevice returns a promise and this code does not wait on it. This code does and avoids the problem:
const adapter = await navigator.gpu.requestAdapter;
const device = await adapter.requestDevice();

Do I need to debug further? I am not sure what is happening to the posted task in  WebGPUAdapter::requestDevice if the promise is not waited for, and why it happens every second iteration (these two things are probably related).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721127</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-21 04:51:16 -0800</bug_when>
    <thetext>(In reply to Rob Buis from comment #7)
&gt; (In reply to youenn fablet from comment #6)
&gt; &gt; &gt; &gt;&gt; LayoutTests/http/wpt/webrtc/sframe-transform-readable-crash.html:7
&gt; &gt; &gt; &gt;&gt; +new SFrameTransform().readable;
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; It is unclear why we need the requestAdapter call.
&gt; &gt; &gt; 
&gt; &gt; &gt; We need the whole thing, also the call to requestDevice. Also notice the
&gt; &gt; &gt; test will not crash standalone but only on second or further iterations.
&gt; &gt; 
&gt; &gt; Why does this trigger the global object to be null?
&gt; 
&gt; A frameless document is handed over as context for RTCRtpSFrameTransform.
&gt; 
&gt; It looks like that is because this line:
&gt; await navigator.gpu.requestAdapter().then(a=&gt;a.requestDevice());
&gt; 
&gt; requestDevice returns a promise and this code does not wait on it. This code
&gt; does and avoids the problem:
&gt; const adapter = await navigator.gpu.requestAdapter;
&gt; const device = await adapter.requestDevice();
&gt; 
&gt; Do I need to debug further? I am not sure what is happening to the posted
&gt; task in  WebGPUAdapter::requestDevice if the promise is not waited for, and
&gt; why it happens every second iteration (these two things are probably
&gt; related).

I think we should be able to write a simpler test case, not related to gpu, something like:

&lt;html&gt;
&lt;body&gt;
&lt;iframe src=&quot;.&quot; id=&quot;frame&quot;&gt;&lt;/iframe&gt;
&lt;script&gt;
const transform = new frame.contentWindow.SFrameTransform;
frame.remove();
transform.readable
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721128</commentid>
    <comment_count>9</comment_count>
      <attachid>417872</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-01-21 04:51:45 -0800</bug_when>
    <thetext>Comment on attachment 417872
Patch

r=me with a simpler test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721131</commentid>
    <comment_count>10</comment_count>
      <attachid>418030</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-01-21 05:17:44 -0800</bug_when>
    <thetext>Created attachment 418030
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721139</commentid>
    <comment_count>11</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-01-21 06:10:38 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #8)
&gt; I think we should be able to write a simpler test case, not related to gpu,
&gt; something like:
&gt; 
&gt; &lt;html&gt;
&gt; &lt;body&gt;
&gt; &lt;iframe src=&quot;.&quot; id=&quot;frame&quot;&gt;&lt;/iframe&gt;
&gt; &lt;script&gt;
&gt; const transform = new frame.contentWindow.SFrameTransform;
&gt; frame.remove();
&gt; transform.readable
&gt; &lt;/script&gt;
&gt; &lt;/body&gt;
&gt; &lt;/html&gt;

Thanks! That indeed triggers the crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721143</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-21 06:25:27 -0800</bug_when>
    <thetext>Committed r271690: &lt;https://trac.webkit.org/changeset/271690&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 418030.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737056</commentid>
    <comment_count>13</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-08 06:37:41 -0800</bug_when>
    <thetext>&lt;rdar://problem/74859450&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>417150</attachid>
            <date>2021-01-06 20:27:32 -0800</date>
            <delta_ts>2021-01-06 20:27:32 -0800</delta_ts>
            <desc>Test</desc>
            <filename>repro_445b.html</filename>
            <type>text/html</type>
            <size>314</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">PHNjcmlwdD4Kb25sb2FkID0gYXN5bmMgKCkgPT4gewogIGZvciAobGV0IGk9MDsgaTwxMDA7IGkr
KykgewogICAgbGV0IGNvbnRleHQgPSBuZXcgQXVkaW9Db250ZXh0KCk7CiAgICBuZXcgTWVkaWFF
bGVtZW50QXVkaW9Tb3VyY2VOb2RlKGNvbnRleHQsIHsgbWVkaWFFbGVtZW50OiBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCd2aWRlbycpIH0pOwogIH0KICBhd2FpdCBuYXZpZ2F0b3IuZ3B1LnJlcXVl
c3RBZGFwdGVyKCkudGhlbihhPT5hLnJlcXVlc3REZXZpY2UoKSk7CiAgbmV3IFNGcmFtZVRyYW5z
Zm9ybSgpLnJlYWRhYmxlOwp9Cjwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417867</attachid>
            <date>2021-01-19 03:11:57 -0800</date>
            <delta_ts>2021-01-19 03:18:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220396-20210119121155.patch</filename>
            <type>text/plain</type>
            <size>4406</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFhZjJjNDg5YWQ2YmMw
MzI3M2E3NzU2Y2VhODQ5OGM3MDQ1YzEzZC4uMjE4ZTY0ZWUwNGM3OTg0NDJlZDJjMDM1NzgwMGQ5
ZDUxMTBmYjMwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTAxLTE5ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgTnVsbCBjaGVjayBpbiBSVENSdHBT
RnJhbWVUcmFuc2Zvcm06OmNyZWF0ZVN0cmVhbXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDM5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE51bGwgY2hlY2sgaW4gUlRDUnRwU0ZyYW1lVHJhbnNmb3Jt
OjpjcmVhdGVTdHJlYW1zLgorCisgICAgICAgIFRlc3RzOiBodHRwL3dwdC93ZWJydGMvc2ZyYW1l
LXRyYW5zZm9ybS1yZWFkYWJsZS1jcmFzaC5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENS
dHBTRnJhbWVUcmFuc2Zvcm06OmNyZWF0ZVN0cmVhbXMpOgorCiAyMDIxLTAxLTE4ICBBbmRyZXMg
R29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KIAogICAgICAgICBBcHBsZSBNYWlsIEFY
LCBWb2ljZU92ZXI6IFdoZW4gY29tcG9zaW5nIGEgbmV3IGVtYWlsIG1lc3NhZ2UsIG1vdmluZyBW
TyBmb2N1cyB0byB0aGUgbWVzc2FnZSBib2R5IGZpZWxkIGRvZXMgbm90IGJyaW5nIGtleWJvYXJk
IGZvY3VzIGFsb25nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENSdHBTRnJhbWVUcmFuc2Zvcm0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENSdHBTRnJhbWVUcmFuc2Zvcm0uY3BwCmluZGV4IGY1ZDg0MWU1M2M2ZTlj
Yjg1YTI2MDJlMjM4YWU4NzAyZmE0NzJkZmEuLmJiN2M0ZTg0YzMzYzUwZWQ1ZWMzYzU0YmZkNzA0
ZTM0NjFlODNlYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwU0ZyYW1lVHJhbnNmb3JtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybS5jcHAKQEAgLTE2MSwxNCArMTYxLDE2
IEBAIHZvaWQgdHJhbnNmb3JtRnJhbWUoSlNDOjpBcnJheUJ1ZmZlciYgdmFsdWUsIEpTRE9NR2xv
YmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJUCiAKIHZvaWQgUlRDUnRwU0ZyYW1lVHJhbnNmb3Jt
OjpjcmVhdGVTdHJlYW1zKCkKIHsKLSAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLT5nbG9iYWxPYmplY3QoKTsKKyAgICBhdXRvKiBnbG9iYWxPYmplY3Qg
PSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmdsb2JhbE9iamVjdCgpOworICAgIGlmICghZ2xv
YmFsT2JqZWN0KQorICAgICAgICByZXR1cm47CiAKICAgICBtX3JlYWRhYmxlU3RyZWFtU291cmNl
ID0gU2ltcGxlUmVhZGFibGVTdHJlYW1Tb3VyY2U6OmNyZWF0ZSgpOwotICAgIGF1dG8gcmVhZGFi
bGUgPSBSZWFkYWJsZVN0cmVhbTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgbV9yZWFkYWJsZVN0cmVh
bVNvdXJjZS5jb3B5UmVmKCkpOworICAgIGF1dG8gcmVhZGFibGUgPSBSZWFkYWJsZVN0cmVhbTo6
Y3JlYXRlKCpnbG9iYWxPYmplY3QsIG1fcmVhZGFibGVTdHJlYW1Tb3VyY2UuY29weVJlZigpKTsK
ICAgICBpZiAocmVhZGFibGUuaGFzRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybjsKIAotICAg
IGF1dG8gd3JpdGFibGUgPSBXcml0YWJsZVN0cmVhbTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgU2lt
cGxlV3JpdGFibGVTdHJlYW1TaW5rOjpjcmVhdGUoW3RyYW5zZm9ybWVyID0gbV90cmFuc2Zvcm1l
ciwgcmVhZGFibGVTdHJlYW1Tb3VyY2UgPSBtX3JlYWRhYmxlU3RyZWFtU291cmNlXShhdXRvJiBj
b250ZXh0LCBhdXRvIHZhbHVlKSAtPiBFeGNlcHRpb25Pcjx2b2lkPiB7CisgICAgYXV0byB3cml0
YWJsZSA9IFdyaXRhYmxlU3RyZWFtOjpjcmVhdGUoKmdsb2JhbE9iamVjdCwgU2ltcGxlV3JpdGFi
bGVTdHJlYW1TaW5rOjpjcmVhdGUoW3RyYW5zZm9ybWVyID0gbV90cmFuc2Zvcm1lciwgcmVhZGFi
bGVTdHJlYW1Tb3VyY2UgPSBtX3JlYWRhYmxlU3RyZWFtU291cmNlXShhdXRvJiBjb250ZXh0LCBh
dXRvIHZhbHVlKSAtPiBFeGNlcHRpb25Pcjx2b2lkPiB7CiAgICAgICAgIGF1dG8mIGdsb2JhbE9i
amVjdCA9ICpKU0M6OmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGNvbnRleHQuZ2xvYmFsT2Jq
ZWN0KCkpOwogICAgICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRShnbG9iYWxP
YmplY3Qudm0oKSk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5NmE1ZTIzNTQwNzYwNGY4ZDVmODkyMjNiZDc2NWVhNmQ4
MWFhNjliLi5jZjg4NDlhNzc4OGQxZGM1MTkzZTQ1OGNhNTRkOWFiY2UwYTZhNGFmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMjEtMDEtMTkgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4K
KworICAgICAgICBOdWxsIGNoZWNrIGluIFJUQ1J0cFNGcmFtZVRyYW5zZm9ybTo6Y3JlYXRlU3Ry
ZWFtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIw
Mzk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IHRlc3QgZm9yIHRoaXMuCisKKyAgICAgICAgKiBodHRwL3dwdC93ZWJydGMvc2ZyYW1lLXRyYW5z
Zm9ybS1yZWFkYWJsZS1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
d3B0L3dlYnJ0Yy9zZnJhbWUtdHJhbnNmb3JtLXJlYWRhYmxlLWNyYXNoLmh0bWw6IEFkZGVkLgor
CiAyMDIxLTAxLTE4ICBMYXVybyBNb3VyYSAgPGxtb3VyYUBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtHTElCXSBHYXJkZW5pbmcgc29tZSBmYWlsdXJlcyBhbmQgY3Jhc2hlcwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL3NmcmFtZS10cmFuc2Zvcm0tcmVhZGFibGUtY3Jh
c2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL3NmcmFtZS10cmFu
c2Zvcm0tcmVhZGFibGUtY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjMDY2MGNmN2Ex
OTliZGM4ODU2OTkzZGQ1Nzc2YzJkZWRhMTM1NmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWJydGMvc2ZyYW1lLXRyYW5zZm9ybS1yZWFkYWJsZS1jcmFzaC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSBAQAorVGhpcyB0ZXN0IHNob3VsZCBub3QgY3Jhc2guCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvc2ZyYW1lLXRyYW5zZm9ybS1yZWFk
YWJsZS1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL3NmcmFtZS10cmFu
c2Zvcm0tcmVhZGFibGUtY3Jhc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZjhmNzY3MWUzOWVhYmQzMmE1
NzBhNDMzZjE2ODcwZGZjYTE0ZTU2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2VicnRjL3NmcmFtZS10cmFuc2Zvcm0tcmVhZGFibGUtY3Jhc2guaHRtbApAQCAtMCww
ICsxLDEzIEBACis8c2NyaXB0Pgorb25sb2FkID0gYXN5bmMgKCkgPT4geworaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworZm9yIChsZXQgaT0wOyBp
PDEwMDsgaSsrKSB7CisgICAgbGV0IGNvbnRleHQgPSBuZXcgQXVkaW9Db250ZXh0KCk7CisgICAg
bmV3IE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZShjb250ZXh0LCB7IG1lZGlhRWxlbWVudDog
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKSB9KTsKK30KK2F3YWl0IG5hdmlnYXRvci5n
cHUucmVxdWVzdEFkYXB0ZXIoKS50aGVuKGE9PmEucmVxdWVzdERldmljZSgpKTsKK25ldyBTRnJh
bWVUcmFuc2Zvcm0oKS5yZWFkYWJsZTsKK30KKzwvc2NyaXB0PgorPHA+VGhpcyB0ZXN0IHNob3Vs
ZCBub3QgY3Jhc2guPC9wPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417868</attachid>
            <date>2021-01-19 03:18:33 -0800</date>
            <delta_ts>2021-01-19 06:27:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220396-20210119121830.patch</filename>
            <type>text/plain</type>
            <size>4261</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFhZjJjNDg5YWQ2YmMw
MzI3M2E3NzU2Y2VhODQ5OGM3MDQ1YzEzZC4uMjE4ZTY0ZWUwNGM3OTg0NDJlZDJjMDM1NzgwMGQ5
ZDUxMTBmYjMwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTAxLTE5ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgTnVsbCBjaGVjayBpbiBSVENSdHBT
RnJhbWVUcmFuc2Zvcm06OmNyZWF0ZVN0cmVhbXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDM5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE51bGwgY2hlY2sgaW4gUlRDUnRwU0ZyYW1lVHJhbnNmb3Jt
OjpjcmVhdGVTdHJlYW1zLgorCisgICAgICAgIFRlc3RzOiBodHRwL3dwdC93ZWJydGMvc2ZyYW1l
LXRyYW5zZm9ybS1yZWFkYWJsZS1jcmFzaC5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENS
dHBTRnJhbWVUcmFuc2Zvcm06OmNyZWF0ZVN0cmVhbXMpOgorCiAyMDIxLTAxLTE4ICBBbmRyZXMg
R29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KIAogICAgICAgICBBcHBsZSBNYWlsIEFY
LCBWb2ljZU92ZXI6IFdoZW4gY29tcG9zaW5nIGEgbmV3IGVtYWlsIG1lc3NhZ2UsIG1vdmluZyBW
TyBmb2N1cyB0byB0aGUgbWVzc2FnZSBib2R5IGZpZWxkIGRvZXMgbm90IGJyaW5nIGtleWJvYXJk
IGZvY3VzIGFsb25nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENSdHBTRnJhbWVUcmFuc2Zvcm0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENSdHBTRnJhbWVUcmFuc2Zvcm0uY3BwCmluZGV4IGY1ZDg0MWU1M2M2ZTlj
Yjg1YTI2MDJlMjM4YWU4NzAyZmE0NzJkZmEuLmJiN2M0ZTg0YzMzYzUwZWQ1ZWMzYzU0YmZkNzA0
ZTM0NjFlODNlYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwU0ZyYW1lVHJhbnNmb3JtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybS5jcHAKQEAgLTE2MSwxNCArMTYxLDE2
IEBAIHZvaWQgdHJhbnNmb3JtRnJhbWUoSlNDOjpBcnJheUJ1ZmZlciYgdmFsdWUsIEpTRE9NR2xv
YmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJUCiAKIHZvaWQgUlRDUnRwU0ZyYW1lVHJhbnNmb3Jt
OjpjcmVhdGVTdHJlYW1zKCkKIHsKLSAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSAqc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLT5nbG9iYWxPYmplY3QoKTsKKyAgICBhdXRvKiBnbG9iYWxPYmplY3Qg
PSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmdsb2JhbE9iamVjdCgpOworICAgIGlmICghZ2xv
YmFsT2JqZWN0KQorICAgICAgICByZXR1cm47CiAKICAgICBtX3JlYWRhYmxlU3RyZWFtU291cmNl
ID0gU2ltcGxlUmVhZGFibGVTdHJlYW1Tb3VyY2U6OmNyZWF0ZSgpOwotICAgIGF1dG8gcmVhZGFi
bGUgPSBSZWFkYWJsZVN0cmVhbTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgbV9yZWFkYWJsZVN0cmVh
bVNvdXJjZS5jb3B5UmVmKCkpOworICAgIGF1dG8gcmVhZGFibGUgPSBSZWFkYWJsZVN0cmVhbTo6
Y3JlYXRlKCpnbG9iYWxPYmplY3QsIG1fcmVhZGFibGVTdHJlYW1Tb3VyY2UuY29weVJlZigpKTsK
ICAgICBpZiAocmVhZGFibGUuaGFzRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybjsKIAotICAg
IGF1dG8gd3JpdGFibGUgPSBXcml0YWJsZVN0cmVhbTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgU2lt
cGxlV3JpdGFibGVTdHJlYW1TaW5rOjpjcmVhdGUoW3RyYW5zZm9ybWVyID0gbV90cmFuc2Zvcm1l
ciwgcmVhZGFibGVTdHJlYW1Tb3VyY2UgPSBtX3JlYWRhYmxlU3RyZWFtU291cmNlXShhdXRvJiBj
b250ZXh0LCBhdXRvIHZhbHVlKSAtPiBFeGNlcHRpb25Pcjx2b2lkPiB7CisgICAgYXV0byB3cml0
YWJsZSA9IFdyaXRhYmxlU3RyZWFtOjpjcmVhdGUoKmdsb2JhbE9iamVjdCwgU2ltcGxlV3JpdGFi
bGVTdHJlYW1TaW5rOjpjcmVhdGUoW3RyYW5zZm9ybWVyID0gbV90cmFuc2Zvcm1lciwgcmVhZGFi
bGVTdHJlYW1Tb3VyY2UgPSBtX3JlYWRhYmxlU3RyZWFtU291cmNlXShhdXRvJiBjb250ZXh0LCBh
dXRvIHZhbHVlKSAtPiBFeGNlcHRpb25Pcjx2b2lkPiB7CiAgICAgICAgIGF1dG8mIGdsb2JhbE9i
amVjdCA9ICpKU0M6OmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGNvbnRleHQuZ2xvYmFsT2Jq
ZWN0KCkpOwogICAgICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRShnbG9iYWxP
YmplY3Qudm0oKSk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5NmE1ZTIzNTQwNzYwNGY4ZDVmODkyMjNiZDc2NWVhNmQ4
MWFhNjliLi5jZjg4NDlhNzc4OGQxZGM1MTkzZTQ1OGNhNTRkOWFiY2UwYTZhNGFmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMjEtMDEtMTkgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4K
KworICAgICAgICBOdWxsIGNoZWNrIGluIFJUQ1J0cFNGcmFtZVRyYW5zZm9ybTo6Y3JlYXRlU3Ry
ZWFtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIw
Mzk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IHRlc3QgZm9yIHRoaXMuCisKKyAgICAgICAgKiBodHRwL3dwdC93ZWJydGMvc2ZyYW1lLXRyYW5z
Zm9ybS1yZWFkYWJsZS1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
d3B0L3dlYnJ0Yy9zZnJhbWUtdHJhbnNmb3JtLXJlYWRhYmxlLWNyYXNoLmh0bWw6IEFkZGVkLgor
CiAyMDIxLTAxLTE4ICBMYXVybyBNb3VyYSAgPGxtb3VyYUBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtHTElCXSBHYXJkZW5pbmcgc29tZSBmYWlsdXJlcyBhbmQgY3Jhc2hlcwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL3NmcmFtZS10cmFuc2Zvcm0tcmVhZGFibGUtY3Jh
c2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL3NmcmFtZS10cmFu
c2Zvcm0tcmVhZGFibGUtY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjMDY2MGNmN2Ex
OTliZGM4ODU2OTkzZGQ1Nzc2YzJkZWRhMTM1NmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWJydGMvc2ZyYW1lLXRyYW5zZm9ybS1yZWFkYWJsZS1jcmFzaC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSBAQAorVGhpcyB0ZXN0IHNob3VsZCBub3QgY3Jhc2guCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvc2ZyYW1lLXRyYW5zZm9ybS1yZWFk
YWJsZS1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL3NmcmFtZS10cmFu
c2Zvcm0tcmVhZGFibGUtY3Jhc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MWQ1YzYzZmZkZWEyY2NmOTk2
MmE0MTBhYmJkMzRkYjFiN2IyNDQzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2VicnRjL3NmcmFtZS10cmFuc2Zvcm0tcmVhZGFibGUtY3Jhc2guaHRtbApAQCAtMCww
ICsxLDEwIEBACis8c2NyaXB0Pgorb25sb2FkID0gYXN5bmMgKCkgPT4geworaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworaWYgKG5hdmlnYXRvci5n
cHUpCisgICAgYXdhaXQgbmF2aWdhdG9yLmdwdS5yZXF1ZXN0QWRhcHRlcigpLnRoZW4oYT0+YS5y
ZXF1ZXN0RGV2aWNlKCkpOworbmV3IFNGcmFtZVRyYW5zZm9ybSgpLnJlYWRhYmxlOworfQorPC9z
Y3JpcHQ+Cis8cD5UaGlzIHRlc3Qgc2hvdWxkIG5vdCBjcmFzaC48L3A+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417872</attachid>
            <date>2021-01-19 06:28:03 -0800</date>
            <delta_ts>2021-01-21 05:17:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220396-20210119152801.patch</filename>
            <type>text/plain</type>
            <size>5562</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFhZjJjNDg5YWQ2YmMw
MzI3M2E3NzU2Y2VhODQ5OGM3MDQ1YzEzZC4uZjhlYWRkMjI5ZjEwZDE1YTBkOGFiZGQ2NGZiNTc0
NjdjMDVkMGM0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTAxLTE5ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgRW5zdXJlIGNyZWF0ZVN0cmVhbXMg
Z2V0cyB2YWxpZCBKU0dsb2JhbE9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIwMzk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRW5zdXJlIFJUQ1J0cFNGcmFtZVRyYW5zZm9ybTo6Y3JlYXRlU3Ry
ZWFtcyBnZXRzIGEKKyAgICAgICAgdmFsaWQgSlNHbG9iYWxPYmplY3Qgb2JqZWN0LCB0aHJvdyBl
eGNlcHRpb24gYXQKKyAgICAgICAgY2FsbCBzaXRlIGlmIHRoZXJlIGlzIG5vIHZhbGlkIEpTR2xv
YmFsT2JqZWN0IG9iamVjdC4KKworICAgICAgICBUZXN0OiBodHRwL3dwdC93ZWJydGMvc2ZyYW1l
LXRyYW5zZm9ybS1yZWFkYWJsZS1jcmFzaC5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENS
dHBTRnJhbWVUcmFuc2Zvcm06OmNyZWF0ZVN0cmVhbXMpOgorICAgICAgICAoV2ViQ29yZTo6UlRD
UnRwU0ZyYW1lVHJhbnNmb3JtOjpyZWFkYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpSVENSdHBT
RnJhbWVUcmFuc2Zvcm06OndyaXRhYmxlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFNGcmFtZVRyYW5zZm9ybS5oOgorCiAyMDIxLTAxLTE4ICBBbmRyZXMgR29uemFsZXog
IDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KIAogICAgICAgICBBcHBsZSBNYWlsIEFYLCBWb2ljZU92
ZXI6IFdoZW4gY29tcG9zaW5nIGEgbmV3IGVtYWlsIG1lc3NhZ2UsIG1vdmluZyBWTyBmb2N1cyB0
byB0aGUgbWVzc2FnZSBib2R5IGZpZWxkIGRvZXMgbm90IGJyaW5nIGtleWJvYXJkIGZvY3VzIGFs
b25nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTRnJhbWVUcmFuc2Zvcm0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBTRnJhbWVUcmFuc2Zvcm0uY3BwCmluZGV4IGY1ZDg0MWU1M2M2ZTljYjg1YTI2MDJl
MjM4YWU4NzAyZmE0NzJkZmEuLjE5YTdiMmE0NWRiM2VjNzEyZjc0ZGQ5ODM3M2QwYTIxZGFlODhi
NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
U0ZyYW1lVHJhbnNmb3JtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybS5jcHAKQEAgLTE1OSwxMCArMTU5LDggQEAgdm9pZCB0
cmFuc2Zvcm1GcmFtZShKU0M6OkFycmF5QnVmZmVyJiB2YWx1ZSwgSlNET01HbG9iYWxPYmplY3Qm
IGdsb2JhbE9iamVjdCwgUlQKICAgICBzb3VyY2UuZW5xdWV1ZSh0b0pTKCZnbG9iYWxPYmplY3Qs
ICZnbG9iYWxPYmplY3QsIGJ1ZmZlci0+dHJ5Q3JlYXRlQXJyYXlCdWZmZXIoKS5nZXQoKSkpOwog
fQogCi12b2lkIFJUQ1J0cFNGcmFtZVRyYW5zZm9ybTo6Y3JlYXRlU3RyZWFtcygpCit2b2lkIFJU
Q1J0cFNGcmFtZVRyYW5zZm9ybTo6Y3JlYXRlU3RyZWFtcyhKU0M6OkpTR2xvYmFsT2JqZWN0JiBn
bG9iYWxPYmplY3QpCiB7Ci0gICAgYXV0byYgZ2xvYmFsT2JqZWN0ID0gKnNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKS0+Z2xvYmFsT2JqZWN0KCk7Ci0KICAgICBtX3JlYWRhYmxlU3RyZWFtU291cmNl
ID0gU2ltcGxlUmVhZGFibGVTdHJlYW1Tb3VyY2U6OmNyZWF0ZSgpOwogICAgIGF1dG8gcmVhZGFi
bGUgPSBSZWFkYWJsZVN0cmVhbTo6Y3JlYXRlKGdsb2JhbE9iamVjdCwgbV9yZWFkYWJsZVN0cmVh
bVNvdXJjZS5jb3B5UmVmKCkpOwogICAgIGlmIChyZWFkYWJsZS5oYXNFeGNlcHRpb24oKSkKQEAg
LTIwMyw4ICsyMDEsMTIgQEAgRXhjZXB0aW9uT3I8UmVmUHRyPFJlYWRhYmxlU3RyZWFtPj4gUlRD
UnRwU0ZyYW1lVHJhbnNmb3JtOjpyZWFkYWJsZSgpCiAgICAgaWYgKCFjb250ZXh0KQogICAgICAg
ICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKIAorICAgIGF1dG8qIGds
b2JhbE9iamVjdCA9IGNvbnRleHQtPmdsb2JhbE9iamVjdCgpOworICAgIGlmICghZ2xvYmFsT2Jq
ZWN0KQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKKwog
ICAgIGlmICghbV9yZWFkYWJsZSkKLSAgICAgICAgY3JlYXRlU3RyZWFtcygpOworICAgICAgICBj
cmVhdGVTdHJlYW1zKCpnbG9iYWxPYmplY3QpOwogCiAgICAgcmV0dXJuIG1fcmVhZGFibGUuY29w
eVJlZigpOwogfQpAQCAtMjE1LDggKzIxNywxMiBAQCBFeGNlcHRpb25PcjxSZWZQdHI8V3JpdGFi
bGVTdHJlYW0+PiBSVENSdHBTRnJhbWVUcmFuc2Zvcm06OndyaXRhYmxlKCkKICAgICBpZiAoIWNv
bnRleHQpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciB9Owog
CisgICAgYXV0byogZ2xvYmFsT2JqZWN0ID0gY29udGV4dC0+Z2xvYmFsT2JqZWN0KCk7CisgICAg
aWYgKCFnbG9iYWxPYmplY3QpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3Rh
dGVFcnJvciB9OworCiAgICAgaWYgKCFtX3dyaXRhYmxlKQotICAgICAgICBjcmVhdGVTdHJlYW1z
KCk7CisgICAgICAgIGNyZWF0ZVN0cmVhbXMoKmdsb2JhbE9iamVjdCk7CiAKICAgICByZXR1cm4g
bV93cml0YWJsZS5jb3B5UmVmKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybS5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTRnJhbWVUcmFuc2Zvcm0uaAppbmRleCA0ZmVlNjI3
OWY2MjM5ZDE1NDZlYjY0YjY2MjJlMDM4MjhmZjU4YWU5Li5hN2FhYjUyN2MzOGNlNWVmMTFmNWM4
ZGFlZTZmNDM4MjE5MmVlNjY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU0ZyYW1lVHJhbnNmb3JtLmgKQEAgLTMxLDYgKzMxLDEw
IEBACiAjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJSVENSdHBT
RnJhbWVUcmFuc2Zvcm1lci5oIgogCituYW1lc3BhY2UgSlNDIHsKK2NsYXNzIEpTR2xvYmFsT2Jq
ZWN0OworfTsKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDcnlwdG9LZXk7CkBAIC03
MCw3ICs3NCw3IEBAIHByaXZhdGU6CiAKICAgICBlbnVtIGNsYXNzIFNpZGUgeyBTZW5kZXIsIFJl
Y2VpdmVyIH07CiAgICAgdm9pZCBpbml0aWFsaXplVHJhbnNmb3JtZXIoUlRDUnRwVHJhbnNmb3Jt
QmFja2VuZCYsIFNpZGUpOwotICAgIHZvaWQgY3JlYXRlU3RyZWFtcygpOworICAgIHZvaWQgY3Jl
YXRlU3RyZWFtcyhKU0M6OkpTR2xvYmFsT2JqZWN0Jik7CiAKICAgICBib29sIG1faXNBdHRhY2hl
ZCB7IGZhbHNlIH07CiAgICAgUmVmPFJUQ1J0cFNGcmFtZVRyYW5zZm9ybWVyPiBtX3RyYW5zZm9y
bWVyOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDk2YTVlMjM1NDA3NjA0ZjhkNWY4OTIyM2JkNzY1ZWE2ZDgxYWE2OWIuLmNm
ODg0OWE3Nzg4ZDFkYzUxOTNlNDU4Y2E1NGQ5YWJjZTBhNmE0YWYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAyMS0wMS0xOSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAg
IE51bGwgY2hlY2sgaW4gUlRDUnRwU0ZyYW1lVHJhbnNmb3JtOjpjcmVhdGVTdHJlYW1zCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjAzOTYKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdCBmb3Ig
dGhpcy4KKworICAgICAgICAqIGh0dHAvd3B0L3dlYnJ0Yy9zZnJhbWUtdHJhbnNmb3JtLXJlYWRh
YmxlLWNyYXNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2VicnRj
L3NmcmFtZS10cmFuc2Zvcm0tcmVhZGFibGUtY3Jhc2guaHRtbDogQWRkZWQuCisKIDIwMjEtMDEt
MTggIExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dMSUJdIEdh
cmRlbmluZyBzb21lIGZhaWx1cmVzIGFuZCBjcmFzaGVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWJydGMvc2ZyYW1lLXRyYW5zZm9ybS1yZWFkYWJsZS1jcmFzaC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvc2ZyYW1lLXRyYW5zZm9ybS1yZWFk
YWJsZS1jcmFzaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmMwNjYwY2Y3YTE5OWJkYzg4NTY5
OTNkZDU3NzZjMmRlZGExMzU2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYnJ0Yy9zZnJhbWUtdHJhbnNmb3JtLXJlYWRhYmxlLWNyYXNoLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxIEBACitUaGlzIHRlc3Qgc2hvdWxkIG5vdCBjcmFzaC4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0Yy9zZnJhbWUtdHJhbnNmb3JtLXJlYWRhYmxlLWNyYXNo
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvc2ZyYW1lLXRyYW5zZm9ybS1yZWFk
YWJsZS1jcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxZDVjNjNmZmRlYTJjY2Y5OTYyYTQxMGFiYmQz
NGRiMWI3YjI0NDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJy
dGMvc2ZyYW1lLXRyYW5zZm9ybS1yZWFkYWJsZS1jcmFzaC5odG1sCkBAIC0wLDAgKzEsMTAgQEAK
KzxzY3JpcHQ+CitvbmxvYWQgPSBhc3luYyAoKSA9PiB7CitpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CitpZiAobmF2aWdhdG9yLmdwdSkKKyAgICBh
d2FpdCBuYXZpZ2F0b3IuZ3B1LnJlcXVlc3RBZGFwdGVyKCkudGhlbihhPT5hLnJlcXVlc3REZXZp
Y2UoKSk7CituZXcgU0ZyYW1lVHJhbnNmb3JtKCkucmVhZGFibGU7Cit9Cis8L3NjcmlwdD4KKzxw
PlRoaXMgdGVzdCBzaG91bGQgbm90IGNyYXNoLjwvcD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418030</attachid>
            <date>2021-01-21 05:17:44 -0800</date>
            <delta_ts>2021-01-21 06:25:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220396-20210121141743.patch</filename>
            <type>text/plain</type>
            <size>5498</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNjg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWIzMGY3ZjYwZmNjMzRj
NmVmOTc1ZTg4NTFiYzA1ODFmZjJlNjZkYS4uOGVjNTliYmQyYTRlMmViYWRlNjE3Mjk0NTU0ODk2
NDZhMmQ4MjA4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTAxLTIxICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgRW5zdXJlIGNyZWF0ZVN0cmVhbXMg
Z2V0cyB2YWxpZCBKU0dsb2JhbE9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIwMzk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZh
YmxldC4KKworICAgICAgICBFbnN1cmUgUlRDUnRwU0ZyYW1lVHJhbnNmb3JtOjpjcmVhdGVTdHJl
YW1zIGdldHMgYQorICAgICAgICB2YWxpZCBKU0dsb2JhbE9iamVjdCBvYmplY3QsIHRocm93IGV4
Y2VwdGlvbiBhdAorICAgICAgICBjYWxsIHNpdGUgaWYgdGhlcmUgaXMgbm8gdmFsaWQgSlNHbG9i
YWxPYmplY3Qgb2JqZWN0LgorCisgICAgICAgIFRlc3Q6IGh0dHAvd3B0L3dlYnJ0Yy9zZnJhbWUt
dHJhbnNmb3JtLXJlYWRhYmxlLWNyYXNoLmh0bWwKKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUnRwU0ZyYW1lVHJhbnNmb3JtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0
cFNGcmFtZVRyYW5zZm9ybTo6Y3JlYXRlU3RyZWFtcyk6CisgICAgICAgIChXZWJDb3JlOjpSVENS
dHBTRnJhbWVUcmFuc2Zvcm06OnJlYWRhYmxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFNG
cmFtZVRyYW5zZm9ybTo6d3JpdGFibGUpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUnRwU0ZyYW1lVHJhbnNmb3JtLmg6CisKIDIwMjEtMDEtMjAgIFl1c3VrZSBTdXp1a2kgIDx5
c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBGdXJ0aGVyIHByb3BhZ2F0ZSBDaGlsZENoYW5n
ZTo6U291cmNlIHRvIG9wdGltaXplIEhUTUxJbnB1dEVsZW1lbnQgY3JlYXRpb24KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU0ZyYW1lVHJhbnNm
b3JtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU0ZyYW1l
VHJhbnNmb3JtLmNwcAppbmRleCBmNWQ4NDFlNTNjNmU5Y2I4NWEyNjAyZTIzOGFlODcwMmZhNDcy
ZGZhLi4xOWE3YjJhNDVkYjNlYzcxMmY3NGRkOTgzNzNkMGEyMWRhZTg4YjcxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9y
bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTRnJh
bWVUcmFuc2Zvcm0uY3BwCkBAIC0xNTksMTAgKzE1OSw4IEBAIHZvaWQgdHJhbnNmb3JtRnJhbWUo
SlNDOjpBcnJheUJ1ZmZlciYgdmFsdWUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3Qs
IFJUCiAgICAgc291cmNlLmVucXVldWUodG9KUygmZ2xvYmFsT2JqZWN0LCAmZ2xvYmFsT2JqZWN0
LCBidWZmZXItPnRyeUNyZWF0ZUFycmF5QnVmZmVyKCkuZ2V0KCkpKTsKIH0KIAotdm9pZCBSVENS
dHBTRnJhbWVUcmFuc2Zvcm06OmNyZWF0ZVN0cmVhbXMoKQordm9pZCBSVENSdHBTRnJhbWVUcmFu
c2Zvcm06OmNyZWF0ZVN0cmVhbXMoSlNDOjpKU0dsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQog
ewotICAgIGF1dG8mIGdsb2JhbE9iamVjdCA9ICpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmds
b2JhbE9iamVjdCgpOwotCiAgICAgbV9yZWFkYWJsZVN0cmVhbVNvdXJjZSA9IFNpbXBsZVJlYWRh
YmxlU3RyZWFtU291cmNlOjpjcmVhdGUoKTsKICAgICBhdXRvIHJlYWRhYmxlID0gUmVhZGFibGVT
dHJlYW06OmNyZWF0ZShnbG9iYWxPYmplY3QsIG1fcmVhZGFibGVTdHJlYW1Tb3VyY2UuY29weVJl
ZigpKTsKICAgICBpZiAocmVhZGFibGUuaGFzRXhjZXB0aW9uKCkpCkBAIC0yMDMsOCArMjAxLDEy
IEBAIEV4Y2VwdGlvbk9yPFJlZlB0cjxSZWFkYWJsZVN0cmVhbT4+IFJUQ1J0cFNGcmFtZVRyYW5z
Zm9ybTo6cmVhZGFibGUoKQogICAgIGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuIEV4Y2Vw
dGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07CiAKKyAgICBhdXRvKiBnbG9iYWxPYmplY3QgPSBj
b250ZXh0LT5nbG9iYWxPYmplY3QoKTsKKyAgICBpZiAoIWdsb2JhbE9iamVjdCkKKyAgICAgICAg
cmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07CisKICAgICBpZiAoIW1fcmVh
ZGFibGUpCi0gICAgICAgIGNyZWF0ZVN0cmVhbXMoKTsKKyAgICAgICAgY3JlYXRlU3RyZWFtcygq
Z2xvYmFsT2JqZWN0KTsKIAogICAgIHJldHVybiBtX3JlYWRhYmxlLmNvcHlSZWYoKTsKIH0KQEAg
LTIxNSw4ICsyMTcsMTIgQEAgRXhjZXB0aW9uT3I8UmVmUHRyPFdyaXRhYmxlU3RyZWFtPj4gUlRD
UnRwU0ZyYW1lVHJhbnNmb3JtOjp3cml0YWJsZSgpCiAgICAgaWYgKCFjb250ZXh0KQogICAgICAg
ICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKIAorICAgIGF1dG8qIGds
b2JhbE9iamVjdCA9IGNvbnRleHQtPmdsb2JhbE9iamVjdCgpOworICAgIGlmICghZ2xvYmFsT2Jq
ZWN0KQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKKwog
ICAgIGlmICghbV93cml0YWJsZSkKLSAgICAgICAgY3JlYXRlU3RyZWFtcygpOworICAgICAgICBj
cmVhdGVTdHJlYW1zKCpnbG9iYWxPYmplY3QpOwogCiAgICAgcmV0dXJuIG1fd3JpdGFibGUuY29w
eVJlZigpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBTRnJhbWVUcmFuc2Zvcm0uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUnRwU0ZyYW1lVHJhbnNmb3JtLmgKaW5kZXggNGZlZTYyNzlmNjIzOWQxNTQ2ZWI2
NGI2NjIyZTAzODI4ZmY1OGFlOS4uYTdhYWI1MjdjMzhjZTVlZjExZjVjOGRhZWU2ZjQzODIxOTJl
ZTY2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTRnJhbWVUcmFuc2Zvcm0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cFNGcmFtZVRyYW5zZm9ybS5oCkBAIC0zMSw2ICszMSwxMCBAQAogI2luY2x1ZGUg
IkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiUlRDUnRwU0ZyYW1lVHJhbnNmb3Jt
ZXIuaCIKIAorbmFtZXNwYWNlIEpTQyB7CitjbGFzcyBKU0dsb2JhbE9iamVjdDsKK307CisKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ3J5cHRvS2V5OwpAQCAtNzAsNyArNzQsNyBAQCBw
cml2YXRlOgogCiAgICAgZW51bSBjbGFzcyBTaWRlIHsgU2VuZGVyLCBSZWNlaXZlciB9OwogICAg
IHZvaWQgaW5pdGlhbGl6ZVRyYW5zZm9ybWVyKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmLCBTaWRl
KTsKLSAgICB2b2lkIGNyZWF0ZVN0cmVhbXMoKTsKKyAgICB2b2lkIGNyZWF0ZVN0cmVhbXMoSlND
OjpKU0dsb2JhbE9iamVjdCYpOwogCiAgICAgYm9vbCBtX2lzQXR0YWNoZWQgeyBmYWxzZSB9Owog
ICAgIFJlZjxSVENSdHBTRnJhbWVUcmFuc2Zvcm1lcj4gbV90cmFuc2Zvcm1lcjsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAy
MDBlYzJhMmYxYWJiMDBmOTM1YzFmZjU1M2M4MWRmMzlkNzU1OWQ4Li4zNjBkOWM4YmE5MWVlODBl
ODUxNTJmNzg0MDU0ZjQ4M2ExNGEwYjRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDEt
MjEgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBOdWxsIGNoZWNrIGlu
IFJUQ1J0cFNGcmFtZVRyYW5zZm9ybTo6Y3JlYXRlU3RyZWFtcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwMzk2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICBBZGQgdGVzdCBmb3IgdGhpcy4KKworICAgICAg
ICAqIGh0dHAvd3B0L3dlYnJ0Yy9zZnJhbWUtdHJhbnNmb3JtLXJlYWRhYmxlLWNyYXNoLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2VicnRjL3NmcmFtZS10cmFuc2Zv
cm0tcmVhZGFibGUtY3Jhc2guaHRtbDogQWRkZWQuCisKIDIwMjEtMDEtMjAgIEtlbm5ldGggUnVz
c2VsbCAgPGtickBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgU3VwcG9ydCBXRUJHTF9tdWx0aV9k
cmF3IGV4dGVuc2lvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL3Nm
cmFtZS10cmFuc2Zvcm0tcmVhZGFibGUtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2VicnRjL3NmcmFtZS10cmFuc2Zvcm0tcmVhZGFibGUtY3Jhc2gtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmZjMDY2MGNmN2ExOTliZGM4ODU2OTkzZGQ1Nzc2YzJkZWRhMTM1NmQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvc2ZyYW1lLXRy
YW5zZm9ybS1yZWFkYWJsZS1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorVGhpcyB0
ZXN0IHNob3VsZCBub3QgY3Jhc2guCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93
ZWJydGMvc2ZyYW1lLXRyYW5zZm9ybS1yZWFkYWJsZS1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2VicnRjL3NmcmFtZS10cmFuc2Zvcm0tcmVhZGFibGUtY3Jhc2guaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mZGVlNWE2MmExNGRlYzI5MTM2MmE0Y2NlNjU3YmY0N2RkM2JkMDA4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL3NmcmFtZS10cmFuc2Zvcm0t
cmVhZGFibGUtY3Jhc2guaHRtbApAQCAtMCwwICsxLDExIEBACis8aWZyYW1lIHNyYz0iLiIgaWQ9
ImZyYW1lIj48L2lmcmFtZT4KKzxzY3JpcHQ+CitvbmxvYWQgPSBhc3luYyAoKSA9PiB7CitpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Citjb25zdCB0
cmFuc2Zvcm0gPSBuZXcgZnJhbWUuY29udGVudFdpbmRvdy5TRnJhbWVUcmFuc2Zvcm07CitmcmFt
ZS5yZW1vdmUoKTsKK3RyYW5zZm9ybS5yZWFkYWJsZTsKK30KKzwvc2NyaXB0PgorPHA+VGhpcyB0
ZXN0IHNob3VsZCBub3QgY3Jhc2guPC9wPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>