<?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>139393</bug_id>
          
          <creation_ts>2014-12-08 05:47:37 -0800</creation_ts>
          <short_desc>ASSERTION FAILED: opportunitiesInRun &lt;= expansionOpportunityCount in WebCore::computeExpansionForJustifiedText</short_desc>
          <delta_ts>2016-08-30 10:59:41 -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>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>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mitz</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1053360</commentid>
    <comment_count>0</comment_count>
      <attachid>242805</attachid>
    <who name="Renata Hodovan">rhodovan.u-szeged</who>
    <bug_when>2014-12-08 05:47:37 -0800</bug_when>
    <thetext>Created attachment 242805
Test case

Run this test with debug WK:

&lt;!DOCTYPE html&gt;
&lt;style&gt;
:first-letter, * {
    white-space:pre-wrap;
}

&lt;/style&gt;
&lt;ruby&gt;aa
    &lt;rt&gt;  &lt;/rt&gt;
&lt;/ruby&gt;

Note: at least 2 spaces are needed inside the &lt;rt&gt; tag.


Backtrace:

ASSERTION FAILED: opportunitiesInRun &lt;= expansionOpportunityCount
../../Source/WebCore/rendering/RenderBlockLineLayout.cpp(595) : void WebCore::computeExpansionForJustifiedText(WebCore::BidiRun*, WebCore::BidiRun*, const WTF::Vector&lt;unsigned int, 16u&gt;&amp;, unsigned int, float, float)

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff98927700 (LWP 25064)]
0x00007fffedbca36f in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:321
321	    *(int *)(uintptr_t)0xbbadbeef = 0;
#0  0x00007fffedbca36f in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:321
#1  0x00007ffff397b317 in WebCore::computeExpansionForJustifiedText (firstRun=0x5f0e40, trailingSpaceRun=0x0, expansionOpportunities=..., expansionOpportunityCount=1, totalLogicalWidth=6, availableLogicalWidth=13) at ../../Source/WebCore/rendering/RenderBlockLineLayout.cpp:595
#2  0x00007ffff397c2c3 in WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment (this=0x7093b0, lineBox=0x659910, lineInfo=..., textAlign=WebCore::JUSTIFY, logicalLeft=@0x7fffffff9ff4: 3.5, availableLogicalWidth=@0x7fffffff9ffc: 13, firstRun=0x5f0e40, trailingSpaceRun=0x0, textBoxDataMap=..., verticalPositionCache=..., wordMeasurements=...) at ../../Source/WebCore/rendering/RenderBlockLineLayout.cpp:777
#3  0x00007ffff397ba50 in WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine (this=0x7093b0, lineBox=0x659910, lineInfo=..., firstRun=0x5f0e40, trailingSpaceRun=0x0, reachedEnd=true, textBoxDataMap=..., verticalPositionCache=..., wordMeasurements=...) at ../../Source/WebCore/rendering/RenderBlockLineLayout.cpp:693
#4  0x00007ffff397cca1 in WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns (this=0x7093b0, bidiLevel=0, bidiRuns=..., end=..., lineInfo=..., verticalPositionCache=..., trailingSpaceRun=0x0, wordMeasurements=...) at ../../Source/WebCore/rendering/RenderBlockLineLayout.cpp:993
#5  0x00007ffff397dc06 in WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange (this=0x7093b0, layoutState=..., resolver=..., cleanLineStart=..., cleanLineBidiStatus=..., consecutiveHyphenatedLines=0) at ../../Source/WebCore/rendering/RenderBlockLineLayout.cpp:1185
#6  0x00007ffff397d277 in WebCore::RenderBlockFlow::layoutRunsAndFloats (this=0x7093b0, layoutState=..., hasInlineChild=true) at ../../Source/WebCore/rendering/RenderBlockLineLayout.cpp:1085
#7  0x00007ffff397faee in WebCore::RenderBlockFlow::layoutLineBoxes (this=0x7093b0, relayoutChildren=true, repaintLogicalTop=..., repaintLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockLineLayout.cpp:1502
#8  0x00007ffff395f687 in WebCore::RenderBlockFlow::layoutInlineChildren (this=0x7093b0, relayoutChildren=true, repaintLogicalTop=..., repaintLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:640
#9  0x00007ffff395e98a in WebCore::RenderBlockFlow::layoutBlock (this=0x7093b0, relayoutChildren=true, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:471
#10 0x00007ffff393456f in WebCore::RenderBlock::layout (this=0x7093b0) at ../../Source/WebCore/rendering/RenderBlock.cpp:931
#11 0x00007ffff3900519 in WebCore::RenderElement::layoutIfNeeded (this=0x7093b0) at ../../Source/WebCore/rendering/RenderElement.h:119
#12 0x00007ffff3ada344 in WebCore::RenderRubyRun::layoutSpecialExcludedChild (this=0x708530, relayoutChildren=true) at ../../Source/WebCore/rendering/RenderRubyRun.cpp:227
#13 0x00007ffff395f44a in WebCore::RenderBlockFlow::layoutBlockChildren (this=0x708530, relayoutChildren=true, maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:592
#14 0x00007ffff395e9ae in WebCore::RenderBlockFlow::layoutBlock (this=0x708530, relayoutChildren=true, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:473
#15 0x00007ffff393456f in WebCore::RenderBlock::layout (this=0x708530) at ../../Source/WebCore/rendering/RenderBlock.cpp:931
#16 0x00007ffff3ada376 in WebCore::RenderRubyRun::layout (this=0x708530) at ../../Source/WebCore/rendering/RenderRubyRun.cpp:233
#17 0x00007ffff3900519 in WebCore::RenderElement::layoutIfNeeded (this=0x708530) at ../../Source/WebCore/rendering/RenderElement.h:119
#18 0x00007ffff397faac in WebCore::RenderBlockFlow::layoutLineBoxes (this=0x6979d0, relayoutChildren=true, repaintLogicalTop=..., repaintLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockLineLayout.cpp:1500
#19 0x00007ffff395f687 in WebCore::RenderBlockFlow::layoutInlineChildren (this=0x6979d0, relayoutChildren=true, repaintLogicalTop=..., repaintLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:640
#20 0x00007ffff395e98a in WebCore::RenderBlockFlow::layoutBlock (this=0x6979d0, relayoutChildren=true, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:471
#21 0x00007ffff393456f in WebCore::RenderBlock::layout (this=0x6979d0) at ../../Source/WebCore/rendering/RenderBlock.cpp:931
#22 0x00007ffff395fa64 in WebCore::RenderBlockFlow::layoutBlockChild (this=0x5f65f0, child=..., marginInfo=..., previousFloatLogicalBottom=..., maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:699
#23 0x00007ffff395f581 in WebCore::RenderBlockFlow::layoutBlockChildren (this=0x5f65f0, relayoutChildren=true, maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:620
#24 0x00007ffff395e9ae in WebCore::RenderBlockFlow::layoutBlock (this=0x5f65f0, relayoutChildren=true, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:473
#25 0x00007ffff393456f in WebCore::RenderBlock::layout (this=0x5f65f0) at ../../Source/WebCore/rendering/RenderBlock.cpp:931
#26 0x00007ffff395fa64 in WebCore::RenderBlockFlow::layoutBlockChild (this=0x7d3570, child=..., marginInfo=..., previousFloatLogicalBottom=..., maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:699
#27 0x00007ffff395f581 in WebCore::RenderBlockFlow::layoutBlockChildren (this=0x7d3570, relayoutChildren=true, maxFloatLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:620
#28 0x00007ffff395e9ae in WebCore::RenderBlockFlow::layoutBlock (this=0x7d3570, relayoutChildren=true, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:473
#29 0x00007ffff393456f in WebCore::RenderBlock::layout (this=0x7d3570) at ../../Source/WebCore/rendering/RenderBlock.cpp:931
#30 0x00007ffff3b2e84d in WebCore::RenderView::layoutContent (this=0x7d3570, state=...) at ../../Source/WebCore/rendering/RenderView.cpp:232
#31 0x00007ffff3b2ef1d in WebCore::RenderView::layout (this=0x7d3570) at ../../Source/WebCore/rendering/RenderView.cpp:357
#32 0x00007ffff369c389 in WebCore::FrameView::layout (this=0x7cd310, allowSubtree=true) at ../../Source/WebCore/page/FrameView.cpp:1313
#33 0x00007ffff3067dc5 in WebCore::Document::implicitClose (this=0x696980) at ../../Source/WebCore/dom/Document.cpp:2486
#34 0x00007ffff3547a0d in WebCore::FrameLoader::checkCallImplicitClose (this=0x79e748) at ../../Source/WebCore/loader/FrameLoader.cpp:898
#35 0x00007ffff3547779 in WebCore::FrameLoader::checkCompleted (this=0x79e748) at ../../Source/WebCore/loader/FrameLoader.cpp:844
#36 0x00007ffff35474e2 in WebCore::FrameLoader::finishedParsing (this=0x79e748) at ../../Source/WebCore/loader/FrameLoader.cpp:764
#37 0x00007ffff3070c99 in WebCore::Document::finishedParsing (this=0x696980) at ../../Source/WebCore/dom/Document.cpp:4615
#38 0x00007ffff33c6039 in WebCore::HTMLConstructionSite::finishedParsing (this=0x7cf148) at ../../Source/WebCore/html/parser/HTMLConstructionSite.cpp:395
#39 0x00007ffff3403a33 in WebCore::HTMLTreeBuilder::finished (this=0x7cf130) at ../../Source/WebCore/html/parser/HTMLTreeBuilder.cpp:3009
#40 0x00007ffff33ced4e in WebCore::HTMLDocumentParser::end (this=0x6e4780) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:439
#41 0x00007ffff33cee39 in WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd (this=0x6e4780) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:450
#42 0x00007ffff33cd8e7 in WebCore::HTMLDocumentParser::prepareToStopParsing (this=0x6e4780) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:165
#43 0x00007ffff33cee7c in WebCore::HTMLDocumentParser::attemptToEnd (this=0x6e4780) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:462
#44 0x00007ffff33cef33 in WebCore::HTMLDocumentParser::finish (this=0x6e4780) at ../../Source/WebCore/html/parser/HTMLDocumentParser.cpp:490
#45 0x00007ffff3538b7f in WebCore::DocumentWriter::end (this=0x73f8f0) at ../../Source/WebCore/loader/DocumentWriter.cpp:246
#46 0x00007ffff35248db in WebCore::DocumentLoader::finishedLoading (this=0x73f850, finishTime=0) at ../../Source/WebCore/loader/DocumentLoader.cpp:440
#47 0x00007ffff3524644 in WebCore::DocumentLoader::notifyFinished (this=0x73f850, resource=0x8d3260) at ../../Source/WebCore/loader/DocumentLoader.cpp:374
#48 0x00007ffff35d5370 in WebCore::CachedResource::checkNotify (this=0x8d3260) at ../../Source/WebCore/loader/cache/CachedResource.cpp:293
#49 0x00007ffff35d546e in WebCore::CachedResource::finishLoading (this=0x8d3260) at ../../Source/WebCore/loader/cache/CachedResource.cpp:309
#50 0x00007ffff35d1b63 in WebCore::CachedRawResource::finishLoading (this=0x8d3260, data=0x74e330) at ../../Source/WebCore/loader/cache/CachedRawResource.cpp:104
#51 0x00007ffff358594c in WebCore::SubresourceLoader::didFinishLoading (this=0x8d3920, finishTime=0) at ../../Source/WebCore/loader/SubresourceLoader.cpp:306
#52 0x00007ffff35816e1 in WebCore::ResourceLoader::didFinishLoading (this=0x8d3920, finishTime=0) at ../../Source/WebCore/loader/ResourceLoader.cpp:508
#53 0x00007ffff3f303e1 in WebCore::readCallback (asyncResult=0x68b1d0, data=0x8d4b40) at ../../Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1300
#54 0x00007fffeb7ab7d6 in async_ready_callback_wrapper (source_object=0x7c66d0, res=0x68b1d0, user_data=user_data@entry=0x8d4b40) at ginputstream.c:523
#55 0x00007fffeb7d10d5 in g_task_return_now (task=0x68b1d0) at gtask.c:1077
#56 0x00007fffeb7d10f9 in complete_in_idle_cb (task=0x68b1d0) at gtask.c:1086
#57 0x00007fffeaa10a1d in g_main_dispatch (context=0x4780a0) at gmain.c:3064
#58 g_main_context_dispatch (context=context@entry=0x4780a0) at gmain.c:3663
#59 0x00007fffeaa10d88 in g_main_context_iterate (context=0x4780a0, block=block@entry=1, dispatch=dispatch@entry=1, self=&lt;optimized out&gt;) at gmain.c:3734
#60 0x00007fffeaa1104a in g_main_loop_run (loop=0x8eb810) at gmain.c:3928
#61 0x00007ffff45df9dc in WTF::RunLoop::run () at ../../Source/WTF/wtf/gtk/RunLoopGtk.cpp:59
#62 0x00007ffff2b44f82 in WebKit::ChildProcessMain&lt;WebKit::WebProcess, WebKit::WebProcessMain&gt; (argc=2, argv=0x7fffffffd978) at ../../Source/WebKit2/Shared/unix/ChildProcessMain.h:61
#63 0x00007ffff2b44de7 in WebKit::WebProcessMainUnix (argc=2, argv=0x7fffffffd978) at ../../Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp:73
#64 0x0000000000400891 in main (argc=2, argv=0x7fffffffd978) at ../../Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp:44</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065221</commentid>
    <comment_count>1</comment_count>
    <who name="Renata Hodovan">rhodovan.u-szeged</who>
    <bug_when>2015-01-29 06:42:51 -0800</bug_when>
    <thetext>It&apos;s reported to Blink too. Although, it&apos;s not fixed there either but it worth to keep an eye on it: crbug.com/381574.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173699</commentid>
    <comment_count>2</comment_count>
    <who name="Renata Hodovan">rhodovan.u-szeged</who>
    <bug_when>2016-03-11 04:44:12 -0800</bug_when>
    <thetext>It&apos;s still valid on ToT WebKit.
