<?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>135601</bug_id>
          
          <creation_ts>2014-08-05 02:41:48 -0700</creation_ts>
          <short_desc>ASSERTION FAILED: !m_regionsInvalidated in WebCore::RenderFlowThread::regionAtBlockOffset</short_desc>
          <delta_ts>2016-12-08 10:20:35 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>116980</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Renata Hodovan">rhodovan.u-szeged</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>achicu</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>hyatt</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>WebkitBugTracker</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1026825</commentid>
    <comment_count>0</comment_count>
      <attachid>236022</attachid>
    <who name="Renata Hodovan">rhodovan.u-szeged</who>
    <bug_when>2014-08-05 02:41:48 -0700</bug_when>
    <thetext>Created attachment 236022
Test case

The failing test case:

&lt;style&gt;
*  {
    display:table;
    -webkit-columns:2;
}
&lt;/style&gt;
&lt;textarea placeholder=&quot;a&quot;&gt;


Backtrace:

ASSERTION FAILED: !m_regionsInvalidated
../../Source/WebCore/rendering/RenderFlowThread.cpp(396) : virtual WebCore::RenderRegion* WebCore::RenderFlowThread::regionAtBlockOffset(const WebCore::RenderBox*, WebCore::LayoutUnit, bool, WebCore::RenderFlowThread::RegionAutoGenerationPolicy)

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff97334700 (LWP 24858)]
0x00007ffff30191c8 in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:329
329	    *(int *)(uintptr_t)0xbbadbeef = 0;
#0  0x00007ffff30191c8 in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:329
#1  0x00007ffff3e07b1a in WebCore::RenderFlowThread::regionAtBlockOffset (this=0x79b760, clampBox=0x7a5c30, offset=..., extendLastRegion=false, autoGenerationPolicy=WebCore::RenderFlowThread::AllowRegionAutoGeneration) at ../../Source/WebCore/rendering/RenderFlowThread.cpp:396
#2  0x00007ffff3ea6c15 in WebCore::RenderMultiColumnFlowThread::regionAtBlockOffset (this=0x79b760, box=0x7a5c30, offset=..., extendLastRegion=false, autoGenerationPolicy=WebCore::RenderFlowThread::AllowRegionAutoGeneration) at ../../Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp:520
#3  0x00007ffff3ea6ba4 in WebCore::RenderMultiColumnFlowThread::updateMinimumPageHeight (this=0x79b760, block=0x7a5c30, offset=..., minHeight=...) at ../../Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp:513
#4  0x00007ffff3d807fa in WebCore::RenderBlockFlow::updateMinimumPageHeight (this=0x7a5c30, offset=..., minHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:1814
#5  0x00007ffff3d7f936 in WebCore::RenderBlockFlow::adjustLinePositionForPagination (this=0x7a5c30, lineBox=0x7a7d80, delta=..., overflowsRegion=@0x7fffffff9ffc: false, flowThread=0x79b760) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:1649
#6  0x00007ffff3d9559a in WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange (this=0x7a5c30, layoutState=..., resolver=..., cleanLineStart=..., cleanLineBidiStatus=..., consecutiveHyphenatedLines=0) at ../../Source/WebCore/rendering/RenderBlockLineLayout.cpp:1138
#7  0x00007ffff3d94b58 in WebCore::RenderBlockFlow::layoutRunsAndFloats (this=0x7a5c30, layoutState=..., hasInlineChild=true) at ../../Source/WebCore/rendering/RenderBlockLineLayout.cpp:1025
#8  0x00007ffff3d97223 in WebCore::RenderBlockFlow::layoutLineBoxes (this=0x7a5c30, relayoutChildren=true, repaintLogicalTop=..., repaintLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockLineLayout.cpp:1442
#9  0x00007ffff3d7b54e in WebCore::RenderBlockFlow::layoutInlineChildren (this=0x7a5c30, relayoutChildren=true, repaintLogicalTop=..., repaintLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:652
#10 0x00007ffff3d7a934 in WebCore::RenderBlockFlow::layoutBlock (this=0x7a5c30, relayoutChildren=true, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:483
#11 0x00007ffff3d50987 in WebCore::RenderBlock::layout (this=0x7a5c30) at ../../Source/WebCore/rendering/RenderBlock.cpp:1018
#12 0x00007ffff3d1ddd7 in WebCore::RenderElement::layoutIfNeeded (this=0x7a5c30) at ../../Source/WebCore/rendering/RenderElement.h:102
#13 0x00007ffff3f1754a in WebCore::RenderTextControlMultiLine::layoutSpecialExcludedChild (this=0x9974f0, relayoutChildren=true) at ../../Source/WebCore/rendering/RenderTextControlMultiLine.cpp:115
#14 0x00007ffff3d7b338 in WebCore::RenderBlockFlow::layoutBlockChildren (this=0x9974f0, relayoutChildren=true, maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:604
#15 0x00007ffff3d7a958 in WebCore::RenderBlockFlow::layoutBlock (this=0x9974f0, relayoutChildren=true, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:485
#16 0x00007ffff3d50987 in WebCore::RenderBlock::layout (this=0x9974f0) at ../../Source/WebCore/rendering/RenderBlock.cpp:1018
#17 0x00007ffff3d7b918 in WebCore::RenderBlockFlow::layoutBlockChild (this=0x787de0, child=..., marginInfo=..., previousFloatLogicalBottom=..., maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:713
#18 0x00007ffff3d7b45a in WebCore::RenderBlockFlow::layoutBlockChildren (this=0x787de0, relayoutChildren=true, maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:632
#19 0x00007ffff3d7a958 in WebCore::RenderBlockFlow::layoutBlock (this=0x787de0, relayoutChildren=true, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:485
#20 0x00007ffff3ef1947 in WebCore::RenderTableCell::layout (this=0x787de0) at ../../Source/WebCore/rendering/RenderTableCell.cpp:258
#21 0x00007ffff3ef949f in WebCore::RenderTableRow::layout (this=0x77e710) at ../../Source/WebCore/rendering/RenderTableRow.cpp:176
#22 0x00007ffff3d1ddd7 in WebCore::RenderElement::layoutIfNeeded (this=0x77e710) at ../../Source/WebCore/rendering/RenderElement.h:102
#23 0x00007ffff3efb760 in WebCore::RenderTableSection::layout (this=0x9db3c0) at ../../Source/WebCore/rendering/RenderTableSection.cpp:420
#24 0x00007ffff3d1ddd7 in WebCore::RenderElement::layoutIfNeeded (this=0x9db3c0) at ../../Source/WebCore/rendering/RenderElement.h:102
#25 0x00007ffff3ee5f72 in WebCore::RenderTable::layout (this=0x9acef0) at ../../Source/WebCore/rendering/RenderTable.cpp:466
#26 0x00007ffff3d7b918 in WebCore::RenderBlockFlow::layoutBlockChild (this=0x79ba90, child=..., marginInfo=..., previousFloatLogicalBottom=..., maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:713
#27 0x00007ffff3d7b45a in WebCore::RenderBlockFlow::layoutBlockChildren (this=0x79ba90, relayoutChildren=true, maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:632
#28 0x00007ffff3d7a958 in WebCore::RenderBlockFlow::layoutBlock (this=0x79ba90, relayoutChildren=true, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:485
#29 0x00007ffff3ef1947 in WebCore::RenderTableCell::layout (this=0x79ba90) at ../../Source/WebCore/rendering/RenderTableCell.cpp:258
#30 0x00007ffff3ef949f in WebCore::RenderTableRow::layout (this=0x8c0db0) at ../../Source/WebCore/rendering/RenderTableRow.cpp:176
#31 0x00007ffff3d1ddd7 in WebCore::RenderElement::layoutIfNeeded (this=0x8c0db0) at ../../Source/WebCore/rendering/RenderElement.h:102
#32 0x00007ffff3efb760 in WebCore::RenderTableSection::layout (this=0x79b590) at ../../Source/WebCore/rendering/RenderTableSection.cpp:420
#33 0x00007ffff3d1ddd7 in WebCore::RenderElement::layoutIfNeeded (this=0x79b590) at ../../Source/WebCore/rendering/RenderElement.h:102
#34 0x00007ffff3ee5f72 in WebCore::RenderTable::layout (this=0x8e6d00) at ../../Source/WebCore/rendering/RenderTable.cpp:466
#35 0x00007ffff3d7b918 in WebCore::RenderBlockFlow::layoutBlockChild (this=0x87b280, child=..., marginInfo=..., previousFloatLogicalBottom=..., maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:713
#36 0x00007ffff3d7b45a in WebCore::RenderBlockFlow::layoutBlockChildren (this=0x87b280, relayoutChildren=true, maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:632
#37 0x00007ffff3d7a958 in WebCore::RenderBlockFlow::layoutBlock (this=0x87b280, relayoutChildren=true, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:485
#38 0x00007ffff3d50987 in WebCore::RenderBlock::layout (this=0x87b280) at ../../Source/WebCore/rendering/RenderBlock.cpp:1018
#39 0x00007ffff3f28aad in WebCore::RenderView::layoutContent (this=0x87b280, state=...) at ../../Source/WebCore/rendering/RenderView.cpp:232
#40 0x00007ffff3f29166 in WebCore::RenderView::layout (this=0x87b280) at ../../Source/WebCore/rendering/RenderView.cpp:357
#41 0x00007ffff3acf1f4 in WebCore::FrameView::layout (this=0xa0e750, allowSubtree=true) at ../../Source/WebCore/page/FrameView.cpp:1282
#42 0x00007ffff353f72f in WebCore::Document::implicitClose (this=0xa0f4f0) at ../../Source/WebCore/dom/Document.cpp:2438
#43 0x00007ffff399e745 in WebCore::FrameLoader::checkCallImplicitClose (this=0x8ae008) at ../../Source/WebCore/loader/FrameLoader.cpp:898
#44 0x00007ffff399e4f0 in WebCore::FrameLoader::checkCompleted (this=0x8ae008) at ../../Source/WebCore/loader/FrameLoader.cpp:844
#45 0x00007ffff399e278 in WebCore::FrameLoader::finishedParsing (this=0x8ae008) at ../../Source/WebCore/loader/FrameLoader.cpp:764
#46 0x00007ffff35470db in WebCore::Document::finishedParsing (this=0xa0f4f0) at ../../Source/WebCore/dom/Document.cpp:4519
#47 0x00007ffff383a805 in WebCore::HTMLConstructionSite::finishedParsing (this=0xa19de8) at ../../Source/WebCore/html/parser/HTMLConstructionSite.cpp:395
#48 0x00007ffff3874c57 in WebCore::HTMLTreeBuilder::finished (this=0xa19dd0) at ../../Source/WebCore/html/parser/HTMLTreeBuilder.cpp:2997
#49 0x00007ffff38423a0 in WebCore::HTMLDocumentParser::end (this=0x808b50) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:451
#50 0x00007ffff384248b in WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd (this=0x808b50) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:462
#51 0x00007ffff3840ff9 in WebCore::HTMLDocumentParser::prepareToStopParsing (this=0x808b50) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:165
#52 0x00007ffff38424ce in WebCore::HTMLDocumentParser::attemptToEnd (this=0x808b50) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:474
#53 0x00007ffff3842585 in WebCore::HTMLDocumentParser::finish (this=0x808b50) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:502
#54 0x00007ffff3991445 in WebCore::DocumentWriter::end (this=0x7a2ab0) at ../../Source/WebCore/loader/DocumentWriter.cpp:250
#55 0x00007ffff397e49b in WebCore::DocumentLoader::finishedLoading (this=0x7a2a10, finishTime=0) at ../../Source/WebCore/loader/DocumentLoader.cpp:441
#56 0x00007ffff397e204 in WebCore::DocumentLoader::notifyFinished (this=0x7a2a10, resource=0x839540) at ../../Source/WebCore/loader/DocumentLoader.cpp:375
#57 0x00007ffff3a24a99 in WebCore::CachedResource::checkNotify (this=0x839540) at ../../Source/WebCore/loader/cache/CachedResource.cpp:334
#58 0x00007ffff3a24b80 in WebCore::CachedResource::finishLoading (this=0x839540) at ../../Source/WebCore/loader/cache/CachedResource.cpp:350
#59 0x00007ffff3a21b3a in WebCore::CachedRawResource::finishLoading (this=0x839540, data=0x6fbfe0) at ../../Source/WebCore/loader/cache/CachedRawResource.cpp:98
#60 0x00007ffff39d87da in WebCore::SubresourceLoader::didFinishLoading (this=0x839aa0, finishTime=0) at ../../Source/WebCore/loader/SubresourceLoader.cpp:310
#61 0x00007ffff39d4cc7 in WebCore::ResourceLoader::didFinishLoading (this=0x839aa0, finishTime=0) at ../../Source/WebCore/loader/ResourceLoader.cpp:517
#62 0x00007ffff4297429 in WebCore::readCallback (asyncResult=0x87a1d0, data=0x855a60) at ../../Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1302
#63 0x00007fffec1d82ea in async_ready_callback_wrapper (source_object=0x98cb30, res=0x87a1d0, user_data=0x855a60) at ginputstream.c:519
#64 0x00007fffec1f7ceb in g_task_return_now (task=0x87a1d0) at gtask.c:1108
#65 0x00007fffec1f7d09 in complete_in_idle_cb (task=0x87a1d0) at gtask.c:1117
#66 0x00007fffeb44e2e6 in g_main_dispatch (context=0x677bb0) at gmain.c:3065
#67 g_main_context_dispatch (context=context@entry=0x677bb0) at gmain.c:3641
#68 0x00007fffeb44e638 in g_main_context_iterate (context=0x677bb0, block=block@entry=1, dispatch=dispatch@entry=1, self=&lt;optimized out&gt;) at gmain.c:3712
#69 0x00007fffeb44ea3a in g_main_loop_run (loop=0x70c750) at gmain.c:3906
#70 0x00007ffff306a156 in WTF::RunLoop::run () at ../../Source/WTF/wtf/gtk/RunLoopGtk.cpp:59
#71 0x00007ffff2fa35e0 in WebKit::ChildProcessMain&lt;WebKit::WebProcess, WebKit::WebProcessMain&gt; (argc=2, argv=0x7fffffffda58) at ../../Source/WebKit2/Shared/unix/ChildProcessMain.h:61
#72 0x00007ffff2fa3445 in WebKit::WebProcessMainUnix (argc=2, argv=0x7fffffffda58) at ../../Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp:73
#73 0x000000000040085d in main (argc=2, argv=0x7fffffffda58) at ../../Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp:32</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217215</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-08-03 14:42:52 -0700</bug_when>
    <thetext>This reproduces in r204037.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217217</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-08-03 14:43:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/27686300&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257592</commentid>
    <comment_count>3</comment_count>
      <attachid>296481</attachid>
    <who name="alan">zalan</who>
    <bug_when>2016-12-07 21:13:22 -0800</bug_when>
    <thetext>Created attachment 296481
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257593</commentid>
    <comment_count>4</comment_count>
      <attachid>296482</attachid>
    <who name="alan">zalan</who>
    <bug_when>2016-12-07 21:15:19 -0800</bug_when>
    <thetext>Created attachment 296482
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257600</commentid>
    <comment_count>5</comment_count>
      <attachid>296481</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-12-07 21:37:55 -0800</bug_when>
    <thetext>Comment on attachment 296481
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        Do not create multicolumn context for certain type of renderes.

