<?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>195947</bug_id>
          
          <creation_ts>2019-03-19 08:53:32 -0700</creation_ts>
          <short_desc>REGRESSION(r243115) breaks build for clang 3.8</short_desc>
          <delta_ts>2019-04-01 10:28:00 -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>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=195798</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=195920</see_also>
          <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="Tuti">zrqrrahe</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>aestes</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1518285</commentid>
    <comment_count>0</comment_count>
      <attachid>365165</attachid>
    <who name="Tuti">zrqrrahe</who>
    <bug_when>2019-03-19 08:53:32 -0700</bug_when>
    <thetext>Created attachment 365165
The failed build log

The failed build log is attached.

It is run with env variables CC=/usr/bin/clang CXX=/usr/bin/clang++

clang versions:

/usr/bin/clang --version
clang version 3.8.0-2ubuntu4 (tags/RELEASE_380/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

/usr/bin/clang++ --version
clang version 3.8.0-2ubuntu4 (tags/RELEASE_380/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518298</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-03-19 09:23:35 -0700</bug_when>
    <thetext>/usr/bin/clang++   -DBUILDING_JSCONLY__ -DBUILDING_WITH_CMAKE=1 -DBUILDING_WTF -DHAVE_CONFIG_H=1 -I../../Source/bmalloc -I. -IDerivedSources -I../../Source/ThirdParty -I../../Source/WTF -I../../Source/WTF/wtf -I../../Source/WTF/wtf/dtoa -I../../Source/WTF/wtf/persistence -I../../Source/WTF/wtf/text -I../../Source/WTF/wtf/text/icu -I../../Source/WTF/wtf/threads -I../../Source/WTF/wtf/unicode -fno-optimize-sibling-calls -fno-omit-frame-pointer -fdiagnostics-color=always -fcolor-diagnostics -Wextra -Wall -Wno-parentheses-equality -Qunused-arguments -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align  -fno-strict-aliasing -fno-exceptions -fno-rtti -std=c++14 -fsanitize=address -gsplit-dwarf -g -fPIC -MMD -MT Source/WTF/wtf/CMakeFiles/WTF.dir/DateMath.cpp.o -MF Source/WTF/wtf/CMakeFiles/WTF.dir/DateMath.cpp.o.d -o Source/WTF/wtf/CMakeFiles/WTF.dir/DateMath.cpp.o -c ../../Source/WTF/wtf/DateMath.cpp
In file included from ../../Source/WTF/wtf/DateMath.cpp:73:
In file included from ../../Source/WTF/wtf/DateMath.h:50:
In file included from ../../Source/WTF/wtf/text/WTFString.h:713:
In file included from ../../Source/WTF/wtf/text/AtomicString.h:377:
../../Source/WTF/wtf/text/StringConcatenate.h:281:16: error: no viable conversion from returned value of type &apos;RefPtr&lt;WTF::StringImpl&gt;&apos; to function return type &apos;WTF::String&apos;
        return resultImpl;
               ^~~~~~~~~~</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518318</commentid>
    <comment_count>2</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2019-03-19 09:55:44 -0700</bug_when>
    <thetext>I am guessing the std::move in WTFMove was redundant, but some of the other extra stuff made the ctors in WTFString.h work in clang 3.8, and now we fail? Somehow it seemingly works in other compilers though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518328</commentid>
    <comment_count>3</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2019-03-19 10:13:26 -0700</bug_when>
    <thetext>(In reply to Xan Lopez from comment #2)
&gt; I am guessing the std::move in WTFMove was redundant, but some of the other
&gt; extra stuff made the ctors in WTFString.h work in clang 3.8, and now we
&gt; fail? Somehow it seemingly works in other compilers though.

One guess is the std::forward call happening in move specialization in StdLibExtras.h, which could be forwarding the lvalue to match the WTFString ctor which takes a RefPtr&lt;StringImpl&gt;&amp;&amp;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518352</commentid>
    <comment_count>4</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2019-03-19 10:48:24 -0700</bug_when>
    <thetext>(In reply to Xan Lopez from comment #3)
&gt; (In reply to Xan Lopez from comment #2)
&gt; &gt; I am guessing the std::move in WTFMove was redundant, but some of the other
&gt; &gt; extra stuff made the ctors in WTFString.h work in clang 3.8, and now we
&gt; &gt; fail? Somehow it seemingly works in other compilers though.
&gt; 
&gt; One guess is the std::forward call happening in move specialization in
&gt; StdLibExtras.h, which could be forwarding the lvalue to match the WTFString
&gt; ctor which takes a RefPtr&lt;StringImpl&gt;&amp;&amp;.

Adding std::forward&lt;RefPtr&lt;StringImpl&gt;&gt; fixes the build with clang 3.8, I asked someone with access to that to test it for me. My question now would be why it&apos;s not needed in newer clang versions, and whether that&apos;s safe to do regardless.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518357</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-03-19 10:49:15 -0700</bug_when>
    <thetext>I was going to suggest:

    return resultImpl.copyRef();

which is less mysterious.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518365</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-03-19 10:51:54 -0700</bug_when>
    <thetext>Note clang 3.8 is *really* old, July 2016. How far back does Apple support old clang versions?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518373</commentid>
    <comment_count>7</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2019-03-19 10:57:58 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #5)
&gt; I was going to suggest:
&gt; 
&gt;     return resultImpl.copyRef();
&gt; 
&gt; which is less mysterious.

My colleague tells me the build was already broken with clang 3.8 FWIW. Not that we should not fix this, but it seems there were already other issues. Should not at least one bot run the minimum required clang version?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518476</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-03-19 13:01:48 -0700</bug_when>
    <thetext>Or maybe:

return String { resultImpl };

I&apos;ll try to reland this in bug #195920, to keep everything together.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518480</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-03-19 13:03:45 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #8)
&gt; I&apos;ll try to reland this in bug #195920, to keep everything together.

Oh sorry, I thought you had done a rollout. Nevermind that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518489</commentid>
    <comment_count>10</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-03-19 13:05:43 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #8)
&gt; Or maybe:
&gt; 
&gt; return String { resultImpl };

Would have to be:

return String { WTFMove(resultImpl) };</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518494</commentid>
    <comment_count>11</comment_count>
      <attachid>365217</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-03-19 13:13:09 -0700</bug_when>
    <thetext>Created attachment 365217
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518497</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-03-19 13:14:17 -0700</bug_when>
    <thetext>Tuti, does that work?

(In reply to Michael Catanzaro from comment #6)
&gt; Note clang 3.8 is *really* old, July 2016. How far back does Apple support
&gt; old clang versions?

Really interested in the answer to this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518803</commentid>
    <comment_count>13</comment_count>
    <who name="Tuti">zrqrrahe</who>
    <bug_when>2019-03-20 00:57:22 -0700</bug_when>
    <thetext>Unfortunately not:

+  cmake --build /fuzzing/WebKit/WebKitBuild/Debug --config Debug -- 
[1023/1457] Building CXX object Source/WTF/wtf/CMakeFiles/WTF.dir/MetaAllocator.cpp.o
FAILED: Source/WTF/wtf/CMakeFiles/WTF.dir/MetaAllocator.cpp.o 
/usr/bin/clang++   -DBUILDING_JSCONLY__ -DBUILDING_WITH_CMAKE=1 -DBUILDING_WTF -DHAVE_CONFIG_H=1 -I../../Source/bmalloc -I. -IDerivedSources -I../../Source/ThirdParty -I../../Source/WTF -I../../Source/WTF/wtf -I../../Source/WTF/wtf/dtoa -I../../Source/WTF/wtf/persistence -I../../Source/WTF/wtf/text -I../../Source/WTF/wtf/text/icu -I../../Source/WTF/wtf/threads -I../../Source/WTF/wtf/unicode -fdiagnostics-color=always -fcolor-diagnostics -Wextra -Wall -Wno-parentheses-equality -Qunused-arguments -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align  -fno-strict-aliasing -fno-exceptions -fno-rtti -std=c++14 -gsplit-dwarf -g -fPIC -MMD -MT Source/WTF/wtf/CMakeFiles/WTF.dir/MetaAllocator.cpp.o -MF Source/WTF/wtf/CMakeFiles/WTF.dir/MetaAllocator.cpp.o.d -o Source/WTF/wtf/CMakeFiles/WTF.dir/MetaAllocator.cpp.o -c ../../Source/WTF/wtf/MetaAllocator.cpp
../../Source/WTF/wtf/MetaAllocator.cpp:197:12: error: no viable conversion from returned value of type &apos;WTF::Ref&lt;WTF::MetaAllocatorHandle, WTF::DumbPtrTraits&lt;WTF::MetaAllocatorHandle&gt; &gt;&apos; to function return type &apos;RefPtr&lt;WTF::MetaAllocatorHandle&gt;&apos;
    return handle;
           ^~~~~~
../../Source/WTF/wtf/RefPtr.h:57:19: note: candidate constructor not viable: no known conversion from &apos;WTF::Ref&lt;WTF::MetaAllocatorHandle, WTF::DumbPtrTraits&lt;WTF::MetaAllocatorHandle&gt; &gt;&apos; to &apos;WTF::MetaAllocatorHandle *&apos; for 1st argument
    ALWAYS_INLINE RefPtr(T* ptr) : m_ptr(ptr) { refIfNotNull(ptr); }
                  ^
../../Source/WTF/wtf/RefPtr.h:58:19: note: candidate constructor not viable: no known conversion from &apos;WTF::Ref&lt;WTF::MetaAllocatorHandle, WTF::DumbPtrTraits&lt;WTF::MetaAllocatorHandle&gt; &gt;&apos; to &apos;const WTF::RefPtr&lt;WTF::MetaAllocatorHandle, WTF::DumbPtrTraits&lt;WTF::MetaAllocatorHandle&gt; &gt; &amp;&apos; for 1st argument
    ALWAYS_INLINE RefPtr(const RefPtr&amp; o) : m_ptr(o.m_ptr) { refIfNotNull(PtrTraits::unwrap(m_ptr)); }
                  ^
../../Source/WTF/wtf/RefPtr.h:61:19: note: candidate constructor not viable: no known conversion from &apos;WTF::Ref&lt;WTF::MetaAllocatorHandle, WTF::DumbPtrTraits&lt;WTF::MetaAllocatorHandle&gt; &gt;&apos; to &apos;WTF::RefPtr&lt;WTF::MetaAllocatorHandle, WTF::DumbPtrTraits&lt;WTF::MetaAllocatorHandle&gt; &gt; &amp;&amp;&apos; for 1st argument
    ALWAYS_INLINE RefPtr(RefPtr&amp;&amp; o) : m_ptr(o.leakRef()) { }
                  ^
../../Source/WTF/wtf/RefPtr.h:63:38: note: candidate constructor [with X = WTF::MetaAllocatorHandle, Y = WTF::DumbPtrTraits&lt;WTF::MetaAllocatorHandle&gt;] not viable: no known conversion from &apos;WTF::Ref&lt;WTF::MetaAllocatorHandle, WTF::DumbPtrTraits&lt;WTF::MetaAllocatorHandle&gt; &gt;&apos; to &apos;Ref&lt;WTF::MetaAllocatorHandle, WTF::DumbPtrTraits&lt;WTF::MetaAllocatorHandle&gt; &gt; &amp;&amp;&apos; for 1st argument
    template&lt;typename X, typename Y&gt; RefPtr(Ref&lt;X, Y&gt;&amp;&amp;);
                                     ^
../../Source/WTF/wtf/RefPtr.h:66:5: note: candidate constructor not viable: no known conversion from &apos;WTF::Ref&lt;WTF::MetaAllocatorHandle, WTF::DumbPtrTraits&lt;WTF::MetaAllocatorHandle&gt; &gt;&apos; to &apos;WTF::HashTableDeletedValueType&apos; for 1st argument
    RefPtr(HashTableDeletedValueType) : m_ptr(hashTableDeletedValue()) { }
    ^
../../Source/WTF/wtf/RefPtr.h:59:38: note: candidate template ignored: could not match &apos;RefPtr&apos; against &apos;Ref&apos;
    template&lt;typename X, typename Y&gt; RefPtr(const RefPtr&lt;X, Y&gt;&amp; o) : m_ptr(o.get()) { refIfNotNull(PtrTraits::unwrap(m_ptr)); }
                                     ^
../../Source/WTF/wtf/RefPtr.h:62:38: note: candidate template ignored: could not match &apos;RefPtr&apos; against &apos;Ref&apos;
    template&lt;typename X, typename Y&gt; RefPtr(RefPtr&lt;X, Y&gt;&amp;&amp; o) : m_ptr(o.leakRef()) { }
                                     ^
../../Source/WTF/wtf/Ref.h:122:5: note: candidate function
    operator T&amp;() const { ASSERT(m_ptr); return *PtrTraits::unwrap(m_ptr); }
    ^
1 error generated.
[1040/1457] Building CXX object Source/WTF/wtf/CMakeFiles/WTF.dir/ParkingLot.cpp.o
ninja: build stopped: subcommand failed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518804</commentid>
    <comment_count>14</comment_count>
    <who name="Tuti">zrqrrahe</who>
    <bug_when>2019-03-20 01:14:30 -0700</bug_when>
    <thetext>Excuse me, the patch does work.

It is this newer commit that breaks the build again:
https://bugs.webkit.org/show_bug.cgi?id=195920</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518814</commentid>
    <comment_count>15</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2019-03-20 02:20:58 -0700</bug_when>
    <thetext>(In reply to Tuti from comment #14)
&gt; Excuse me, the patch does work.
&gt; 
&gt; It is this newer commit that breaks the build again:
&gt; https://bugs.webkit.org/show_bug.cgi?id=195920

And like I said, apparently the build was already broken before any of this. If clang 3.8 is supposed to build WebKit we need a buildbot that uses it, otherwise this is an impossible task.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518817</commentid>
    <comment_count>16</comment_count>
    <who name="Tuti">zrqrrahe</who>
    <bug_when>2019-03-20 02:35:50 -0700</bug_when>
    <thetext>I have been building with clang 3.8 for the past 6 months with no issues till now.

The two commits that broke the build happened in the past couple of days.

I certainly agree a build bot is a fantastic idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518873</commentid>
    <comment_count>17</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-03-20 07:20:23 -0700</bug_when>
    <thetext>Whatever we do to solve this, please don’t add copyRef; that’s literally the opposite of what we are trying accomplish, adding reference count churn that we try to avoid by moving instead of copying smart pointers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518875</commentid>
    <comment_count>18</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-03-20 07:21:58 -0700</bug_when>
    <thetext>Seems clear that if we are trying to fix a warning in one compiler in a way that creates an error in another that we should back this out.

Apple&apos;s current use of TOT WebKit requires support from older clang versions about 2-3 years back. You can get a more precise answer from someone else.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518972</commentid>
    <comment_count>19</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-03-20 10:32:57 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #18)
&gt; Seems clear that if we are trying to fix a warning in one compiler in a way
&gt; that creates an error in another that we should back this out.

Depends, is clang 3.8 support required? If so, then yes of course, but it doesn&apos;t seem so. Apple internal builds are presumably happy, or we&apos;d have done a rollout by now, right? So I suspect you are not using clang 3.8 anywhere. Fixing builds with old compilers is really time-consuming and annoying, so we have a policy that it&apos;s OK to break GCC 5 or older, but GCC 6 must still work (for now). That way we know exactly what is required to work. We don&apos;t have any guidelines for old versions of clang, though, so breaking clang 3.8 is fine for us.

Anyway, we have several alternatives:

 * Use IGNORE_WARNINGS in these spots, but this would be needed in dozens of places (or hundreds of places if we revert my patch)
 * Build with -Wno-redundant-move, but this prevents us from detecting these issues and improving the WebKit codebase
 * Make it work for clang 3.8 using the idiom return Foo { WTFMove(foo) }; as demonstrated in this patch

I&apos;ll try Foo { WTFMove(foo) }; for now. This is only needed when the return value undergoes a type conversion, e.g. here we are trying to convert from Ref&lt;&gt; to RefPtr&lt;&gt;, that&apos;s why clang 3.8 complains. So only a small minority of removed WTFMoves() are likely to break clang 3.8 and we can probably tackle them as Tuti reports them. I&apos;ll update this patch for MetaAllocator.cpp now, and Tuti can report back if it&apos;s sufficient.

Note: one of Igalia&apos;s developers tested a clang 3.8 build yesterday and reported that it was already broken before Xan&apos;s patch (so before mine as well) so I guess whether it works must be dependent on build options.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518974</commentid>
    <comment_count>20</comment_count>
      <attachid>365217</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-03-20 10:36:27 -0700</bug_when>
    <thetext>Comment on attachment 365217
Patch

Seems fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519000</commentid>
    <comment_count>21</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-03-20 11:02:56 -0700</bug_when>
    <thetext>Committed r243215: &lt;https://trac.webkit.org/changeset/243215&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519002</commentid>
    <comment_count>22</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-03-20 11:03:43 -0700</bug_when>
    <thetext>Committed r243216: &lt;https://trac.webkit.org/changeset/243216&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519003</commentid>
    <comment_count>23</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-20 11:03:45 -0700</bug_when>
    <thetext>&lt;rdar://problem/49069219&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519596</commentid>
    <comment_count>24</comment_count>
    <who name="Tuti">zrqrrahe</who>
    <bug_when>2019-03-21 04:10:11 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #19)
&gt; I&apos;ll try Foo { WTFMove(foo) }; for now. This is only needed when the return
&gt; value undergoes a type conversion, e.g. here we are trying to convert from
&gt; Ref&lt;&gt; to RefPtr&lt;&gt;, that&apos;s why clang 3.8 complains. So only a small minority
&gt; of removed WTFMoves() are likely to break clang 3.8 and we can probably
&gt; tackle them as Tuti reports them. I&apos;ll update this patch for
&gt; MetaAllocator.cpp now, and Tuti can report back if it&apos;s sufficient.

Thanks a lot for the work!

The build now crashes as so:

[1307/1458] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScri...ivedSources/JavaScriptCore/unified-sources/UnifiedSource-da3fe922-1.cpp.o
FAILED: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-da3fe922-1.cpp.o
/usr/bin/clang++   -DBUILDING_JSCONLY__ -DBUILDING_JavaScriptCore -DBUILDING_WITH_CMAKE=1 -DHAVE_CONFIG_H=1 -DJavaScriptCore_EXPORTS -DSTATICALLY_LINKED_WITH_WTF -IDerivedSources/ForwardingHeaders -I. -I../../Source/JavaScriptCore -I../../Source/JavaScriptCore/API -I../../Source/JavaScriptCore/assembler -I../../Source/JavaScriptCore/b3 -I../../Source/JavaScriptCore/b3/air -I../../Source/JavaScriptCore/bindings -I../../Source/JavaScriptCore/builtins -I../../Source/JavaScriptCore/bytecode -I../../Source/JavaScriptCore/bytecompiler -I../../Source/JavaScriptCore/dfg -I../../Source/JavaScriptCore/disassembler -I../../Source/JavaScriptCore/disassembler/ARM64 -I../../Source/JavaScriptCore/disassembler/udis86 -I../../Source/JavaScriptCore/domjit -I../../Source/JavaScriptCore/ftl -I../../Source/JavaScriptCore/heap -I../../Source/JavaScriptCore/debugger -I../../Source/JavaScriptCore/inspector -I../../Source/JavaScriptCore/inspector/agents -I../../Source/JavaScriptCore/inspector/augmentable -I../../Source/JavaScriptCore/inspector/remote -I../../Source/JavaScriptCore/interpreter -I../../Source/JavaScriptCore/jit -I../../Source/JavaScriptCore/llint -I../../Source/JavaScriptCore/parser -I../../Source/JavaScriptCore/profiler -I../../Source/JavaScriptCore/runtime -I../../Source/JavaScriptCore/tools -I../../Source/JavaScriptCore/wasm -I../../Source/JavaScriptCore/wasm/js -I../../Source/JavaScriptCore/yarr -IDerivedSources/JavaScriptCore -IDerivedSources/JavaScriptCore/inspector -IDerivedSources/JavaScriptCore/runtime -IDerivedSources/JavaScriptCore/yarr -I../../Source/bmalloc -IDerivedSources -I../../Source/ThirdParty -fdiagnostics-color=always -fcolor-diagnostics -Wextra -Wall -Wno-parentheses-equality -Qunused-arguments -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align  -fno-strict-aliasing -fno-exceptions -fno-rtti -std=c++14 -gsplit-dwarf -g -fPIC   -ffp-contract=off -MMD -MT Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-da3fe922-1.cpp.o -MF Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-da3fe922-1.cpp.o.d -o Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-da3fe922-1.cpp.o -c DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-da3fe922-1.cpp
In file included from DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-da3fe922-1.cpp:3:
../../Source/JavaScriptCore/bindings/ScriptValue.cpp:77:20: error: no viable conversion from returned value of type &apos;WTF::Ref&lt;WTF::JSONImpl::Array, WTF::DumbPtrTraits&lt;WTF::JSONImpl::Array&gt; &gt;&apos; to function return type &apos;RefPtr&lt;JSON::Value&gt;&apos;
            return inspectorArray;
                   ^~~~~~~~~~~~~~
DerivedSources/ForwardingHeaders/wtf/RefPtr.h:57:19: note: candidate constructor not viable: no known conversion from &apos;WTF::Ref&lt;WTF::JSONImpl::Array, WTF::DumbPtrTraits&lt;WTF::JSONImpl::Array&gt; &gt;&apos; to &apos;WTF::JSONImpl::Value *&apos; for 1st argument
    ALWAYS_INLINE RefPtr(T* ptr) : m_ptr(ptr) { refIfNotNull(ptr); }
                  ^
DerivedSources/ForwardingHeaders/wtf/RefPtr.h:58:19: note: candidate constructor not viable: no known conversion from &apos;WTF::Ref&lt;WTF::JSONImpl::Array, WTF::DumbPtrTraits&lt;WTF::JSONImpl::Array&gt; &gt;&apos; to &apos;const WTF::RefPtr&lt;WTF::JSONImpl::Value, WTF::DumbPtrTraits&lt;WTF::JSONImpl::Value&gt; &gt; &amp;&apos; for 1st argument
    ALWAYS_INLINE RefPtr(const RefPtr&amp; o) : m_ptr(o.m_ptr) { refIfNotNull(PtrTraits::unwrap(m_ptr)); }
                  ^
DerivedSources/ForwardingHeaders/wtf/RefPtr.h:61:19: note: candidate constructor not viable: no known conversion from &apos;WTF::Ref&lt;WTF::JSONImpl::Array, WTF::DumbPtrTraits&lt;WTF::JSONImpl::Array&gt; &gt;&apos; to &apos;WTF::RefPtr&lt;WTF::JSONImpl::Value, WTF::DumbPtrTraits&lt;WTF::JSONImpl::Value&gt; &gt; &amp;&amp;&apos; for 1st argument
    ALWAYS_INLINE RefPtr(RefPtr&amp;&amp; o) : m_ptr(o.leakRef()) { }
                  ^
DerivedSources/ForwardingHeaders/wtf/RefPtr.h:63:38: note: candidate constructor [with X = WTF::JSONImpl::Array, Y = WTF::DumbPtrTraits&lt;WTF::JSONImpl::Array&gt;] not viable: no known conversion from &apos;WTF::Ref&lt;WTF::JSONImpl::Array, WTF::DumbPtrTraits&lt;WTF::JSONImpl::Array&gt; &gt;&apos; to &apos;Ref&lt;WTF::JSONImpl::Array, WTF::DumbPtrTraits&lt;WTF::JSONImpl::Array&gt; &gt; &amp;&amp;&apos; for 1st argument
    template&lt;typename X, typename Y&gt; RefPtr(Ref&lt;X, Y&gt;&amp;&amp;);
                                     ^
DerivedSources/ForwardingHeaders/wtf/RefPtr.h:66:5: note: candidate constructor not viable: no known conversion from &apos;WTF::Ref&lt;WTF::JSONImpl::Array, WTF::DumbPtrTraits&lt;WTF::JSONImpl::Array&gt; &gt;&apos; to &apos;WTF::HashTableDeletedValueType&apos; for 1st argument
    RefPtr(HashTableDeletedValueType) : m_ptr(hashTableDeletedValue()) { }
    ^
DerivedSources/ForwardingHeaders/wtf/RefPtr.h:59:38: note: candidate template ignored: could not match &apos;RefPtr&apos; against &apos;Ref&apos;
    template&lt;typename X, typename Y&gt; RefPtr(const RefPtr&lt;X, Y&gt;&amp; o) : m_ptr(o.get()) { refIfNotNull(PtrTraits::unwrap(m_ptr)); }
                                     ^
DerivedSources/ForwardingHeaders/wtf/RefPtr.h:62:38: note: candidate template ignored: could not match &apos;RefPtr&apos; against &apos;Ref&apos;
    template&lt;typename X, typename Y&gt; RefPtr(RefPtr&lt;X, Y&gt;&amp;&amp; o) : m_ptr(o.leakRef()) { }
                                     ^
DerivedSources/ForwardingHeaders/wtf/Ref.h:122:5: note: candidate function
    operator T&amp;() const { ASSERT(m_ptr); return *PtrTraits::unwrap(m_ptr); }
    ^
In file included from DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-da3fe922-1.cpp:3:
../../Source/JavaScriptCore/bindings/ScriptValue.cpp:90:16: error: no viable conversion from returned value of type &apos;WTF::Ref&lt;WTF::JSONImpl::Object, WTF::DumbPtrTraits&lt;WTF::JSONImpl::Object&gt; &gt;&apos; to function return type &apos;RefPtr&lt;JSON::Value&gt;&apos;
        return inspectorObject;
               ^~~~~~~~~~~~~~~
DerivedSources/ForwardingHeaders/wtf/RefPtr.h:57:19: note: candidate constructor not viable: no known conversion from &apos;WTF::Ref&lt;WTF::JSONImpl::Object, WTF::DumbPtrTraits&lt;WTF::JSONImpl::Object&gt; &gt;&apos; to &apos;WTF::JSONImpl::Value *&apos; for 1st argument
    ALWAYS_INLINE RefPtr(T* ptr) : m_ptr(ptr) { refIfNotNull(ptr); }
                  ^
DerivedSources/ForwardingHeaders/wtf/RefPtr.h:58:19: note: candidate constructor not viable: no known conversion from &apos;WTF::Ref&lt;WTF::JSONImpl::Object, WTF::DumbPtrTraits&lt;WTF::JSONImpl::Object&gt; &gt;&apos; to &apos;const WTF::RefPtr&lt;WTF::JSONImpl::Value, WTF::DumbPtrTraits&lt;WTF::JSONImpl::Value&gt; &gt; &amp;&apos; for 1st argument
    ALWAYS_INLINE RefPtr(const RefPtr&amp; o) : m_ptr(o.m_ptr) { refIfNotNull(PtrTraits::unwrap(m_ptr)); }
                  ^
DerivedSources/ForwardingHeaders/wtf/RefPtr.h:61:19: note: candidate constructor not viable: no known conversion from &apos;WTF::Ref&lt;WTF::JSONImpl::Object, WTF::DumbPtrTraits&lt;WTF::JSONImpl::Object&gt; &gt;&apos; to &apos;WTF::RefPtr&lt;WTF::JSONImpl::Value, WTF::DumbPtrTraits&lt;WTF::JSONImpl::Value&gt; &gt; &amp;&amp;&apos; for 1st argument
    ALWAYS_INLINE RefPtr(RefPtr&amp;&amp; o) : m_ptr(o.leakRef()) { }
                  ^
DerivedSources/ForwardingHeaders/wtf/RefPtr.h:63:38: note: candidate constructor [with X = WTF::JSONImpl::Object, Y = WTF::DumbPtrTraits&lt;WTF::JSONImpl::Object&gt;] not viable: no known conversion from &apos;WTF::Ref&lt;WTF::JSONImpl::Object, WTF::DumbPtrTraits&lt;WTF::JSONImpl::Object&gt; &gt;&apos; to &apos;Ref&lt;WTF::JSONImpl::Object, WTF::DumbPtrTraits&lt;WTF::JSONImpl::Object&gt; &gt; &amp;&amp;&apos; for 1st argument
    template&lt;typename X, typename Y&gt; RefPtr(Ref&lt;X, Y&gt;&amp;&amp;);
                                     ^
DerivedSources/ForwardingHeaders/wtf/RefPtr.h:66:5: note: candidate constructor not viable: no known conversion from &apos;WTF::Ref&lt;WTF::JSONImpl::Object, WTF::DumbPtrTraits&lt;WTF::JSONImpl::Object&gt; &gt;&apos; to &apos;WTF::HashTableDeletedValueType&apos; for 1st argument
    RefPtr(HashTableDeletedValueType) : m_ptr(hashTableDeletedValue()) { }
    ^
DerivedSources/ForwardingHeaders/wtf/RefPtr.h:59:38: note: candidate template ignored: could not match &apos;RefPtr&apos; against &apos;Ref&apos;
    template&lt;typename X, typename Y&gt; RefPtr(const RefPtr&lt;X, Y&gt;&amp; o) : m_ptr(o.get()) { refIfNotNull(PtrTraits::unwrap(m_ptr)); }
                                     ^
DerivedSources/ForwardingHeaders/wtf/RefPtr.h:62:38: note: candidate template ignored: could not match &apos;RefPtr&apos; against &apos;Ref&apos;
    template&lt;typename X, typename Y&gt; RefPtr(RefPtr&lt;X, Y&gt;&amp;&amp; o) : m_ptr(o.leakRef()) { }
                                     ^
DerivedSources/ForwardingHeaders/wtf/Ref.h:122:5: note: candidate function
    operator T&amp;() const { ASSERT(m_ptr); return *PtrTraits::unwrap(m_ptr); }
    ^
2 errors generated.
[1312/1458] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScri...ivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-6.cpp.o
FAILED: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-6.cpp.o
/usr/bin/clang++   -DBUILDING_JSCONLY__ -DBUILDING_JavaScriptCore -DBUILDING_WITH_CMAKE=1 -DHAVE_CONFIG_H=1 -DJavaScriptCore_EXPORTS -DSTATICALLY_LINKED_WITH_WTF -IDerivedSources/ForwardingHeaders -I. -I../../Source/JavaScriptCore -I../../Source/JavaScriptCore/API -I../../Source/JavaScriptCore/assembler -I../../Source/JavaScriptCore/b3 -I../../Source/JavaScriptCore/b3/air -I../../Source/JavaScriptCore/bindings -I../../Source/JavaScriptCore/builtins -I../../Source/JavaScriptCore/bytecode -I../../Source/JavaScriptCore/bytecompiler -I../../Source/JavaScriptCore/dfg -I../../Source/JavaScriptCore/disassembler -I../../Source/JavaScriptCore/disassembler/ARM64 -I../../Source/JavaScriptCore/disassembler/udis86 -I../../Source/JavaScriptCore/domjit -I../../Source/JavaScriptCore/ftl -I../../Source/JavaScriptCore/heap -I../../Source/JavaScriptCore/debugger -I../../Source/JavaScriptCore/inspector -I../../Source/JavaScriptCore/inspector/agents -I../../Source/JavaScriptCore/inspector/augmentable -I../../Source/JavaScriptCore/inspector/remote -I../../Source/JavaScriptCore/interpreter -I../../Source/JavaScriptCore/jit -I../../Source/JavaScriptCore/llint -I../../Source/JavaScriptCore/parser -I../../Source/JavaScriptCore/profiler -I../../Source/JavaScriptCore/runtime -I../../Source/JavaScriptCore/tools -I../../Source/JavaScriptCore/wasm -I../../Source/JavaScriptCore/wasm/js -I../../Source/JavaScriptCore/yarr -IDerivedSources/JavaScriptCore -IDerivedSources/JavaScriptCore/inspector -IDerivedSources/JavaScriptCore/runtime -IDerivedSources/JavaScriptCore/yarr -I../../Source/bmalloc -IDerivedSources -I../../Source/ThirdParty -fdiagnostics-color=always -fcolor-diagnostics -Wextra -Wall -Wno-parentheses-equality -Qunused-arguments -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align  -fno-strict-aliasing -fno-exceptions -fno-rtti -std=c++14 -gsplit-dwarf -g -fPIC   -ffp-contract=off -MMD -MT Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-6.cpp.o -MF Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-6.cpp.o.d -o Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-6.cpp.o -c DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-6.cpp
In file included from DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-6.cpp:8:
../../Source/JavaScriptCore/bytecode/InstanceOfAccessCase.cpp:50:12: error: no viable conversion from returned value of type &apos;unique_ptr&lt;JSC::InstanceOfAccessCase&gt;&apos; to function return type &apos;unique_ptr&lt;JSC::AccessCase&gt;&apos;
    return result;
           ^~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:200:17: note: candidate constructor not viable: no known conversion from &apos;std::unique_ptr&lt;InstanceOfAccessCase&gt;&apos; to &apos;nullptr_t&apos; for 1st argument
      constexpr unique_ptr(nullptr_t) noexcept : unique_ptr() { }
                ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:205:7: note: candidate constructor not viable: no known conversion from &apos;std::unique_ptr&lt;InstanceOfAccessCase&gt;&apos; to &apos;std::unique_ptr&lt;JSC::AccessCase, std::default_delete&lt;JSC::AccessCase&gt; &gt; &amp;&amp;&apos; for 1st argument
      unique_ptr(unique_ptr&amp;&amp; __u) noexcept
      ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:220:2: note: candidate constructor [with _Up = JSC::InstanceOfAccessCase, _Ep = std::default_delete&lt;JSC::InstanceOfAccessCase&gt;, $2 = void] not viable: no known conversion from &apos;std::unique_ptr&lt;InstanceOfAccessCase&gt;&apos; to &apos;unique_ptr&lt;JSC::InstanceOfAccessCase, std::default_delete&lt;JSC::InstanceOfAccessCase&gt; &gt; &amp;&amp;&apos; for 1st argument
        unique_ptr(unique_ptr&lt;_Up, _Ep&gt;&amp;&amp; __u) noexcept
        ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:356:7: note: candidate constructor not viable: no known conversion from &apos;std::unique_ptr&lt;InstanceOfAccessCase&gt;&apos; to &apos;const std::unique_ptr&lt;JSC::AccessCase, std::default_delete&lt;JSC::AccessCase&gt; &gt; &amp;&apos; for 1st argument
      unique_ptr(const unique_ptr&amp;) = delete;
      ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:228:2: note: candidate template ignored: could not match &apos;auto_ptr&apos; against &apos;unique_ptr&apos;
        unique_ptr(auto_ptr&lt;_Up&gt;&amp;&amp; __u) noexcept;
        ^
1 error generated.
[1314/1458] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScri...ivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-5.cpp.o
FAILED: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-5.cpp.o
/usr/bin/clang++   -DBUILDING_JSCONLY__ -DBUILDING_JavaScriptCore -DBUILDING_WITH_CMAKE=1 -DHAVE_CONFIG_H=1 -DJavaScriptCore_EXPORTS -DSTATICALLY_LINKED_WITH_WTF -IDerivedSources/ForwardingHeaders -I. -I../../Source/JavaScriptCore -I../../Source/JavaScriptCore/API -I../../Source/JavaScriptCore/assembler -I../../Source/JavaScriptCore/b3 -I../../Source/JavaScriptCore/b3/air -I../../Source/JavaScriptCore/bindings -I../../Source/JavaScriptCore/builtins -I../../Source/JavaScriptCore/bytecode -I../../Source/JavaScriptCore/bytecompiler -I../../Source/JavaScriptCore/dfg -I../../Source/JavaScriptCore/disassembler -I../../Source/JavaScriptCore/disassembler/ARM64 -I../../Source/JavaScriptCore/disassembler/udis86 -I../../Source/JavaScriptCore/domjit -I../../Source/JavaScriptCore/ftl -I../../Source/JavaScriptCore/heap -I../../Source/JavaScriptCore/debugger -I../../Source/JavaScriptCore/inspector -I../../Source/JavaScriptCore/inspector/agents -I../../Source/JavaScriptCore/inspector/augmentable -I../../Source/JavaScriptCore/inspector/remote -I../../Source/JavaScriptCore/interpreter -I../../Source/JavaScriptCore/jit -I../../Source/JavaScriptCore/llint -I../../Source/JavaScriptCore/parser -I../../Source/JavaScriptCore/profiler -I../../Source/JavaScriptCore/runtime -I../../Source/JavaScriptCore/tools -I../../Source/JavaScriptCore/wasm -I../../Source/JavaScriptCore/wasm/js -I../../Source/JavaScriptCore/yarr -IDerivedSources/JavaScriptCore -IDerivedSources/JavaScriptCore/inspector -IDerivedSources/JavaScriptCore/runtime -IDerivedSources/JavaScriptCore/yarr -I../../Source/bmalloc -IDerivedSources -I../../Source/ThirdParty -fdiagnostics-color=always -fcolor-diagnostics -Wextra -Wall -Wno-parentheses-equality -Qunused-arguments -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align  -fno-strict-aliasing -fno-exceptions -fno-rtti -std=c++14 -gsplit-dwarf -g -fPIC   -ffp-contract=off -MMD -MT Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-5.cpp.o -MF Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-5.cpp.o.d -o Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-5.cpp.o -c DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-5.cpp
In file included from DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-5.cpp:8:
../../Source/JavaScriptCore/bytecode/GetterSetterAccessCase.cpp:69:12: error: no viable conversion from returned value of type &apos;unique_ptr&lt;JSC::GetterSetterAccessCase&gt;&apos; to function return type &apos;unique_ptr&lt;JSC::AccessCase&gt;&apos;
    return result;
           ^~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:200:17: note: candidate constructor not viable: no known conversion from &apos;std::unique_ptr&lt;GetterSetterAccessCase&gt;&apos; to &apos;nullptr_t&apos; for 1st argument
      constexpr unique_ptr(nullptr_t) noexcept : unique_ptr() { }
                ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:205:7: note: candidate constructor not viable: no known conversion from &apos;std::unique_ptr&lt;GetterSetterAccessCase&gt;&apos; to &apos;std::unique_ptr&lt;JSC::AccessCase, std::default_delete&lt;JSC::AccessCase&gt; &gt; &amp;&amp;&apos; for 1st argument
      unique_ptr(unique_ptr&amp;&amp; __u) noexcept
      ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:220:2: note: candidate constructor [with _Up = JSC::GetterSetterAccessCase, _Ep = std::default_delete&lt;JSC::GetterSetterAccessCase&gt;, $2 = void] not viable: no known conversion from &apos;std::unique_ptr&lt;GetterSetterAccessCase&gt;&apos; to &apos;unique_ptr&lt;JSC::GetterSetterAccessCase, std::default_delete&lt;JSC::GetterSetterAccessCase&gt; &gt; &amp;&amp;&apos; for 1st argument
        unique_ptr(unique_ptr&lt;_Up, _Ep&gt;&amp;&amp; __u) noexcept
        ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:356:7: note: candidate constructor not viable: no known conversion from &apos;std::unique_ptr&lt;GetterSetterAccessCase&gt;&apos; to &apos;const std::unique_ptr&lt;JSC::AccessCase, std::default_delete&lt;JSC::AccessCase&gt; &gt; &amp;&apos; for 1st argument
      unique_ptr(const unique_ptr&amp;) = delete;
      ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:228:2: note: candidate template ignored: could not match &apos;auto_ptr&apos; against &apos;unique_ptr&apos;
        unique_ptr(auto_ptr&lt;_Up&gt;&amp;&amp; __u) noexcept;
        ^
In file included from DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-5.cpp:8:
../../Source/JavaScriptCore/bytecode/GetterSetterAccessCase.cpp:79:12: error: no viable conversion from returned value of type &apos;unique_ptr&lt;JSC::GetterSetterAccessCase&gt;&apos; to function return type &apos;unique_ptr&lt;JSC::AccessCase&gt;&apos;
    return result;
           ^~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:200:17: note: candidate constructor not viable: no known conversion from &apos;std::unique_ptr&lt;GetterSetterAccessCase&gt;&apos; to &apos;nullptr_t&apos; for 1st argument
      constexpr unique_ptr(nullptr_t) noexcept : unique_ptr() { }
                ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:205:7: note: candidate constructor not viable: no known conversion from &apos;std::unique_ptr&lt;GetterSetterAccessCase&gt;&apos; to &apos;std::unique_ptr&lt;JSC::AccessCase, std::default_delete&lt;JSC::AccessCase&gt; &gt; &amp;&amp;&apos; for 1st argument
      unique_ptr(unique_ptr&amp;&amp; __u) noexcept
      ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:220:2: note: candidate constructor [with _Up = JSC::GetterSetterAccessCase, _Ep = std::default_delete&lt;JSC::GetterSetterAccessCase&gt;, $2 = void] not viable: no known conversion from &apos;std::unique_ptr&lt;GetterSetterAccessCase&gt;&apos; to &apos;unique_ptr&lt;JSC::GetterSetterAccessCase, std::default_delete&lt;JSC::GetterSetterAccessCase&gt; &gt; &amp;&amp;&apos; for 1st argument
        unique_ptr(unique_ptr&lt;_Up, _Ep&gt;&amp;&amp; __u) noexcept
        ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:356:7: note: candidate constructor not viable: no known conversion from &apos;std::unique_ptr&lt;GetterSetterAccessCase&gt;&apos; to &apos;const std::unique_ptr&lt;JSC::AccessCase, std::default_delete&lt;JSC::AccessCase&gt; &gt; &amp;&apos; for 1st argument
      unique_ptr(const unique_ptr&amp;) = delete;
      ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:228:2: note: candidate template ignored: could not match &apos;auto_ptr&apos; against &apos;unique_ptr&apos;
        unique_ptr(auto_ptr&lt;_Up&gt;&amp;&amp; __u) noexcept;
        ^
In file included from DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-5.cpp:8:
../../Source/JavaScriptCore/bytecode/GetterSetterAccessCase.cpp:100:12: error: no viable conversion from returned value of type &apos;unique_ptr&lt;JSC::GetterSetterAccessCase&gt;&apos; to function return type &apos;unique_ptr&lt;JSC::AccessCase&gt;&apos;
    return result;
           ^~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:200:17: note: candidate constructor not viable: no known conversion from &apos;std::unique_ptr&lt;GetterSetterAccessCase&gt;&apos; to &apos;nullptr_t&apos; for 1st argument
      constexpr unique_ptr(nullptr_t) noexcept : unique_ptr() { }
                ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:205:7: note: candidate constructor not viable: no known conversion from &apos;std::unique_ptr&lt;GetterSetterAccessCase&gt;&apos; to &apos;std::unique_ptr&lt;JSC::AccessCase, std::default_delete&lt;JSC::AccessCase&gt; &gt; &amp;&amp;&apos; for 1st argument
      unique_ptr(unique_ptr&amp;&amp; __u) noexcept
      ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:220:2: note: candidate constructor [with _Up = JSC::GetterSetterAccessCase, _Ep = std::default_delete&lt;JSC::GetterSetterAccessCase&gt;, $2 = void] not viable: no known conversion from &apos;std::unique_ptr&lt;GetterSetterAccessCase&gt;&apos; to &apos;unique_ptr&lt;JSC::GetterSetterAccessCase, std::default_delete&lt;JSC::GetterSetterAccessCase&gt; &gt; &amp;&amp;&apos; for 1st argument
        unique_ptr(unique_ptr&lt;_Up, _Ep&gt;&amp;&amp; __u) noexcept
        ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:356:7: note: candidate constructor not viable: no known conversion from &apos;std::unique_ptr&lt;GetterSetterAccessCase&gt;&apos; to &apos;const std::unique_ptr&lt;JSC::AccessCase, std::default_delete&lt;JSC::AccessCase&gt; &gt; &amp;&apos; for 1st argument
      unique_ptr(const unique_ptr&amp;) = delete;
      ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:228:2: note: candidate template ignored: could not match &apos;auto_ptr&apos; against &apos;unique_ptr&apos;
        unique_ptr(auto_ptr&lt;_Up&gt;&amp;&amp; __u) noexcept;
        ^
3 errors generated.
[1322/1458] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScri...ivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-7.cpp.o
FAILED: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-7.cpp.o
/usr/bin/clang++   -DBUILDING_JSCONLY__ -DBUILDING_JavaScriptCore -DBUILDING_WITH_CMAKE=1 -DHAVE_CONFIG_H=1 -DJavaScriptCore_EXPORTS -DSTATICALLY_LINKED_WITH_WTF -IDerivedSources/ForwardingHeaders -I. -I../../Source/JavaScriptCore -I../../Source/JavaScriptCore/API -I../../Source/JavaScriptCore/assembler -I../../Source/JavaScriptCore/b3 -I../../Source/JavaScriptCore/b3/air -I../../Source/JavaScriptCore/bindings -I../../Source/JavaScriptCore/builtins -I../../Source/JavaScriptCore/bytecode -I../../Source/JavaScriptCore/bytecompiler -I../../Source/JavaScriptCore/dfg -I../../Source/JavaScriptCore/disassembler -I../../Source/JavaScriptCore/disassembler/ARM64 -I../../Source/JavaScriptCore/disassembler/udis86 -I../../Source/JavaScriptCore/domjit -I../../Source/JavaScriptCore/ftl -I../../Source/JavaScriptCore/heap -I../../Source/JavaScriptCore/debugger -I../../Source/JavaScriptCore/inspector -I../../Source/JavaScriptCore/inspector/agents -I../../Source/JavaScriptCore/inspector/augmentable -I../../Source/JavaScriptCore/inspector/remote -I../../Source/JavaScriptCore/interpreter -I../../Source/JavaScriptCore/jit -I../../Source/JavaScriptCore/llint -I../../Source/JavaScriptCore/parser -I../../Source/JavaScriptCore/profiler -I../../Source/JavaScriptCore/runtime -I../../Source/JavaScriptCore/tools -I../../Source/JavaScriptCore/wasm -I../../Source/JavaScriptCore/wasm/js -I../../Source/JavaScriptCore/yarr -IDerivedSources/JavaScriptCore -IDerivedSources/JavaScriptCore/inspector -IDerivedSources/JavaScriptCore/runtime -IDerivedSources/JavaScriptCore/yarr -I../../Source/bmalloc -IDerivedSources -I../../Source/ThirdParty -fdiagnostics-color=always -fcolor-diagnostics -Wextra -Wall -Wno-parentheses-equality -Qunused-arguments -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align  -fno-strict-aliasing -fno-exceptions -fno-rtti -std=c++14 -gsplit-dwarf -g -fPIC   -ffp-contract=off -MMD -MT Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-7.cpp.o -MF Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-7.cpp.o.d -o Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-7.cpp.o -c DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-7.cpp
In file included from DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-7.cpp:4:
../../Source/JavaScriptCore/bytecode/IntrinsicGetterAccessCase.cpp:54:12: error: no viable conversion from returned value of type &apos;unique_ptr&lt;JSC::IntrinsicGetterAccessCase&gt;&apos; to function return type &apos;unique_ptr&lt;JSC::AccessCase&gt;&apos;
    return result;
           ^~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:200:17: note: candidate constructor not viable: no known conversion from &apos;std::unique_ptr&lt;IntrinsicGetterAccessCase&gt;&apos; to &apos;nullptr_t&apos; for 1st argument
      constexpr unique_ptr(nullptr_t) noexcept : unique_ptr() { }
                ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:205:7: note: candidate constructor not viable: no known conversion from &apos;std::unique_ptr&lt;IntrinsicGetterAccessCase&gt;&apos; to &apos;std::unique_ptr&lt;JSC::AccessCase, std::default_delete&lt;JSC::AccessCase&gt; &gt; &amp;&amp;&apos; for 1st argument
      unique_ptr(unique_ptr&amp;&amp; __u) noexcept
      ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:220:2: note: candidate constructor [with _Up = JSC::IntrinsicGetterAccessCase, _Ep = std::default_delete&lt;JSC::IntrinsicGetterAccessCase&gt;, $2 = void] not viable: no known conversion from &apos;std::unique_ptr&lt;IntrinsicGetterAccessCase&gt;&apos; to &apos;unique_ptr&lt;JSC::IntrinsicGetterAccessCase, std::default_delete&lt;JSC::IntrinsicGetterAccessCase&gt; &gt; &amp;&amp;&apos; for 1st argument
        unique_ptr(unique_ptr&lt;_Up, _Ep&gt;&amp;&amp; __u) noexcept
        ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:356:7: note: candidate constructor not viable: no known conversion from &apos;std::unique_ptr&lt;IntrinsicGetterAccessCase&gt;&apos; to &apos;const std::unique_ptr&lt;JSC::AccessCase, std::default_delete&lt;JSC::AccessCase&gt; &gt; &amp;&apos; for 1st argument
      unique_ptr(const unique_ptr&amp;) = delete;
      ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:228:2: note: candidate template ignored: could not match &apos;auto_ptr&apos; against &apos;unique_ptr&apos;
        unique_ptr(auto_ptr&lt;_Up&gt;&amp;&amp; __u) noexcept;
        ^
1 error generated.
[1323/1458] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScri...ivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-8.cpp.o
FAILED: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-8.cpp.o
/usr/bin/clang++   -DBUILDING_JSCONLY__ -DBUILDING_JavaScriptCore -DBUILDING_WITH_CMAKE=1 -DHAVE_CONFIG_H=1 -DJavaScriptCore_EXPORTS -DSTATICALLY_LINKED_WITH_WTF -IDerivedSources/ForwardingHeaders -I. -I../../Source/JavaScriptCore -I../../Source/JavaScriptCore/API -I../../Source/JavaScriptCore/assembler -I../../Source/JavaScriptCore/b3 -I../../Source/JavaScriptCore/b3/air -I../../Source/JavaScriptCore/bindings -I../../Source/JavaScriptCore/builtins -I../../Source/JavaScriptCore/bytecode -I../../Source/JavaScriptCore/bytecompiler -I../../Source/JavaScriptCore/dfg -I../../Source/JavaScriptCore/disassembler -I../../Source/JavaScriptCore/disassembler/ARM64 -I../../Source/JavaScriptCore/disassembler/udis86 -I../../Source/JavaScriptCore/domjit -I../../Source/JavaScriptCore/ftl -I../../Source/JavaScriptCore/heap -I../../Source/JavaScriptCore/debugger -I../../Source/JavaScriptCore/inspector -I../../Source/JavaScriptCore/inspector/agents -I../../Source/JavaScriptCore/inspector/augmentable -I../../Source/JavaScriptCore/inspector/remote -I../../Source/JavaScriptCore/interpreter -I../../Source/JavaScriptCore/jit -I../../Source/JavaScriptCore/llint -I../../Source/JavaScriptCore/parser -I../../Source/JavaScriptCore/profiler -I../../Source/JavaScriptCore/runtime -I../../Source/JavaScriptCore/tools -I../../Source/JavaScriptCore/wasm -I../../Source/JavaScriptCore/wasm/js -I../../Source/JavaScriptCore/yarr -IDerivedSources/JavaScriptCore -IDerivedSources/JavaScriptCore/inspector -IDerivedSources/JavaScriptCore/runtime -IDerivedSources/JavaScriptCore/yarr -I../../Source/bmalloc -IDerivedSources -I../../Source/ThirdParty -fdiagnostics-color=always -fcolor-diagnostics -Wextra -Wall -Wno-parentheses-equality -Qunused-arguments -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align  -fno-strict-aliasing -fno-exceptions -fno-rtti -std=c++14 -gsplit-dwarf -g -fPIC   -ffp-contract=off -MMD -MT Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-8.cpp.o -MF Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-8.cpp.o.d -o Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-8.cpp.o -c DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-8.cpp
In file included from DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-8.cpp:2:
../../Source/JavaScriptCore/bytecode/ModuleNamespaceAccessCase.cpp:61:12: error: no viable conversion from returned value of type &apos;unique_ptr&lt;JSC::ModuleNamespaceAccessCase&gt;&apos; to function return type &apos;unique_ptr&lt;JSC::AccessCase&gt;&apos;
    return result;
           ^~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:200:17: note: candidate constructor not viable: no known conversion from &apos;std::unique_ptr&lt;ModuleNamespaceAccessCase&gt;&apos; to &apos;nullptr_t&apos; for 1st argument
      constexpr unique_ptr(nullptr_t) noexcept : unique_ptr() { }
                ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:205:7: note: candidate constructor not viable: no known conversion from &apos;std::unique_ptr&lt;ModuleNamespaceAccessCase&gt;&apos; to &apos;std::unique_ptr&lt;JSC::AccessCase, std::default_delete&lt;JSC::AccessCase&gt; &gt; &amp;&amp;&apos; for 1st argument
      unique_ptr(unique_ptr&amp;&amp; __u) noexcept
      ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:220:2: note: candidate constructor [with _Up = JSC::ModuleNamespaceAccessCase, _Ep = std::default_delete&lt;JSC::ModuleNamespaceAccessCase&gt;, $2 = void] not viable: no known conversion from &apos;std::unique_ptr&lt;ModuleNamespaceAccessCase&gt;&apos; to &apos;unique_ptr&lt;JSC::ModuleNamespaceAccessCase, std::default_delete&lt;JSC::ModuleNamespaceAccessCase&gt; &gt; &amp;&amp;&apos; for 1st argument
        unique_ptr(unique_ptr&lt;_Up, _Ep&gt;&amp;&amp; __u) noexcept
        ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:356:7: note: candidate constructor not viable: no known conversion from &apos;std::unique_ptr&lt;ModuleNamespaceAccessCase&gt;&apos; to &apos;const std::unique_ptr&lt;JSC::AccessCase, std::default_delete&lt;JSC::AccessCase&gt; &gt; &amp;&apos; for 1st argument
      unique_ptr(const unique_ptr&amp;) = delete;
      ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:228:2: note: candidate template ignored: could not match &apos;auto_ptr&apos; against &apos;unique_ptr&apos;
        unique_ptr(auto_ptr&lt;_Up&gt;&amp;&amp; __u) noexcept;
        ^
1 error generated.
[1324/1458] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScri...ivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-9.cpp.o
FAILED: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-9.cpp.o
/usr/bin/clang++   -DBUILDING_JSCONLY__ -DBUILDING_JavaScriptCore -DBUILDING_WITH_CMAKE=1 -DHAVE_CONFIG_H=1 -DJavaScriptCore_EXPORTS -DSTATICALLY_LINKED_WITH_WTF -IDerivedSources/ForwardingHeaders -I. -I../../Source/JavaScriptCore -I../../Source/JavaScriptCore/API -I../../Source/JavaScriptCore/assembler -I../../Source/JavaScriptCore/b3 -I../../Source/JavaScriptCore/b3/air -I../../Source/JavaScriptCore/bindings -I../../Source/JavaScriptCore/builtins -I../../Source/JavaScriptCore/bytecode -I../../Source/JavaScriptCore/bytecompiler -I../../Source/JavaScriptCore/dfg -I../../Source/JavaScriptCore/disassembler -I../../Source/JavaScriptCore/disassembler/ARM64 -I../../Source/JavaScriptCore/disassembler/udis86 -I../../Source/JavaScriptCore/domjit -I../../Source/JavaScriptCore/ftl -I../../Source/JavaScriptCore/heap -I../../Source/JavaScriptCore/debugger -I../../Source/JavaScriptCore/inspector -I../../Source/JavaScriptCore/inspector/agents -I../../Source/JavaScriptCore/inspector/augmentable -I../../Source/JavaScriptCore/inspector/remote -I../../Source/JavaScriptCore/interpreter -I../../Source/JavaScriptCore/jit -I../../Source/JavaScriptCore/llint -I../../Source/JavaScriptCore/parser -I../../Source/JavaScriptCore/profiler -I../../Source/JavaScriptCore/runtime -I../../Source/JavaScriptCore/tools -I../../Source/JavaScriptCore/wasm -I../../Source/JavaScriptCore/wasm/js -I../../Source/JavaScriptCore/yarr -IDerivedSources/JavaScriptCore -IDerivedSources/JavaScriptCore/inspector -IDerivedSources/JavaScriptCore/runtime -IDerivedSources/JavaScriptCore/yarr -I../../Source/bmalloc -IDerivedSources -I../../Source/ThirdParty -fdiagnostics-color=always -fcolor-diagnostics -Wextra -Wall -Wno-parentheses-equality -Qunused-arguments -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align  -fno-strict-aliasing -fno-exceptions -fno-rtti -std=c++14 -gsplit-dwarf -g -fPIC   -ffp-contract=off -MMD -MT Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-9.cpp.o -MF Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-9.cpp.o.d -o Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-9.cpp.o -c DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-9.cpp
In file included from DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-f0a787a9-9.cpp:5:
../../Source/JavaScriptCore/bytecode/ProxyableAccessCase.cpp:55:12: error: no viable conversion from returned value of type &apos;unique_ptr&lt;JSC::ProxyableAccessCase&gt;&apos; to function return type &apos;unique_ptr&lt;JSC::AccessCase&gt;&apos;
    return result;
           ^~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:200:17: note: candidate constructor not viable: no known conversion from &apos;std::unique_ptr&lt;ProxyableAccessCase&gt;&apos; to &apos;nullptr_t&apos; for 1st argument
      constexpr unique_ptr(nullptr_t) noexcept : unique_ptr() { }
                ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:205:7: note: candidate constructor not viable: no known conversion from &apos;std::unique_ptr&lt;ProxyableAccessCase&gt;&apos; to &apos;std::unique_ptr&lt;JSC::AccessCase, std::default_delete&lt;JSC::AccessCase&gt; &gt; &amp;&amp;&apos; for 1st argument
      unique_ptr(unique_ptr&amp;&amp; __u) noexcept
      ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:220:2: note: candidate constructor [with _Up = JSC::ProxyableAccessCase, _Ep = std::default_delete&lt;JSC::ProxyableAccessCase&gt;, $2 = void] not viable: no known conversion from &apos;std::unique_ptr&lt;ProxyableAccessCase&gt;&apos; to &apos;unique_ptr&lt;JSC::ProxyableAccessCase, std::default_delete&lt;JSC::ProxyableAccessCase&gt; &gt; &amp;&amp;&apos; for 1st argument
        unique_ptr(unique_ptr&lt;_Up, _Ep&gt;&amp;&amp; __u) noexcept
        ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:356:7: note: candidate constructor not viable: no known conversion from &apos;std::unique_ptr&lt;ProxyableAccessCase&gt;&apos; to &apos;const std::unique_ptr&lt;JSC::AccessCase, std::default_delete&lt;JSC::AccessCase&gt; &gt; &amp;&apos; for 1st argument
      unique_ptr(const unique_ptr&amp;) = delete;
      ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:228:2: note: candidate template ignored: could not match &apos;auto_ptr&apos; against &apos;unique_ptr&apos;
        unique_ptr(auto_ptr&lt;_Up&gt;&amp;&amp; __u) noexcept;
        ^
1 error generated.
ninja: build stopped: subcommand failed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519899</commentid>
    <comment_count>25</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-03-21 13:47:39 -0700</bug_when>
    <thetext>Committed r243323: &lt;https://trac.webkit.org/changeset/243323&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520681</commentid>
    <comment_count>26</comment_count>
    <who name="Tuti">zrqrrahe</who>
    <bug_when>2019-03-24 01:41:42 -0700</bug_when>
    <thetext>Almost there :) 🙏🏻

[1371/1460] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScri...ivedSources/JavaScriptCore/unified-sources/UnifiedSource-84c9f43f-5.cpp.o
FAILED: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-84c9f43f-5.cpp.o
/usr/bin/clang++   -DBUILDING_JSCONLY__ -DBUILDING_JavaScriptCore -DBUILDING_WITH_CMAKE=1 -DHAVE_CONFIG_H=1 -DJavaScriptCore_EXPORTS -DSTATICALLY_LINp
In file included from DerivedSources/JavaScriptCore/unified-sources/UnifiedSource-84c9f43f-5.cpp:2:
../../Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp:419:12: error: no viable conversion from returned value of type &apos;WTF::Ref&lt;Ins&apos;
    return location;
           ^~~~~~~~
DerivedSources/ForwardingHeaders/wtf/RefPtr.h:57:19: note: candidate constructor not viable: no known conversion from &apos;WTF::Ref&lt;Inspector::Protocol::t
    ALWAYS_INLINE RefPtr(T* ptr) : m_ptr(ptr) { refIfNotNull(ptr); }
                  ^
DerivedSources/ForwardingHeaders/wtf/RefPtr.h:58:19: note: candidate constructor not viable: no known conversion from &apos;WTF::Ref&lt;Inspector::Protocol::t
    ALWAYS_INLINE RefPtr(const RefPtr&amp; o) : m_ptr(o.m_ptr) { refIfNotNull(PtrTraits::unwrap(m_ptr)); }
                  ^
DerivedSources/ForwardingHeaders/wtf/RefPtr.h:61:19: note: candidate constructor not viable: no known conversion from &apos;WTF::Ref&lt;Inspector::Protocol::t
    ALWAYS_INLINE RefPtr(RefPtr&amp;&amp; o) : m_ptr(o.leakRef()) { }
                  ^
DerivedSources/ForwardingHeaders/wtf/RefPtr.h:63:38: note: candidate constructor [with X = Inspector::Protocol::Debugger::Location, Y = WTF::DumbPtrTt
    template&lt;typename X, typename Y&gt; RefPtr(Ref&lt;X, Y&gt;&amp;&amp;);
                                     ^
DerivedSources/ForwardingHeaders/wtf/RefPtr.h:66:5: note: candidate constructor not viable: no known conversion from &apos;WTF::Ref&lt;Inspector::Protocol::Dt
    RefPtr(HashTableDeletedValueType) : m_ptr(hashTableDeletedValue()) { }
    ^
DerivedSources/ForwardingHeaders/wtf/RefPtr.h:59:38: note: candidate template ignored: could not match &apos;RefPtr&apos; against &apos;Ref&apos;
    template&lt;typename X, typename Y&gt; RefPtr(const RefPtr&lt;X, Y&gt;&amp; o) : m_ptr(o.get()) { refIfNotNull(PtrTraits::unwrap(m_ptr)); }
                                     ^
DerivedSources/ForwardingHeaders/wtf/RefPtr.h:62:38: note: candidate template ignored: could not match &apos;RefPtr&apos; against &apos;Ref&apos;
    template&lt;typename X, typename Y&gt; RefPtr(RefPtr&lt;X, Y&gt;&amp;&amp; o) : m_ptr(o.leakRef()) { }
                                     ^
DerivedSources/ForwardingHeaders/wtf/Ref.h:122:5: note: candidate function
    operator T&amp;() const { ASSERT(m_ptr); return *PtrTraits::unwrap(m_ptr); }
    ^
1 error generated.
[1379/1460] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/wasm/WasmAirIRGenerator.cpp.o
FAILED: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/wasm/WasmAirIRGenerator.cpp.o
/usr/bin/clang++   -DBUILDING_JSCONLY__ -DBUILDING_JavaScriptCore -DBUILDING_WITH_CMAKE=1 -DHAVE_CONFIG_H=1 -DJavaScriptCore_EXPORTS -DSTATICALLY_LINp
In file included from ../../Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp:27:
In file included from ../../Source/JavaScriptCore/wasm/WasmAirIRGenerator.h:30:
In file included from ../../Source/JavaScriptCore/wasm/WasmB3IRGenerator.h:30:
In file included from ../../Source/JavaScriptCore/b3/B3Common.h:31:
In file included from ../../Source/JavaScriptCore/jit/GPRInfo.h:28:
In file included from ../../Source/JavaScriptCore/assembler/MacroAssembler.h:30:
In file included from ../../Source/JavaScriptCore/runtime/JSCJSValue.h:36:
In file included from DerivedSources/ForwardingHeaders/wtf/MediaTime.h:32:
In file included from DerivedSources/ForwardingHeaders/wtf/JSONValues.h:36:
In file included from DerivedSources/ForwardingHeaders/wtf/text/StringHash.h:25:
In file included from DerivedSources/ForwardingHeaders/wtf/text/AtomicString.h:25:
In file included from DerivedSources/ForwardingHeaders/wtf/text/AtomicStringImpl.h:23:
In file included from DerivedSources/ForwardingHeaders/wtf/text/UniquedStringImpl.h:28:
In file included from DerivedSources/ForwardingHeaders/wtf/text/StringImpl.h:29:
DerivedSources/ForwardingHeaders/wtf/Expected.h:268:61: error: call to deleted constructor of &apos;value_type&apos; (aka &apos;std::unique_ptr&lt;JSC::Wasm::InternalF)
    constexpr storage(value_tag_t, const value_type&amp; val) : val(val) { }
                                                            ^   ~~~
DerivedSources/ForwardingHeaders/wtf/Expected.h:329:62: note: in instantiation of member function &apos;std::experimental::fundamentals_v3::__expected_dete
    constexpr base(value_tag_t tag, const value_type&amp; val) : s(tag, val), has(true) { }
                                                             ^
DerivedSources/ForwardingHeaders/wtf/Expected.h:435:47: note: in instantiation of member function &apos;std::experimental::fundamentals_v3::__expected_dete
    constexpr expected(const value_type&amp; e) : base(__expected_detail::value_tag, e) { }
                                              ^
../../Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp:1975:12: note: in instantiation of member function &apos;std::experimental::fundamentals_v3::expece
    return result;
           ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/bits/unique_ptr.h:356:7: note: &apos;unique_ptr&apos; has been explicitly marked delete
      unique_ptr(const unique_ptr&amp;) = delete;
      ^
1 error generated.
[1388/1460] Building CXX object Source/JavaScriptCore/CMakeFiles/JavaScri...ivedSources/JavaScriptCore/unified-sources/UnifiedSource-95324de6-1.cpp.o
ninja: build stopped: subcommand failed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520722</commentid>
    <comment_count>27</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-03-24 10:03:57 -0700</bug_when>
    <thetext>You&apos;re building only JSC?

At this point I really think we should just drop clang 3.8, especially if it will only work for JSC. Fixing two more returns is no big deal, but there are another 72 build targets remaining. Can you try following the pattern I&apos;ve shown in the above commits to see how many more changes are required to build?

You just have to change:

  return foo;

To:

  return ReturnType { WTFMove(foo) };

That pattern holds for all cases so far. E.g.:

diff --git a/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp b/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp
index 7e3dc65e645..4916edbc6b8 100644
--- a/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp
+++ b/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp
@@ -416,7 +416,7 @@ static RefPtr&lt;Protocol::Debugger::Location&gt; buildDebuggerLocation(const JSC::Bre
         .release();
     location-&gt;setColumnNumber(breakpoint.column);
 
-    return location;
+    return RefPtr&lt;Protocol::Debugger::Location&gt; { WTFMove(location) };
 }
 
 static bool parseLocation(ErrorString&amp; errorString, const JSON::Object&amp; location, JSC::SourceID&amp; sourceID, unsigned&amp; lineNumber, unsigned&amp; columnNumber)
diff --git a/Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp b/Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp
index e1751196f93..910383651ae 100644
--- a/Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp
+++ b/Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp
@@ -1972,7 +1972,7 @@ Expected&lt;std::unique_ptr&lt;InternalFunction&gt;, String&gt; parseAndCompileAir(Compilati
         result-&gt;entrypoint.calleeSaveRegisters = code.calleeSaveRegisterAtOffsetList();
     }
 
-    return result;
+    return Expected&lt;std::unique_ptr&lt;InternalFunction&gt; String&gt; { WTFMove(result) };
 }
 
 template &lt;typename IntType&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520724</commentid>
    <comment_count>28</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-03-24 10:05:21 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #27)
&gt; -    return result;
&gt; +    return Expected&lt;std::unique_ptr&lt;InternalFunction&gt; String&gt; {
&gt; WTFMove(result) };

Actually I missed a comma there, should be:

&gt; -    return result;
&gt; +    return Expected&lt;std::unique_ptr&lt;InternalFunction&gt;, String&gt; {
&gt; WTFMove(result) };</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520885</commentid>
    <comment_count>29</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-03-25 09:57:50 -0700</bug_when>
    <thetext>&gt; Note clang 3.8 is *really* old, July 2016. How far back does Apple support old clang versions?

The oldest version that we need to support is what EWS and older macOS bots build with. I don&apos;t know how to convert version numbers though, &quot;clang --version&quot; says &quot;Apple LLVM version 9.1.0 (clang-902.0.39.1)&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520893</commentid>
    <comment_count>30</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-03-25 10:08:47 -0700</bug_when>
    <thetext>I think that&apos;s clang 9 (current development version). clang 8 was just released.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522909</commentid>
    <comment_count>31</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-04-01 06:21:37 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #27)
&gt; You&apos;re building only JSC?
&gt; 
&gt; At this point I really think we should just drop clang 3.8, especially if it
&gt; will only work for JSC. Fixing two more returns is no big deal, but there
&gt; are another 72 build targets remaining. Can you try following the pattern
&gt; I&apos;ve shown in the above commits to see how many more changes are required to
&gt; build?

For now I plan to revert these partial fixes, since they don&apos;t fix the build with clang 3.8 and they make the code worse.

If we really want to support building JSC with clang 3.8, we could do that once we know how many more return statements need to be changed.

Seems building WebKit itself was already broken, and it&apos;s surely impractical to avoid that now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522917</commentid>
    <comment_count>32</comment_count>
      <attachid>366397</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-04-01 08:32:18 -0700</bug_when>
    <thetext>Created attachment 366397
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522918</commentid>
    <comment_count>33</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-04-01 08:35:25 -0700</bug_when>
    <thetext>To follow up, for clarity, we can put some minimum clang build version checking in Compiler.h. Don’t we already have minimum gcc build checking there?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522929</commentid>
    <comment_count>34</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-04-01 10:00:49 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #33)
&gt; To follow up, for clarity, we can put some minimum clang build version
&gt; checking in Compiler.h. Don’t we already have minimum gcc build checking
&gt; there?

I had to do some searching, but the check is only in CMakeLists.txt now:

https://trac.webkit.org/changeset/231152/webkit

That&apos;s a better place, since that fails much earlier than Compiler.h. I could add a similar check for Clang if I knew the min version that actually worked, but it&apos;d have to be duplicated for XCode and the CMake check might not be maintained very well.

Currently we have:

if (${CMAKE_CXX_COMPILER_ID} STREQUAL &quot;Clang&quot; OR ${CMAKE_CXX_COMPILER_ID} STREQUAL &quot;AppleClang&quot;)
    set(COMPILER_IS_CLANG ON)
endif ()

if (${CMAKE_CXX_COMPILER_ID} STREQUAL &quot;GNU&quot;)
    if (${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS &quot;6.0.0&quot;)
        message(FATAL_ERROR &quot;GCC 6.0.0 is required to build WebKitGTK+, use a newer GCC version or clang&quot;)
    endif ()
endif ()

Would be easy to add a Clang check there. Should probably also remove WebKitGTK+ from the error message as that code runs for every port....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522937</commentid>
    <comment_count>35</comment_count>
      <attachid>366397</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-01 10:27:58 -0700</bug_when>
    <thetext>Comment on attachment 366397
Patch

Clearing flags on attachment: 366397

Committed r243697: &lt;https://trac.webkit.org/changeset/243697&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522938</commentid>
    <comment_count>36</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-01 10:28:00 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>365165</attachid>
            <date>2019-03-19 08:53:32 -0700</date>
            <delta_ts>2019-03-19 08:53:32 -0700</delta_ts>
            <desc>The failed build log</desc>
            <filename>failed-build.log</filename>
            <type>text/plain</type>
            <size>5680</size>
            <attacher name="Tuti">zrqrrahe</attacher>
            
              <data encoding="base64">KyAgY21ha2UgLS1idWlsZCAvV2ViS2l0L1dlYktpdEJ1aWxkL0RlYnVnIC0tY29uZmlnIERlYnVn
IC0tIA0KWzEvMzI0XSBCdWlsZGluZyBDWFggb2JqZWN0IFNvdXJjZS9XVEYvd3RmL0NNYWtlRmls
ZXMvV1RGLmRpci9EYXRlTWF0aC5jcHAubw0KRkFJTEVEOiBTb3VyY2UvV1RGL3d0Zi9DTWFrZUZp
bGVzL1dURi5kaXIvRGF0ZU1hdGguY3BwLm8gDQovdXNyL2Jpbi9jbGFuZysrICAgLURCVUlMRElO
R19KU0NPTkxZX18gLURCVUlMRElOR19XSVRIX0NNQUtFPTEgLURCVUlMRElOR19XVEYgLURIQVZF
X0NPTkZJR19IPTEgLUkuLi8uLi9Tb3VyY2UvYm1hbGxvYyAtSS4gLUlEZXJpdmVkU291cmNlcyAt
SS4uLy4uL1NvdXJjZS9UaGlyZFBhcnR5IC1JLi4vLi4vU291cmNlL1dURiAtSS4uLy4uL1NvdXJj
ZS9XVEYvd3RmIC1JLi4vLi4vU291cmNlL1dURi93dGYvZHRvYSAtSS4uLy4uL1NvdXJjZS9XVEYv
d3RmL3BlcnNpc3RlbmNlIC1JLi4vLi4vU291cmNlL1dURi93dGYvdGV4dCAtSS4uLy4uL1NvdXJj
ZS9XVEYvd3RmL3RleHQvaWN1IC1JLi4vLi4vU291cmNlL1dURi93dGYvdGhyZWFkcyAtSS4uLy4u
L1NvdXJjZS9XVEYvd3RmL3VuaWNvZGUgLWZuby1vcHRpbWl6ZS1zaWJsaW5nLWNhbGxzIC1mbm8t
b21pdC1mcmFtZS1wb2ludGVyIC1mZGlhZ25vc3RpY3MtY29sb3I9YWx3YXlzIC1mY29sb3ItZGlh
Z25vc3RpY3MgLVdleHRyYSAtV2FsbCAtV25vLXBhcmVudGhlc2VzLWVxdWFsaXR5IC1RdW51c2Vk
LWFyZ3VtZW50cyAtV3dyaXRlLXN0cmluZ3MgLVd1bmRlZiAtV3BvaW50ZXItYXJpdGggLVdtaXNz
aW5nLWZvcm1hdC1hdHRyaWJ1dGUgLVdmb3JtYXQtc2VjdXJpdHkgLVdjYXN0LWFsaWduICAtZm5v
LXN0cmljdC1hbGlhc2luZyAtZm5vLWV4Y2VwdGlvbnMgLWZuby1ydHRpIC1zdGQ9YysrMTQgLWZz
YW5pdGl6ZT1hZGRyZXNzIC1nc3BsaXQtZHdhcmYgLWcgLWZQSUMgLU1NRCAtTVQgU291cmNlL1dU
Ri93dGYvQ01ha2VGaWxlcy9XVEYuZGlyL0RhdGVNYXRoLmNwcC5vIC1NRiBTb3VyY2UvV1RGL3d0
Zi9DTWFrZUZpbGVzL1dURi5kaXIvRGF0ZU1hdGguY3BwLm8uZCAtbyBTb3VyY2UvV1RGL3d0Zi9D
TWFrZUZpbGVzL1dURi5kaXIvRGF0ZU1hdGguY3BwLm8gLWMgLi4vLi4vU291cmNlL1dURi93dGYv
RGF0ZU1hdGguY3BwDQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vU291cmNlL1dURi93dGYv
RGF0ZU1hdGguY3BwOjczOg0KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uLy4uL1NvdXJjZS9XVEYv
d3RmL0RhdGVNYXRoLmg6NTA6DQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vU291cmNlL1dU
Ri93dGYvdGV4dC9XVEZTdHJpbmcuaDo3MTM6DQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4v
U291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmcuaDozNzc6DQouLi8uLi9Tb3VyY2UvV1RG
L3d0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlLmg6MjgxOjE2OiBlcnJvcjogbm8gdmlhYmxlIGNv
bnZlcnNpb24gZnJvbSByZXR1cm5lZCB2YWx1ZSBvZiB0eXBlICdSZWZQdHI8V1RGOjpTdHJpbmdJ
bXBsPicgdG8gZnVuY3Rpb24gcmV0dXJuIHR5cGUgJ1dURjo6U3RyaW5nJw0KICAgICAgICByZXR1
cm4gcmVzdWx0SW1wbDsNCiAgICAgICAgICAgICAgIF5+fn5+fn5+fn4NCi4uLy4uL1NvdXJjZS9X
VEYvd3RmL3RleHQvV1RGU3RyaW5nLmg6MTAxOjI0OiBub3RlOiBjYW5kaWRhdGUgY29uc3RydWN0
b3Igbm90IHZpYWJsZTogbm8ga25vd24gY29udmVyc2lvbiBmcm9tICdSZWZQdHI8V1RGOjpTdHJp
bmdJbXBsPicgdG8gJ2NvbnN0IFVDaGFyIConIChha2EgJ2NvbnN0IHVuc2lnbmVkIHNob3J0ICon
KSBmb3IgMXN0IGFyZ3VtZW50DQogICAgV1RGX0VYUE9SVF9QUklWQVRFIFN0cmluZyhjb25zdCBV
Q2hhciopOw0KICAgICAgICAgICAgICAgICAgICAgICBeDQouLi8uLi9Tb3VyY2UvV1RGL3d0Zi90
ZXh0L1dURlN0cmluZy5oOjEwODoyNDogbm90ZTogY2FuZGlkYXRlIGNvbnN0cnVjdG9yIG5vdCB2
aWFibGU6IG5vIGtub3duIGNvbnZlcnNpb24gZnJvbSAnUmVmUHRyPFdURjo6U3RyaW5nSW1wbD4n
IHRvICdjb25zdCBMQ2hhciAqJyAoYWthICdjb25zdCB1bnNpZ25lZCBjaGFyIConKSBmb3IgMXN0
IGFyZ3VtZW50DQogICAgV1RGX0VYUE9SVF9QUklWQVRFIFN0cmluZyhjb25zdCBMQ2hhciogY2hh
cmFjdGVycyk7DQogICAgICAgICAgICAgICAgICAgICAgIF4NCi4uLy4uL1NvdXJjZS9XVEYvd3Rm
L3RleHQvV1RGU3RyaW5nLmg6MTA5OjI0OiBub3RlOiBjYW5kaWRhdGUgY29uc3RydWN0b3Igbm90
IHZpYWJsZTogbm8ga25vd24gY29udmVyc2lvbiBmcm9tICdSZWZQdHI8V1RGOjpTdHJpbmdJbXBs
PicgdG8gJ2NvbnN0IGNoYXIgKicgZm9yIDFzdCBhcmd1bWVudA0KICAgIFdURl9FWFBPUlRfUFJJ
VkFURSBTdHJpbmcoY29uc3QgY2hhciogY2hhcmFjdGVycyk7DQogICAgICAgICAgICAgICAgICAg
ICAgIF4NCi4uLy4uL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmg6MTI0OjI0OiBub3Rl
OiBjYW5kaWRhdGUgY29uc3RydWN0b3Igbm90IHZpYWJsZTogbm8ga25vd24gY29udmVyc2lvbiBm
cm9tICdSZWZQdHI8V1RGOjpTdHJpbmdJbXBsPicgdG8gJ1dURjo6QVNDSUlMaXRlcmFsJyBmb3Ig
MXN0IGFyZ3VtZW50DQogICAgV1RGX0VYUE9SVF9QUklWQVRFIFN0cmluZyhBU0NJSUxpdGVyYWwp
Ow0KICAgICAgICAgICAgICAgICAgICAgICBeDQouLi8uLi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dU
RlN0cmluZy5oOjEzMzo1OiBub3RlOiBjYW5kaWRhdGUgY29uc3RydWN0b3Igbm90IHZpYWJsZTog
bm8ga25vd24gY29udmVyc2lvbiBmcm9tICdSZWZQdHI8V1RGOjpTdHJpbmdJbXBsPicgdG8gJ2Nv
bnN0IFdURjo6U3RyaW5nICYnIGZvciAxc3QgYXJndW1lbnQNCiAgICBTdHJpbmcoY29uc3QgU3Ry
aW5nJikgPSBkZWZhdWx0Ow0KICAgIF4NCi4uLy4uL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3Ry
aW5nLmg6MTM0OjU6IG5vdGU6IGNhbmRpZGF0ZSBjb25zdHJ1Y3RvciBub3QgdmlhYmxlOiBubyBr
bm93biBjb252ZXJzaW9uIGZyb20gJ1JlZlB0cjxXVEY6OlN0cmluZ0ltcGw+JyB0byAnV1RGOjpT
dHJpbmcgJiYnIGZvciAxc3QgYXJndW1lbnQNCiAgICBTdHJpbmcoU3RyaW5nJiYpID0gZGVmYXVs
dDsNCiAgICBeDQouLi8uLi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5oOjM3NTo1OiBu
b3RlOiBjYW5kaWRhdGUgY29uc3RydWN0b3Igbm90IHZpYWJsZTogbm8ga25vd24gY29udmVyc2lv
biBmcm9tICdSZWZQdHI8V1RGOjpTdHJpbmdJbXBsPicgdG8gJ1dURjo6SGFzaFRhYmxlRGVsZXRl
ZFZhbHVlVHlwZScgZm9yIDFzdCBhcmd1bWVudA0KICAgIFN0cmluZyhXVEY6Okhhc2hUYWJsZURl
bGV0ZWRWYWx1ZVR5cGUpIDogbV9pbXBsKFdURjo6SGFzaFRhYmxlRGVsZXRlZFZhbHVlKSB7IH0N
CiAgICBeDQouLi8uLi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5oOjQ2NzoxNjogbm90
ZTogY2FuZGlkYXRlIGNvbnN0cnVjdG9yIG5vdCB2aWFibGU6IG5vIGtub3duIGNvbnZlcnNpb24g
ZnJvbSAnUmVmUHRyPFdURjo6U3RyaW5nSW1wbD4nIHRvICdXVEY6OlN0cmluZ0ltcGwgJicgZm9y
IDFzdCBhcmd1bWVudA0KaW5saW5lIFN0cmluZzo6U3RyaW5nKFN0cmluZ0ltcGwmIHN0cmluZykN
CiAgICAgICAgICAgICAgIF4NCi4uLy4uL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmg6
NDcyOjE2OiBub3RlOiBjYW5kaWRhdGUgY29uc3RydWN0b3Igbm90IHZpYWJsZTogbm8ga25vd24g
Y29udmVyc2lvbiBmcm9tICdSZWZQdHI8V1RGOjpTdHJpbmdJbXBsPicgdG8gJ1dURjo6U3RyaW5n
SW1wbCAqJyBmb3IgMXN0IGFyZ3VtZW50DQppbmxpbmUgU3RyaW5nOjpTdHJpbmcoU3RyaW5nSW1w
bCogc3RyaW5nKQ0KICAgICAgICAgICAgICAgXg0KLi4vLi4vU291cmNlL1dURi93dGYvdGV4dC9X
VEZTdHJpbmcuaDo0Nzc6MTY6IG5vdGU6IGNhbmRpZGF0ZSBjb25zdHJ1Y3RvciBub3QgdmlhYmxl
OiBubyBrbm93biBjb252ZXJzaW9uIGZyb20gJ1JlZlB0cjxXVEY6OlN0cmluZ0ltcGw+JyB0byAn
UmVmPFdURjo6U3RyaW5nSW1wbD4gJiYnIGZvciAxc3QgYXJndW1lbnQNCmlubGluZSBTdHJpbmc6
OlN0cmluZyhSZWY8U3RyaW5nSW1wbD4mJiBzdHJpbmcpDQogICAgICAgICAgICAgICBeDQouLi8u
Li9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1dURlN0cmluZy5oOjQ4MjoxNjogbm90ZTogY2FuZGlkYXRl
IGNvbnN0cnVjdG9yIG5vdCB2aWFibGU6IG5vIGtub3duIGNvbnZlcnNpb24gZnJvbSAnUmVmUHRy
PFdURjo6U3RyaW5nSW1wbD4nIHRvICdSZWZQdHI8V1RGOjpTdHJpbmdJbXBsPiAmJicgZm9yIDFz
dCBhcmd1bWVudA0KaW5saW5lIFN0cmluZzo6U3RyaW5nKFJlZlB0cjxTdHJpbmdJbXBsPiYmIHN0
cmluZykNCiAgICAgICAgICAgICAgIF4NCi4uLy4uL1NvdXJjZS9XVEYvd3RmL3RleHQvV1RGU3Ry
aW5nLmg6NDg3OjE2OiBub3RlOiBjYW5kaWRhdGUgY29uc3RydWN0b3Igbm90IHZpYWJsZTogbm8g
a25vd24gY29udmVyc2lvbiBmcm9tICdSZWZQdHI8V1RGOjpTdHJpbmdJbXBsPicgdG8gJ1JlZjxX
VEY6OkF0b21pY1N0cmluZ0ltcGw+ICYmJyBmb3IgMXN0IGFyZ3VtZW50DQppbmxpbmUgU3RyaW5n
OjpTdHJpbmcoUmVmPEF0b21pY1N0cmluZ0ltcGw+JiYgc3RyaW5nKQ0KICAgICAgICAgICAgICAg
Xg0KLi4vLi4vU291cmNlL1dURi93dGYvdGV4dC9XVEZTdHJpbmcuaDo0OTI6MTY6IG5vdGU6IGNh
bmRpZGF0ZSBjb25zdHJ1Y3RvciBub3QgdmlhYmxlOiBubyBrbm93biBjb252ZXJzaW9uIGZyb20g
J1JlZlB0cjxXVEY6OlN0cmluZ0ltcGw+JyB0byAnUmVmUHRyPFdURjo6QXRvbWljU3RyaW5nSW1w
bD4gJiYnIGZvciAxc3QgYXJndW1lbnQNCmlubGluZSBTdHJpbmc6OlN0cmluZyhSZWZQdHI8QXRv
bWljU3RyaW5nSW1wbD4mJiBzdHJpbmcpDQogICAgICAgICAgICAgICBeDQouLi8uLi9Tb3VyY2Uv
V1RGL3d0Zi90ZXh0L1dURlN0cmluZy5oOjQ5NzoxNjogbm90ZTogY2FuZGlkYXRlIGNvbnN0cnVj
dG9yIG5vdCB2aWFibGU6IG5vIGtub3duIGNvbnZlcnNpb24gZnJvbSAnUmVmUHRyPFdURjo6U3Ry
aW5nSW1wbD4nIHRvICdTdGF0aWNTdHJpbmdJbXBsICYnIChha2EgJ1dURjo6U3RyaW5nSW1wbDo6
U3RhdGljU3RyaW5nSW1wbCAmJykgZm9yIDFzdCBhcmd1bWVudA0KaW5saW5lIFN0cmluZzo6U3Ry
aW5nKFN0YXRpY1N0cmluZ0ltcGwmIHN0cmluZykNCiAgICAgICAgICAgICAgIF4NCi4uLy4uL1Nv
dXJjZS9XVEYvd3RmL3RleHQvV1RGU3RyaW5nLmg6NTAyOjE2OiBub3RlOiBjYW5kaWRhdGUgY29u
c3RydWN0b3Igbm90IHZpYWJsZTogbm8ga25vd24gY29udmVyc2lvbiBmcm9tICdSZWZQdHI8V1RG
OjpTdHJpbmdJbXBsPicgdG8gJ1N0YXRpY1N0cmluZ0ltcGwgKicgKGFrYSAnV1RGOjpTdHJpbmdJ
bXBsOjpTdGF0aWNTdHJpbmdJbXBsIConKSBmb3IgMXN0IGFyZ3VtZW50DQppbmxpbmUgU3RyaW5n
OjpTdHJpbmcoU3RhdGljU3RyaW5nSW1wbCogc3RyaW5nKQ0KICAgICAgICAgICAgICAgXg0KLi4v
Li4vU291cmNlL1dURi93dGYvUmVmUHRyLmg6ODU6NTogbm90ZTogY2FuZGlkYXRlIGZ1bmN0aW9u
DQogICAgb3BlcmF0b3IgVW5zcGVjaWZpZWRCb29sVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHRy
ID8gJlJlZlB0cjo6bV9wdHIgOiBudWxscHRyOyB9DQogICAgXg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365217</attachid>
            <date>2019-03-19 13:13:09 -0700</date>
            <delta_ts>2019-04-01 08:32:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195947-20190319151308.patch</filename>
            <type>text/plain</type>
            <size>1467</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDE3YTdhZDMyY2Q4Yzk0ZjdjZWMyMmYy
OThmMjQ5NDQzMDkxOGViMTIuLjg2NTI1MWU4MzE2ZjcxZmVkYmI3YTUxNmRiOWE0OTMxZTRhNmQ5
YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDMtMTkgIE1pY2hhZWwgQ2F0YW56YXJvICA8
bWNhdGFuemFyb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04ocjI0MzExNSkgYnJl
YWtzIGJ1aWxkIGZvciBjbGFuZyAzLjgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5NTk0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogd3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGUuaDoKKyAgICAgICAg
KFdURjo6dHJ5TWFrZVN0cmluZ0Zyb21BZGFwdGVycyk6CisKIDIwMTktMDMtMTkgIE1pY2hhZWwg
Q2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEJ1aWxkIGNsZWFu
bHkgd2l0aCBHQ0MgOQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdDb25j
YXRlbmF0ZS5oIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0ZS5oCmluZGV4
IGM1ZDAyMDE4MTg0MmMyNjAxM2JkNDg3OWU3NzRhM2JmMWM4ZDE3MmMuLjE4MzA1NjExMmQ4NWU5
OGNkZWQxMjgwMzlmZjZmZjEyNTk5MWMwMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3Rl
eHQvU3RyaW5nQ29uY2F0ZW5hdGUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0Nv
bmNhdGVuYXRlLmgKQEAgLTI3OCw3ICsyNzgsNyBAQCBTdHJpbmcgdHJ5TWFrZVN0cmluZ0Zyb21B
ZGFwdGVycyhTdHJpbmdUeXBlQWRhcHRlciBhZGFwdGVyLCBTdHJpbmdUeXBlQWRhcHRlcnMgLgog
CiAgICAgICAgIG1ha2VTdHJpbmdBY2N1bXVsYXRvcihidWZmZXIsIGFkYXB0ZXIsIGFkYXB0ZXJz
Li4uKTsKIAotICAgICAgICByZXR1cm4gcmVzdWx0SW1wbDsKKyAgICAgICAgcmV0dXJuIFN0cmlu
ZyB7IFdURk1vdmUocmVzdWx0SW1wbCkgfTsKICAgICB9CiAKICAgICBVQ2hhciogYnVmZmVyOwpA
QCAtMjg4LDcgKzI4OCw3IEBAIFN0cmluZyB0cnlNYWtlU3RyaW5nRnJvbUFkYXB0ZXJzKFN0cmlu
Z1R5cGVBZGFwdGVyIGFkYXB0ZXIsIFN0cmluZ1R5cGVBZGFwdGVycyAuCiAKICAgICBtYWtlU3Ry
aW5nQWNjdW11bGF0b3IoYnVmZmVyLCBhZGFwdGVyLCBhZGFwdGVycy4uLik7CiAKLSAgICByZXR1
cm4gcmVzdWx0SW1wbDsKKyAgICByZXR1cm4gU3RyaW5nIHsgV1RGTW92ZShyZXN1bHRJbXBsKSB9
OwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBTdHJpbmdUeXBlcz4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>366397</attachid>
            <date>2019-04-01 08:32:18 -0700</date>
            <delta_ts>2019-04-01 10:27:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195947-20190401103217.patch</filename>
            <type>text/plain</type>
            <size>9947</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzNjkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
NTJjN2VjMTcyYjk5MzNiNDZjNTlmZDU5NDIwZGNjZWFlMDBjYTUzLi5mMWU1M2MzZmM4OTRhYzRj
NDQ2NTViNWYyMjdhMzBjYWY4NDVkNWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxOS0wNC0wMSAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGln
YWxpYS5jb20+CisKKyAgICAgICAgU3RvcCB0cnlpbmcgdG8gc3VwcG9ydCBidWlsZGluZyBKU0Mg
d2l0aCBjbGFuZyAzLjgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5NTk0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDkwNjkyMTk+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXQgc2VlbXMgV2ViS2l0
IGhhc24ndCBidWlsdCB3aXRoIGNsYW5nIDMuOCBpbiBhIHdoaWxlLCBubyBkZXZzIGFyZSB1c2lu
ZyB0aGlzIGNvbXBpbGVyLCB3ZQorICAgICAgICBkb24ndCBrbm93IGhvdyBtdWNoIGVmZm9ydCBp
dCB3b3VsZCBiZSB0byBtYWtlIEpTQyB3b3JrIGFnYWluLCBhbmQgaXQncyBtYWtpbmcgdGhlIGNv
ZGUKKyAgICAgICAgd29yc2UuIFJlbW92ZSBteSBoYWNrcyB0byBzdXBwb3J0IGNsYW5nIDMuOCBm
cm9tIEpTQy4KKworICAgICAgICAqIGJpbmRpbmdzL1NjcmlwdFZhbHVlLmNwcDoKKyAgICAgICAg
KEluc3BlY3Rvcjo6anNUb0luc3BlY3RvclZhbHVlKToKKyAgICAgICAgKiBieXRlY29kZS9HZXR0
ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6R2V0dGVyU2V0dGVyQWNjZXNz
Q2FzZTo6Y3JlYXRlKToKKyAgICAgICAgKEpTQzo6R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6Y2xv
bmUgY29uc3QpOgorICAgICAgICAqIGJ5dGVjb2RlL0luc3RhbmNlT2ZBY2Nlc3NDYXNlLmNwcDoK
KyAgICAgICAgKEpTQzo6SW5zdGFuY2VPZkFjY2Vzc0Nhc2U6OmNsb25lIGNvbnN0KToKKyAgICAg
ICAgKiBieXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlLmNwcDoKKyAgICAgICAgKEpT
Qzo6SW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZTo6Y2xvbmUgY29uc3QpOgorICAgICAgICAqIGJ5
dGVjb2RlL01vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2UuY3BwOgorICAgICAgICAoSlNDOjpNb2R1
bGVOYW1lc3BhY2VBY2Nlc3NDYXNlOjpjbG9uZSBjb25zdCk6CisgICAgICAgICogYnl0ZWNvZGUv
UHJveHlhYmxlQWNjZXNzQ2FzZS5jcHA6CisgICAgICAgIChKU0M6OlByb3h5YWJsZUFjY2Vzc0Nh
c2U6OmNsb25lIGNvbnN0KToKKwogMjAxOS0wMy0zMSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lA
YXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIEJ1dHRlcmZseSBhbGxvY2F0aW9uIGZyb20gTGFy
Z2VBbGxvY2F0aW9uIHNob3VsZCB0cnkgInJlYWxsb2MiIGJlaGF2aW9yIGlmIGNvbGxlY3RvciB0
aHJlYWQgaXMgbm90IGFjdGl2ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCBhNWNhZDg4MGU0MDcyMTE4ZmIyZGMzZTQxZDNhMzM1
ZGRmZmU5MmUzLi4yOTA5ZWU5NTczM2Y2ZDA4YWM3MDMzOTI4OGNjNmE2NzVmYmY3NGZjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIwIEBACisyMDE5LTA0LTAxICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnph
cm9AaWdhbGlhLmNvbT4KKworICAgICAgICBTdG9wIHRyeWluZyB0byBzdXBwb3J0IGJ1aWxkaW5n
IEpTQyB3aXRoIGNsYW5nIDMuOAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTk1OTQ3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80OTA2OTIxOT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJdCBzZWVtcyBX
ZWJLaXQgaGFzbid0IGJ1aWx0IHdpdGggY2xhbmcgMy44IGluIGEgd2hpbGUsIG5vIGRldnMgYXJl
IHVzaW5nIHRoaXMgY29tcGlsZXIsIHdlCisgICAgICAgIGRvbid0IGtub3cgaG93IG11Y2ggZWZm
b3J0IGl0IHdvdWxkIGJlIHRvIG1ha2UgSlNDIHdvcmsgYWdhaW4sIGFuZCBpdCdzIG1ha2luZyB0
aGUgY29kZQorICAgICAgICB3b3JzZS4gUmVtb3ZlIG15IGhhY2tzIHRvIHN1cHBvcnQgY2xhbmcg
My44IGZyb20gV1RGLgorCisgICAgICAgICogd3RmL01ldGFBbGxvY2F0b3IuY3BwOgorICAgICAg
ICAoV1RGOjpNZXRhQWxsb2NhdG9yOjphbGxvY2F0ZSk6CisgICAgICAgICogd3RmL3RleHQvU3Ry
aW5nQ29uY2F0ZW5hdGUuaDoKKyAgICAgICAgKFdURjo6dHJ5TWFrZVN0cmluZ0Zyb21BZGFwdGVy
cyk6CisKIDIwMTktMDMtMzEgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbSlNDXSBCdXR0ZXJmbHkgYWxsb2NhdGlvbiBmcm9tIExhcmdlQWxsb2NhdGlvbiBz
aG91bGQgdHJ5ICJyZWFsbG9jIiBiZWhhdmlvciBpZiBjb2xsZWN0b3IgdGhyZWFkIGlzIG5vdCBh
Y3RpdmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iaW5kaW5ncy9TY3JpcHRW
YWx1ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYmluZGluZ3MvU2NyaXB0VmFsdWUuY3Bw
CmluZGV4IDdhMzE3Mjg3ZjA2YWZkZTVjYjFmODU1ZjJlYTZjYzFiYjNkMDQzZDQuLjcwNzhhYTdi
MDAyMWNkYzI0ZTZiMWZiZWU5YTcwNGRjNjQ3OWI0ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iaW5kaW5ncy9TY3JpcHRWYWx1ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2JpbmRpbmdzL1NjcmlwdFZhbHVlLmNwcApAQCAtNzQsNyArNzQsNyBAQCBzdGF0aWMg
UmVmUHRyPEpTT046OlZhbHVlPiBqc1RvSW5zcGVjdG9yVmFsdWUoRXhlY1N0YXRlJiBzY3JpcHRT
dGF0ZSwgSlNWYWx1ZSB2YQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAg
ICAgICAgICAgICAgICBpbnNwZWN0b3JBcnJheS0+cHVzaFZhbHVlKFdURk1vdmUoZWxlbWVudFZh
bHVlKSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXR1cm4gUmVmUHRyPEpTT046OlZh
bHVlPiB7IFdURk1vdmUoaW5zcGVjdG9yQXJyYXkpIH07CisgICAgICAgICAgICByZXR1cm4gaW5z
cGVjdG9yQXJyYXk7CiAgICAgICAgIH0KICAgICAgICAgVk0mIHZtID0gc2NyaXB0U3RhdGUudm0o
KTsKICAgICAgICAgYXV0byBpbnNwZWN0b3JPYmplY3QgPSBKU09OOjpPYmplY3Q6OmNyZWF0ZSgp
OwpAQCAtODcsNyArODcsNyBAQCBzdGF0aWMgUmVmUHRyPEpTT046OlZhbHVlPiBqc1RvSW5zcGVj
dG9yVmFsdWUoRXhlY1N0YXRlJiBzY3JpcHRTdGF0ZSwgSlNWYWx1ZSB2YQogICAgICAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOwogICAgICAgICAgICAgaW5zcGVjdG9yT2JqZWN0LT5zZXRWYWx1
ZShuYW1lLnN0cmluZygpLCBXVEZNb3ZlKGluc3BlY3RvclZhbHVlKSk7CiAgICAgICAgIH0KLSAg
ICAgICAgcmV0dXJuIFJlZlB0cjxKU09OOjpWYWx1ZT4geyBXVEZNb3ZlKGluc3BlY3Rvck9iamVj
dCkgfTsKKyAgICAgICAgcmV0dXJuIGluc3BlY3Rvck9iamVjdDsKICAgICB9CiAKICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9HZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmNwcAppbmRleCBlNTljNWE4MmFmNzkwOGUy
YmQyOTFmMTY4NWVlZDhkODNhYzVjNTBkLi5jOWVkMGFhZjVlNGZkZTc0ODBjNzE1OGJlYTE3NTIz
YzdiODVjYWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0
dGVyU2V0dGVyQWNjZXNzQ2FzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0dldHRlclNldHRlckFjY2Vzc0Nhc2UuY3BwCkBAIC02Niw3ICs2Niw3IEBAIHN0ZDo6dW5p
cXVlX3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUoCiAgICAg
c3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFjY2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVy
U2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25k
aXRpb25TZXQsIHZpYVByb3h5LCBhZGRpdGlvbmFsU2V0LCBjdXN0b21TbG90QmFzZSwgV1RGTW92
ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpKTsKICAgICByZXN1bHQtPm1fZG9tQXR0cmlidXRlID0g
ZG9tQXR0cmlidXRlOwogICAgIHJlc3VsdC0+bV9jdXN0b21BY2Nlc3NvciA9IGN1c3RvbUdldHRl
ciA/IEZ1bmN0aW9uUHRyPE9wZXJhdGlvblB0clRhZz4oY3VzdG9tR2V0dGVyKSA6IG51bGxwdHI7
Ci0gICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiB7IFdURk1vdmUocmVzdWx0
KSB9OworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNl
PiBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyLCBB
Y2Nlc3NUeXBlIHR5cGUsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQcm9wZXJ0eU9mZnNldCBvZmZz
ZXQsCkBAIC03Niw3ICs3Niw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiBHZXR0ZXJT
ZXR0ZXJBY2Nlc3NDYXNlOjpjcmVhdGUoVk0mIHZtLCBKU0NlbGwqIG93bmVyCiAgICAgQVNTRVJU
KHR5cGUgPT0gU2V0dGVyIHx8IHR5cGUgPT0gQ3VzdG9tVmFsdWVTZXR0ZXIgfHwgdHlwZSA9PSBD
dXN0b21BY2Nlc3NvclNldHRlcik7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEdldHRlclNldHRlckFj
Y2Vzc0Nhc2U+IHJlc3VsdChuZXcgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZSh2bSwgb3duZXIsIHR5
cGUsIG9mZnNldCwgc3RydWN0dXJlLCBjb25kaXRpb25TZXQsIGZhbHNlLCBudWxscHRyLCBjdXN0
b21TbG90QmFzZSwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpKTsKICAgICByZXN1bHQt
Pm1fY3VzdG9tQWNjZXNzb3IgPSBjdXN0b21TZXR0ZXIgPyBGdW5jdGlvblB0cjxPcGVyYXRpb25Q
dHJUYWc+KGN1c3RvbVNldHRlcikgOiBudWxscHRyOwotICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9w
dHI8QWNjZXNzQ2FzZT4geyBXVEZNb3ZlKHJlc3VsdCkgfTsKKyAgICByZXR1cm4gcmVzdWx0Owog
fQogCiAKQEAgLTk3LDcgKzk3LDcgQEAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+IEdldHRl
clNldHRlckFjY2Vzc0Nhc2U6OmNsb25lKCkgY29uc3QKIHsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNl
KCp0aGlzKSk7CiAgICAgcmVzdWx0LT5yZXNldFN0YXRlKCk7Ci0gICAgcmV0dXJuIHN0ZDo6dW5p
cXVlX3B0cjxBY2Nlc3NDYXNlPiB7IFdURk1vdmUocmVzdWx0KSB9OworICAgIHJldHVybiByZXN1
bHQ7CiB9CiAKIGJvb2wgR2V0dGVyU2V0dGVyQWNjZXNzQ2FzZTo6aGFzQWx0ZXJuYXRlQmFzZSgp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdGFu
Y2VPZkFjY2Vzc0Nhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3Rh
bmNlT2ZBY2Nlc3NDYXNlLmNwcAppbmRleCA3Y2QyNzA3ZDI0ZTZlZTRlYTI2MDk4MzBjZjg3OWZm
MTY3N2M0MWY4Li5jZmQzM2EwMTliMDI5MWFlNTY3MGNlNDEyMWE5NWE2NmNkZTFjOWQyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdGFuY2VPZkFjY2Vzc0Nh
c2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0YW5jZU9mQWNj
ZXNzQ2FzZS5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgc3RkOjp1bmlxdWVfcHRyPEFjY2Vzc0Nhc2U+
IEluc3RhbmNlT2ZBY2Nlc3NDYXNlOjpjbG9uZSgpIGNvbnN0CiB7CiAgICAgc3RkOjp1bmlxdWVf
cHRyPEluc3RhbmNlT2ZBY2Nlc3NDYXNlPiByZXN1bHQobmV3IEluc3RhbmNlT2ZBY2Nlc3NDYXNl
KCp0aGlzKSk7CiAgICAgcmVzdWx0LT5yZXNldFN0YXRlKCk7Ci0gICAgcmV0dXJuIHN0ZDo6dW5p
cXVlX3B0cjxBY2Nlc3NDYXNlPiB7IFdURk1vdmUocmVzdWx0KSB9OworICAgIHJldHVybiByZXN1
bHQ7CiB9CiAKIEluc3RhbmNlT2ZBY2Nlc3NDYXNlOjp+SW5zdGFuY2VPZkFjY2Vzc0Nhc2UoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNpY0dldHRl
ckFjY2Vzc0Nhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0ludHJpbnNp
Y0dldHRlckFjY2Vzc0Nhc2UuY3BwCmluZGV4IDc0ZTg4YTc4NDExMjk1NjE5NjJjMjBkZWVkNmNk
MzI2MDk0MzU0YTMuLjE1Mjk0MWZlN2ZiMjk5ZDUyZTVkY2M0ODg0NzM0ZGViMGYyNDBjODYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnRyaW5zaWNHZXR0ZXJB
Y2Nlc3NDYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW50cmlu
c2ljR2V0dGVyQWNjZXNzQ2FzZS5jcHAKQEAgLTUxLDcgKzUxLDcgQEAgc3RkOjp1bmlxdWVfcHRy
PEFjY2Vzc0Nhc2U+IEludHJpbnNpY0dldHRlckFjY2Vzc0Nhc2U6OmNsb25lKCkgY29uc3QKIHsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8SW50cmluc2ljR2V0dGVyQWNjZXNzQ2FzZT4gcmVzdWx0KG5l
dyBJbnRyaW5zaWNHZXR0ZXJBY2Nlc3NDYXNlKCp0aGlzKSk7CiAgICAgcmVzdWx0LT5yZXNldFN0
YXRlKCk7Ci0gICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiB7IFdURk1vdmUo
cmVzdWx0KSB9OworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL01vZHVsZU5hbWVzcGFj
ZUFjY2Vzc0Nhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL01vZHVsZU5h
bWVzcGFjZUFjY2Vzc0Nhc2UuY3BwCmluZGV4IDc1NmQxOTU0Y2Y2NGNlYzE1NGEwMmMyMDg2MDc2
OTJlMWIzMjQzMDEuLmI2NDdmYTViNjQ4ODY2ZjQ2YTVjNjRhMmQ5NzkyNTViODkyNTI4MDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Nb2R1bGVOYW1lc3BhY2VB
Y2Nlc3NDYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvTW9kdWxl
TmFtZXNwYWNlQWNjZXNzQ2FzZS5jcHAKQEAgLTU4LDcgKzU4LDcgQEAgc3RkOjp1bmlxdWVfcHRy
PEFjY2Vzc0Nhc2U+IE1vZHVsZU5hbWVzcGFjZUFjY2Vzc0Nhc2U6OmNsb25lKCkgY29uc3QKIHsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8TW9kdWxlTmFtZXNwYWNlQWNjZXNzQ2FzZT4gcmVzdWx0KG5l
dyBNb2R1bGVOYW1lc3BhY2VBY2Nlc3NDYXNlKCp0aGlzKSk7CiAgICAgcmVzdWx0LT5yZXNldFN0
YXRlKCk7Ci0gICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiB7IFdURk1vdmUo
cmVzdWx0KSB9OworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIHZvaWQgTW9kdWxlTmFtZXNwYWNl
QWNjZXNzQ2FzZTo6ZW1pdChBY2Nlc3NHZW5lcmF0aW9uU3RhdGUmIHN0YXRlLCBNYWNyb0Fzc2Vt
Ymxlcjo6SnVtcExpc3QmIGZhbGxUaHJvdWdoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1Byb3h5YWJsZUFjY2Vzc0Nhc2UuY3BwCmluZGV4IDZjMWM1NDY3MGVj
ZGI4OGI5ZjUxNWQwYjQ1ZjI3ZWZlNGY2ZTM4ZWMuLjhhM2VmODExYzYyZWI4MTYxYjYxMmE2NTVl
YWI5OTQ3YzU2OTBkMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Qcm94eWFibGVBY2Nlc3NDYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvUHJveHlhYmxlQWNjZXNzQ2FzZS5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgc3RkOjp1bmlx
dWVfcHRyPEFjY2Vzc0Nhc2U+IFByb3h5YWJsZUFjY2Vzc0Nhc2U6OmNsb25lKCkgY29uc3QKIHsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8UHJveHlhYmxlQWNjZXNzQ2FzZT4gcmVzdWx0KG5ldyBQcm94
eWFibGVBY2Nlc3NDYXNlKCp0aGlzKSk7CiAgICAgcmVzdWx0LT5yZXNldFN0YXRlKCk7Ci0gICAg
cmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxBY2Nlc3NDYXNlPiB7IFdURk1vdmUocmVzdWx0KSB9Owor
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIHZvaWQgUHJveHlhYmxlQWNjZXNzQ2FzZTo6ZHVtcElt
cGwoUHJpbnRTdHJlYW0mIG91dCwgQ29tbWFQcmludGVyJiBjb21tYSkgY29uc3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL01ldGFBbGxvY2F0b3IuY3BwIGIvU291cmNlL1dURi93dGYvTWV0
YUFsbG9jYXRvci5jcHAKaW5kZXggOGI3NmRkZTAxNDgxZjdiYmQ0Zjk0NDliYzgwMzEzODU4Zjkz
MDRkMy4uYzNiNjkzNzgyOGM1N2Y1NWI2NGZiZTM0OWU1ZTVjYzdiNzc5NmM5NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvTWV0YUFsbG9jYXRvci5jcHAKKysrIGIvU291cmNlL1dURi93dGYv
TWV0YUFsbG9jYXRvci5jcHAKQEAgLTE5NCw3ICsxOTQsNyBAQCBSZWZQdHI8TWV0YUFsbG9jYXRv
ckhhbmRsZT4gTWV0YUFsbG9jYXRvcjo6YWxsb2NhdGUoc2l6ZV90IHNpemVJbkJ5dGVzLCB2b2lk
KiBvdwogICAgIGlmIChVTkxJS0VMWSghIW1fdHJhY2tlcikpCiAgICAgICAgIG1fdHJhY2tlci0+
bm90aWZ5KGhhbmRsZS5wdHIoKSk7CiAKLSAgICByZXR1cm4gUmVmUHRyPE1ldGFBbGxvY2F0b3JI
YW5kbGU+IHsgV1RGTW92ZShoYW5kbGUpIH07CisgICAgcmV0dXJuIGhhbmRsZTsKIH0KIAogTWV0
YUFsbG9jYXRvcjo6U3RhdGlzdGljcyBNZXRhQWxsb2NhdG9yOjpjdXJyZW50U3RhdGlzdGljcygp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlLmggYi9T
b3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlLmgKaW5kZXggMTgzMDU2MTEyZDg1
ZTk4Y2RlZDEyODAzOWZmNmZmMTI1OTkxYzAyMC4uYzVkMDIwMTgxODQyYzI2MDEzYmQ0ODc5ZTc3
NGEzYmYxYzhkMTcyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdDb25j
YXRlbmF0ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGUuaApA
QCAtMjc4LDcgKzI3OCw3IEBAIFN0cmluZyB0cnlNYWtlU3RyaW5nRnJvbUFkYXB0ZXJzKFN0cmlu
Z1R5cGVBZGFwdGVyIGFkYXB0ZXIsIFN0cmluZ1R5cGVBZGFwdGVycyAuCiAKICAgICAgICAgbWFr
ZVN0cmluZ0FjY3VtdWxhdG9yKGJ1ZmZlciwgYWRhcHRlciwgYWRhcHRlcnMuLi4pOwogCi0gICAg
ICAgIHJldHVybiBTdHJpbmcgeyBXVEZNb3ZlKHJlc3VsdEltcGwpIH07CisgICAgICAgIHJldHVy
biByZXN1bHRJbXBsOwogICAgIH0KIAogICAgIFVDaGFyKiBidWZmZXI7CkBAIC0yODgsNyArMjg4
LDcgQEAgU3RyaW5nIHRyeU1ha2VTdHJpbmdGcm9tQWRhcHRlcnMoU3RyaW5nVHlwZUFkYXB0ZXIg
YWRhcHRlciwgU3RyaW5nVHlwZUFkYXB0ZXJzIC4KIAogICAgIG1ha2VTdHJpbmdBY2N1bXVsYXRv
cihidWZmZXIsIGFkYXB0ZXIsIGFkYXB0ZXJzLi4uKTsKIAotICAgIHJldHVybiBTdHJpbmcgeyBX
VEZNb3ZlKHJlc3VsdEltcGwpIH07CisgICAgcmV0dXJuIHJlc3VsdEltcGw7CiB9CiAKIHRlbXBs
YXRlPHR5cGVuYW1lLi4uIFN0cmluZ1R5cGVzPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>