<?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>183310</bug_id>
          
          <creation_ts>2018-03-03 01:26:38 -0800</creation_ts>
          <short_desc>[DFG] AI should convert CreateThis to NewObject if the prototype object is proved</short_desc>
          <delta_ts>2018-03-12 20:04:30 -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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>jfbastien</cc>
    
    <cc>jlewis3</cc>
    
    <cc>keith_miller</cc>
    
    <cc>lforschler</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1403462</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-03-03 01:26:38 -0800</bug_when>
    <thetext>[DFG] AI should convert CreateThis to NewObject if the prototype object is proved</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403463</commentid>
    <comment_count>1</comment_count>
      <attachid>334951</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-03-03 01:27:12 -0800</bug_when>
    <thetext>Created attachment 334951
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403476</commentid>
    <comment_count>2</comment_count>
      <attachid>334958</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-03-03 08:31:13 -0800</bug_when>
    <thetext>Created attachment 334958
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403477</commentid>
    <comment_count>3</comment_count>
      <attachid>334959</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-03-03 08:36:22 -0800</bug_when>
    <thetext>Created attachment 334959
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405149</commentid>
    <comment_count>4</comment_count>
      <attachid>335422</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-03-09 04:57:01 -0800</bug_when>
    <thetext>Created attachment 335422
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405200</commentid>
    <comment_count>5</comment_count>
      <attachid>335435</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-03-09 10:10:22 -0800</bug_when>
    <thetext>Created attachment 335435
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405274</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-03-09 13:02:20 -0800</bug_when>
    <thetext>Ping review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405632</commentid>
    <comment_count>7</comment_count>
      <attachid>335435</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-03-11 19:59:49 -0700</bug_when>
    <thetext>Comment on attachment 335435
Patch

Thank you!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405647</commentid>
    <comment_count>8</comment_count>
      <attachid>335435</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-11 20:25:44 -0700</bug_when>
    <thetext>Comment on attachment 335435
Patch

Clearing flags on attachment: 335435

Committed r229520: &lt;https://trac.webkit.org/changeset/229520&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405648</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-11 20:25:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405671</commentid>
    <comment_count>10</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-03-11 23:21:44 -0700</bug_when>
    <thetext>https://arewefastyet.com/#machine=29&amp;view=single&amp;suite=octane&amp;subtest=RayTrace
10.1% win in Octane/Raytrace.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405750</commentid>
    <comment_count>11</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2018-03-12 09:00:49 -0700</bug_when>
    <thetext>It looks like this change caused assertion failures on the debug bot:
https://build.webkit.org/builders/Apple%20High%20Sierra%20Debug%20JSC%20%28Tests%29/builds/739

stress/dfg-rare-data.js.default: ASSERTION FAILED: m_op == CallObjectConstructor
stress/dfg-rare-data.js.default: ./dfg/DFGNode.h(729) : void JSC::DFG::Node::convertToNewObject(JSC::DFG::RegisteredStructure)
stress/dfg-rare-data.js.default: 1   0x10d15708d WTFCrash
stress/dfg-rare-data.js.default: 2   0x10c276ad5 JSC::DFG::Node::convertToNewObject(JSC::DFG::RegisteredStructure)
stress/dfg-rare-data.js.default: 3   0x10c273b47 JSC::DFG::ConstantFoldingPhase::foldConstants(JSC::DFG::BasicBlock*)
stress/dfg-rare-data.js.default: 4   0x10c270c1a JSC::DFG::ConstantFoldingPhase::run()
stress/dfg-rare-data.js.default: 5   0x10c270a0e bool JSC::DFG::runAndLog&lt;JSC::DFG::ConstantFoldingPhase&gt;(JSC::DFG::ConstantFoldingPhase&amp;)
stress/dfg-rare-data.js.default: 6   0x10c26817e bool JSC::DFG::runPhase&lt;JSC::DFG::ConstantFoldingPhase&gt;(JSC::DFG::Graph&amp;)
stress/dfg-rare-data.js.default: 7   0x10c268145 JSC::DFG::performConstantFolding(JSC::DFG::Graph&amp;)
stress/dfg-rare-data.js.default: 8   0x10c3b629d JSC::DFG::Plan::compileInThreadImpl()
stress/dfg-rare-data.js.default: 9   0x10c3b47c2 JSC::DFG::Plan::compileInThread(JSC::DFG::ThreadData*)
stress/dfg-rare-data.js.default: 10  0x10c68f16c JSC::DFG::Worklist::ThreadBody::work()
stress/dfg-rare-data.js.default: 11  0x10d165667 WTF::AutomaticThread::start(WTF::AbstractLocker const&amp;)::$_0::operator()() const
stress/dfg-rare-data.js.default: 12  0x10d1652f9 WTF::Function&lt;void ()&gt;::CallableWrapper&lt;WTF::AutomaticThread::start(WTF::AbstractLocker const&amp;)::$_0&gt;::call()
stress/dfg-rare-data.js.default: 13  0x10d17306b WTF::Function&lt;void ()&gt;::operator()() const
stress/dfg-rare-data.js.default: 14  0x10d1e356f WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*)
stress/dfg-rare-data.js.default: 15  0x10d1e8cf5 WTF::wtfThreadEntryPoint(void*)
stress/dfg-rare-data.js.default: 16  0x7fff689ce6c1 _pthread_body
stress/dfg-rare-data.js.default: 17  0x7fff689ce56d _pthread_body
stress/dfg-rare-data.js.default: 18  0x7fff689cdc5d thread_start
stress/dfg-rare-data.js.default: test_script_7453: line 2: 59221 Segmentation fault: 11  ( &quot;$@&quot; ../../.vm/JavaScriptCore.framework/Resources/jsc --useFTLJIT\=false --useFunctionDotArguments\=true --validateExceptionChecks\=true --useDollarVM\=true --maxPerThreadStackUsage\=1572864 --useFTLJIT\=true dfg-rare-data.js )
stress/dfg-rare-data.js.default: ERROR: Unexpected exit code: 139</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406006</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-12 17:25:10 -0700</bug_when>
    <thetext>&lt;rdar://problem/38397885&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406047</commentid>
    <comment_count>13</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-03-12 20:02:14 -0700</bug_when>
    <thetext>(In reply to Ryan Haddad from comment #11)
&gt; It looks like this change caused assertion failures on the debug bot:
&gt; https://build.webkit.org/builders/
&gt; Apple%20High%20Sierra%20Debug%20JSC%20%28Tests%29/builds/739
&gt; 
&gt; stress/dfg-rare-data.js.default: ASSERTION FAILED: m_op ==
&gt; CallObjectConstructor
&gt; stress/dfg-rare-data.js.default: ./dfg/DFGNode.h(729) : void
&gt; JSC::DFG::Node::convertToNewObject(JSC::DFG::RegisteredStructure)
&gt; stress/dfg-rare-data.js.default: 1   0x10d15708d WTFCrash
&gt; stress/dfg-rare-data.js.default: 2   0x10c276ad5
&gt; JSC::DFG::Node::convertToNewObject(JSC::DFG::RegisteredStructure)
&gt; stress/dfg-rare-data.js.default: 3   0x10c273b47
&gt; JSC::DFG::ConstantFoldingPhase::foldConstants(JSC::DFG::BasicBlock*)
&gt; stress/dfg-rare-data.js.default: 4   0x10c270c1a
&gt; JSC::DFG::ConstantFoldingPhase::run()
&gt; stress/dfg-rare-data.js.default: 5   0x10c270a0e bool
&gt; JSC::DFG::runAndLog&lt;JSC::DFG::ConstantFoldingPhase&gt;(JSC::DFG::
&gt; ConstantFoldingPhase&amp;)
&gt; stress/dfg-rare-data.js.default: 6   0x10c26817e bool
&gt; JSC::DFG::runPhase&lt;JSC::DFG::ConstantFoldingPhase&gt;(JSC::DFG::Graph&amp;)
&gt; stress/dfg-rare-data.js.default: 7   0x10c268145
&gt; JSC::DFG::performConstantFolding(JSC::DFG::Graph&amp;)
&gt; stress/dfg-rare-data.js.default: 8   0x10c3b629d
&gt; JSC::DFG::Plan::compileInThreadImpl()
&gt; stress/dfg-rare-data.js.default: 9   0x10c3b47c2
&gt; JSC::DFG::Plan::compileInThread(JSC::DFG::ThreadData*)
&gt; stress/dfg-rare-data.js.default: 10  0x10c68f16c
&gt; JSC::DFG::Worklist::ThreadBody::work()
&gt; stress/dfg-rare-data.js.default: 11  0x10d165667
&gt; WTF::AutomaticThread::start(WTF::AbstractLocker const&amp;)::$_0::operator()()
&gt; const
&gt; stress/dfg-rare-data.js.default: 12  0x10d1652f9 WTF::Function&lt;void
&gt; ()&gt;::CallableWrapper&lt;WTF::AutomaticThread::start(WTF::AbstractLocker
&gt; const&amp;)::$_0&gt;::call()
&gt; stress/dfg-rare-data.js.default: 13  0x10d17306b WTF::Function&lt;void
&gt; ()&gt;::operator()() const
&gt; stress/dfg-rare-data.js.default: 14  0x10d1e356f
&gt; WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*)
&gt; stress/dfg-rare-data.js.default: 15  0x10d1e8cf5
&gt; WTF::wtfThreadEntryPoint(void*)
&gt; stress/dfg-rare-data.js.default: 16  0x7fff689ce6c1 _pthread_body
&gt; stress/dfg-rare-data.js.default: 17  0x7fff689ce56d _pthread_body
&gt; stress/dfg-rare-data.js.default: 18  0x7fff689cdc5d thread_start
&gt; stress/dfg-rare-data.js.default: test_script_7453: line 2: 59221
&gt; Segmentation fault: 11  ( &quot;$@&quot;
&gt; ../../.vm/JavaScriptCore.framework/Resources/jsc --useFTLJIT\=false
&gt; --useFunctionDotArguments\=true --validateExceptionChecks\=true
&gt; --useDollarVM\=true --maxPerThreadStackUsage\=1572864 --useFTLJIT\=true
&gt; dfg-rare-data.js )
&gt; stress/dfg-rare-data.js.default: ERROR: Unexpected exit code: 139

