<?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>214191</bug_id>
          
          <creation_ts>2020-07-10 10:38:56 -0700</creation_ts>
          <short_desc>[GStreamer] ImageDecoder hits more Debug ASSERTs</short_desc>
          <delta_ts>2020-07-20 03:27: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>Platform</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="Philippe Normand">pnormand</reporter>
          <assigned_to name="Philippe Normand">pnormand</assigned_to>
          <cc>calvaris</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>menard</cc>
    
    <cc>vjaquez</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1670500</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-07-10 10:38:56 -0700</bug_when>
    <thetext>fast/images/animated-png-loop-count.html
http/tests/images/jpeg-partial-load.html
http/tests/images/png-partial-load.html


#0  WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:295
295	    *(int *)(uintptr_t)0xbbadbeef = 0;


Thread 1 (Thread 0x7f3a5583a2c0 (LWP 22343)):
#0  0x00007f3a5e679362 in WTFCrash() () at ../../Source/WTF/wtf/Assertions.cpp:295
#1  0x00007f3a6c9d7e22 in CRASH_WITH_INFO(...) () at DerivedSources/ForwardingHeaders/wtf/Assertions.h:713
#2  0x00007f3a705e5ba5 in WebCore::ImageSource::~ImageSource() (this=0x7f39f46d8c80, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/platform/graphics/ImageSource.cpp:70
#3  0x00007f3a70541c61 in WTF::ThreadSafeRefCounted&lt;WebCore::ImageSource, (WTF::DestructionThread)0&gt;::deref() const::{lambda()#1}::operator()() const (this=0x7ffd6c801de0) at DerivedSources/ForwardingHeaders/wtf/ThreadSafeRefCounted.h:117
#4  0x00007f3a70541cb5 in WTF::ThreadSafeRefCounted&lt;WebCore::ImageSource, (WTF::DestructionThread)0&gt;::deref() const (this=0x7f39f46d8c80) at DerivedSources/ForwardingHeaders/wtf/ThreadSafeRefCounted.h:135
#5  0x00007f3a705407d8 in WTF::Ref&lt;WebCore::ImageSource, WTF::DumbPtrTraits&lt;WebCore::ImageSource&gt; &gt;::~Ref() (this=0x7f39f46e2778, __in_chrg=&lt;optimized out&gt;) at DerivedSources/ForwardingHeaders/wtf/Ref.h:61
#6  0x00007f3a7053861e in WebCore::BitmapImage::~BitmapImage() (this=0x7f39f46e2750, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/platform/graphics/BitmapImage.cpp:60
#7  0x00007f3a70538646 in WebCore::BitmapImage::~BitmapImage() (this=0x7f39f46e2750, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/platform/graphics/BitmapImage.cpp:66
#8  0x00007f3a6ca6ef4c in std::default_delete&lt;WebCore::Image&gt;::operator()(WebCore::Image*) const (this=0x7ffd6c801e97, __ptr=0x7f39f46e2750) at /usr/include/c++/9.3.0/bits/unique_ptr.h:81
#9  0x00007f3a6ca69bec in WTF::RefCounted&lt;WebCore::Image, std::default_delete&lt;WebCore::Image&gt; &gt;::deref() const (this=0x7f39f46e2758) at DerivedSources/ForwardingHeaders/wtf/RefCounted.h:190
#10 0x00007f3a7068a646 in WTF::derefIfNotNull&lt;WebCore::BitmapImage&gt;(WebCore::BitmapImage*) (ptr=0x7f39f46e2750) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:44
#11 0x00007f3a7068a3d4 in WTF::RefPtr&lt;WebCore::BitmapImage, WTF::DumbPtrTraits&lt;WebCore::BitmapImage&gt; &gt;::operator=(decltype(nullptr)) (this=0x7f3a142ed348) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:156
#12 0x00007f3a70689669 in WebCore::ImageGStreamer::~ImageGStreamer() (this=0x7f3a142ed340, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/platform/graphics/gstreamer/ImageGStreamerCairo.cpp:110
#13 0x00007f3a712ac392 in std::default_delete&lt;WebCore::ImageGStreamer&gt;::operator()(WebCore::ImageGStreamer*) const (this=0x7ffd6c801f67, __ptr=0x7f3a142ed340) at /usr/include/c++/9.3.0/bits/unique_ptr.h:81
#14 0x00007f3a712ac160 in WTF::RefCounted&lt;WebCore::ImageGStreamer, std::default_delete&lt;WebCore::ImageGStreamer&gt; &gt;::deref() const (this=0x7f3a142ed340) at DerivedSources/ForwardingHeaders/wtf/RefCounted.h:190
#15 0x00007f3a712abc1c in WTF::derefIfNotNull&lt;WebCore::ImageGStreamer&gt;(WebCore::ImageGStreamer*) (ptr=0x7f3a142ed340) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:44
#16 0x00007f3a712aafa2 in WTF::RefPtr&lt;WebCore::ImageGStreamer, WTF::DumbPtrTraits&lt;WebCore::ImageGStreamer&gt; &gt;::~RefPtr() (this=0x7f39f46d9378, __in_chrg=&lt;optimized out&gt;) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:70
#17 0x00007f3a712ac5ca in WebCore::ImageDecoderGStreamerSample::~ImageDecoderGStreamerSample() (this=0x7f39f46d9310, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:41
#18 0x00007f3a712ac5f2 in WebCore::ImageDecoderGStreamerSample::~ImageDecoderGStreamerSample() (this=0x7f39f46d9310, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:41
#19 0x00007f3a6f0538aa in WTF::ThreadSafeRefCounted&lt;WebCore::MediaSample, (WTF::DestructionThread)0&gt;::deref() const::{lambda()#1}::operator()() const (this=0x7ffd6c802040) at DerivedSources/ForwardingHeaders/wtf/ThreadSafeRefCounted.h:117
#20 0x00007f3a6f0538f1 in WTF::ThreadSafeRefCounted&lt;WebCore::MediaSample, (WTF::DestructionThread)0&gt;::deref() const (this=0x7f39f46d9318) at DerivedSources/ForwardingHeaders/wtf/ThreadSafeRefCounted.h:135
#21 0x00007f3a6f04c32f in WTF::derefIfNotNull&lt;WebCore::MediaSample&gt;(WebCore::MediaSample*) (ptr=0x7f39f46d9310) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:44
#22 0x00007f3a6f0456a2 in WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt;::~RefPtr() (this=0x7f39f46d61a8, __in_chrg=&lt;optimized out&gt;) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:70
#23 0x00007f3a6f042f0e in std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;::~pair() (this=0x7f39f46d6188, __in_chrg=&lt;optimized out&gt;) at /usr/include/c++/9.3.0/bits/stl_pair.h:208
#24 0x00007f3a6f060b06 in std::allocator_traits&lt;WTF::FastAllocator&lt;std::_Rb_tree_node&lt;std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt; &gt; &gt;::_S_destroy&lt;WTF::FastAllocator&lt;std::_Rb_tree_node&lt;std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt; &gt;, std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt;(WTF::FastAllocator&lt;std::_Rb_tree_node&lt;std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt; &gt;&amp;, std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;*, ...) (__p=0x7f39f46d6188) at /usr/include/c++/9.3.0/bits/alloc_traits.h:266
#25 0x00007f3a6f05e1f7 in std::allocator_traits&lt;WTF::FastAllocator&lt;std::_Rb_tree_node&lt;std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt; &gt; &gt;::destroy&lt;std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt;(WTF::FastAllocator&lt;std::_Rb_tree_node&lt;std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt; &gt;&amp;, std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;*) (__a=..., __p=0x7f39f46d6188) at /usr/include/c++/9.3.0/bits/alloc_traits.h:364
#26 0x00007f3a6f05b839 in std::_Rb_tree&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt;, std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, std::_Select1st&lt;std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt;, std::less&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; &gt;, WTF::FastAllocator&lt;std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt; &gt;::_M_destroy_node(std::_Rb_tree_node&lt;std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt;*) (this=0x7f3a54ed76a8, __p=0x7f39f46d6168) at /usr/include/c++/9.3.0/bits/stl_tree.h:642
#27 0x00007f3a6f057c3b in std::_Rb_tree&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt;, std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, std::_Select1st&lt;std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt;, std::less&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; &gt;, WTF::FastAllocator&lt;std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt; &gt;::_M_drop_node(std::_Rb_tree_node&lt;std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt;*) (this=0x7f3a54ed76a8, __p=0x7f39f46d6168) at /usr/include/c++/9.3.0/bits/stl_tree.h:650
#28 0x00007f3a6f04d08c in std::_Rb_tree&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt;, std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, std::_Select1st&lt;std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt;, std::less&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; &gt;, WTF::FastAllocator&lt;std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt; &gt;::_M_erase(std::_Rb_tree_node&lt;std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt;*) (this=0x7f3a54ed76a8, __x=0x7f39f46d6168) at /usr/include/c++/9.3.0/bits/stl_tree.h:1915
#29 0x00007f3a6f04d069 in std::_Rb_tree&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt;, std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, std::_Select1st&lt;std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt;, std::less&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; &gt;, WTF::FastAllocator&lt;std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt; &gt;::_M_erase(std::_Rb_tree_node&lt;std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt;*) (this=0x7f3a54ed76a8, __x=0x7f39f46d6120) at /usr/include/c++/9.3.0/bits/stl_tree.h:1913
#30 0x00007f3a6f046014 in std::_Rb_tree&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt;, std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt;, std::_Select1st&lt;std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt;, std::less&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; &gt;, WTF::FastAllocator&lt;std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt; &gt;::~_Rb_tree() (this=0x7f3a54ed76a8, __in_chrg=&lt;optimized out&gt;) at /usr/include/c++/9.3.0/bits/stl_tree.h:995
#31 0x00007f3a6f04306e in std::map&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt;, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt;, std::less&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; &gt;, WTF::FastAllocator&lt;std::pair&lt;std::pair&lt;WTF::MediaTime, WTF::MediaTime&gt; const, WTF::RefPtr&lt;WebCore::MediaSample, WTF::DumbPtrTraits&lt;WebCore::MediaSample&gt; &gt; &gt; &gt; &gt;::~map() (this=0x7f3a54ed76a8, __in_chrg=&lt;optimized out&gt;) at /usr/include/c++/9.3.0/bits/stl_map.h:300
#32 0x00007f3a6f043152 in WebCore::DecodeOrderSampleMap::~DecodeOrderSampleMap() (this=0x7f3a54ed76a8, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/Modules/mediasource/SampleMap.h:73
#33 0x00007f3a6f043196 in WebCore::SampleMap::~SampleMap() (this=0x7f3a54ed76a8, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/Modules/mediasource/SampleMap.h:110
#34 0x00007f3a712ac556 in WebCore::ImageDecoderGStreamer::~ImageDecoderGStreamer() (this=0x7f3a54ed7690, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.h:44
#35 0x00007f3a712ac58e in WebCore::ImageDecoderGStreamer::~ImageDecoderGStreamer() (this=0x7f3a54ed7690, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.h:44
#36 0x00007f3a705f2d4c in WTF::ThreadSafeRefCounted&lt;WebCore::ImageDecoder, (WTF::DestructionThread)0&gt;::deref() const::{lambda()#1}::operator()() const (this=0x7ffd6c802360) at DerivedSources/ForwardingHeaders/wtf/ThreadSafeRefCounted.h:117
#37 0x00007f3a705f2d93 in WTF::ThreadSafeRefCounted&lt;WebCore::ImageDecoder, (WTF::DestructionThread)0&gt;::deref() const (this=0x7f3a54ed7698) at DerivedSources/ForwardingHeaders/wtf/ThreadSafeRefCounted.h:135
#38 0x00007f3a705f1cf1 in WTF::derefIfNotNull&lt;WebCore::ImageDecoder&gt;(WebCore::ImageDecoder*) (ptr=0x7f3a54ed7690) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:44
#39 0x00007f3a705ee1ec in WTF::RefPtr&lt;WebCore::ImageDecoder, WTF::DumbPtrTraits&lt;WebCore::ImageDecoder&gt; &gt;::~RefPtr() (this=0x7f3a0c582a20, __in_chrg=&lt;optimized out&gt;) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:70
#40 0x00007f3a705e5c31 in WebCore::ImageSource::~ImageSource() (this=0x7f3a0c582a00, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/platform/graphics/ImageSource.cpp:67
#41 0x00007f3a70541c61 in WTF::ThreadSafeRefCounted&lt;WebCore::ImageSource, (WTF::DestructionThread)0&gt;::deref() const::{lambda()#1}::operator()() const (this=0x7ffd6c802440) at DerivedSources/ForwardingHeaders/wtf/ThreadSafeRefCounted.h:117
#42 0x00007f3a70541cb5 in WTF::ThreadSafeRefCounted&lt;WebCore::ImageSource, (WTF::DestructionThread)0&gt;::deref() const (this=0x7f3a0c582a00) at DerivedSources/ForwardingHeaders/wtf/ThreadSafeRefCounted.h:135
#43 0x00007f3a705407d8 in WTF::Ref&lt;WebCore::ImageSource, WTF::DumbPtrTraits&lt;WebCore::ImageSource&gt; &gt;::~Ref() (this=0x7f3a0c57f928, __in_chrg=&lt;optimized out&gt;) at DerivedSources/ForwardingHeaders/wtf/Ref.h:61
#44 0x00007f3a7053861e in WebCore::BitmapImage::~BitmapImage() (this=0x7f3a0c57f900, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/platform/graphics/BitmapImage.cpp:60
#45 0x00007f3a70538646 in WebCore::BitmapImage::~BitmapImage() (this=0x7f3a0c57f900, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/platform/graphics/BitmapImage.cpp:66
#46 0x00007f3a6ca6ef4c in std::default_delete&lt;WebCore::Image&gt;::operator()(WebCore::Image*) const (this=0x7ffd6c8024f7, __ptr=0x7f3a0c57f900) at /usr/include/c++/9.3.0/bits/unique_ptr.h:81
#47 0x00007f3a6ca69bec in WTF::RefCounted&lt;WebCore::Image, std::default_delete&lt;WebCore::Image&gt; &gt;::deref() const (this=0x7f3a0c57f908) at DerivedSources/ForwardingHeaders/wtf/RefCounted.h:190
#48 0x00007f3a6ca6bb32 in WTF::derefIfNotNull&lt;WebCore::Image&gt;(WebCore::Image*) (ptr=0x7f3a0c57f900) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:44
#49 0x00007f3a6d4de9a4 in WTF::RefPtr&lt;WebCore::Image, WTF::DumbPtrTraits&lt;WebCore::Image&gt; &gt;::operator=(decltype(nullptr)) (this=0x7f3a54ee1fe0) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:156
#50 0x00007f3a701b27e6 in WebCore::CachedImage::clearImage() (this=0x7f3a54ee1c00) at ../../Source/WebCore/loader/cache/CachedImage.cpp:464
#51 0x00007f3a701addf2 in WebCore::CachedImage::~CachedImage() (this=0x7f3a54ee1c00, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/loader/cache/CachedImage.cpp:95
#52 0x00007f3a701ade74 in WebCore::CachedImage::~CachedImage() (this=0x7f3a54ee1c00, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/loader/cache/CachedImage.cpp:96
#53 0x00007f3a701c9fdd in WebCore::CachedResource::deleteIfPossible() (this=0x7f3a54ee1c00) at ../../Source/WebCore/loader/cache/CachedResource.cpp:651
#54 0x00007f3a701cadea in WebCore::CachedResource::unregisterHandle(WebCore::CachedResourceHandleBase*) (this=0x7f3a54ee1c00, h=0x7f3a0c58d018) at ../../Source/WebCore/loader/cache/CachedResource.cpp:832
#55 0x00007f3a701cb3d4 in WebCore::CachedResourceHandleBase::~CachedResourceHandleBase() (this=0x7f3a0c58d018, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/loader/cache/CachedResourceHandle.cpp:55
#56 0x00007f3a6dd07408 in WebCore::CachedResourceHandle&lt;WebCore::CachedResource&gt;::~CachedResourceHandle() (this=0x7f3a0c58d018, __in_chrg=&lt;optimized out&gt;) at DerivedSources/ForwardingHeaders/WebCore/CachedResourceHandle.h:61
#57 0x00007f3a7011195c in WTF::KeyValuePair&lt;WTF::String, WebCore::CachedResourceHandle&lt;WebCore::CachedResource&gt; &gt;::~KeyValuePair() (this=0x7f3a0c58d010, __in_chrg=&lt;optimized out&gt;) at DerivedSources/ForwardingHeaders/wtf/KeyValuePair.h:33
#58 0x00007f3a701df92c in WTF::HashTable&lt;WTF::String, WTF::KeyValuePair&lt;WTF::String, WebCore::CachedResourceHandle&lt;WebCore::CachedResource&gt; &gt;, WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WTF::String, WebCore::CachedResourceHandle&lt;WebCore::CachedResource&gt; &gt; &gt;, WTF::StringHash, WTF::HashMap&lt;WTF::String, WebCore::CachedResourceHandle&lt;WebCore::CachedResource&gt;, WTF::StringHash, WTF::HashTraits&lt;WTF::String&gt;, WTF::HashTraits&lt;WebCore::CachedResourceHandle&lt;WebCore::CachedResource&gt; &gt; &gt;::KeyValuePairTraits, WTF::HashTraits&lt;WTF::String&gt; &gt;::deallocateTable(WTF::KeyValuePair&lt;WTF::String, WebCore::CachedResourceHandle&lt;WebCore::CachedResource&gt; &gt;*) (table=0x7f3a0c58d010) at DerivedSources/ForwardingHeaders/wtf/HashTable.h:1224
#59 0x00007f3a701dbcfb in WTF::HashTable&lt;WTF::String, WTF::KeyValuePair&lt;WTF::String, WebCore::CachedResourceHandle&lt;WebCore::CachedResource&gt; &gt;, WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WTF::String, WebCore::CachedResourceHandle&lt;WebCore::CachedResource&gt; &gt; &gt;, WTF::StringHash, WTF::HashMap&lt;WTF::String, WebCore::CachedResourceHandle&lt;WebCore::CachedResource&gt;, WTF::StringHash, WTF::HashTraits&lt;WTF::String&gt;, WTF::HashTraits&lt;WebCore::CachedResourceHandle&lt;WebCore::CachedResource&gt; &gt; &gt;::KeyValuePairTraits, WTF::HashTraits&lt;WTF::String&gt; &gt;::~HashTable() (this=0x7f3a54eb6e08, __in_chrg=&lt;optimized out&gt;) at DerivedSources/ForwardingHeaders/wtf/HashTable.h:412
#60 0x00007f3a701d9c4c in WTF::HashMap&lt;WTF::String, WebCore::CachedResourceHandle&lt;WebCore::CachedResource&gt;, WTF::StringHash, WTF::HashTraits&lt;WTF::String&gt;, WTF::HashTraits&lt;WebCore::CachedResourceHandle&lt;WebCore::CachedResource&gt; &gt; &gt;::~HashMap() (this=0x7f3a54eb6e08, __in_chrg=&lt;optimized out&gt;) at DerivedSources/ForwardingHeaders/wtf/HashMap.h:35
#61 0x00007f3a701cb9c6 in WebCore::CachedResourceLoader::~CachedResourceLoader() (this=0x7f3a54eb6dd0, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/loader/cache/CachedResourceLoader.cpp:167
#62 0x00007f3a6f829998 in std::default_delete&lt;WebCore::CachedResourceLoader&gt;::operator()(WebCore::CachedResourceLoader*) const (this=0x7ffd6c802777, __ptr=0x7f3a54eb6dd0) at /usr/include/c++/9.3.0/bits/unique_ptr.h:81
#63 0x00007f3a6f817dfc in WTF::RefCounted&lt;WebCore::CachedResourceLoader, std::default_delete&lt;WebCore::CachedResourceLoader&gt; &gt;::deref() const (this=0x7f3a54eb6dd0) at DerivedSources/ForwardingHeaders/wtf/RefCounted.h:190
#64 0x00007f3a6f8073dc in WTF::Ref&lt;WebCore::CachedResourceLoader, WTF::DumbPtrTraits&lt;WebCore::CachedResourceLoader&gt; &gt;::~Ref() (this=0x7f3a14306518, __in_chrg=&lt;optimized out&gt;) at DerivedSources/ForwardingHeaders/wtf/Ref.h:61
#65 0x00007f3a6f7d3237 in WebCore::Document::~Document() (this=0x7f3a143062f8, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/dom/Document.cpp:635
#66 0x00007f3a6fb8b6f5 in WebCore::HTMLDocument::~HTMLDocument() (this=0x7f3a143062f8, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/html/HTMLDocument.h:29
#67 0x00007f3a6fb8b74c in WebCore::HTMLDocument::~HTMLDocument() (this=0x7f3a143062f8, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/html/HTMLDocument.h:29
#68 0x00007f3a6f800749 in WebCore::Document::decrementReferencingNodeCount() (this=0x7f3a143062f8) at ../../Source/WebCore/dom/Document.h:390
#69 0x00007f3a6f928554 in WebCore::Node::~Node() (this=0x7f3a14148e80, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/dom/Node.cpp:374
#70 0x00007f3a6f78a93b in WebCore::ContainerNode::~ContainerNode() (this=0x7f3a14148e80, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/dom/ContainerNode.cpp:275
#71 0x00007f3a6f86d4d1 in WebCore::Element::~Element() (this=0x7f3a14148e80, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/dom/Element.cpp:200
#72 0x00007f3a6f9b3274 in WebCore::StyledElement::~StyledElement() (this=0x7f3a14148e80, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/dom/StyledElement.cpp:68
#73 0x00007f3a6f367052 in WebCore::HTMLElement::~HTMLElement() (this=0x7f3a14148e80, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/html/HTMLElement.h:40
#74 0x00007f3a6fc925e4 in WebCore::HTMLSpanElement::~HTMLSpanElement() (this=0x7f3a14148e80, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/html/HTMLSpanElement.h:32
#75 0x00007f3a6fc92600 in WebCore::HTMLSpanElement::~HTMLSpanElement() (this=0x7f3a14148e80, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/html/HTMLSpanElement.h:32
#76 0x00007f3a6f93116d in WebCore::Node::removedLastRef() (this=0x7f3a14148e80) at ../../Source/WebCore/dom/Node.cpp:2566
#77 0x00007f3a6d4a4449 in WebCore::Node::deref() const (this=0x7f3a14148e80) at DerivedSources/ForwardingHeaders/WebCore/Node.h:711
#78 0x00007f3a6f92a642 in WebCore::Node::derefEventTarget() (this=0x7f3a14148e80) at ../../Source/WebCore/dom/Node.cpp:834
#79 0x00007f3a6dc28877 in WebCore::EventTarget::deref() (this=0x7f3a14148e80) at DerivedSources/ForwardingHeaders/WebCore/EventTarget.h:60
#80 0x00007f3a6e35e692 in WTF::Ref&lt;WebCore::EventTarget, WTF::DumbPtrTraits&lt;WebCore::EventTarget&gt; &gt;::~Ref() (this=0x7f3a0c1c42e8, __in_chrg=&lt;optimized out&gt;) at DerivedSources/ForwardingHeaders/wtf/Ref.h:61
#81 0x00007f3a6e35d2a4 in WebCore::JSDOMWrapper&lt;WebCore::EventTarget&gt;::~JSDOMWrapper() (this=0x7f3a0c1c42d0, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/bindings/js/JSDOMWrapper.h:72
#82 0x00007f3a6e35d2c0 in WebCore::JSEventTarget::~JSEventTarget() (this=0x7f3a0c1c42d0, __in_chrg=&lt;optimized out&gt;) at DerivedSources/WebCore/JSEventTarget.h:30
#83 0x00007f3a6e355dea in WebCore::JSEventTarget::destroy(JSC::JSCell*) (cell=0x7f3a0c1c42d0) at DerivedSources/WebCore/JSEventTarget.cpp:262
#84 0x00007f3a5e1703c1 in JSC::JSDestructibleObjectDestroyFunc::operator()(JSC::VM&amp;, JSC::JSCell*) const (this=0x7ffd6c802db7, cell=0x7f3a0c1c42d0) at ../../Source/JavaScriptCore/runtime/JSDestructibleObjectHeapCellType.cpp:38
#85 0x00007f3a5e17ba13 in JSC::MarkedBlock::Handle::specializedSweep&lt;false, (JSC::MarkedBlock::Handle::EmptyMode)0, (JSC::MarkedBlock::Handle::SweepMode)0, (JSC::MarkedBlock::Handle::SweepDestructionMode)0, (JSC::MarkedBlock::Handle::ScribbleMode)0, (JSC::MarkedBlock::Handle::NewlyAllocatedMode)0, (JSC::MarkedBlock::Handle::MarksMode)0, JSC::JSDestructibleObjectDestroyFunc&gt;(JSC::FreeList*, JSC::MarkedBlock::Handle::EmptyMode, JSC::MarkedBlock::Handle::SweepMode, JSC::MarkedBlock::Handle::SweepDestructionMode, JSC::MarkedBlock::Handle::ScribbleMode, JSC::MarkedBlock::Handle::NewlyAllocatedMode, JSC::MarkedBlock::Handle::MarksMode, JSC::JSDestructibleObjectDestroyFunc const&amp;)::{lambda(void*)#1}::operator()(void*) const (this=0x7ffd6c802bd0, cell=0x7f3a0c1c42d0) at ../../Source/JavaScriptCore/heap/MarkedBlockInlines.h:260
#86 0x00007f3a5e17bf11 in JSC::MarkedBlock::Handle::specializedSweep&lt;false, (JSC::MarkedBlock::Handle::EmptyMode)0, (JSC::MarkedBlock::Handle::SweepMode)0, (JSC::MarkedBlock::Handle::SweepDestructionMode)0, (JSC::MarkedBlock::Handle::ScribbleMode)0, (JSC::MarkedBlock::Handle::NewlyAllocatedMode)0, (JSC::MarkedBlock::Handle::MarksMode)0, JSC::JSDestructibleObjectDestroyFunc&gt;(JSC::FreeList*, JSC::MarkedBlock::Handle::EmptyMode, JSC::MarkedBlock::Handle::SweepMode, JSC::MarkedBlock::Handle::SweepDestructionMode, JSC::MarkedBlock::Handle::ScribbleMode, JSC::MarkedBlock::Handle::NewlyAllocatedMode, JSC::MarkedBlock::Handle::MarksMode, JSC::JSDestructibleObjectDestroyFunc const&amp;) (this=0x7f39f468a840, freeList=0x0, emptyMode=JSC::MarkedBlock::Handle::IsEmpty, sweepMode=JSC::MarkedBlock::Handle::SweepOnly, destructionMode=JSC::MarkedBlock::Handle::BlockHasDestructors, scribbleMode=JSC::MarkedBlock::Handle::Scribble, newlyAllocatedMode=JSC::MarkedBlock::Handle::DoesNotHaveNewlyAllocated, marksMode=JSC::MarkedBlock::Handle::MarksStale, destroyFunc=...) at ../../Source/JavaScriptCore/heap/MarkedBlockInlines.h:294
#87 0x00007f3a5e17552a in JSC::MarkedBlock::Handle::finishSweepKnowingHeapCellType&lt;JSC::JSDestructibleObjectDestroyFunc&gt;(JSC::FreeList*, JSC::JSDestructibleObjectDestroyFunc const&amp;) (this=0x7f39f468a840, freeList=0x0, destroyFunc=...) at ../../Source/JavaScriptCore/heap/MarkedBlockInlines.h:530
#88 0x00007f3a5e16a556 in JSC::JSDestructibleObjectHeapCellType::finishSweep(JSC::MarkedBlock::Handle&amp;, JSC::FreeList*) (this=0x7f3a54ef92f0, handle=..., freeList=0x0) at ../../Source/JavaScriptCore/runtime/JSDestructibleObjectHeapCellType.cpp:53
#89 0x00007f3a5dc79815 in JSC::Subspace::finishSweep(JSC::MarkedBlock::Handle&amp;, JSC::FreeList*) (this=0x7f3a0c52c000, block=..., freeList=0x0) at ../../Source/JavaScriptCore/heap/Subspace.cpp:60
#90 0x00007f3a5dc5e694 in JSC::MarkedBlock::Handle::sweep(JSC::FreeList*) (this=0x7f39f468a840, freeList=0x0) at ../../Source/JavaScriptCore/heap/MarkedBlock.cpp:415
#91 0x00007f3a5dc2bd64 in JSC::IncrementalSweeper::sweepNextBlock(JSC::VM&amp;) (this=0x7f3a54ef4288, vm=...) at ../../Source/JavaScriptCore/heap/IncrementalSweeper.cpp:88
#92 0x00007f3a5dc2bc2b in JSC::IncrementalSweeper::doSweep(JSC::VM&amp;, WTF::MonotonicTime) (this=0x7f3a54ef4288, vm=..., sweepBeginTime=...) at ../../Source/JavaScriptCore/heap/IncrementalSweeper.cpp:58
#93 0x00007f3a5dc2bbf0 in JSC::IncrementalSweeper::doWork(JSC::VM&amp;) (this=0x7f3a54ef4288, vm=...) at ../../Source/JavaScriptCore/heap/IncrementalSweeper.cpp:53
#94 0x00007f3a5e21b256 in JSC::JSRunLoopTimer::timerDidFire() (this=0x7f3a54ef4288) at ../../Source/JavaScriptCore/runtime/JSRunLoopTimer.cpp:299
#95 0x00007f3a5e21a5f9 in JSC::JSRunLoopTimer::Manager::timerDidFire() (this=0x7f3a54efa340) at ../../Source/JavaScriptCore/runtime/JSRunLoopTimer.cpp:152
#96 0x00007f3a5e21a22c in JSC::JSRunLoopTimer::Manager::timerDidFireCallback() (this=0x7f3a54efa340) at ../../Source/JavaScriptCore/runtime/JSRunLoopTimer.cpp:92
#97 0x00007f3a5e2286f4 in WTF::RunLoop::Timer&lt;JSC::JSRunLoopTimer::Manager&gt;::fired() (this=0x7f3a54ef7340) at DerivedSources/ForwardingHeaders/wtf/RunLoop.h:177
#98 0x00007f3a5e7341eb in WTF::RunLoop::TimerBase::&lt;lambda(gpointer)&gt;::operator()(gpointer) const (__closure=0x0, userData=0x7f3a54ef7340) at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:179
#99 0x00007f3a5e73422b in WTF::RunLoop::TimerBase::&lt;lambda(gpointer)&gt;::_FUN(gpointer) () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:183
#100 0x00007f3a5e73380c in WTF::&lt;lambda(GSource*, GSourceFunc, gpointer)&gt;::operator()(GSource *, GSourceFunc, gpointer) const (__closure=0x0, source=0x564bfed38d00, callback=0x7f3a5e73420e &lt;WTF::RunLoop::TimerBase::&lt;lambda(gpointer)&gt;::_FUN(gpointer)&gt;, userData=0x7f3a54ef7340) at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:45
#101 0x00007f3a5e73383c in WTF::&lt;lambda(GSource*, GSourceFunc, gpointer)&gt;::_FUN(GSource *, GSourceFunc, gpointer) () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:46
#102 0x00007f3a57a7ac3e in g_main_dispatch (context=0x564bfed5fc80) at ../glib/gmain.c:3309
#103 0x00007f3a57a7ac3e in g_main_context_dispatch (context=context@entry=0x564bfed5fc80) at ../glib/gmain.c:3974
#104 0x00007f3a57a7aff0 in g_main_context_iterate (context=0x564bfed5fc80, block=block@entry=1, dispatch=dispatch@entry=1, self=&lt;optimized out&gt;) at ../glib/gmain.c:4047
#105 0x00007f3a57a7b2e3 in g_main_loop_run (loop=0x564bfed8db90) at ../glib/gmain.c:4241
#106 0x00007f3a5e733dbc in WTF::RunLoop::run() () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:96
#107 0x00007f3a6df20975 in WebKit::AuxiliaryProcessMain&lt;WebKit::WebProcess, WebKit::WebProcessMainGtk&gt;(int, char**) (argc=4, argv=0x7ffd6c8034e8) at ../../Source/WebKit/Shared/AuxiliaryProcessMain.h:68
#108 0x00007f3a6df1ec29 in WebKit::WebProcessMain(int, char**) (argc=4, argv=0x7ffd6c8034e8) at ../../Source/WebKit/WebProcess/gtk/WebProcessMainGtk.cpp:66
#109 0x0000564bfd06ada8 in main(int, char**) (argc=4, argv=0x7ffd6c8034e8) at ../../Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp:45</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1670503</commentid>
    <comment_count>1</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-07-10 10:54:29 -0700</bug_when>
    <thetext>TestExpectations updated in r264231.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672886</commentid>
    <comment_count>2</comment_count>
      <attachid>404667</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-07-19 07:01:28 -0700</bug_when>
    <thetext>Created attachment 404667
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672989</commentid>
    <comment_count>3</comment_count>
      <attachid>404667</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2020-07-19 22:24:51 -0700</bug_when>
    <thetext>Comment on attachment 404667
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:260
&gt; +        GST_DEBUG(&quot;EOS on decoder %p&quot;, this);

