<?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>159412</bug_id>
          
          <creation_ts>2016-07-05 00:51:07 -0700</creation_ts>
          <short_desc>Using dpi unit in sizes attribute raises SIGSEGV</short_desc>
          <delta_ts>2016-07-11 23:31:25 -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>CSS</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>koivisto</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>yoav</cc>
    
    <cc>ysuzuki</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1207766</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2016-07-05 00:51:07 -0700</bug_when>
    <thetext>Using dpi in sizes attribute fails an assertion

BuildBot of Gtk port, Debug build fails

https://build.webkit.org/builders/GTK%20Linux%2064-bit%20Debug%20%28Tests%29/builds/9952

&gt; imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute.html [ Crash ]

Log:

&gt; ASSERTION FAILED: m_ptr
&gt; ../../Source/WTF/wtf/RefPtr.h(68) : WTF::Ref&lt;T&gt; WTF::RefPtr&lt;T&gt;::releaseNonNull() [with T = WebCore::CSSValue]

Callstack:

&gt; #0  0x00007f1db87451e1 in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:323
&gt; #1  0x00007f1dbef02f3c in WTF::RefPtr&lt;WebCore::CSSValue&gt;::releaseNonNull (this=0x7fff894f7d90) at ../../Source/WTF/wtf/RefPtr.h:68
&gt; #2  0x00007f1dbefa9022 in (anonymous namespace)::CSSParser::sourceSize(&lt;unknown type in /home/fujii/work/webkit/w1/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37, CU 0x0, DIE 0xd3361&gt;, (anonymous namespace)::CSSParserValue &amp;) (this=0x7fff894fa4e0, expression=&lt;unknown type in /home/fujii/work/webkit/w1/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37, CU 0x0, DIE 0xd3361&gt;, parserValue=...) at ../../Source/WebCore/css/CSSParser.cpp:1560
&gt; #3  0x00007f1dc02eea7c in cssyyparse (parser=0x7fff894fa4e0) at /home/fujii/work/webkit/w1/WebKitBuild/Debug/DerivedSources/WebCore/CSSGrammar.y:451
&gt; #4  0x00007f1dbefa8d7e in (anonymous namespace)::CSSParser::parseSizesAttribute (this=0x7fff894fa4e0, string=...) at ../../Source/WebCore/css/CSSParser.cpp:1522
&gt; #5  0x00007f1dbf088830 in (anonymous namespace)::parseSizesAttribute (document=..., sizesAttribute=...) at ../../Source/WebCore/css/SourceSizeList.cpp:77
&gt; #6  0x00007f1dbf3eaa9e in (anonymous namespace)::HTMLImageElement::selectImageSource (this=0x7f1d4e5bae40) at ../../Source/WebCore/html/HTMLImageElement.cpp:193
&gt; #7  0x00007f1dbf3eac82 in (anonymous namespace)::HTMLImageElement::parseAttribute (this=0x7f1d4e5bae40, name=..., value=...) at ../../Source/WebCore/html/HTMLImageElement.cpp:206
&gt; #8  0x00007f1dbf1af5a2 in (anonymous namespace)::Element::attributeChanged (this=0x7f1d4e5bae40, name=..., oldValue=..., newValue=...) at ../../Source/WebCore/dom/Element.cpp:1276
&gt; #9  0x00007f1dbf263f8c in (anonymous namespace)::StyledElement::attributeChanged (this=0x7f1d4e5bae40, name=..., oldValue=..., newValue=..., reason=(anonymous namespace)::Element::ModifiedDirectly) at ../../Source/WebCore/dom/StyledElement.cpp:164
&gt; #10 0x00007f1dbf1b000e in (anonymous namespace)::Element::parserSetAttributes (this=0x7f1d4e5bae40, attributeVector=...) at ../../Source/WebCore/dom/Element.cpp:1450
&gt; #11 0x00007f1dbf4fe3f5 in (anonymous namespace)::setAttributes (element=..., attributes=..., parserContentPolicy=(anonymous namespace)::AllowScriptingContent) at ../../Source/WebCore/html/parser/HTMLConstructionSite.cpp:60
&gt; #12 0x00007f1dbf4fe42c in (anonymous namespace)::setAttributes (element=..., token=..., parserContentPolicy=(anonymous namespace)::AllowScriptingContent) at ../../Source/WebCore/html/parser/HTMLConstructionSite.cpp:65
&gt; #13 0x00007f1dbf501a7a in (anonymous namespace)::HTMLConstructionSite::createHTMLElementOrFindCustomElementInterface (this=0x7f1da0893800, token=..., customElementInterface=0x0) at ../../Source/WebCore/html/parser/HTMLConstructionSite.cpp:692
&gt; #14 0x00007f1dbf501b4a in (anonymous namespace)::HTMLConstructionSite::createHTMLElement (this=0x7f1da0893800, token=...) at ../../Source/WebCore/html/parser/HTMLConstructionSite.cpp:699
&gt; #15 0x00007f1dbf500a4a in (anonymous namespace)::HTMLConstructionSite::insertSelfClosingHTMLElement (this=0x7f1da0893800, token=...) at ../../Source/WebCore/html/parser/HTMLConstructionSite.cpp:509
&gt; #16 0x00007f1dbf532a25 in (anonymous namespace)::HTMLTreeBuilder::processStartTagForInBody (this=0x7f1da08937e0, token=...) at ../../Source/WebCore/html/parser/HTMLTreeBuilder.cpp:780
&gt; #17 0x00007f1dbf53494c in (anonymous namespace)::HTMLTreeBuilder::processStartTag (this=0x7f1da08937e0, token=...) at ../../Source/WebCore/html/parser/HTMLTreeBuilder.cpp:1141
&gt; #18 0x00007f1dbf53042b in (anonymous namespace)::HTMLTreeBuilder::processToken (this=0x7f1da08937e0, token=...) at ../../Source/WebCore/html/parser/HTMLTreeBuilder.cpp:381
&gt; #19 0x00007f1dbf530283 in (anonymous namespace)::HTMLTreeBuilder::constructTree (this=0x7f1da08937e0, token=...) at ../../Source/WebCore/html/parser/HTMLTreeBuilder.cpp:351
&gt; #20 0x00007f1dbf507f09 in (anonymous namespace)::HTMLDocumentParser::constructTreeFromHTMLToken (this=0x7f1d4fdda100, rawToken=...) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:324
&gt; #21 0x00007f1dbf507acb in (anonymous namespace)::HTMLDocumentParser::pumpTokenizerLoop (this=0x7f1d4fdda100, mode=(anonymous namespace)::HTMLDocumentParser::AllowYield, parsingFragment=false, session=...) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:264
&gt; #22 0x00007f1dbf507c73 in (anonymous namespace)::HTMLDocumentParser::pumpTokenizer (this=0x7f1d4fdda100, mode=(anonymous namespace)::HTMLDocumentParser::AllowYield) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:282
&gt; #23 0x00007f1dbf50750d in (anonymous namespace)::HTMLDocumentParser::pumpTokenizerIfPossible (this=0x7f1d4fdda100, mode=(anonymous namespace)::HTMLDocumentParser::AllowYield) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:168
&gt; #24 0x00007f1dbf50840e in (anonymous namespace)::HTMLDocumentParser::append(&lt;unknown type in /home/fujii/work/webkit/w1/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37, CU 0x0, DIE 0x3f043&gt;) (this=0x7f1d4fdda100, inputSource=&lt;unknown type in /home/fujii/work/webkit/w1/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37, CU 0x0, DIE 0x3f043&gt;) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:394
&gt; #25 0x00007f1dbf135d23 in (anonymous namespace)::DecodedDataDocumentParser::appendBytes (this=0x7f1d4fdda100, writer=..., data=0x7f1d4fdb5200 &quot;es=&apos;(}) 100vw, 1px&apos;&gt;\n&lt;img srcset=&apos;/images/green-1x1.png?e76 50w, /images/green-16x16.png?e76 51w&apos; sizes=&apos;not (}) 100vw, 1px&apos;&gt;\n&lt;img srcset=&apos;/images/green-1x1.png?e77 50w, /images/green-16x16.png?e77 51&quot;..., length=8192) at ../../Source/WebCore/dom/DecodedDataDocumentParser.cpp:50
&gt; #26 0x00007f1dbf67084d in (anonymous namespace)::DocumentWriter::addData (this=0x7f1d4fdef0a0, bytes=0x7f1d4fdb5200 &quot;es=&apos;(}) 100vw, 1px&apos;&gt;\n&lt;img srcset=&apos;/images/green-1x1.png?e76 50w, /images/green-16x16.png?e76 51w&apos; sizes=&apos;not (}) 100vw, 1px&apos;&gt;\n&lt;img srcset=&apos;/images/green-1x1.png?e77 50w, /images/green-16x16.png?e77 51&quot;..., length=8192) at ../../Source/WebCore/loader/DocumentWriter.cpp:249
&gt; #27 0x00007f1dbf65d60b in (anonymous namespace)::DocumentLoader::commitData (this=0x7f1d4fdef000, bytes=0x7f1d4fdb5200 &quot;es=&apos;(}) 100vw, 1px&apos;&gt;\n&lt;img srcset=&apos;/images/green-1x1.png?e76 50w, /images/green-16x16.png?e76 51w&apos; sizes=&apos;not (}) 100vw, 1px&apos;&gt;\n&lt;img srcset=&apos;/images/green-1x1.png?e77 50w, /images/green-16x16.png?e77 51&quot;..., length=8192) at ../../Source/WebCore/loader/DocumentLoader.cpp:927
&gt; #28 0x00007f1dbe7eb73a in (anonymous namespace)::WebFrameLoaderClient::committedLoad (this=0x1d58350, loader=0x7f1d4fdef000, data=0x7f1d4fdb5200 &quot;es=&apos;(}) 100vw, 1px&apos;&gt;\n&lt;img srcset=&apos;/images/green-1x1.png?e76 50w, /images/green-16x16.png?e76 51w&apos; sizes=&apos;not (}) 100vw, 1px&apos;&gt;\n&lt;img srcset=&apos;/images/green-1x1.png?e77 50w, /images/green-16x16.png?e77 51&quot;..., length=8192) at ../../Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:932
&gt; #29 0x00007f1dbf65d1e0 in (anonymous namespace)::DocumentLoader::commitLoad (this=0x7f1d4fdef000, data=0x7f1d4fdb5200 &quot;es=&apos;(}) 100vw, 1px&apos;&gt;\n&lt;img srcset=&apos;/images/green-1x1.png?e76 50w, /images/green-16x16.png?e76 51w&apos; sizes=&apos;not (}) 100vw, 1px&apos;&gt;\n&lt;img srcset=&apos;/images/green-1x1.png?e77 50w, /images/green-16x16.png?e77 51&quot;..., length=8192) at ../../Source/WebCore/loader/DocumentLoader.cpp:843
&gt; #30 0x00007f1dbf65d861 in (anonymous namespace)::DocumentLoader::dataReceived (this=0x7f1d4fdef000, resource=0x7f1da08f6700, data=0x7f1d4fdb5200 &quot;es=&apos;(}) 100vw, 1px&apos;&gt;\n&lt;img srcset=&apos;/images/green-1x1.png?e76 50w, /images/green-16x16.png?e76 51w&apos; sizes=&apos;not (}) 100vw, 1px&apos;&gt;\n&lt;img srcset=&apos;/images/green-1x1.png?e77 50w, /images/green-16x16.png?e77 51&quot;..., length=8192) at ../../Source/WebCore/loader/DocumentLoader.cpp:955
&gt; #31 0x00007f1dbf718630 in (anonymous namespace)::CachedRawResource::notifyClientsDataWasReceived (this=0x7f1da08f6700, data=0x7f1d4fdb5200 &quot;es=&apos;(}) 100vw, 1px&apos;&gt;\n&lt;img srcset=&apos;/images/green-1x1.png?e76 50w, /images/green-16x16.png?e76 51w&apos; sizes=&apos;not (}) 100vw, 1px&apos;&gt;\n&lt;img srcset=&apos;/images/green-1x1.png?e77 50w, /images/green-16x16.png?e77 51&quot;..., length=8192) at ../../Source/WebCore/loader/cache/CachedRawResource.cpp:119
&gt; #32 0x00007f1dbf718304 in (anonymous namespace)::CachedRawResource::addDataBuffer (this=0x7f1da08f6700, data=...) at ../../Source/WebCore/loader/cache/CachedRawResource.cpp:69
&gt; #33 0x00007f1dbf6cb432 in (anonymous namespace)::SubresourceLoader::didReceiveDataOrBuffer(const char *, int, &lt;unknown type in /home/fujii/work/webkit/w1/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37, CU 0x0, DIE 0x5b13d&gt;, long long, (anonymous namespace)::DataPayloadType) (this=0x7f1d5cbe4b80, data=0x7f1d4fdd3450 &quot;es=&apos;(}) 100vw, 1px&apos;&gt;\n&lt;img srcset=&apos;/images/green-1x1.png?e76 50w, /images/green-16x16.png?e76 51w&apos; sizes=&apos;not (}) 100vw, 1px&apos;&gt;\n&lt;img srcset=&apos;/images/green-1x1.png?e77 50w, /images/green-16x16.png?e77 51&quot;..., length=8192, prpBuffer=&lt;unknown type in /home/fujii/work/webkit/w1/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37, CU 0x0, DIE 0x5b13d&gt;, encodedDataLength=8192, dataPayloadType=(anonymous namespace)::DataPayloadBytes) at ../../Source/WebCore/loader/SubresourceLoader.cpp:333
&gt; #34 0x00007f1dbf6cb18e in (anonymous namespace)::SubresourceLoader::didReceiveData (this=0x7f1d5cbe4b80, data=0x7f1d4fdd3450 &quot;es=&apos;(}) 100vw, 1px&apos;&gt;\n&lt;img srcset=&apos;/images/green-1x1.png?e76 50w, /images/green-16x16.png?e76 51w&apos; sizes=&apos;not (}) 100vw, 1px&apos;&gt;\n&lt;img srcset=&apos;/images/green-1x1.png?e77 50w, /images/green-16x16.png?e77 51&quot;..., length=8192, encodedDataLength=8192, dataPayloadType=(anonymous namespace)::DataPayloadBytes) at ../../Source/WebCore/loader/SubresourceLoader.cpp:309
&gt; #35 0x00007f1dbe7482aa in (anonymous namespace)::WebResourceLoader::didReceiveData (this=0x7f1da08ae6f0, data=..., encodedDataLength=8192) at ../../Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp:144
&gt; #36 0x00007f1dbea7a0a0 in IPC::callMemberFunctionImpl&lt;WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(IPC::DataReference const&amp;, long), std::tuple&lt;IPC::DataReference, long&gt;, 0ul, 1ul&gt;((anonymous namespace)::WebResourceLoader *, void ((anonymous namespace)::WebResourceLoader::*)((anonymous namespace)::WebResourceLoader * const, const IPC::DataReference &amp;, long), &lt;unknown type in /home/fujii/work/webkit/w1/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37, CU 0x0, DIE 0x31fc2&gt;, std::index_sequence) (object=0x7f1da08ae6f0, function=(void ((anonymous namespace)::WebResourceLoader::*)((anonymous namespace)::WebResourceLoader * const, const IPC::DataReference &amp;, long)) 0x7f1dbe7481c4 &lt;(anonymous namespace)::WebResourceLoader::didReceiveData(IPC::DataReference const&amp;, int64_t)&gt;, args=&lt;unknown type in /home/fujii/work/webkit/w1/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37, CU 0x0, DIE 0x31fc2&gt;) at ../../Source/WebKit2/Platform/IPC/HandleMessage.h:16
&gt; #37 0x00007f1dbea799c0 in IPC::callMemberFunction&lt;WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(IPC::DataReference const&amp;, long), std::tuple&lt;IPC::DataReference, long&gt; &gt;(&lt;unknown type in /home/fujii/work/webkit/w1/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37, CU 0x0, DIE 0x31fc2&gt;, (anonymous namespace)::WebResourceLoader *, void ((anonymous namespace)::WebResourceLoader::*)((anonymous namespace)::WebResourceLoader * const, const IPC::DataReference &amp;, long)) (args=&lt;unknown type in /home/fujii/work/webkit/w1/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37, CU 0x0, DIE 0x31fc2&gt;, object=0x7f1da08ae6f0, function=(void ((anonymous namespace)::WebResourceLoader::*)((anonymous namespace)::WebResourceLoader * const, const IPC::DataReference &amp;, long)) 0x7f1dbe7481c4 &lt;(anonymous namespace)::WebResourceLoader::didReceiveData(IPC::DataReference const&amp;, int64_t)&gt;) at ../../Source/WebKit2/Platform/IPC/HandleMessage.h:22
&gt; #38 0x00007f1dbea793a2 in IPC::handleMessage&lt;Messages::WebResourceLoader::DidReceiveData, WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(IPC::DataReference const&amp;, long)&gt; (decoder=..., object=0x7f1da08ae6f0, function=(void ((anonymous namespace)::WebResourceLoader::*)((anonymous namespace)::WebResourceLoader * const, const IPC::DataReference &amp;, long)) 0x7f1dbe7481c4 &lt;(anonymous namespace)::WebResourceLoader::didReceiveData(IPC::DataReference const&amp;, int64_t)&gt;) at ../../Source/WebKit2/Platform/IPC/HandleMessage.h:92
&gt; #39 0x00007f1dbea78bdd in (anonymous namespace)::WebResourceLoader::didReceiveWebResourceLoaderMessage (this=0x7f1da08ae6f0, connection=..., decoder=...) at DerivedSources/WebKit2/WebResourceLoaderMessageReceiver.cpp:58
&gt; #40 0x00007f1dbe73b768 in (anonymous namespace)::NetworkProcessConnection::didReceiveMessage (this=0x7f1da09eb120, connection=..., decoder=...) at ../../Source/WebKit2/WebProcess/Network/NetworkProcessConnection.cpp:58
&gt; #41 0x00007f1dbe432162 in IPC::Connection::dispatchMessage (this=0x7f1da09e71c0, decoder=...) at ../../Source/WebKit2/Platform/IPC/Connection.cpp:887
&gt; #42 0x00007f1dbe4322c6 in IPC::Connection::dispatchMessage (this=0x7f1da09e71c0, message=std::unique_ptr&lt;IPC::MessageDecoder&gt; containing 0x7f1da09e2cc0) at ../../Source/WebKit2/Platform/IPC/Connection.cpp:918
&gt; #43 0x00007f1dbe4324a4 in IPC::Connection::dispatchOneMessage (this=0x7f1da09e71c0) at ../../Source/WebKit2/Platform/IPC/Connection.cpp:949
&gt; #44 0x00007f1dbe432002 in IPC::Connection::&lt;lambda()&gt;::operator()(void) (__closure=0x7f1da094f108) at ../../Source/WebKit2/Platform/IPC/Connection.cpp:881
&gt; #45 0x00007f1dbe436fd6 in WTF::Function&lt;void()&gt;::CallableWrapper&lt;IPC::Connection::enqueueIncomingMessage(std::unique_ptr&lt;IPC::MessageDecoder&gt;)::&lt;lambda()&gt; &gt;::call(void) (this=0x7f1da094f100) at ../../Source/WTF/wtf/Function.h:89
&gt; #46 0x00007f1dbe401317 in WTF::Function&lt;void()&gt;::operator()(void) const (this=0x7fff894fc910) at ../../Source/WTF/wtf/Function.h:50
&gt; #47 0x00007f1db87606ba in WTF::RunLoop::performWork (this=0x7f1da09f9180) at ../../Source/WTF/wtf/RunLoop.cpp:122
&gt; #48 0x00007f1db879b2c2 in WTF::RunLoop::&lt;lambda(gpointer)&gt;::operator()(gpointer) const (__closure=0x0, userData=0x7f1da09f9180) at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:66
&gt; #49 0x00007f1db879b2e6 in WTF::RunLoop::&lt;lambda(gpointer)&gt;::_FUN(gpointer) () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:68
&gt; #50 0x00007f1db879b262 in WTF::&lt;lambda(GSource*, GSourceFunc, gpointer)&gt;::operator()(GSource *, GSourceFunc, gpointer) const (__closure=0x0, source=0x2167510, callback=0x7f1db879b2c9 &lt;WTF::RunLoop::&lt;lambda(gpointer)&gt;::_FUN(gpointer)&gt;, userData=0x7f1da09f9180) at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:44
&gt; #51 0x00007f1db879b291 in WTF::&lt;lambda(GSource*, GSourceFunc, gpointer)&gt;::_FUN(GSource *, GSourceFunc, gpointer) () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:45
&gt; #52 0x00007f1db19fb5f7 in g_main_dispatch () from /home/fujii/work/webkit/w1/WebKitBuild/DependenciesGTK/Root/lib/libglib-2.0.so.0
&gt; #53 0x00007f1db19fc42e in g_main_context_dispatch () from /home/fujii/work/webkit/w1/WebKitBuild/DependenciesGTK/Root/lib/libglib-2.0.so.0
&gt; #54 0x00007f1db19fc612 in g_main_context_iterate () from /home/fujii/work/webkit/w1/WebKitBuild/DependenciesGTK/Root/lib/libglib-2.0.so.0
&gt; #55 0x00007f1db19fca38 in g_main_loop_run () from /home/fujii/work/webkit/w1/WebKitBuild/DependenciesGTK/Root/lib/libglib-2.0.so.0
&gt; #56 0x00007f1db879b842 in WTF::RunLoop::run () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:94
&gt; #57 0x00007f1dbe9e4309 in (anonymous namespace)::ChildProcessMain&lt;WebKit::WebProcess, WebKit::WebProcessMain&gt; (argc=2, argv=0x7fff894fcd48) at ../../Source/WebKit2/Shared/unix/ChildProcessMain.h:61
&gt; #58 0x00007f1dbe9e4170 in (anonymous namespace)::WebProcessMainUnix (argc=2, argv=0x7fff894fcd48) at ../../Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp:78
&gt; #59 0x0000000000400c5a in main (argc=2, argv=0x7fff894fcd48) at ../../Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp:44</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207767</commentid>
    <comment_count>1</comment_count>
      <attachid>282755</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2016-07-05 00:53:09 -0700</bug_when>
    <thetext>Created attachment 282755