Thanks, this is simply ASSERT becomes obsolete. I&apos;ll fix it soon</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406048</commentid>
    <comment_count>14</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-03-12 20:04:30 -0700</bug_when>
    <thetext>Committed r229570: &lt;https://trac.webkit.org/changeset/229570&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334951</attachid>
            <date>2018-03-03 01:27:12 -0800</date>
            <delta_ts>2018-03-03 08:31:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183310-20180303182711.patch</filename>
            <type>text/plain</type>
            <size>4147</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5MTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
YTUwMzQ5OTQyYjE1ZjUwMTliOGE2NDlmNGJiYWQ4MDVjNDgwNzg0Li5jMGViZWIwNmZmYWY5NGY4
ODlkZDBhMDlmOTE1NGExOWU2ZTRhMzRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAxOC0wMy0wMyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbREZHXSBBSSBzaG91bGQgY29udmVydCBDcmVhdGVUaGlzIHRvIE5l
d09iamVjdCBpZiB0aGUgcHJvdG90eXBlIG9iamVjdCBpcyBwcm92ZWQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzMxMAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgY29udHJpYnV0ZXMgdG8gNiUg
d2luIGluIE9jdGFuZS9yYXl0cmFjZS4KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGJhc2VsaW5lICAgICAgICAgICAgICAgICAgcGF0Y2hlZAorCisgICAgICAgICAg
ICByYXl0cmFjZSAgICAgICB4MiAgICAgICAxLjE5OTE1Ky0wLjAxODYyICAgIF4gICAgIDEuMTMx
NTYrLTAuMDE1ODkgICAgICAgXiBkZWZpbml0ZWx5IDEuMDU5N3ggZmFzdGVyCisKKyAgICAgICAg
KiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6REZH
OjpBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHMp
OgorICAgICAgICAqIGRmZy9ERkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHA6CisgICAgICAgIChK
U0M6OkRGRzo6Q29uc3RhbnRGb2xkaW5nUGhhc2U6OmZvbGRDb25zdGFudHMpOgorCiAyMDE4LTAz
LTAyICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIHRoZSBM
TEludCBwcm9iZSB3b3JrIGZvciBBUk02NC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAppbmRleCA4Y2VkODRm
MDM5ZDIzMGU4ODEwYzU4NWIwZTJkMmZiZjkyMWViM2I3Li4zOTEzMDJmM2Q0ZWU4YWI3NDNlOTk0
M2Q1NDFmMjM3MzI3ODFkNDc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBAIC0yMjUyLDcgKzIyNTIs
MjEgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0
ZUVmZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICB9CiAKICAgICBjYXNlIENyZWF0ZVRo
aXM6IHsKLSAgICAgICAgLy8gRklYTUU6IFdlIGNhbiBmb2xkIHRoaXMgdG8gTmV3T2JqZWN0IGlm
IHRoZSBpbmNvbWluZyBjYWxsZWUgaXMgYSBjb25zdGFudC4KKyAgICAgICAgaWYgKEpTVmFsdWUg
YmFzZSA9IGZvck5vZGUobm9kZS0+Y2hpbGQxKCkpLm1fdmFsdWUpIHsKKyAgICAgICAgICAgIGlm
IChhdXRvKiBmdW5jdGlvbiA9IGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KG1fdm0sIGJhc2Up
KSB7CisgICAgICAgICAgICAgICAgaWYgKEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRhID0gZnVu
Y3Rpb24tPnJhcmVEYXRhKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKFN0cnVjdHVyZSog
c3RydWN0dXJlID0gcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25TdHJ1Y3R1cmUoKSkgeworICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IHdlIHNob3VsZCBiZSBhYmxlIHRvIGFsbG9j
YXRlIGEgcG9seSBwcm90byBvYmplY3QgaGVyZToKKyAgICAgICAgICAgICAgICAgICAgICAgIC8v
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc1MTcKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc01vbm9Qcm90bygpKSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbV9zdGF0ZS5zZXRGb3VuZENvbnN0YW50cyh0cnVlKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JOb2RlKG5vZGUpLnNldChtX2dyYXBoLCBzdHJ1
Y3R1cmUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgfQorICAgICAgICB9CiAgICAgICAgIGZvck5vZGUobm9kZSkuc2V0VHlwZSht
X2dyYXBoLCBTcGVjRmluYWxPYmplY3QpOwogICAgICAgICBicmVhazsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3Bw
CmluZGV4IGI2ZGY3MzE4NmE3ZWRmMDc2MjllMjc3OTY3MTYxZmQ1ZTVhN2Q4NWMuLmE4MTRkZGE3
ODcwMWJmODFkZjg3MzdjYzNiMTg4YzkwM2E1MzVlYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwCkBAIC02MzYsNiAr
NjM2LDI1IEBAIGNsYXNzIENvbnN0YW50Rm9sZGluZ1BoYXNlIDogcHVibGljIFBoYXNlIHsKICAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KIAorICAgICAgICAgICAgY2FzZSBD
cmVhdGVUaGlzOiB7CisgICAgICAgICAgICAgICAgaWYgKEpTVmFsdWUgYmFzZSA9IG1fc3RhdGUu
Zm9yTm9kZShub2RlLT5jaGlsZDEoKSkubV92YWx1ZSkgeworICAgICAgICAgICAgICAgICAgICBp
ZiAoYXV0byogZnVuY3Rpb24gPSBqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPihtX2dyYXBoLm1f
dm0sIGJhc2UpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoRnVuY3Rpb25SYXJlRGF0
YSogcmFyZURhdGEgPSBmdW5jdGlvbi0+cmFyZURhdGEoKSkgeworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHJhcmVEYXRhLT5vYmplY3RBbGxv
Y2F0aW9uU3RydWN0dXJlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
RklYTUU6IHdlIHNob3VsZCBiZSBhYmxlIHRvIGFsbG9jYXRlIGEgcG9seSBwcm90byBvYmplY3Qg
aGVyZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzUxNworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNNb25vUHJvdG8oKSkgeworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbm9kZS0+Y29udmVydFRvTmV3T2JqZWN0KG1fZ3JhcGgucmVn
aXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJlKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBjYXNlIFRvTnVtYmVyOiB7CiAgICAgICAgICAg
ICAgICAgaWYgKG1fc3RhdGUuZm9yTm9kZShub2RlLT5jaGlsZDEoKSkubV90eXBlICYgflNwZWNC
eXRlY29kZU51bWJlcikKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334958</attachid>
            <date>2018-03-03 08:31:13 -0800</date>
            <delta_ts>2018-03-03 08:36:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183310-20180304013112.patch</filename>
            <type>text/plain</type>
            <size>6037</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5MTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