Nit, you can leave this out of the scope.

&gt; Source/WebCore/platform/graphics/gstreamer/ImageDecoderGStreamer.cpp:372
&gt; +    while (!m_eos) {

Shouldn&apos;t be this access protected by the m_sampleMutex? It looks it is set in other places protected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673003</commentid>
    <comment_count>4</comment_count>
      <attachid>404701</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-07-20 01:40:53 -0700</bug_when>
    <thetext>Created attachment 404701
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673023</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-20 03:26:15 -0700</bug_when>
    <thetext>Committed r264595: &lt;https://trac.webkit.org/changeset/264595&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404701.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673024</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-20 03:27:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/65816373&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404667</attachid>
            <date>2020-07-19 07:01:28 -0700</date>
            <delta_ts>2020-07-20 01:40:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214191-20200719070126.patch</filename>
            <type>text/plain</type>
            <size>9425</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NTc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzM3Y2Q0YTRjOGM2MGJj
NGY1Yjk5MWRkMjhiZDAyMTk4Y2Y0MzJhOC4uY2ExMzkxMWUxOGMzMzFiZGI1MWFlNzIwYWJlNzIw
YmMzYjdhYmFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA3LTE3ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XSBJbWFnZURlY29kZXIgaGl0cyBtb3JlIERlYnVnIEFTU0VSVHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDE5MQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByb2Nlc3MgZGVjb2RlZCB2aWRlbyBzYW1w
bGVzIGZyb20gdGhlIGRlY29kZXIgcGFyZW50IHRocmVhZCwgaW4gb3JkZXIgdG8gZ3VhcmFudGVl
IHRoZQorICAgICAgICB1bmRlcmx5aW5nIFJlZlB0cnMgc3RvcmVkIGluIHRoZSBJbWFnZURlY29k
ZXJHU3RyZWFtZXJTYW1wbGUga2VlcCBhIGNvbnNpc3RlbnQgb3duaW5nCisgICAgICAgIHJ1bmxv
b3AuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW1hZ2VEZWNvZGVy
R1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2RlckdTdHJlYW1lcjo6
SW5uZXJEZWNvZGVyOjpjb25uZWN0RGVjb2RlclBhZCk6CisgICAgICAgIChXZWJDb3JlOjpJbWFn
ZURlY29kZXJHU3RyZWFtZXI6OnNldEhhc0VPUyk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZURl
Y29kZXJHU3RyZWFtZXI6Om5vdGlmeVNhbXBsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZURl
Y29kZXJHU3RyZWFtZXI6OklubmVyRGVjb2Rlcjo6aGFuZGxlTWVzc2FnZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJbWFnZURlY29kZXJHU3RyZWFtZXI6OnB1c2hFbmNvZGVkRGF0YSk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0ltYWdlRGVjb2RlckdTdHJlYW1lci5oOgor
CiAyMDIwLTA3LTE4ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkLCBmaXggYnVpbGQgd2FybmluZ3MgaW4gdGhlIFdlYlhSIGJhY2tl
bmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9JbWFnZURlY29kZXJHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL0ltYWdlRGVjb2RlckdTdHJlYW1lci5jcHAKaW5kZXggMzI5M2MyYmY3
MzQxMTA3NjJkZjJkNjk3ZWEyYjQwZDU2NzJiNDc2OC4uY2U1ZDVhZTljMGUzNDM2ZjY0MzJjOTg3
NDk5YTZkMmY0NzE0Zjk3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL0ltYWdlRGVjb2RlckdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0ltYWdlRGVjb2RlckdTdHJlYW1lci5j
cHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJNZWRpYVNhbXBsZUdTdHJlYW1lci5oIgog
I2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSA8Z3N0L2FwcC9nc3RhcHBzaW5r
Lmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgog
I2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KQEAg
LTIyOCwxMiArMjI5LDEyIEBAIHZvaWQgSW1hZ2VEZWNvZGVyR1N0cmVhbWVyOjpJbm5lckRlY29k
ZXI6OmNvbm5lY3REZWNvZGVyUGFkKEdzdFBhZCogcGFkKQogICAgICAgICBudWxscHRyLAogICAg
ICAgICBbXShHc3RBcHBTaW5rKiBzaW5rLCBncG9pbnRlciB1c2VyRGF0YSkgLT4gR3N0Rmxvd1Jl
dHVybiB7CiAgICAgICAgICAgICBhdXRvIHNhbXBsZSA9IGFkb3B0R1JlZihnc3RfYXBwX3Npbmtf
dHJ5X3B1bGxfcHJlcm9sbChzaW5rLCAwKSk7Ci0gICAgICAgICAgICBzdGF0aWNfY2FzdDxJbWFn
ZURlY29kZXJHU3RyZWFtZXIqPih1c2VyRGF0YSktPmhhbmRsZVNhbXBsZShXVEZNb3ZlKHNhbXBs
ZSkpOworICAgICAgICAgICAgc3RhdGljX2Nhc3Q8SW1hZ2VEZWNvZGVyR1N0cmVhbWVyKj4odXNl
ckRhdGEpLT5ub3RpZnlTYW1wbGUoV1RGTW92ZShzYW1wbGUpKTsKICAgICAgICAgICAgIHJldHVy
biBHU1RfRkxPV19PSzsKICAgICAgICAgfSwKICAgICAgICAgW10oR3N0QXBwU2luayogc2luaywg
Z3BvaW50ZXIgdXNlckRhdGEpIC0+IEdzdEZsb3dSZXR1cm4gewogICAgICAgICAgICAgYXV0byBz
YW1wbGUgPSBhZG9wdEdSZWYoZ3N0X2FwcF9zaW5rX3RyeV9wdWxsX3NhbXBsZShzaW5rLCAwKSk7
Ci0gICAgICAgICAgICBzdGF0aWNfY2FzdDxJbWFnZURlY29kZXJHU3RyZWFtZXIqPih1c2VyRGF0
YSktPmhhbmRsZVNhbXBsZShXVEZNb3ZlKHNhbXBsZSkpOworICAgICAgICAgICAgc3RhdGljX2Nh
c3Q8SW1hZ2VEZWNvZGVyR1N0cmVhbWVyKj4odXNlckRhdGEpLT5ub3RpZnlTYW1wbGUoV1RGTW92
ZShzYW1wbGUpKTsKICAgICAgICAgICAgIHJldHVybiBHU1RfRkxPV19PSzsKICAgICAgICAgfSwK
ICAgICAgICAgeyBudWxscHRyIH0KQEAgLTI1MywxNCArMjU0LDMxIEBAIHZvaWQgSW1hZ2VEZWNv
ZGVyR1N0cmVhbWVyOjpJbm5lckRlY29kZXI6OmNvbm5lY3REZWNvZGVyUGFkKEdzdFBhZCogcGFk
KQogICAgIGdzdF9lbGVtZW50X3N5bmNfc3RhdGVfd2l0aF9wYXJlbnQoc2luayk7CiB9CiAKLXZv
aWQgSW1hZ2VEZWNvZGVyR1N0cmVhbWVyOjpoYW5kbGVTYW1wbGUoR1JlZlB0cjxHc3RTYW1wbGU+
JiYgc2FtcGxlKQordm9pZCBJbWFnZURlY29kZXJHU3RyZWFtZXI6OnNldEhhc0VPUygpCiB7Ci0g
ICAgYXV0byogY2FwcyA9IGdzdF9zYW1wbGVfZ2V0X2NhcHMoc2FtcGxlLmdldCgpKTsKLSAgICBH
U1RfREVCVUcoIkhhbmRsaW5nIHNhbXBsZSB3aXRoIGNhcHMgJSIgR1NUX1BUUl9GT1JNQVQsIGNh
cHMpOwotICAgIGF1dG8gcHJlc2VudGF0aW9uU2l6ZSA9IGdldFZpZGVvUmVzb2x1dGlvbkZyb21D
YXBzKGNhcHMpOwotICAgIGlmIChwcmVzZW50YXRpb25TaXplICYmICFwcmVzZW50YXRpb25TaXpl
LT5pc0VtcHR5KCkgJiYgKCFtX3NpemUgfHwgbV9zaXplICE9IHJvdW5kZWRJbnRTaXplKCpwcmVz
ZW50YXRpb25TaXplKSkpCi0gICAgICAgIG1fc2l6ZSA9IHJvdW5kZWRJbnRTaXplKCpwcmVzZW50
YXRpb25TaXplKTsKLSAgICBtX3NhbXBsZURhdGEuYWRkU2FtcGxlKEltYWdlRGVjb2RlckdTdHJl
YW1lclNhbXBsZTo6Y3JlYXRlKFdURk1vdmUoc2FtcGxlKSwgKm1fc2l6ZSkpOworICAgIHsKKyAg
ICAgICAgR1NUX0RFQlVHKCJFT1Mgb24gZGVjb2RlciAlcCIsIHRoaXMpOworICAgICAgICBMb2Nr
SG9sZGVyIGxvY2sobV9zYW1wbGVNdXRleCk7CisgICAgICAgIG1fZW9zID0gdHJ1ZTsKKyAgICAg
ICAgbV9zYW1wbGVDb25kaXRpb24ubm90aWZ5T25lKCk7CisgICAgfQorICAgIHsKKyAgICAgICAg
TG9ja0hvbGRlciBsb2NrKG1faGFuZGxlck11dGV4KTsKKyAgICAgICAgbV9oYW5kbGVyQ29uZGl0
aW9uLndhaXQobV9oYW5kbGVyTXV0ZXgpOworICAgIH0KK30KKwordm9pZCBJbWFnZURlY29kZXJH
U3RyZWFtZXI6Om5vdGlmeVNhbXBsZShHUmVmUHRyPEdzdFNhbXBsZT4mJiBzYW1wbGUpCit7Cisg
ICAgeworICAgICAgICBMb2NrSG9sZGVyIGxvY2sobV9zYW1wbGVNdXRleCk7CisgICAgICAgIG1f
c2FtcGxlID0gV1RGTW92ZShzYW1wbGUpOworICAgICAgICBtX3NhbXBsZUNvbmRpdGlvbi5ub3Rp
ZnlPbmUoKTsKKyAgICB9CisgICAgeworICAgICAgICBMb2NrSG9sZGVyIGxvY2sobV9oYW5kbGVy
TXV0ZXgpOworICAgICAgICBtX2hhbmRsZXJDb25kaXRpb24ud2FpdChtX2hhbmRsZXJNdXRleCk7
CisgICAgfQogfQogCiB2b2lkIEltYWdlRGVjb2RlckdTdHJlYW1lcjo6SW5uZXJEZWNvZGVyOjpo
YW5kbGVNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCkBAIC0yNzIsOCArMjkwLDcgQEAgdm9p
ZCBJbWFnZURlY29kZXJHU3RyZWFtZXI6OklubmVyRGVjb2Rlcjo6aGFuZGxlTWVzc2FnZShHc3RN
ZXNzYWdlKiBtZXNzYWdlKQogCiAgICAgc3dpdGNoIChHU1RfTUVTU0FHRV9UWVBFKG1lc3NhZ2Up
KSB7CiAgICAgY2FzZSBHU1RfTUVTU0FHRV9FT1M6Ci0gICAgICAgIGdzdF9lbGVtZW50X3NldF9z
dGF0ZShtX3BpcGVsaW5lLmdldCgpLCBHU1RfU1RBVEVfTlVMTCk7Ci0gICAgICAgIG1fcnVuTG9v
cC5zdG9wKCk7CisgICAgICAgIG1fZGVjb2Rlci5zZXRIYXNFT1MoKTsKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBHU1RfTUVTU0FHRV9XQVJOSU5HOgogICAgICAgICBnc3RfbWVzc2FnZV9wYXJz
ZV93YXJuaW5nKG1lc3NhZ2UsICZlcnJvci5vdXRQdHIoKSwgJmRlYnVnLm91dFB0cigpKTsKQEAg
LTI4Miw4ICsyOTksNyBAQCB2b2lkIEltYWdlRGVjb2RlckdTdHJlYW1lcjo6SW5uZXJEZWNvZGVy
OjpoYW5kbGVNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCiAgICAgY2FzZSBHU1RfTUVTU0FH
RV9FUlJPUjoKICAgICAgICAgZ3N0X21lc3NhZ2VfcGFyc2VfZXJyb3IobWVzc2FnZSwgJmVycm9y
Lm91dFB0cigpLCAmZGVidWcub3V0UHRyKCkpOwogICAgICAgICBnX3dhcm5pbmcoIkVycm9yOiAl
ZCwgJXMuIERlYnVnIG91dHB1dDogJXMiLCBlcnJvci0+Y29kZSwgZXJyb3ItPm1lc3NhZ2UsIGRl
YnVnLmdldCgpKTsKLSAgICAgICAgZ3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGlwZWxpbmUuZ2V0
KCksIEdTVF9TVEFURV9OVUxMKTsKLSAgICAgICAgbV9ydW5Mb29wLnN0b3AoKTsKKyAgICAgICAg
bV9kZWNvZGVyLnNldEhhc0VPUygpOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAg
ICAgICBicmVhazsKQEAgLTM1MSw5ICszNjcsMjYgQEAgdm9pZCBJbWFnZURlY29kZXJHU3RyZWFt
ZXI6OnB1c2hFbmNvZGVkRGF0YShjb25zdCBTaGFyZWRCdWZmZXImIGJ1ZmZlcikKICAgICBhdXRv
IHRocmVhZCA9IFRocmVhZDo6Y3JlYXRlKCJJbWFnZURlY29kZXJHU3RyZWFtZXIiLCBbdGhpcywg
ZGF0YSA9IGJ1ZmZlci5kYXRhKCksIHNpemUgPSBidWZmZXIuc2l6ZSgpXSB7CiAgICAgICAgIG1f
aW5uZXJEZWNvZGVyID0gSW1hZ2VEZWNvZGVyR1N0cmVhbWVyOjpJbm5lckRlY29kZXI6OmNyZWF0
ZSgqdGhpcywgZGF0YSwgc2l6ZSk7CiAgICAgICAgIG1faW5uZXJEZWNvZGVyLT5ydW4oKTsKLSAg
ICB9KTsKLSAgICB0aHJlYWQtPndhaXRGb3JDb21wbGV0aW9uKCk7Ci0gICAgbV9lb3MgPSB0cnVl
OworICAgIH0sIFRocmVhZFR5cGU6OkdyYXBoaWNzKTsKKyAgICB0aHJlYWQtPmRldGFjaCgpOwor
ICAgIHdoaWxlICghbV9lb3MpIHsKKyAgICAgICAgeworICAgICAgICAgICAgTG9ja0hvbGRlciBs
b2NrKG1fc2FtcGxlTXV0ZXgpOworICAgICAgICAgICAgbV9zYW1wbGVDb25kaXRpb24ud2FpdCht
X3NhbXBsZU11dGV4KTsKKyAgICAgICAgICAgIGlmIChtX3NhbXBsZSkgeworICAgICAgICAgICAg
ICAgIGF1dG8qIGNhcHMgPSBnc3Rfc2FtcGxlX2dldF9jYXBzKG1fc2FtcGxlLmdldCgpKTsKKyAg
ICAgICAgICAgICAgICBHU1RfREVCVUcoIkhhbmRsaW5nIHNhbXBsZSB3aXRoIGNhcHMgJSIgR1NU
X1BUUl9GT1JNQVQgIiBvbiBkZWNvZGVyICVwIiwgY2FwcywgdGhpcyk7CisgICAgICAgICAgICAg
ICAgYXV0byBwcmVzZW50YXRpb25TaXplID0gZ2V0VmlkZW9SZXNvbHV0aW9uRnJvbUNhcHMoY2Fw
cyk7CisgICAgICAgICAgICAgICAgaWYgKHByZXNlbnRhdGlvblNpemUgJiYgIXByZXNlbnRhdGlv
blNpemUtPmlzRW1wdHkoKSAmJiAoIW1fc2l6ZSB8fCBtX3NpemUgIT0gcm91bmRlZEludFNpemUo
KnByZXNlbnRhdGlvblNpemUpKSkKKyAgICAgICAgICAgICAgICAgICAgbV9zaXplID0gcm91bmRl
ZEludFNpemUoKnByZXNlbnRhdGlvblNpemUpOworICAgICAgICAgICAgICAgIG1fc2FtcGxlRGF0
YS5hZGRTYW1wbGUoSW1hZ2VEZWNvZGVyR1N0cmVhbWVyU2FtcGxlOjpjcmVhdGUoV1RGTW92ZSht
X3NhbXBsZSksICptX3NpemUpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICB7
CisgICAgICAgICAgICBMb2NrSG9sZGVyIGxvY2sobV9oYW5kbGVyTXV0ZXgpOworICAgICAgICAg
ICAgbV9oYW5kbGVyQ29uZGl0aW9uLm5vdGlmeUFsbCgpOworICAgICAgICB9CisgICAgfQogICAg
IG1faW5uZXJEZWNvZGVyID0gbnVsbHB0cjsKICAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzXSB7
CiAgICAgICAgIGlmIChtX2VuY29kZWREYXRhU3RhdHVzQ2hhbmdlZENhbGxiYWNrKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0ltYWdlRGVj
b2RlckdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL0ltYWdlRGVjb2RlckdTdHJlYW1lci5oCmluZGV4IGE1YmMzOWE1OGE3Y2U0ZTNjZTNhMWQ3
ZmI3NDBlODI1YTQwNmUwNTIuLjZlMmVhMDc5N2JkM2NmZDNlOWQ0NTAwODQ5NjhlOGQzMzM5NTlh
N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9JbWFnZURlY29kZXJHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvSW1hZ2VEZWNvZGVyR1N0cmVhbWVyLmgKQEAgLTc0LDYgKzc0LDkg
QEAgcHVibGljOgogICAgIGJvb2wgaXNBbGxEYXRhUmVjZWl2ZWQoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBtX2VvczsgfQogICAgIHZvaWQgY2xlYXJGcmFtZUJ1ZmZlckNhY2hlKHNpemVfdCkgZmlu
YWw7CiAKKyAgICB2b2lkIHNldEhhc0VPUygpOworICAgIHZvaWQgbm90aWZ5U2FtcGxlKEdSZWZQ
dHI8R3N0U2FtcGxlPiYmKTsKKwogcHJpdmF0ZToKICAgICBjbGFzcyBJbm5lckRlY29kZXIgOiBw
dWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8SW5uZXJEZWNvZGVyPiwgcHVibGljIENhbk1ha2VX
ZWFrUHRyPElubmVyRGVjb2Rlcj4gewogICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
QEAgLTkxLDYgKzk0LDExIEBAIHByaXZhdGU6CiAgICAgICAgICAgICBtX21lbW9yeVN0cmVhbSA9
IGFkb3B0R1JlZihnX21lbW9yeV9pbnB1dF9zdHJlYW1fbmV3X2Zyb21fZGF0YShkYXRhLCBzaXpl
LCBudWxscHRyKSk7CiAgICAgICAgIH0KIAorICAgICAgICB+SW5uZXJEZWNvZGVyKCkKKyAgICAg
ICAgeworICAgICAgICAgICAgZ3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGlwZWxpbmUuZ2V0KCks
IEdTVF9TVEFURV9OVUxMKTsKKyAgICAgICAgfQorCiAgICAgICAgIHZvaWQgcnVuKCk7CiAgICAg
ICAgIEVuY29kZWREYXRhU3RhdHVzIGVuY29kZWREYXRhU3RhdHVzKCkgY29uc3Q7CiAKQEAgLTEx
OSw3ICsxMjcsMTEgQEAgcHJpdmF0ZToKICAgICBPcHRpb25hbDxJbnRTaXplPiBtX3NpemU7CiAg
ICAgU3RyaW5nIG1fbWltZVR5cGU7CiAgICAgUmVmUHRyPEltYWdlRGVjb2RlckdTdHJlYW1lcjo6
SW5uZXJEZWNvZGVyPiBtX2lubmVyRGVjb2RlcjsKKyAgICBDb25kaXRpb24gbV9zYW1wbGVDb25k
aXRpb247CisgICAgTG9jayBtX3NhbXBsZU11dGV4OworICAgIEdSZWZQdHI8R3N0U2FtcGxlPiBt
X3NhbXBsZTsKKyAgICBDb25kaXRpb24gbV9oYW5kbGVyQ29uZGl0aW9uOworICAgIExvY2sgbV9o
YW5kbGVyTXV0ZXg7CiB9OwotCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwYWJjZTc2NDZiOWY3YWM2MmVi
Yjc0NDAzM2UwMjUyY2I2ZDU2OWU0Li42MmU1YjMxZDllMDkwNzg3YTg2NGMwYzRjZTA3YTcwMzkx
MWY3NzA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDctMTcgIFBoaWxpcHBlIE5vcm1h
bmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHU3RyZWFtZXJdIEltYWdlRGVj
b2RlciBoaXRzIG1vcmUgRGVidWcgQVNTRVJUcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0MTkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnM6IFVu
ZmxhZyBuby1sb25nZXItY3Jhc2hpbmcgdGVzdHMuCisKIDIwMjAtMDctMTggIEFsZXhleSBTaHZh
eWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgogCiAgICAgICAgIFJlZGVmaW5pbmcgYSBwcm9w
ZXJ0eSBzaG91bGQgbm90IGNoYW5nZSBpdHMgaW5zZXJ0aW9uIGluZGV4IChPYmplY3Qua2V5cyBv
cmRlcikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA4
MjY3ZDUyY2IyZWJiNjUzNzcwYWFlNDhhM2YyZTk5ZjYzMGU4YTA3Li5kZDUyYmY5ODU2NjY2N2Ex
Y2U0OTBmYWRlY2E4MGY3NDM5Y2ZmYzE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9U
ZXN0RXhwZWN0YXRpb25zCkBAIC0yMDUsMTAgKzIwNSw2IEBAIHdlYmtpdC5vcmcvYi8yMTQwMzEg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1j
b250CiAKIHdlYmtpdC5vcmcvYi8yMDc1NDcgbWVkaWEvbWVkaWEtY2FuLXBsYXktYXYxLmh0bWwg
WyBGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9iLzIxNDE5MSBbIERlYnVnIF0gZmFzdC9pbWFnZXMv
YW5pbWF0ZWQtcG5nLWxvb3AtY291bnQuaHRtbCBbIENyYXNoIF0KLXdlYmtpdC5vcmcvYi8yMTQx
OTEgWyBEZWJ1ZyBdIGh0dHAvdGVzdHMvaW1hZ2VzL2pwZWctcGFydGlhbC1sb2FkLmh0bWwgWyBD
cmFzaCBdCi13ZWJraXQub3JnL2IvMjE0MTkxIFsgRGVidWcgXSBodHRwL3Rlc3RzL2ltYWdlcy9w
bmctcGFydGlhbC1sb2FkLmh0bWwgWyBDcmFzaCBdCi0KICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vCiAjIEVuZCBvZiBHU3RyZWFtZXItcmVsYXRlZCBidWdzCiAjLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404701</attachid>
            <date>2020-07-20 01:40:53 -0700</date>
            <delta_ts>2020-07-20 03:26:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214191-20200720014051.patch</filename>
            <type>text/plain</type>
            <size>9519</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTc4MTM4YTBkNTBjOGY3
MjgyMmY3MzAyODhhNjJjMzcwYWY0ZGYxMC4uZWZjMTIwMzIyMzZmN2ZjM2Q2NmQ1MzgxODZlMjZk
ZGY4YjliYTc2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA3LTE3ICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XSBJbWFnZURlY29kZXIgaGl0cyBtb3JlIERlYnVnIEFTU0VSVHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDE5MQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByb2Nlc3MgZGVjb2RlZCB2aWRlbyBzYW1w
bGVzIGZyb20gdGhlIGRlY29kZXIgcGFyZW50IHRocmVhZCwgaW4gb3JkZXIgdG8gZ3VhcmFudGVl
IHRoZQorICAgICAgICB1bmRlcmx5aW5nIFJlZlB0cnMgc3RvcmVkIGluIHRoZSBJbWFnZURlY29k
ZXJHU3RyZWFtZXJTYW1wbGUga2VlcCBhIGNvbnNpc3RlbnQgb3duaW5nCisgICAgICAgIHJ1bmxv
b3AuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW1hZ2VEZWNvZGVy
R1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2RlckdTdHJlYW1lcjo6
SW5uZXJEZWNvZGVyOjpjb25uZWN0RGVjb2RlclBhZCk6CisgICAgICAgIChXZWJDb3JlOjpJbWFn
ZURlY29kZXJHU3RyZWFtZXI6OnNldEhhc0VPUyk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZURl
Y29kZXJHU3RyZWFtZXI6Om5vdGlmeVNhbXBsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZURl
Y29kZXJHU3RyZWFtZXI6OklubmVyRGVjb2Rlcjo6aGFuZGxlTWVzc2FnZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJbWFnZURlY29kZXJHU3RyZWFtZXI6OnB1c2hFbmNvZGVkRGF0YSk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0ltYWdlRGVjb2RlckdTdHJlYW1lci5oOgor
CiAyMDIwLTA3LTE5ICBMYXVybyBNb3VyYSAgPGxtb3VyYUBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIGZpeCBHVEsgYnVpbGQgaW4gRGViaWFuL0xUUwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0ltYWdlRGVjb2RlckdTdHJl
YW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW1h
Z2VEZWNvZGVyR1N0cmVhbWVyLmNwcAppbmRleCAzMjkzYzJiZjczNDExMDc2MmRmMmQ2OTdlYTJi
NDBkNTY3MmI0NzY4Li5mYjQwMjczNGE5N2Q4ZjhjMzkxNGQzZTZjYmY0MTk4NzNjZDMyMmUwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW1h
Z2VEZWNvZGVyR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvSW1hZ2VEZWNvZGVyR1N0cmVhbWVyLmNwcApAQCAtMjksNiArMjksNyBA
QAogI2luY2x1ZGUgIk1lZGlhU2FtcGxlR1N0cmVhbWVyLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVt
ZW50ZWQuaCIKICNpbmNsdWRlIDxnc3QvYXBwL2dzdGFwcHNpbmsuaD4KKyNpbmNsdWRlIDx3dGYv
TG9jay5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8d3RmL09wdGlv
bmFsLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgpAQCAtMjI4LDEyICsyMjksMTIgQEAg
dm9pZCBJbWFnZURlY29kZXJHU3RyZWFtZXI6OklubmVyRGVjb2Rlcjo6Y29ubmVjdERlY29kZXJQ
YWQoR3N0UGFkKiBwYWQpCiAgICAgICAgIG51bGxwdHIsCiAgICAgICAgIFtdKEdzdEFwcFNpbmsq
IHNpbmssIGdwb2ludGVyIHVzZXJEYXRhKSAtPiBHc3RGbG93UmV0dXJuIHsKICAgICAgICAgICAg
IGF1dG8gc2FtcGxlID0gYWRvcHRHUmVmKGdzdF9hcHBfc2lua190cnlfcHVsbF9wcmVyb2xsKHNp
bmssIDApKTsKLSAgICAgICAgICAgIHN0YXRpY19jYXN0PEltYWdlRGVjb2RlckdTdHJlYW1lcio+
KHVzZXJEYXRhKS0+aGFuZGxlU2FtcGxlKFdURk1vdmUoc2FtcGxlKSk7CisgICAgICAgICAgICBz
dGF0aWNfY2FzdDxJbWFnZURlY29kZXJHU3RyZWFtZXIqPih1c2VyRGF0YSktPm5vdGlmeVNhbXBs
ZShXVEZNb3ZlKHNhbXBsZSkpOwogICAgICAgICAgICAgcmV0dXJuIEdTVF9GTE9XX09LOwogICAg
ICAgICB9LAogICAgICAgICBbXShHc3RBcHBTaW5rKiBzaW5rLCBncG9pbnRlciB1c2VyRGF0YSkg
LT4gR3N0Rmxvd1JldHVybiB7CiAgICAgICAgICAgICBhdXRvIHNhbXBsZSA9IGFkb3B0R1JlZihn
c3RfYXBwX3NpbmtfdHJ5X3B1bGxfc2FtcGxlKHNpbmssIDApKTsKLSAgICAgICAgICAgIHN0YXRp
Y19jYXN0PEltYWdlRGVjb2RlckdTdHJlYW1lcio+KHVzZXJEYXRhKS0+aGFuZGxlU2FtcGxlKFdU
Rk1vdmUoc2FtcGxlKSk7CisgICAgICAgICAgICBzdGF0aWNfY2FzdDxJbWFnZURlY29kZXJHU3Ry
ZWFtZXIqPih1c2VyRGF0YSktPm5vdGlmeVNhbXBsZShXVEZNb3ZlKHNhbXBsZSkpOwogICAgICAg
ICAgICAgcmV0dXJuIEdTVF9GTE9XX09LOwogICAgICAgICB9LAogICAgICAgICB7IG51bGxwdHIg
fQpAQCAtMjUzLDE0ICsyNTQsMzEgQEAgdm9pZCBJbWFnZURlY29kZXJHU3RyZWFtZXI6OklubmVy
RGVjb2Rlcjo6Y29ubmVjdERlY29kZXJQYWQoR3N0UGFkKiBwYWQpCiAgICAgZ3N0X2VsZW1lbnRf
c3luY19zdGF0ZV93aXRoX3BhcmVudChzaW5rKTsKIH0KIAotdm9pZCBJbWFnZURlY29kZXJHU3Ry
ZWFtZXI6OmhhbmRsZVNhbXBsZShHUmVmUHRyPEdzdFNhbXBsZT4mJiBzYW1wbGUpCit2b2lkIElt
YWdlRGVjb2RlckdTdHJlYW1lcjo6c2V0SGFzRU9TKCkKIHsKLSAgICBhdXRvKiBjYXBzID0gZ3N0
X3NhbXBsZV9nZXRfY2FwcyhzYW1wbGUuZ2V0KCkpOwotICAgIEdTVF9ERUJVRygiSGFuZGxpbmcg
c2FtcGxlIHdpdGggY2FwcyAlIiBHU1RfUFRSX0ZPUk1BVCwgY2Fwcyk7Ci0gICAgYXV0byBwcmVz
ZW50YXRpb25TaXplID0gZ2V0VmlkZW9SZXNvbHV0aW9uRnJvbUNhcHMoY2Fwcyk7Ci0gICAgaWYg
KHByZXNlbnRhdGlvblNpemUgJiYgIXByZXNlbnRhdGlvblNpemUtPmlzRW1wdHkoKSAmJiAoIW1f
c2l6ZSB8fCBtX3NpemUgIT0gcm91bmRlZEludFNpemUoKnByZXNlbnRhdGlvblNpemUpKSkKLSAg
ICAgICAgbV9zaXplID0gcm91bmRlZEludFNpemUoKnByZXNlbnRhdGlvblNpemUpOwotICAgIG1f
c2FtcGxlRGF0YS5hZGRTYW1wbGUoSW1hZ2VEZWNvZGVyR1N0cmVhbWVyU2FtcGxlOjpjcmVhdGUo
V1RGTW92ZShzYW1wbGUpLCAqbV9zaXplKSk7CisgICAgR1NUX0RFQlVHKCJFT1Mgb24gZGVjb2Rl
ciAlcCIsIHRoaXMpOworICAgIHsKKyAgICAgICAgTG9ja0hvbGRlciBsb2NrKG1fc2FtcGxlTXV0
ZXgpOworICAgICAgICBtX2VvcyA9IHRydWU7CisgICAgICAgIG1fc2FtcGxlQ29uZGl0aW9uLm5v
dGlmeU9uZSgpOworICAgIH0KKyAgICB7CisgICAgICAgIExvY2tIb2xkZXIgbG9jayhtX2hhbmRs
ZXJNdXRleCk7CisgICAgICAgIG1faGFuZGxlckNvbmRpdGlvbi53YWl0KG1faGFuZGxlck11dGV4
KTsKKyAgICB9Cit9CisKK3ZvaWQgSW1hZ2VEZWNvZGVyR1N0cmVhbWVyOjpub3RpZnlTYW1wbGUo
R1JlZlB0cjxHc3RTYW1wbGU+JiYgc2FtcGxlKQoreworICAgIHsKKyAgICAgICAgTG9ja0hvbGRl
ciBsb2NrKG1fc2FtcGxlTXV0ZXgpOworICAgICAgICBtX3NhbXBsZSA9IFdURk1vdmUoc2FtcGxl
KTsKKyAgICAgICAgbV9zYW1wbGVDb25kaXRpb24ubm90aWZ5T25lKCk7CisgICAgfQorICAgIHsK
KyAgICAgICAgTG9ja0hvbGRlciBsb2NrKG1faGFuZGxlck11dGV4KTsKKyAgICAgICAgbV9oYW5k
bGVyQ29uZGl0aW9uLndhaXQobV9oYW5kbGVyTXV0ZXgpOworICAgIH0KIH0KIAogdm9pZCBJbWFn
ZURlY29kZXJHU3RyZWFtZXI6OklubmVyRGVjb2Rlcjo6aGFuZGxlTWVzc2FnZShHc3RNZXNzYWdl
KiBtZXNzYWdlKQpAQCAtMjcyLDggKzI5MCw3IEBAIHZvaWQgSW1hZ2VEZWNvZGVyR1N0cmVhbWVy
OjpJbm5lckRlY29kZXI6OmhhbmRsZU1lc3NhZ2UoR3N0TWVzc2FnZSogbWVzc2FnZSkKIAogICAg
IHN3aXRjaCAoR1NUX01FU1NBR0VfVFlQRShtZXNzYWdlKSkgewogICAgIGNhc2UgR1NUX01FU1NB
R0VfRU9TOgotICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUobV9waXBlbGluZS5nZXQoKSwg
R1NUX1NUQVRFX05VTEwpOwotICAgICAgICBtX3J1bkxvb3Auc3RvcCgpOworICAgICAgICBtX2Rl
Y29kZXIuc2V0SGFzRU9TKCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgR1NUX01FU1NBR0Vf
V0FSTklORzoKICAgICAgICAgZ3N0X21lc3NhZ2VfcGFyc2Vfd2FybmluZyhtZXNzYWdlLCAmZXJy
b3Iub3V0UHRyKCksICZkZWJ1Zy5vdXRQdHIoKSk7CkBAIC0yODIsOCArMjk5LDcgQEAgdm9pZCBJ
bWFnZURlY29kZXJHU3RyZWFtZXI6OklubmVyRGVjb2Rlcjo6aGFuZGxlTWVzc2FnZShHc3RNZXNz
YWdlKiBtZXNzYWdlKQogICAgIGNhc2UgR1NUX01FU1NBR0VfRVJST1I6CiAgICAgICAgIGdzdF9t
ZXNzYWdlX3BhcnNlX2Vycm9yKG1lc3NhZ2UsICZlcnJvci5vdXRQdHIoKSwgJmRlYnVnLm91dFB0
cigpKTsKICAgICAgICAgZ193YXJuaW5nKCJFcnJvcjogJWQsICVzLiBEZWJ1ZyBvdXRwdXQ6ICVz
IiwgZXJyb3ItPmNvZGUsIGVycm9yLT5tZXNzYWdlLCBkZWJ1Zy5nZXQoKSk7Ci0gICAgICAgIGdz
dF9lbGVtZW50X3NldF9zdGF0ZShtX3BpcGVsaW5lLmdldCgpLCBHU1RfU1RBVEVfTlVMTCk7Ci0g
ICAgICAgIG1fcnVuTG9vcC5zdG9wKCk7CisgICAgICAgIG1fZGVjb2Rlci5zZXRIYXNFT1MoKTsK
ICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJlYWs7CkBAIC0zNTEsOSAr
MzY3LDMyIEBAIHZvaWQgSW1hZ2VEZWNvZGVyR1N0cmVhbWVyOjpwdXNoRW5jb2RlZERhdGEoY29u
c3QgU2hhcmVkQnVmZmVyJiBidWZmZXIpCiAgICAgYXV0byB0aHJlYWQgPSBUaHJlYWQ6OmNyZWF0
ZSgiSW1hZ2VEZWNvZGVyR1N0cmVhbWVyIiwgW3RoaXMsIGRhdGEgPSBidWZmZXIuZGF0YSgpLCBz
aXplID0gYnVmZmVyLnNpemUoKV0gewogICAgICAgICBtX2lubmVyRGVjb2RlciA9IEltYWdlRGVj
b2RlckdTdHJlYW1lcjo6SW5uZXJEZWNvZGVyOjpjcmVhdGUoKnRoaXMsIGRhdGEsIHNpemUpOwog
ICAgICAgICBtX2lubmVyRGVjb2Rlci0+cnVuKCk7Ci0gICAgfSk7Ci0gICAgdGhyZWFkLT53YWl0
Rm9yQ29tcGxldGlvbigpOwotICAgIG1fZW9zID0gdHJ1ZTsKKyAgICB9LCBUaHJlYWRUeXBlOjpH
cmFwaGljcyk7CisgICAgdGhyZWFkLT5kZXRhY2goKTsKKyAgICBib29sIGlzRU9TID0gZmFsc2U7
CisgICAgeworICAgICAgICBMb2NrSG9sZGVyIGxvY2sobV9zYW1wbGVNdXRleCk7CisgICAgICAg
IGlzRU9TID0gbV9lb3M7CisgICAgfQorICAgIHdoaWxlICghaXNFT1MpIHsKKyAgICAgICAgewor
ICAgICAgICAgICAgTG9ja0hvbGRlciBsb2NrKG1fc2FtcGxlTXV0ZXgpOworICAgICAgICAgICAg
bV9zYW1wbGVDb25kaXRpb24ud2FpdChtX3NhbXBsZU11dGV4KTsKKyAgICAgICAgICAgIGlzRU9T
ID0gbV9lb3M7CisgICAgICAgICAgICBpZiAobV9zYW1wbGUpIHsKKyAgICAgICAgICAgICAgICBh
dXRvKiBjYXBzID0gZ3N0X3NhbXBsZV9nZXRfY2FwcyhtX3NhbXBsZS5nZXQoKSk7CisgICAgICAg
ICAgICAgICAgR1NUX0RFQlVHKCJIYW5kbGluZyBzYW1wbGUgd2l0aCBjYXBzICUiIEdTVF9QVFJf
Rk9STUFUICIgb24gZGVjb2RlciAlcCIsIGNhcHMsIHRoaXMpOworICAgICAgICAgICAgICAgIGF1
dG8gcHJlc2VudGF0aW9uU2l6ZSA9IGdldFZpZGVvUmVzb2x1dGlvbkZyb21DYXBzKGNhcHMpOwor
ICAgICAgICAgICAgICAgIGlmIChwcmVzZW50YXRpb25TaXplICYmICFwcmVzZW50YXRpb25TaXpl
LT5pc0VtcHR5KCkgJiYgKCFtX3NpemUgfHwgbV9zaXplICE9IHJvdW5kZWRJbnRTaXplKCpwcmVz
ZW50YXRpb25TaXplKSkpCisgICAgICAgICAgICAgICAgICAgIG1fc2l6ZSA9IHJvdW5kZWRJbnRT
aXplKCpwcmVzZW50YXRpb25TaXplKTsKKyAgICAgICAgICAgICAgICBtX3NhbXBsZURhdGEuYWRk
U2FtcGxlKEltYWdlRGVjb2RlckdTdHJlYW1lclNhbXBsZTo6Y3JlYXRlKFdURk1vdmUobV9zYW1w
bGUpLCAqbV9zaXplKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgeworICAg
ICAgICAgICAgTG9ja0hvbGRlciBsb2NrKG1faGFuZGxlck11dGV4KTsKKyAgICAgICAgICAgIG1f
aGFuZGxlckNvbmRpdGlvbi5ub3RpZnlBbGwoKTsKKyAgICAgICAgfQorICAgIH0KICAgICBtX2lu
bmVyRGVjb2RlciA9IG51bGxwdHI7CiAgICAgY2FsbE9uTWFpblRocmVhZChbdGhpc10gewogICAg
ICAgICBpZiAobV9lbmNvZGVkRGF0YVN0YXR1c0NoYW5nZWRDYWxsYmFjaykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9JbWFnZURlY29kZXJH
U3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9J
bWFnZURlY29kZXJHU3RyZWFtZXIuaAppbmRleCBhNWJjMzlhNThhN2NlNGUzY2UzYTFkN2ZiNzQw
ZTgyNWE0MDZlMDUyLi42ZTJlYTA3OTdiZDNjZmQzZTlkNDUwMDg0OTY4ZThkMzMzOTU5YTdkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW1h
Z2VEZWNvZGVyR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL0ltYWdlRGVjb2RlckdTdHJlYW1lci5oCkBAIC03NCw2ICs3NCw5IEBAIHB1
YmxpYzoKICAgICBib29sIGlzQWxsRGF0YVJlY2VpdmVkKCkgY29uc3QgZmluYWwgeyByZXR1cm4g
bV9lb3M7IH0KICAgICB2b2lkIGNsZWFyRnJhbWVCdWZmZXJDYWNoZShzaXplX3QpIGZpbmFsOwog
CisgICAgdm9pZCBzZXRIYXNFT1MoKTsKKyAgICB2b2lkIG5vdGlmeVNhbXBsZShHUmVmUHRyPEdz
dFNhbXBsZT4mJik7CisKIHByaXZhdGU6CiAgICAgY2xhc3MgSW5uZXJEZWNvZGVyIDogcHVibGlj
IFRocmVhZFNhZmVSZWZDb3VudGVkPElubmVyRGVjb2Rlcj4sIHB1YmxpYyBDYW5NYWtlV2Vha1B0
cjxJbm5lckRlY29kZXI+IHsKICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CkBAIC05
MSw2ICs5NCwxMSBAQCBwcml2YXRlOgogICAgICAgICAgICAgbV9tZW1vcnlTdHJlYW0gPSBhZG9w
dEdSZWYoZ19tZW1vcnlfaW5wdXRfc3RyZWFtX25ld19mcm9tX2RhdGEoZGF0YSwgc2l6ZSwgbnVs
bHB0cikpOwogICAgICAgICB9CiAKKyAgICAgICAgfklubmVyRGVjb2RlcigpCisgICAgICAgIHsK
KyAgICAgICAgICAgIGdzdF9lbGVtZW50X3NldF9zdGF0ZShtX3BpcGVsaW5lLmdldCgpLCBHU1Rf
U1RBVEVfTlVMTCk7CisgICAgICAgIH0KKwogICAgICAgICB2b2lkIHJ1bigpOwogICAgICAgICBF
bmNvZGVkRGF0YVN0YXR1cyBlbmNvZGVkRGF0YVN0YXR1cygpIGNvbnN0OwogCkBAIC0xMTksNyAr
MTI3LDExIEBAIHByaXZhdGU6CiAgICAgT3B0aW9uYWw8SW50U2l6ZT4gbV9zaXplOwogICAgIFN0
cmluZyBtX21pbWVUeXBlOwogICAgIFJlZlB0cjxJbWFnZURlY29kZXJHU3RyZWFtZXI6OklubmVy
RGVjb2Rlcj4gbV9pbm5lckRlY29kZXI7CisgICAgQ29uZGl0aW9uIG1fc2FtcGxlQ29uZGl0aW9u
OworICAgIExvY2sgbV9zYW1wbGVNdXRleDsKKyAgICBHUmVmUHRyPEdzdFNhbXBsZT4gbV9zYW1w
bGU7CisgICAgQ29uZGl0aW9uIG1faGFuZGxlckNvbmRpdGlvbjsKKyAgICBMb2NrIG1faGFuZGxl
ck11dGV4OwogfTsKLQogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjMxNDBhODU4M2FmZDVhMjJjNmIwNzUw
YzBkMmJjYzMwYmM5YjgxOC4uMGYyNzBhNzI1MjViYmJkN2EzNjUxYjVkZjFmNWI2NmJjNWMzZGNj
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA3LTE3ICBQaGlsaXBwZSBOb3JtYW5kICA8
cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVyXSBJbWFnZURlY29kZXIg
aGl0cyBtb3JlIERlYnVnIEFTU0VSVHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxNDE5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zOiBVbmZsYWcg
bm8tbG9uZ2VyLWNyYXNoaW5nIHRlc3RzLgorCiAyMDIwLTA3LTE5ICBMYXVybyBNb3VyYSAgPGxt
b3VyYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gUmVtb3ZlIHNvbWUgZGVwcmVj
YXRlZCBleHBlY3RhdGlvbiBmaWxlcyBhbmQgZ2FyZGVuIGZhaWx1cmVzCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMTNjMTA4ODVjMmUzMDNmMzMyZmY2
ZWFkNWFlNzc1NGIwMWY3YmVlZi4uNTAyYzUyZWYzZTM5ZTU5YjI5NTM0NmI0NmZhMTUxYjNiMjYx
ODc2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
MjE2LDEwICsyMTYsNiBAQCB3ZWJraXQub3JnL2IvMjE0MDMxIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udAogCiB3ZWJraXQub3JnL2Iv
MjA3NTQ3IG1lZGlhL21lZGlhLWNhbi1wbGF5LWF2MS5odG1sIFsgRmFpbHVyZSBdCiAKLXdlYmtp
dC5vcmcvYi8yMTQxOTEgWyBEZWJ1ZyBdIGZhc3QvaW1hZ2VzL2FuaW1hdGVkLXBuZy1sb29wLWNv
dW50Lmh0bWwgWyBDcmFzaCBdCi13ZWJraXQub3JnL2IvMjE0MTkxIFsgRGVidWcgXSBodHRwL3Rl
c3RzL2ltYWdlcy9qcGVnLXBhcnRpYWwtbG9hZC5odG1sIFsgQ3Jhc2ggXQotd2Via2l0Lm9yZy9i
LzIxNDE5MSBbIERlYnVnIF0gaHR0cC90ZXN0cy9pbWFnZXMvcG5nLXBhcnRpYWwtbG9hZC5odG1s
IFsgQ3Jhc2ggXQotCiAjLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIyBFbmQgb2Yg
R1N0cmVhbWVyLXJlbGF0ZWQgYnVncwogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8K
</data>

          </attachment>
      

    </bug>

</bugzilla>