<?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>162029</bug_id>
          
          <creation_ts>2016-09-15 12:51:32 -0700</creation_ts>
          <short_desc>ASSERTION FAILED: m_items.isEmpty() in CustomElementReactionQueue destructor</short_desc>
          <delta_ts>2016-12-08 16:54:01 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>164814</dependson>
          <blocked>154907</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryan Haddad">ryanhaddad</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>ap</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1230138</commentid>
    <comment_count>0</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-09-15 12:51:32 -0700</bug_when>
    <thetext>Encountered on iOS 10 WK2 with LayoutTest fast/custom-elements/attribute-changed-callback.html

https://build.webkit.org/results/Apple%20iOS%2010%20Simulator%20Debug%20WK2%20(Tests)/r205989%20(50)/results.html

ASSERTION FAILED: m_items.isEmpty()
/Volumes/Data/slave/ios-simulator-10-debug/build/Source/WebCore/dom/CustomElementReactionQueue.cpp(114) : WebCore::CustomElementReactionQueue::~CustomElementReactionQueue()
1   0x10d74896d WTFCrash
2   0x10fb2eef9 WebCore::CustomElementReactionQueue::~CustomElementReactionQueue()
3   0x10fb2ef85 WebCore::CustomElementReactionQueue::~CustomElementReactionQueue()
4   0x10fb2fe05 WebCore::CustomElementReactionStack::processQueue()
5   0x1105a4985 WebCore::CustomElementReactionStack::~CustomElementReactionStack()
6   0x1105a3c55 WebCore::CustomElementReactionStack::~CustomElementReactionStack()
7   0x11071cb6e WebCore::jsElementPrototypeFunctionSetAttribute(JSC::ExecState*)
8   0x4bb236de028
9   0x10d44dbc5 llint_entry
10  0x10d44e00d llint_entry
11  0x10d44db4b llint_entry
12  0x10d44dbc5 llint_entry
13  0x10d446b9e vmEntryToJavaScript
14  0x10d254339 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
15  0x10d1fc794 JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::JSObject*)
16  0x10cc9367d JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)
17  0x10cc9384e JSC::profiledEvaluate(JSC::ExecState*, JSC::ProfilingReason, JSC::SourceCode const&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)
18  0x11152a32b WebCore::JSMainThreadExecState::profiledEvaluate(JSC::ExecState*, JSC::ProfilingReason, JSC::SourceCode const&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)
19  0x11152a128 WebCore::ScriptController::evaluateInWorld(WebCore::ScriptSourceCode const&amp;, WebCore::DOMWrapperWorld&amp;, WebCore::ExceptionDetails*)
20  0x11152a40d WebCore::ScriptController::evaluate(WebCore::ScriptSourceCode const&amp;, WebCore::ExceptionDetails*)
21  0x111538c4b WebCore::ScriptElement::executeScript(WebCore::ScriptSourceCode const&amp;)
22  0x111537ae9 WebCore::ScriptElement::prepareScript(WTF::TextPosition const&amp;, WebCore::ScriptElement::LegacyTypeSupport)
23  0x1101d78d1 WebCore::HTMLScriptRunner::runScript(WebCore::Element*, WTF::TextPosition const&amp;)
24  0x1101d76ea WebCore::HTMLScriptRunner::execute(WTF::PassRefPtr&lt;WebCore::Element&gt;, WTF::TextPosition const&amp;)
25  0x110102988 WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder()
26  0x110102e03 WebCore::HTMLDocumentParser::pumpTokenizerLoop(WebCore::HTMLDocumentParser::SynchronousMode, bool, WebCore::PumpSession&amp;)
27  0x110101ac8 WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode)
28  0x11010161b WebCore::HTMLDocumentParser::pumpTokenizerIfPossible(WebCore::HTMLDocumentParser::SynchronousMode)
29  0x1101040d6 WebCore::HTMLDocumentParser::append(WTF::RefPtr&lt;WTF::StringImpl&gt;&amp;&amp;)
30  0x10fba3972 WebCore::DecodedDataDocumentParser::appendBytes(WebCore::DocumentWriter&amp;, char const*, unsigned long)
31  0x10fcd92e9 WebCore::DocumentWriter::addData(char const*, unsigned long)
LEAK: 1 WebProcessPool</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1230306</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-09-15 21:28:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/28332657&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1243588</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-10-23 18:59:36 -0700</bug_when>
    <thetext>I haven&apos;t been able to reproduce this but this should be fixed in https://trac.webkit.org/changeset/207710 because we clear the queue for sure now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257167</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-12-06 20:56:17 -0800</bug_when>
    <thetext>We’re still seeing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257182</commentid>
    <comment_count>4</comment_count>
      <attachid>296373</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-12-06 21:46:11 -0800</bug_when>
    <thetext>Created attachment 296373
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257364</commentid>
    <comment_count>5</comment_count>
      <attachid>296420</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-12-07 14:10:36 -0800</bug_when>
    <thetext>Created attachment 296420
Fixed a regression</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257380</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-12-07 14:40:37 -0800</bug_when>
    <thetext>&lt;rdar://problem/28945851&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257422</commentid>
    <comment_count>7</comment_count>
      <attachid>296420</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-12-07 16:14:41 -0800</bug_when>
    <thetext>Comment on attachment 296420
Fixed a regression

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

&gt; Source/WebCore/dom/CustomElementReactionQueue.cpp:153
&gt; +    if (element.document().refCount() &lt;= 0)

I really don&apos;t like that we&apos;re checking the refCount. Could we instead check if the document&apos;s frame is null? A document&apos;s frame should always be null after calling prepareForDestruction() on it.

&gt; LayoutTests/ChangeLog:18
&gt; +2016-12-07  Ryosuke Niwa  &lt;rniwa@webkit.org&gt;

Duplicate ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257463</commentid>
    <comment_count>8</comment_count>
      <attachid>296441</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-12-07 16:56:57 -0800</bug_when>
    <thetext>Created attachment 296441
Removed a duplicate change log entry</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257490</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-12-07 17:23:22 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Comment on attachment 296420 [details]
&gt; Fixed a regression
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=296420&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/CustomElementReactionQueue.cpp:153
&gt; &gt; +    if (element.document().refCount() &lt;= 0)
&gt; 
&gt; I really don&apos;t like that we&apos;re checking the refCount. Could we instead check
&gt; if the document&apos;s frame is null? A document&apos;s frame should always be null
&gt; after calling prepareForDestruction() on it.

I did that (checking active DOM objects are stopped instead) in my previous patch, and that broke the test case I’m adding (disconnected-callback-in-detached-iframe.html). Because custom elements are coming from a different realm (iframe), we still need to enqueue disconnectedCallback in such a case.

An alternative approach is to add a flag on Document which indicates that we’re in the middle of Document tear down but I’m not sure that’s better than checking refcount.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257954</commentid>
    <comment_count>10</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-12-08 16:54:01 -0800</bug_when>
    <thetext>Committed r209582: &lt;http://trac.webkit.org/changeset/209582&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296373</attachid>
            <date>2016-12-06 21:46:11 -0800</date>
            <delta_ts>2016-12-07 14:10:32 -0800</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-162029-20161206214533.patch</filename>
            <type>text/plain</type>
            <size>7414</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwOTQ0NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDE2LTEyLTA2ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6IG1f