Validated on r197952 both with Mac and EFL builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217505</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-08-04 11:53:56 -0700</bug_when>
    <thetext>Reproduces in r204037.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217506</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-08-04 11:54:10 -0700</bug_when>
    <thetext>&lt;rdar://problem/27704243&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223310</commentid>
    <comment_count>5</comment_count>
      <attachid>287040</attachid>
    <who name="alan">zalan</who>
    <bug_when>2016-08-25 16:27:36 -0700</bug_when>
    <thetext>Created attachment 287040
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223311</commentid>
    <comment_count>6</comment_count>
      <attachid>287040</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-08-25 16:28:58 -0700</bug_when>
    <thetext>Comment on attachment 287040
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223318</commentid>
    <comment_count>7</comment_count>
      <attachid>287040</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-08-25 16:34:44 -0700</bug_when>
    <thetext>Comment on attachment 287040
Patch

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

&gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:939
&gt; +        expansionOpportunityCount -= expansionOpportunities.last()--;

Yuck no please ☹️😱😵</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223320</commentid>
    <comment_count>8</comment_count>
      <attachid>287040</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-08-25 16:36:03 -0700</bug_when>
    <thetext>Comment on attachment 287040
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:939
&gt;&gt; +        expansionOpportunityCount -= expansionOpportunities.last()--;
&gt; 
&gt; Yuck no please ☹️😱😵

Why do you know that expansionOpportunities.last() will either be 0 or 1?

I think this patch is incorrect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223329</commentid>
    <comment_count>9</comment_count>
      <attachid>287040</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-08-25 16:55:13 -0700</bug_when>
    <thetext>Comment on attachment 287040
Patch

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

&gt;&gt;&gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:939
&gt;&gt;&gt; +        expansionOpportunityCount -= expansionOpportunities.last()--;
&gt;&gt; 
&gt;&gt; Yuck no please ☹️😱😵
&gt; 
&gt; Why do you know that expansionOpportunities.last() will either be 0 or 1?
&gt; 
&gt; I think this patch is incorrect.

How do we get into a situation where platform/ code thinks we are after an expansion opportunity, but there&apos;s nothing in the array?

I think the broken code here is deeper. Perhaps there should be an ASSERT() here instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224106</commentid>
    <comment_count>10</comment_count>
      <attachid>287246</attachid>
    <who name="alan">zalan</who>
    <bug_when>2016-08-28 18:21:50 -0700</bug_when>
    <thetext>Created attachment 287246
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224308</commentid>
    <comment_count>11</comment_count>
      <attachid>287246</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-08-29 13:24:50 -0700</bug_when>
    <thetext>Comment on attachment 287246
Patch

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

&gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:946
&gt; +            ASSERT(expansionOpportunities.at(lastValidExpansionOpportunitiesIndex));

I think we should add an ASSERT() as well as a conditional to FontCascade::expansionOpportunityCountInternal() where we decrement &quot;count&quot; (to make sure it doesn&apos;t underflow).

Ultimately, it looks like FontCascade::expansionOpportunityCountInternal() doesn&apos;t really handle empty runs well.

&gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:948
&gt; +            expansionOpportunityCount--;

This whole thing seems pretty broken because WidthIterator::WidthIterator() and ComplexTextController::ComplexTextController() directly call FontCascade::expansionOpportunityCount(), but they don&apos;t decrement the results in this same way. In the future, we should probably use applyExpansionBehavior() to actually forbid the trailing expansion at the InlineBox level, so later paint calls will appropriately handle the removal of the last opportunity.

Anyway, that doesn&apos;t need to be done in this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224576</commentid>
    <comment_count>12</comment_count>
      <attachid>287398</attachid>
    <who name="alan">zalan</who>
    <bug_when>2016-08-30 09:22:42 -0700</bug_when>
    <thetext>Created attachment 287398
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224601</commentid>
    <comment_count>13</comment_count>
      <attachid>287398</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-30 10:27:23 -0700</bug_when>
    <thetext>Comment on attachment 287398
Patch

Rejecting attachment 287398 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 287398, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Myles Maxfield found in /Volumes/Data/EWS/WebKit/LayoutTests/ChangeLog does not appear to be a valid reviewer according to contributors.json.
/Volumes/Data/EWS/WebKit/LayoutTests/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://webkit-queues.webkit.org/results/1973988</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224603</commentid>
    <comment_count>14</comment_count>
      <attachid>287405</attachid>
    <who name="alan">zalan</who>
    <bug_when>2016-08-30 10:28:45 -0700</bug_when>
    <thetext>Created attachment 287405
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224618</commentid>
    <comment_count>15</comment_count>
      <attachid>287405</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-30 10:59:35 -0700</bug_when>
    <thetext>Comment on attachment 287405
Patch

Clearing flags on attachment: 287405

Committed r205186: &lt;http://trac.webkit.org/changeset/205186&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224619</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-30 10:59:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>242805</attachid>
            <date>2014-12-08 05:47:37 -0800</date>
            <delta_ts>2014-12-08 05:47:37 -0800</delta_ts>
            <desc>Test case</desc>
            <filename>crash.html</filename>
            <type>text/html</type>
            <size>113</size>
            <attacher name="Renata Hodovan">rhodovan.u-szeged</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxzdHlsZT4KOmZpcnN0LWxldHRlciwgKiB7CiAgICB3aGl0ZS1zcGFj
ZTpwcmUtd3JhcDsKfQoKPC9zdHlsZT4KPHJ1Ynk+YWEKICAgIDxydD4gIDwvcnQ+CjwvcnVieT4=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287040</attachid>
            <date>2016-08-25 16:27:36 -0700</date>
            <delta_ts>2016-08-25 17:08:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139393-20160825162534.patch</filename>
            <type>text/plain</type>
            <size>3843</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0OTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzY3NjMwNDRlYjU4YjE5
NjA0YjdiNjdiZTMyMjkzODFlMGEyZTYzMC4uNTY0ZDk5MjY0MTA5MzZiMzMzYmM1MjZlNjhmMjc1
ZDBiZDNkY2RiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE2LTA4LTI1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQVNTRVJUSU9OIEZBSUxFRDog
b3Bwb3J0dW5pdGllc0luUnVuIDw9IGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQgaW4gV2ViQ29y
ZTo6Y29tcHV0ZUV4cGFuc2lvbkZvckp1c3RpZmllZFRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTM5MworICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMjc3MDQyNDM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV2hpbGUgcmVtb3ZpbmcgJ2FmdGVyIGV4cGFuc2lvbicgb3Bwb3J0dW5pdGllcywgd2Ug
c2hvdWxkIHN1YnRyYWN0IHRoZSBhY3R1YWwgbnVtYmVyIG9mIAorICAgICAgICAnYWZ0ZXInIG9w
cG9ydHVuaXRpZXMgYW5kIG5vdCBqdXN0IGRlY3JlbWVudCBleHBhbnNpb25PcHBvcnR1bml0eUNv
dW50IGJ5IG9uZSAoc2luY2UKKyAgICAgICAgZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudCBob2xk
cyB0aGUgc3VtKQorCisgICAgICAgIFRlc3Q6IGZhc3QvdGV4dC9hc3NlcnQtb24tZXhwYW5zaW9u
LW9wcG9ydHVuaXR5Lmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVM
YXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93Ojpjb21wdXRlSW5s
aW5lRGlyZWN0aW9uUG9zaXRpb25zRm9yU2VnbWVudCk6CisKIDIwMTYtMDgtMjQgIEZyZWRlcmlj
IFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgogCiAgICAgICAgIERvIG5vdCBzdG9yZSBsYXlvdXQg
cGFyYW1ldGVycyBvbiB0aGUgUmVuZGVyTWF0aE1MUm9vdCBjbGFzcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAppbmRleCA2MzJjNWMw
NmUyOTkzM2RkNWYyY2EyODVlMWJkY2VmOTI2Mjc0M2MwLi5kNWI1MzM1OGYxOTZjNzc1ZGI5M2Q2
NjdlYjA4ZTQ5YzhmNWJhNjk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcApAQCAtOTM1LDEwICs5MzUsOCBAQCBCaWRpUnVuKiBS
ZW5kZXJCbG9ja0Zsb3c6OmNvbXB1dGVJbmxpbmVEaXJlY3Rpb25Qb3NpdGlvbnNGb3JTZWdtZW50
KFJvb3RJbmxpbmVCbwogICAgICAgICBwcmV2aW91c1J1biA9IHJ1bjsKICAgICB9CiAKLSAgICBp
ZiAoaXNBZnRlckV4cGFuc2lvbiAmJiAhZXhwYW5zaW9uT3Bwb3J0dW5pdGllcy5pc0VtcHR5KCkp
IHsKLSAgICAgICAgZXhwYW5zaW9uT3Bwb3J0dW5pdGllcy5sYXN0KCktLTsKLSAgICAgICAgZXhw
YW5zaW9uT3Bwb3J0dW5pdHlDb3VudC0tOwotICAgIH0KKyAgICBpZiAoaXNBZnRlckV4cGFuc2lv
biAmJiAhZXhwYW5zaW9uT3Bwb3J0dW5pdGllcy5pc0VtcHR5KCkpCisgICAgICAgIGV4cGFuc2lv
bk9wcG9ydHVuaXR5Q291bnQgLT0gZXhwYW5zaW9uT3Bwb3J0dW5pdGllcy5sYXN0KCktLTsKIAog
ICAgIGlmIChpczxSZW5kZXJSdWJ5QmFzZT4oKnRoaXMpICYmICFleHBhbnNpb25PcHBvcnR1bml0
eUNvdW50KQogICAgICAgICB0ZXh0QWxpZ24gPSBDRU5URVI7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDIxNjg2NWM2YmY1
MmM5MzQ1YjI3NTVkNmYyOWE5MGE5YjAxMDljYi4uNDI2MDAzYzY1NDIyMDhkMzYwYzJmNGZhZTIz
ZTY0MDE0ODUxZTMyZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE2LTA4LTI1ICBaYWxhbiBC
dWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQVNTRVJUSU9OIEZBSUxFRDogb3Bw
b3J0dW5pdGllc0luUnVuIDw9IGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQgaW4gV2ViQ29yZTo6
Y29tcHV0ZUV4cGFuc2lvbkZvckp1c3RpZmllZFRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTM5MworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
Mjc3MDQyNDM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBmYXN0L3RleHQvYXNzZXJ0LW9uLWV4cGFuc2lvbi1vcHBvcnR1bml0eS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9hc3NlcnQtb24tZXhwYW5zaW9uLW9wcG9y
dHVuaXR5Lmh0bWw6IEFkZGVkLgorCiAyMDE2LTA4LTI1ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9s
bGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIHRlc3QgZ2FyZGVuaW5nLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Fzc2VydC1vbi1leHBhbnNpb24tb3Bwb3J0
dW5pdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Fzc2VydC1vbi1leHBh
bnNpb24tb3Bwb3J0dW5pdHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkwNTVjOTM0MThkMzFi
OWE3YTY5MDBhYjZmMzEyMjMzOTIzYzFlOTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQvYXNzZXJ0LW9uLWV4cGFuc2lvbi1vcHBvcnR1bml0eS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw5IEBACisKKworUGFzcyBpZiBubyBhc3NlcnQgaW4gRGVidWcuCithYQorICAg
ICAgCisKKworCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9hc3NlcnQtb24t
ZXhwYW5zaW9uLW9wcG9ydHVuaXR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvYXNzZXJ0
LW9uLWV4cGFuc2lvbi1vcHBvcnR1bml0eS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxNDZmMzQ5MzBlYjI5
YTE3NmJhZmFkYjNiZGE3OGZiNjEwZTdlZjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQvYXNzZXJ0LW9uLWV4cGFuc2lvbi1vcHBvcnR1bml0eS5odG1sCkBAIC0wLDAg
KzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5UaGlzIHRl
c3RzIHRoYXQgd2UgY29tcHV0ZSBleHBhbnNpb24gb3Bwb3J0dW5pdGllcyBwcm9wZXJseS48L3Rp
dGxlPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKzwvc2NyaXB0PgorPHN0eWxlPgorOmZpcnN0LWxldHRlciwgKiB7CisgICAg
d2hpdGUtc3BhY2U6IHByZS13cmFwOworfQorCis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CitQ
YXNzIGlmIG5vIGFzc2VydCBpbiBEZWJ1Zy4KKzxydWJ5PmFhCisgICAgPHJ0PiAgPC9ydD4KKzwv
cnVieT4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="310528"
          type_id="1"
          status="-"
          setter="mmaxfield"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287246</attachid>
            <date>2016-08-28 18:21:50 -0700</date>
            <delta_ts>2016-08-30 09:22:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139393-20160828181941.patch</filename>
            <type>text/plain</type>
            <size>8481</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0OTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzY3NjMwNDRlYjU4YjE5