YTUwMzQ5OTQyYjE1ZjUwMTliOGE2NDlmNGJiYWQ4MDVjNDgwNzg0Li41ZjYwZjJkMWYxNmI2YmJk
N2IyNzIwM2Q1OTA2MDJhMWY4Y2I4ZGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxOC0wMy0wMyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbREZHXSBBSSBzaG91bGQgY29udmVydCBDcmVhdGVUaGlzIHRvIE5l
d09iamVjdCBpZiB0aGUgcHJvdG90eXBlIG9iamVjdCBpcyBwcm92ZWQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzMxMAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBD
cmVhdGVUaGlzIC0+IE5ld09iamVjdCBjb252ZXJzaW9uIGluIEFJIGlmIHRoZSBnaXZlbiBmdW5j
dGlvbiBpcyBjb25zdGFudC4KKyAgICAgICAgVGhpcyBjb250cmlidXRlcyB0byA2JSB3aW4gaW4g
T2N0YW5lL3JheXRyYWNlLgorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYmFzZWxpbmUgICAgICAgICAgICAgICAgICBwYXRjaGVkCisKKyAgICAgICAgICAgIHJheXRy
YWNlICAgICAgIHgyICAgICAgIDEuMTk5MTUrLTAuMDE4NjIgICAgXiAgICAgMS4xMzE1NistMC4w
MTU4OSAgICAgICBeIGRlZmluaXRlbHkgMS4wNTk3eCBmYXN0ZXIKKworICAgICAgICAqIGRmZy9E
RkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpERkc6OkFic3Ry
YWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyk6CisgICAg
ICAgICogZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpDb25zdGFudEZvbGRpbmdQaGFzZTo6Zm9sZENvbnN0YW50cyk6CisKIDIwMTgtMDMtMDIgIE1h
cmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgdGhlIExMSW50IHBy
b2JlIHdvcmsgZm9yIEFSTTY0LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCmluZGV4IDhjZWQ4NGYwMzlkMjMw
ZTg4MTBjNTg1YjBlMmQyZmJmOTIxZWIzYjcuLjM5MTMwMmYzZDRlZThhYjc0M2U5OTQzZDU0MWYy
MzczMjc4MWQ0NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJz
dHJhY3RJbnRlcnByZXRlcklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKQEAgLTIyNTIsNyArMjI1MiwyMSBAQCBi
b29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0
cyh1bnNpZ25lZCBjbG9iYmVyTGltaQogICAgIH0KIAogICAgIGNhc2UgQ3JlYXRlVGhpczogewot
ICAgICAgICAvLyBGSVhNRTogV2UgY2FuIGZvbGQgdGhpcyB0byBOZXdPYmplY3QgaWYgdGhlIGlu
Y29taW5nIGNhbGxlZSBpcyBhIGNvbnN0YW50LgorICAgICAgICBpZiAoSlNWYWx1ZSBiYXNlID0g
Zm9yTm9kZShub2RlLT5jaGlsZDEoKSkubV92YWx1ZSkgeworICAgICAgICAgICAgaWYgKGF1dG8q
IGZ1bmN0aW9uID0ganNEeW5hbWljQ2FzdDxKU0Z1bmN0aW9uKj4obV92bSwgYmFzZSkpIHsKKyAg
ICAgICAgICAgICAgICBpZiAoRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEgPSBmdW5jdGlvbi0+
cmFyZURhdGEoKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSByYXJlRGF0YS0+b2JqZWN0QWxsb2NhdGlvblN0cnVjdHVyZSgpKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAvLyBGSVhNRTogd2Ugc2hvdWxkIGJlIGFibGUgdG8gYWxsb2NhdGUgYSBw
b2x5IHByb3RvIG9iamVjdCBoZXJlOgorICAgICAgICAgICAgICAgICAgICAgICAgLy8gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzUxNworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzTW9ub1Byb3RvKCkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBtX3N0YXRlLnNldEZvdW5kQ29uc3RhbnRzKHRydWUpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGZvck5vZGUobm9kZSkuc2V0KG1fZ3JhcGgsIHN0cnVjdHVyZSk7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KICAgICAgICAgZm9yTm9kZShub2RlKS5zZXRUeXBlKG1fZ3JhcGgs
IFNwZWNGaW5hbE9iamVjdCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHAKaW5kZXgg
YjZkZjczMTg2YTdlZGYwNzYyOWUyNzc5NjcxNjFmZDVlNWE3ZDg1Yy4uYTgxNGRkYTc4NzAxYmY4
MWRmODczN2NjM2IxODhjOTAzYTUzNWVhNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHAKQEAgLTYzNiw2ICs2MzYsMjUg
QEAgY2xhc3MgQ29uc3RhbnRGb2xkaW5nUGhhc2UgOiBwdWJsaWMgUGhhc2UgewogICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogCisgICAgICAgICAgICBjYXNlIENyZWF0ZVRo
aXM6IHsKKyAgICAgICAgICAgICAgICBpZiAoSlNWYWx1ZSBiYXNlID0gbV9zdGF0ZS5mb3JOb2Rl
KG5vZGUtPmNoaWxkMSgpKS5tX3ZhbHVlKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChhdXRv
KiBmdW5jdGlvbiA9IGpzRHluYW1pY0Nhc3Q8SlNGdW5jdGlvbio+KG1fZ3JhcGgubV92bSwgYmFz
ZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChGdW5jdGlvblJhcmVEYXRhKiByYXJl
RGF0YSA9IGZ1bmN0aW9uLT5yYXJlRGF0YSgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKFN0cnVjdHVyZSogc3RydWN0dXJlID0gcmFyZURhdGEtPm9iamVjdEFsbG9jYXRpb25T
dHJ1Y3R1cmUoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGSVhNRTog
d2Ugc2hvdWxkIGJlIGFibGUgdG8gYWxsb2NhdGUgYSBwb2x5IHByb3RvIG9iamVjdCBoZXJlOgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NTE3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlmIChzdHJ1Y3R1cmUtPmhhc01vbm9Qcm90bygpKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBub2RlLT5jb252ZXJ0VG9OZXdPYmplY3QobV9ncmFwaC5yZWdpc3RlclN0
cnVjdHVyZShzdHJ1Y3R1cmUpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNoYW5nZWQgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICB9CisKICAgICAgICAgICAgIGNhc2UgVG9OdW1iZXI6IHsKICAgICAgICAgICAgICAgICBp
ZiAobV9zdGF0ZS5mb3JOb2RlKG5vZGUtPmNoaWxkMSgpKS5tX3R5cGUgJiB+U3BlY0J5dGVjb2Rl
TnVtYmVyKQogICAgICAgICAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL0pTVGVzdHMv
Q2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2I1NjkyYTVjNDAyMzg0MmRkYWM3
YmUzYjJjN2JmYjkzODlkMzFmOC4uYTJjOGM2NDIxNTU0N2Q2YjA2ZGViNjJkZjgyNWYwYTBmOGVh
MTdjNyAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOSBAQAorMjAxOC0wMy0wMyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUu
dGVhQGdtYWlsLmNvbT4KKworICAgICAgICBbREZHXSBBSSBzaG91bGQgY29udmVydCBDcmVhdGVU
aGlzIHRvIE5ld09iamVjdCBpZiB0aGUgcHJvdG90eXBlIG9iamVjdCBpcyBwcm92ZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzMxMAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RyZXNzL2FpLWNy
ZWF0ZS10aGlzLXRvLW5ldy1vYmplY3QuanM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0KToKKyAg
ICAgICAgKHRlc3QpOgorICAgICAgICAoZnVuYyk6CisgICAgICAgIChjaGVjayk6CisgICAgICAg
ICh0ZXN0LmJvZHkuQSk6CisgICAgICAgICh0ZXN0LmJvZHkuQik6CisgICAgICAgICh0ZXN0LmJv
ZHkpOgorCiAyMDE4LTAzLTAxICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29t
PgogCiAgICAgICAgIEFTU0VSVElPTiBGQUlMRUQ6IG1hdGNoQ29udGV4dHVhbEtleXdvcmQobV92
bS0+cHJvcGVydHlOYW1lcy0+YXN5bmMpCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9haS1j
cmVhdGUtdGhpcy10by1uZXctb2JqZWN0LmpzIGIvSlNUZXN0cy9zdHJlc3MvYWktY3JlYXRlLXRo
aXMtdG8tbmV3LW9iamVjdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jODlmYjE4ODRlNDIyYjc3M2M1ZDYxMjMw
NzFlMWViZmE4MzkyNTcyCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvYWktY3Jl
YXRlLXRoaXMtdG8tbmV3LW9iamVjdC5qcwpAQCAtMCwwICsxLDQxIEBACitmdW5jdGlvbiBhc3Nl
cnQoYiwgbSA9ICJCYWQhIikgeworICAgIGlmICghYikgeworICAgICAgICB0aHJvdyBuZXcgRXJy
b3IobSk7CisgICAgfQorfQorCitmdW5jdGlvbiB0ZXN0KGYsIGl0ZXJzID0gMTAwMCkgeworICAg
IGZvciAobGV0IGkgPSAwOyBpIDwgaXRlcnM7IGkrKykKKyAgICAgICAgZihpKTsKK30KKworZnVu
Y3Rpb24gZnVuYyh4KSB7CisgICAgcmV0dXJuIHg7Cit9Citub0lubGluZShmdW5jKTsKKworZnVu
Y3Rpb24gY2hlY2soaW5kZXgsIGFyciwgQikKK3sKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEw
MDA7IGkrKykKKyAgICAgICAgYXNzZXJ0KGFycltpXSBpbnN0YW5jZW9mIEIpOworfQorbm9Jbmxp
bmUoY2hlY2spOworCit0ZXN0KGZ1bmN0aW9uIGJvZHkoaW5kZXgpIHsKKyAgICBjbGFzcyBBIHsK
KyAgICAgICAgY29uc3RydWN0b3IoeCwgZiA9IGZ1bmMpCisgICAgICAgIHsKKyAgICAgICAgICAg
IHRoaXMuX3ZhbHVlID0geDsKKyAgICAgICAgICAgIHRoaXMuX2Z1bmMgPSBmOworICAgICAgICB9
CisgICAgfQorCisgICAgY2xhc3MgQiBleHRlbmRzIEEgeworICAgIH0KKworICAgIGxldCBhcnIg
PSBbXTsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7IGkrKykKKyAgICAgICAgYXJyLnB1
c2gobmV3IEIoMjApKTsKKworICAgIGNoZWNrKGluZGV4LCBhcnIsIEIpOworfSwgOCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334959</attachid>
            <date>2018-03-03 08:36:22 -0800</date>
            <delta_ts>2018-03-09 04:56:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183310-20180304013621.patch</filename>
            <type>text/plain</type>
            <size>6375</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5MTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