renderers

&gt; Source/WebCore/rendering/RenderBlockFlow.cpp:442
&gt; +    // The following types are not supposed to create multicol context.
&gt; +    if (isFieldset() || isFileUploadControl() || isTextControl() || isListBox())
&gt; +        return false;
&gt; +
&gt;      if (!firstChild())
&gt;          return false;
&gt;  
&gt; +    // If overflow-y is set to paged-x or paged-y on the body or html element, we&apos;ll handle the paginating in the RenderView instead.
&gt; +    if ((style().overflowY() == OPAGEDX || style().overflowY() == OPAGEDY) &amp;&amp; !(isDocumentElementRenderer() || isBody()))
&gt; +        return true;

Seems like it would be slightly better to put your new code here below style().specifiesColumns(), since in normal usage, columns won&apos;t be specified on any of these things.

&gt; Source/WebCore/rendering/RenderBlockFlow.cpp:3961
&gt; +    return willCreateColumns(desiredColumnCount);

Do you plan to call this somewhere else? I&apos;m a little confused why all this code can&apos;t just be inside requiresColumns.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257602</commentid>
    <comment_count>6</comment_count>
      <attachid>296482</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-12-07 21:40:25 -0800</bug_when>
    <thetext>Comment on attachment 296482
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257693</commentid>
    <comment_count>7</comment_count>
      <attachid>296512</attachid>
    <who name="alan">zalan</who>
    <bug_when>2016-12-08 07:41:32 -0800</bug_when>
    <thetext>Created attachment 296512
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257752</commentid>
    <comment_count>8</comment_count>
      <attachid>296512</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-08 10:20:30 -0800</bug_when>
    <thetext>Comment on attachment 296512