NjA0YjdiNjdiZTMyMjkzODFlMGEyZTYzMC4uNDhhZTBhZjBmODZhMWQ1NTJlZjI2NjlkMjFkMzlk
NTE0MzYwZTUwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE2LTA4LTI1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQVNTRVJUSU9OIEZBSUxFRDog
b3Bwb3J0dW5pdGllc0luUnVuIDw9IGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQgaW4gV2ViQ29y
ZTo6Y29tcHV0ZUV4cGFuc2lvbkZvckp1c3RpZmllZFRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTM5MworICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMjc3MDQyNDM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhpcyBwYXRjaCBlbnN1cmVzIHRoYXQgd2UgYWx3YXlzIHJlbW92ZSBhIHZhbGlkICdh
ZnRlciBleHBhbnNpb24nIG9wcG9ydHVuaXR5IChldmVuIHdoZW4gdGhlIGxhc3QgZW50cnkKKyAg
ICAgICAgaW4gdGhlIG9wcG9ydHVuaXRpZXMgbGlzdCBpcyAwKS4KKworICAgICAgICBUZXN0OiBm
YXN0L3RleHQvYXNzZXJ0LW9uLWV4cGFuc2lvbi1vcHBvcnR1bml0eS5odG1sCisKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJsb2NrRmxvdzo6Y29tcHV0ZUlubGluZURpcmVjdGlvblBvc2l0aW9uc0ZvclNlZ21l
bnQpOgorCiAyMDE2LTA4LTI0ICBGcmVkZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBEbyBub3Qgc3RvcmUgbGF5b3V0IHBhcmFtZXRlcnMgb24gdGhlIFJlbmRlck1hdGhN
TFJvb3QgY2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9ja0xpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
TGluZUxheW91dC5jcHAKaW5kZXggNjMyYzVjMDZlMjk5MzNkZDVmMmNhMjg1ZTFiZGNlZjkyNjI3
NDNjMC4uNzdiZTc2YTRiZDU3N2RiMTI4NjRiNmQ1Yzc1MGQ1YzY0MTYwMWE4MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKQEAg
LTg1Myw2ICs4NTMsMjEgQEAgQmlkaVJ1biogUmVuZGVyQmxvY2tGbG93Ojpjb21wdXRlSW5saW5l
RGlyZWN0aW9uUG9zaXRpb25zRm9yU2VnbWVudChSb290SW5saW5lQm8KICAgICBCaWRpUnVuKiBy
dW4gPSBmaXJzdFJ1bjsKICAgICBCaWRpUnVuKiBwcmV2aW91c1J1biA9IG51bGxwdHI7CiAgICAg
Zm9yICg7IHJ1bjsgcnVuID0gcnVuLT5uZXh0KCkpIHsKKyAgICAgICAgYXV0byBjb21wdXRlRXhw
YW5zaW9uT3Bwb3J0dW5pdGllcyA9IFsmZXhwYW5zaW9uT3Bwb3J0dW5pdGllcywgJmV4cGFuc2lv
bk9wcG9ydHVuaXR5Q291bnQsIHRleHRBbGlnbiwgJmlzQWZ0ZXJFeHBhbnNpb25dIChSZW5kZXJC
bG9ja0Zsb3cmIGJsb2NrLAorICAgICAgICAgICAgSW5saW5lVGV4dEJveCYgdGV4dEJveCwgQmlk
aVJ1biogcHJldmlvdXNSdW4sIEJpZGlSdW4qIG5leHRSdW4sIGNvbnN0IFN0cmluZ1ZpZXcmIHN0
cmluZ1ZpZXcsIFRleHREaXJlY3Rpb24gZGlyZWN0aW9uKQorICAgICAgICB7CisgICAgICAgICAg
ICBpZiAoc3RyaW5nVmlldy5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICAvLyBFbXB0eSBy
dW5zIHNob3VsZCBzdGlsbCBwcm9kdWNlIGFuIGVudHJ5IGluIGV4cGFuc2lvbk9wcG9ydHVuaXRp
ZXMgbGlzdCBzbyB0aGF0IHRoZSBudW1iZXIgb2YgaXRlbXMgbWF0Y2hlcyB0aGUgbnVtYmVyIG9m
IHJ1bnMuCisgICAgICAgICAgICAgICAgZXhwYW5zaW9uT3Bwb3J0dW5pdGllcy5hcHBlbmQoMCk7
CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgRXhw
YW5zaW9uQmVoYXZpb3IgZXhwYW5zaW9uQmVoYXZpb3IgPSBleHBhbnNpb25CZWhhdmlvckZvcklu
bGluZVRleHRCb3goYmxvY2ssIHRleHRCb3gsIHByZXZpb3VzUnVuLCBuZXh0UnVuLCB0ZXh0QWxp
Z24sIGlzQWZ0ZXJFeHBhbnNpb24pOworICAgICAgICAgICAgYXBwbHlFeHBhbnNpb25CZWhhdmlv
cih0ZXh0Qm94LCBleHBhbnNpb25CZWhhdmlvcik7CisgICAgICAgICAgICB1bnNpZ25lZCBvcHBv
cnR1bml0aWVzSW5SdW47CisgICAgICAgICAgICBzdGQ6OnRpZShvcHBvcnR1bml0aWVzSW5SdW4s
IGlzQWZ0ZXJFeHBhbnNpb24pID0gRm9udENhc2NhZGU6OmV4cGFuc2lvbk9wcG9ydHVuaXR5Q291
bnQoc3RyaW5nVmlldywgZGlyZWN0aW9uLCBleHBhbnNpb25CZWhhdmlvcik7CisgICAgICAgICAg
ICBleHBhbnNpb25PcHBvcnR1bml0aWVzLmFwcGVuZChvcHBvcnR1bml0aWVzSW5SdW4pOworICAg
ICAgICAgICAgZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudCArPSBvcHBvcnR1bml0aWVzSW5SdW47
CisgICAgICAgIH07CiAgICAgICAgIGlmICghcnVuLT5ib3goKSB8fCBydW4tPnJlbmRlcmVyKCku
aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwgcnVuLT5ib3goKS0+aXNMaW5lQnJlYWsoKSkgewog
ICAgICAgICAgICAgY29udGludWU7IC8vIFBvc2l0aW9uZWQgb2JqZWN0cyBhcmUgb25seSBwYXJ0
aWNpcGF0aW5nIHRvIGZpZ3VyZSBvdXQgdGhlaXIKICAgICAgICAgICAgICAgICAgICAgICAvLyBj
b3JyZWN0IHN0YXRpYyB4IHBvc2l0aW9uLiAgVGhleSBoYXZlIG5vIGVmZmVjdCBvbiB0aGUgd2lk
dGguCkBAIC04NzksMTQgKzg5NCw4IEBAIEJpZGlSdW4qIFJlbmRlckJsb2NrRmxvdzo6Y29tcHV0
ZUlubGluZURpcmVjdGlvblBvc2l0aW9uc0ZvclNlZ21lbnQoUm9vdElubGluZUJvCiAgICAgICAg
ICAgICAgICAgY2FuSGFuZ1B1bmN0dWF0aW9uQXRFbmQgPSBmYWxzZTsKICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKHRleHRBbGlnbiA9PSBKVVNUSUZZICYmIHJ1
biAhPSB0cmFpbGluZ1NwYWNlUnVuKSB7Ci0gICAgICAgICAgICAgICAgRXhwYW5zaW9uQmVoYXZp
b3IgZXhwYW5zaW9uQmVoYXZpb3IgPSBleHBhbnNpb25CZWhhdmlvckZvcklubGluZVRleHRCb3go
KnRoaXMsIHRleHRCb3gsIHByZXZpb3VzUnVuLCBydW4tPm5leHQoKSwgdGV4dEFsaWduLCBpc0Fm
dGVyRXhwYW5zaW9uKTsKLSAgICAgICAgICAgICAgICBhcHBseUV4cGFuc2lvbkJlaGF2aW9yKHRl
eHRCb3gsIGV4cGFuc2lvbkJlaGF2aW9yKTsKLSAgICAgICAgICAgICAgICB1bnNpZ25lZCBvcHBv
cnR1bml0aWVzSW5SdW47Ci0gICAgICAgICAgICAgICAgc3RkOjp0aWUob3Bwb3J0dW5pdGllc0lu
UnVuLCBpc0FmdGVyRXhwYW5zaW9uKSA9IEZvbnRDYXNjYWRlOjpleHBhbnNpb25PcHBvcnR1bml0
eUNvdW50KHJlbmRlclRleHQuc3RyaW5nVmlldyhydW4tPm1fc3RhcnQsIHJ1bi0+bV9zdG9wKSwg
cnVuLT5ib3goKS0+ZGlyZWN0aW9uKCksIGV4cGFuc2lvbkJlaGF2aW9yKTsKLSAgICAgICAgICAg
ICAgICBleHBhbnNpb25PcHBvcnR1bml0aWVzLmFwcGVuZChvcHBvcnR1bml0aWVzSW5SdW4pOwot
ICAgICAgICAgICAgICAgIGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQgKz0gb3Bwb3J0dW5pdGll
c0luUnVuOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHRleHRBbGlnbiA9PSBKVVNU
SUZZICYmIHJ1biAhPSB0cmFpbGluZ1NwYWNlUnVuKQorICAgICAgICAgICAgICAgIGNvbXB1dGVF
eHBhbnNpb25PcHBvcnR1bml0aWVzKCp0aGlzLCB0ZXh0Qm94LCBwcmV2aW91c1J1biwgcnVuLT5u
ZXh0KCksIHJlbmRlclRleHQuc3RyaW5nVmlldyhydW4tPm1fc3RhcnQsIHJ1bi0+bV9zdG9wKSwg
cnVuLT5ib3goKS0+ZGlyZWN0aW9uKCkpOwogCiAgICAgICAgICAgICBpZiAodW5zaWduZWQgbGVu
Z3RoID0gcmVuZGVyVGV4dC50ZXh0TGVuZ3RoKCkpIHsKICAgICAgICAgICAgICAgICBpZiAoIXJ1
bi0+bV9zdGFydCAmJiBuZWVkc1dvcmRTcGFjaW5nICYmIGlzU3BhY2VPck5ld2xpbmUocmVuZGVy
VGV4dC5jaGFyYWN0ZXJBdChydW4tPm1fc3RhcnQpKSkKQEAgLTkwNiwxNSArOTE1LDkgQEAgQmlk
aVJ1biogUmVuZGVyQmxvY2tGbG93Ojpjb21wdXRlSW5saW5lRGlyZWN0aW9uUG9zaXRpb25zRm9y
U2VnbWVudChSb290SW5saW5lQm8KICAgICAgICAgICAgICAgICAgICAgZm9yIChhdXRvKiBsZWFm
Q2hpbGQgPSBydWJ5QmFzZS0+Zmlyc3RSb290Qm94KCktPmZpcnN0TGVhZkNoaWxkKCk7IGxlYWZD
aGlsZDsgbGVhZkNoaWxkID0gbGVhZkNoaWxkLT5uZXh0TGVhZkNoaWxkKCkpIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmICghaXM8SW5saW5lVGV4dEJveD4oKmxlYWZDaGlsZCkpCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBhdXRvJiB0ZXh0Qm94ID0gZG93bmNhc3Q8SW5saW5lVGV4dEJveD4oKmxlYWZDaGlsZCk7CiAg
ICAgICAgICAgICAgICAgICAgICAgICBlbmNvdW50ZXJlZEp1c3RpZmllZFJ1YnkgPSB0cnVlOwot
ICAgICAgICAgICAgICAgICAgICAgICAgYXV0byYgcmVuZGVyVGV4dCA9IGRvd25jYXN0PFJlbmRl
clRleHQ+KGxlYWZDaGlsZC0+cmVuZGVyZXIoKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBF
eHBhbnNpb25CZWhhdmlvciBleHBhbnNpb25CZWhhdmlvciA9IGV4cGFuc2lvbkJlaGF2aW9yRm9y
SW5saW5lVGV4dEJveCgqcnVieUJhc2UsIHRleHRCb3gsIG51bGxwdHIsIG51bGxwdHIsIHRleHRB
bGlnbiwgaXNBZnRlckV4cGFuc2lvbik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhcHBseUV4
cGFuc2lvbkJlaGF2aW9yKHRleHRCb3gsIGV4cGFuc2lvbkJlaGF2aW9yKTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIG9wcG9ydHVuaXRpZXNJblJ1bjsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHN0ZDo6dGllKG9wcG9ydHVuaXRpZXNJblJ1biwgaXNBZnRlckV4cGFuc2lvbikg
PSBGb250Q2FzY2FkZTo6ZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudChyZW5kZXJUZXh0LnN0cmlu
Z1ZpZXcoKSwgbGVhZkNoaWxkLT5kaXJlY3Rpb24oKSwgZXhwYW5zaW9uQmVoYXZpb3IpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgZXhwYW5zaW9uT3Bwb3J0dW5pdGllcy5hcHBlbmQob3Bwb3J0
dW5pdGllc0luUnVuKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGV4cGFuc2lvbk9wcG9ydHVu
aXR5Q291bnQgKz0gb3Bwb3J0dW5pdGllc0luUnVuOworICAgICAgICAgICAgICAgICAgICAgICAg
Y29tcHV0ZUV4cGFuc2lvbk9wcG9ydHVuaXRpZXMoKnJ1YnlCYXNlLCBkb3duY2FzdDxJbmxpbmVU
ZXh0Qm94PigqbGVhZkNoaWxkKSwgbnVsbHB0ciwgbnVsbHB0ciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkb3duY2FzdDxSZW5kZXJUZXh0PihsZWFmQ2hpbGQtPnJlbmRlcmVyKCkpLnN0
cmluZ1ZpZXcoKSwgbGVhZkNoaWxkLT5kaXJlY3Rpb24oKSk7CiAgICAgICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CkBAIC05MzYsOCArOTM5LDE0IEBA
IEJpZGlSdW4qIFJlbmRlckJsb2NrRmxvdzo6Y29tcHV0ZUlubGluZURpcmVjdGlvblBvc2l0aW9u
c0ZvclNlZ21lbnQoUm9vdElubGluZUJvCiAgICAgfQogCiAgICAgaWYgKGlzQWZ0ZXJFeHBhbnNp
b24gJiYgIWV4cGFuc2lvbk9wcG9ydHVuaXRpZXMuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGV4cGFu
c2lvbk9wcG9ydHVuaXRpZXMubGFzdCgpLS07Ci0gICAgICAgIGV4cGFuc2lvbk9wcG9ydHVuaXR5
Q291bnQtLTsKKyAgICAgICAgaW50IGxhc3RWYWxpZEV4cGFuc2lvbk9wcG9ydHVuaXRpZXNJbmRl
eCA9IGV4cGFuc2lvbk9wcG9ydHVuaXRpZXMuc2l6ZSgpIC0gMTsKKyAgICAgICAgd2hpbGUgKGxh
c3RWYWxpZEV4cGFuc2lvbk9wcG9ydHVuaXRpZXNJbmRleCA+PSAwICYmICFleHBhbnNpb25PcHBv
cnR1bml0aWVzLmF0KGxhc3RWYWxpZEV4cGFuc2lvbk9wcG9ydHVuaXRpZXNJbmRleCkpCisgICAg
ICAgICAgICAtLWxhc3RWYWxpZEV4cGFuc2lvbk9wcG9ydHVuaXRpZXNJbmRleDsKKyAgICAgICAg
aWYgKGxhc3RWYWxpZEV4cGFuc2lvbk9wcG9ydHVuaXRpZXNJbmRleCA+PSAwKSB7CisgICAgICAg
ICAgICBBU1NFUlQoZXhwYW5zaW9uT3Bwb3J0dW5pdGllcy5hdChsYXN0VmFsaWRFeHBhbnNpb25P
cHBvcnR1bml0aWVzSW5kZXgpKTsKKyAgICAgICAgICAgIGV4cGFuc2lvbk9wcG9ydHVuaXRpZXMu
YXQobGFzdFZhbGlkRXhwYW5zaW9uT3Bwb3J0dW5pdGllc0luZGV4KS0tOworICAgICAgICAgICAg
ZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudC0tOworICAgICAgICB9CiAgICAgfQogCiAgICAgaWYg
KGlzPFJlbmRlclJ1YnlCYXNlPigqdGhpcykgJiYgIWV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggMDIxNjg2NWM2YmY1MmM5MzQ1YjI3NTVkNmYyOWE5MGE5YjAxMDljYi4uNDI2MDAz
YzY1NDIyMDhkMzYwYzJmNGZhZTIzZTY0MDE0ODUxZTMyZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDE2LTA4LTI1ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAg
QVNTRVJUSU9OIEZBSUxFRDogb3Bwb3J0dW5pdGllc0luUnVuIDw9IGV4cGFuc2lvbk9wcG9ydHVu
aXR5Q291bnQgaW4gV2ViQ29yZTo6Y29tcHV0ZUV4cGFuc2lvbkZvckp1c3RpZmllZFRleHQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTM5MworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMjc3MDQyNDM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3RleHQvYXNzZXJ0LW9uLWV4cGFuc2lvbi1v
cHBvcnR1bml0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9hc3Nl
cnQtb24tZXhwYW5zaW9uLW9wcG9ydHVuaXR5Lmh0bWw6IEFkZGVkLgorCiAyMDE2LTA4LTI1ICBQ
ZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2Vk
IHRlc3QgZ2FyZGVuaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Fzc2Vy
dC1vbi1leHBhbnNpb24tb3Bwb3J0dW5pdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L2Fzc2VydC1vbi1leHBhbnNpb24tb3Bwb3J0dW5pdHktZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjkwNTVjOTM0MThkMzFiOWE3YTY5MDBhYjZmMzEyMjMzOTIzYzFlOTUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvYXNzZXJ0LW9uLWV4cGFuc2lvbi1vcHBv
cnR1bml0eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACisKKworUGFzcyBpZiBubyBhc3Nl
cnQgaW4gRGVidWcuCithYQorICAgICAgCisKKworCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC9hc3NlcnQtb24tZXhwYW5zaW9uLW9wcG9ydHVuaXR5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQvYXNzZXJ0LW9uLWV4cGFuc2lvbi1vcHBvcnR1bml0eS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgxNDZmMzQ5MzBlYjI5YTE3NmJhZmFkYjNiZGE3OGZiNjEwZTdlZjcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvYXNzZXJ0LW9uLWV4cGFuc2lvbi1vcHBv
cnR1bml0eS5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5UaGlzIHRlc3RzIHRoYXQgd2UgY29tcHV0ZSBleHBhbnNpb24gb3Bwb3J0
dW5pdGllcyBwcm9wZXJseS48L3RpdGxlPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKzwvc2NyaXB0PgorPHN0eWxlPgorOmZp
cnN0LWxldHRlciwgKiB7CisgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOworfQorCis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+CitQYXNzIGlmIG5vIGFzc2VydCBpbiBEZWJ1Zy4KKzxydWJ5PmFh
CisgICAgPHJ0PiAgPC9ydD4KKzwvcnVieT4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287398</attachid>
            <date>2016-08-30 09:22:42 -0700</date>
            <delta_ts>2016-08-30 10:28:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139393-20160830092030.patch</filename>
            <type>text/plain</type>
            <size>13357</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0OTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzY3NjMwNDRlYjU4YjE5