YTUwMzQ5OTQyYjE1ZjUwMTliOGE2NDlmNGJiYWQ4MDVjNDgwNzg0Li41ZjYwZjJkMWYxNmI2YmJk
N2IyNzIwM2Q1OTA2MDJhMWY4Y2I4ZGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxOC0wMy0wMyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbREZHXSBBSSBzaG91bGQgY29udmVydCBDcmVhdGVUaGlzIHRvIE5l
d09iamVjdCBpZiB0aGUgcHJvdG90eXBlIG9iamVjdCBpcyBwcm92ZWQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzMxMAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBD
cmVhdGVUaGlzIC0+IE5ld09iamVjdCBjb252ZXJzaW9uIGluIEFJIGlmIHRoZSBnaXZlbiBmdW5j
dGlvbiBpcyBjb25zdGFudC4KKyAgICAgICAgVGhpcyBjb250cmlidXRlcyB0byA2JSB3aW4gaW4g
T2N0YW5lL3JheXRyYWNlLgorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYmFzZWxpbmUgICAgICAgICAgICAgICAgICBwYXRjaGVkCisKKyAgICAgICAgICAgIHJheXRy
YWNlICAgICAgIHgyICAgICAgIDEuMTk5MTUrLTAuMDE4NjIgICAgXiAgICAgMS4xMzE1NistMC4w
MTU4OSAgICAgICBeIGRlZmluaXRlbHkgMS4wNTk3eCBmYXN0ZXIKKworICAgICAgICAqIGRmZy9E
RkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpERkc6OkFic3Ry
YWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyk6CisgICAg
ICAgICogZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpDb25zdGFudEZvbGRpbmdQaGFzZTo6Zm9sZENvbnN0YW50cyk6CisKIDIwMTgtMDMtMDIgIE1h
cmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgdGhlIExMSW50IHBy
b2JlIHdvcmsgZm9yIEFSTTY0LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCmluZGV4IDhjZWQ4NGYwMzlkMjMw
ZTg4MTBjNTg1YjBlMmQyZmJmOTIxZWIzYjcuLjNjMThiODRjMmY0YWU2YjRlOGJmNDMxMTEyZDI2
N2MyYWU3MGQ4NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJz
dHJhY3RJbnRlcnByZXRlcklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKQEAgLTIyNTIsNyArMjI1MiwyMyBAQCBi
b29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0
cyh1bnNpZ25lZCBjbG9iYmVyTGltaQogICAgIH0KIAogICAgIGNhc2UgQ3JlYXRlVGhpczogewot
ICAgICAgICAvLyBGSVhNRTogV2UgY2FuIGZvbGQgdGhpcyB0byBOZXdPYmplY3QgaWYgdGhlIGlu
Y29taW5nIGNhbGxlZSBpcyBhIGNvbnN0YW50LgorICAgICAgICBpZiAoSlNWYWx1ZSBiYXNlID0g
Zm9yTm9kZShub2RlLT5jaGlsZDEoKSkubV92YWx1ZSkgeworICAgICAgICAgICAgaWYgKGF1dG8q
IGZ1bmN0aW9uID0ganNEeW5hbWljQ2FzdDxKU0Z1bmN0aW9uKj4obV92bSwgYmFzZSkpIHsKKyAg
ICAgICAgICAgICAgICBpZiAoRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEgPSBmdW5jdGlvbi0+
cmFyZURhdGEoKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSByYXJlRGF0YS0+b2JqZWN0QWxsb2NhdGlvblN0cnVjdHVyZSgpKSB7CisgICAgICAgICAg
ICAgICAgICAgICAgICAvLyBGSVhNRTogd2Ugc2hvdWxkIGJlIGFibGUgdG8gYWxsb2NhdGUgYSBw
b2x5IHByb3RvIG9iamVjdCBoZXJlOgorICAgICAgICAgICAgICAgICAgICAgICAgLy8gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzUxNworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzTW9ub1Byb3RvKCkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygpLmFkZExhemlseShyYXJlRGF0YS0+YWxs
b2NhdGlvblByb2ZpbGVXYXRjaHBvaW50U2V0KCkpOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1fc3RhdGUuc2V0Rm91bmRDb25zdGFudHModHJ1ZSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZm9yTm9kZShub2RlKS5zZXQobV9ncmFwaCwgc3RydWN0dXJlKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQogICAgICAgICBmb3JOb2RlKG5vZGUpLnNldFR5cGUobV9ncmFwaCwgU3BlY0ZpbmFs
T2JqZWN0KTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcAppbmRleCBiNmRmNzMxODZh
N2VkZjA3NjI5ZTI3Nzk2NzE2MWZkNWU1YTdkODVjLi5iZDg3NDhhY2RjMzMxYTAwZTA1Yzc3ZTRl
Y2JkNTQ3NTNmMTU1NzFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcApAQCAtNjM2LDYgKzYzNiwyNyBAQCBjbGFzcyBD
b25zdGFudEZvbGRpbmdQaGFzZSA6IHB1YmxpYyBQaGFzZSB7CiAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICB9CiAKKyAgICAgICAgICAgIGNhc2UgQ3JlYXRlVGhpczogeworICAg
ICAgICAgICAgICAgIGlmIChKU1ZhbHVlIGJhc2UgPSBtX3N0YXRlLmZvck5vZGUobm9kZS0+Y2hp
bGQxKCkpLm1fdmFsdWUpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGF1dG8qIGZ1bmN0aW9u
ID0ganNEeW5hbWljQ2FzdDxKU0Z1bmN0aW9uKj4obV9ncmFwaC5tX3ZtLCBiYXNlKSkgeworICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRhID0gZnVu
Y3Rpb24tPnJhcmVEYXRhKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUgPSByYXJlRGF0YS0+b2JqZWN0QWxsb2NhdGlvblN0cnVjdHVyZSgp
KSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiB3ZSBzaG91bGQg
YmUgYWJsZSB0byBhbGxvY2F0ZSBhIHBvbHkgcHJvdG8gb2JqZWN0IGhlcmU6CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzc1MTcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0cnVj
dHVyZS0+aGFzTW9ub1Byb3RvKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1fZ3JhcGguZnJlZXplKHJhcmVEYXRhKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHkocmFyZURhdGEtPmFsbG9j
YXRpb25Qcm9maWxlV2F0Y2hwb2ludFNldCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb05ld09iamVjdChtX2dyYXBoLnJlZ2lzdGVyU3RydWN0
dXJlKHN0cnVjdHVyZSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hh
bmdlZCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
IH0KKwogICAgICAgICAgICAgY2FzZSBUb051bWJlcjogewogICAgICAgICAgICAgICAgIGlmICht
X3N0YXRlLmZvck5vZGUobm9kZS0+Y2hpbGQxKCkpLm1fdHlwZSAmIH5TcGVjQnl0ZWNvZGVOdW1i
ZXIpCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFu
Z2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCAzYjU2OTJhNWM0MDIzODQyZGRhYzdiZTNi
MmM3YmZiOTM4OWQzMWY4Li5hMmM4YzY0MjE1NTQ3ZDZiMDZkZWI2MmRmODI1ZjBhMGY4ZWExN2M3
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE5IEBACisyMDE4LTAzLTAzICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFA
Z21haWwuY29tPgorCisgICAgICAgIFtERkddIEFJIHNob3VsZCBjb252ZXJ0IENyZWF0ZVRoaXMg
dG8gTmV3T2JqZWN0IGlmIHRoZSBwcm90b3R5cGUgb2JqZWN0IGlzIHByb3ZlZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgzMzEwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvYWktY3JlYXRl
LXRoaXMtdG8tbmV3LW9iamVjdC5qczogQWRkZWQuCisgICAgICAgIChhc3NlcnQpOgorICAgICAg
ICAodGVzdCk6CisgICAgICAgIChmdW5jKToKKyAgICAgICAgKGNoZWNrKToKKyAgICAgICAgKHRl
c3QuYm9keS5BKToKKyAgICAgICAgKHRlc3QuYm9keS5CKToKKyAgICAgICAgKHRlc3QuYm9keSk6
CisKIDIwMTgtMDMtMDEgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAK
ICAgICAgICAgQVNTRVJUSU9OIEZBSUxFRDogbWF0Y2hDb250ZXh0dWFsS2V5d29yZChtX3ZtLT5w
cm9wZXJ0eU5hbWVzLT5hc3luYykKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2FpLWNyZWF0
ZS10aGlzLXRvLW5ldy1vYmplY3QuanMgYi9KU1Rlc3RzL3N0cmVzcy9haS1jcmVhdGUtdGhpcy10
by1uZXctb2JqZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4OWZiMTg4NGU0MjJiNzczYzVkNjEyMzA3MWUx
ZWJmYTgzOTI1NzIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9haS1jcmVhdGUt
dGhpcy10by1uZXctb2JqZWN0LmpzCkBAIC0wLDAgKzEsNDEgQEAKK2Z1bmN0aW9uIGFzc2VydChi
LCBtID0gIkJhZCEiKSB7CisgICAgaWYgKCFiKSB7CisgICAgICAgIHRocm93IG5ldyBFcnJvciht
KTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3QoZiwgaXRlcnMgPSAxMDAwKSB7CisgICAgZm9y
IChsZXQgaSA9IDA7IGkgPCBpdGVyczsgaSsrKQorICAgICAgICBmKGkpOworfQorCitmdW5jdGlv
biBmdW5jKHgpIHsKKyAgICByZXR1cm4geDsKK30KK25vSW5saW5lKGZ1bmMpOworCitmdW5jdGlv
biBjaGVjayhpbmRleCwgYXJyLCBCKQoreworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsg
aSsrKQorICAgICAgICBhc3NlcnQoYXJyW2ldIGluc3RhbmNlb2YgQik7Cit9Citub0lubGluZShj
aGVjayk7CisKK3Rlc3QoZnVuY3Rpb24gYm9keShpbmRleCkgeworICAgIGNsYXNzIEEgeworICAg
ICAgICBjb25zdHJ1Y3Rvcih4LCBmID0gZnVuYykKKyAgICAgICAgeworICAgICAgICAgICAgdGhp
cy5fdmFsdWUgPSB4OworICAgICAgICAgICAgdGhpcy5fZnVuYyA9IGY7CisgICAgICAgIH0KKyAg
ICB9CisKKyAgICBjbGFzcyBCIGV4dGVuZHMgQSB7CisgICAgfQorCisgICAgbGV0IGFyciA9IFtd
OworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgaSsrKQorICAgICAgICBhcnIucHVzaChu
ZXcgQigyMCkpOworCisgICAgY2hlY2soaW5kZXgsIGFyciwgQik7Cit9LCA4KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335422</attachid>
            <date>2018-03-09 04:57:01 -0800</date>
            <delta_ts>2018-03-09 10:10:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183310-20180309215700.patch</filename>
            <type>text/plain</type>
            <size>8265</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NDU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