simplified test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207772</commentid>
    <comment_count>2</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2016-07-05 01:05:06 -0700</bug_when>
    <thetext>CSSParserValue::createCSSValue returns null for a dpi value.

This code was introduced in:

https://trac.webkit.org/changeset/179476
Bug 141026 – REGRESSION (r170576): Storage leaks in parsing of CSS image sizes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1208035</commentid>
    <comment_count>3</comment_count>
      <attachid>282837</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2016-07-05 19:12:21 -0700</bug_when>
    <thetext>Created attachment 282837
parse-a-sizes-attribute-crash-log.txt

Not only assertion failure, but also crash in release build.

&gt; imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute.html [ Crash ]

https://build.webkit.org/builders/GTK%20Linux%2064-bit%20Release%20%28Tests%29/builds/16838/steps/layout-test/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1208041</commentid>
    <comment_count>4</comment_count>
      <attachid>282840</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2016-07-05 19:30:26 -0700</bug_when>
    <thetext>Created attachment 282840
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1208077</commentid>
    <comment_count>5</comment_count>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2016-07-05 22:31:06 -0700</bug_when>
    <thetext>Debugged this issue and ended up with a local patch that looks very similar to what you came up with. I&apos;m not a Reviewer, but r+ from me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209555</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-07-10 13:44:58 -0700</bug_when>
    <thetext>We also need to check on the status of bug #146434 (Dean?) before unskipping this test, since it wasn&apos;t skipped due to this crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209566</commentid>
    <comment_count>7</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2016-07-10 18:53:52 -0700</bug_when>
    <thetext>H Michael,