NjA0YjdiNjdiZTMyMjkzODFlMGEyZTYzMC4uMzk0YTM1N2ZmZTdjZDI4MmE2YTQ0YjE3MDg0ODY1
OWRkZDdiMTdlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE2LTA4LTI1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQVNTRVJUSU9OIEZBSUxFRDog
b3Bwb3J0dW5pdGllc0luUnVuIDw9IGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQgaW4gV2ViQ29y
ZTo6Y29tcHV0ZUV4cGFuc2lvbkZvckp1c3RpZmllZFRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTM5MworICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMjc3MDQyNDM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTXlsZXMgTWF4ZmllbGQuCisKKyAg
ICAgICAgVGhpcyBwYXRjaCBlbnN1cmVzIHRoYXQgd2UgYWx3YXlzIHJlbW92ZSBhIHZhbGlkICdh
ZnRlciBleHBhbnNpb24nIG9wcG9ydHVuaXR5IChldmVuIHdoZW4gdGhlIGxhc3QgZW50cnkKKyAg
ICAgICAgaW4gdGhlIG9wcG9ydHVuaXRpZXMgbGlzdCBpcyAwKS4KKworICAgICAgICBUZXN0OiBm
YXN0L3RleHQvYXNzZXJ0LW9uLWV4cGFuc2lvbi1vcHBvcnR1bml0eS5odG1sCisKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJsb2NrRmxvdzo6Y29tcHV0ZUlubGluZURpcmVjdGlvblBvc2l0aW9uc0ZvclNlZ21l
bnQpOgorCiAyMDE2LTA4LTI0ICBGcmVkZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBEbyBub3Qgc3RvcmUgbGF5b3V0IHBhcmFtZXRlcnMgb24gdGhlIFJlbmRlck1hdGhN
TFJvb3QgY2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRDYXNjYWRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRD
YXNjYWRlLmNwcAppbmRleCAzODY2OTkxZjA4OGRiMTU5ZDUwY2QzN2JhMmEzMWNiY2I0OTEwY2E0
Li5hZTk3NTE4YjE2OWUxMDFjN2JmZWMxODMwMjg4MzEwMzBhODJlNmI4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCkBAIC05NTgsNyAr
OTU4LDcgQEAgYm9vbCBGb250Q2FzY2FkZTo6aXNDSktJZGVvZ3JhcGhPclN5bWJvbChVQ2hhcjMy
IGMpCiAgICAgcmV0dXJuIGlzQ0pLSWRlb2dyYXBoKGMpOwogfQogCi1zdGQ6OnBhaXI8dW5zaWdu
ZWQsIGJvb2w+IEZvbnRDYXNjYWRlOjpleHBhbnNpb25PcHBvcnR1bml0eUNvdW50SW50ZXJuYWwo
Y29uc3QgTENoYXIqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5ndGgsIFRleHREaXJlY3Rpb24gZGly
ZWN0aW9uLCBFeHBhbnNpb25CZWhhdmlvciBleHBhbnNpb25CZWhhdmlvcikKK3N0ZDo6cGFpcjx1
bnNpZ25lZCwgYm9vbD4gRm9udENhc2NhZGU6OmV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnRJbnRl
cm5hbChjb25zdCBMQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoLCBUZXh0RGlyZWN0
aW9uIGRpcmVjdGlvbiwgRXhwYW5zaW9uQmVoYXZpb3IgZXhwYW5zaW9uQmVoYXZpb3IpCiB7CiAg
ICAgdW5zaWduZWQgY291bnQgPSAwOwogICAgIGJvb2wgaXNBZnRlckV4cGFuc2lvbiA9IChleHBh
bnNpb25CZWhhdmlvciAmIExlYWRpbmdFeHBhbnNpb25NYXNrKSA9PSBGb3JiaWRMZWFkaW5nRXhw
YW5zaW9uOwpAQCAtOTY3LDcgKzk2Nyw3IEBAIHN0ZDo6cGFpcjx1bnNpZ25lZCwgYm9vbD4gRm9u
dENhc2NhZGU6OmV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnRJbnRlcm5hbChjb25zdCBMCiAgICAg
ICAgIGlzQWZ0ZXJFeHBhbnNpb24gPSB0cnVlOwogICAgIH0KICAgICBpZiAoZGlyZWN0aW9uID09
IExUUikgewotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7Cisg
ICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgewogICAgICAgICAg
ICAgaWYgKHRyZWF0QXNTcGFjZShjaGFyYWN0ZXJzW2ldKSkgewogICAgICAgICAgICAgICAgIGNv
dW50Kys7CiAgICAgICAgICAgICAgICAgaXNBZnRlckV4cGFuc2lvbiA9IHRydWU7CkBAIC05NzUs
NyArOTc1LDcgQEAgc3RkOjpwYWlyPHVuc2lnbmVkLCBib29sPiBGb250Q2FzY2FkZTo6ZXhwYW5z
aW9uT3Bwb3J0dW5pdHlDb3VudEludGVybmFsKGNvbnN0IEwKICAgICAgICAgICAgICAgICBpc0Fm
dGVyRXhwYW5zaW9uID0gZmFsc2U7CiAgICAgICAgIH0KICAgICB9IGVsc2UgewotICAgICAgICBm
b3IgKHNpemVfdCBpID0gbGVuZ3RoOyBpID4gMDsgLS1pKSB7CisgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IGxlbmd0aDsgaSA+IDA7IC0taSkgewogICAgICAgICAgICAgaWYgKHRyZWF0QXNTcGFj
ZShjaGFyYWN0ZXJzW2kgLSAxXSkpIHsKICAgICAgICAgICAgICAgICBjb3VudCsrOwogICAgICAg
ICAgICAgICAgIGlzQWZ0ZXJFeHBhbnNpb24gPSB0cnVlOwpAQCAtOTg3LDEzICs5ODcsMTQgQEAg
c3RkOjpwYWlyPHVuc2lnbmVkLCBib29sPiBGb250Q2FzY2FkZTo6ZXhwYW5zaW9uT3Bwb3J0dW5p
dHlDb3VudEludGVybmFsKGNvbnN0IEwKICAgICAgICAgKytjb3VudDsKICAgICAgICAgaXNBZnRl
ckV4cGFuc2lvbiA9IHRydWU7CiAgICAgfSBlbHNlIGlmIChpc0FmdGVyRXhwYW5zaW9uICYmIChl
eHBhbnNpb25CZWhhdmlvciAmIFRyYWlsaW5nRXhwYW5zaW9uTWFzaykgPT0gRm9yYmlkVHJhaWxp
bmdFeHBhbnNpb24pIHsKKyAgICAgICAgQVNTRVJUKGNvdW50KTsKICAgICAgICAgLS1jb3VudDsK
ICAgICAgICAgaXNBZnRlckV4cGFuc2lvbiA9IGZhbHNlOwogICAgIH0KICAgICByZXR1cm4gc3Rk
OjptYWtlX3BhaXIoY291bnQsIGlzQWZ0ZXJFeHBhbnNpb24pOwogfQogCi1zdGQ6OnBhaXI8dW5z
aWduZWQsIGJvb2w+IEZvbnRDYXNjYWRlOjpleHBhbnNpb25PcHBvcnR1bml0eUNvdW50SW50ZXJu
YWwoY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5ndGgsIFRleHREaXJlY3Rpb24g
ZGlyZWN0aW9uLCBFeHBhbnNpb25CZWhhdmlvciBleHBhbnNpb25CZWhhdmlvcikKK3N0ZDo6cGFp
cjx1bnNpZ25lZCwgYm9vbD4gRm9udENhc2NhZGU6OmV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnRJ
bnRlcm5hbChjb25zdCBVQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoLCBUZXh0RGly
ZWN0aW9uIGRpcmVjdGlvbiwgRXhwYW5zaW9uQmVoYXZpb3IgZXhwYW5zaW9uQmVoYXZpb3IpCiB7
CiAgICAgc3RhdGljIGJvb2wgZXhwYW5kQXJvdW5kSWRlb2dyYXBocyA9IGNhbkV4cGFuZEFyb3Vu
ZElkZW9ncmFwaHNJbkNvbXBsZXhUZXh0KCk7CiAgICAgdW5zaWduZWQgY291bnQgPSAwOwpAQCAt
MTAwMyw3ICsxMDA0LDcgQEAgc3RkOjpwYWlyPHVuc2lnbmVkLCBib29sPiBGb250Q2FzY2FkZTo6
ZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudEludGVybmFsKGNvbnN0IFUKICAgICAgICAgaXNBZnRl
ckV4cGFuc2lvbiA9IHRydWU7CiAgICAgfQogICAgIGlmIChkaXJlY3Rpb24gPT0gTFRSKSB7Ci0g
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKKyAgICAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgICBVQ2hhcjMy
IGNoYXJhY3RlciA9IGNoYXJhY3RlcnNbaV07CiAgICAgICAgICAgICBpZiAodHJlYXRBc1NwYWNl
KGNoYXJhY3RlcikpIHsKICAgICAgICAgICAgICAgICBjb3VudCsrOwpAQCAtMTAyNCw3ICsxMDI1
LDcgQEAgc3RkOjpwYWlyPHVuc2lnbmVkLCBib29sPiBGb250Q2FzY2FkZTo6ZXhwYW5zaW9uT3Bw
b3J0dW5pdHlDb3VudEludGVybmFsKGNvbnN0IFUKICAgICAgICAgICAgIGlzQWZ0ZXJFeHBhbnNp
b24gPSBmYWxzZTsKICAgICAgICAgfQogICAgIH0gZWxzZSB7Ci0gICAgICAgIGZvciAoc2l6ZV90
IGkgPSBsZW5ndGg7IGkgPiAwOyAtLWkpIHsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gbGVu
Z3RoOyBpID4gMDsgLS1pKSB7CiAgICAgICAgICAgICBVQ2hhcjMyIGNoYXJhY3RlciA9IGNoYXJh
Y3RlcnNbaSAtIDFdOwogICAgICAgICAgICAgaWYgKHRyZWF0QXNTcGFjZShjaGFyYWN0ZXIpKSB7
CiAgICAgICAgICAgICAgICAgY291bnQrKzsKQEAgLTEwNDksNiArMTA1MCw3IEBAIHN0ZDo6cGFp
cjx1bnNpZ25lZCwgYm9vbD4gRm9udENhc2NhZGU6OmV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnRJ
bnRlcm5hbChjb25zdCBVCiAgICAgICAgICsrY291bnQ7CiAgICAgICAgIGlzQWZ0ZXJFeHBhbnNp
b24gPSB0cnVlOwogICAgIH0gZWxzZSBpZiAoaXNBZnRlckV4cGFuc2lvbiAmJiAoZXhwYW5zaW9u
QmVoYXZpb3IgJiBUcmFpbGluZ0V4cGFuc2lvbk1hc2spID09IEZvcmJpZFRyYWlsaW5nRXhwYW5z
aW9uKSB7CisgICAgICAgIEFTU0VSVChjb3VudCk7CiAgICAgICAgIC0tY291bnQ7CiAgICAgICAg
IGlzQWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaAppbmRleCBiMWZmYWNlMTA4NGIxNzA5ODA0NjZi
NDg2NWU2NDYyODU4OTJmNmRhLi5lNjJjNDU3MjRiNGVhOTVmMGM0ZGQ2YjA0OTg4ZDJiYzlhYTJj
NGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2Fz
Y2FkZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRl
LmgKQEAgLTIzOSw4ICsyMzksOCBAQCBwcml2YXRlOgogICAgIGludCBvZmZzZXRGb3JQb3NpdGlv
bkZvckNvbXBsZXhUZXh0KGNvbnN0IFRleHRSdW4mLCBmbG9hdCBwb3NpdGlvbiwgYm9vbCBpbmNs
dWRlUGFydGlhbEdseXBocykgY29uc3Q7CiAgICAgdm9pZCBhZGp1c3RTZWxlY3Rpb25SZWN0Rm9y
Q29tcGxleFRleHQoY29uc3QgVGV4dFJ1biYsIExheW91dFJlY3QmIHNlbGVjdGlvblJlY3QsIHVu
c2lnbmVkIGZyb20sIHVuc2lnbmVkIHRvKSBjb25zdDsKIAotICAgIHN0YXRpYyBzdGQ6OnBhaXI8
dW5zaWduZWQsIGJvb2w+IGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnRJbnRlcm5hbChjb25zdCBM
Q2hhciosIHNpemVfdCBsZW5ndGgsIFRleHREaXJlY3Rpb24sIEV4cGFuc2lvbkJlaGF2aW9yKTsK
LSAgICBzdGF0aWMgc3RkOjpwYWlyPHVuc2lnbmVkLCBib29sPiBleHBhbnNpb25PcHBvcnR1bml0
eUNvdW50SW50ZXJuYWwoY29uc3QgVUNoYXIqLCBzaXplX3QgbGVuZ3RoLCBUZXh0RGlyZWN0aW9u
LCBFeHBhbnNpb25CZWhhdmlvcik7CisgICAgc3RhdGljIHN0ZDo6cGFpcjx1bnNpZ25lZCwgYm9v
bD4gZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudEludGVybmFsKGNvbnN0IExDaGFyKiwgdW5zaWdu
ZWQgbGVuZ3RoLCBUZXh0RGlyZWN0aW9uLCBFeHBhbnNpb25CZWhhdmlvcik7CisgICAgc3RhdGlj
IHN0ZDo6cGFpcjx1bnNpZ25lZCwgYm9vbD4gZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudEludGVy
bmFsKGNvbnN0IFVDaGFyKiwgdW5zaWduZWQgbGVuZ3RoLCBUZXh0RGlyZWN0aW9uLCBFeHBhbnNp
b25CZWhhdmlvcik7CiAKICAgICBmcmllbmQgc3RydWN0IFdpZHRoSXRlcmF0b3I7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKaW5k
ZXggNjMyYzVjMDZlMjk5MzNkZDVmMmNhMjg1ZTFiZGNlZjkyNjI3NDNjMC4uYmFmMTdhOWNmYjc1
NjdiNjBiZTI4MTE0NTExMjQ4NTQwYjhhM2JjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKQEAgLTg1Myw2ICs4NTMsMjEgQEAg
QmlkaVJ1biogUmVuZGVyQmxvY2tGbG93Ojpjb21wdXRlSW5saW5lRGlyZWN0aW9uUG9zaXRpb25z
Rm9yU2VnbWVudChSb290SW5saW5lQm8KICAgICBCaWRpUnVuKiBydW4gPSBmaXJzdFJ1bjsKICAg
ICBCaWRpUnVuKiBwcmV2aW91c1J1biA9IG51bGxwdHI7CiAgICAgZm9yICg7IHJ1bjsgcnVuID0g
cnVuLT5uZXh0KCkpIHsKKyAgICAgICAgYXV0byBjb21wdXRlRXhwYW5zaW9uT3Bwb3J0dW5pdGll
cyA9IFsmZXhwYW5zaW9uT3Bwb3J0dW5pdGllcywgJmV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQs
IHRleHRBbGlnbiwgJmlzQWZ0ZXJFeHBhbnNpb25dIChSZW5kZXJCbG9ja0Zsb3cmIGJsb2NrLAor
ICAgICAgICAgICAgSW5saW5lVGV4dEJveCYgdGV4dEJveCwgQmlkaVJ1biogcHJldmlvdXNSdW4s
IEJpZGlSdW4qIG5leHRSdW4sIGNvbnN0IFN0cmluZ1ZpZXcmIHN0cmluZ1ZpZXcsIFRleHREaXJl
Y3Rpb24gZGlyZWN0aW9uKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoc3RyaW5nVmlldy5p
c0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICAvLyBFbXB0eSBydW5zIHNob3VsZCBzdGlsbCBw
cm9kdWNlIGFuIGVudHJ5IGluIGV4cGFuc2lvbk9wcG9ydHVuaXRpZXMgbGlzdCBzbyB0aGF0IHRo
ZSBudW1iZXIgb2YgaXRlbXMgbWF0Y2hlcyB0aGUgbnVtYmVyIG9mIHJ1bnMuCisgICAgICAgICAg
ICAgICAgZXhwYW5zaW9uT3Bwb3J0dW5pdGllcy5hcHBlbmQoMCk7CisgICAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgRXhwYW5zaW9uQmVoYXZpb3IgZXhw
YW5zaW9uQmVoYXZpb3IgPSBleHBhbnNpb25CZWhhdmlvckZvcklubGluZVRleHRCb3goYmxvY2ss
IHRleHRCb3gsIHByZXZpb3VzUnVuLCBuZXh0UnVuLCB0ZXh0QWxpZ24sIGlzQWZ0ZXJFeHBhbnNp
b24pOworICAgICAgICAgICAgYXBwbHlFeHBhbnNpb25CZWhhdmlvcih0ZXh0Qm94LCBleHBhbnNp
b25CZWhhdmlvcik7CisgICAgICAgICAgICB1bnNpZ25lZCBvcHBvcnR1bml0aWVzSW5SdW47Cisg
ICAgICAgICAgICBzdGQ6OnRpZShvcHBvcnR1bml0aWVzSW5SdW4sIGlzQWZ0ZXJFeHBhbnNpb24p
ID0gRm9udENhc2NhZGU6OmV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQoc3RyaW5nVmlldywgZGly
ZWN0aW9uLCBleHBhbnNpb25CZWhhdmlvcik7CisgICAgICAgICAgICBleHBhbnNpb25PcHBvcnR1
bml0aWVzLmFwcGVuZChvcHBvcnR1bml0aWVzSW5SdW4pOworICAgICAgICAgICAgZXhwYW5zaW9u
T3Bwb3J0dW5pdHlDb3VudCArPSBvcHBvcnR1bml0aWVzSW5SdW47CisgICAgICAgIH07CiAgICAg
ICAgIGlmICghcnVuLT5ib3goKSB8fCBydW4tPnJlbmRlcmVyKCkuaXNPdXRPZkZsb3dQb3NpdGlv
bmVkKCkgfHwgcnVuLT5ib3goKS0+aXNMaW5lQnJlYWsoKSkgewogICAgICAgICAgICAgY29udGlu
dWU7IC8vIFBvc2l0aW9uZWQgb2JqZWN0cyBhcmUgb25seSBwYXJ0aWNpcGF0aW5nIHRvIGZpZ3Vy
ZSBvdXQgdGhlaXIKICAgICAgICAgICAgICAgICAgICAgICAvLyBjb3JyZWN0IHN0YXRpYyB4IHBv
c2l0aW9uLiAgVGhleSBoYXZlIG5vIGVmZmVjdCBvbiB0aGUgd2lkdGguCkBAIC04NzksMTQgKzg5
NCw4IEBAIEJpZGlSdW4qIFJlbmRlckJsb2NrRmxvdzo6Y29tcHV0ZUlubGluZURpcmVjdGlvblBv
c2l0aW9uc0ZvclNlZ21lbnQoUm9vdElubGluZUJvCiAgICAgICAgICAgICAgICAgY2FuSGFuZ1B1
bmN0dWF0aW9uQXRFbmQgPSBmYWxzZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIAotICAg
ICAgICAgICAgaWYgKHRleHRBbGlnbiA9PSBKVVNUSUZZICYmIHJ1biAhPSB0cmFpbGluZ1NwYWNl
UnVuKSB7Ci0gICAgICAgICAgICAgICAgRXhwYW5zaW9uQmVoYXZpb3IgZXhwYW5zaW9uQmVoYXZp
b3IgPSBleHBhbnNpb25CZWhhdmlvckZvcklubGluZVRleHRCb3goKnRoaXMsIHRleHRCb3gsIHBy
ZXZpb3VzUnVuLCBydW4tPm5leHQoKSwgdGV4dEFsaWduLCBpc0FmdGVyRXhwYW5zaW9uKTsKLSAg
ICAgICAgICAgICAgICBhcHBseUV4cGFuc2lvbkJlaGF2aW9yKHRleHRCb3gsIGV4cGFuc2lvbkJl
aGF2aW9yKTsKLSAgICAgICAgICAgICAgICB1bnNpZ25lZCBvcHBvcnR1bml0aWVzSW5SdW47Ci0g
ICAgICAgICAgICAgICAgc3RkOjp0aWUob3Bwb3J0dW5pdGllc0luUnVuLCBpc0FmdGVyRXhwYW5z
aW9uKSA9IEZvbnRDYXNjYWRlOjpleHBhbnNpb25PcHBvcnR1bml0eUNvdW50KHJlbmRlclRleHQu
c3RyaW5nVmlldyhydW4tPm1fc3RhcnQsIHJ1bi0+bV9zdG9wKSwgcnVuLT5ib3goKS0+ZGlyZWN0
aW9uKCksIGV4cGFuc2lvbkJlaGF2aW9yKTsKLSAgICAgICAgICAgICAgICBleHBhbnNpb25PcHBv
cnR1bml0aWVzLmFwcGVuZChvcHBvcnR1bml0aWVzSW5SdW4pOwotICAgICAgICAgICAgICAgIGV4
cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQgKz0gb3Bwb3J0dW5pdGllc0luUnVuOwotICAgICAgICAg
ICAgfQorICAgICAgICAgICAgaWYgKHRleHRBbGlnbiA9PSBKVVNUSUZZICYmIHJ1biAhPSB0cmFp
bGluZ1NwYWNlUnVuKQorICAgICAgICAgICAgICAgIGNvbXB1dGVFeHBhbnNpb25PcHBvcnR1bml0
aWVzKCp0aGlzLCB0ZXh0Qm94LCBwcmV2aW91c1J1biwgcnVuLT5uZXh0KCksIHJlbmRlclRleHQu
c3RyaW5nVmlldyhydW4tPm1fc3RhcnQsIHJ1bi0+bV9zdG9wKSwgcnVuLT5ib3goKS0+ZGlyZWN0
aW9uKCkpOwogCiAgICAgICAgICAgICBpZiAodW5zaWduZWQgbGVuZ3RoID0gcmVuZGVyVGV4dC50
ZXh0TGVuZ3RoKCkpIHsKICAgICAgICAgICAgICAgICBpZiAoIXJ1bi0+bV9zdGFydCAmJiBuZWVk
c1dvcmRTcGFjaW5nICYmIGlzU3BhY2VPck5ld2xpbmUocmVuZGVyVGV4dC5jaGFyYWN0ZXJBdChy
dW4tPm1fc3RhcnQpKSkKQEAgLTkwNiwxNSArOTE1LDkgQEAgQmlkaVJ1biogUmVuZGVyQmxvY2tG
bG93Ojpjb21wdXRlSW5saW5lRGlyZWN0aW9uUG9zaXRpb25zRm9yU2VnbWVudChSb290SW5saW5l
Qm8KICAgICAgICAgICAgICAgICAgICAgZm9yIChhdXRvKiBsZWFmQ2hpbGQgPSBydWJ5QmFzZS0+
Zmlyc3RSb290Qm94KCktPmZpcnN0TGVhZkNoaWxkKCk7IGxlYWZDaGlsZDsgbGVhZkNoaWxkID0g
bGVhZkNoaWxkLT5uZXh0TGVhZkNoaWxkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICghaXM8SW5saW5lVGV4dEJveD4oKmxlYWZDaGlsZCkpCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhdXRvJiB0ZXh0Qm94ID0g
ZG93bmNhc3Q8SW5saW5lVGV4dEJveD4oKmxlYWZDaGlsZCk7CiAgICAgICAgICAgICAgICAgICAg
ICAgICBlbmNvdW50ZXJlZEp1c3RpZmllZFJ1YnkgPSB0cnVlOwotICAgICAgICAgICAgICAgICAg
ICAgICAgYXV0byYgcmVuZGVyVGV4dCA9IGRvd25jYXN0PFJlbmRlclRleHQ+KGxlYWZDaGlsZC0+
cmVuZGVyZXIoKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBFeHBhbnNpb25CZWhhdmlvciBl
eHBhbnNpb25CZWhhdmlvciA9IGV4cGFuc2lvbkJlaGF2aW9yRm9ySW5saW5lVGV4dEJveCgqcnVi
eUJhc2UsIHRleHRCb3gsIG51bGxwdHIsIG51bGxwdHIsIHRleHRBbGlnbiwgaXNBZnRlckV4cGFu
c2lvbik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhcHBseUV4cGFuc2lvbkJlaGF2aW9yKHRl
eHRCb3gsIGV4cGFuc2lvbkJlaGF2aW9yKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIG9wcG9ydHVuaXRpZXNJblJ1bjsKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6dGll
KG9wcG9ydHVuaXRpZXNJblJ1biwgaXNBZnRlckV4cGFuc2lvbikgPSBGb250Q2FzY2FkZTo6ZXhw
YW5zaW9uT3Bwb3J0dW5pdHlDb3VudChyZW5kZXJUZXh0LnN0cmluZ1ZpZXcoKSwgbGVhZkNoaWxk
LT5kaXJlY3Rpb24oKSwgZXhwYW5zaW9uQmVoYXZpb3IpOwotICAgICAgICAgICAgICAgICAgICAg
ICAgZXhwYW5zaW9uT3Bwb3J0dW5pdGllcy5hcHBlbmQob3Bwb3J0dW5pdGllc0luUnVuKTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQgKz0gb3Bwb3J0
dW5pdGllc0luUnVuOworICAgICAgICAgICAgICAgICAgICAgICAgY29tcHV0ZUV4cGFuc2lvbk9w
cG9ydHVuaXRpZXMoKnJ1YnlCYXNlLCBkb3duY2FzdDxJbmxpbmVUZXh0Qm94PigqbGVhZkNoaWxk
KSwgbnVsbHB0ciwgbnVsbHB0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3duY2Fz
dDxSZW5kZXJUZXh0PihsZWFmQ2hpbGQtPnJlbmRlcmVyKCkpLnN0cmluZ1ZpZXcoKSwgbGVhZkNo
aWxkLT5kaXJlY3Rpb24oKSk7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICB9CkBAIC05MzYsOCArOTM5LDE1IEBAIEJpZGlSdW4qIFJlbmRlckJs
b2NrRmxvdzo6Y29tcHV0ZUlubGluZURpcmVjdGlvblBvc2l0aW9uc0ZvclNlZ21lbnQoUm9vdElu
bGluZUJvCiAgICAgfQogCiAgICAgaWYgKGlzQWZ0ZXJFeHBhbnNpb24gJiYgIWV4cGFuc2lvbk9w
cG9ydHVuaXRpZXMuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGV4cGFuc2lvbk9wcG9ydHVuaXRpZXMu
bGFzdCgpLS07Ci0gICAgICAgIGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQtLTsKKyAgICAgICAg
Ly8gRklYTUU6IHNlZSA8d2Via2l0Lm9yZy9iLzEzOTM5MyNjMTE+CisgICAgICAgIGludCBsYXN0
VmFsaWRFeHBhbnNpb25PcHBvcnR1bml0aWVzSW5kZXggPSBleHBhbnNpb25PcHBvcnR1bml0aWVz
LnNpemUoKSAtIDE7CisgICAgICAgIHdoaWxlIChsYXN0VmFsaWRFeHBhbnNpb25PcHBvcnR1bml0
aWVzSW5kZXggPj0gMCAmJiAhZXhwYW5zaW9uT3Bwb3J0dW5pdGllcy5hdChsYXN0VmFsaWRFeHBh
bnNpb25PcHBvcnR1bml0aWVzSW5kZXgpKQorICAgICAgICAgICAgLS1sYXN0VmFsaWRFeHBhbnNp
b25PcHBvcnR1bml0aWVzSW5kZXg7CisgICAgICAgIGlmIChsYXN0VmFsaWRFeHBhbnNpb25PcHBv
cnR1bml0aWVzSW5kZXggPj0gMCkgeworICAgICAgICAgICAgQVNTRVJUKGV4cGFuc2lvbk9wcG9y
dHVuaXRpZXMuYXQobGFzdFZhbGlkRXhwYW5zaW9uT3Bwb3J0dW5pdGllc0luZGV4KSk7CisgICAg
ICAgICAgICBleHBhbnNpb25PcHBvcnR1bml0aWVzLmF0KGxhc3RWYWxpZEV4cGFuc2lvbk9wcG9y
dHVuaXRpZXNJbmRleCktLTsKKyAgICAgICAgICAgIGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQt
LTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGlmIChpczxSZW5kZXJSdWJ5QmFzZT4oKnRoaXMp
ICYmICFleHBhbnNpb25PcHBvcnR1bml0eUNvdW50KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDAyMTY4NjVjNmJmNTJjOTM0
NWIyNzU1ZDZmMjlhOTBhOWIwMTA5Y2IuLjk2ZWU3MGIzMGQyYzMwYzk3ZGFhZTI1NGUwYmQxNWUw
YzFiMmUwOWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNi0wOC0yNSAgWmFsYW4gQnVqdGFz
ICA8emFsYW5AYXBwbGUuY29tPgorCisgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6IG9wcG9ydHVu
aXRpZXNJblJ1biA8PSBleHBhbnNpb25PcHBvcnR1bml0eUNvdW50IGluIFdlYkNvcmU6OmNvbXB1
dGVFeHBhbnNpb25Gb3JKdXN0aWZpZWRUZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMzkzOTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI3NzA0
MjQzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE15bGVzIE1heGZpZWxkLgorCisgICAgICAgICog
ZmFzdC90ZXh0L2Fzc2VydC1vbi1leHBhbnNpb24tb3Bwb3J0dW5pdHktZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvYXNzZXJ0LW9uLWV4cGFuc2lvbi1vcHBvcnR1bml0
eS5odG1sOiBBZGRlZC4KKwogMjAxNi0wOC0yNSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBh
cHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCB0ZXN0IGdhcmRlbmluZy4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9hc3NlcnQtb24tZXhwYW5zaW9uLW9wcG9ydHVuaXR5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9hc3NlcnQtb24tZXhwYW5zaW9u
LW9wcG9ydHVuaXR5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MDU1YzkzNDE4ZDMxYjlhN2E2
OTAwYWI2ZjMxMjIzMzkyM2MxZTk1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L2Fzc2VydC1vbi1leHBhbnNpb24tb3Bwb3J0dW5pdHktZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsOSBAQAorCisKK1Bhc3MgaWYgbm8gYXNzZXJ0IGluIERlYnVnLgorYWEKKyAgICAgIAor
CisKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvYXNzZXJ0LW9uLWV4cGFu
c2lvbi1vcHBvcnR1bml0eS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Fzc2VydC1vbi1l
eHBhbnNpb24tb3Bwb3J0dW5pdHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTQ2ZjM0OTMwZWIyOWExNzZi
YWZhZGIzYmRhNzhmYjYxMGU3ZWY3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L2Fzc2VydC1vbi1leHBhbnNpb24tb3Bwb3J0dW5pdHkuaHRtbApAQCAtMCwwICsxLDIy
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+VGhpcyB0ZXN0cyB0
aGF0IHdlIGNvbXB1dGUgZXhwYW5zaW9uIG9wcG9ydHVuaXRpZXMgcHJvcGVybHkuPC90aXRsZT4K
KzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7Cis8L3NjcmlwdD4KKzxzdHlsZT4KKzpmaXJzdC1sZXR0ZXIsICogeworICAgIHdoaXRl
LXNwYWNlOiBwcmUtd3JhcDsKK30KKworPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorUGFzcyBp
ZiBubyBhc3NlcnQgaW4gRGVidWcuCis8cnVieT5hYQorICAgIDxydD4gIDwvcnQ+Cis8L3J1Ynk+
Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287405</attachid>
            <date>2016-08-30 10:28:45 -0700</date>
            <delta_ts>2016-08-30 10:59:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139393-20160830102634.patch</filename>
            <type>text/plain</type>
            <size>13363</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0OTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzY3NjMwNDRlYjU4YjE5