ZTJhMDYyZjM4MTJjZTg0ZDM3YTgxNDVhYWJkYWE2NmNlMGJmMzczLi45ZDEyZTM2Y2RkNmFiZGI0
OGUxZjg5OGQ4OTM4MDc3YjZkYTc2NTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxOC0wMy0wOSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbREZHXSBBSSBzaG91bGQgY29udmVydCBDcmVhdGVUaGlzIHRvIE5l
d09iamVjdCBpZiB0aGUgcHJvdG90eXBlIG9iamVjdCBpcyBwcm92ZWQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzMxMAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBD
cmVhdGVUaGlzIC0+IE5ld09iamVjdCBjb252ZXJzaW9uIGluIEFJIGlmIHRoZSBnaXZlbiBmdW5j
dGlvbiBpcyBjb25zdGFudC4KKyAgICAgICAgVGhpcyBjb250cmlidXRlcyB0byA2JSB3aW4gaW4g
T2N0YW5lL3JheXRyYWNlLgorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYmFzZWxpbmUgICAgICAgICAgICAgICAgICBwYXRjaGVkCisKKyAgICAgICAgICAgIHJheXRy
YWNlICAgICAgIHgyICAgICAgIDEuMTk5MTUrLTAuMDE4NjIgICAgXiAgICAgMS4xMzE1NistMC4w
MTU4OSAgICAgICBeIGRlZmluaXRlbHkgMS4wNTk3eCBmYXN0ZXIKKworICAgICAgICAqIGRmZy9E
RkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpERkc6OkFic3Ry
YWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyk6CisgICAg
ICAgICogZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpDb25zdGFudEZvbGRpbmdQaGFzZTo6Zm9sZENvbnN0YW50cyk6CisKIDIwMTgtMDMtMDggIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBTYWZhcmkgbm90IGhhbmRs
aW5nIHVuZGVmaW5lZCBnbG9iYWwgdmFyaWFibGVzIHdpdGggc2FtZSBuYW1lIGFzIGVsZW1lbnQg
SWQgY29ycmVjdGx5LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdB
YnN0cmFjdEludGVycHJldGVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCmluZGV4IDhjZWQ4NGYwMzlkMjMwZTg4MTBj
NTg1YjBlMmQyZmJmOTIxZWIzYjcuLjNjMThiODRjMmY0YWU2YjRlOGJmNDMxMTEyZDI2N2MyYWU3
MGQ4NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJ
bnRlcnByZXRlcklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fi
c3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKQEAgLTIyNTIsNyArMjI1MiwyMyBAQCBib29sIEFi
c3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyh1bnNp
Z25lZCBjbG9iYmVyTGltaQogICAgIH0KIAogICAgIGNhc2UgQ3JlYXRlVGhpczogewotICAgICAg
ICAvLyBGSVhNRTogV2UgY2FuIGZvbGQgdGhpcyB0byBOZXdPYmplY3QgaWYgdGhlIGluY29taW5n
IGNhbGxlZSBpcyBhIGNvbnN0YW50LgorICAgICAgICBpZiAoSlNWYWx1ZSBiYXNlID0gZm9yTm9k
ZShub2RlLT5jaGlsZDEoKSkubV92YWx1ZSkgeworICAgICAgICAgICAgaWYgKGF1dG8qIGZ1bmN0
aW9uID0ganNEeW5hbWljQ2FzdDxKU0Z1bmN0aW9uKj4obV92bSwgYmFzZSkpIHsKKyAgICAgICAg
ICAgICAgICBpZiAoRnVuY3Rpb25SYXJlRGF0YSogcmFyZURhdGEgPSBmdW5jdGlvbi0+cmFyZURh
dGEoKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBy
YXJlRGF0YS0+b2JqZWN0QWxsb2NhdGlvblN0cnVjdHVyZSgpKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAvLyBGSVhNRTogd2Ugc2hvdWxkIGJlIGFibGUgdG8gYWxsb2NhdGUgYSBwb2x5IHBy
b3RvIG9iamVjdCBoZXJlOgorICAgICAgICAgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzUxNworICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHN0cnVjdHVyZS0+aGFzTW9ub1Byb3RvKCkpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBtX2dyYXBoLmZyZWV6ZShyYXJlRGF0YSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygpLmFkZExhemlseShyYXJlRGF0YS0+YWxsb2NhdGlv
blByb2ZpbGVXYXRjaHBvaW50U2V0KCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1f
c3RhdGUuc2V0Rm91bmRDb25zdGFudHModHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZm9yTm9kZShub2RlKS5zZXQobV9ncmFwaCwgc3RydWN0dXJlKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQogICAgICAgICBmb3JOb2RlKG5vZGUpLnNldFR5cGUobV9ncmFwaCwgU3BlY0ZpbmFsT2JqZWN0
KTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcAppbmRleCBiNmRmNzMxODZhN2VkZjA3
NjI5ZTI3Nzk2NzE2MWZkNWU1YTdkODVjLi5iZDg3NDhhY2RjMzMxYTAwZTA1Yzc3ZTRlY2JkNTQ3
NTNmMTU1NzFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbnN0
YW50Rm9sZGluZ1BoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nv
bnN0YW50Rm9sZGluZ1BoYXNlLmNwcApAQCAtNjM2LDYgKzYzNiwyNyBAQCBjbGFzcyBDb25zdGFu
dEZvbGRpbmdQaGFzZSA6IHB1YmxpYyBQaGFzZSB7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICB9CiAKKyAgICAgICAgICAgIGNhc2UgQ3JlYXRlVGhpczogeworICAgICAgICAg
ICAgICAgIGlmIChKU1ZhbHVlIGJhc2UgPSBtX3N0YXRlLmZvck5vZGUobm9kZS0+Y2hpbGQxKCkp
Lm1fdmFsdWUpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGF1dG8qIGZ1bmN0aW9uID0ganNE
eW5hbWljQ2FzdDxKU0Z1bmN0aW9uKj4obV9ncmFwaC5tX3ZtLCBiYXNlKSkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRhID0gZnVuY3Rpb24t
PnJhcmVEYXRhKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoU3RydWN0dXJl
KiBzdHJ1Y3R1cmUgPSByYXJlRGF0YS0+b2JqZWN0QWxsb2NhdGlvblN0cnVjdHVyZSgpKSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiB3ZSBzaG91bGQgYmUgYWJs
ZSB0byBhbGxvY2F0ZSBhIHBvbHkgcHJvdG8gb2JqZWN0IGhlcmU6CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNzc1MTcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+
aGFzTW9ub1Byb3RvKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1f
Z3JhcGguZnJlZXplKHJhcmVEYXRhKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG1fZ3JhcGgud2F0Y2hwb2ludHMoKS5hZGRMYXppbHkocmFyZURhdGEtPmFsbG9jYXRpb25Q
cm9maWxlV2F0Y2hwb2ludFNldCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG5vZGUtPmNvbnZlcnRUb05ld09iamVjdChtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKHN0
cnVjdHVyZSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlZCA9
IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKwog
ICAgICAgICAgICAgY2FzZSBUb051bWJlcjogewogICAgICAgICAgICAgICAgIGlmIChtX3N0YXRl
LmZvck5vZGUobm9kZS0+Y2hpbGQxKCkpLm1fdHlwZSAmIH5TcGVjQnl0ZWNvZGVOdW1iZXIpCiAg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cg
Yi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCAzZTk0YzYxYWZkMmQ1YjQzOGFmNGQyN2Y1ZThjMjAw
MmM5MTc5ZmY4Li43ZTA0YzBkNDNhODhjNDIzZTk2MWM0NjJmZTY0MDc1YTc1MDIzYWNhIDEwMDY0
NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI3IEBACisyMDE4LTAzLTA5ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwu
Y29tPgorCisgICAgICAgIFtERkddIEFJIHNob3VsZCBjb252ZXJ0IENyZWF0ZVRoaXMgdG8gTmV3
T2JqZWN0IGlmIHRoZSBwcm90b3R5cGUgb2JqZWN0IGlzIHByb3ZlZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgzMzEwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvYWktY3JlYXRlLXRoaXMt
dG8tbmV3LW9iamVjdC1maXJlLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAgICAg
ICh0ZXN0KToKKyAgICAgICAgKGZ1bmMpOgorICAgICAgICAoY2hlY2spOgorICAgICAgICAodGVz
dC5ib2R5LkEpOgorICAgICAgICAodGVzdC5ib2R5LkIpOgorICAgICAgICAodGVzdC5ib2R5KToK
KyAgICAgICAgKiBzdHJlc3MvYWktY3JlYXRlLXRoaXMtdG8tbmV3LW9iamVjdC5qczogQWRkZWQu
CisgICAgICAgIChhc3NlcnQpOgorICAgICAgICAodGVzdCk6CisgICAgICAgIChmdW5jKToKKyAg
ICAgICAgKGNoZWNrKToKKyAgICAgICAgKHRlc3QuYm9keS5BKToKKyAgICAgICAgKHRlc3QuYm9k
eS5CKToKKyAgICAgICAgKHRlc3QuYm9keSk6CisKIDIwMTgtMDMtMDcgIERvbWluaWsgSW5mdWVo
ciAgPGRpbmZ1ZWhyQGlnYWxpYS5jb20+CiAKICAgICAgICAgRGlzYWJsZSB0ZXN0IHN0cmVzcy92
YXItaW5qZWN0aW9uLWNhY2hlLWludmFsaWRhdGlvbi5qcyBvbiBzeXN0ZW1zIHdpdGggbGltaXRl
ZCBtZW1vcnkKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNzL2FpLWNyZWF0ZS10aGlzLXRvLW5l
dy1vYmplY3QtZmlyZS5qcyBiL0pTVGVzdHMvc3RyZXNzL2FpLWNyZWF0ZS10aGlzLXRvLW5ldy1v
YmplY3QtZmlyZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYzM0ZmUzY2QwZTY5ZjJmNGZkZGU3MWE2ZTllZTgx
ODc4YTBlZTkyCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvYWktY3JlYXRlLXRo
aXMtdG8tbmV3LW9iamVjdC1maXJlLmpzCkBAIC0wLDAgKzEsNjAgQEAKK2Z1bmN0aW9uIGFzc2Vy
dChiLCBtID0gIkJhZCEiKSB7CisgICAgaWYgKCFiKSB7CisgICAgICAgIHRocm93IG5ldyBFcnJv
cihtKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3QoZiwgaXRlcnMgPSAxMDAwKSB7CisgICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCBpdGVyczsgaSsrKQorICAgICAgICBmKGkpOworfQorCitmdW5j
dGlvbiBmdW5jKHgpIHsKKyAgICByZXR1cm4geDsKK30KK25vSW5saW5lKGZ1bmMpOworCit2YXIg
biA9IDI7Cit2YXIgcHJvdG90eXBlID0ge307CitmdW5jdGlvbiBwcmVwKGluZGV4LCBpLCBBLCBC
KQoreworICAgIGlmIChpbmRleCA9PT0gKG4gLSAxKSAmJiBpID09PSA1MDAwKQorICAgICAgICAv
LyBGaXJlIHdhdGNocG9pbnQhCisgICAgICAgIEEucHJvdG90eXBlID0gcHJvdG90eXBlOworfQor
CitmdW5jdGlvbiBjaGVjayhpbmRleCwgYXJyLCBBLCBCLCBvcmlnaW5hbFByb3RvdHlwZSkKK3sK
KyAgICBpZiAoaW5kZXggPT09IChuIC0gMSkpIHsKKyAgICAgICAgYXNzZXJ0KG9yaWdpbmFsUHJv
dG90eXBlICE9PSBwcm90b3R5cGUpOworICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDUwMDA7
IGkrKykKKyAgICAgICAgICAgIGFzc2VydChhcnJbaV0uX19wcm90b19fID09PSBvcmlnaW5hbFBy
b3RvdHlwZSk7CisgICAgICAgIGZvciAobGV0IGkgPSA1MDAwOyBpIDwgMTAwMDA7IGkrKykKKyAg
ICAgICAgICAgIGFzc2VydChhcnJbaV0uX19wcm90b19fID09PSBwcm90b3R5cGUpOworICAgIH0g
ZWxzZSB7CisgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7IGkrKykKKyAgICAgICAg
ICAgIGFzc2VydChhcnJbaV0uX19wcm90b19fID09PSBvcmlnaW5hbFByb3RvdHlwZSk7CisgICAg
fQorfQorbm9JbmxpbmUoY2hlY2spOworCit0ZXN0KGZ1bmN0aW9uIGJvZHkoaW5kZXgpIHsKKyAg
ICBmdW5jdGlvbiBBKHgsIGYgPSBmdW5jKSB7CisgICAgICAgIHRoaXMuX3ZhbHVlID0geDsKKyAg
ICAgICAgdGhpcy5fZnVuYyA9IGY7CisgICAgfQorCisgICAgZnVuY3Rpb24gQihuKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIG5ldyBBKG4pOworICAgIH0KKworICAgIHZhciBvcmlnaW5hbFByb3Rv
dHlwZSA9IEEucHJvdG90eXBlOworICAgIGxldCBhcnIgPSBbXTsKKyAgICBmb3IgKGxldCBpID0g
MDsgaSA8IDEwMDAwOyBpKyspIHsKKyAgICAgICAgcHJlcChpbmRleCwgaSwgQSwgQik7CisgICAg
ICAgIGFyci5wdXNoKEIoMjApKTsKKyAgICB9CisKKyAgICBjaGVjayhpbmRleCwgYXJyLCBBLCBC
LCBvcmlnaW5hbFByb3RvdHlwZSk7Cit9LCBuKTsKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNz
L2FpLWNyZWF0ZS10aGlzLXRvLW5ldy1vYmplY3QuanMgYi9KU1Rlc3RzL3N0cmVzcy9haS1jcmVh
dGUtdGhpcy10by1uZXctb2JqZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4OWZiMTg4NGU0MjJiNzczYzVk
NjEyMzA3MWUxZWJmYTgzOTI1NzIKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9h
aS1jcmVhdGUtdGhpcy10by1uZXctb2JqZWN0LmpzCkBAIC0wLDAgKzEsNDEgQEAKK2Z1bmN0aW9u
IGFzc2VydChiLCBtID0gIkJhZCEiKSB7CisgICAgaWYgKCFiKSB7CisgICAgICAgIHRocm93IG5l
dyBFcnJvcihtKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRlc3QoZiwgaXRlcnMgPSAxMDAwKSB7
CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVyczsgaSsrKQorICAgICAgICBmKGkpOworfQor
CitmdW5jdGlvbiBmdW5jKHgpIHsKKyAgICByZXR1cm4geDsKK30KK25vSW5saW5lKGZ1bmMpOwor
CitmdW5jdGlvbiBjaGVjayhpbmRleCwgYXJyLCBCKQoreworICAgIGZvciAobGV0IGkgPSAwOyBp
IDwgMTAwMDsgaSsrKQorICAgICAgICBhc3NlcnQoYXJyW2ldIGluc3RhbmNlb2YgQik7Cit9Citu
b0lubGluZShjaGVjayk7CisKK3Rlc3QoZnVuY3Rpb24gYm9keShpbmRleCkgeworICAgIGNsYXNz
IEEgeworICAgICAgICBjb25zdHJ1Y3Rvcih4LCBmID0gZnVuYykKKyAgICAgICAgeworICAgICAg
ICAgICAgdGhpcy5fdmFsdWUgPSB4OworICAgICAgICAgICAgdGhpcy5fZnVuYyA9IGY7CisgICAg
ICAgIH0KKyAgICB9CisKKyAgICBjbGFzcyBCIGV4dGVuZHMgQSB7CisgICAgfQorCisgICAgbGV0
IGFyciA9IFtdOworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgaSsrKQorICAgICAgICBh
cnIucHVzaChuZXcgQigyMCkpOworCisgICAgY2hlY2soaW5kZXgsIGFyciwgQik7Cit9LCA4KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335435</attachid>
            <date>2018-03-09 10:10:22 -0800</date>
            <delta_ts>2018-03-11 20:25:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183310-20180310031021.patch</filename>
            <type>text/plain</type>
            <size>8237</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NDY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