Thank you for review my patch.
The build flag PICTURE_SIZES does not exist anymore.
It is always usable for all ports.

  Bug 144679 – Remove the PICTURE_SIZES build flag</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209569</commentid>
    <comment_count>8</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2016-07-10 19:09:54 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt;   Bug 144679 – Remove the PICTURE_SIZES build flag

Sorry. Wrong bug id.

  Bug 150275 – Rename the PICTURE_SIZES flag to CURRENTSRC
  Bug 153545 – Remove ENABLE_CURRENTSRC</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209652</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-07-11 07:43:55 -0700</bug_when>
    <thetext>I am not sure the patch is OK. Seems a bit sloppy to turn any invalid value into CSS_UNKOWN.

What is the correct behavior when this kind of invalid value is specified for a source size? Should it be a parsing error? Should the size be silently omitted from the parsed result?

I looked at the original code before I fixed the storage leak. As far as I can tell, that original code still had the same issue. In the old code a null pointer dereference would happen inside the computeLength function in the SourceSizeList.cpp file.

https://trac.webkit.org/browser/trunk/Source/WebCore/css/SourceSizeList.cpp?rev=176719

Assuming that we want to silently ignore the single size, I think the cleanest way to write the sourceSize function would be to have it return Optional&lt;CSSParser::SourceSize&gt; and return no source size at all when the value is invalid rather than instead using a size with a CSS_UNKNOWN primitive value in it.

The call site in CSSGrammar.y.in could just not append a size in that case.

But I am not sure what the desired behavior is in this error case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209655</commentid>
    <comment_count>10</comment_count>
      <attachid>282840</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-07-11 07:48:36 -0700</bug_when>
    <thetext>Comment on attachment 282840
Patch

It’s OK to land this patch,but I think a follow up might be needed to address the comments I made.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209658</commentid>
    <comment_count>11</comment_count>
      <attachid>282840</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-11 08:09:30 -0700</bug_when>
    <thetext>Comment on attachment 282840
Patch

Clearing flags on attachment: 282840

Committed r203060: &lt;http://trac.webkit.org/changeset/203060&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209659</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-11 08:09:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209662</commentid>
    <comment_count>13</comment_count>
    <who name="Yoav Weiss">yoav</who>
    <bug_when>2016-07-11 08:27:52 -0700</bug_when>
    <thetext>https://html.spec.whatwg.org/multipage/embedded-content.html#parse-a-sizes-attribute has the full algorithm governing the parsing of the sizes attribute.

In this case, we encounter an invalid source-size-value and should skip to the next iteration of the algorithm (so skip to the next source-size/source-size-value).

As you say, returning an Optional from CSSParser::sourceSize for this case and avoiding to add that to the SourceSize vector in source_size_list: would be a better way to handle that scenario.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209953</commentid>
    <comment_count>14</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2016-07-11 23:31:25 -0700</bug_when>
    <thetext>Thank you for reveiw. I confirmed GTK and EFL BuildBot stops crashing at the test case.