Patch

Clearing flags on attachment: 296512

Committed r209546: &lt;http://trac.webkit.org/changeset/209546&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257753</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-08 10:20:35 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>236022</attachid>
            <date>2014-08-05 02:41:48 -0700</date>
            <delta_ts>2014-08-05 02:41:48 -0700</delta_ts>
            <desc>Test case</desc>
            <filename>crash.html</filename>
            <type>text/html</type>
            <size>93</size>
            <attacher name="Renata Hodovan">rhodovan.u-szeged</attacher>
            
              <data encoding="base64">IDxzdHlsZT4KKiAgewogICAgZGlzcGxheTp0YWJsZTsKICAgIC13ZWJraXQtY29sdW1uczoyOwp9
Cjwvc3R5bGU+Cjx0ZXh0YXJlYSBwbGFjZWhvbGRlcj0iYSI+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296481</attachid>
            <date>2016-12-07 21:13:22 -0800</date>
            <delta_ts>2016-12-07 21:15:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135601-20161207211242.patch</filename>
            <type>text/plain</type>
            <size>6371</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5NDkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzMzMzEzYTFhYWQ4MzUz
YmQ1NmY3YzIwNDQ1OGJjNDRmOGU5YzBhZS4uMTI3OTYxOTYxM2ZmZjhmNWZkZTg4NjRkMzY2OTky
MWI5MjJjMzU2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIzIEBACiAyMDE2LTEyLTA3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKKyAgICAgICAgRG8gbm90IGNyZWF0ZSBtdWx0
aWNvbHVtbiBjb250ZXh0IGZvciBjZXJ0YWluIHR5cGUgb2YgcmVuZGVyZXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzU2MDEKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzI3Njg2MzAwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIENlcnRhaW4gdHlwZSBvZiByZW5kZXJlcnMgaW5jbHVkaW5nIGZvcm1z
IHNob3VsZCBub3QgaW5pdGlhbGl6ZSBtdWx0aWNvbHVtbiBjb250ZXh0IGZvcgorICAgICAgICB0
aGVpciBpbm5lciAoc2hhZG93KSBjb250ZW50LiBJdCBqdXN0IGRvZXMgbm90IG1ha2VzIHNlbnNl
IGFuZCBpcyBpbmxpbmUgd2l0aCB3aGF0IG90aGVyIGJyb3dzZXJzIGRvLgorCisgICAgICAgIFRl
c3Q6IGZhc3QvbXVsdGljb2wvbm8tbXVsdGljb2wtZm9yLXRleHRhcmVhcy5odG1sCisKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJsb2NrRmxvdzo6d2lsbENyZWF0ZUNvbHVtbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQmxvY2tGbG93OjpyZXF1aXJlc0NvbHVtbnMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJCbG9ja0Zsb3cuaDoKKworMjAxNi0xMi0wNyAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUu
Y29tPgorCiAgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6IGNvdW50ID49IDEgaW4gV2ViQ29yZTo6
UmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmNvbHVtbkNvdW50CiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzYzNjUKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzI3Njg2NzI3PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNw
cAppbmRleCA4Mjc2MjlhZDE2ZTUwNDA1ODAwN2YyZjk1ODEwZDE4NDYzN2RmYmU5Li43MThmZWE2
NGZlOWUyZjA0NjI0ZjMxOGM4NTViOWNiODRjZjgzODIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcApAQCAtNDI4LDE1ICs0MjgsMjMgQEAgdm9pZCBS
ZW5kZXJCbG9ja0Zsb3c6OmNvbXB1dGVDb2x1bW5Db3VudEFuZFdpZHRoKCkKICAgICBzZXRDb21w
dXRlZENvbHVtbkNvdW50QW5kV2lkdGgoZGVzaXJlZENvbHVtbkNvdW50LCBkZXNpcmVkQ29sdW1u
V2lkdGgpOwogfQogCi1ib29sIFJlbmRlckJsb2NrRmxvdzo6d2lsbENyZWF0ZUNvbHVtbnMoKQor
Ym9vbCBSZW5kZXJCbG9ja0Zsb3c6OndpbGxDcmVhdGVDb2x1bW5zKHN0ZDo6b3B0aW9uYWw8dW5z
aWduZWQ+IGRlc2lyZWRDb2x1bW5Db3VudCkgY29uc3QKIHsKKyAgICAvLyBUaGUgZm9sbG93aW5n
IHR5cGVzIGFyZSBub3Qgc3VwcG9zZWQgdG8gY3JlYXRlIG11bHRpY29sIGNvbnRleHQuCisgICAg
aWYgKGlzRmllbGRzZXQoKSB8fCBpc0ZpbGVVcGxvYWRDb250cm9sKCkgfHwgaXNUZXh0Q29udHJv
bCgpIHx8IGlzTGlzdEJveCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBpZiAoIWZp
cnN0Q2hpbGQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgLy8gSWYgb3ZlcmZsb3ct
eSBpcyBzZXQgdG8gcGFnZWQteCBvciBwYWdlZC15IG9uIHRoZSBib2R5IG9yIGh0bWwgZWxlbWVu
dCwgd2UnbGwgaGFuZGxlIHRoZSBwYWdpbmF0aW5nIGluIHRoZSBSZW5kZXJWaWV3IGluc3RlYWQu
CisgICAgaWYgKChzdHlsZSgpLm92ZXJmbG93WSgpID09IE9QQUdFRFggfHwgc3R5bGUoKS5vdmVy
Zmxvd1koKSA9PSBPUEFHRURZKSAmJiAhKGlzRG9jdW1lbnRFbGVtZW50UmVuZGVyZXIoKSB8fCBp
c0JvZHkoKSkpCisgICAgICAgIHJldHVybiB0cnVlOworCiAgICAgaWYgKCFzdHlsZSgpLnNwZWNp
Zmllc0NvbHVtbnMoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgLy8gY29sdW1uLWF4
aXMgaW5pdGlhdGVzIE11bHRpQ29sdW1uRmxvd1RocmVhZC4KKyAgICAvLyBjb2x1bW4tYXhpcyB3
aXRoIG9wcG9zaXRlIHdyaXRpbmcgZGlyZWN0aW9uIGluaXRpYXRlcyBNdWx0aUNvbHVtbkZsb3dU
aHJlYWQuCiAgICAgaWYgKCFzdHlsZSgpLmhhc0lubGluZUNvbHVtbkF4aXMoKSkKICAgICAgICAg
cmV0dXJuIHRydWU7CiAKQEAgLTQ0NCw2ICs0NTIsOSBAQCBib29sIFJlbmRlckJsb2NrRmxvdzo6
d2lsbENyZWF0ZUNvbHVtbnMoKQogICAgIGlmICghc3R5bGUoKS5oYXNBdXRvQ29sdW1uV2lkdGgo
KSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKKyAgICBpZiAoZGVzaXJlZENvbHVtbkNvdW50KQor
ICAgICAgICByZXR1cm4gZGVzaXJlZENvbHVtbkNvdW50LnZhbHVlKCkgPiAxOworCiAgICAgLy8g
Y29sdW1uLWNvdW50ID4gMSBhbHdheXMgaW5pdGlhdGVzIE11bHRpQ29sdW1uRmxvd1RocmVhZC4K
ICAgICBpZiAoIXN0eWxlKCkuaGFzQXV0b0NvbHVtbkNvdW50KCkpCiAgICAgICAgIHJldHVybiBz
dHlsZSgpLmNvbHVtbkNvdW50KCkgPiAxOwpAQCAtMzk0NiwxMiArMzk1Nyw4IEBAIHZvaWQgUmVu
ZGVyQmxvY2tGbG93OjpjaGVja0ZvclBhZ2luYXRpb25Mb2dpY2FsSGVpZ2h0Q2hhbmdlKGJvb2wm
IHJlbGF5b3V0Q2hpbGRyCiB9CiAKIGJvb2wgUmVuZGVyQmxvY2tGbG93OjpyZXF1aXJlc0NvbHVt
bnMoaW50IGRlc2lyZWRDb2x1bW5Db3VudCkgY29uc3QKLXsKLSAgICAvLyBJZiBvdmVyZmxvdy15
IGlzIHNldCB0byBwYWdlZC14IG9yIHBhZ2VkLXkgb24gdGhlIGJvZHkgb3IgaHRtbCBlbGVtZW50
LCB3ZSdsbCBoYW5kbGUgdGhlIHBhZ2luYXRpbmcKLSAgICAvLyBpbiB0aGUgUmVuZGVyVmlldyBp
bnN0ZWFkLgotICAgIGJvb2wgaXNQYWdpbmF0ZWQgPSAoc3R5bGUoKS5vdmVyZmxvd1koKSA9PSBP
UEFHRURYIHx8IHN0eWxlKCkub3ZlcmZsb3dZKCkgPT0gT1BBR0VEWSkgJiYgIShpc0RvY3VtZW50
RWxlbWVudFJlbmRlcmVyKCkgfHwgaXNCb2R5KCkpOwotCi0gICAgcmV0dXJuIGZpcnN0Q2hpbGQo
KSAmJiAoZGVzaXJlZENvbHVtbkNvdW50ICE9IDEgfHwgIXN0eWxlKCkuaGFzQXV0b0NvbHVtbldp
ZHRoKCkgfHwgIXN0eWxlKCkuaGFzSW5saW5lQ29sdW1uQXhpcygpIHx8IGlzUGFnaW5hdGVkKTsK
K3sgICAgCisgICAgcmV0dXJuIHdpbGxDcmVhdGVDb2x1bW5zKGRlc2lyZWRDb2x1bW5Db3VudCk7
CiB9CiAKIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpzZXRDb21wdXRlZENvbHVtbkNvdW50QW5kV2lk
dGgoaW50IGNvdW50LCBMYXlvdXRVbml0IHdpZHRoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrRmxvdy5oCmluZGV4IDE4YzRmMWQ3NmU3YzVhYTdkNmRmZmFhZDc5YjFiMTYy
M2I5NDViYTcuLjkxN2Y4Y2E5ZWY1YWUxOGJkZWE0NDUyNmFkNzRhODcyMWQxYjFlOGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKQEAgLTI4Miw3ICsyODIs
NyBAQCBwdWJsaWM6CiAKICAgICBSZW5kZXJNdWx0aUNvbHVtbkZsb3dUaHJlYWQqIG11bHRpQ29s
dW1uRmxvd1RocmVhZCgpIGNvbnN0IHsgcmV0dXJuIGhhc1JhcmVCbG9ja0Zsb3dEYXRhKCkgPyBy
YXJlQmxvY2tGbG93RGF0YSgpLT5tX211bHRpQ29sdW1uRmxvd1RocmVhZCA6IG51bGxwdHI7IH0K
ICAgICB2b2lkIHNldE11bHRpQ29sdW1uRmxvd1RocmVhZChSZW5kZXJNdWx0aUNvbHVtbkZsb3dU
aHJlYWQqKTsKLSAgICBib29sIHdpbGxDcmVhdGVDb2x1bW5zKCk7CisgICAgYm9vbCB3aWxsQ3Jl
YXRlQ29sdW1ucyhzdGQ6Om9wdGlvbmFsPHVuc2lnbmVkPiBjb2x1bW5Db3VudCA9IHN0ZDo6bnVs
bG9wdCkgY29uc3Q7CiAgICAgCiAgICAgYm9vbCBjb250YWluc0Zsb2F0cygpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIG1fZmxvYXRpbmdPYmplY3RzICYmICFtX2Zsb2F0aW5nT2JqZWN0cy0+c2V0
KCkuaXNFbXB0eSgpOyB9CiAgICAgYm9vbCBjb250YWluc0Zsb2F0KFJlbmRlckJveCYpIGNvbnN0
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDI0MzI2ODRlZmNkOWEwOTQzMjM3NWYxNzYxOGNkNjgxMjViOGNlM2QuLmRhYjY1
YTY0ZmIyMzk0NThmZTY4ZTlmMDIyODZhYTljZjQ3ZDdiNjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAxNi0xMi0wNyAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisgICAgICAg
IEFTU0VSVElPTiBGQUlMRUQ6ICFtX3JlZ2lvbnNJbnZhbGlkYXRlZCBpbiBXZWJDb3JlOjpSZW5k
ZXJGbG93VGhyZWFkOjpyZWdpb25BdEJsb2NrT2Zmc2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzU2MDEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzI3Njg2MzAwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogZmFzdC9tdWx0aWNvbC9uby1tdWx0aWNvbC1mb3ItdGV4dGFyZWFzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9tdWx0aWNvbC9uby1tdWx0aWNvbC1mb3ItdGV4dGFy
ZWFzLmh0bWw6IEFkZGVkLgorCiAyMDE2LTEyLTA3ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFJlYmFzZWxpbmUgdGVzdHMgYWZ0ZXIgcjIwOTQ4Ni4gQWxzbyB1
cGRhdGVkIG1lZGlhLXNoYWRvdy1tYW5pcHVsYXRpb24uaHRtbCBub3cgdGhhdCByYW5nZSBpcyBu
dWxsLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uby1tdWx0aWNvbC1m
b3ItdGV4dGFyZWFzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbm8t
bXVsdGljb2wtZm9yLXRleHRhcmVhcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzRhM2Y0ZWRl
MmRhOGZlYjc4NDYyYjViMmVhMDc4MTg5Y2FjYTMxZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvbXVsdGljb2wvbm8tbXVsdGljb2wtZm9yLXRleHRhcmVhcy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSBAQAorUEFTUyBpZiBubyBhc3NlcnQgaW4gZGVidWcuIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uby1tdWx0aWNvbC1mb3ItdGV4dGFyZWFzLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25vLW11bHRpY29sLWZvci10ZXh0YXJlYXMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41M2IyZDllMGVmNWQyNjg1ZjBjY2Q4MGM4YzFmM2E2NGQ3MTkzNjFm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uby1tdWx0aWNv
bC1mb3ItdGV4dGFyZWFzLmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlRoaXMgdGVzdHMgdGhhdCB3ZSBkb24ndCBjcmVhdGUgbXVs
dGljb2x1bW4gY29udGVudCBmb3IgdGV4dGFyZWFzPC90aXRsZT4KKzxzdHlsZT4KK3RleHRhcmVh
ICB7CisgICAgY29sdW1uczogMjsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KK1BBU1Mg
aWYgbm8gYXNzZXJ0IGluIGRlYnVnLgorPHRleHRhcmVhIHBsYWNlaG9sZGVyPSJmb29iYXIiPjwv
dGV4dGFyZWE+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296482</attachid>
            <date>2016-12-07 21:15:19 -0800</date>
            <delta_ts>2016-12-08 07:41:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135601-20161207211439.patch</filename>
            <type>text/plain</type>
            <size>6378</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5NDkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzMzMzEzYTFhYWQ4MzUz
YmQ1NmY3YzIwNDQ1OGJjNDRmOGU5YzBhZS4uMTI3OTYxOTYxM2ZmZjhmNWZkZTg4NjRkMzY2OTky
MWI5MjJjMzU2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIzIEBACiAyMDE2LTEyLTA3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKKyAgICAgICAgRG8gbm90IGNyZWF0ZSBtdWx0
aWNvbHVtbiBjb250ZXh0IGZvciBjZXJ0YWluIHR5cGUgb2YgcmVuZGVyZXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzU2MDEKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzI3Njg2MzAwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIENlcnRhaW4gdHlwZSBvZiByZW5kZXJlcnMgaW5jbHVkaW5nIGZvcm1z
IHNob3VsZCBub3QgaW5pdGlhbGl6ZSBtdWx0aWNvbHVtbiBjb250ZXh0IGZvcgorICAgICAgICB0
aGVpciBpbm5lciAoc2hhZG93KSBjb250ZW50LiBJdCBqdXN0IGRvZXMgbm90IG1ha2VzIHNlbnNl
IGFuZCBpcyBpbmxpbmUgd2l0aCB3aGF0IG90aGVyIGJyb3dzZXJzIGRvLgorCisgICAgICAgIFRl
c3Q6IGZhc3QvbXVsdGljb2wvbm8tbXVsdGljb2wtZm9yLXRleHRhcmVhcy5odG1sCisKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJsb2NrRmxvdzo6d2lsbENyZWF0ZUNvbHVtbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQmxvY2tGbG93OjpyZXF1aXJlc0NvbHVtbnMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJCbG9ja0Zsb3cuaDoKKworMjAxNi0xMi0wNyAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUu
Y29tPgorCiAgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6IGNvdW50ID49IDEgaW4gV2ViQ29yZTo6
UmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmNvbHVtbkNvdW50CiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzYzNjUKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzI3Njg2NzI3PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNw
cAppbmRleCA4Mjc2MjlhZDE2ZTUwNDA1ODAwN2YyZjk1ODEwZDE4NDYzN2RmYmU5Li43MThmZWE2
NGZlOWUyZjA0NjI0ZjMxOGM4NTViOWNiODRjZjgzODIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcApAQCAtNDI4LDE1ICs0MjgsMjMgQEAgdm9pZCBS
ZW5kZXJCbG9ja0Zsb3c6OmNvbXB1dGVDb2x1bW5Db3VudEFuZFdpZHRoKCkKICAgICBzZXRDb21w
dXRlZENvbHVtbkNvdW50QW5kV2lkdGgoZGVzaXJlZENvbHVtbkNvdW50LCBkZXNpcmVkQ29sdW1u
V2lkdGgpOwogfQogCi1ib29sIFJlbmRlckJsb2NrRmxvdzo6d2lsbENyZWF0ZUNvbHVtbnMoKQor
Ym9vbCBSZW5kZXJCbG9ja0Zsb3c6OndpbGxDcmVhdGVDb2x1bW5zKHN0ZDo6b3B0aW9uYWw8dW5z
aWduZWQ+IGRlc2lyZWRDb2x1bW5Db3VudCkgY29uc3QKIHsKKyAgICAvLyBUaGUgZm9sbG93aW5n
IHR5cGVzIGFyZSBub3Qgc3VwcG9zZWQgdG8gY3JlYXRlIG11bHRpY29sIGNvbnRleHQuCisgICAg
aWYgKGlzRmllbGRzZXQoKSB8fCBpc0ZpbGVVcGxvYWRDb250cm9sKCkgfHwgaXNUZXh0Q29udHJv
bCgpIHx8IGlzTGlzdEJveCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBpZiAoIWZp
cnN0Q2hpbGQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgLy8gSWYgb3ZlcmZsb3ct
eSBpcyBzZXQgdG8gcGFnZWQteCBvciBwYWdlZC15IG9uIHRoZSBib2R5IG9yIGh0bWwgZWxlbWVu
dCwgd2UnbGwgaGFuZGxlIHRoZSBwYWdpbmF0aW5nIGluIHRoZSBSZW5kZXJWaWV3IGluc3RlYWQu
CisgICAgaWYgKChzdHlsZSgpLm92ZXJmbG93WSgpID09IE9QQUdFRFggfHwgc3R5bGUoKS5vdmVy
Zmxvd1koKSA9PSBPUEFHRURZKSAmJiAhKGlzRG9jdW1lbnRFbGVtZW50UmVuZGVyZXIoKSB8fCBp
c0JvZHkoKSkpCisgICAgICAgIHJldHVybiB0cnVlOworCiAgICAgaWYgKCFzdHlsZSgpLnNwZWNp
Zmllc0NvbHVtbnMoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgLy8gY29sdW1uLWF4
aXMgaW5pdGlhdGVzIE11bHRpQ29sdW1uRmxvd1RocmVhZC4KKyAgICAvLyBjb2x1bW4tYXhpcyB3
aXRoIG9wcG9zaXRlIHdyaXRpbmcgZGlyZWN0aW9uIGluaXRpYXRlcyBNdWx0aUNvbHVtbkZsb3dU
aHJlYWQuCiAgICAgaWYgKCFzdHlsZSgpLmhhc0lubGluZUNvbHVtbkF4aXMoKSkKICAgICAgICAg
cmV0dXJuIHRydWU7CiAKQEAgLTQ0NCw2ICs0NTIsOSBAQCBib29sIFJlbmRlckJsb2NrRmxvdzo6
d2lsbENyZWF0ZUNvbHVtbnMoKQogICAgIGlmICghc3R5bGUoKS5oYXNBdXRvQ29sdW1uV2lkdGgo
KSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKKyAgICBpZiAoZGVzaXJlZENvbHVtbkNvdW50KQor
ICAgICAgICByZXR1cm4gZGVzaXJlZENvbHVtbkNvdW50LnZhbHVlKCkgPiAxOworCiAgICAgLy8g
Y29sdW1uLWNvdW50ID4gMSBhbHdheXMgaW5pdGlhdGVzIE11bHRpQ29sdW1uRmxvd1RocmVhZC4K
ICAgICBpZiAoIXN0eWxlKCkuaGFzQXV0b0NvbHVtbkNvdW50KCkpCiAgICAgICAgIHJldHVybiBz
dHlsZSgpLmNvbHVtbkNvdW50KCkgPiAxOwpAQCAtMzk0NiwxMiArMzk1Nyw4IEBAIHZvaWQgUmVu
ZGVyQmxvY2tGbG93OjpjaGVja0ZvclBhZ2luYXRpb25Mb2dpY2FsSGVpZ2h0Q2hhbmdlKGJvb2wm
IHJlbGF5b3V0Q2hpbGRyCiB9CiAKIGJvb2wgUmVuZGVyQmxvY2tGbG93OjpyZXF1aXJlc0NvbHVt
bnMoaW50IGRlc2lyZWRDb2x1bW5Db3VudCkgY29uc3QKLXsKLSAgICAvLyBJZiBvdmVyZmxvdy15
IGlzIHNldCB0byBwYWdlZC14IG9yIHBhZ2VkLXkgb24gdGhlIGJvZHkgb3IgaHRtbCBlbGVtZW50
LCB3ZSdsbCBoYW5kbGUgdGhlIHBhZ2luYXRpbmcKLSAgICAvLyBpbiB0aGUgUmVuZGVyVmlldyBp
bnN0ZWFkLgotICAgIGJvb2wgaXNQYWdpbmF0ZWQgPSAoc3R5bGUoKS5vdmVyZmxvd1koKSA9PSBP
UEFHRURYIHx8IHN0eWxlKCkub3ZlcmZsb3dZKCkgPT0gT1BBR0VEWSkgJiYgIShpc0RvY3VtZW50
RWxlbWVudFJlbmRlcmVyKCkgfHwgaXNCb2R5KCkpOwotCi0gICAgcmV0dXJuIGZpcnN0Q2hpbGQo
KSAmJiAoZGVzaXJlZENvbHVtbkNvdW50ICE9IDEgfHwgIXN0eWxlKCkuaGFzQXV0b0NvbHVtbldp
ZHRoKCkgfHwgIXN0eWxlKCkuaGFzSW5saW5lQ29sdW1uQXhpcygpIHx8IGlzUGFnaW5hdGVkKTsK
K3sgICAgCisgICAgcmV0dXJuIHdpbGxDcmVhdGVDb2x1bW5zKGRlc2lyZWRDb2x1bW5Db3VudCk7
CiB9CiAKIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpzZXRDb21wdXRlZENvbHVtbkNvdW50QW5kV2lk
dGgoaW50IGNvdW50LCBMYXlvdXRVbml0IHdpZHRoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrRmxvdy5oCmluZGV4IDE4YzRmMWQ3NmU3YzVhYTdkNmRmZmFhZDc5YjFiMTYy
M2I5NDViYTcuLjhjYjYzZDcwMTA3ZDEzMWE2ODcwOTQxZmRkZTZhYzJjMjViNTViZTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKQEAgLTI4Miw3ICsyODIs
NyBAQCBwdWJsaWM6CiAKICAgICBSZW5kZXJNdWx0aUNvbHVtbkZsb3dUaHJlYWQqIG11bHRpQ29s
dW1uRmxvd1RocmVhZCgpIGNvbnN0IHsgcmV0dXJuIGhhc1JhcmVCbG9ja0Zsb3dEYXRhKCkgPyBy
YXJlQmxvY2tGbG93RGF0YSgpLT5tX211bHRpQ29sdW1uRmxvd1RocmVhZCA6IG51bGxwdHI7IH0K
ICAgICB2b2lkIHNldE11bHRpQ29sdW1uRmxvd1RocmVhZChSZW5kZXJNdWx0aUNvbHVtbkZsb3dU
aHJlYWQqKTsKLSAgICBib29sIHdpbGxDcmVhdGVDb2x1bW5zKCk7CisgICAgYm9vbCB3aWxsQ3Jl
YXRlQ29sdW1ucyhzdGQ6Om9wdGlvbmFsPHVuc2lnbmVkPiBkZXNpcmVkQ29sdW1uQ291bnQgPSBz
dGQ6Om51bGxvcHQpIGNvbnN0OwogICAgIAogICAgIGJvb2wgY29udGFpbnNGbG9hdHMoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBtX2Zsb2F0aW5nT2JqZWN0cyAmJiAhbV9mbG9hdGluZ09iamVj
dHMtPnNldCgpLmlzRW1wdHkoKTsgfQogICAgIGJvb2wgY29udGFpbnNGbG9hdChSZW5kZXJCb3gm
KSBjb25zdDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCAyNDMyNjg0ZWZjZDlhMDk0MzIzNzVmMTc2MThjZDY4MTI1YjhjZTNk
Li5kYWI2NWE2NGZiMjM5NDU4ZmU2OGU5ZjAyMjg2YWE5Y2Y0N2Q3YjYwIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTYtMTItMDcgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKwor
ICAgICAgICBBU1NFUlRJT04gRkFJTEVEOiAhbV9yZWdpb25zSW52YWxpZGF0ZWQgaW4gV2ViQ29y
ZTo6UmVuZGVyRmxvd1RocmVhZDo6cmVnaW9uQXRCbG9ja09mZnNldAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM1NjAxCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8yNzY4NjMwMD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGZhc3QvbXVsdGljb2wvbm8tbXVsdGljb2wtZm9yLXRleHRhcmVhcy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbXVsdGljb2wvbm8tbXVsdGljb2wtZm9y
LXRleHRhcmVhcy5odG1sOiBBZGRlZC4KKwogMjAxNi0xMi0wNyAgUnlvc3VrZSBOaXdhICA8cm5p
d2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZWJhc2VsaW5lIHRlc3RzIGFmdGVyIHIyMDk0ODYu
IEFsc28gdXBkYXRlZCBtZWRpYS1zaGFkb3ctbWFuaXB1bGF0aW9uLmh0bWwgbm93IHRoYXQgcmFu
Z2UgaXMgbnVsbC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbm8tbXVs
dGljb2wtZm9yLXRleHRhcmVhcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRp
Y29sL25vLW11bHRpY29sLWZvci10ZXh0YXJlYXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM0
YTNmNGVkZTJkYThmZWI3ODQ2MmI1YjJlYTA3ODE4OWNhY2EzMWQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25vLW11bHRpY29sLWZvci10ZXh0YXJlYXMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1BBU1MgaWYgbm8gYXNzZXJ0IGluIGRlYnVnLiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbm8tbXVsdGljb2wtZm9yLXRleHRh
cmVhcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9uby1tdWx0aWNvbC1mb3ItdGV4
dGFyZWFzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTNiMmQ5ZTBlZjVkMjY4NWYwY2NkODBjOGMxZjNhNjRk
NzE5MzYxZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbm8t
bXVsdGljb2wtZm9yLXRleHRhcmVhcy5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5UaGlzIHRlc3RzIHRoYXQgd2UgZG9uJ3QgY3Jl
YXRlIG11bHRpY29sdW1uIGNvbnRlbnQgZm9yIHRleHRhcmVhczwvdGl0bGU+Cis8c3R5bGU+Cit0
ZXh0YXJlYSAgeworICAgIGNvbHVtbnM6IDI7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
CitQQVNTIGlmIG5vIGFzc2VydCBpbiBkZWJ1Zy4KKzx0ZXh0YXJlYSBwbGFjZWhvbGRlcj0iZm9v
YmFyIj48L3RleHRhcmVhPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296512</attachid>
            <date>2016-12-08 07:41:32 -0800</date>
            <delta_ts>2016-12-08 10:20:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135601-20161208074055.patch</filename>
            <type>text/plain</type>
            <size>6348</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5NDkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzMzMzEzYTFhYWQ4MzUz
YmQ1NmY3YzIwNDQ1OGJjNDRmOGU5YzBhZS4uMTYxYzJmNGRkNmFkZmNiYTg0YjljNGQwNGZhNzNi
MGQ5MjE2MzQ4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIzIEBACiAyMDE2LTEyLTA3ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKKyAgICAgICAgRG8gbm90IGNyZWF0ZSBtdWx0
aWNvbHVtbiBjb250ZXh0IGZvciBjZXJ0YWluIHR5cGUgb2YgcmVuZGVyZXJzLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM1NjAxCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8yNzY4NjMwMD4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBIeWF0
dC4KKworICAgICAgICBDZXJ0YWluIHR5cGUgb2YgcmVuZGVyZXJzIGluY2x1ZGluZyBmb3JtcyBz
aG91bGQgbm90IGluaXRpYWxpemUgbXVsdGljb2x1bW4gY29udGV4dCBmb3IKKyAgICAgICAgdGhl
aXIgaW5uZXIgKHNoYWRvdykgY29udGVudC4gSXQganVzdCBkb2VzIG5vdCBtYWtlcyBzZW5zZSBh
bmQgaXMgaW5saW5lIHdpdGggd2hhdCBvdGhlciBicm93c2VycyBkby4KKworICAgICAgICBUZXN0
OiBmYXN0L211bHRpY29sL25vLW11bHRpY29sLWZvci10ZXh0YXJlYXMuaHRtbAorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCbG9ja0Zsb3c6OndpbGxDcmVhdGVDb2x1bW5zKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJsb2NrRmxvdzo6cmVxdWlyZXNDb2x1bW5zKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
QmxvY2tGbG93Lmg6CisKKzIwMTYtMTItMDcgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNv
bT4KKwogICAgICAgICBBU1NFUlRJT04gRkFJTEVEOiBjb3VudCA+PSAxIGluIFdlYkNvcmU6OlJl
bmRlck11bHRpQ29sdW1uU2V0Ojpjb2x1bW5Db3VudAogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2MzY1CiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8y
NzY4NjcyNz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAK
aW5kZXggODI3NjI5YWQxNmU1MDQwNTgwMDdmMmY5NTgxMGQxODQ2MzdkZmJlOS4uNzE4ZmVhNjRm
ZTllMmYwNDYyNGYzMThjODU1YjljYjg0Y2Y4MzgyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKQEAgLTQyOCwxNSArNDI4LDIzIEBAIHZvaWQgUmVu
ZGVyQmxvY2tGbG93Ojpjb21wdXRlQ29sdW1uQ291bnRBbmRXaWR0aCgpCiAgICAgc2V0Q29tcHV0
ZWRDb2x1bW5Db3VudEFuZFdpZHRoKGRlc2lyZWRDb2x1bW5Db3VudCwgZGVzaXJlZENvbHVtbldp
ZHRoKTsKIH0KIAotYm9vbCBSZW5kZXJCbG9ja0Zsb3c6OndpbGxDcmVhdGVDb2x1bW5zKCkKK2Jv
b2wgUmVuZGVyQmxvY2tGbG93Ojp3aWxsQ3JlYXRlQ29sdW1ucyhzdGQ6Om9wdGlvbmFsPHVuc2ln
bmVkPiBkZXNpcmVkQ29sdW1uQ291bnQpIGNvbnN0CiB7CisgICAgLy8gVGhlIGZvbGxvd2luZyB0
eXBlcyBhcmUgbm90IHN1cHBvc2VkIHRvIGNyZWF0ZSBtdWx0aWNvbCBjb250ZXh0LgorICAgIGlm
IChpc0ZpZWxkc2V0KCkgfHwgaXNGaWxlVXBsb2FkQ29udHJvbCgpIHx8IGlzVGV4dENvbnRyb2wo
KSB8fCBpc0xpc3RCb3goKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgaWYgKCFmaXJz
dENoaWxkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIC8vIElmIG92ZXJmbG93LXkg
aXMgc2V0IHRvIHBhZ2VkLXggb3IgcGFnZWQteSBvbiB0aGUgYm9keSBvciBodG1sIGVsZW1lbnQs
IHdlJ2xsIGhhbmRsZSB0aGUgcGFnaW5hdGluZyBpbiB0aGUgUmVuZGVyVmlldyBpbnN0ZWFkLgor
ICAgIGlmICgoc3R5bGUoKS5vdmVyZmxvd1koKSA9PSBPUEFHRURYIHx8IHN0eWxlKCkub3ZlcmZs
b3dZKCkgPT0gT1BBR0VEWSkgJiYgIShpc0RvY3VtZW50RWxlbWVudFJlbmRlcmVyKCkgfHwgaXNC
b2R5KCkpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIGlmICghc3R5bGUoKS5zcGVjaWZp
ZXNDb2x1bW5zKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIC8vIGNvbHVtbi1heGlz
IGluaXRpYXRlcyBNdWx0aUNvbHVtbkZsb3dUaHJlYWQuCisgICAgLy8gY29sdW1uLWF4aXMgd2l0
aCBvcHBvc2l0ZSB3cml0aW5nIGRpcmVjdGlvbiBpbml0aWF0ZXMgTXVsdGlDb2x1bW5GbG93VGhy
ZWFkLgogICAgIGlmICghc3R5bGUoKS5oYXNJbmxpbmVDb2x1bW5BeGlzKCkpCiAgICAgICAgIHJl
dHVybiB0cnVlOwogCkBAIC00NDQsNiArNDUyLDkgQEAgYm9vbCBSZW5kZXJCbG9ja0Zsb3c6Ondp
bGxDcmVhdGVDb2x1bW5zKCkKICAgICBpZiAoIXN0eWxlKCkuaGFzQXV0b0NvbHVtbldpZHRoKCkp
CiAgICAgICAgIHJldHVybiB0cnVlOwogCisgICAgaWYgKGRlc2lyZWRDb2x1bW5Db3VudCkKKyAg
ICAgICAgcmV0dXJuIGRlc2lyZWRDb2x1bW5Db3VudC52YWx1ZSgpID4gMTsKKwogICAgIC8vIGNv
bHVtbi1jb3VudCA+IDEgYWx3YXlzIGluaXRpYXRlcyBNdWx0aUNvbHVtbkZsb3dUaHJlYWQuCiAg
ICAgaWYgKCFzdHlsZSgpLmhhc0F1dG9Db2x1bW5Db3VudCgpKQogICAgICAgICByZXR1cm4gc3R5
bGUoKS5jb2x1bW5Db3VudCgpID4gMTsKQEAgLTM5NDYsMTIgKzM5NTcsOCBAQCB2b2lkIFJlbmRl
ckJsb2NrRmxvdzo6Y2hlY2tGb3JQYWdpbmF0aW9uTG9naWNhbEhlaWdodENoYW5nZShib29sJiBy
ZWxheW91dENoaWxkcgogfQogCiBib29sIFJlbmRlckJsb2NrRmxvdzo6cmVxdWlyZXNDb2x1bW5z
KGludCBkZXNpcmVkQ29sdW1uQ291bnQpIGNvbnN0Ci17Ci0gICAgLy8gSWYgb3ZlcmZsb3cteSBp
cyBzZXQgdG8gcGFnZWQteCBvciBwYWdlZC15IG9uIHRoZSBib2R5IG9yIGh0bWwgZWxlbWVudCwg
d2UnbGwgaGFuZGxlIHRoZSBwYWdpbmF0aW5nCi0gICAgLy8gaW4gdGhlIFJlbmRlclZpZXcgaW5z
dGVhZC4KLSAgICBib29sIGlzUGFnaW5hdGVkID0gKHN0eWxlKCkub3ZlcmZsb3dZKCkgPT0gT1BB
R0VEWCB8fCBzdHlsZSgpLm92ZXJmbG93WSgpID09IE9QQUdFRFkpICYmICEoaXNEb2N1bWVudEVs
ZW1lbnRSZW5kZXJlcigpIHx8IGlzQm9keSgpKTsKLQotICAgIHJldHVybiBmaXJzdENoaWxkKCkg
JiYgKGRlc2lyZWRDb2x1bW5Db3VudCAhPSAxIHx8ICFzdHlsZSgpLmhhc0F1dG9Db2x1bW5XaWR0
aCgpIHx8ICFzdHlsZSgpLmhhc0lubGluZUNvbHVtbkF4aXMoKSB8fCBpc1BhZ2luYXRlZCk7Cit7
ICAgIAorICAgIHJldHVybiB3aWxsQ3JlYXRlQ29sdW1ucyhkZXNpcmVkQ29sdW1uQ291bnQpOwog
fQogCiB2b2lkIFJlbmRlckJsb2NrRmxvdzo6c2V0Q29tcHV0ZWRDb2x1bW5Db3VudEFuZFdpZHRo
KGludCBjb3VudCwgTGF5b3V0VW5pdCB3aWR0aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9ja0Zsb3cuaAppbmRleCAxOGM0ZjFkNzZlN2M1YWE3ZDZkZmZhYWQ3OWIxYjE2MjNi
OTQ1YmE3Li44Y2I2M2Q3MDEwN2QxMzFhNjg3MDk0MWZkZGU2YWMyYzI1YjU1YmU1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCkBAIC0yODIsNyArMjgyLDcg
QEAgcHVibGljOgogCiAgICAgUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhyZWFkKiBtdWx0aUNvbHVt
bkZsb3dUaHJlYWQoKSBjb25zdCB7IHJldHVybiBoYXNSYXJlQmxvY2tGbG93RGF0YSgpID8gcmFy
ZUJsb2NrRmxvd0RhdGEoKS0+bV9tdWx0aUNvbHVtbkZsb3dUaHJlYWQgOiBudWxscHRyOyB9CiAg
ICAgdm9pZCBzZXRNdWx0aUNvbHVtbkZsb3dUaHJlYWQoUmVuZGVyTXVsdGlDb2x1bW5GbG93VGhy
ZWFkKik7Ci0gICAgYm9vbCB3aWxsQ3JlYXRlQ29sdW1ucygpOworICAgIGJvb2wgd2lsbENyZWF0
ZUNvbHVtbnMoc3RkOjpvcHRpb25hbDx1bnNpZ25lZD4gZGVzaXJlZENvbHVtbkNvdW50ID0gc3Rk
OjpudWxsb3B0KSBjb25zdDsKICAgICAKICAgICBib29sIGNvbnRhaW5zRmxvYXRzKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gbV9mbG9hdGluZ09iamVjdHMgJiYgIW1fZmxvYXRpbmdPYmplY3Rz
LT5zZXQoKS5pc0VtcHR5KCk7IH0KICAgICBib29sIGNvbnRhaW5zRmxvYXQoUmVuZGVyQm94Jikg
Y29uc3Q7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggMjQzMjY4NGVmY2Q5YTA5NDMyMzc1ZjE3NjE4Y2Q2ODEyNWI4Y2UzZC4u
YTVmOGQ4MTYzZDY1NzU2NzFkMjdjNmNhY2ExMzY2YTRlMDYxNzRlZCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDE2LTEyLTA3ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAg
ICAgICAgRG8gbm90IGNyZWF0ZSBtdWx0aWNvbHVtbiBjb250ZXh0IGZvciBjZXJ0YWluIHR5cGUg
b2YgcmVuZGVyZXJzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTM1NjAxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNzY4NjMwMD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBEYXZpZCBIeWF0dC4KKworICAgICAgICAqIGZhc3QvbXVsdGljb2wvbm8t
bXVsdGljb2wtZm9yLXRleHRhcmVhcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvbXVsdGljb2wvbm8tbXVsdGljb2wtZm9yLXRleHRhcmVhcy5odG1sOiBBZGRlZC4KKwogMjAx
Ni0xMi0wNyAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZWJh
c2VsaW5lIHRlc3RzIGFmdGVyIHIyMDk0ODYuIEFsc28gdXBkYXRlZCBtZWRpYS1zaGFkb3ctbWFu
aXB1bGF0aW9uLmh0bWwgbm93IHRoYXQgcmFuZ2UgaXMgbnVsbC4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvbXVsdGljb2wvbm8tbXVsdGljb2wtZm9yLXRleHRhcmVhcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25vLW11bHRpY29sLWZvci10ZXh0YXJlYXMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM0YTNmNGVkZTJkYThmZWI3ODQ2MmI1YjJlYTA3ODE4
OWNhY2EzMWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL25v
LW11bHRpY29sLWZvci10ZXh0YXJlYXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1BBU1Mg
aWYgbm8gYXNzZXJ0IGluIGRlYnVnLiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVs
dGljb2wvbm8tbXVsdGljb2wtZm9yLXRleHRhcmVhcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9t
dWx0aWNvbC9uby1tdWx0aWNvbC1mb3ItdGV4dGFyZWFzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTNiMmQ5
ZTBlZjVkMjY4NWYwY2NkODBjOGMxZjNhNjRkNzE5MzYxZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvbm8tbXVsdGljb2wtZm9yLXRleHRhcmVhcy5odG1sCkBA
IC0wLDAgKzEsMTkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5U
aGlzIHRlc3RzIHRoYXQgd2UgZG9uJ3QgY3JlYXRlIG11bHRpY29sdW1uIGNvbnRlbnQgZm9yIHRl
eHRhcmVhczwvdGl0bGU+Cis8c3R5bGU+Cit0ZXh0YXJlYSAgeworICAgIGNvbHVtbnM6IDI7Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CitQQVNTIGlmIG5vIGFzc2VydCBpbiBkZWJ1Zy4K
Kzx0ZXh0YXJlYSBwbGFjZWhvbGRlcj0iZm9vYmFyIj48L3RleHRhcmVhPgorPHNjcmlwdD4KK2lm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>