ZGM3ZWJlZmVhNThlMTMwNWZiM2Q5MTE1OTQyYzUzZGNlNDA1ZWQ3Li4xMzhhN2QzYWMzMjgzY2U4
M2M5MGMxZjQ2NDQ2YzkzNDIyMDhlN2MzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxOC0wMy0wOSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbREZHXSBBSSBzaG91bGQgY29udmVydCBDcmVhdGVUaGlzIHRvIE5l
d09iamVjdCBpZiB0aGUgcHJvdG90eXBlIG9iamVjdCBpcyBwcm92ZWQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzMxMAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBD
cmVhdGVUaGlzIC0+IE5ld09iamVjdCBjb252ZXJzaW9uIGluIEFJIGlmIHRoZSBnaXZlbiBmdW5j
dGlvbiBpcyBjb25zdGFudC4KKyAgICAgICAgVGhpcyBjb250cmlidXRlcyB0byA2JSB3aW4gaW4g
T2N0YW5lL3JheXRyYWNlLgorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYmFzZWxpbmUgICAgICAgICAgICAgICAgICBwYXRjaGVkCisKKyAgICAgICAgICAgIHJheXRy
YWNlICAgICAgIHgyICAgICAgIDEuMTk5MTUrLTAuMDE4NjIgICAgXiAgICAgMS4xMzE1NistMC4w
MTU4OSAgICAgICBeIGRlZmluaXRlbHkgMS4wNTk3eCBmYXN0ZXIKKworICAgICAgICAqIGRmZy9E
RkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpERkc6OkFic3Ry
YWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyk6CisgICAg
ICAgICogZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpDb25zdGFudEZvbGRpbmdQaGFzZTo6Zm9sZENvbnN0YW50cyk6CisKIDIwMTgtMDMtMDkgIFl1
c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCwgcmVtb3ZlIFdlYkFzc2VtYmx5RnVuY3Rpb25UeXBlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXgg
OGNlZDg0ZjAzOWQyMzBlODgxMGM1ODViMGUyZDJmYmY5MjFlYjNiNy4uM2MxOGI4NGMyZjRhZTZi
NGU4YmY0MzExMTJkMjY3YzJhZTcwZDg0YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtMjI1Miw3
ICsyMjUyLDIzIEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46
OmV4ZWN1dGVFZmZlY3RzKHVuc2lnbmVkIGNsb2JiZXJMaW1pCiAgICAgfQogCiAgICAgY2FzZSBD
cmVhdGVUaGlzOiB7Ci0gICAgICAgIC8vIEZJWE1FOiBXZSBjYW4gZm9sZCB0aGlzIHRvIE5ld09i
amVjdCBpZiB0aGUgaW5jb21pbmcgY2FsbGVlIGlzIGEgY29uc3RhbnQuCisgICAgICAgIGlmIChK
U1ZhbHVlIGJhc2UgPSBmb3JOb2RlKG5vZGUtPmNoaWxkMSgpKS5tX3ZhbHVlKSB7CisgICAgICAg
ICAgICBpZiAoYXV0byogZnVuY3Rpb24gPSBqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPihtX3Zt
LCBiYXNlKSkgeworICAgICAgICAgICAgICAgIGlmIChGdW5jdGlvblJhcmVEYXRhKiByYXJlRGF0
YSA9IGZ1bmN0aW9uLT5yYXJlRGF0YSgpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSA9IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0aW9uU3RydWN0dXJlKCkp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiB3ZSBzaG91bGQgYmUgYWJsZSB0
byBhbGxvY2F0ZSBhIHBvbHkgcHJvdG8gb2JqZWN0IGhlcmU6CisgICAgICAgICAgICAgICAgICAg
ICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NTE3Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNNb25vUHJvdG8oKSkgewor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGguZnJlZXplKHJhcmVEYXRhKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLndhdGNocG9pbnRzKCkuYWRkTGF6aWx5
KHJhcmVEYXRhLT5hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnRTZXQoKSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbV9zdGF0ZS5zZXRGb3VuZENvbnN0YW50cyh0cnVlKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmb3JOb2RlKG5vZGUpLnNldChtX2dyYXBoLCBzdHJ1Y3R1
cmUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfQorICAgICAgICB9CiAgICAgICAgIGZvck5vZGUobm9kZSkuc2V0VHlwZShtX2dy
YXBoLCBTcGVjRmluYWxPYmplY3QpOwogICAgICAgICBicmVhazsKICAgICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwCmlu
ZGV4IGI2ZGY3MzE4NmE3ZWRmMDc2MjllMjc3OTY3MTYxZmQ1ZTVhN2Q4NWMuLmJkODc0OGFjZGMz
MzFhMDBlMDVjNzdlNGVjYmQ1NDc1M2YxNTU3MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwCkBAIC02MzYsNiArNjM2
LDI3IEBAIGNsYXNzIENvbnN0YW50Rm9sZGluZ1BoYXNlIDogcHVibGljIFBoYXNlIHsKICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KIAorICAgICAgICAgICAgY2FzZSBDcmVh
dGVUaGlzOiB7CisgICAgICAgICAgICAgICAgaWYgKEpTVmFsdWUgYmFzZSA9IG1fc3RhdGUuZm9y
Tm9kZShub2RlLT5jaGlsZDEoKSkubV92YWx1ZSkgeworICAgICAgICAgICAgICAgICAgICBpZiAo
YXV0byogZnVuY3Rpb24gPSBqc0R5bmFtaWNDYXN0PEpTRnVuY3Rpb24qPihtX2dyYXBoLm1fdm0s
IGJhc2UpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoRnVuY3Rpb25SYXJlRGF0YSog
cmFyZURhdGEgPSBmdW5jdGlvbi0+cmFyZURhdGEoKSkgeworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIChTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IHJhcmVEYXRhLT5vYmplY3RBbGxvY2F0
aW9uU3RydWN0dXJlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRklY
TUU6IHdlIHNob3VsZCBiZSBhYmxlIHRvIGFsbG9jYXRlIGEgcG9seSBwcm90byBvYmplY3QgaGVy
ZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzUxNworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoc3RydWN0dXJlLT5oYXNNb25vUHJvdG8oKSkgeworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbV9ncmFwaC5mcmVlemUocmFyZURhdGEpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC53YXRjaHBvaW50cygpLmFkZExhemlseShy
YXJlRGF0YS0+YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50U2V0KCkpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS0+Y29udmVydFRvTmV3T2JqZWN0KG1fZ3JhcGgu
cmVnaXN0ZXJTdHJ1Y3R1cmUoc3RydWN0dXJlKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBjYXNlIFRvTnVtYmVyOiB7CiAgICAgICAg
ICAgICAgICAgaWYgKG1fc3RhdGUuZm9yTm9kZShub2RlLT5jaGlsZDEoKSkubV90eXBlICYgflNw
ZWNCeXRlY29kZU51bWJlcikKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQg
YS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNlOTRjNjFhZmQy
ZDViNDM4YWY0ZDI3ZjVlOGMyMDAyYzkxNzlmZjguLjdlMDRjMGQ0M2E4OGM0MjNlOTYxYzQ2MmZl
NjQwNzVhNzUwMjNhY2EgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTgtMDMtMDkgIFl1c3VrZSBTdXp1a2kg
IDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgW0RGR10gQUkgc2hvdWxkIGNvbnZl
cnQgQ3JlYXRlVGhpcyB0byBOZXdPYmplY3QgaWYgdGhlIHByb3RvdHlwZSBvYmplY3QgaXMgcHJv
dmVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODMz
MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0
cmVzcy9haS1jcmVhdGUtdGhpcy10by1uZXctb2JqZWN0LWZpcmUuanM6IEFkZGVkLgorICAgICAg
ICAoYXNzZXJ0KToKKyAgICAgICAgKHRlc3QpOgorICAgICAgICAoZnVuYyk6CisgICAgICAgIChj
aGVjayk6CisgICAgICAgICh0ZXN0LmJvZHkuQSk6CisgICAgICAgICh0ZXN0LmJvZHkuQik6Cisg
ICAgICAgICh0ZXN0LmJvZHkpOgorICAgICAgICAqIHN0cmVzcy9haS1jcmVhdGUtdGhpcy10by1u
ZXctb2JqZWN0LmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAgICAgICh0ZXN0KToK
KyAgICAgICAgKGZ1bmMpOgorICAgICAgICAoY2hlY2spOgorICAgICAgICAodGVzdC5ib2R5LkEp
OgorICAgICAgICAodGVzdC5ib2R5LkIpOgorICAgICAgICAodGVzdC5ib2R5KToKKwogMjAxOC0w
My0wNyAgRG9taW5payBJbmZ1ZWhyICA8ZGluZnVlaHJAaWdhbGlhLmNvbT4KIAogICAgICAgICBE
aXNhYmxlIHRlc3Qgc3RyZXNzL3Zhci1pbmplY3Rpb24tY2FjaGUtaW52YWxpZGF0aW9uLmpzIG9u
IHN5c3RlbXMgd2l0aCBsaW1pdGVkIG1lbW9yeQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3Mv
YWktY3JlYXRlLXRoaXMtdG8tbmV3LW9iamVjdC1maXJlLmpzIGIvSlNUZXN0cy9zdHJlc3MvYWkt
Y3JlYXRlLXRoaXMtdG8tbmV3LW9iamVjdC1maXJlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhZGYwMDg2MmI3
MDNhMGQ1ODM2Y2IzMDdlMDAyNzMyMmJhY2M0MzAKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3Rz
L3N0cmVzcy9haS1jcmVhdGUtdGhpcy10by1uZXctb2JqZWN0LWZpcmUuanMKQEAgLTAsMCArMSw2
MSBAQAorZnVuY3Rpb24gYXNzZXJ0KGIsIG0gPSAiQmFkISIpIHsKKyAgICBpZiAoIWIpIHsKKyAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKG0pOworICAgIH0KK30KKworZnVuY3Rpb24gdGVzdChmLCBp
dGVycyA9IDEwMDApIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZXJzOyBpKyspCisgICAg
ICAgIGYoaSk7Cit9CisKK2Z1bmN0aW9uIGZ1bmMoeCkgeworICAgIHJldHVybiB4OworfQorbm9J
bmxpbmUoZnVuYyk7CisKK3ZhciBuID0gMjsKK3ZhciBwcm90b3R5cGUgPSB7fTsKK2Z1bmN0aW9u
IHByZXAoaW5kZXgsIGksIEEsIEIpCit7CisgICAgaWYgKGluZGV4ID09PSAobiAtIDEpICYmIGkg
PT09IDUwMDApIHsKKyAgICAgICAgLy8gRmlyZSB3YXRjaHBvaW50IQorICAgICAgICBBLnByb3Rv
dHlwZSA9IHByb3RvdHlwZTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIGNoZWNrKGluZGV4LCBhcnIs
IEEsIEIsIG9yaWdpbmFsUHJvdG90eXBlKQoreworICAgIGlmIChpbmRleCA9PT0gKG4gLSAxKSkg
eworICAgICAgICBhc3NlcnQob3JpZ2luYWxQcm90b3R5cGUgIT09IHByb3RvdHlwZSk7CisgICAg
ICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNTAwMDsgaSsrKQorICAgICAgICAgICAgYXNzZXJ0KGFy
cltpXS5fX3Byb3RvX18gPT09IG9yaWdpbmFsUHJvdG90eXBlKTsKKyAgICAgICAgZm9yIChsZXQg
aSA9IDUwMDA7IGkgPCAxMDAwMDsgaSsrKQorICAgICAgICAgICAgYXNzZXJ0KGFycltpXS5fX3By
b3RvX18gPT09IHByb3RvdHlwZSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZm9yIChsZXQgaSA9
IDA7IGkgPCAxMDAwMDsgaSsrKQorICAgICAgICAgICAgYXNzZXJ0KGFycltpXS5fX3Byb3RvX18g
PT09IG9yaWdpbmFsUHJvdG90eXBlKTsKKyAgICB9Cit9Citub0lubGluZShjaGVjayk7CisKK3Rl
c3QoZnVuY3Rpb24gYm9keShpbmRleCkgeworICAgIGZ1bmN0aW9uIEEoeCwgZiA9IGZ1bmMpIHsK
KyAgICAgICAgdGhpcy5fdmFsdWUgPSB4OworICAgICAgICB0aGlzLl9mdW5jID0gZjsKKyAgICB9
CisKKyAgICBmdW5jdGlvbiBCKG4pCisgICAgeworICAgICAgICByZXR1cm4gbmV3IEEobik7Cisg
ICAgfQorCisgICAgdmFyIG9yaWdpbmFsUHJvdG90eXBlID0gQS5wcm90b3R5cGU7CisgICAgbGV0
IGFyciA9IFtdOworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7IGkrKykgeworICAgICAg
ICBwcmVwKGluZGV4LCBpLCBBLCBCKTsKKyAgICAgICAgYXJyLnB1c2goQigyMCkpOworICAgIH0K
KworICAgIGNoZWNrKGluZGV4LCBhcnIsIEEsIEIsIG9yaWdpbmFsUHJvdG90eXBlKTsKK30sIG4p
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJlc3MvYWktY3JlYXRlLXRoaXMtdG8tbmV3LW9iamVj
dC5qcyBiL0pTVGVzdHMvc3RyZXNzL2FpLWNyZWF0ZS10aGlzLXRvLW5ldy1vYmplY3QuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYzg5ZmIxODg0ZTQyMmI3NzNjNWQ2MTIzMDcxZTFlYmZhODM5MjU3MgotLS0gL2Rl
di9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL2FpLWNyZWF0ZS10aGlzLXRvLW5ldy1vYmplY3Qu
anMKQEAgLTAsMCArMSw0MSBAQAorZnVuY3Rpb24gYXNzZXJ0KGIsIG0gPSAiQmFkISIpIHsKKyAg
ICBpZiAoIWIpIHsKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKG0pOworICAgIH0KK30KKworZnVu
Y3Rpb24gdGVzdChmLCBpdGVycyA9IDEwMDApIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0
ZXJzOyBpKyspCisgICAgICAgIGYoaSk7Cit9CisKK2Z1bmN0aW9uIGZ1bmMoeCkgeworICAgIHJl
dHVybiB4OworfQorbm9JbmxpbmUoZnVuYyk7CisKK2Z1bmN0aW9uIGNoZWNrKGluZGV4LCBhcnIs
IEIpCit7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyBpKyspCisgICAgICAgIGFzc2Vy
dChhcnJbaV0gaW5zdGFuY2VvZiBCKTsKK30KK25vSW5saW5lKGNoZWNrKTsKKwordGVzdChmdW5j
dGlvbiBib2R5KGluZGV4KSB7CisgICAgY2xhc3MgQSB7CisgICAgICAgIGNvbnN0cnVjdG9yKHgs
IGYgPSBmdW5jKQorICAgICAgICB7CisgICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHg7CisgICAg
ICAgICAgICB0aGlzLl9mdW5jID0gZjsKKyAgICAgICAgfQorICAgIH0KKworICAgIGNsYXNzIEIg
ZXh0ZW5kcyBBIHsKKyAgICB9CisKKyAgICBsZXQgYXJyID0gW107CisgICAgZm9yIChsZXQgaSA9
IDA7IGkgPCAxMDAwOyBpKyspCisgICAgICAgIGFyci5wdXNoKG5ldyBCKDIwKSk7CisKKyAgICBj
aGVjayhpbmRleCwgYXJyLCBCKTsKK30sIDgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>