(In reply to comment #9)
&gt; I looked at the original code before I fixed the storage leak. As far as I
&gt; can tell, that original code still had the same issue. In the old code a
&gt; null pointer dereference would happen inside the computeLength function in
&gt; the SourceSizeList.cpp file.

Ah, you are right. My comment#2 is wrong.

(In reply to comment #10)
&gt; It’s OK to land this patch,but I think a follow up might be needed to
&gt; address the comments I made.

Filed.

  Bug 159666 – Change CSSParser::sourceSize returning Optional&lt;CSSParser::SourceSize&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>282755</attachid>
            <date>2016-07-05 00:53:09 -0700</date>
            <delta_ts>2016-07-05 00:53:09 -0700</delta_ts>
            <desc>simplified test case</desc>
            <filename>test.html</filename>
            <type>text/html</type>
            <size>44</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">PGltZyBzcmM9YS5wbmcgc3Jjc2V0PSJiLnBuZyIgc2l6ZXM9IjFkcGkiPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>282837</attachid>
            <date>2016-07-05 19:12:21 -0700</date>
            <delta_ts>2016-07-05 19:12:21 -0700</delta_ts>
            <desc>parse-a-sizes-attribute-crash-log.txt</desc>
            <filename>parse-a-sizes-attribute-crash-log.txt</filename>
            <type>text/plain</type>
            <size>15434</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">Y3Jhc2ggbG9nIGZvciBXZWJLaXRXZWJQcm9jZXNzIChwaWQgPHVua25vd24+KToKCltOZXcgTFdQ
IDY1MjM0XQpbTmV3IExXUCA2NTI0M10KW05ldyBMV1AgNjUyNDZdCltOZXcgTFdQIDY1MjU2XQpb
TmV3IExXUCA2NTI1MF0KW05ldyBMV1AgNjUyNDVdCltOZXcgTFdQIDY1MjQ0XQpbVGhyZWFkIGRl
YnVnZ2luZyB1c2luZyBsaWJ0aHJlYWRfZGIgZW5hYmxlZF0KVXNpbmcgaG9zdCBsaWJ0aHJlYWRf
ZGIgbGlicmFyeSAiL2xpYjY0L2xpYnRocmVhZF9kYi5zby4xIi4KQ29yZSB3YXMgZ2VuZXJhdGVk
IGJ5IGAvaG9tZS9mdWppaS93b3JrL3dlYmtpdC93Mi9XZWJLaXRCdWlsZC9SZWxlYXNlL2Jpbi9X
ZWJLaXRXZWJQcm9jZXNzIDEzJy4KUHJvZ3JhbSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFsIFNJR1NF
R1YsIFNlZ21lbnRhdGlvbiBmYXVsdC4KIzAgIDB4MDAwMDdmYWE2NDZlZWI3MiBpbiBXZWJDb3Jl
OjpwYXJzZVNpemVzQXR0cmlidXRlKFdlYkNvcmU6OkRvY3VtZW50JiwgV1RGOjpTdHJpbmdWaWV3
KSAoKSBmcm9tIC9ob21lL2Z1amlpL3dvcmsvd2Via2l0L3cyL1dlYktpdEJ1aWxkL1JlbGVhc2Uv
bGliL2xpYndlYmtpdDJndGstNC4wLnNvLjM3CltDdXJyZW50IHRocmVhZCBpcyAxIChUaHJlYWQg
MHg3ZmFhNjY1NjZhODAgKExXUCA2NTIzNCkpXQoKVGhyZWFkIDcgKFRocmVhZCAweDdmYWEwYjAz
NTcwMCAoTFdQIDY1MjQ0KSk6CiMwICAweDAwMDA3ZmFhNTgzZmMzMmQgaW4gcG9sbCAoKSBmcm9t
IC9saWI2NC9saWJjLnNvLjYKIzEgIDB4MDAwMDdmYWE1ZDMzNWI0ZCBpbiBnX3BvbGwgKCkgZnJv
bSAvaG9tZS9mdWppaS93b3JrL3dlYmtpdC93Mi9XZWJLaXRCdWlsZC9EZXBlbmRlbmNpZXNHVEsv
Um9vdC9saWIvbGliZ2xpYi0yLjAuc28uMAojMiAgMHgwMDAwN2ZhYTVkMzI0YzU0IGluIGdfbWFp
bl9jb250ZXh0X3BvbGwgKCkgZnJvbSAvaG9tZS9mdWppaS93b3JrL3dlYmtpdC93Mi9XZWJLaXRC
dWlsZC9EZXBlbmRlbmNpZXNHVEsvUm9vdC9saWIvbGliZ2xpYi0yLjAuc28uMAojMyAgMHgwMDAw
N2ZhYTVkMzI0NWU3IGluIGdfbWFpbl9jb250ZXh0X2l0ZXJhdGUgKCkgZnJvbSAvaG9tZS9mdWpp
aS93b3JrL3dlYmtpdC93Mi9XZWJLaXRCdWlsZC9EZXBlbmRlbmNpZXNHVEsvUm9vdC9saWIvbGli
Z2xpYi0yLjAuc28uMAojNCAgMHgwMDAwN2ZhYTVkMzI0YTM4IGluIGdfbWFpbl9sb29wX3J1biAo
KSBmcm9tIC9ob21lL2Z1amlpL3dvcmsvd2Via2l0L3cyL1dlYktpdEJ1aWxkL0RlcGVuZGVuY2ll
c0dUSy9Sb290L2xpYi9saWJnbGliLTIuMC5zby4wCiM1ICAweDAwMDA3ZmFhNjJjOGNhMjAgaW4g
V1RGOjpSdW5Mb29wOjpydW4oKSAoKSBmcm9tIC9ob21lL2Z1amlpL3dvcmsvd2Via2l0L3cyL1dl
YktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojNiAg
MHgwMDAwN2ZhYTYyYzhiNzc4IGluIHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCAoKSwgV1RG
OjpXb3JrUXVldWU6OnBsYXRmb3JtSW5pdGlhbGl6ZShjaGFyIGNvbnN0KiwgV1RGOjpXb3JrUXVl
dWU6OlR5cGUsIFdURjo6V29ya1F1ZXVlOjpRT1MpOjp7bGFtYmRhKCkjMX0+OjpfTV9pbnZva2Uo
c3RkOjpfQW55X2RhdGEgY29uc3QmKSAoKSBmcm9tIC9ob21lL2Z1amlpL3dvcmsvd2Via2l0L3cy
L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAoj
NyAgMHgwMDAwN2ZhYTYyYzVjNDU1IGluIFdURjo6dGhyZWFkRW50cnlQb2ludCh2b2lkKikgKCkg
ZnJvbSAvaG9tZS9mdWppaS93b3JrL3dlYmtpdC93Mi9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9s
aWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTgKIzggIDB4MDAwMDdmYWE2MmM4OWJkYSBpbiBX
VEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopICgpIGZyb20gL2hvbWUvZnVqaWkvd29yay93
ZWJraXQvdzIvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4w
LnNvLjE4CiM5ICAweDAwMDA3ZmFhNjE2ZTA1Y2EgaW4gc3RhcnRfdGhyZWFkICgpIGZyb20gL2xp
YjY0L2xpYnB0aHJlYWQuc28uMAojMTAgMHgwMDAwN2ZhYTU4NDA3ZWFkIGluIGNsb25lICgpIGZy
b20gL2xpYjY0L2xpYmMuc28uNgoKVGhyZWFkIDYgKFRocmVhZCAweDdmYWEwYTdlNDcwMCAoTFdQ
IDY1MjQ1KSk6CiMwICAweDAwMDA3ZmFhNTgzZmMzMmQgaW4gcG9sbCAoKSBmcm9tIC9saWI2NC9s
aWJjLnNvLjYKIzEgIDB4MDAwMDdmYWE1ZDMzNWI0ZCBpbiBnX3BvbGwgKCkgZnJvbSAvaG9tZS9m
dWppaS93b3JrL3dlYmtpdC93Mi9XZWJLaXRCdWlsZC9EZXBlbmRlbmNpZXNHVEsvUm9vdC9saWIv
bGliZ2xpYi0yLjAuc28uMAojMiAgMHgwMDAwN2ZhYTVkMzI0YzU0IGluIGdfbWFpbl9jb250ZXh0
X3BvbGwgKCkgZnJvbSAvaG9tZS9mdWppaS93b3JrL3dlYmtpdC93Mi9XZWJLaXRCdWlsZC9EZXBl
bmRlbmNpZXNHVEsvUm9vdC9saWIvbGliZ2xpYi0yLjAuc28uMAojMyAgMHgwMDAwN2ZhYTVkMzI0
NWU3IGluIGdfbWFpbl9jb250ZXh0X2l0ZXJhdGUgKCkgZnJvbSAvaG9tZS9mdWppaS93b3JrL3dl
YmtpdC93Mi9XZWJLaXRCdWlsZC9EZXBlbmRlbmNpZXNHVEsvUm9vdC9saWIvbGliZ2xpYi0yLjAu
c28uMAojNCAgMHgwMDAwN2ZhYTVkMzI0YTM4IGluIGdfbWFpbl9sb29wX3J1biAoKSBmcm9tIC9o
b21lL2Z1amlpL3dvcmsvd2Via2l0L3cyL1dlYktpdEJ1aWxkL0RlcGVuZGVuY2llc0dUSy9Sb290
L2xpYi9saWJnbGliLTIuMC5zby4wCiM1ICAweDAwMDA3ZmFhNjJjOGNhMjAgaW4gV1RGOjpSdW5M
b29wOjpydW4oKSAoKSBmcm9tIC9ob21lL2Z1amlpL3dvcmsvd2Via2l0L3cyL1dlYktpdEJ1aWxk
L1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojNiAgMHgwMDAwN2Zh
YTYyYzhiNzc4IGluIHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCAoKSwgV1RGOjpXb3JrUXVl
dWU6OnBsYXRmb3JtSW5pdGlhbGl6ZShjaGFyIGNvbnN0KiwgV1RGOjpXb3JrUXVldWU6OlR5cGUs
IFdURjo6V29ya1F1ZXVlOjpRT1MpOjp7bGFtYmRhKCkjMX0+OjpfTV9pbnZva2Uoc3RkOjpfQW55
X2RhdGEgY29uc3QmKSAoKSBmcm9tIC9ob21lL2Z1amlpL3dvcmsvd2Via2l0L3cyL1dlYktpdEJ1
aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojNyAgMHgwMDAw
N2ZhYTYyYzVjNDU1IGluIFdURjo6dGhyZWFkRW50cnlQb2ludCh2b2lkKikgKCkgZnJvbSAvaG9t
ZS9mdWppaS93b3JrL3dlYmtpdC93Mi9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJqYXZhc2Ny
aXB0Y29yZWd0ay00LjAuc28uMTgKIzggIDB4MDAwMDdmYWE2MmM4OWJkYSBpbiBXVEY6Ond0ZlRo
cmVhZEVudHJ5UG9pbnQodm9pZCopICgpIGZyb20gL2hvbWUvZnVqaWkvd29yay93ZWJraXQvdzIv
V2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4CiM5
ICAweDAwMDA3ZmFhNjE2ZTA1Y2EgaW4gc3RhcnRfdGhyZWFkICgpIGZyb20gL2xpYjY0L2xpYnB0
aHJlYWQuc28uMAojMTAgMHgwMDAwN2ZhYTU4NDA3ZWFkIGluIGNsb25lICgpIGZyb20gL2xpYjY0
L2xpYmMuc28uNgoKVGhyZWFkIDUgKFRocmVhZCAweDdmYWEwOTIwMDcwMCAoTFdQIDY1MjUwKSk6
CiMwICAweDAwMDA3ZmFhNTgzZmMzMmQgaW4gcG9sbCAoKSBmcm9tIC9saWI2NC9saWJjLnNvLjYK
IzEgIDB4MDAwMDdmYWE1ZDMzNWI0ZCBpbiBnX3BvbGwgKCkgZnJvbSAvaG9tZS9mdWppaS93b3Jr
L3dlYmtpdC93Mi9XZWJLaXRCdWlsZC9EZXBlbmRlbmNpZXNHVEsvUm9vdC9saWIvbGliZ2xpYi0y
LjAuc28uMAojMiAgMHgwMDAwN2ZhYTVkMzI0YzU0IGluIGdfbWFpbl9jb250ZXh0X3BvbGwgKCkg
ZnJvbSAvaG9tZS9mdWppaS93b3JrL3dlYmtpdC93Mi9XZWJLaXRCdWlsZC9EZXBlbmRlbmNpZXNH
VEsvUm9vdC9saWIvbGliZ2xpYi0yLjAuc28uMAojMyAgMHgwMDAwN2ZhYTVkMzI0NWU3IGluIGdf
bWFpbl9jb250ZXh0X2l0ZXJhdGUgKCkgZnJvbSAvaG9tZS9mdWppaS93b3JrL3dlYmtpdC93Mi9X
ZWJLaXRCdWlsZC9EZXBlbmRlbmNpZXNHVEsvUm9vdC9saWIvbGliZ2xpYi0yLjAuc28uMAojNCAg
MHgwMDAwN2ZhYTVkMzI0YTM4IGluIGdfbWFpbl9sb29wX3J1biAoKSBmcm9tIC9ob21lL2Z1amlp
L3dvcmsvd2Via2l0L3cyL1dlYktpdEJ1aWxkL0RlcGVuZGVuY2llc0dUSy9Sb290L2xpYi9saWJn
bGliLTIuMC5zby4wCiM1ICAweDAwMDA3ZmFhNjJjOGNhMjAgaW4gV1RGOjpSdW5Mb29wOjpydW4o
KSAoKSBmcm9tIC9ob21lL2Z1amlpL3dvcmsvd2Via2l0L3cyL1dlYktpdEJ1aWxkL1JlbGVhc2Uv
bGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojNiAgMHgwMDAwN2ZhYTYyYzhiNzc4
IGluIHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCAoKSwgV1RGOjpXb3JrUXVldWU6OnBsYXRm
b3JtSW5pdGlhbGl6ZShjaGFyIGNvbnN0KiwgV1RGOjpXb3JrUXVldWU6OlR5cGUsIFdURjo6V29y
a1F1ZXVlOjpRT1MpOjp7bGFtYmRhKCkjMX0+OjpfTV9pbnZva2Uoc3RkOjpfQW55X2RhdGEgY29u
c3QmKSAoKSBmcm9tIC9ob21lL2Z1amlpL3dvcmsvd2Via2l0L3cyL1dlYktpdEJ1aWxkL1JlbGVh
c2UvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojNyAgMHgwMDAwN2ZhYTYyYzVj
NDU1IGluIFdURjo6dGhyZWFkRW50cnlQb2ludCh2b2lkKikgKCkgZnJvbSAvaG9tZS9mdWppaS93
b3JrL3dlYmtpdC93Mi9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0
ay00LjAuc28uMTgKIzggIDB4MDAwMDdmYWE2MmM4OWJkYSBpbiBXVEY6Ond0ZlRocmVhZEVudHJ5
UG9pbnQodm9pZCopICgpIGZyb20gL2hvbWUvZnVqaWkvd29yay93ZWJraXQvdzIvV2ViS2l0QnVp
bGQvUmVsZWFzZS9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4CiM5ICAweDAwMDA3
ZmFhNjE2ZTA1Y2EgaW4gc3RhcnRfdGhyZWFkICgpIGZyb20gL2xpYjY0L2xpYnB0aHJlYWQuc28u
MAojMTAgMHgwMDAwN2ZhYTU4NDA3ZWFkIGluIGNsb25lICgpIGZyb20gL2xpYjY0L2xpYmMuc28u
NgoKVGhyZWFkIDQgKFRocmVhZCAweDdmYTlmYWJmZjcwMCAoTFdQIDY1MjU2KSk6CiMwICAweDAw
MDA3ZmFhNjE2ZTViZDAgaW4gcHRocmVhZF9jb25kX3dhaXRAQEdMSUJDXzIuMy4yICgpIGZyb20g
L2xpYjY0L2xpYnB0aHJlYWQuc28uMAojMSAgMHgwMDAwN2ZhYTU4YzljYTNjIGluIHN0ZDo6Y29u
ZGl0aW9uX3ZhcmlhYmxlOjp3YWl0KHN0ZDo6dW5pcXVlX2xvY2s8c3RkOjptdXRleD4mKSAoKSBm
cm9tIC9saWI2NC9saWJzdGRjKysuc28uNgojMiAgMHgwMDAwN2ZhYTYyYzU5YTNhIGluIFdURjo6
UGFya2luZ0xvdDo6cGFya0NvbmRpdGlvbmFsbHlJbXBsKHZvaWQgY29uc3QqLCBXVEY6OlNjb3Bl
ZExhbWJkYTxib29sICgpPiBjb25zdCYsIFdURjo6U2NvcGVkTGFtYmRhPHZvaWQgKCk+IGNvbnN0
Jiwgc3RkOjpjaHJvbm86OnRpbWVfcG9pbnQ8c3RkOjpjaHJvbm86Ol9WMjo6c3RlYWR5X2Nsb2Nr
LCBzdGQ6OmNocm9ubzo6ZHVyYXRpb248bG9uZywgc3RkOjpyYXRpbzwxbCwgMTAwMDAwMDAwMGw+
ID4gPikgKCkgZnJvbSAvaG9tZS9mdWppaS93b3JrL3dlYmtpdC93Mi9XZWJLaXRCdWlsZC9SZWxl
YXNlL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTgKIzMgIDB4MDAwMDdmYWE2Mjg4
YWFhZSBpbiBKU0M6OkpJVFdvcmtsaXN0OjpydW5UaHJlYWQoKSAoKSBmcm9tIC9ob21lL2Z1amlp
L3dvcmsvd2Via2l0L3cyL1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3Jl
Z3RrLTQuMC5zby4xOAojNCAgMHgwMDAwN2ZhYTYyODhhZThjIGluIHN0ZDo6X0Z1bmN0aW9uX2hh
bmRsZXI8dm9pZCAoKSwgSlNDOjpKSVRXb3JrbGlzdDo6SklUV29ya2xpc3QoKTo6e2xhbWJkYSgp
IzF9Pjo6X01faW52b2tlKHN0ZDo6X0FueV9kYXRhIGNvbnN0JikgKCkgZnJvbSAvaG9tZS9mdWpp
aS93b3JrL3dlYmtpdC93Mi9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJqYXZhc2NyaXB0Y29y
ZWd0ay00LjAuc28uMTgKIzUgIDB4MDAwMDdmYWE2MmM1YzQ1NSBpbiBXVEY6OnRocmVhZEVudHJ5
UG9pbnQodm9pZCopICgpIGZyb20gL2hvbWUvZnVqaWkvd29yay93ZWJraXQvdzIvV2ViS2l0QnVp
bGQvUmVsZWFzZS9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4CiM2ICAweDAwMDA3
ZmFhNjJjODliZGEgaW4gV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKSAoKSBmcm9tIC9o
b21lL2Z1amlpL3dvcmsvd2Via2l0L3cyL1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYmphdmFz
Y3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojNyAgMHgwMDAwN2ZhYTYxNmUwNWNhIGluIHN0YXJ0X3Ro
cmVhZCAoKSBmcm9tIC9saWI2NC9saWJwdGhyZWFkLnNvLjAKIzggIDB4MDAwMDdmYWE1ODQwN2Vh
ZCBpbiBjbG9uZSAoKSBmcm9tIC9saWI2NC9saWJjLnNvLjYKClRocmVhZCAzIChUaHJlYWQgMHg3
ZmFhMDliZmY3MDAgKExXUCA2NTI0NikpOgojMCAgMHgwMDAwN2ZhYTYxNmU5NGFkIGluIG5hbm9z
bGVlcCAoKSBmcm9tIC9saWI2NC9saWJwdGhyZWFkLnNvLjAKIzEgIDB4MDAwMDdmYWE2MmM5MGY4
ZCBpbiBibWFsbG9jOjpIZWFwOjpzY2F2ZW5nZShzdGQ6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6OlN0
YXRpY011dGV4PiYsIHN0ZDo6Y2hyb25vOjpkdXJhdGlvbjxsb25nLCBzdGQ6OnJhdGlvPDFsLCAx
MDAwbD4gPikgKCkgZnJvbSAvaG9tZS9mdWppaS93b3JrL3dlYmtpdC93Mi9XZWJLaXRCdWlsZC9S
ZWxlYXNlL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTgKIzIgIDB4MDAwMDdmYWE2
MmM5MTAyZiBpbiBibWFsbG9jOjpIZWFwOjpjb25jdXJyZW50U2NhdmVuZ2UoKSAoKSBmcm9tIC9o
b21lL2Z1amlpL3dvcmsvd2Via2l0L3cyL1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYmphdmFz
Y3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojMyAgMHgwMDAwN2ZhYTYyYzkyOGNlIGluIGJtYWxsb2M6
OkFzeW5jVGFzazxibWFsbG9jOjpIZWFwLCB2b2lkIChibWFsbG9jOjpIZWFwOjoqKSgpPjo6dGhy
ZWFkUnVuTG9vcCgpICgpIGZyb20gL2hvbWUvZnVqaWkvd29yay93ZWJraXQvdzIvV2ViS2l0QnVp
bGQvUmVsZWFzZS9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4CiM0ICAweDAwMDA3
ZmFhNThjYTJhYWYgaW4gPz8gKCkgZnJvbSAvbGliNjQvbGlic3RkYysrLnNvLjYKIzUgIDB4MDAw
MDdmYWE2MTZlMDVjYSBpbiBzdGFydF90aHJlYWQgKCkgZnJvbSAvbGliNjQvbGlicHRocmVhZC5z
by4wCiM2ICAweDAwMDA3ZmFhNTg0MDdlYWQgaW4gY2xvbmUgKCkgZnJvbSAvbGliNjQvbGliYy5z
by42CgpUaHJlYWQgMiAoVGhyZWFkIDB4N2ZhYTBiODg2NzAwIChMV1AgNjUyNDMpKToKIzAgIDB4
MDAwMDdmYWE1ODNmYzMyZCBpbiBwb2xsICgpIGZyb20gL2xpYjY0L2xpYmMuc28uNgojMSAgMHgw
MDAwN2ZhYTVkMzM1YjRkIGluIGdfcG9sbCAoKSBmcm9tIC9ob21lL2Z1amlpL3dvcmsvd2Via2l0
L3cyL1dlYktpdEJ1aWxkL0RlcGVuZGVuY2llc0dUSy9Sb290L2xpYi9saWJnbGliLTIuMC5zby4w
CiMyICAweDAwMDA3ZmFhNWQzMjRjNTQgaW4gZ19tYWluX2NvbnRleHRfcG9sbCAoKSBmcm9tIC9o
b21lL2Z1amlpL3dvcmsvd2Via2l0L3cyL1dlYktpdEJ1aWxkL0RlcGVuZGVuY2llc0dUSy9Sb290
L2xpYi9saWJnbGliLTIuMC5zby4wCiMzICAweDAwMDA3ZmFhNWQzMjQ1ZTcgaW4gZ19tYWluX2Nv
bnRleHRfaXRlcmF0ZSAoKSBmcm9tIC9ob21lL2Z1amlpL3dvcmsvd2Via2l0L3cyL1dlYktpdEJ1
aWxkL0RlcGVuZGVuY2llc0dUSy9Sb290L2xpYi9saWJnbGliLTIuMC5zby4wCiM0ICAweDAwMDA3
ZmFhNWQzMjRhMzggaW4gZ19tYWluX2xvb3BfcnVuICgpIGZyb20gL2hvbWUvZnVqaWkvd29yay93
ZWJraXQvdzIvV2ViS2l0QnVpbGQvRGVwZW5kZW5jaWVzR1RLL1Jvb3QvbGliL2xpYmdsaWItMi4w
LnNvLjAKIzUgIDB4MDAwMDdmYWE2MmM4Y2EyMCBpbiBXVEY6OlJ1bkxvb3A6OnJ1bigpICgpIGZy
b20gL2hvbWUvZnVqaWkvd29yay93ZWJraXQvdzIvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGli
amF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4CiM2ICAweDAwMDA3ZmFhNjJjOGI3NzggaW4gc3Rk
OjpfRnVuY3Rpb25faGFuZGxlcjx2b2lkICgpLCBXVEY6OldvcmtRdWV1ZTo6cGxhdGZvcm1Jbml0
aWFsaXplKGNoYXIgY29uc3QqLCBXVEY6OldvcmtRdWV1ZTo6VHlwZSwgV1RGOjpXb3JrUXVldWU6
OlFPUyk6OntsYW1iZGEoKSMxfT46Ol9NX2ludm9rZShzdGQ6Ol9BbnlfZGF0YSBjb25zdCYpICgp
IGZyb20gL2hvbWUvZnVqaWkvd29yay93ZWJraXQvdzIvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIv
bGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4CiM3ICAweDAwMDA3ZmFhNjJjNWM0NTUgaW4g
V1RGOjp0aHJlYWRFbnRyeVBvaW50KHZvaWQqKSAoKSBmcm9tIC9ob21lL2Z1amlpL3dvcmsvd2Vi
a2l0L3cyL1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5z
by4xOAojOCAgMHgwMDAwN2ZhYTYyYzg5YmRhIGluIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCh2
b2lkKikgKCkgZnJvbSAvaG9tZS9mdWppaS93b3JrL3dlYmtpdC93Mi9XZWJLaXRCdWlsZC9SZWxl
YXNlL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTgKIzkgIDB4MDAwMDdmYWE2MTZl
MDVjYSBpbiBzdGFydF90aHJlYWQgKCkgZnJvbSAvbGliNjQvbGlicHRocmVhZC5zby4wCiMxMCAw
eDAwMDA3ZmFhNTg0MDdlYWQgaW4gY2xvbmUgKCkgZnJvbSAvbGliNjQvbGliYy5zby42CgpUaHJl
YWQgMSAoVGhyZWFkIDB4N2ZhYTY2NTY2YTgwIChMV1AgNjUyMzQpKToKIzAgIDB4MDAwMDdmYWE2
NDZlZWI3MiBpbiBXZWJDb3JlOjpwYXJzZVNpemVzQXR0cmlidXRlKFdlYkNvcmU6OkRvY3VtZW50
JiwgV1RGOjpTdHJpbmdWaWV3KSAoKSBmcm9tIC9ob21lL2Z1amlpL3dvcmsvd2Via2l0L3cyL1dl
YktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYndlYmtpdDJndGstNC4wLnNvLjM3CiMxICAweDAwMDA3
ZmFhNjQ5MzI3YmYgaW4gV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6c2VsZWN0SW1hZ2VTb3Vy
Y2UoKSAoKSBmcm9tIC9ob21lL2Z1amlpL3dvcmsvd2Via2l0L3cyL1dlYktpdEJ1aWxkL1JlbGVh
c2UvbGliL2xpYndlYmtpdDJndGstNC4wLnNvLjM3CiMyICAweDAwMDA3ZmFhNjQ5MzI5YjAgaW4g
V2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoV2ViQ29yZTo6UXVhbGlm
aWVkTmFtZSBjb25zdCYsIFdURjo6QXRvbWljU3RyaW5nIGNvbnN0JikgKCkgZnJvbSAvaG9tZS9m
dWppaS93b3JrL3dlYmtpdC93Mi9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJ3ZWJraXQyZ3Rr
LTQuMC5zby4zNwojMyAgMHgwMDAwN2ZhYTY0NzhjYTNjIGluIFdlYkNvcmU6OkVsZW1lbnQ6OmF0
dHJpYnV0ZUNoYW5nZWQoV2ViQ29yZTo6UXVhbGlmaWVkTmFtZSBjb25zdCYsIFdURjo6QXRvbWlj
U3RyaW5nIGNvbnN0JiwgV1RGOjpBdG9taWNTdHJpbmcgY29uc3QmLCBXZWJDb3JlOjpFbGVtZW50
OjpBdHRyaWJ1dGVNb2RpZmljYXRpb25SZWFzb24pICgpIGZyb20gL2hvbWUvZnVqaWkvd29yay93
ZWJraXQvdzIvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGlid2Via2l0Mmd0ay00LjAuc28uMzcK
IzQgIDB4MDAwMDdmYWE2NDc4ODMyNiBpbiBXZWJDb3JlOjpFbGVtZW50OjpwYXJzZXJTZXRBdHRy
aWJ1dGVzKFdURjo6VmVjdG9yPFdlYkNvcmU6OkF0dHJpYnV0ZSwgMHVsLCBXVEY6OkNyYXNoT25P
dmVyZmxvdywgMTZ1bD4gY29uc3QmKSAoKSBmcm9tIC9ob21lL2Z1amlpL3dvcmsvd2Via2l0L3cy
L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYndlYmtpdDJndGstNC4wLnNvLjM3CiM1ICAweDAw
MDA3ZmFhNjQ5ZTYzNTUgaW4gV2ViQ29yZTo6SFRNTENvbnN0cnVjdGlvblNpdGU6OmNyZWF0ZUhU
TUxFbGVtZW50T3JGaW5kQ3VzdG9tRWxlbWVudEludGVyZmFjZShXZWJDb3JlOjpBdG9taWNIVE1M
VG9rZW4mLCBXZWJDb3JlOjpKU0N1c3RvbUVsZW1lbnRJbnRlcmZhY2UqKikgKCkgZnJvbSAvaG9t
ZS9mdWppaS93b3JrL3dlYmtpdC93Mi9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJ3ZWJraXQy
Z3RrLTQuMC5zby4zNwojNiAgMHgwMDAwN2ZhYTY0OWU2NDkyIGluIFdlYkNvcmU6OkhUTUxDb25z
dHJ1Y3Rpb25TaXRlOjpjcmVhdGVIVE1MRWxlbWVudChXZWJDb3JlOjpBdG9taWNIVE1MVG9rZW4m
KSAoKSBmcm9tIC9ob21lL2Z1amlpL3dvcmsvd2Via2l0L3cyL1dlYktpdEJ1aWxkL1JlbGVhc2Uv
bGliL2xpYndlYmtpdDJndGstNC4wLnNvLjM3CiM3ICAweDAwMDA3ZmFhNjQ5ZTk3NjYgaW4gV2Vi
Q29yZTo6SFRNTENvbnN0cnVjdGlvblNpdGU6Omluc2VydFNlbGZDbG9zaW5nSFRNTEVsZW1lbnQo
V2ViQ29yZTo6QXRvbWljSFRNTFRva2VuJikgKCkgZnJvbSAvaG9tZS9mdWppaS93b3JrL3dlYmtp
dC93Mi9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJ3ZWJraXQyZ3RrLTQuMC5zby4zNwojOCAg
MHgwMDAwN2ZhYTY0YTFlNDJmIGluIFdlYkNvcmU6OkhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc1N0
YXJ0VGFnRm9ySW5Cb2R5KFdlYkNvcmU6OkF0b21pY0hUTUxUb2tlbiYpICgpIGZyb20gL2hvbWUv
ZnVqaWkvd29yay93ZWJraXQvdzIvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGlid2Via2l0Mmd0
ay00LjAuc28uMzcKIzkgIDB4MDAwMDdmYWE2NGExOTlkYSBpbiBXZWJDb3JlOjpIVE1MVHJlZUJ1
aWxkZXI6OnByb2Nlc3NTdGFydFRhZyhXZWJDb3JlOjpBdG9taWNIVE1MVG9rZW4mKSAoKSBmcm9t
IC9ob21lL2Z1amlpL3dvcmsvd2Via2l0L3cyL1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYndl
YmtpdDJndGstNC4wLnNvLjM3CiMxMCAweDAwMDA3ZmFhNjRhMWYzNWQgaW4gV2ViQ29yZTo6SFRN
TFRyZWVCdWlsZGVyOjpjb25zdHJ1Y3RUcmVlKFdlYkNvcmU6OkF0b21pY0hUTUxUb2tlbiYpICgp
IGZyb20gL2hvbWUvZnVqaWkvd29yay93ZWJraXQvdzIvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIv
bGlid2Via2l0Mmd0ay00LjAuc28uMzcKIzExIDB4MDAwMDdmYWE2NDllZTFhMCBpbiBXZWJDb3Jl
OjpIVE1MRG9jdW1lbnRQYXJzZXI6OmNvbnN0cnVjdFRyZWVGcm9tSFRNTFRva2VuKFdlYkNvcmU6
OkhUTUxUb2tlbml6ZXI6OlRva2VuUHRyJikgKCkgZnJvbSAvaG9tZS9mdWppaS93b3JrL3dlYmtp
dC93Mi9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJ3ZWJraXQyZ3RrLTQuMC5zby4zNwojMTIg
MHgwMDAwN2ZhYTY0OWVlOGMxIGluIFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6cHVtcFRv
a2VuaXplckxvb3AoV2ViQ29yZTo6SFRNTERvY3VtZW50UGFyc2VyOjpTeW5jaHJvbm91c01vZGUs
IGJvb2wsIFdlYkNvcmU6OlB1bXBTZXNzaW9uJikgKCkgZnJvbSAvaG9tZS9mdWppaS93b3JrL3dl
YmtpdC93Mi9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJ3ZWJraXQyZ3RrLTQuMC5zby4zNwoj
MTMgMHgwMDAwN2ZhYTY0OWVlYzVlIGluIFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6cHVt
cFRva2VuaXplcihXZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6OlN5bmNocm9ub3VzTW9kZSkg
KCkgZnJvbSAvaG9tZS9mdWppaS93b3JrL3dlYmtpdC93Mi9XZWJLaXRCdWlsZC9SZWxlYXNlL2xp
Yi9saWJ3ZWJraXQyZ3RrLTQuMC5zby4zNwojMTQgMHgwMDAwN2ZhYTY0OWYwMTNhIGluIFdlYkNv
cmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6YXBwZW5kKFdURjo6UmVmUHRyPFdURjo6U3RyaW5nSW1w
bD4mJikgKCkgZnJvbSAvaG9tZS9mdWppaS93b3JrL3dlYmtpdC93Mi9XZWJLaXRCdWlsZC9SZWxl
YXNlL2xpYi9saWJ3ZWJraXQyZ3RrLTQuMC5zby4zNwojMTUgMHgwMDAwN2ZhYTY0NzRkNGJhIGlu
IFdlYkNvcmU6OkRlY29kZWREYXRhRG9jdW1lbnRQYXJzZXI6OmFwcGVuZEJ5dGVzKFdlYkNvcmU6
OkRvY3VtZW50V3JpdGVyJiwgY2hhciBjb25zdCosIHVuc2lnbmVkIGxvbmcpICgpIGZyb20gL2hv
bWUvZnVqaWkvd29yay93ZWJraXQvdzIvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGlid2Via2l0
Mmd0ay00LjAuc28uMzcKIzE2IDB4MDAwMDdmYWE2NGFkZjNmMiBpbiBXZWJDb3JlOjpEb2N1bWVu
dExvYWRlcjo6Y29tbWl0RGF0YShjaGFyIGNvbnN0KiwgdW5zaWduZWQgbG9uZykgKCkgZnJvbSAv
aG9tZS9mdWppaS93b3JrL3dlYmtpdC93Mi9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJ3ZWJr
aXQyZ3RrLTQuMC5zby4zNwojMTcgMHgwMDAwN2ZhYTY0MjExNTRlIGluIFdlYktpdDo6V2ViRnJh
bWVMb2FkZXJDbGllbnQ6OmNvbW1pdHRlZExvYWQoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqLCBj
aGFyIGNvbnN0KiwgaW50KSAoKSBmcm9tIC9ob21lL2Z1amlpL3dvcmsvd2Via2l0L3cyL1dlYktp
dEJ1aWxkL1JlbGVhc2UvbGliL2xpYndlYmtpdDJndGstNC4wLnNvLjM3CiMxOCAweDAwMDA3ZmFh
NjRhZTE3NTYgaW4gV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmNvbW1pdExvYWQoY2hhciBjb25z
dCosIGludCkgKCkgZnJvbSAvaG9tZS9mdWppaS93b3JrL3dlYmtpdC93Mi9XZWJLaXRCdWlsZC9S
ZWxlYXNlL2xpYi9saWJ3ZWJraXQyZ3RrLTQuMC5zby4zNwojMTkgMHgwMDAwN2ZhYTY0YjhiMjVh
IGluIFdlYkNvcmU6OkNhY2hlZFJhd1Jlc291cmNlOjpub3RpZnlDbGllbnRzRGF0YVdhc1JlY2Vp
dmVkKGNoYXIgY29uc3QqLCB1bnNpZ25lZCBpbnQpICgpIGZyb20gL2hvbWUvZnVqaWkvd29yay93
ZWJraXQvdzIvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGlid2Via2l0Mmd0ay00LjAuc28uMzcK
IzIwIDB4MDAwMDdmYWE2NGI4ZDJhNCBpbiBXZWJDb3JlOjpDYWNoZWRSYXdSZXNvdXJjZTo6YWRk
RGF0YUJ1ZmZlcihXZWJDb3JlOjpTaGFyZWRCdWZmZXImKSAoKSBmcm9tIC9ob21lL2Z1amlpL3dv
cmsvd2Via2l0L3cyL1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYndlYmtpdDJndGstNC4wLnNv
LjM3CiMyMSAweDAwMDA3ZmFhNjRiNDgzYmMgaW4gV2ViQ29yZTo6U3VicmVzb3VyY2VMb2FkZXI6
OmRpZFJlY2VpdmVEYXRhT3JCdWZmZXIoY2hhciBjb25zdCosIGludCwgV1RGOjpSZWZQdHI8V2Vi
Q29yZTo6U2hhcmVkQnVmZmVyPiYmLCBsb25nIGxvbmcsIFdlYkNvcmU6OkRhdGFQYXlsb2FkVHlw
ZSkgKCkgZnJvbSAvaG9tZS9mdWppaS93b3JrL3dlYmtpdC93Mi9XZWJLaXRCdWlsZC9SZWxlYXNl
L2xpYi9saWJ3ZWJraXQyZ3RrLTQuMC5zby4zNwojMjIgMHgwMDAwN2ZhYTY0YjQ4NGNiIGluIFdl
YkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlRGF0YShjaGFyIGNvbnN0KiwgdW5z
aWduZWQgaW50LCBsb25nIGxvbmcsIFdlYkNvcmU6OkRhdGFQYXlsb2FkVHlwZSkgKCkgZnJvbSAv
aG9tZS9mdWppaS93b3JrL3dlYmtpdC93Mi9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJ3ZWJr
aXQyZ3RrLTQuMC5zby4zNwojMjMgMHgwMDAwN2ZhYTY0MzZkOWEzIGluIFdlYktpdDo6V2ViUmVz
b3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2UoSVBDOjpDb25u
ZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpICgpIGZyb20gL2hvbWUvZnVqaWkvd29yay93
ZWJraXQvdzIvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGlid2Via2l0Mmd0ay00LjAuc28uMzcK
IzI0IDB4MDAwMDdmYWE2NDA1ZWU5NiBpbiBJUEM6OkNvbm5lY3Rpb246OmRpc3BhdGNoTWVzc2Fn
ZShzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRGVjb2Rlciwgc3RkOjpkZWZhdWx0X2RlbGV0
ZTxJUEM6Ok1lc3NhZ2VEZWNvZGVyPiA+KSAoKSBmcm9tIC9ob21lL2Z1amlpL3dvcmsvd2Via2l0
L3cyL1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYndlYmtpdDJndGstNC4wLnNvLjM3CiMyNSAw
eDAwMDA3ZmFhNjQwNWY4YzMgaW4gSVBDOjpDb25uZWN0aW9uOjpkaXNwYXRjaE9uZU1lc3NhZ2Uo
KSAoKSBmcm9tIC9ob21lL2Z1amlpL3dvcmsvd2Via2l0L3cyL1dlYktpdEJ1aWxkL1JlbGVhc2Uv
bGliL2xpYndlYmtpdDJndGstNC4wLnNvLjM3CiMyNiAweDAwMDA3ZmFhNjJjNWI2MmQgaW4gV1RG
OjpSdW5Mb29wOjpwZXJmb3JtV29yaygpICgpIGZyb20gL2hvbWUvZnVqaWkvd29yay93ZWJraXQv
dzIvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4
CiMyNyAweDAwMDA3ZmFhNjJjOGMxNjkgaW4gV1RGOjpSdW5Mb29wOjpSdW5Mb29wKCk6OntsYW1i
ZGEodm9pZCopIzF9OjpfRlVOKHZvaWQqKSAoKSBmcm9tIC9ob21lL2Z1amlpL3dvcmsvd2Via2l0
L3cyL1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4x
OAojMjggMHgwMDAwN2ZhYTVkMzIzNWY3IGluIGdfbWFpbl9kaXNwYXRjaCAoKSBmcm9tIC9ob21l
L2Z1amlpL3dvcmsvd2Via2l0L3cyL1dlYktpdEJ1aWxkL0RlcGVuZGVuY2llc0dUSy9Sb290L2xp
Yi9saWJnbGliLTIuMC5zby4wCiMyOSAweDAwMDA3ZmFhNWQzMjQ0MmUgaW4gZ19tYWluX2NvbnRl
eHRfZGlzcGF0Y2ggKCkgZnJvbSAvaG9tZS9mdWppaS93b3JrL3dlYmtpdC93Mi9XZWJLaXRCdWls
ZC9EZXBlbmRlbmNpZXNHVEsvUm9vdC9saWIvbGliZ2xpYi0yLjAuc28uMAojMzAgMHgwMDAwN2Zh
YTVkMzI0NjEyIGluIGdfbWFpbl9jb250ZXh0X2l0ZXJhdGUgKCkgZnJvbSAvaG9tZS9mdWppaS93
b3JrL3dlYmtpdC93Mi9XZWJLaXRCdWlsZC9EZXBlbmRlbmNpZXNHVEsvUm9vdC9saWIvbGliZ2xp
Yi0yLjAuc28uMAojMzEgMHgwMDAwN2ZhYTVkMzI0YTM4IGluIGdfbWFpbl9sb29wX3J1biAoKSBm
cm9tIC9ob21lL2Z1amlpL3dvcmsvd2Via2l0L3cyL1dlYktpdEJ1aWxkL0RlcGVuZGVuY2llc0dU
Sy9Sb290L2xpYi9saWJnbGliLTIuMC5zby4wCiMzMiAweDAwMDA3ZmFhNjJjOGNhMjAgaW4gV1RG
OjpSdW5Mb29wOjpydW4oKSAoKSBmcm9tIC9ob21lL2Z1amlpL3dvcmsvd2Via2l0L3cyL1dlYktp
dEJ1aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojMzMgMHgw
MDAwN2ZhYTY0MzI4NjgyIGluIGludCBXZWJLaXQ6OkNoaWxkUHJvY2Vzc01haW48V2ViS2l0OjpX
ZWJQcm9jZXNzLCBXZWJLaXQ6OldlYlByb2Nlc3NNYWluPihpbnQsIGNoYXIqKikgKCkgZnJvbSAv
aG9tZS9mdWppaS93b3JrL3dlYmtpdC93Mi9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJ3ZWJr
aXQyZ3RrLTQuMC5zby4zNwojMzQgMHgwMDAwN2ZhYTU4MzI1NzMxIGluIF9fbGliY19zdGFydF9t
YWluICgpIGZyb20gL2xpYjY0L2xpYmMuc28uNgojMzUgMHgwMDAwMDAwMDAwNDAwYjk5IGluIF9z
dGFydCAoKQoKU1RERVJSOiAKU1RERVJSOiB3YXJuaW5nOiBjb3JlIGZpbGUgbWF5IG5vdCBtYXRj
aCBzcGVjaWZpZWQgZXhlY3V0YWJsZSBmaWxlLgpTVERFUlI6IDxlbXB0eT4=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282840</attachid>
            <date>2016-07-05 19:30:26 -0700</date>
            <delta_ts>2016-07-11 08:09:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159412-20160705222954.patch</filename>
            <type>text/plain</type>
            <size>7632</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjhkYzM0ZmQzMWM4NzQy
NTcwNTM2NDA3ZDBjODdhOWJmNDNkMmVkYS4uOGZiOWVhMDE0NmI5NzVjMzNhNmIwNmIwYWI3YzM2
OTVhMWJmY2VlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE2LTA3LTA1ICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFVzaW5nIGRw
aSB1bml0IGluIHNpemVzIGF0dHJpYnV0ZSByYWlzZXMgU0lHU0VHVgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5NDEyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ1NTUGFyc2VyOjpzb3VyY2VTaXplIHJl
dHVybnMgYSBpbnZhbGlkIENTU1BhcnNlcjo6U291cmNlU2l6ZQorICAgICAgICB3aG9zZSBsZW5n
dGggaXMgYSBudWxsIHZhbHVlIGZvciBhIGRwaSB1bml0IHZhbHVlLiAgQmVjYXVzZQorICAgICAg
ICBDU1NQYXJzZXJWYWx1ZTo6Y3JlYXRlQ1NTVmFsdWUgcmV0dXJucyBudWxsIGZvciBhIGRwaSB2
YWx1ZS4KKworICAgICAgICBUZXN0czoKKyAgICAgICAgICAgIGZhc3QvZG9tL0hUTUxJbWFnZUVs
ZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtaW52YWxpZHMuaHRtbAorICAgICAgICAgICAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50
L3RoZS1pbWctZWxlbWVudC9zaXplcy9wYXJzZS1hLXNpemVzLWF0dHJpYnV0ZS5odG1sCisKKyAg
ICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6
c291cmNlU2l6ZSk6IENyZWF0ZSBhIENTU1ByaW1pdGl2ZVZhbHVlIG9mCisgICAgICAgIENTU19V
TktOT1dOIGlmIENTU1BhcnNlclZhbHVlOjpjcmVhdGVDU1NWYWx1ZSByZXR1cm5zIG51bGwuCisK
IDIwMTYtMDctMDUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IFJlbW92ZSBDcmVkZW50aWFsUmVxdWVzdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlci5jcHAKaW5kZXggMmQ3MjIzMjFmNzJiYTRkYzhmYTM4MDFjYjM4NGRlZGRhZGE1
MWZjMC4uNjg3MjQzNWNkYzhjMDYwZTM4ZWQwNDM4M2ZkNWNkYjJhMzYwMjMyNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlci5jcHAKQEAgLTE1NTIsOCArMTU1MiwxMSBAQCBDU1NQYXJzZXI6OlNvdXJj
ZVNpemUgQ1NTUGFyc2VyOjpzb3VyY2VTaXplKE1lZGlhUXVlcnlFeHByZXNzaW9uJiYgZXhwcmVz
c2lvbiwgQwogICAgICAgICBpZiAoYXJncyAmJiBhcmdzLT5zaXplKCkpCiAgICAgICAgICAgICB2
YWx1ZSA9IENTU0NhbGNWYWx1ZTo6Y3JlYXRlKHBhcnNlclZhbHVlLmZ1bmN0aW9uLT5uYW1lLCAq
YXJncywgQ2FsY3VsYXRpb25SYW5nZU5vbk5lZ2F0aXZlKTsKICAgICB9Ci0gICAgaWYgKCF2YWx1
ZSkKKyAgICBpZiAoIXZhbHVlKSB7CiAgICAgICAgIHZhbHVlID0gcGFyc2VyVmFsdWUuY3JlYXRl
Q1NTVmFsdWUoKTsKKyAgICAgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAgICAgIHZhbHVlID0gQ1NT
UHJpbWl0aXZlVmFsdWU6OmNyZWF0ZSgwLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1VOS05PV04p
OworICAgIH0KICAgICBkZXN0cm95KHBhcnNlclZhbHVlKTsKICAgICAvLyBGSVhNRTogQ2FsbGlu
ZyB0aGUgY29uc3RydWN0b3IgZXhwbGljaXRseSBoZXJlIHRvIHdvcmsgYXJvdW5kIGFuIE1TVkMg
YnVnLgogICAgIC8vIEZvciBvdGhlciBjb21waWxlcnMsIHdlIGRpZCBub3QgbmVlZCB0byBkZWZp
bmUgdGhlIGNvbnN0cnVjdG9ycyBhbmQgd2UgY291bGQgdXNlIGFnZ3JlZ2F0ZSBpbml0aWFsaXph
dGlvbiBzeW50YXguCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmNkZmNlODkwYjY2OTI0OGFmZWJlNTVhNWExMTdjZjQyMTc1
NTQ2Zi4uNzVkNmU0Y2Q0YzEzNzA4ZTllM2U1MmUxZGIwODZkOTI4OWU0NGRhYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDE2LTA3LTA1ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlp
QHNvbnkuY29tPgorCisgICAgICAgIFVzaW5nIGRwaSB1bml0IGluIHNpemVzIGF0dHJpYnV0ZSBy
YWlzZXMgU0lHU0VHVgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTU5NDEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOiBVbnNraXAgZmFzdC9kb20vSFRNTEltYWdlRWxlbWVu
dC9zaXplcy4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdl
LXNpemVzLWludmFsaWRzLWV4cGVjdGVkLnR4dDogVXBkYXRlZC4KKyAgICAgICAgKiBmYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLWludmFsaWRzLmh0bWw6IEFkZGVk
IGEgZHBpIHVuaXQgdGVzdCBjYXNlLgorICAgICAgICBSZW51bWJlcmluZyBlbGVtZW50IElEcy4K
KwogMjAxNi0wNy0wNSAgRnJlZGVyaWMgV2FuZyAgPGZ3YW5nQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgVW5za2lwIG1hdGhtbC9wcmVzZW50YXRpb24vZnJhY3Rpb25zLWJveC5odG1sCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucwppbmRleCA1MmRmOGVmY2FkYTE5ZmU4MThiZjA5NDJkNzNiZGYzZjllODMxMDU1Li5l
NjFkMmQ0MWRlMGI2YjM5MmM4NzdhZTRmOGIyZDVkYjE2YmRlZTM1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTcxMSw4ICs3MTEsNiBAQCBmYXN0L2ltYWdlcy9naWYtbG9vcC1jb3VudC5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8xNDYxODIgZWRpdGluZy9zZWxlY3Rp
b24vbGVhay1kb2N1bWVudC13aXRoLXNlbGVjdGlvbi1pbnNpZGUuaHRtbCBbIFBhc3MgRmFpbHVy
ZSBdCiAKLXdlYmtpdC5vcmcvYi8xNDY0MzQgZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXpl
cyBbIFNraXAgXQotCiAjIE1lZGlhIFNlc3Npb25zIGlzIG5vdCB5ZXQgZW5hYmxlZCBieSBkZWZh
dWx0OiBFTkFCTEUoTUVESUFfU0VTU0lPTikKIG1lZGlhL3Nlc3Npb24gWyBTa2lwIF0KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFn
ZS1zaXplcy1pbnZhbGlkcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
SW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLWludmFsaWRzLWV4cGVjdGVkLnR4dAppbmRl
eCAyNGU0MDE4Mjc4MGNkMjhjMjkyZDM2NGUzOGU1NTI4OTQ2ZGZmOGYwLi45OWE2ZjU4YWVhY2Rm
Zjc2ODFhODUyMGZmNDdmMDdhNjE2MzA3MjYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLWludmFsaWRzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2lt
YWdlLXNpemVzLWludmFsaWRzLWV4cGVjdGVkLnR4dApAQCAtMTAsNyArMTAsMTMgQEAgUEFTUyBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpLmNsaWVudFdpZHRoIGlzIDgwMAogUEFT
UyBjdXJyZW50U3JjRmlsZU5hbWUoZWxlbWVudElkKSBpcyAiaW1hZ2Utc2V0LTJ4LnBuZyIKIFBB
U1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKS5jbGllbnRXaWR0aCBpcyA4MDAK
IFBBU1MgY3VycmVudFNyY0ZpbGVOYW1lKGVsZW1lbnRJZCkgaXMgImltYWdlLXNldC0yeC5wbmci
CitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCkuY2xpZW50V2lkdGggaXMg
ODAwCitQQVNTIGN1cnJlbnRTcmNGaWxlTmFtZShlbGVtZW50SWQpIGlzICJpbWFnZS1zZXQtMngu
cG5nIgorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpLmNsaWVudFdpZHRo
IGlzIDgwMAorUEFTUyBjdXJyZW50U3JjRmlsZU5hbWUoZWxlbWVudElkKSBpcyAiaW1hZ2Utc2V0
LTJ4LnBuZyIKK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKS5jbGllbnRX
aWR0aCBpcyA4MDAKK1BBU1MgY3VycmVudFNyY0ZpbGVOYW1lKGVsZW1lbnRJZCkgaXMgImltYWdl
LXNldC0yeC5wbmciCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09N
UExFVEUKLSAgICAgICAKKyAgICAgICAgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLWludmFsaWRzLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLWludmFs
aWRzLmh0bWwKaW5kZXggOTIxNWFiYzA1NzdmZmVjODUxNWEzYWJiOTFjNWE1YTQ1MDIzNGI1OC4u
NjIwMWU3Y2MxNTg3ZTU0ZTQ4ZDVjM2Y5YTFkN2NlZTU3NzM0NmMwYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy1pbnZh
bGlkcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6
ZXMvaW1hZ2Utc2l6ZXMtaW52YWxpZHMuaHRtbApAQCAtNyw3ICs3LDcgQEAKIAogICAgIHZhciBl
bGVtZW50SWQ7CiAgICAgYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uKCkgewotICAg
ICAgICBmb3IgKHZhciBpID0gMTsgaSA8IDc7ICsraSkgeworICAgICAgICBmb3IgKHZhciBpID0g
MTsgaSA8PSA5OyArK2kpIHsKICAgICAgICAgICAgIGVsZW1lbnRJZCA9ICJjcmFzaCIgKyBpOwog
ICAgICAgICAgICAgc2hvdWxkQmUoJ2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCku
Y2xpZW50V2lkdGgnLCAnODAwJyk7CiAgICAgICAgICAgICBzaG91bGRCZSgnY3VycmVudFNyY0Zp
bGVOYW1lKGVsZW1lbnRJZCknLCAnImltYWdlLXNldC0yeC5wbmciJyk7CkBAIC0xNiwxMCArMTYs
MTEgQEAKIDwvc2NyaXB0PgogPCEtLSBjcmFzaCB0ZXN0cyAtLT4KIDxpbWcgaWQ9ImNyYXNoMSIg
c2l6ZXM9IjFxIiBzcmNzZXQ9Ii4uLy4uLy4uL2hpZHBpL3Jlc291cmNlcy9pbWFnZS1zZXQtMngu
cG5nIDgwMHcsIC4uL3Jlc291cmNlcy9pbWFnZS1zZXQtNHgucG5nIDE2MDAwdyI+Ci08aW1nIGlk
PSJjcmFzaDEiIHNpemVzPSIxcHhsbGxsIiBzcmNzZXQ9Ii4uLy4uLy4uL2hpZHBpL3Jlc291cmNl
cy9pbWFnZS1zZXQtMngucG5nIDgwMHcsIC4uL3Jlc291cmNlcy9pbWFnZS1zZXQtNHgucG5nIDE2
MDAwdyI+Ci08aW1nIGlkPSJjcmFzaDIiIHNpemVzPSIxZGZzZGY0NTM0ZmRkZCIgc3Jjc2V0PSIu
Li8uLi8uLi9oaWRwaS9yZXNvdXJjZXMvaW1hZ2Utc2V0LTJ4LnBuZyA4MDB3LCAuLi9yZXNvdXJj
ZXMvaW1hZ2Utc2V0LTR4LnBuZyAxNjAwMHciPgotPGltZyBpZD0iY3Jhc2gzIiBzaXplcz0iY2Fs
YygpIiBzcmNzZXQ9Ii4uLy4uLy4uL2hpZHBpL3Jlc291cmNlcy9pbWFnZS1zZXQtMngucG5nIDgw
MHcsIC4uL3Jlc291cmNlcy9pbWFnZS1zZXQtNHgucG5nIDE2MDAwdyI+Ci08aW1nIGlkPSJjcmFz
aDQiIHNpemVzPSJjYWxjKDNxKSIgc3Jjc2V0PSIuLi8uLi8uLi9oaWRwaS9yZXNvdXJjZXMvaW1h
Z2Utc2V0LTJ4LnBuZyA4MDB3LCAuLi9yZXNvdXJjZXMvaW1hZ2Utc2V0LTR4LnBuZyAxNjAwMHci
PgotPGltZyBpZD0iY3Jhc2g0IiBzaXplcz0iY2FsY3NzZGZmKCkiIHNyY3NldD0iLi4vLi4vLi4v
aGlkcGkvcmVzb3VyY2VzL2ltYWdlLXNldC0yeC5wbmcgODAwdywgLi4vcmVzb3VyY2VzL2ltYWdl
LXNldC00eC5wbmcgMTYwMDB3Ij4KLTxpbWcgaWQ9ImNyYXNoNSIgc2l6ZXM9ImNhbGMoMnB4K2Rm
bWpic2YsLCxza2lka2spIiBzcmNzZXQ9Ii4uLy4uLy4uL2hpZHBpL3Jlc291cmNlcy9pbWFnZS1z
ZXQtMngucG5nIDgwMHcsIC4uL3Jlc291cmNlcy9pbWFnZS1zZXQtNHgucG5nIDE2MDAwdyI+Ci08
aW1nIGlkPSJjcmFzaDYiIHNpemVzPSJjYWxjKDJweCtkZm1qYnNmLCwsc2tpZGtrKSArIDJweCwg
NTZweCIgc3Jjc2V0PSIuLi8uLi8uLi9oaWRwaS9yZXNvdXJjZXMvaW1hZ2Utc2V0LTJ4LnBuZyA4
MDB3LCAuLi9yZXNvdXJjZXMvaW1hZ2Utc2V0LTR4LnBuZyAxNjAwMHciPgorPGltZyBpZD0iY3Jh
c2gyIiBzaXplcz0iMXB4bGxsbCIgc3Jjc2V0PSIuLi8uLi8uLi9oaWRwaS9yZXNvdXJjZXMvaW1h
Z2Utc2V0LTJ4LnBuZyA4MDB3LCAuLi9yZXNvdXJjZXMvaW1hZ2Utc2V0LTR4LnBuZyAxNjAwMHci
PgorPGltZyBpZD0iY3Jhc2gzIiBzaXplcz0iMWRmc2RmNDUzNGZkZGQiIHNyY3NldD0iLi4vLi4v
Li4vaGlkcGkvcmVzb3VyY2VzL2ltYWdlLXNldC0yeC5wbmcgODAwdywgLi4vcmVzb3VyY2VzL2lt
YWdlLXNldC00eC5wbmcgMTYwMDB3Ij4KKzxpbWcgaWQ9ImNyYXNoNCIgc2l6ZXM9ImNhbGMoKSIg
c3Jjc2V0PSIuLi8uLi8uLi9oaWRwaS9yZXNvdXJjZXMvaW1hZ2Utc2V0LTJ4LnBuZyA4MDB3LCAu
Li9yZXNvdXJjZXMvaW1hZ2Utc2V0LTR4LnBuZyAxNjAwMHciPgorPGltZyBpZD0iY3Jhc2g1IiBz
aXplcz0iY2FsYygzcSkiIHNyY3NldD0iLi4vLi4vLi4vaGlkcGkvcmVzb3VyY2VzL2ltYWdlLXNl
dC0yeC5wbmcgODAwdywgLi4vcmVzb3VyY2VzL2ltYWdlLXNldC00eC5wbmcgMTYwMDB3Ij4KKzxp
bWcgaWQ9ImNyYXNoNiIgc2l6ZXM9ImNhbGNzc2RmZigpIiBzcmNzZXQ9Ii4uLy4uLy4uL2hpZHBp
L3Jlc291cmNlcy9pbWFnZS1zZXQtMngucG5nIDgwMHcsIC4uL3Jlc291cmNlcy9pbWFnZS1zZXQt
NHgucG5nIDE2MDAwdyI+Cis8aW1nIGlkPSJjcmFzaDciIHNpemVzPSJjYWxjKDJweCtkZm1qYnNm
LCwsc2tpZGtrKSIgc3Jjc2V0PSIuLi8uLi8uLi9oaWRwaS9yZXNvdXJjZXMvaW1hZ2Utc2V0LTJ4
LnBuZyA4MDB3LCAuLi9yZXNvdXJjZXMvaW1hZ2Utc2V0LTR4LnBuZyAxNjAwMHciPgorPGltZyBp
ZD0iY3Jhc2g4IiBzaXplcz0iY2FsYygycHgrZGZtamJzZiwsLHNraWRraykgKyAycHgsIDU2cHgi
IHNyY3NldD0iLi4vLi4vLi4vaGlkcGkvcmVzb3VyY2VzL2ltYWdlLXNldC0yeC5wbmcgODAwdywg
Li4vcmVzb3VyY2VzL2ltYWdlLXNldC00eC5wbmcgMTYwMDB3Ij4KKzxpbWcgaWQ9ImNyYXNoOSIg
c2l6ZXM9IjFkcGkiIHNyY3NldD0iLi4vLi4vLi4vaGlkcGkvcmVzb3VyY2VzL2ltYWdlLXNldC0y
eC5wbmcgODAwdywgLi4vcmVzb3VyY2VzL2ltYWdlLXNldC00eC5wbmcgMTYwMDB3Ij4K
</data>

          </attachment>
      

    </bug>

</bugzilla>