aXRlbXMuaXNFbXB0eSgpIGluIEN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlIGRlc3RydWN0b3IK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MjAyOQor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjgzMzI2NTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGJ1ZyB3YXMgY2F1c2VkIGJ5IERvY3VtZW50
OjpyZW1vdmVkTGFzdFJlZiBlbnF1ZXVpbmcgZGlzY29ubmVjdGVkQ2FsbGJhY2sgZHVyaW5nIGEg
dGVhciBkb3duLgorICAgICAgICBEb24ndCBlbnF1ZXVlIGEgZGlzY29ubmVjdGVkQ2FsbGJhY2sg
d2hpbGUgYSBkb2N1bWVudCBpcyBnZXR0aW5nIHRvcm4gZG93biBzaW5jZSB0aGF0IHNob3VsZCBu
b3QgYmUKKyAgICAgICAgb2JzZXJ2YWJsZSB0byBhdXRob3Igc2NyaXB0cy4gVGhlIGNvbm5lY3Rl
ZCwgYWRvcHRlZCwgYW5kIGF0dHJpYnV0ZUNoYW5nZWQgY2FsbGJhY2tzIGFyZSBpbW11bmUgZnJv
bQorICAgICAgICB0aGlzIHByb2JsZW0gc2luY2UgdGhleSBkb24ndCBoYXBwZW4gZHVyaW5nIGEg
ZG9jdW1lbnQgZGVzdHJ1Y3Rpb24uCisKKyAgICAgICAgTm90ZSB0aGF0IHRoaXMgd2FzIGFsc28g
dGhlIGNhc2UgcHJpb3IgdG8gdGhpcyBwYXRjaCBzaW5jZSB0aGUgZGlzY29ubmVjdGVkQ2FsbGJh
Y2sgd291bGQgaGF2ZSBiZWVuCisgICAgICAgIGFkZGVkIHRvIHRoZSBjdXJyZW50IEN1c3RvbUVs
ZW1lbnRSZWFjdGlvblF1ZXVlIHdoaWNoIHdpbGwgYmUgZGVzdHJ1Y3RlZCB3aXRob3V0IGludm9r
aW5nIGNhbGxiYWNrcworICAgICAgICAob3IgaGl0IGEgcmVsZWFzZSBhc3NlcnRpb24gYWRkZWQg
aW4gcjIwODc4NSBhbmQgcjIwOTQyNiBmb3Igbm93KS4KKworICAgICAgICBUZXN0OiBmYXN0L2N1
c3RvbS1lbGVtZW50cy9lbGVtZW50LXF1ZXVlLWR1cmluZy1kb2N1bWVudC1kZXN0cnVjdGlvbi5o
dG1sCisKKyAgICAgICAgKiBkb20vQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWU6OmVucXVldWVDb25uZWN0
ZWRDYWxsYmFja0lmTmVlZGVkKTogQWRkZWQgYW4gYXNzZXJ0aW9uIHRoYXQKKyAgICAgICAgdGhl
IGFjdGl2ZSBET00gb2JqZWN0cyBpbiB0aGlzIGRvY3VtZW50IGFyZW4ndCBzdG9wcGVkIHlldC4K
KyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlOjplbnF1ZXVlRGlz
Y29ubmVjdGVkQ2FsbGJhY2tJZk5lZWRlZCk6IEZpeGVkIHRoZSBidWcuCisgICAgICAgIChXZWJD
b3JlOjpDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZTo6ZW5xdWV1ZUFkb3B0ZWRDYWxsYmFja0lm
TmVlZGVkKTogQWRkZWQgdGhlIHNhbWUgYXNzZXJ0aW9uLgorICAgICAgICAoV2ViQ29yZTo6Q3Vz
dG9tRWxlbWVudFJlYWN0aW9uUXVldWU6OmVucXVldWVBdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2tJ
Zk5lZWRlZCk6IERpdHRvLgorCiAyMDE2LTEyLTA2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgogCiAgICAgICAgIEFmdGVyIHByZXZlbnRpbmcgYSBiZWZvcmVpbnB1dCBl
dmVudCwgYW4gaW5wdXQgZXZlbnQgaXMgZmlyZWQgd2hlbiBmb3JtYXR0aW5nIHJpY2ggdGV4dApJ
bmRleDogU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVl
dWUuY3BwCShyZXZpc2lvbiAyMDk0MzEpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRWxl
bWVudFJlYWN0aW9uUXVldWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDEsNiArMTQxLDcgQEAg
dm9pZCBDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZTo6ZW5xdWV1ZQogdm9pZCBDdXN0b21FbGVt
ZW50UmVhY3Rpb25RdWV1ZTo6ZW5xdWV1ZUNvbm5lY3RlZENhbGxiYWNrSWZOZWVkZWQoRWxlbWVu
dCYgZWxlbWVudCkKIHsKICAgICBBU1NFUlQoZWxlbWVudC5pc0RlZmluZWRDdXN0b21FbGVtZW50
KCkpOworICAgIEFTU0VSVCghZWxlbWVudC5kb2N1bWVudCgpLmFjdGl2ZURPTU9iamVjdHNBcmVT
dG9wcGVkKCkpOwogICAgIGF1dG8mIHF1ZXVlID0gQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2s6
OmVuc3VyZUN1cnJlbnRRdWV1ZShlbGVtZW50KTsKICAgICBpZiAocXVldWUubV9pbnRlcmZhY2Ut
Pmhhc0Nvbm5lY3RlZENhbGxiYWNrKCkpCiAgICAgICAgIHF1ZXVlLm1faXRlbXMuYXBwZW5kKHtD
dXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZUl0ZW06OlR5cGU6OkNvbm5lY3RlZH0pOwpAQCAtMTQ5
LDYgKzE1MCw4IEBAIHZvaWQgQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWU6OmVucXVldWUKIHZv
aWQgQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWU6OmVucXVldWVEaXNjb25uZWN0ZWRDYWxsYmFj
a0lmTmVlZGVkKEVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgQVNTRVJUKGVsZW1lbnQuaXNEZWZp
bmVkQ3VzdG9tRWxlbWVudCgpKTsKKyAgICBpZiAoZWxlbWVudC5kb2N1bWVudCgpLmFjdGl2ZURP
TU9iamVjdHNBcmVTdG9wcGVkKCkpCisgICAgICAgIHJldHVybjsgLy8gRG9uJ3QgZW5xdWV1ZSBk
aXNjb25uZWN0ZWRDYWxsYmFjayBpZiB0aGUgZW50aXJlIGRvY3VtZW50IGlzIGdldHRpbmcgZGVz
dHJ1Y3RlZC4KICAgICBhdXRvJiBxdWV1ZSA9IEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrOjpl
bnN1cmVDdXJyZW50UXVldWUoZWxlbWVudCk7CiAgICAgaWYgKHF1ZXVlLm1faW50ZXJmYWNlLT5o
YXNEaXNjb25uZWN0ZWRDYWxsYmFjaygpKQogICAgICAgICBxdWV1ZS5tX2l0ZW1zLmFwcGVuZCh7
Q3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWVJdGVtOjpUeXBlOjpEaXNjb25uZWN0ZWR9KTsKQEAg
LTE1Nyw2ICsxNjAsNyBAQCB2b2lkIEN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlOjplbnF1ZXVl
CiB2b2lkIEN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlOjplbnF1ZXVlQWRvcHRlZENhbGxiYWNr
SWZOZWVkZWQoRWxlbWVudCYgZWxlbWVudCwgRG9jdW1lbnQmIG9sZERvY3VtZW50LCBEb2N1bWVu
dCYgbmV3RG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGVsZW1lbnQuaXNEZWZpbmVkQ3VzdG9tRWxl
bWVudCgpKTsKKyAgICBBU1NFUlQoIWVsZW1lbnQuZG9jdW1lbnQoKS5hY3RpdmVET01PYmplY3Rz
QXJlU3RvcHBlZCgpKTsKICAgICBhdXRvJiBxdWV1ZSA9IEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0
YWNrOjplbnN1cmVDdXJyZW50UXVldWUoZWxlbWVudCk7CiAgICAgaWYgKHF1ZXVlLm1faW50ZXJm
YWNlLT5oYXNBZG9wdGVkQ2FsbGJhY2soKSkKICAgICAgICAgcXVldWUubV9pdGVtcy5hcHBlbmQo
e29sZERvY3VtZW50LCBuZXdEb2N1bWVudH0pOwpAQCAtMTY1LDYgKzE2OSw3IEBAIHZvaWQgQ3Vz
dG9tRWxlbWVudFJlYWN0aW9uUXVldWU6OmVucXVldWUKIHZvaWQgQ3VzdG9tRWxlbWVudFJlYWN0
aW9uUXVldWU6OmVucXVldWVBdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2tJZk5lZWRlZChFbGVtZW50
JiBlbGVtZW50LCBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lLCBjb25zdCBBdG9t
aWNTdHJpbmcmIG9sZFZhbHVlLCBjb25zdCBBdG9taWNTdHJpbmcmIG5ld1ZhbHVlKQogewogICAg
IEFTU0VSVChlbGVtZW50LmlzRGVmaW5lZEN1c3RvbUVsZW1lbnQoKSk7CisgICAgQVNTRVJUKCFl
bGVtZW50LmRvY3VtZW50KCkuYWN0aXZlRE9NT2JqZWN0c0FyZVN0b3BwZWQoKSk7CiAgICAgYXV0
byYgcXVldWUgPSBDdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjazo6ZW5zdXJlQ3VycmVudFF1ZXVl
KGVsZW1lbnQpOwogICAgIGlmIChxdWV1ZS5tX2ludGVyZmFjZS0+b2JzZXJ2ZXNBdHRyaWJ1dGUo
YXR0cmlidXRlTmFtZS5sb2NhbE5hbWUoKSkpCiAgICAgICAgIHF1ZXVlLm1faXRlbXMuYXBwZW5k
KHthdHRyaWJ1dGVOYW1lLCBvbGRWYWx1ZSwgbmV3VmFsdWV9KTsKSW5kZXg6IExheW91dFRlc3Rz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDIwOTQzMSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE2IEBACisyMDE2LTEyLTA2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6IG1faXRlbXMuaXNFbXB0eSgpIGluIEN1c3RvbUVs
ZW1lbnRSZWFjdGlvblF1ZXVlIGRlc3RydWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MjAyOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjgz
MzI2NTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgYSByZWdyZXNzaW9uIHRlc3QgdGhhdCByZWxpYWJseSByZXByb2R1Y2VzIHRoZSBjcmFz
aCBpbiBEdW1wUmVuZGVyVHJlZSAvIFdlYktpdFRlc3RSdW5uZXIuCisKKyAgICAgICAgKiBmYXN0
L2N1c3RvbS1lbGVtZW50cy9lbGVtZW50LXF1ZXVlLWR1cmluZy1kb2N1bWVudC1kZXN0cnVjdGlv
bi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3VzdG9tLWVsZW1lbnRzL2Vs
ZW1lbnQtcXVldWUtZHVyaW5nLWRvY3VtZW50LWRlc3RydWN0aW9uLmh0bWw6IEFkZGVkLgorCiAy
MDE2LTEyLTA2ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAg
W01vZGVybiBNZWRpYSBDb250cm9sc10gUmVuZGVyaW5nIGlzc3VlcyB3aXRoIGNvbnRyb2xzIGJh
ciB3aGVuIGNhcHRpb25zIGFyZSBvbgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxl
bWVudHMvZWxlbWVudC1xdWV1ZS1kdXJpbmctZG9jdW1lbnQtZGVzdHJ1Y3Rpb24tZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL2VsZW1l
bnQtcXVldWUtZHVyaW5nLWRvY3VtZW50LWRlc3RydWN0aW9uLWV4cGVjdGVkLnR4dAkobm9uZXhp
c3RlbnQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9lbGVtZW50LXF1ZXVl
LWR1cmluZy1kb2N1bWVudC1kZXN0cnVjdGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw0IEBACitUaGlzIHRlc3RzIHJlbW92aW5nIGFuIGlmcmFtZSB3aXRoIGEgY3Vz
dG9tIGVsZW1lbnQgaW5zaWRlIGEgY2FsbGJhY2suIFdlYktpdCBzaG91bGQgbm90IGhpdCBhc3Nl
cnRpb25zLgorV2ViS2l0IHNob3VsZCBub3QgaGl0IGFueSBhc3NlcnRpb25zLgorCitQQVNTLiBX
ZWJLaXQgZGlkIG5vdCBoaXQgYW55IGFzc2VydGlvbnMuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2N1c3RvbS1lbGVtZW50cy9lbGVtZW50LXF1ZXVlLWR1cmluZy1kb2N1bWVudC1kZXN0cnVjdGlv
bi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL2Vs
ZW1lbnQtcXVldWUtZHVyaW5nLWRvY3VtZW50LWRlc3RydWN0aW9uLmh0bWwJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvZWxlbWVudC1xdWV1ZS1kdXJp
bmctZG9jdW1lbnQtZGVzdHJ1Y3Rpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQy
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8cD5UaGlzIHRlc3RzIHJlbW92
aW5nIGFuIGlmcmFtZSB3aXRoIGEgY3VzdG9tIGVsZW1lbnQgaW5zaWRlIGEgY2FsbGJhY2suIFdl
YktpdCBzaG91bGQgbm90IGhpdCBhc3NlcnRpb25zLjxicj4KK1dlYktpdCBzaG91bGQgbm90IGhp
dCBhbnkgYXNzZXJ0aW9ucy48L3A+Cis8c2NyaXB0PgorCitjdXN0b21FbGVtZW50cy5kZWZpbmUo
J3Rlc3QtZWxlbWVudCcsIGNsYXNzIGV4dGVuZHMgSFRNTEVsZW1lbnQgeworICAgIGRpc2Nvbm5l
Y3RlZENhbGxiYWNrKCkgeyB9CisgICAgYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKG5hbWUsIG9s
ZFZhbHVlLCBuZXdWYWx1ZSkgeworICAgICAgICBpZiAobmV3VmFsdWUgIT0gJ2JhcicpCisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIHJlbW92ZUlmcmFtZSgpOworICAgICAgICBHQ0NvbnRy
b2xsZXIuY29sbGVjdCgpOworICAgIH0KKyAgICBzdGF0aWMgZ2V0IG9ic2VydmVkQXR0cmlidXRl
cygpIHsgcmV0dXJuIFsnaWQnXTsgfQorfSk7CisKK2Z1bmN0aW9uIGluc2VydElmcmFtZSgpIHsK
KyAgICBsZXQgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CisgICAg
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOworICAgIGxldCBjb250YWluZXIgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBjb250YWluZXIuaW5uZXJIVE1MID0g
Jzx0ZXN0LWVsZW1lbnQ+PC90ZXN0LWVsZW1lbnQ+PHRlc3QtZWxlbWVudCBpZD0iZm9vIj48L3Rl
c3QtZWxlbWVudD4nOworICAgIGlmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChjb250YWluZXIpOworfQorCitmdW5jdGlvbiByZW1vdmVJZnJhbWUoKSB7CisgICAgZG9jdW1l
bnQucXVlcnlTZWxlY3RvcignaWZyYW1lJykucmVtb3ZlKCk7Cit9CisKK2lmICghd2luZG93LkdD
Q29udHJvbGxlcikKKyAgICBkb2N1bWVudC53cml0ZSgnVGhpcyB0ZXN0IHJlcXVpcmVzIEdDQ29u
dHJvbGxlcicpOworZWxzZSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgaW5z
ZXJ0SWZyYW1lKCk7CisgICAgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGVzdC1lbGVtZW50Jyku
aWQgPSAnYmFyJzsKKyAgICBkb2N1bWVudC53cml0ZShgPHA+UEFTUy4gV2ViS2l0IGRpZCBub3Qg
aGl0IGFueSBhc3NlcnRpb25zLjwvcD5gKTsKK30KKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296420</attachid>
            <date>2016-12-07 14:10:36 -0800</date>
            <delta_ts>2016-12-07 16:56:53 -0800</delta_ts>
            <desc>Fixed a regression</desc>
            <filename>bug-162029-20161207140957.patch</filename>
            <type>text/plain</type>
            <size>11147</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwOTQ3OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE2LTEyLTA3ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6IG1f