NjA0YjdiNjdiZTMyMjkzODFlMGEyZTYzMC4uYWI4NmI4NmU0NDczNWY4MGY0ZTk5YmY0NDEwYWIz
M2Q5MzU2ZGU4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE2LTA4LTI1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQVNTRVJUSU9OIEZBSUxFRDog
b3Bwb3J0dW5pdGllc0luUnVuIDw9IGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQgaW4gV2ViQ29y
ZTo6Y29tcHV0ZUV4cGFuc2lvbkZvckp1c3RpZmllZFRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTM5MworICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMjc3MDQyNDM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTXlsZXMgQy4gTWF4ZmllbGQuCisK
KyAgICAgICAgVGhpcyBwYXRjaCBlbnN1cmVzIHRoYXQgd2UgYWx3YXlzIHJlbW92ZSBhIHZhbGlk
ICdhZnRlciBleHBhbnNpb24nIG9wcG9ydHVuaXR5IChldmVuIHdoZW4gdGhlIGxhc3QgZW50cnkK
KyAgICAgICAgaW4gdGhlIG9wcG9ydHVuaXRpZXMgbGlzdCBpcyAwKS4KKworICAgICAgICBUZXN0
OiBmYXN0L3RleHQvYXNzZXJ0LW9uLWV4cGFuc2lvbi1vcHBvcnR1bml0eS5odG1sCisKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJsb2NrRmxvdzo6Y29tcHV0ZUlubGluZURpcmVjdGlvblBvc2l0aW9uc0ZvclNl
Z21lbnQpOgorCiAyMDE2LTA4LTI0ICBGcmVkZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4K
IAogICAgICAgICBEbyBub3Qgc3RvcmUgbGF5b3V0IHBhcmFtZXRlcnMgb24gdGhlIFJlbmRlck1h
dGhNTFJvb3QgY2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYXNjYWRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRDYXNjYWRlLmNwcAppbmRleCAzODY2OTkxZjA4OGRiMTU5ZDUwY2QzN2JhMmEzMWNiY2I0OTEw
Y2E0Li5hZTk3NTE4YjE2OWUxMDFjN2JmZWMxODMwMjg4MzEwMzBhODJlNmI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCkBAIC05NTgs
NyArOTU4LDcgQEAgYm9vbCBGb250Q2FzY2FkZTo6aXNDSktJZGVvZ3JhcGhPclN5bWJvbChVQ2hh
cjMyIGMpCiAgICAgcmV0dXJuIGlzQ0pLSWRlb2dyYXBoKGMpOwogfQogCi1zdGQ6OnBhaXI8dW5z
aWduZWQsIGJvb2w+IEZvbnRDYXNjYWRlOjpleHBhbnNpb25PcHBvcnR1bml0eUNvdW50SW50ZXJu
YWwoY29uc3QgTENoYXIqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5ndGgsIFRleHREaXJlY3Rpb24g
ZGlyZWN0aW9uLCBFeHBhbnNpb25CZWhhdmlvciBleHBhbnNpb25CZWhhdmlvcikKK3N0ZDo6cGFp
cjx1bnNpZ25lZCwgYm9vbD4gRm9udENhc2NhZGU6OmV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnRJ
bnRlcm5hbChjb25zdCBMQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoLCBUZXh0RGly
ZWN0aW9uIGRpcmVjdGlvbiwgRXhwYW5zaW9uQmVoYXZpb3IgZXhwYW5zaW9uQmVoYXZpb3IpCiB7
CiAgICAgdW5zaWduZWQgY291bnQgPSAwOwogICAgIGJvb2wgaXNBZnRlckV4cGFuc2lvbiA9IChl
eHBhbnNpb25CZWhhdmlvciAmIExlYWRpbmdFeHBhbnNpb25NYXNrKSA9PSBGb3JiaWRMZWFkaW5n
RXhwYW5zaW9uOwpAQCAtOTY3LDcgKzk2Nyw3IEBAIHN0ZDo6cGFpcjx1bnNpZ25lZCwgYm9vbD4g
Rm9udENhc2NhZGU6OmV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnRJbnRlcm5hbChjb25zdCBMCiAg
ICAgICAgIGlzQWZ0ZXJFeHBhbnNpb24gPSB0cnVlOwogICAgIH0KICAgICBpZiAoZGlyZWN0aW9u
ID09IExUUikgewotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7
CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgewogICAgICAg
ICAgICAgaWYgKHRyZWF0QXNTcGFjZShjaGFyYWN0ZXJzW2ldKSkgewogICAgICAgICAgICAgICAg
IGNvdW50Kys7CiAgICAgICAgICAgICAgICAgaXNBZnRlckV4cGFuc2lvbiA9IHRydWU7CkBAIC05
NzUsNyArOTc1LDcgQEAgc3RkOjpwYWlyPHVuc2lnbmVkLCBib29sPiBGb250Q2FzY2FkZTo6ZXhw
YW5zaW9uT3Bwb3J0dW5pdHlDb3VudEludGVybmFsKGNvbnN0IEwKICAgICAgICAgICAgICAgICBp
c0FmdGVyRXhwYW5zaW9uID0gZmFsc2U7CiAgICAgICAgIH0KICAgICB9IGVsc2UgewotICAgICAg
ICBmb3IgKHNpemVfdCBpID0gbGVuZ3RoOyBpID4gMDsgLS1pKSB7CisgICAgICAgIGZvciAodW5z
aWduZWQgaSA9IGxlbmd0aDsgaSA+IDA7IC0taSkgewogICAgICAgICAgICAgaWYgKHRyZWF0QXNT
cGFjZShjaGFyYWN0ZXJzW2kgLSAxXSkpIHsKICAgICAgICAgICAgICAgICBjb3VudCsrOwogICAg
ICAgICAgICAgICAgIGlzQWZ0ZXJFeHBhbnNpb24gPSB0cnVlOwpAQCAtOTg3LDEzICs5ODcsMTQg
QEAgc3RkOjpwYWlyPHVuc2lnbmVkLCBib29sPiBGb250Q2FzY2FkZTo6ZXhwYW5zaW9uT3Bwb3J0
dW5pdHlDb3VudEludGVybmFsKGNvbnN0IEwKICAgICAgICAgKytjb3VudDsKICAgICAgICAgaXNB
ZnRlckV4cGFuc2lvbiA9IHRydWU7CiAgICAgfSBlbHNlIGlmIChpc0FmdGVyRXhwYW5zaW9uICYm
IChleHBhbnNpb25CZWhhdmlvciAmIFRyYWlsaW5nRXhwYW5zaW9uTWFzaykgPT0gRm9yYmlkVHJh
aWxpbmdFeHBhbnNpb24pIHsKKyAgICAgICAgQVNTRVJUKGNvdW50KTsKICAgICAgICAgLS1jb3Vu
dDsKICAgICAgICAgaXNBZnRlckV4cGFuc2lvbiA9IGZhbHNlOwogICAgIH0KICAgICByZXR1cm4g
c3RkOjptYWtlX3BhaXIoY291bnQsIGlzQWZ0ZXJFeHBhbnNpb24pOwogfQogCi1zdGQ6OnBhaXI8
dW5zaWduZWQsIGJvb2w+IEZvbnRDYXNjYWRlOjpleHBhbnNpb25PcHBvcnR1bml0eUNvdW50SW50
ZXJuYWwoY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5ndGgsIFRleHREaXJlY3Rp
b24gZGlyZWN0aW9uLCBFeHBhbnNpb25CZWhhdmlvciBleHBhbnNpb25CZWhhdmlvcikKK3N0ZDo6
cGFpcjx1bnNpZ25lZCwgYm9vbD4gRm9udENhc2NhZGU6OmV4cGFuc2lvbk9wcG9ydHVuaXR5Q291
bnRJbnRlcm5hbChjb25zdCBVQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoLCBUZXh0
RGlyZWN0aW9uIGRpcmVjdGlvbiwgRXhwYW5zaW9uQmVoYXZpb3IgZXhwYW5zaW9uQmVoYXZpb3Ip
CiB7CiAgICAgc3RhdGljIGJvb2wgZXhwYW5kQXJvdW5kSWRlb2dyYXBocyA9IGNhbkV4cGFuZEFy
b3VuZElkZW9ncmFwaHNJbkNvbXBsZXhUZXh0KCk7CiAgICAgdW5zaWduZWQgY291bnQgPSAwOwpA
QCAtMTAwMyw3ICsxMDA0LDcgQEAgc3RkOjpwYWlyPHVuc2lnbmVkLCBib29sPiBGb250Q2FzY2Fk
ZTo6ZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudEludGVybmFsKGNvbnN0IFUKICAgICAgICAgaXNB
ZnRlckV4cGFuc2lvbiA9IHRydWU7CiAgICAgfQogICAgIGlmIChkaXJlY3Rpb24gPT0gTFRSKSB7
Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKKyAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgICBVQ2hh
cjMyIGNoYXJhY3RlciA9IGNoYXJhY3RlcnNbaV07CiAgICAgICAgICAgICBpZiAodHJlYXRBc1Nw
YWNlKGNoYXJhY3RlcikpIHsKICAgICAgICAgICAgICAgICBjb3VudCsrOwpAQCAtMTAyNCw3ICsx
MDI1LDcgQEAgc3RkOjpwYWlyPHVuc2lnbmVkLCBib29sPiBGb250Q2FzY2FkZTo6ZXhwYW5zaW9u
T3Bwb3J0dW5pdHlDb3VudEludGVybmFsKGNvbnN0IFUKICAgICAgICAgICAgIGlzQWZ0ZXJFeHBh
bnNpb24gPSBmYWxzZTsKICAgICAgICAgfQogICAgIH0gZWxzZSB7Ci0gICAgICAgIGZvciAoc2l6
ZV90IGkgPSBsZW5ndGg7IGkgPiAwOyAtLWkpIHsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
bGVuZ3RoOyBpID4gMDsgLS1pKSB7CiAgICAgICAgICAgICBVQ2hhcjMyIGNoYXJhY3RlciA9IGNo
YXJhY3RlcnNbaSAtIDFdOwogICAgICAgICAgICAgaWYgKHRyZWF0QXNTcGFjZShjaGFyYWN0ZXIp
KSB7CiAgICAgICAgICAgICAgICAgY291bnQrKzsKQEAgLTEwNDksNiArMTA1MCw3IEBAIHN0ZDo6
cGFpcjx1bnNpZ25lZCwgYm9vbD4gRm9udENhc2NhZGU6OmV4cGFuc2lvbk9wcG9ydHVuaXR5Q291
bnRJbnRlcm5hbChjb25zdCBVCiAgICAgICAgICsrY291bnQ7CiAgICAgICAgIGlzQWZ0ZXJFeHBh
bnNpb24gPSB0cnVlOwogICAgIH0gZWxzZSBpZiAoaXNBZnRlckV4cGFuc2lvbiAmJiAoZXhwYW5z
aW9uQmVoYXZpb3IgJiBUcmFpbGluZ0V4cGFuc2lvbk1hc2spID09IEZvcmJpZFRyYWlsaW5nRXhw
YW5zaW9uKSB7CisgICAgICAgIEFTU0VSVChjb3VudCk7CiAgICAgICAgIC0tY291bnQ7CiAgICAg
ICAgIGlzQWZ0ZXJFeHBhbnNpb24gPSBmYWxzZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuaAppbmRleCBiMWZmYWNlMTA4NGIxNzA5ODA0
NjZiNDg2NWU2NDYyODU4OTJmNmRhLi5lNjJjNDU3MjRiNGVhOTVmMGM0ZGQ2YjA0OTg4ZDJiYzlh
YTJjNGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FzY2FkZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNj
YWRlLmgKQEAgLTIzOSw4ICsyMzksOCBAQCBwcml2YXRlOgogICAgIGludCBvZmZzZXRGb3JQb3Np
dGlvbkZvckNvbXBsZXhUZXh0KGNvbnN0IFRleHRSdW4mLCBmbG9hdCBwb3NpdGlvbiwgYm9vbCBp
bmNsdWRlUGFydGlhbEdseXBocykgY29uc3Q7CiAgICAgdm9pZCBhZGp1c3RTZWxlY3Rpb25SZWN0
Rm9yQ29tcGxleFRleHQoY29uc3QgVGV4dFJ1biYsIExheW91dFJlY3QmIHNlbGVjdGlvblJlY3Qs
IHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIHRvKSBjb25zdDsKIAotICAgIHN0YXRpYyBzdGQ6OnBh
aXI8dW5zaWduZWQsIGJvb2w+IGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnRJbnRlcm5hbChjb25z
dCBMQ2hhciosIHNpemVfdCBsZW5ndGgsIFRleHREaXJlY3Rpb24sIEV4cGFuc2lvbkJlaGF2aW9y
KTsKLSAgICBzdGF0aWMgc3RkOjpwYWlyPHVuc2lnbmVkLCBib29sPiBleHBhbnNpb25PcHBvcnR1
bml0eUNvdW50SW50ZXJuYWwoY29uc3QgVUNoYXIqLCBzaXplX3QgbGVuZ3RoLCBUZXh0RGlyZWN0
aW9uLCBFeHBhbnNpb25CZWhhdmlvcik7CisgICAgc3RhdGljIHN0ZDo6cGFpcjx1bnNpZ25lZCwg
Ym9vbD4gZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudEludGVybmFsKGNvbnN0IExDaGFyKiwgdW5z
aWduZWQgbGVuZ3RoLCBUZXh0RGlyZWN0aW9uLCBFeHBhbnNpb25CZWhhdmlvcik7CisgICAgc3Rh
dGljIHN0ZDo6cGFpcjx1bnNpZ25lZCwgYm9vbD4gZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudElu
dGVybmFsKGNvbnN0IFVDaGFyKiwgdW5zaWduZWQgbGVuZ3RoLCBUZXh0RGlyZWN0aW9uLCBFeHBh
bnNpb25CZWhhdmlvcik7CiAKICAgICBmcmllbmQgc3RydWN0IFdpZHRoSXRlcmF0b3I7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAK
aW5kZXggNjMyYzVjMDZlMjk5MzNkZDVmMmNhMjg1ZTFiZGNlZjkyNjI3NDNjMC4uYmFmMTdhOWNm
Yjc1NjdiNjBiZTI4MTE0NTExMjQ4NTQwYjhhM2JjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKQEAgLTg1Myw2ICs4NTMsMjEg
QEAgQmlkaVJ1biogUmVuZGVyQmxvY2tGbG93Ojpjb21wdXRlSW5saW5lRGlyZWN0aW9uUG9zaXRp
b25zRm9yU2VnbWVudChSb290SW5saW5lQm8KICAgICBCaWRpUnVuKiBydW4gPSBmaXJzdFJ1bjsK
ICAgICBCaWRpUnVuKiBwcmV2aW91c1J1biA9IG51bGxwdHI7CiAgICAgZm9yICg7IHJ1bjsgcnVu
ID0gcnVuLT5uZXh0KCkpIHsKKyAgICAgICAgYXV0byBjb21wdXRlRXhwYW5zaW9uT3Bwb3J0dW5p
dGllcyA9IFsmZXhwYW5zaW9uT3Bwb3J0dW5pdGllcywgJmV4cGFuc2lvbk9wcG9ydHVuaXR5Q291
bnQsIHRleHRBbGlnbiwgJmlzQWZ0ZXJFeHBhbnNpb25dIChSZW5kZXJCbG9ja0Zsb3cmIGJsb2Nr
LAorICAgICAgICAgICAgSW5saW5lVGV4dEJveCYgdGV4dEJveCwgQmlkaVJ1biogcHJldmlvdXNS
dW4sIEJpZGlSdW4qIG5leHRSdW4sIGNvbnN0IFN0cmluZ1ZpZXcmIHN0cmluZ1ZpZXcsIFRleHRE
aXJlY3Rpb24gZGlyZWN0aW9uKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoc3RyaW5nVmll
dy5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgICAgICAvLyBFbXB0eSBydW5zIHNob3VsZCBzdGls
bCBwcm9kdWNlIGFuIGVudHJ5IGluIGV4cGFuc2lvbk9wcG9ydHVuaXRpZXMgbGlzdCBzbyB0aGF0
IHRoZSBudW1iZXIgb2YgaXRlbXMgbWF0Y2hlcyB0aGUgbnVtYmVyIG9mIHJ1bnMuCisgICAgICAg
ICAgICAgICAgZXhwYW5zaW9uT3Bwb3J0dW5pdGllcy5hcHBlbmQoMCk7CisgICAgICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgRXhwYW5zaW9uQmVoYXZpb3Ig
ZXhwYW5zaW9uQmVoYXZpb3IgPSBleHBhbnNpb25CZWhhdmlvckZvcklubGluZVRleHRCb3goYmxv
Y2ssIHRleHRCb3gsIHByZXZpb3VzUnVuLCBuZXh0UnVuLCB0ZXh0QWxpZ24sIGlzQWZ0ZXJFeHBh
bnNpb24pOworICAgICAgICAgICAgYXBwbHlFeHBhbnNpb25CZWhhdmlvcih0ZXh0Qm94LCBleHBh
bnNpb25CZWhhdmlvcik7CisgICAgICAgICAgICB1bnNpZ25lZCBvcHBvcnR1bml0aWVzSW5SdW47
CisgICAgICAgICAgICBzdGQ6OnRpZShvcHBvcnR1bml0aWVzSW5SdW4sIGlzQWZ0ZXJFeHBhbnNp
b24pID0gRm9udENhc2NhZGU6OmV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQoc3RyaW5nVmlldywg
ZGlyZWN0aW9uLCBleHBhbnNpb25CZWhhdmlvcik7CisgICAgICAgICAgICBleHBhbnNpb25PcHBv
cnR1bml0aWVzLmFwcGVuZChvcHBvcnR1bml0aWVzSW5SdW4pOworICAgICAgICAgICAgZXhwYW5z
aW9uT3Bwb3J0dW5pdHlDb3VudCArPSBvcHBvcnR1bml0aWVzSW5SdW47CisgICAgICAgIH07CiAg
ICAgICAgIGlmICghcnVuLT5ib3goKSB8fCBydW4tPnJlbmRlcmVyKCkuaXNPdXRPZkZsb3dQb3Np
dGlvbmVkKCkgfHwgcnVuLT5ib3goKS0+aXNMaW5lQnJlYWsoKSkgewogICAgICAgICAgICAgY29u
dGludWU7IC8vIFBvc2l0aW9uZWQgb2JqZWN0cyBhcmUgb25seSBwYXJ0aWNpcGF0aW5nIHRvIGZp
Z3VyZSBvdXQgdGhlaXIKICAgICAgICAgICAgICAgICAgICAgICAvLyBjb3JyZWN0IHN0YXRpYyB4
IHBvc2l0aW9uLiAgVGhleSBoYXZlIG5vIGVmZmVjdCBvbiB0aGUgd2lkdGguCkBAIC04NzksMTQg
Kzg5NCw4IEBAIEJpZGlSdW4qIFJlbmRlckJsb2NrRmxvdzo6Y29tcHV0ZUlubGluZURpcmVjdGlv
blBvc2l0aW9uc0ZvclNlZ21lbnQoUm9vdElubGluZUJvCiAgICAgICAgICAgICAgICAgY2FuSGFu
Z1B1bmN0dWF0aW9uQXRFbmQgPSBmYWxzZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIAot
ICAgICAgICAgICAgaWYgKHRleHRBbGlnbiA9PSBKVVNUSUZZICYmIHJ1biAhPSB0cmFpbGluZ1Nw
YWNlUnVuKSB7Ci0gICAgICAgICAgICAgICAgRXhwYW5zaW9uQmVoYXZpb3IgZXhwYW5zaW9uQmVo
YXZpb3IgPSBleHBhbnNpb25CZWhhdmlvckZvcklubGluZVRleHRCb3goKnRoaXMsIHRleHRCb3gs
IHByZXZpb3VzUnVuLCBydW4tPm5leHQoKSwgdGV4dEFsaWduLCBpc0FmdGVyRXhwYW5zaW9uKTsK
LSAgICAgICAgICAgICAgICBhcHBseUV4cGFuc2lvbkJlaGF2aW9yKHRleHRCb3gsIGV4cGFuc2lv
bkJlaGF2aW9yKTsKLSAgICAgICAgICAgICAgICB1bnNpZ25lZCBvcHBvcnR1bml0aWVzSW5SdW47
Ci0gICAgICAgICAgICAgICAgc3RkOjp0aWUob3Bwb3J0dW5pdGllc0luUnVuLCBpc0FmdGVyRXhw
YW5zaW9uKSA9IEZvbnRDYXNjYWRlOjpleHBhbnNpb25PcHBvcnR1bml0eUNvdW50KHJlbmRlclRl
eHQuc3RyaW5nVmlldyhydW4tPm1fc3RhcnQsIHJ1bi0+bV9zdG9wKSwgcnVuLT5ib3goKS0+ZGly
ZWN0aW9uKCksIGV4cGFuc2lvbkJlaGF2aW9yKTsKLSAgICAgICAgICAgICAgICBleHBhbnNpb25P
cHBvcnR1bml0aWVzLmFwcGVuZChvcHBvcnR1bml0aWVzSW5SdW4pOwotICAgICAgICAgICAgICAg
IGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQgKz0gb3Bwb3J0dW5pdGllc0luUnVuOwotICAgICAg
ICAgICAgfQorICAgICAgICAgICAgaWYgKHRleHRBbGlnbiA9PSBKVVNUSUZZICYmIHJ1biAhPSB0
cmFpbGluZ1NwYWNlUnVuKQorICAgICAgICAgICAgICAgIGNvbXB1dGVFeHBhbnNpb25PcHBvcnR1
bml0aWVzKCp0aGlzLCB0ZXh0Qm94LCBwcmV2aW91c1J1biwgcnVuLT5uZXh0KCksIHJlbmRlclRl
eHQuc3RyaW5nVmlldyhydW4tPm1fc3RhcnQsIHJ1bi0+bV9zdG9wKSwgcnVuLT5ib3goKS0+ZGly
ZWN0aW9uKCkpOwogCiAgICAgICAgICAgICBpZiAodW5zaWduZWQgbGVuZ3RoID0gcmVuZGVyVGV4
dC50ZXh0TGVuZ3RoKCkpIHsKICAgICAgICAgICAgICAgICBpZiAoIXJ1bi0+bV9zdGFydCAmJiBu
ZWVkc1dvcmRTcGFjaW5nICYmIGlzU3BhY2VPck5ld2xpbmUocmVuZGVyVGV4dC5jaGFyYWN0ZXJB
dChydW4tPm1fc3RhcnQpKSkKQEAgLTkwNiwxNSArOTE1LDkgQEAgQmlkaVJ1biogUmVuZGVyQmxv
Y2tGbG93Ojpjb21wdXRlSW5saW5lRGlyZWN0aW9uUG9zaXRpb25zRm9yU2VnbWVudChSb290SW5s
aW5lQm8KICAgICAgICAgICAgICAgICAgICAgZm9yIChhdXRvKiBsZWFmQ2hpbGQgPSBydWJ5QmFz
ZS0+Zmlyc3RSb290Qm94KCktPmZpcnN0TGVhZkNoaWxkKCk7IGxlYWZDaGlsZDsgbGVhZkNoaWxk
ID0gbGVhZkNoaWxkLT5uZXh0TGVhZkNoaWxkKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAg
IGlmICghaXM8SW5saW5lVGV4dEJveD4oKmxlYWZDaGlsZCkpCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhdXRvJiB0ZXh0Qm94
ID0gZG93bmNhc3Q8SW5saW5lVGV4dEJveD4oKmxlYWZDaGlsZCk7CiAgICAgICAgICAgICAgICAg
ICAgICAgICBlbmNvdW50ZXJlZEp1c3RpZmllZFJ1YnkgPSB0cnVlOwotICAgICAgICAgICAgICAg
ICAgICAgICAgYXV0byYgcmVuZGVyVGV4dCA9IGRvd25jYXN0PFJlbmRlclRleHQ+KGxlYWZDaGls
ZC0+cmVuZGVyZXIoKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBFeHBhbnNpb25CZWhhdmlv
ciBleHBhbnNpb25CZWhhdmlvciA9IGV4cGFuc2lvbkJlaGF2aW9yRm9ySW5saW5lVGV4dEJveCgq
cnVieUJhc2UsIHRleHRCb3gsIG51bGxwdHIsIG51bGxwdHIsIHRleHRBbGlnbiwgaXNBZnRlckV4
cGFuc2lvbik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhcHBseUV4cGFuc2lvbkJlaGF2aW9y
KHRleHRCb3gsIGV4cGFuc2lvbkJlaGF2aW9yKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIG9wcG9ydHVuaXRpZXNJblJ1bjsKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6
dGllKG9wcG9ydHVuaXRpZXNJblJ1biwgaXNBZnRlckV4cGFuc2lvbikgPSBGb250Q2FzY2FkZTo6
ZXhwYW5zaW9uT3Bwb3J0dW5pdHlDb3VudChyZW5kZXJUZXh0LnN0cmluZ1ZpZXcoKSwgbGVhZkNo
aWxkLT5kaXJlY3Rpb24oKSwgZXhwYW5zaW9uQmVoYXZpb3IpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgZXhwYW5zaW9uT3Bwb3J0dW5pdGllcy5hcHBlbmQob3Bwb3J0dW5pdGllc0luUnVuKTsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQgKz0gb3Bw
b3J0dW5pdGllc0luUnVuOworICAgICAgICAgICAgICAgICAgICAgICAgY29tcHV0ZUV4cGFuc2lv
bk9wcG9ydHVuaXRpZXMoKnJ1YnlCYXNlLCBkb3duY2FzdDxJbmxpbmVUZXh0Qm94PigqbGVhZkNo
aWxkKSwgbnVsbHB0ciwgbnVsbHB0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3du
Y2FzdDxSZW5kZXJUZXh0PihsZWFmQ2hpbGQtPnJlbmRlcmVyKCkpLnN0cmluZ1ZpZXcoKSwgbGVh
ZkNoaWxkLT5kaXJlY3Rpb24oKSk7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICB9CkBAIC05MzYsOCArOTM5LDE1IEBAIEJpZGlSdW4qIFJlbmRl
ckJsb2NrRmxvdzo6Y29tcHV0ZUlubGluZURpcmVjdGlvblBvc2l0aW9uc0ZvclNlZ21lbnQoUm9v
dElubGluZUJvCiAgICAgfQogCiAgICAgaWYgKGlzQWZ0ZXJFeHBhbnNpb24gJiYgIWV4cGFuc2lv
bk9wcG9ydHVuaXRpZXMuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGV4cGFuc2lvbk9wcG9ydHVuaXRp
ZXMubGFzdCgpLS07Ci0gICAgICAgIGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291bnQtLTsKKyAgICAg
ICAgLy8gRklYTUU6IHNlZSA8d2Via2l0Lm9yZy9iLzEzOTM5MyNjMTE+CisgICAgICAgIGludCBs
YXN0VmFsaWRFeHBhbnNpb25PcHBvcnR1bml0aWVzSW5kZXggPSBleHBhbnNpb25PcHBvcnR1bml0
aWVzLnNpemUoKSAtIDE7CisgICAgICAgIHdoaWxlIChsYXN0VmFsaWRFeHBhbnNpb25PcHBvcnR1
bml0aWVzSW5kZXggPj0gMCAmJiAhZXhwYW5zaW9uT3Bwb3J0dW5pdGllcy5hdChsYXN0VmFsaWRF
eHBhbnNpb25PcHBvcnR1bml0aWVzSW5kZXgpKQorICAgICAgICAgICAgLS1sYXN0VmFsaWRFeHBh
bnNpb25PcHBvcnR1bml0aWVzSW5kZXg7CisgICAgICAgIGlmIChsYXN0VmFsaWRFeHBhbnNpb25P
cHBvcnR1bml0aWVzSW5kZXggPj0gMCkgeworICAgICAgICAgICAgQVNTRVJUKGV4cGFuc2lvbk9w
cG9ydHVuaXRpZXMuYXQobGFzdFZhbGlkRXhwYW5zaW9uT3Bwb3J0dW5pdGllc0luZGV4KSk7Cisg
ICAgICAgICAgICBleHBhbnNpb25PcHBvcnR1bml0aWVzLmF0KGxhc3RWYWxpZEV4cGFuc2lvbk9w
cG9ydHVuaXRpZXNJbmRleCktLTsKKyAgICAgICAgICAgIGV4cGFuc2lvbk9wcG9ydHVuaXR5Q291
bnQtLTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGlmIChpczxSZW5kZXJSdWJ5QmFzZT4oKnRo
aXMpICYmICFleHBhbnNpb25PcHBvcnR1bml0eUNvdW50KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDAyMTY4NjVjNmJmNTJj
OTM0NWIyNzU1ZDZmMjlhOTBhOWIwMTA5Y2IuLjliN2Q1YTAyYzM3MGY1MWU2M2JmNzMyNTE3YWJk
NmIyZTBlMWM2NzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNi0wOC0yNSAgWmFsYW4gQnVq
dGFzICA8emFsYW5AYXBwbGUuY29tPgorCisgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6IG9wcG9y
dHVuaXRpZXNJblJ1biA8PSBleHBhbnNpb25PcHBvcnR1bml0eUNvdW50IGluIFdlYkNvcmU6OmNv
bXB1dGVFeHBhbnNpb25Gb3JKdXN0aWZpZWRUZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzkzOTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI3
NzA0MjQzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE15bGVzIEMuIE1heGZpZWxkLgorCisgICAg
ICAgICogZmFzdC90ZXh0L2Fzc2VydC1vbi1leHBhbnNpb24tb3Bwb3J0dW5pdHktZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvYXNzZXJ0LW9uLWV4cGFuc2lvbi1vcHBv
cnR1bml0eS5odG1sOiBBZGRlZC4KKwogMjAxNi0wOC0yNSAgUGVyIEFybmUgVm9sbGFuICA8cHZv
bGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCB0ZXN0IGdhcmRlbmluZy4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9hc3NlcnQtb24tZXhwYW5zaW9uLW9wcG9y
dHVuaXR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9hc3NlcnQtb24tZXhw
YW5zaW9uLW9wcG9ydHVuaXR5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MDU1YzkzNDE4ZDMx
YjlhN2E2OTAwYWI2ZjMxMjIzMzkyM2MxZTk1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L2Fzc2VydC1vbi1leHBhbnNpb24tb3Bwb3J0dW5pdHktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsOSBAQAorCisKK1Bhc3MgaWYgbm8gYXNzZXJ0IGluIERlYnVnLgorYWEKKyAg
ICAgIAorCisKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvYXNzZXJ0LW9u
LWV4cGFuc2lvbi1vcHBvcnR1bml0eS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Fzc2Vy
dC1vbi1leHBhbnNpb24tb3Bwb3J0dW5pdHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTQ2ZjM0OTMwZWIy
OWExNzZiYWZhZGIzYmRhNzhmYjYxMGU3ZWY3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L2Fzc2VydC1vbi1leHBhbnNpb24tb3Bwb3J0dW5pdHkuaHRtbApAQCAtMCww
ICsxLDIyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+VGhpcyB0
ZXN0cyB0aGF0IHdlIGNvbXB1dGUgZXhwYW5zaW9uIG9wcG9ydHVuaXRpZXMgcHJvcGVybHkuPC90
aXRsZT4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KKzxzdHlsZT4KKzpmaXJzdC1sZXR0ZXIsICogeworICAg
IHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKK30KKworPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
UGFzcyBpZiBubyBhc3NlcnQgaW4gRGVidWcuCis8cnVieT5hYQorICAgIDxydD4gIDwvcnQ+Cis8
L3J1Ynk+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>