aXRlbXMuaXNFbXB0eSgpIGluIEN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlIGRlc3RydWN0b3IK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MjAyOQor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjgzMzI2NTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGJ1ZyB3YXMgY2F1c2VkIGJ5IERvY3VtZW50
OjpyZW1vdmVkTGFzdFJlZiBlbnF1ZXVpbmcgZGlzY29ubmVjdGVkQ2FsbGJhY2sgZHVyaW5nIGEg
dGVhciBkb3duLgorICAgICAgICBEb24ndCBlbnF1ZXVlIGEgZGlzY29ubmVjdGVkQ2FsbGJhY2sg
d2hpbGUgYSBkb2N1bWVudCBpcyBnZXR0aW5nIHRvcm4gZG93biBzaW5jZSB0aGF0IHNob3VsZCBu
b3QgYmUKKyAgICAgICAgb2JzZXJ2YWJsZSB0byBhdXRob3Igc2NyaXB0cy4gVGhlIGNvbm5lY3Rl
ZCwgYWRvcHRlZCwgYW5kIGF0dHJpYnV0ZUNoYW5nZWQgY2FsbGJhY2tzIGFyZSBpbW11bmUgZnJv
bQorICAgICAgICB0aGlzIHByb2JsZW0gc2luY2UgdGhleSBkb24ndCBoYXBwZW4gZHVyaW5nIGEg
ZG9jdW1lbnQgZGVzdHJ1Y3Rpb24uCisKKyAgICAgICAgTm90ZSB0aGF0IHRoaXMgd2FzIGFsc28g
dGhlIGNhc2UgcHJpb3IgdG8gdGhpcyBwYXRjaCBzaW5jZSB0aGUgZGlzY29ubmVjdGVkQ2FsbGJh
Y2sgd291bGQgaGF2ZSBiZWVuCisgICAgICAgIGFkZGVkIHRvIHRoZSBjdXJyZW50IEN1c3RvbUVs
ZW1lbnRSZWFjdGlvblF1ZXVlIHdoaWNoIHdpbGwgYmUgZGVzdHJ1Y3RlZCB3aXRob3V0IGludm9r
aW5nIGNhbGxiYWNrcworICAgICAgICAob3IgaGl0IGEgcmVsZWFzZSBhc3NlcnRpb24gYWRkZWQg
aW4gcjIwODc4NSBhbmQgcjIwOTQyNiBmb3Igbm93KS4KKworICAgICAgICBUZXN0czogZmFzdC9j
dXN0b20tZWxlbWVudHMvZGlzY29ubmVjdGVkLWNhbGxiYWNrLWluLWRldGFjaGVkLWlmcmFtZS5o
dG1sCisgICAgICAgICAgICAgICBmYXN0L2N1c3RvbS1lbGVtZW50cy9lbGVtZW50LXF1ZXVlLWR1
cmluZy1kb2N1bWVudC1kZXN0cnVjdGlvbi5odG1sCisKKyAgICAgICAgKiBkb20vQ3VzdG9tRWxl
bWVudFJlYWN0aW9uUXVldWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRWxlbWVudFJl
YWN0aW9uUXVldWU6OmVucXVldWVDb25uZWN0ZWRDYWxsYmFja0lmTmVlZGVkKTogQWRkZWQgYW4g
YXNzZXJ0aW9uIHRoYXQKKyAgICAgICAgZG9jdW1lbnQncyByZWZDb3VudCBoYXNuJ3QgcmVhY2hl
ZCB6ZXJvIHlldC4KKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVl
OjplbnF1ZXVlRGlzY29ubmVjdGVkQ2FsbGJhY2tJZk5lZWRlZCk6IEZpeGVkIHRoZSBidWcuCisg
ICAgICAgIChXZWJDb3JlOjpDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZTo6ZW5xdWV1ZUFkb3B0
ZWRDYWxsYmFja0lmTmVlZGVkKTogQWRkZWQgdGhlIHNhbWUgYXNzZXJ0aW9uLgorICAgICAgICAo
V2ViQ29yZTo6Q3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWU6OmVucXVldWVBdHRyaWJ1dGVDaGFu
Z2VkQ2FsbGJhY2tJZk5lZWRlZCk6IERpdHRvLgorCiAyMDE2LTEyLTA3ICBXZW5zb24gSHNpZWgg
IDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFNjcm9sbCBwb3NpdGlvbiBqdW1w
cyB0byB0aGUgb3JpZ2luIHdoZW4gc2Nyb2xsaW5nIHdpdGhvdXQgbW9tZW50dW0gYXQgdGhlIGVu
ZCBvZiBhIHNjcm9sbCBzbmFwcGluZyBjb250YWluZXIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Rv
bS9DdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmNwcAkocmV2aXNpb24gMjA5NDUw
KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTQxLDYgKzE0MSw3IEBAIHZvaWQgQ3VzdG9tRWxlbWVudFJlYWN0
aW9uUXVldWU6OmVucXVldWUKIHZvaWQgQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWU6OmVucXVl
dWVDb25uZWN0ZWRDYWxsYmFja0lmTmVlZGVkKEVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgQVNT
RVJUKGVsZW1lbnQuaXNEZWZpbmVkQ3VzdG9tRWxlbWVudCgpKTsKKyAgICBBU1NFUlQoZWxlbWVu
dC5kb2N1bWVudCgpLnJlZkNvdW50KCkgPiAwKTsKICAgICBhdXRvJiBxdWV1ZSA9IEN1c3RvbUVs
ZW1lbnRSZWFjdGlvblN0YWNrOjplbnN1cmVDdXJyZW50UXVldWUoZWxlbWVudCk7CiAgICAgaWYg
KHF1ZXVlLm1faW50ZXJmYWNlLT5oYXNDb25uZWN0ZWRDYWxsYmFjaygpKQogICAgICAgICBxdWV1
ZS5tX2l0ZW1zLmFwcGVuZCh7Q3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWVJdGVtOjpUeXBlOjpD
b25uZWN0ZWR9KTsKQEAgLTE0OSw2ICsxNTAsOCBAQCB2b2lkIEN1c3RvbUVsZW1lbnRSZWFjdGlv
blF1ZXVlOjplbnF1ZXVlCiB2b2lkIEN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlOjplbnF1ZXVl
RGlzY29ubmVjdGVkQ2FsbGJhY2tJZk5lZWRlZChFbGVtZW50JiBlbGVtZW50KQogewogICAgIEFT
U0VSVChlbGVtZW50LmlzRGVmaW5lZEN1c3RvbUVsZW1lbnQoKSk7CisgICAgaWYgKGVsZW1lbnQu
ZG9jdW1lbnQoKS5yZWZDb3VudCgpIDw9IDApCisgICAgICAgIHJldHVybjsgLy8gRG9uJ3QgZW5x
dWV1ZSBkaXNjb25uZWN0ZWRDYWxsYmFjayBpZiB0aGUgZW50aXJlIGRvY3VtZW50IGlzIGdldHRp
bmcgZGVzdHJ1Y3RlZC4KICAgICBhdXRvJiBxdWV1ZSA9IEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0
YWNrOjplbnN1cmVDdXJyZW50UXVldWUoZWxlbWVudCk7CiAgICAgaWYgKHF1ZXVlLm1faW50ZXJm
YWNlLT5oYXNEaXNjb25uZWN0ZWRDYWxsYmFjaygpKQogICAgICAgICBxdWV1ZS5tX2l0ZW1zLmFw
cGVuZCh7Q3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWVJdGVtOjpUeXBlOjpEaXNjb25uZWN0ZWR9
KTsKQEAgLTE1Nyw2ICsxNjAsNyBAQCB2b2lkIEN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlOjpl
bnF1ZXVlCiB2b2lkIEN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlOjplbnF1ZXVlQWRvcHRlZENh
bGxiYWNrSWZOZWVkZWQoRWxlbWVudCYgZWxlbWVudCwgRG9jdW1lbnQmIG9sZERvY3VtZW50LCBE
b2N1bWVudCYgbmV3RG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGVsZW1lbnQuaXNEZWZpbmVkQ3Vz
dG9tRWxlbWVudCgpKTsKKyAgICBBU1NFUlQoZWxlbWVudC5kb2N1bWVudCgpLnJlZkNvdW50KCkg
PiAwKTsKICAgICBhdXRvJiBxdWV1ZSA9IEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrOjplbnN1
cmVDdXJyZW50UXVldWUoZWxlbWVudCk7CiAgICAgaWYgKHF1ZXVlLm1faW50ZXJmYWNlLT5oYXNB
ZG9wdGVkQ2FsbGJhY2soKSkKICAgICAgICAgcXVldWUubV9pdGVtcy5hcHBlbmQoe29sZERvY3Vt
ZW50LCBuZXdEb2N1bWVudH0pOwpAQCAtMTY1LDYgKzE2OSw3IEBAIHZvaWQgQ3VzdG9tRWxlbWVu
dFJlYWN0aW9uUXVldWU6OmVucXVldWUKIHZvaWQgQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWU6
OmVucXVldWVBdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2tJZk5lZWRlZChFbGVtZW50JiBlbGVtZW50
LCBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lLCBjb25zdCBBdG9taWNTdHJpbmcm
IG9sZFZhbHVlLCBjb25zdCBBdG9taWNTdHJpbmcmIG5ld1ZhbHVlKQogewogICAgIEFTU0VSVChl
bGVtZW50LmlzRGVmaW5lZEN1c3RvbUVsZW1lbnQoKSk7CisgICAgQVNTRVJUKGVsZW1lbnQuZG9j
dW1lbnQoKS5yZWZDb3VudCgpID4gMCk7CiAgICAgYXV0byYgcXVldWUgPSBDdXN0b21FbGVtZW50
UmVhY3Rpb25TdGFjazo6ZW5zdXJlQ3VycmVudFF1ZXVlKGVsZW1lbnQpOwogICAgIGlmIChxdWV1
ZS5tX2ludGVyZmFjZS0+b2JzZXJ2ZXNBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZS5sb2NhbE5hbWUo
KSkpCiAgICAgICAgIHF1ZXVlLm1faXRlbXMuYXBwZW5kKHthdHRyaWJ1dGVOYW1lLCBvbGRWYWx1
ZSwgbmV3VmFsdWV9KTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwOTQ3NikKKysrIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDE2LTEyLTA3ICBS
eW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEFTU0VSVElPTiBGQUlM
RUQ6IG1faXRlbXMuaXNFbXB0eSgpIGluIEN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlIGRlc3Ry
dWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
MjAyOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjgzMzI2NTc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgYSByZWdyZXNzaW9uIHRlc3Qg
dGhhdCByZWxpYWJseSByZXByb2R1Y2VzIHRoZSBjcmFzaCBpbiBEdW1wUmVuZGVyVHJlZSAvIFdl
YktpdFRlc3RSdW5uZXIuCisKKyAgICAgICAgQWxzbyBhZGRlZCBhIFczQyBzdHlsZSB0ZXN0aGFy
bmVzcy5qcyB0ZXN0IGZvciB0aGUgYmVoYXZpb3IgSSBicm9rZSBpbiBhbiBlYXJsaWVyIGl0ZXJh
dGlvbiBvZiB0aGUgcGF0Y2guCisKKyAgICAgICAgKiBmYXN0L2N1c3RvbS1lbGVtZW50cy9kaXNj
b25uZWN0ZWQtY2FsbGJhY2staW4tZGV0YWNoZWQtaWZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9jdXN0b20tZWxlbWVudHMvZGlzY29ubmVjdGVkLWNhbGxiYWNrLWlu
LWRldGFjaGVkLWlmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2N1c3RvbS1lbGVt
ZW50cy9lbGVtZW50LXF1ZXVlLWR1cmluZy1kb2N1bWVudC1kZXN0cnVjdGlvbi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3VzdG9tLWVsZW1lbnRzL2VsZW1lbnQtcXVldWUt
ZHVyaW5nLWRvY3VtZW50LWRlc3RydWN0aW9uLmh0bWw6IEFkZGVkLgorCisyMDE2LTEyLTA3ICBS
eW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEFTU0VSVElPTiBGQUlM
RUQ6IG1faXRlbXMuaXNFbXB0eSgpIGluIEN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlIGRlc3Ry
dWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
MjAyOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjgzMzI2NTc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgYSByZWdyZXNzaW9uIHRlc3Qg
dGhhdCByZWxpYWJseSByZXByb2R1Y2VzIHRoZSBjcmFzaCBpbiBEdW1wUmVuZGVyVHJlZSAvIFdl
YktpdFRlc3RSdW5uZXIuCisKKyAgICAgICAgKiBmYXN0L2N1c3RvbS1lbGVtZW50cy9lbGVtZW50
LXF1ZXVlLWR1cmluZy1kb2N1bWVudC1kZXN0cnVjdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvY3VzdG9tLWVsZW1lbnRzL2VsZW1lbnQtcXVldWUtZHVyaW5nLWRvY3Vt
ZW50LWRlc3RydWN0aW9uLmh0bWw6IEFkZGVkLgorCiAyMDE2LTEyLTA3ICBTaW1vbiBGcmFzZXIg
IDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyMDk0NDcp
OiBMYXlvdXRUZXN0cyBjb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9maXhlZC1wb3NpdGlvbi1v
dXQtb2Ytdmlldy1zY2FsZWQuaHRtbCBhbmQgY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vZml4
ZWQtcG9zaXRpb24tb3V0LW9mLXZpZXctc2NhbGVkLXNjcm9sbC5odG1sIGZhaWxpbmcKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL2Rpc2Nvbm5lY3RlZC1jYWxsYmFjay1p
bi1kZXRhY2hlZC1pZnJhbWUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvY3VzdG9tLWVsZW1lbnRzL2Rpc2Nvbm5lY3RlZC1jYWxsYmFjay1pbi1kZXRhY2hlZC1p
ZnJhbWUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3Vz
dG9tLWVsZW1lbnRzL2Rpc2Nvbm5lY3RlZC1jYWxsYmFjay1pbi1kZXRhY2hlZC1pZnJhbWUtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFJlbW92aW5n
IGEgY3VzdG9tIGVsZW1lbnQgaW5zaWRlIGEgZGV0YWNoZWQgaWZyYW1lIG11c3QgZW5xdWV1ZSBk
aXNjb25uZWN0ZWRDYWxsYmFjayAKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxl
bWVudHMvZGlzY29ubmVjdGVkLWNhbGxiYWNrLWluLWRldGFjaGVkLWlmcmFtZS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL2Rpc2Nvbm5lY3RlZC1j
YWxsYmFjay1pbi1kZXRhY2hlZC1pZnJhbWUuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9kaXNjb25uZWN0ZWQtY2FsbGJhY2staW4tZGV0YWNo
ZWQtaWZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPkN1c3RvbSBFbGVtZW50czogZGlzY29ubmVj
dGVkQ2FsbGJhY2sgbXVzdCBiZSBlbnF1ZXVlZCBpbnNpZGUgYSBkZXRhY2hlZCBpZnJhbWU8L3Rp
dGxlPgorPG1ldGEgbmFtZT0iYXV0aG9yIiB0aXRsZT0iUnlvc3VrZSBOaXdhIiBocmVmPSJtYWls
dG86cm5pd2FAd2Via2l0Lm9yZyI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9ImRpc2Nv
bm5lY3RlZENhbGxiYWNrIG11c3QgYmUgZW5xdWV1ZWQgaW5zaWRlIGEgZGV0YWNoZWQgaWZyYW1l
Ij4KKzxtZXRhIG5hbWU9ImhlbHAiIGNvbnRlbnQ9Imh0dHBzOi8vZG9tLnNwZWMud2hhdHdnLm9y
Zy8jY29uY2VwdC1ub2RlLXJlbW92ZSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3Jlc291cmNlcy9jdXN0b20t
ZWxlbWVudHMtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL3Jlc291
cmNlcy9yZWFjdGlvbnMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJs
b2ciPjwvZGl2PgorPHNjcmlwdD4KKworZnVuY3Rpb24gY3JlYXRlX2lmcmFtZV9hbmRfd2FpdF9m
b3Jfb25sb2FkKCkgeworICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSkg
eworICAgICAgICBsZXQgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7
CisgICAgICAgIGlmcmFtZS5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7IHJlc29sdmUoaWZyYW1lKTsg
fQorICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7CisgICAgfSk7Cit9
CisKK2xldCBlbGVtZW50ID0gZGVmaW5lX2N1c3RvbV9lbGVtZW50X2luX3dpbmRvdyh3aW5kb3cs
ICd0ZXN0LWVsZW1lbnQnKTsKKworcHJvbWlzZV90ZXN0KCgpID0+IHsKKyAgICByZXR1cm4gY3Jl
YXRlX2lmcmFtZV9hbmRfd2FpdF9mb3Jfb25sb2FkKCkudGhlbigoaWZyYW1lKSA9PiB7CisgICAg
ICAgIGxldCB0ZXN0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Rlc3QtZWxlbWVu
dCcpOworICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVz
KCksIFsnY29uc3RydWN0ZWQnXSk7CisKKyAgICAgICAgbGV0IGNvbnRlbnREb2N1bWVudCA9IGlm
cmFtZS5jb250ZW50RG9jdW1lbnQ7CisgICAgICAgIGlmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZCh0ZXN0RWxlbWVudCk7CisgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMo
ZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydhZG9wdGVkJywgJ2Nvbm5lY3RlZCddKTsKKwor
ICAgICAgICBpZnJhbWUucmVtb3ZlKCk7CisgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZWxl
bWVudC50YWtlTG9nKCkudHlwZXMoKSwgW10pOworCisgICAgICAgIGNvbnRlbnREb2N1bWVudC5i
b2R5LnJlbW92ZSgpOworICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxv
ZygpLnR5cGVzKCksIFsnZGlzY29ubmVjdGVkJ10pOworICAgIH0pOworfSwgJ1JlbW92aW5nIGEg
Y3VzdG9tIGVsZW1lbnQgaW5zaWRlIGEgZGV0YWNoZWQgaWZyYW1lIG11c3QgZW5xdWV1ZSBkaXNj
b25uZWN0ZWRDYWxsYmFjaycpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL2VsZW1lbnQtcXVldWUtZHVyaW5nLWRv
Y3VtZW50LWRlc3RydWN0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9lbGVtZW50LXF1ZXVlLWR1cmluZy1kb2N1bWVudC1kZXN0
cnVjdGlvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvZmFzdC9j
dXN0b20tZWxlbWVudHMvZWxlbWVudC1xdWV1ZS1kdXJpbmctZG9jdW1lbnQtZGVzdHJ1Y3Rpb24t
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAorVGhpcyB0ZXN0cyBy
ZW1vdmluZyBhbiBpZnJhbWUgd2l0aCBhIGN1c3RvbSBlbGVtZW50IGluc2lkZSBhIGNhbGxiYWNr
LiBXZWJLaXQgc2hvdWxkIG5vdCBoaXQgYXNzZXJ0aW9ucy4KK1dlYktpdCBzaG91bGQgbm90IGhp
dCBhbnkgYXNzZXJ0aW9ucy4KKworUEFTUy4gV2ViS2l0IGRpZCBub3QgaGl0IGFueSBhc3NlcnRp
b25zLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvZWxlbWVudC1xdWV1
ZS1kdXJpbmctZG9jdW1lbnQtZGVzdHJ1Y3Rpb24uaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9lbGVtZW50LXF1ZXVlLWR1cmluZy1kb2N1bWVudC1k
ZXN0cnVjdGlvbi5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3VzdG9t
LWVsZW1lbnRzL2VsZW1lbnQtcXVldWUtZHVyaW5nLWRvY3VtZW50LWRlc3RydWN0aW9uLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
Kzxib2R5PgorPHA+VGhpcyB0ZXN0cyByZW1vdmluZyBhbiBpZnJhbWUgd2l0aCBhIGN1c3RvbSBl
bGVtZW50IGluc2lkZSBhIGNhbGxiYWNrLiBXZWJLaXQgc2hvdWxkIG5vdCBoaXQgYXNzZXJ0aW9u
cy48YnI+CitXZWJLaXQgc2hvdWxkIG5vdCBoaXQgYW55IGFzc2VydGlvbnMuPC9wPgorPHNjcmlw
dD4KKworY3VzdG9tRWxlbWVudHMuZGVmaW5lKCd0ZXN0LWVsZW1lbnQnLCBjbGFzcyBleHRlbmRz
IEhUTUxFbGVtZW50IHsKKyAgICBkaXNjb25uZWN0ZWRDYWxsYmFjaygpIHsgfQorICAgIGF0dHJp
YnV0ZUNoYW5nZWRDYWxsYmFjayhuYW1lLCBvbGRWYWx1ZSwgbmV3VmFsdWUpIHsKKyAgICAgICAg
aWYgKG5ld1ZhbHVlICE9ICdiYXInKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICByZW1v
dmVJZnJhbWUoKTsKKyAgICAgICAgR0NDb250cm9sbGVyLmNvbGxlY3QoKTsKKyAgICB9CisgICAg
c3RhdGljIGdldCBvYnNlcnZlZEF0dHJpYnV0ZXMoKSB7IHJldHVybiBbJ2lkJ107IH0KK30pOwor
CitmdW5jdGlvbiBpbnNlcnRJZnJhbWUoKSB7CisgICAgbGV0IGlmcmFtZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZy
YW1lKTsKKyAgICBsZXQgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7
CisgICAgY29udGFpbmVyLmlubmVySFRNTCA9ICc8dGVzdC1lbGVtZW50PjwvdGVzdC1lbGVtZW50
Pjx0ZXN0LWVsZW1lbnQgaWQ9ImZvbyI+PC90ZXN0LWVsZW1lbnQ+JzsKKyAgICBpZnJhbWUuY29u
dGVudERvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTsKK30KKworZnVuY3Rpb24g
cmVtb3ZlSWZyYW1lKCkgeworICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lmcmFtZScpLnJl
bW92ZSgpOworfQorCitpZiAoIXdpbmRvdy5HQ0NvbnRyb2xsZXIpCisgICAgZG9jdW1lbnQud3Jp
dGUoJ1RoaXMgdGVzdCByZXF1aXJlcyBHQ0NvbnRyb2xsZXInKTsKK2Vsc2UgeworICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOworICAgIGluc2VydElmcmFtZSgpOworICAgIGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ3Rlc3QtZWxlbWVudCcpLmlkID0gJ2Jhcic7CisgICAgZG9jdW1lbnQud3Jp
dGUoYDxwPlBBU1MuIFdlYktpdCBkaWQgbm90IGhpdCBhbnkgYXNzZXJ0aW9ucy48L3A+YCk7Cit9
CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296441</attachid>
            <date>2016-12-07 16:56:57 -0800</date>
            <delta_ts>2016-12-08 14:54:11 -0800</delta_ts>
            <desc>Removed a duplicate change log entry</desc>
            <filename>bug-162029-20161207165618.patch</filename>
            <type>text/plain</type>
            <size>10589</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwOTQ3OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDE2LTEyLTA3ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6IG1f
aXRlbXMuaXNFbXB0eSgpIGluIEN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlIGRlc3RydWN0b3IK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MjAyOQor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjg5NDU4NTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGJ1ZyB3YXMgY2F1c2VkIGJ5IERvY3VtZW50
OjpyZW1vdmVkTGFzdFJlZiBlbnF1ZXVpbmcgZGlzY29ubmVjdGVkQ2FsbGJhY2sgZHVyaW5nIGEg
dGVhciBkb3duLgorICAgICAgICBEb24ndCBlbnF1ZXVlIGEgZGlzY29ubmVjdGVkQ2FsbGJhY2sg
d2hpbGUgYSBkb2N1bWVudCBpcyBnZXR0aW5nIHRvcm4gZG93biBzaW5jZSB0aGF0IHNob3VsZCBu
b3QgYmUKKyAgICAgICAgb2JzZXJ2YWJsZSB0byBhdXRob3Igc2NyaXB0cy4gVGhlIGNvbm5lY3Rl
ZCwgYWRvcHRlZCwgYW5kIGF0dHJpYnV0ZUNoYW5nZWQgY2FsbGJhY2tzIGFyZSBpbW11bmUgZnJv
bQorICAgICAgICB0aGlzIHByb2JsZW0gc2luY2UgdGhleSBkb24ndCBoYXBwZW4gZHVyaW5nIGEg
ZG9jdW1lbnQgZGVzdHJ1Y3Rpb24uCisKKyAgICAgICAgTm90ZSB0aGF0IHRoaXMgd2FzIGFsc28g
dGhlIGNhc2UgcHJpb3IgdG8gdGhpcyBwYXRjaCBzaW5jZSB0aGUgZGlzY29ubmVjdGVkQ2FsbGJh
Y2sgd291bGQgaGF2ZSBiZWVuCisgICAgICAgIGFkZGVkIHRvIHRoZSBjdXJyZW50IEN1c3RvbUVs
ZW1lbnRSZWFjdGlvblF1ZXVlIHdoaWNoIHdpbGwgYmUgZGVzdHJ1Y3RlZCB3aXRob3V0IGludm9r
aW5nIGNhbGxiYWNrcworICAgICAgICAob3IgaGl0IGEgcmVsZWFzZSBhc3NlcnRpb24gYWRkZWQg
aW4gcjIwODc4NSBhbmQgcjIwOTQyNiBmb3Igbm93KS4KKworICAgICAgICBUZXN0czogZmFzdC9j
dXN0b20tZWxlbWVudHMvZGlzY29ubmVjdGVkLWNhbGxiYWNrLWluLWRldGFjaGVkLWlmcmFtZS5o
dG1sCisgICAgICAgICAgICAgICBmYXN0L2N1c3RvbS1lbGVtZW50cy9lbGVtZW50LXF1ZXVlLWR1
cmluZy1kb2N1bWVudC1kZXN0cnVjdGlvbi5odG1sCisKKyAgICAgICAgKiBkb20vQ3VzdG9tRWxl
bWVudFJlYWN0aW9uUXVldWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRWxlbWVudFJl
YWN0aW9uUXVldWU6OmVucXVldWVDb25uZWN0ZWRDYWxsYmFja0lmTmVlZGVkKTogQWRkZWQgYW4g
YXNzZXJ0aW9uIHRoYXQKKyAgICAgICAgZG9jdW1lbnQncyByZWZDb3VudCBoYXNuJ3QgcmVhY2hl
ZCB6ZXJvIHlldC4KKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVl
OjplbnF1ZXVlRGlzY29ubmVjdGVkQ2FsbGJhY2tJZk5lZWRlZCk6IEZpeGVkIHRoZSBidWcuCisg
ICAgICAgIChXZWJDb3JlOjpDdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZTo6ZW5xdWV1ZUFkb3B0
ZWRDYWxsYmFja0lmTmVlZGVkKTogQWRkZWQgdGhlIHNhbWUgYXNzZXJ0aW9uLgorICAgICAgICAo
V2ViQ29yZTo6Q3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWU6OmVucXVldWVBdHRyaWJ1dGVDaGFu
Z2VkQ2FsbGJhY2tJZk5lZWRlZCk6IERpdHRvLgorCiAyMDE2LTEyLTA3ICBXZW5zb24gSHNpZWgg
IDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFNjcm9sbCBwb3NpdGlvbiBqdW1w
cyB0byB0aGUgb3JpZ2luIHdoZW4gc2Nyb2xsaW5nIHdpdGhvdXQgbW9tZW50dW0gYXQgdGhlIGVu
ZCBvZiBhIHNjcm9sbCBzbmFwcGluZyBjb250YWluZXIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Rv
bS9DdXN0b21FbGVtZW50UmVhY3Rpb25RdWV1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmNwcAkocmV2aXNpb24gMjA5NDUw
KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTQxLDYgKzE0MSw3IEBAIHZvaWQgQ3VzdG9tRWxlbWVudFJlYWN0
aW9uUXVldWU6OmVucXVldWUKIHZvaWQgQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWU6OmVucXVl
dWVDb25uZWN0ZWRDYWxsYmFja0lmTmVlZGVkKEVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgQVNT
RVJUKGVsZW1lbnQuaXNEZWZpbmVkQ3VzdG9tRWxlbWVudCgpKTsKKyAgICBBU1NFUlQoZWxlbWVu
dC5kb2N1bWVudCgpLnJlZkNvdW50KCkgPiAwKTsKICAgICBhdXRvJiBxdWV1ZSA9IEN1c3RvbUVs
ZW1lbnRSZWFjdGlvblN0YWNrOjplbnN1cmVDdXJyZW50UXVldWUoZWxlbWVudCk7CiAgICAgaWYg
KHF1ZXVlLm1faW50ZXJmYWNlLT5oYXNDb25uZWN0ZWRDYWxsYmFjaygpKQogICAgICAgICBxdWV1
ZS5tX2l0ZW1zLmFwcGVuZCh7Q3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWVJdGVtOjpUeXBlOjpD
b25uZWN0ZWR9KTsKQEAgLTE0OSw2ICsxNTAsOCBAQCB2b2lkIEN1c3RvbUVsZW1lbnRSZWFjdGlv
blF1ZXVlOjplbnF1ZXVlCiB2b2lkIEN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlOjplbnF1ZXVl
RGlzY29ubmVjdGVkQ2FsbGJhY2tJZk5lZWRlZChFbGVtZW50JiBlbGVtZW50KQogewogICAgIEFT
U0VSVChlbGVtZW50LmlzRGVmaW5lZEN1c3RvbUVsZW1lbnQoKSk7CisgICAgaWYgKGVsZW1lbnQu
ZG9jdW1lbnQoKS5yZWZDb3VudCgpIDw9IDApCisgICAgICAgIHJldHVybjsgLy8gRG9uJ3QgZW5x
dWV1ZSBkaXNjb25uZWN0ZWRDYWxsYmFjayBpZiB0aGUgZW50aXJlIGRvY3VtZW50IGlzIGdldHRp
bmcgZGVzdHJ1Y3RlZC4KICAgICBhdXRvJiBxdWV1ZSA9IEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0
YWNrOjplbnN1cmVDdXJyZW50UXVldWUoZWxlbWVudCk7CiAgICAgaWYgKHF1ZXVlLm1faW50ZXJm
YWNlLT5oYXNEaXNjb25uZWN0ZWRDYWxsYmFjaygpKQogICAgICAgICBxdWV1ZS5tX2l0ZW1zLmFw
cGVuZCh7Q3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWVJdGVtOjpUeXBlOjpEaXNjb25uZWN0ZWR9
KTsKQEAgLTE1Nyw2ICsxNjAsNyBAQCB2b2lkIEN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlOjpl
bnF1ZXVlCiB2b2lkIEN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlOjplbnF1ZXVlQWRvcHRlZENh
bGxiYWNrSWZOZWVkZWQoRWxlbWVudCYgZWxlbWVudCwgRG9jdW1lbnQmIG9sZERvY3VtZW50LCBE
b2N1bWVudCYgbmV3RG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKGVsZW1lbnQuaXNEZWZpbmVkQ3Vz
dG9tRWxlbWVudCgpKTsKKyAgICBBU1NFUlQoZWxlbWVudC5kb2N1bWVudCgpLnJlZkNvdW50KCkg
PiAwKTsKICAgICBhdXRvJiBxdWV1ZSA9IEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrOjplbnN1
cmVDdXJyZW50UXVldWUoZWxlbWVudCk7CiAgICAgaWYgKHF1ZXVlLm1faW50ZXJmYWNlLT5oYXNB
ZG9wdGVkQ2FsbGJhY2soKSkKICAgICAgICAgcXVldWUubV9pdGVtcy5hcHBlbmQoe29sZERvY3Vt
ZW50LCBuZXdEb2N1bWVudH0pOwpAQCAtMTY1LDYgKzE2OSw3IEBAIHZvaWQgQ3VzdG9tRWxlbWVu
dFJlYWN0aW9uUXVldWU6OmVucXVldWUKIHZvaWQgQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWU6
OmVucXVldWVBdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2tJZk5lZWRlZChFbGVtZW50JiBlbGVtZW50
LCBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lLCBjb25zdCBBdG9taWNTdHJpbmcm
IG9sZFZhbHVlLCBjb25zdCBBdG9taWNTdHJpbmcmIG5ld1ZhbHVlKQogewogICAgIEFTU0VSVChl
bGVtZW50LmlzRGVmaW5lZEN1c3RvbUVsZW1lbnQoKSk7CisgICAgQVNTRVJUKGVsZW1lbnQuZG9j
dW1lbnQoKS5yZWZDb3VudCgpID4gMCk7CiAgICAgYXV0byYgcXVldWUgPSBDdXN0b21FbGVtZW50
UmVhY3Rpb25TdGFjazo6ZW5zdXJlQ3VycmVudFF1ZXVlKGVsZW1lbnQpOwogICAgIGlmIChxdWV1
ZS5tX2ludGVyZmFjZS0+b2JzZXJ2ZXNBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZS5sb2NhbE5hbWUo
KSkpCiAgICAgICAgIHF1ZXVlLm1faXRlbXMuYXBwZW5kKHthdHRyaWJ1dGVOYW1lLCBvbGRWYWx1
ZSwgbmV3VmFsdWV9KTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwOTQ3NikKKysrIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE2LTEyLTA3ICBS
eW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEFTU0VSVElPTiBGQUlM
RUQ6IG1faXRlbXMuaXNFbXB0eSgpIGluIEN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlIGRlc3Ry
dWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
MjAyOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjg5NDU4NTE+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgYSByZWdyZXNzaW9uIHRlc3Qg
dGhhdCByZWxpYWJseSByZXByb2R1Y2VzIHRoZSBjcmFzaCBpbiBEdW1wUmVuZGVyVHJlZSAvIFdl
YktpdFRlc3RSdW5uZXIuCisKKyAgICAgICAgQWxzbyBhZGRlZCBhIFczQyBzdHlsZSB0ZXN0aGFy
bmVzcy5qcyB0ZXN0IGZvciB0aGUgYmVoYXZpb3IgSSBicm9rZSBpbiBhbiBlYXJsaWVyIGl0ZXJh
dGlvbiBvZiB0aGUgcGF0Y2guCisKKyAgICAgICAgKiBmYXN0L2N1c3RvbS1lbGVtZW50cy9kaXNj
b25uZWN0ZWQtY2FsbGJhY2staW4tZGV0YWNoZWQtaWZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9jdXN0b20tZWxlbWVudHMvZGlzY29ubmVjdGVkLWNhbGxiYWNrLWlu
LWRldGFjaGVkLWlmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2N1c3RvbS1lbGVt
ZW50cy9lbGVtZW50LXF1ZXVlLWR1cmluZy1kb2N1bWVudC1kZXN0cnVjdGlvbi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3VzdG9tLWVsZW1lbnRzL2VsZW1lbnQtcXVldWUt
ZHVyaW5nLWRvY3VtZW50LWRlc3RydWN0aW9uLmh0bWw6IEFkZGVkLgorCiAyMDE2LTEyLTA3ICBT
aW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJ
T04gKHIyMDk0NDcpOiBMYXlvdXRUZXN0cyBjb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9maXhl
ZC1wb3NpdGlvbi1vdXQtb2Ytdmlldy1zY2FsZWQuaHRtbCBhbmQgY29tcG9zaXRpbmcvbGF5ZXIt
Y3JlYXRpb24vZml4ZWQtcG9zaXRpb24tb3V0LW9mLXZpZXctc2NhbGVkLXNjcm9sbC5odG1sIGZh
aWxpbmcKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL2Rpc2Nvbm5lY3Rl
ZC1jYWxsYmFjay1pbi1kZXRhY2hlZC1pZnJhbWUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL2Rpc2Nvbm5lY3RlZC1jYWxsYmFjay1p
bi1kZXRhY2hlZC1pZnJhbWUtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL2Rpc2Nvbm5lY3RlZC1jYWxsYmFjay1pbi1kZXRhY2hl
ZC1pZnJhbWUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQ
QVNTIFJlbW92aW5nIGEgY3VzdG9tIGVsZW1lbnQgaW5zaWRlIGEgZGV0YWNoZWQgaWZyYW1lIG11
c3QgZW5xdWV1ZSBkaXNjb25uZWN0ZWRDYWxsYmFjayAKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9jdXN0b20tZWxlbWVudHMvZGlzY29ubmVjdGVkLWNhbGxiYWNrLWluLWRldGFjaGVkLWlmcmFt
ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL2Rp
c2Nvbm5lY3RlZC1jYWxsYmFjay1pbi1kZXRhY2hlZC1pZnJhbWUuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9kaXNjb25uZWN0ZWQtY2FsbGJh
Y2staW4tZGV0YWNoZWQtaWZyYW1lLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0NiBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPkN1c3RvbSBFbGVtZW50
czogZGlzY29ubmVjdGVkQ2FsbGJhY2sgbXVzdCBiZSBlbnF1ZXVlZCBpbnNpZGUgYSBkZXRhY2hl
ZCBpZnJhbWU8L3RpdGxlPgorPG1ldGEgbmFtZT0iYXV0aG9yIiB0aXRsZT0iUnlvc3VrZSBOaXdh
IiBocmVmPSJtYWlsdG86cm5pd2FAd2Via2l0Lm9yZyI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNv
bnRlbnQ9ImRpc2Nvbm5lY3RlZENhbGxiYWNrIG11c3QgYmUgZW5xdWV1ZWQgaW5zaWRlIGEgZGV0
YWNoZWQgaWZyYW1lIj4KKzxtZXRhIG5hbWU9ImhlbHAiIGNvbnRlbnQ9Imh0dHBzOi8vZG9tLnNw
ZWMud2hhdHdnLm9yZy8jY29uY2VwdC1ub2RlLXJlbW92ZSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3Jlc291
cmNlcy9jdXN0b20tZWxlbWVudHMtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVh
Y3Rpb25zL3Jlc291cmNlcy9yZWFjdGlvbnMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKworZnVuY3Rpb24gY3JlYXRlX2lmcmFt
ZV9hbmRfd2FpdF9mb3Jfb25sb2FkKCkgeworICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlv
biAocmVzb2x2ZSkgeworICAgICAgICBsZXQgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnaWZyYW1lJyk7CisgICAgICAgIGlmcmFtZS5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7IHJlc29s
dmUoaWZyYW1lKTsgfQorICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7
CisgICAgfSk7Cit9CisKK2xldCBlbGVtZW50ID0gZGVmaW5lX2N1c3RvbV9lbGVtZW50X2luX3dp
bmRvdyh3aW5kb3csICd0ZXN0LWVsZW1lbnQnKTsKKworcHJvbWlzZV90ZXN0KCgpID0+IHsKKyAg
ICByZXR1cm4gY3JlYXRlX2lmcmFtZV9hbmRfd2FpdF9mb3Jfb25sb2FkKCkudGhlbigoaWZyYW1l
KSA9PiB7CisgICAgICAgIGxldCB0ZXN0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J3Rlc3QtZWxlbWVudCcpOworICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFr
ZUxvZygpLnR5cGVzKCksIFsnY29uc3RydWN0ZWQnXSk7CisKKyAgICAgICAgbGV0IGNvbnRlbnRE
b2N1bWVudCA9IGlmcmFtZS5jb250ZW50RG9jdW1lbnQ7CisgICAgICAgIGlmcmFtZS5jb250ZW50
RG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXN0RWxlbWVudCk7CisgICAgICAgIGFzc2VydF9h
cnJheV9lcXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydhZG9wdGVkJywgJ2Nvbm5l
Y3RlZCddKTsKKworICAgICAgICBpZnJhbWUucmVtb3ZlKCk7CisgICAgICAgIGFzc2VydF9hcnJh
eV9lcXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwgW10pOworCisgICAgICAgIGNvbnRl
bnREb2N1bWVudC5ib2R5LnJlbW92ZSgpOworICAgICAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVs
ZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsnZGlzY29ubmVjdGVkJ10pOworICAgIH0pOworfSwg
J1JlbW92aW5nIGEgY3VzdG9tIGVsZW1lbnQgaW5zaWRlIGEgZGV0YWNoZWQgaWZyYW1lIG11c3Qg
ZW5xdWV1ZSBkaXNjb25uZWN0ZWRDYWxsYmFjaycpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL2VsZW1lbnQtcXVl
dWUtZHVyaW5nLWRvY3VtZW50LWRlc3RydWN0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9lbGVtZW50LXF1ZXVlLWR1cmluZy1k
b2N1bWVudC1kZXN0cnVjdGlvbi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvZWxlbWVudC1xdWV1ZS1kdXJpbmctZG9jdW1lbnQt
ZGVzdHJ1Y3Rpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNCBAQAor
VGhpcyB0ZXN0cyByZW1vdmluZyBhbiBpZnJhbWUgd2l0aCBhIGN1c3RvbSBlbGVtZW50IGluc2lk
ZSBhIGNhbGxiYWNrLiBXZWJLaXQgc2hvdWxkIG5vdCBoaXQgYXNzZXJ0aW9ucy4KK1dlYktpdCBz
aG91bGQgbm90IGhpdCBhbnkgYXNzZXJ0aW9ucy4KKworUEFTUy4gV2ViS2l0IGRpZCBub3QgaGl0
IGFueSBhc3NlcnRpb25zLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMv
ZWxlbWVudC1xdWV1ZS1kdXJpbmctZG9jdW1lbnQtZGVzdHJ1Y3Rpb24uaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9lbGVtZW50LXF1ZXVlLWR1cmlu
Zy1kb2N1bWVudC1kZXN0cnVjdGlvbi5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvY3VzdG9tLWVsZW1lbnRzL2VsZW1lbnQtcXVldWUtZHVyaW5nLWRvY3VtZW50LWRlc3Ry
dWN0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0cyByZW1vdmluZyBhbiBpZnJhbWUgd2l0
aCBhIGN1c3RvbSBlbGVtZW50IGluc2lkZSBhIGNhbGxiYWNrLiBXZWJLaXQgc2hvdWxkIG5vdCBo
aXQgYXNzZXJ0aW9ucy48YnI+CitXZWJLaXQgc2hvdWxkIG5vdCBoaXQgYW55IGFzc2VydGlvbnMu
PC9wPgorPHNjcmlwdD4KKworY3VzdG9tRWxlbWVudHMuZGVmaW5lKCd0ZXN0LWVsZW1lbnQnLCBj
bGFzcyBleHRlbmRzIEhUTUxFbGVtZW50IHsKKyAgICBkaXNjb25uZWN0ZWRDYWxsYmFjaygpIHsg
fQorICAgIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhuYW1lLCBvbGRWYWx1ZSwgbmV3VmFsdWUp
IHsKKyAgICAgICAgaWYgKG5ld1ZhbHVlICE9ICdiYXInKQorICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICByZW1vdmVJZnJhbWUoKTsKKyAgICAgICAgR0NDb250cm9sbGVyLmNvbGxlY3QoKTsK
KyAgICB9CisgICAgc3RhdGljIGdldCBvYnNlcnZlZEF0dHJpYnV0ZXMoKSB7IHJldHVybiBbJ2lk
J107IH0KK30pOworCitmdW5jdGlvbiBpbnNlcnRJZnJhbWUoKSB7CisgICAgbGV0IGlmcmFtZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworICAgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoaWZyYW1lKTsKKyAgICBsZXQgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnZGl2Jyk7CisgICAgY29udGFpbmVyLmlubmVySFRNTCA9ICc8dGVzdC1lbGVtZW50Pjwv
dGVzdC1lbGVtZW50Pjx0ZXN0LWVsZW1lbnQgaWQ9ImZvbyI+PC90ZXN0LWVsZW1lbnQ+JzsKKyAg
ICBpZnJhbWUuY29udGVudERvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTsKK30K
KworZnVuY3Rpb24gcmVtb3ZlSWZyYW1lKCkgeworICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Io
J2lmcmFtZScpLnJlbW92ZSgpOworfQorCitpZiAoIXdpbmRvdy5HQ0NvbnRyb2xsZXIpCisgICAg
ZG9jdW1lbnQud3JpdGUoJ1RoaXMgdGVzdCByZXF1aXJlcyBHQ0NvbnRyb2xsZXInKTsKK2Vsc2Ug
eworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIGluc2VydElmcmFtZSgpOworICAg
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Rlc3QtZWxlbWVudCcpLmlkID0gJ2Jhcic7CisgICAg
ZG9jdW1lbnQud3JpdGUoYDxwPlBBU1MuIFdlYktpdCBkaWQgbm90IGhpdCBhbnkgYXNzZXJ0aW9u
cy48L3A+YCk7Cit9CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="318895"
          type_id="1"
          status="+"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>