<?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>157948</bug_id>
          
          <creation_ts>2016-05-20 10:07:29 -0700</creation_ts>
          <short_desc>Move to C++14</short_desc>
          <delta_ts>2016-05-24 07:24:21 -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>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>achristensen</cc>
    
    <cc>andersca</cc>
    
    <cc>aplazas</cc>
    
    <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>graouts</cc>
    
    <cc>keith_miller</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1195157</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-20 10:07:29 -0700</bug_when>
    <thetext>Move to C++14

Clang++ has been supporting C++14 for awhile.

Our minimum versions for other compilers are GCC 4.9.0 and VS2015, which also support C++14.

It&apos;s time to switch.

If this task will take multiple passes, consider this an umbrella bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195271</commentid>
    <comment_count>1</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-20 16:43:10 -0700</bug_when>
    <thetext>Attaching a WIP patch that is building fine on my Mac, just to get a feel of what other EWSs are doing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195272</commentid>
    <comment_count>2</comment_count>
      <attachid>279515</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-20 16:43:31 -0700</bug_when>
    <thetext>Created attachment 279515
Blind swipe at EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195273</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-20 16:44:53 -0700</bug_when>
    <thetext>Note that there are important steps to take when updating ANGLE. See http://trac.webkit.org/wiki/UpdatingANGLE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195281</commentid>
    <comment_count>4</comment_count>
      <attachid>279517</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-20 17:04:31 -0700</bug_when>
    <thetext>Created attachment 279517
Slightly updated just so I can get this at home this weekend</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195335</commentid>
    <comment_count>5</comment_count>
      <attachid>279537</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-20 21:54:20 -0700</bug_when>
    <thetext>Created attachment 279537
WIP

Not too many changes needed to get things building on Mac, which this patch does.

It also includes my first attempt at getting GCC happy (replacing cmake&apos;s c++11 option with c++1y, as the c++14 option didn&apos;t exist in our baseline gcc 4.9.0)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195336</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-20 21:55:11 -0700</bug_when>
    <thetext>Attachment 279537 did not pass style-queue:


ERROR: Source/WebKit2/NetworkProcess/NetworkResourceLoadParameters.cpp:33:  std::literals::chrono_literals is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebKit2/NetworkProcess/cache/NetworkCacheStorage.cpp:43:  std::literals::chrono_literals is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/platform/graphics/cg/IOSurfacePool.cpp:36:  std::literals::chrono_literals is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp:48:  std::literals::chrono_literals is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp:52:  std::literals::chrono_literals is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebKit2/WebProcess/Network/WebLoaderStrategy.cpp:59:  std::literals::chrono_literals is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebKit2/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:43:  std::literals::chrono_literals is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebKit2/UIProcess/ViewGestureController.cpp:38:  std::literals::chrono_literals is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 8 in 25 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195338</commentid>
    <comment_count>7</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-20 21:59:50 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Attachment 279537 [details] did not pass style-queue:
&gt; 
&gt; 
&gt; ERROR: Source/WebKit2/NetworkProcess/NetworkResourceLoadParameters.cpp:33: 
&gt; std::literals::chrono_literals is incorrectly named. Don&apos;t use underscores
&gt; in your identifier names.  [readability/naming/underscores] [4]
&gt; ERROR: Source/WebKit2/NetworkProcess/cache/NetworkCacheStorage.cpp:43: 
&gt; std::literals::chrono_literals is incorrectly named. Don&apos;t use underscores
&gt; in your identifier names.  [readability/naming/underscores] [4]
&gt; ERROR: Source/WebCore/platform/graphics/cg/IOSurfacePool.cpp:36: 
&gt; std::literals::chrono_literals is incorrectly named. Don&apos;t use underscores
&gt; in your identifier names.  [readability/naming/underscores] [4]
&gt; ERROR: Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp:48: 
&gt; std::literals::chrono_literals is incorrectly named. Don&apos;t use underscores
&gt; in your identifier names.  [readability/naming/underscores] [4]
&gt; ERROR: Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp:52: 
&gt; std::literals::chrono_literals is incorrectly named. Don&apos;t use underscores
&gt; in your identifier names.  [readability/naming/underscores] [4]
&gt; ERROR: Source/WebKit2/WebProcess/Network/WebLoaderStrategy.cpp:59: 
&gt; std::literals::chrono_literals is incorrectly named. Don&apos;t use underscores
&gt; in your identifier names.  [readability/naming/underscores] [4]
&gt; ERROR:
&gt; Source/WebKit2/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
&gt; 43:  std::literals::chrono_literals is incorrectly named. Don&apos;t use
&gt; underscores in your identifier names.  [readability/naming/underscores] [4]
&gt; ERROR: Source/WebKit2/UIProcess/ViewGestureController.cpp:38: 
&gt; std::literals::chrono_literals is incorrectly named. Don&apos;t use underscores
&gt; in your identifier names.  [readability/naming/underscores] [4]
&gt; Total errors found: 8 in 25 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against
&gt; check-webkit-style.

Yup. False positive. Filed https://bugs.webkit.org/show_bug.cgi?id=157969</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195339</commentid>
    <comment_count>8</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-20 22:20:03 -0700</bug_when>
    <thetext>I realize now that instead of sprinkling &apos;using namespace std::literals::chrono_literals&apos; everywhere it&apos;s needed, it&apos;ll be better to change StdLibExtras.h to include &lt;chrono&gt; and then keep the &apos;using namespace...&apos;

I&apos;ll still let this patch run it&apos;s course on EWS before updating later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195353</commentid>
    <comment_count>9</comment_count>
      <attachid>279541</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-21 08:12:02 -0700</bug_when>
    <thetext>Created attachment 279541
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195361</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-21 10:33:10 -0700</bug_when>
    <thetext>Awesome :) looking forward to using some of the new things in C++14!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195382</commentid>
    <comment_count>11</comment_count>
      <attachid>279541</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-05-21 17:40:02 -0700</bug_when>
    <thetext>Comment on attachment 279541
Patch

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

This looks good to me.  I&apos;d prefer someone like Anders give the final green light.

&gt; Source/cmake/OptionsCommon.cmake:32
&gt; +    set(CMAKE_CXX_FLAGS &quot;${CMAKE_CXX_FLAGS} -std=c++1y&quot;)

https://gcc.gnu.org/onlinedocs/gcc-4.9.3/gcc/C-Dialect-Options.html says this was experimental, and -std=c++14 does not exist.
https://gcc.gnu.org/onlinedocs/gcc-5.2.0/gcc/C-Dialect-Options.html says this is deprecated in favor of -std=c++14.  Linux folks should be aware of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195387</commentid>
    <comment_count>12</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-21 18:39:50 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Comment on attachment 279541 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=279541&amp;action=review
&gt; 
&gt; This looks good to me.  I&apos;d prefer someone like Anders give the final green
&gt; light.
&gt; 
&gt; &gt; Source/cmake/OptionsCommon.cmake:32
&gt; &gt; +    set(CMAKE_CXX_FLAGS &quot;${CMAKE_CXX_FLAGS} -std=c++1y&quot;)
&gt; 
&gt; https://gcc.gnu.org/onlinedocs/gcc-4.9.3/gcc/C-Dialect-Options.html says
&gt; this was experimental, and -std=c++14 does not exist.
&gt; https://gcc.gnu.org/onlinedocs/gcc-5.2.0/gcc/C-Dialect-Options.html says
&gt; this is deprecated in favor of -std=c++14.  Linux folks should be aware of
&gt; this.

We have to use c++1y because c++14 doesn&apos;t exist in our bare minimum compiler of 4.9.0.

The bots taught me this (yay, useful bots!)

It should be fine; c++1y is automatically upgraded to c++14 on newer GCC where it&apos;s supported.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195405</commentid>
    <comment_count>13</comment_count>
      <attachid>279541</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-05-21 21:00:18 -0700</bug_when>
    <thetext>Comment on attachment 279541
Patch

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

Wasn&apos;t expecting the Linux bots to handle this. Cool.

One possible problem: what about the Windows build? You changed Xcode, and CMake with GCC or Clang, but what about CMake with Visual Studio?

&gt;&gt;&gt; Source/cmake/OptionsCommon.cmake:32
&gt;&gt;&gt; +    set(CMAKE_CXX_FLAGS &quot;${CMAKE_CXX_FLAGS} -std=c++1y&quot;)
&gt;&gt; 
&gt;&gt; https://gcc.gnu.org/onlinedocs/gcc-4.9.3/gcc/C-Dialect-Options.html says this was experimental, and -std=c++14 does not exist.
&gt;&gt; https://gcc.gnu.org/onlinedocs/gcc-5.2.0/gcc/C-Dialect-Options.html says this is deprecated in favor of -std=c++14.  Linux folks should be aware of this.
&gt; 
&gt; We have to use c++1y because c++14 doesn&apos;t exist in our bare minimum compiler of 4.9.0.
&gt; 
&gt; The bots taught me this (yay, useful bots!)
&gt; 
&gt; It should be fine; c++1y is automatically upgraded to c++14 on newer GCC where it&apos;s supported.

(In reply to comment #12)
&gt; We have to use c++1y because c++14 doesn&apos;t exist in our bare minimum
&gt; compiler of 4.9.0.

Yes, this is fine. When GCC 4.9 was released, the standard had not been ratified yet and it could have turned into C++15 or something.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195406</commentid>
    <comment_count>14</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-21 21:27:30 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Comment on attachment 279541 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=279541&amp;action=review
&gt; 
&gt; Wasn&apos;t expecting the Linux bots to handle this. Cool.
&gt; 
&gt; One possible problem: what about the Windows build? You changed Xcode, and
&gt; CMake with GCC or Clang, but what about CMake with Visual Studio?

That&apos;s a good question.

I kinda figured OptionsCommon.cmake covered Windows, and kinda assumed I was right because Windows EWS built fine.

I just confirmed that one of the changed files is included in the AppleWin build:
Source/WebCore/platform/graphics/cg/IOSurfacePool.cpp

It definitely uses C++14 today, and therefore since Windows EWS passed, I assumed VS2015 picked up the change somehow.

But, the entire file is behind the &quot;#if USE(IOSURFACE)&quot; guard, and it&apos;s possible that&apos;s not enabled on windows.

Alex is one of the windows cmake guru&apos;s and signed off... I&apos;ll make sure Brent takes a look, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195407</commentid>
    <comment_count>15</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-21 21:33:19 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; But, the entire file is behind the &quot;#if USE(IOSURFACE)&quot; guard, and it&apos;s
&gt; possible that&apos;s not enabled on windows.

$ grep -ri IOSURFACE . | grep -v ChangeLog
...
./WebCore/PlatformAppleWin.cmake:add_definitions(-DQUARTZCORE_DLL -DDISABLE_COREIMAGE -DDISABLE_FRONTEND -DDISABLE_IOSURFACE -DDISABLE_RENDERSERVER

So, indeed, it appears this code is not enabled on Windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195408</commentid>
    <comment_count>16</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-21 21:34:42 -0700</bug_when>
    <thetext>In fact, Windows EWS even liked the very first patch, which shouldn&apos;t have worked for anybody.

So it seems unlikely I&apos;ve affected windows.

Will wait until we get the word from an expert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195409</commentid>
    <comment_count>17</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-21 21:35:52 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; In fact, Windows EWS even liked the very first patch, which shouldn&apos;t have
&gt; worked for anybody.
&gt; 
&gt; So it seems unlikely I&apos;ve affected windows.

Or, at least, we have no actual way of knowing yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195410</commentid>
    <comment_count>18</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-21 22:05:02 -0700</bug_when>
    <thetext>In email, Brent says this is fine.

He also volunteered both himself and Alex to fix anything if that doesn&apos;t work out. :)

But, to be nice, I&apos;ll land it tomorrow morning instead of late on a Saturday night.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195411</commentid>
    <comment_count>19</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-05-21 22:07:28 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; But, to be nice, I&apos;ll land it tomorrow morning instead of late on a Saturday
&gt; night.

As you are well aware, since it is Saturday night, that automatically makes it all right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195412</commentid>
    <comment_count>20</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-21 22:09:18 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (In reply to comment #18)
&gt; &gt; But, to be nice, I&apos;ll land it tomorrow morning instead of late on a Saturday
&gt; &gt; night.
&gt; 
&gt; As you are well aware, since it is Saturday night, that automatically makes
&gt; it all right.

RIP, P.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195413</commentid>
    <comment_count>21</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-05-21 22:10:09 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; (In reply to comment #19)
&gt; &gt; (In reply to comment #18)
&gt; &gt; &gt; But, to be nice, I&apos;ll land it tomorrow morning instead of late on a Saturday
&gt; &gt; &gt; night.
&gt; &gt; 
&gt; &gt; As you are well aware, since it is Saturday night, that automatically makes
&gt; &gt; it all right.
&gt; 
&gt; RIP, P.

:-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195435</commentid>
    <comment_count>22</comment_count>
      <attachid>279541</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-22 13:08:52 -0700</bug_when>
    <thetext>Comment on attachment 279541
Patch

Clearing flags on attachment: 279541

Committed r201255: &lt;http://trac.webkit.org/changeset/201255&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195436</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-22 13:08:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195442</commentid>
    <comment_count>24</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-22 14:29:25 -0700</bug_when>
    <thetext>This somehow broke the Yosemite build:
https://build.webkit.org/builders/Apple%20Yosemite%20Release%20%28Build%29/builds/15433/steps/compile-webkit/logs/stdio


In file included from /Volumes/Data/slave/yosemite-release/build/Source/JavaScriptCore/b3/B3MathExtras.cpp:32:
/Volumes/Data/slave/yosemite-release/build/Source/JavaScriptCore/b3/B3CCallValue.h:42:23: error: no viable conversion from &apos;JSC::B3::Effects&apos; to &apos;bool&apos;
    Effects effects { Effects::forCall() };
/Volumes/Data/slave/yosemite-release/build/Source/JavaScriptCore/b3/B3CCallValue.h:42:42: error: missing field &apos;writes&apos; initializer [-Werror,-Wmissing-field-initializers]
    Effects effects { Effects::forCall() };

Though it&apos;s not clear why/how.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195443</commentid>
    <comment_count>25</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-22 14:31:53 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; This somehow broke the Yosemite build:
&gt; https://build.webkit.org/builders/Apple%20Yosemite%20Release%20%28Build%29/
&gt; builds/15433/steps/compile-webkit/logs/stdio
&gt; 
&gt; 
&gt; In file included from
&gt; /Volumes/Data/slave/yosemite-release/build/Source/JavaScriptCore/b3/
&gt; B3MathExtras.cpp:32:
&gt; /Volumes/Data/slave/yosemite-release/build/Source/JavaScriptCore/b3/
&gt; B3CCallValue.h:42:23: error: no viable conversion from &apos;JSC::B3::Effects&apos; to
&gt; &apos;bool&apos;
&gt;     Effects effects { Effects::forCall() };
&gt; /Volumes/Data/slave/yosemite-release/build/Source/JavaScriptCore/b3/
&gt; B3CCallValue.h:42:42: error: missing field &apos;writes&apos; initializer
&gt; [-Werror,-Wmissing-field-initializers]
&gt;     Effects effects { Effects::forCall() };
&gt; 
&gt; Though it&apos;s not clear why/how.

I&apos;m not clear on the mechanism by which this ever worked - Effects is a struct without any obvious operator to bool.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195444</commentid>
    <comment_count>26</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-22 14:34:39 -0700</bug_when>
    <thetext>Yosemite 32 bit built fine with r201255, which is where this patch landed.

Yet 64 bits show this issue with r201256, which was a minimal followup.

I&apos;m perplexed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195446</commentid>
    <comment_count>27</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-22 15:02:08 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; This somehow broke the Yosemite build:
&gt; https://build.webkit.org/builders/Apple%20Yosemite%20Release%20%28Build%29/
&gt; builds/15433/steps/compile-webkit/logs/stdio
&gt; 
&gt; 
&gt; In file included from
&gt; /Volumes/Data/slave/yosemite-release/build/Source/JavaScriptCore/b3/
&gt; B3MathExtras.cpp:32:
&gt; /Volumes/Data/slave/yosemite-release/build/Source/JavaScriptCore/b3/
&gt; B3CCallValue.h:42:23: error: no viable conversion from &apos;JSC::B3::Effects&apos; to
&gt; &apos;bool&apos;
&gt;     Effects effects { Effects::forCall() };

This doesn&apos;t make any sense, because I&apos;m not sure where there&apos;s an attempt to use an Effects object as a bool.

&gt; /Volumes/Data/slave/yosemite-release/build/Source/JavaScriptCore/b3/
&gt; B3CCallValue.h:42:42: error: missing field &apos;writes&apos; initializer
&gt; [-Werror,-Wmissing-field-initializers]
&gt;     Effects effects { Effects::forCall() };

This doesn&apos;t make any sense, because the Effects object created in Effects::forCall() is fully initialized, including in the writes member, which is a class with a default constructor!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195447</commentid>
    <comment_count>28</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-22 15:21:18 -0700</bug_when>
    <thetext>Attempted Yosemite build fix suggested by Anders, landed in http://trac.webkit.org/changeset/201259</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195451</commentid>
    <comment_count>29</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-05-22 15:35:52 -0700</bug_when>
    <thetext>(In reply to comment #28)
&gt; Attempted Yosemite build fix suggested by Anders, landed in
&gt; http://trac.webkit.org/changeset/201259

Following stdio on that bot&apos;s current build attempt, it&apos;s definitely got past JSC, so that worked.

I look forward to seeing it go green in a few dozen minutes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195520</commentid>
    <comment_count>30</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2016-05-23 10:38:04 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; One possible problem: what about the Windows build? You changed Xcode, and
&gt; CMake with GCC or Clang, but what about CMake with Visual Studio?
I think that just the fact that we require the use of VS2015 implies that we automatically get all the c++11 and c++14 support that VS2015 has.  If I&apos;m wrong, then I&apos;ll fix anything that comes up as a result of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195829</commentid>
    <comment_count>31</comment_count>
    <who name="Adrien Plazas">aplazas</who>
    <bug_when>2016-05-24 06:38:20 -0700</bug_when>
    <thetext>Since Monday the 22nd I have this error when compiling WebKitGTK+ on Linux:
error: ../../Source/WebKit2/NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp:64: error: undefined reference to &apos;WebKit::NetworkCache::Data::~Data()&apos;

No idea if it helps, but the problem may be related to this switch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195835</commentid>
    <comment_count>32</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-24 07:23:22 -0700</bug_when>
    <thetext>(In reply to comment #31)
&gt; Since Monday the 22nd I have this error when compiling WebKitGTK+ on Linux:
&gt; error:
&gt; ../../Source/WebKit2/NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp:
&gt; 64: error: undefined reference to &apos;WebKit::NetworkCache::Data::~Data()&apos;
&gt; 
&gt; No idea if it helps, but the problem may be related to this switch.

Network cache speculative loading was very recently turned on on GTK port as well. I think this is why you are seeing this compilation error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195836</commentid>
    <comment_count>33</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-24 07:24:21 -0700</bug_when>
    <thetext>(In reply to comment #32)
&gt; (In reply to comment #31)
&gt; &gt; Since Monday the 22nd I have this error when compiling WebKitGTK+ on Linux:
&gt; &gt; error:
&gt; &gt; ../../Source/WebKit2/NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp:
&gt; &gt; 64: error: undefined reference to &apos;WebKit::NetworkCache::Data::~Data()&apos;
&gt; &gt; 
&gt; &gt; No idea if it helps, but the problem may be related to this switch.
&gt; 
&gt; Network cache speculative loading was very recently turned on on GTK port as
&gt; well. I think this is why you are seeing this compilation error.

See https://bugs.webkit.org/show_bug.cgi?id=157125</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>279515</attachid>
            <date>2016-05-20 16:43:31 -0700</date>
            <delta_ts>2016-05-20 17:04:31 -0700</delta_ts>
            <desc>Blind swipe at EWS</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>14885</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9CYXNlLnhj
Y29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25m
aWcKaW5kZXggMDA0NjAyZi4uMTgzYTZmOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTI4LDcgKzI4LDcgQEAgVVNFX0lO
VEVSTkFMX1NES19Qcm9kdWN0aW9uID0gWUVTOwogVVNFX0lOVEVSTkFMX1NES19EZWJ1ZyA9ICQo
SEFWRV9JTlRFUk5BTF9TREspOwogVVNFX0lOVEVSTkFMX1NES19SZWxlYXNlID0gJChIQVZFX0lO
VEVSTkFMX1NESyk7CiAKLUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMHg7CitD
TEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzE0OwogQ0xBTkdfQ1hYX0xJQlJBUlkg
PSBsaWJjKys7CiBDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsKIENMQU5HX1dBUk5f
Q09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmluZGV4IDM3MjNhYTcuLjRmOTI1NWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0Jhc2Uu
eGNjb25maWcKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvQmFz
ZS54Y2NvbmZpZwpAQCAtNSw3ICs1LDcgQEAgVVNFX0lOVEVSTkFMX1NES19Qcm9kdWN0aW9uID0g
WUVTOwogVVNFX0lOVEVSTkFMX1NES19EZWJ1ZyA9ICQoSEFWRV9JTlRFUk5BTF9TREspOwogVVNF
X0lOVEVSTkFMX1NES19SZWxlYXNlID0gJChIQVZFX0lOVEVSTkFMX1NESyk7CiAKLUNMQU5HX0NY
WF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMHg7CitDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRB
UkQgPSBnbnUrKzE0OwogQ0xBTkdfQ1hYX0xJQlJBUlkgPSBsaWJjKys7CiBDTEFOR19XQVJOX0JP
T0xfQ09OVkVSU0lPTiA9IFlFUzsKIENMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlF
UzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L3hjb2RlL0NvbmZpZy9HZW5l
cmFsLnhjY29uZmlnIGIvU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QveGNvZGUvQ29uZmlnL0dlbmVy
YWwueGNjb25maWcKaW5kZXggNzE4ZDJjYy4uZDg3NjNkNiAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvZ3Rlc3QveGNvZGUvQ29uZmlnL0dlbmVyYWwueGNjb25maWcKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvZ3Rlc3QveGNvZGUvQ29uZmlnL0dlbmVyYWwueGNjb25maWcKQEAgLTQ5LDgg
KzQ5LDggQEAgU0VQQVJBVEVfU1RSSVAgPSBZRVMKIC8vIEZvcmNlIEM5OSBkaWFsZWN0CiBHQ0Nf
Q19MQU5HVUFHRV9TVEFOREFSRCA9IGM5OQogCi0vLyBGb3JjZSBDKysxMQotQ0xBTkdfQ1hYX0xB
TkdVQUdFX1NUQU5EQVJEID0gZ251KysweDsKKy8vIEZvcmNlIEMrKzE0CitDTEFOR19DWFhfTEFO
R1VBR0VfU1RBTkRBUkQgPSBnbnUrKzE0OwogCiAvLyBub3Qgc3VyZSB3aHkgYXBwbGUgZGVmYXVs
dHMgdGhpcyBvbiwgYnV0IGl0J3MgcHJldHR5IHJpc2t5CiBBTFdBWVNfU0VBUkNIX1VTRVJfUEFU
SFMgPSBOTwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29u
ZmlnIGIvU291cmNlL1dURi9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmluZGV4IDNlMTli
MzcuLjlhZmQyOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ29uZmlndXJhdGlvbnMvQmFzZS54
Y2NvbmZpZworKysgYi9Tb3VyY2UvV1RGL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAg
LTI4LDcgKzI4LDcgQEAgVVNFX0lOVEVSTkFMX1NES19Qcm9kdWN0aW9uID0gWUVTOwogVVNFX0lO
VEVSTkFMX1NES19EZWJ1ZyA9ICQoSEFWRV9JTlRFUk5BTF9TREspOwogVVNFX0lOVEVSTkFMX1NE
S19SZWxlYXNlID0gJChIQVZFX0lOVEVSTkFMX1NESyk7CiAKLUNMQU5HX0NYWF9MQU5HVUFHRV9T
VEFOREFSRCA9IGdudSsrMHg7CitDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzE0
OwogQ0xBTkdfQ1hYX0xJQlJBUlkgPSBsaWJjKys7CiBDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lP
TiA9IFlFUzsKIENMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL1N0ZExpYkV4dHJhcy5oIGIvU291cmNlL1dURi93dGYvU3RkTGli
RXh0cmFzLmgKaW5kZXggYjEyMGMyNi4uZTcwZjQ0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvU3RkTGliRXh0cmFzLmgKKysrIGIvU291cmNlL1dURi93dGYvU3RkTGliRXh0cmFzLmgKQEAg
LTMyMCw4NiArMzIwLDYgQEAgaW5saW5lIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3QsIE5vdE51
bGxUYWcsIHZvaWQqIGxvY2F0aW9uKQogCiAvLyBUaGlzIGFkZHMgdmFyaW91cyBDKysxNCBmZWF0
dXJlcyBmb3IgdmVyc2lvbnMgb2YgdGhlIFNUTCB0aGF0IG1heSBub3QgeWV0IGhhdmUgdGhlbS4K
IG5hbWVzcGFjZSBzdGQgewotLy8gTVNWQyAyMDEzIHN1cHBvcnRzIHN0ZDo6bWFrZV91bmlxdWUg
YWxyZWFkeS4KLSNpZiAhZGVmaW5lZChfTVNDX1ZFUikgfHwgX01TQ19WRVIgPCAxODAwCi10ZW1w
bGF0ZTxjbGFzcyBUPiBzdHJ1Y3QgX1VuaXF1ZV9pZiB7Ci0gICAgdHlwZWRlZiB1bmlxdWVfcHRy
PFQ+IF9TaW5nbGVfb2JqZWN0OwotfTsKLQotdGVtcGxhdGU8Y2xhc3MgVD4gc3RydWN0IF9Vbmlx
dWVfaWY8VFtdPiB7Ci0gICAgdHlwZWRlZiB1bmlxdWVfcHRyPFRbXT4gX1Vua25vd25fYm91bmQ7
Ci19OwotCi10ZW1wbGF0ZTxjbGFzcyBULCBzaXplX3QgTj4gc3RydWN0IF9VbmlxdWVfaWY8VFtO
XT4gewotICAgIHR5cGVkZWYgdm9pZCBfS25vd25fYm91bmQ7Ci19OwotCi10ZW1wbGF0ZTxjbGFz
cyBULCBjbGFzcy4uLiBBcmdzPiBpbmxpbmUgdHlwZW5hbWUgX1VuaXF1ZV9pZjxUPjo6X1Npbmds
ZV9vYmplY3QKLW1ha2VfdW5pcXVlKEFyZ3MmJi4uLiBhcmdzKQotewotICAgIHJldHVybiB1bmlx
dWVfcHRyPFQ+KG5ldyBUKHN0ZDo6Zm9yd2FyZDxBcmdzPihhcmdzKS4uLikpOwotfQotCi10ZW1w
bGF0ZTxjbGFzcyBUPiBpbmxpbmUgdHlwZW5hbWUgX1VuaXF1ZV9pZjxUPjo6X1Vua25vd25fYm91
bmQKLW1ha2VfdW5pcXVlKHNpemVfdCBuKQotewotICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVtb3Zl
X2V4dGVudDxUPjo6dHlwZSBVOwotICAgIHJldHVybiB1bmlxdWVfcHRyPFQ+KG5ldyBVW25dKCkp
OwotfQotCi10ZW1wbGF0ZTxjbGFzcyBULCBjbGFzcy4uLiBBcmdzPiB0eXBlbmFtZSBfVW5pcXVl
X2lmPFQ+OjpfS25vd25fYm91bmQKLW1ha2VfdW5pcXVlKEFyZ3MmJi4uLikgPSBkZWxldGU7Ci0j
ZW5kaWYKLQotLy8gTVNWQyAyMDE1IHN1cHBvcnRzIHRoZXNlIGZ1bmN0aW9ucy4KLSNpZiAhQ09N
UElMRVIoTVNWQykgfHwgX01TQ19WRVIgPCAxOTAwCi0vLyBDb21waWxlLXRpbWUgaW50ZWdlciBz
ZXF1ZW5jZXMKLS8vIGh0dHA6Ly93d3cub3Blbi1zdGQub3JnL2p0YzEvc2MyMi93ZzIxL2RvY3Mv
cGFwZXJzLzIwMTMvbjM2NTguaHRtbAotLy8gKE5vdGUgdGhhdCB3ZSBvbmx5IGltcGxlbWVudCBp
bmRleF9zZXF1ZW5jZSwgYW5kIG5vdCB0aGUgbW9yZSBnZW5lcmljIGludGVnZXJfc2VxdWVuY2Up
LgotdGVtcGxhdGU8c2l6ZV90Li4uIGluZGV4ZXM+IHN0cnVjdCBpbmRleF9zZXF1ZW5jZSB7Ci0g
ICAgc3RhdGljIHNpemVfdCBzaXplKCkgeyByZXR1cm4gc2l6ZW9mLi4uKGluZGV4ZXMpOyB9Ci19
OwotCi10ZW1wbGF0ZTxzaXplX3QgY3VycmVudEluZGV4LCBzaXplX3QuLi5pbmRleGVzPiBzdHJ1
Y3QgbWFrZV9pbmRleF9zZXF1ZW5jZV9oZWxwZXI7Ci0KLXRlbXBsYXRlPHNpemVfdC4uLmluZGV4
ZXM+IHN0cnVjdCBtYWtlX2luZGV4X3NlcXVlbmNlX2hlbHBlcjwwLCBpbmRleGVzLi4uPiB7Ci0g
ICAgdHlwZWRlZiBzdGQ6OmluZGV4X3NlcXVlbmNlPGluZGV4ZXMuLi4+IHR5cGU7Ci19OwotCi10
ZW1wbGF0ZTxzaXplX3QgY3VycmVudEluZGV4LCBzaXplX3QuLi5pbmRleGVzPiBzdHJ1Y3QgbWFr
ZV9pbmRleF9zZXF1ZW5jZV9oZWxwZXIgewotICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFrZV9pbmRl
eF9zZXF1ZW5jZV9oZWxwZXI8Y3VycmVudEluZGV4IC0gMSwgY3VycmVudEluZGV4IC0gMSwgaW5k
ZXhlcy4uLj46OnR5cGUgdHlwZTsKLX07Ci0KLXRlbXBsYXRlPHNpemVfdCBsZW5ndGg+IHN0cnVj
dCBtYWtlX2luZGV4X3NlcXVlbmNlIDogcHVibGljIG1ha2VfaW5kZXhfc2VxdWVuY2VfaGVscGVy
PGxlbmd0aD46OnR5cGUgeyB9OwotCi0vLyBzdGQ6OmV4Y2hhbmdlCi10ZW1wbGF0ZTxjbGFzcyBU
LCBjbGFzcyBVID0gVD4KLVQgZXhjaGFuZ2UoVCYgdCwgVSYmIG5ld1ZhbHVlKQotewotICAgIFQg
b2xkVmFsdWUgPSBzdGQ6Om1vdmUodCk7Ci0gICAgdCA9IHN0ZDo6Zm9yd2FyZDxVPihuZXdWYWx1
ZSk7Ci0KLSAgICByZXR1cm4gb2xkVmFsdWU7Ci19Ci0jZW5kaWYKLQotI2lmIENPTVBJTEVSX1NV
UFBPUlRTKENYWF9VU0VSX0xJVEVSQUxTKQotLy8gVGhlc2UgbGl0ZXJhbHMgYXJlIGF2YWlsYWJs
ZSBpbiBDKysxNCwgc28gb25jZSB3ZSByZXF1aXJlIEMrKzE0IGNvbXBpbGVycyB3ZSBjYW4gZ2V0
IHJpZCBvZiB0aGVtIGhlcmUuCi0vLyAoVXNlci1saXRlcmFscyBuZWVkIHRvIGhhdmUgYSBsZWFk
aW5nIHVuZGVyc2NvcmUgc28gd2UgYWRkIGl0IGhlcmUgLSB0aGUgInJlYWwiIGxpdGVyYWxzIGRv
bid0IGhhdmUgdW5kZXJzY29yZXMpLgotbmFtZXNwYWNlIGxpdGVyYWxzIHsKLW5hbWVzcGFjZSBj
aHJvbm9fbGl0ZXJhbHMgewotICAgIGNvbnN0ZXhwciBpbmxpbmUgY2hyb25vOjpzZWNvbmRzIG9w
ZXJhdG9yIiIgX3ModW5zaWduZWQgbG9uZyBsb25nIHMpCi0gICAgewotICAgICAgICByZXR1cm4g
Y2hyb25vOjpzZWNvbmRzKHN0YXRpY19jYXN0PGNocm9ubzo6c2Vjb25kczo6cmVwPihzKSk7Ci0g
ICAgfQotCi0gICAgY29uc3RleHByIGNocm9ubzo6bWlsbGlzZWNvbmRzIG9wZXJhdG9yIiIgX21z
KHVuc2lnbmVkIGxvbmcgbG9uZyBtcykKLSAgICB7Ci0gICAgICAgIHJldHVybiBjaHJvbm86Om1p
bGxpc2Vjb25kcyhzdGF0aWNfY2FzdDxjaHJvbm86Om1pbGxpc2Vjb25kczo6cmVwPihtcykpOwot
ICAgIH0KLX0KLX0KLSNlbmRpZgogCiB0ZW1wbGF0ZTxXVEY6OkNoZWNrTW92ZVBhcmFtZXRlclRh
ZywgdHlwZW5hbWUgVD4KIEFMV0FZU19JTkxJTkUgY29uc3RleHByIHR5cGVuYW1lIHJlbW92ZV9y
ZWZlcmVuY2U8VD46OnR5cGUmJiBtb3ZlKFQmJiB2YWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25m
aWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmluZGV4IGMwMWNmMWEuLmU0MDVhOTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvU291
cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpAQCAtMjgsNyArMjgsNyBA
QCBVU0VfSU5URVJOQUxfU0RLX1Byb2R1Y3Rpb24gPSBZRVM7CiBVU0VfSU5URVJOQUxfU0RLX0Rl
YnVnID0gJChIQVZFX0lOVEVSTkFMX1NESyk7CiBVU0VfSU5URVJOQUxfU0RLX1JlbGVhc2UgPSAk
KEhBVkVfSU5URVJOQUxfU0RLKTsKIAotQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251
KysweDsKK0NMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMTQ7CiBDTEFOR19DWFhf
TElCUkFSWSA9IGxpYmMrKzsKIENMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwogQ0xB
TkdfV0FSTl9DT05TVEFOVF9DT05WRVJTSU9OID0gWUVTOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwppbmRleCBjMWJlNWY3Li4xZWE0
MzVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ29uZmlndXJhdGlvbnMvQmFz
ZS54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ29uZmlndXJhdGlvbnMvQmFz
ZS54Y2NvbmZpZwpAQCAtMTAsNyArMTAsNyBAQCBERUFEX0NPREVfU1RSSVBQSU5HID0gWUVTOwog
REVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gZHdhcmYtd2l0aC1kc3ltOwogRlJBTUVXT1JLX1NF
QVJDSF9QQVRIUyA9ICQoV0tfUVVPVEVEX09WRVJSSURFX0ZSQU1FV09SS1NfRElSKSAkKFNZU1RF
TV9MSUJSQVJZX0RJUikvUHJpdmF0ZUZyYW1ld29ya3MgJChpbmhlcml0ZWQpOwogCi1DTEFOR19D
WFhfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzB4OworQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5E
QVJEID0gZ251KysxNDsKIENMQU5HX0NYWF9MSUJSQVJZID0gbGliYysrOwogQ0xBTkdfV0FSTl9C
T09MX0NPTlZFUlNJT04gPSBZRVM7CiBDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZFUlNJT04gPSBZ
RVM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9CYXNlLnhj
Y29uZmlnIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpp
bmRleCBmODk5OGVhLi42NTA2MjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25m
aWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3Vy
YXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTI4LDcgKzI4LDcgQEAgVVNFX0lOVEVSTkFMX1NES19Q
cm9kdWN0aW9uID0gWUVTOwogVVNFX0lOVEVSTkFMX1NES19EZWJ1ZyA9ICQoSEFWRV9JTlRFUk5B
TF9TREspOwogVVNFX0lOVEVSTkFMX1NES19SZWxlYXNlID0gJChIQVZFX0lOVEVSTkFMX1NESyk7
CiAKLUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMHg7CitDTEFOR19DWFhfTEFO
R1VBR0VfU1RBTkRBUkQgPSBnbnUrKzE0OwogQ0xBTkdfQ1hYX0xJQlJBUlkgPSBsaWJjKys7CiBD
TEFOR19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsKIENMQU5HX1dBUk5fQ09OU1RBTlRfQ09O
VkVSU0lPTiA9IFlFUzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25z
L0Jhc2UueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29u
ZmlnCmluZGV4IDBjMmY3M2EuLjA4YjJkOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0Nv
bmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJh
dGlvbnMvQmFzZS54Y2NvbmZpZwpAQCAtMjgsNyArMjgsNyBAQCBVU0VfSU5URVJOQUxfU0RLX1By
b2R1Y3Rpb24gPSBZRVM7CiBVU0VfSU5URVJOQUxfU0RLX0RlYnVnID0gJChIQVZFX0lOVEVSTkFM
X1NESyk7CiBVU0VfSU5URVJOQUxfU0RLX1JlbGVhc2UgPSAkKEhBVkVfSU5URVJOQUxfU0RLKTsK
IAotQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251KysweDsKK0NMQU5HX0NYWF9MQU5H
VUFHRV9TVEFOREFSRCA9IGdudSsrMTQ7CiBDTEFOR19DWFhfTElCUkFSWSA9IGxpYmMrKzsKIENM
QU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwogQ0xBTkdfV0FSTl9DT05TVEFOVF9DT05W
RVJTSU9OID0gWUVTOwpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvQ29uZmlndXJhdGlvbnMv
QmFzZS54Y2NvbmZpZyBiL1NvdXJjZS9ibWFsbG9jL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25m
aWcKaW5kZXggZWUzNzU4ZS4uMmE1NzlkMyAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvQ29u
ZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZworKysgYi9Tb3VyY2UvYm1hbGxvYy9Db25maWd1cmF0
aW9ucy9CYXNlLnhjY29uZmlnCkBAIC0yOCw3ICsyOCw3IEBAIFVTRV9JTlRFUk5BTF9TREtfUHJv
ZHVjdGlvbiA9IFlFUzsKIFVTRV9JTlRFUk5BTF9TREtfRGVidWcgPSAkKEhBVkVfSU5URVJOQUxf
U0RLKTsKIFVTRV9JTlRFUk5BTF9TREtfUmVsZWFzZSA9ICQoSEFWRV9JTlRFUk5BTF9TREspOwog
Ci1DTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzB4OworQ0xBTkdfQ1hYX0xBTkdV
QUdFX1NUQU5EQVJEID0gZ251KysxNDsKIENMQU5HX0NYWF9MSUJSQVJZID0gbGliYysrOwogQ0xB
TkdfV0FSTl9CT09MX0NPTlZFUlNJT04gPSBZRVM7CiBDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZF
UlNJT04gPSBZRVM7CmRpZmYgLS1naXQgYS9Ub29scy9Db250ZW50RXh0ZW5zaW9uVGVzdGVyL0Nv
bmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcgYi9Ub29scy9Db250ZW50RXh0ZW5zaW9uVGVzdGVy
L0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggMzdkZmU0Ny4uODMyZDBjNiAxMDA2
NDQKLS0tIGEvVG9vbHMvQ29udGVudEV4dGVuc2lvblRlc3Rlci9Db25maWd1cmF0aW9ucy9CYXNl
LnhjY29uZmlnCisrKyBiL1Rvb2xzL0NvbnRlbnRFeHRlbnNpb25UZXN0ZXIvQ29uZmlndXJhdGlv
bnMvQmFzZS54Y2NvbmZpZwpAQCAtMjgsNyArMjgsNyBAQCBVU0VfSU5URVJOQUxfU0RLX1Byb2R1
Y3Rpb24gPSBZRVM7CiBVU0VfSU5URVJOQUxfU0RLX0RlYnVnID0gJChIQVZFX0lOVEVSTkFMX1NE
Syk7CiBVU0VfSU5URVJOQUxfU0RLX1JlbGVhc2UgPSAkKEhBVkVfSU5URVJOQUxfU0RLKTsKIAot
Q0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251KysweDsKK0NMQU5HX0NYWF9MQU5HVUFH
RV9TVEFOREFSRCA9IGdudSsrMTQ7CiBDTEFOR19DWFhfTElCUkFSWSA9IGxpYmMrKzsKIENMQU5H
X1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwogQ0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJT
SU9OID0gWUVTOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0NvbmZpZ3Vy
YXRpb25zL0Jhc2UueGNjb25maWcgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQ29uZmlndXJh
dGlvbnMvQmFzZS54Y2NvbmZpZwppbmRleCA1YTE5ZTYzLi5iODFlNWM4IDEwMDY0NAotLS0gYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZworKysg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpA
QCAtMjgsNyArMjgsNyBAQCBVU0VfSU5URVJOQUxfU0RLX1Byb2R1Y3Rpb24gPSBZRVM7CiBVU0Vf
SU5URVJOQUxfU0RLX0RlYnVnID0gJChIQVZFX0lOVEVSTkFMX1NESyk7CiBVU0VfSU5URVJOQUxf
U0RLX1JlbGVhc2UgPSAkKEhBVkVfSU5URVJOQUxfU0RLKTsKIAotQ0xBTkdfQ1hYX0xBTkdVQUdF
X1NUQU5EQVJEID0gZ251KysweDsKK0NMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsr
MTQ7CiBDTEFOR19DWFhfTElCUkFSWSA9IGxpYmMrKzsKIENMQU5HX1dBUk5fQ1hYMFhfRVhURU5T
SU9OUyA9IE5POwogSEVBREVSX1NFQVJDSF9QQVRIUyA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS91
c3IvbG9jYWwvaW5jbHVkZSAkKEJVSUxUX1BST0RVQ1RTX0RJUikvV2ViQ29yZVRlc3RTdXBwb3J0
IEZvcndhcmRpbmdIZWFkZXJzICQoUExBVEZPUk1fSEVBREVSX1NFQVJDSF9QQVRIUykgJChTUkNS
T09UKS8uLi8uLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1OwpkaWZmIC0tZ2l0IGEvVG9vbHMv
Rm9udFdpdGhGZWF0dXJlcy9Gb250V2l0aEZlYXR1cmVzLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Ub29scy9Gb250V2l0aEZlYXR1cmVzL0ZvbnRXaXRoRmVhdHVyZXMueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCA0MWM3NGJjLi4zY2RiNGM1IDEwMDY0NAotLS0gYS9Ub29scy9G
b250V2l0aEZlYXR1cmVzL0ZvbnRXaXRoRmVhdHVyZXMueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Ub29scy9Gb250V2l0aEZlYXR1cmVzL0ZvbnRXaXRoRmVhdHVyZXMueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMTU1LDcgKzE1NSw3IEBACiAJCQlpc2EgPSBYQ0J1aWxkQ29u
ZmlndXJhdGlvbjsKIAkJCWJ1aWxkU2V0dGluZ3MgPSB7CiAJCQkJQUxXQVlTX1NFQVJDSF9VU0VS
X1BBVEhTID0gTk87Ci0JCQkJQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gImdudSsrMHgi
OworICAgICAgICAgICAgICAgIENMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzE0
IjsKIAkJCQlDTEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOwogCQkJCUNMQU5HX0VOQUJMRV9N
T0RVTEVTID0gWUVTOwogCQkJCUNMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0xheW91dFRlc3RSZWxheS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnIGIv
VG9vbHMvTGF5b3V0VGVzdFJlbGF5L0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXgg
ZjBmYzJhNS4uMTM5YTdiOCAxMDA2NDQKLS0tIGEvVG9vbHMvTGF5b3V0VGVzdFJlbGF5L0NvbmZp
Z3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvVG9vbHMvTGF5b3V0VGVzdFJlbGF5L0NvbmZp
Z3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTI4LDcgKzI4LDcgQEAgVVNFX0lOVEVSTkFMX1NE
S19Qcm9kdWN0aW9uID0gWUVTOwogVVNFX0lOVEVSTkFMX1NES19EZWJ1ZyA9ICQoSEFWRV9JTlRF
Uk5BTF9TREspOwogVVNFX0lOVEVSTkFMX1NES19SZWxlYXNlID0gJChIQVZFX0lOVEVSTkFMX1NE
Syk7CiAKLUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMHg7CitDTEFOR19DWFhf
TEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzE0OwogQ0xBTkdfRU5BQkxFX09CSkNfQVJDID0gWUVT
OwogQ0xBTkdfV0FSTl9DWFgwWF9FWFRFTlNJT05TID0gTk87CiBIRUFERVJfU0VBUkNIX1BBVEhT
ID0gJChCVUlMVF9QUk9EVUNUU19ESVIpL3Vzci9sb2NhbC9pbmNsdWRlICQoV0VCQ09SRV9QUklW
QVRFX0hFQURFUlNfRElSKS9Gb3J3YXJkaW5nSGVhZGVycyAkKFNSQ1JPT1QpLy4uLy4uL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pY3UgJChORVhUX1JPT1QpL3Vzci9sb2NhbC9pbmNsdWRlL1dlYkNv
cmVUZXN0U3VwcG9ydDsKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL0NvbmZpZ3VyYXRp
b25zL0Jhc2UueGNjb25maWcgYi9Ub29scy9NaW5pQnJvd3Nlci9Db25maWd1cmF0aW9ucy9CYXNl
LnhjY29uZmlnCmluZGV4IDc0M2FmYjkuLjYzZTg0MmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlC
cm93c2VyL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvVG9vbHMvTWluaUJyb3dz
ZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpAQCAtMjgsNyArMjgsNyBAQCBVU0VfSU5U
RVJOQUxfU0RLX1Byb2R1Y3Rpb24gPSBZRVM7CiBVU0VfSU5URVJOQUxfU0RLX0RlYnVnID0gJChI
QVZFX0lOVEVSTkFMX1NESyk7CiBVU0VfSU5URVJOQUxfU0RLX1JlbGVhc2UgPSAkKEhBVkVfSU5U
RVJOQUxfU0RLKTsKIAotQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251KysweDsKK0NM
QU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMTQ7CiBDTEFOR19DWFhfTElCUkFSWSA9
IGxpYmMrKzsKIERFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9IGR3YXJmLXdpdGgtZHN5bTsKIFBS
RUJJTkRJTkcgPSBOTwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0
aW9ucy9CYXNlLnhjY29uZmlnIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9C
YXNlLnhjY29uZmlnCmluZGV4IGUzYTQxNzAuLmMzYmJmYTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZworKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTI4LDcgKzI4LDcgQEAg
VVNFX0lOVEVSTkFMX1NES19Qcm9kdWN0aW9uID0gWUVTOwogVVNFX0lOVEVSTkFMX1NES19EZWJ1
ZyA9ICQoSEFWRV9JTlRFUk5BTF9TREspOwogVVNFX0lOVEVSTkFMX1NES19SZWxlYXNlID0gJChI
QVZFX0lOVEVSTkFMX1NESyk7CiAKLUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsr
MHg7CitDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzE0OwogQ0xBTkdfQ1hYX0xJ
QlJBUlkgPSBsaWJjKys7CiBDTEFOR19XQVJOX0NYWDBYX0VYVEVOU0lPTlMgPSBOTzsKIEhFQURF
Ul9TRUFSQ0hfUEFUSFMgPSAke0JVSUxUX1BST0RVQ1RTX0RJUn0vdXNyL2xvY2FsL2luY2x1ZGUg
JChXRUJDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIpL0ZvcndhcmRpbmdIZWFkZXJzICQoV0VCQ09S
RV9QUklWQVRFX0hFQURFUlNfRElSKS9pY3UgJChCVUlMVF9QUk9EVUNUU19ESVIpL1dlYkNvcmVU
ZXN0U3VwcG9ydDsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkVkaXRpbmdUZXN0ZXIvQ29uZmlndXJh
dGlvbnMvQmFzZS54Y2NvbmZpZyBiL1Rvb2xzL1dlYkVkaXRpbmdUZXN0ZXIvQ29uZmlndXJhdGlv
bnMvQmFzZS54Y2NvbmZpZwppbmRleCBiY2Q1ZmIwLi43ZmI0NDQ5IDEwMDY0NAotLS0gYS9Ub29s
cy9XZWJFZGl0aW5nVGVzdGVyL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvVG9v
bHMvV2ViRWRpdGluZ1Rlc3Rlci9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCkBAIC0yOCw3
ICsyOCw3IEBAIFVTRV9JTlRFUk5BTF9TREtfUHJvZHVjdGlvbiA9IFlFUzsKIFVTRV9JTlRFUk5B
TF9TREtfRGVidWcgPSAkKEhBVkVfSU5URVJOQUxfU0RLKTsKIFVTRV9JTlRFUk5BTF9TREtfUmVs
ZWFzZSA9ICQoSEFWRV9JTlRFUk5BTF9TREspOwogCi1DTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRB
UkQgPSBnbnUrKzB4OworQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251KysxNDsKIENM
QU5HX0NYWF9MSUJSQVJZID0gbGliYysrOwogREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gZHdh
cmYtd2l0aC1kc3ltOwogUFJFQklORElORyA9IE5PCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggYzM3OTFjZC4uNGE3MWVi
YSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Db25maWd1cmF0aW9ucy9CYXNl
LnhjY29uZmlnCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvQ29uZmlndXJhdGlvbnMvQmFz
ZS54Y2NvbmZpZwpAQCAtMjgsNyArMjgsNyBAQCBVU0VfSU5URVJOQUxfU0RLX1Byb2R1Y3Rpb24g
PSBZRVM7CiBVU0VfSU5URVJOQUxfU0RLX0RlYnVnID0gJChIQVZFX0lOVEVSTkFMX1NESyk7CiBV
U0VfSU5URVJOQUxfU0RLX1JlbGVhc2UgPSAkKEhBVkVfSU5URVJOQUxfU0RLKTsKIAotQ0xBTkdf
Q1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251KysweDsKK0NMQU5HX0NYWF9MQU5HVUFHRV9TVEFO
REFSRCA9IGdudSsrMTQ7CiBDTEFOR19DWFhfTElCUkFSWSA9IGxpYmMrKzsKIENMQU5HX1dBUk5f
Q1hYMFhfRVhURU5TSU9OUyA9IE5POwogSEVBREVSX1NFQVJDSF9QQVRIUyA9ICQoQlVJTFRfUFJP
RFVDVFNfRElSKS91c3IvbG9jYWwvaW5jbHVkZSAkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJ
UikvRm9yd2FyZGluZ0hlYWRlcnMgJChTUkNST09UKS8uLi8uLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaWN1ICQoTkVYVF9ST09UKS91c3IvbG9jYWwvaW5jbHVkZS9XZWJDb3JlVGVzdFN1cHBvcnQ7
CmRpZmYgLS1naXQgYS9Ub29scy9qc2MtY2xpL2pzYy1jbGkueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1Rvb2xzL2pzYy1jbGkvanNjLWNsaS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGUwNDMxZDMuLmJlYjAzM2MgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2pzYy1jbGkvanNjLWNsaS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL2pzYy1jbGkvanNjLWNsaS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMDQsNyArMjA0LDcgQEAKICAgICAgICAgICAgaXNh
ID0gWENCdWlsZENvbmZpZ3VyYXRpb247CiAgICAgICAgICAgIGJ1aWxkU2V0dGluZ3MgPSB7CiAg
ICAgICAgICAgICAgICBBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKLSAgICAgICAgICAg
ICAgIENMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzB4IjsKKyAgICAgICAgICAg
ICAgIENMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzE0IjsKICAgICAgICAgICAg
ICAgIENMQU5HX0NYWF9MSUJSQVJZID0gImxpYmMrKyI7CiAgICAgICAgICAgICAgICBDTEFOR19F
TkFCTEVfT0JKQ19BUkMgPSBZRVM7CiAgICAgICAgICAgICAgICBDTEFOR19XQVJOX0JPT0xfQ09O
VkVSU0lPTiA9IFlFUzsKQEAgLTI0MSw3ICsyNDEsNyBAQAogICAgICAgICAgICBpc2EgPSBYQ0J1
aWxkQ29uZmlndXJhdGlvbjsKICAgICAgICAgICAgYnVpbGRTZXR0aW5ncyA9IHsKICAgICAgICAg
ICAgICAgIEFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POwotICAgICAgICAgICAgICAgQ0xB
TkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gImdudSsrMHgiOworICAgICAgICAgICAgICAgQ0xB
TkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gImdudSsrMTQiOwogICAgICAgICAgICAgICAgQ0xB
TkdfQ1hYX0xJQlJBUlkgPSAibGliYysrIjsKICAgICAgICAgICAgICAgIENMQU5HX0VOQUJMRV9P
QkpDX0FSQyA9IFlFUzsKICAgICAgICAgICAgICAgIENMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9O
ID0gWUVTOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>279517</attachid>
            <date>2016-05-20 17:04:31 -0700</date>
            <delta_ts>2016-05-20 21:54:20 -0700</delta_ts>
            <desc>Slightly updated just so I can get this at home this weekend</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>15795</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9CYXNlLnhj
Y29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25m
aWcKaW5kZXggMDA0NjAyZi4uMTgzYTZmOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTI4LDcgKzI4LDcgQEAgVVNFX0lO
VEVSTkFMX1NES19Qcm9kdWN0aW9uID0gWUVTOwogVVNFX0lOVEVSTkFMX1NES19EZWJ1ZyA9ICQo
SEFWRV9JTlRFUk5BTF9TREspOwogVVNFX0lOVEVSTkFMX1NES19SZWxlYXNlID0gJChIQVZFX0lO
VEVSTkFMX1NESyk7CiAKLUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMHg7CitD
TEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzE0OwogQ0xBTkdfQ1hYX0xJQlJBUlkg
PSBsaWJjKys7CiBDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsKIENMQU5HX1dBUk5f
Q09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmluZGV4IDM3MjNhYTcuLjRmOTI1NWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0Jhc2Uu
eGNjb25maWcKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvQmFz
ZS54Y2NvbmZpZwpAQCAtNSw3ICs1LDcgQEAgVVNFX0lOVEVSTkFMX1NES19Qcm9kdWN0aW9uID0g
WUVTOwogVVNFX0lOVEVSTkFMX1NES19EZWJ1ZyA9ICQoSEFWRV9JTlRFUk5BTF9TREspOwogVVNF
X0lOVEVSTkFMX1NES19SZWxlYXNlID0gJChIQVZFX0lOVEVSTkFMX1NESyk7CiAKLUNMQU5HX0NY
WF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMHg7CitDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRB
UkQgPSBnbnUrKzE0OwogQ0xBTkdfQ1hYX0xJQlJBUlkgPSBsaWJjKys7CiBDTEFOR19XQVJOX0JP
T0xfQ09OVkVSU0lPTiA9IFlFUzsKIENMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlF
UzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L3hjb2RlL0NvbmZpZy9HZW5l
cmFsLnhjY29uZmlnIGIvU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QveGNvZGUvQ29uZmlnL0dlbmVy
YWwueGNjb25maWcKaW5kZXggNzE4ZDJjYy4uZDg3NjNkNiAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvZ3Rlc3QveGNvZGUvQ29uZmlnL0dlbmVyYWwueGNjb25maWcKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvZ3Rlc3QveGNvZGUvQ29uZmlnL0dlbmVyYWwueGNjb25maWcKQEAgLTQ5LDgg
KzQ5LDggQEAgU0VQQVJBVEVfU1RSSVAgPSBZRVMKIC8vIEZvcmNlIEM5OSBkaWFsZWN0CiBHQ0Nf
Q19MQU5HVUFHRV9TVEFOREFSRCA9IGM5OQogCi0vLyBGb3JjZSBDKysxMQotQ0xBTkdfQ1hYX0xB
TkdVQUdFX1NUQU5EQVJEID0gZ251KysweDsKKy8vIEZvcmNlIEMrKzE0CitDTEFOR19DWFhfTEFO
R1VBR0VfU1RBTkRBUkQgPSBnbnUrKzE0OwogCiAvLyBub3Qgc3VyZSB3aHkgYXBwbGUgZGVmYXVs
dHMgdGhpcyBvbiwgYnV0IGl0J3MgcHJldHR5IHJpc2t5CiBBTFdBWVNfU0VBUkNIX1VTRVJfUEFU
SFMgPSBOTwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29u
ZmlnIGIvU291cmNlL1dURi9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmluZGV4IDNlMTli
MzcuLjlhZmQyOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ29uZmlndXJhdGlvbnMvQmFzZS54
Y2NvbmZpZworKysgYi9Tb3VyY2UvV1RGL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAg
LTI4LDcgKzI4LDcgQEAgVVNFX0lOVEVSTkFMX1NES19Qcm9kdWN0aW9uID0gWUVTOwogVVNFX0lO
VEVSTkFMX1NES19EZWJ1ZyA9ICQoSEFWRV9JTlRFUk5BTF9TREspOwogVVNFX0lOVEVSTkFMX1NE
S19SZWxlYXNlID0gJChIQVZFX0lOVEVSTkFMX1NESyk7CiAKLUNMQU5HX0NYWF9MQU5HVUFHRV9T
VEFOREFSRCA9IGdudSsrMHg7CitDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzE0
OwogQ0xBTkdfQ1hYX0xJQlJBUlkgPSBsaWJjKys7CiBDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lP
TiA9IFlFUzsKIENMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL1N0ZExpYkV4dHJhcy5oIGIvU291cmNlL1dURi93dGYvU3RkTGli
RXh0cmFzLmgKaW5kZXggYjEyMGMyNi4uZDYxZTkyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvU3RkTGliRXh0cmFzLmgKKysrIGIvU291cmNlL1dURi93dGYvU3RkTGliRXh0cmFzLmgKQEAg
LTMyMCw4NiArMzIwLDYgQEAgaW5saW5lIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3QsIE5vdE51
bGxUYWcsIHZvaWQqIGxvY2F0aW9uKQogCiAvLyBUaGlzIGFkZHMgdmFyaW91cyBDKysxNCBmZWF0
dXJlcyBmb3IgdmVyc2lvbnMgb2YgdGhlIFNUTCB0aGF0IG1heSBub3QgeWV0IGhhdmUgdGhlbS4K
IG5hbWVzcGFjZSBzdGQgewotLy8gTVNWQyAyMDEzIHN1cHBvcnRzIHN0ZDo6bWFrZV91bmlxdWUg
YWxyZWFkeS4KLSNpZiAhZGVmaW5lZChfTVNDX1ZFUikgfHwgX01TQ19WRVIgPCAxODAwCi10ZW1w
bGF0ZTxjbGFzcyBUPiBzdHJ1Y3QgX1VuaXF1ZV9pZiB7Ci0gICAgdHlwZWRlZiB1bmlxdWVfcHRy
PFQ+IF9TaW5nbGVfb2JqZWN0OwotfTsKLQotdGVtcGxhdGU8Y2xhc3MgVD4gc3RydWN0IF9Vbmlx
dWVfaWY8VFtdPiB7Ci0gICAgdHlwZWRlZiB1bmlxdWVfcHRyPFRbXT4gX1Vua25vd25fYm91bmQ7
Ci19OwotCi10ZW1wbGF0ZTxjbGFzcyBULCBzaXplX3QgTj4gc3RydWN0IF9VbmlxdWVfaWY8VFtO
XT4gewotICAgIHR5cGVkZWYgdm9pZCBfS25vd25fYm91bmQ7Ci19OwotCi10ZW1wbGF0ZTxjbGFz
cyBULCBjbGFzcy4uLiBBcmdzPiBpbmxpbmUgdHlwZW5hbWUgX1VuaXF1ZV9pZjxUPjo6X1Npbmds
ZV9vYmplY3QKLW1ha2VfdW5pcXVlKEFyZ3MmJi4uLiBhcmdzKQotewotICAgIHJldHVybiB1bmlx
dWVfcHRyPFQ+KG5ldyBUKHN0ZDo6Zm9yd2FyZDxBcmdzPihhcmdzKS4uLikpOwotfQotCi10ZW1w
bGF0ZTxjbGFzcyBUPiBpbmxpbmUgdHlwZW5hbWUgX1VuaXF1ZV9pZjxUPjo6X1Vua25vd25fYm91
bmQKLW1ha2VfdW5pcXVlKHNpemVfdCBuKQotewotICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVtb3Zl
X2V4dGVudDxUPjo6dHlwZSBVOwotICAgIHJldHVybiB1bmlxdWVfcHRyPFQ+KG5ldyBVW25dKCkp
OwotfQotCi10ZW1wbGF0ZTxjbGFzcyBULCBjbGFzcy4uLiBBcmdzPiB0eXBlbmFtZSBfVW5pcXVl
X2lmPFQ+OjpfS25vd25fYm91bmQKLW1ha2VfdW5pcXVlKEFyZ3MmJi4uLikgPSBkZWxldGU7Ci0j
ZW5kaWYKLQotLy8gTVNWQyAyMDE1IHN1cHBvcnRzIHRoZXNlIGZ1bmN0aW9ucy4KLSNpZiAhQ09N
UElMRVIoTVNWQykgfHwgX01TQ19WRVIgPCAxOTAwCi0vLyBDb21waWxlLXRpbWUgaW50ZWdlciBz
ZXF1ZW5jZXMKLS8vIGh0dHA6Ly93d3cub3Blbi1zdGQub3JnL2p0YzEvc2MyMi93ZzIxL2RvY3Mv
cGFwZXJzLzIwMTMvbjM2NTguaHRtbAotLy8gKE5vdGUgdGhhdCB3ZSBvbmx5IGltcGxlbWVudCBp
bmRleF9zZXF1ZW5jZSwgYW5kIG5vdCB0aGUgbW9yZSBnZW5lcmljIGludGVnZXJfc2VxdWVuY2Up
LgotdGVtcGxhdGU8c2l6ZV90Li4uIGluZGV4ZXM+IHN0cnVjdCBpbmRleF9zZXF1ZW5jZSB7Ci0g
ICAgc3RhdGljIHNpemVfdCBzaXplKCkgeyByZXR1cm4gc2l6ZW9mLi4uKGluZGV4ZXMpOyB9Ci19
OwotCi10ZW1wbGF0ZTxzaXplX3QgY3VycmVudEluZGV4LCBzaXplX3QuLi5pbmRleGVzPiBzdHJ1
Y3QgbWFrZV9pbmRleF9zZXF1ZW5jZV9oZWxwZXI7Ci0KLXRlbXBsYXRlPHNpemVfdC4uLmluZGV4
ZXM+IHN0cnVjdCBtYWtlX2luZGV4X3NlcXVlbmNlX2hlbHBlcjwwLCBpbmRleGVzLi4uPiB7Ci0g
ICAgdHlwZWRlZiBzdGQ6OmluZGV4X3NlcXVlbmNlPGluZGV4ZXMuLi4+IHR5cGU7Ci19OwotCi10
ZW1wbGF0ZTxzaXplX3QgY3VycmVudEluZGV4LCBzaXplX3QuLi5pbmRleGVzPiBzdHJ1Y3QgbWFr
ZV9pbmRleF9zZXF1ZW5jZV9oZWxwZXIgewotICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFrZV9pbmRl
eF9zZXF1ZW5jZV9oZWxwZXI8Y3VycmVudEluZGV4IC0gMSwgY3VycmVudEluZGV4IC0gMSwgaW5k
ZXhlcy4uLj46OnR5cGUgdHlwZTsKLX07Ci0KLXRlbXBsYXRlPHNpemVfdCBsZW5ndGg+IHN0cnVj
dCBtYWtlX2luZGV4X3NlcXVlbmNlIDogcHVibGljIG1ha2VfaW5kZXhfc2VxdWVuY2VfaGVscGVy
PGxlbmd0aD46OnR5cGUgeyB9OwotCi0vLyBzdGQ6OmV4Y2hhbmdlCi10ZW1wbGF0ZTxjbGFzcyBU
LCBjbGFzcyBVID0gVD4KLVQgZXhjaGFuZ2UoVCYgdCwgVSYmIG5ld1ZhbHVlKQotewotICAgIFQg
b2xkVmFsdWUgPSBzdGQ6Om1vdmUodCk7Ci0gICAgdCA9IHN0ZDo6Zm9yd2FyZDxVPihuZXdWYWx1
ZSk7Ci0KLSAgICByZXR1cm4gb2xkVmFsdWU7Ci19Ci0jZW5kaWYKLQotI2lmIENPTVBJTEVSX1NV
UFBPUlRTKENYWF9VU0VSX0xJVEVSQUxTKQotLy8gVGhlc2UgbGl0ZXJhbHMgYXJlIGF2YWlsYWJs
ZSBpbiBDKysxNCwgc28gb25jZSB3ZSByZXF1aXJlIEMrKzE0IGNvbXBpbGVycyB3ZSBjYW4gZ2V0
IHJpZCBvZiB0aGVtIGhlcmUuCi0vLyAoVXNlci1saXRlcmFscyBuZWVkIHRvIGhhdmUgYSBsZWFk
aW5nIHVuZGVyc2NvcmUgc28gd2UgYWRkIGl0IGhlcmUgLSB0aGUgInJlYWwiIGxpdGVyYWxzIGRv
bid0IGhhdmUgdW5kZXJzY29yZXMpLgotbmFtZXNwYWNlIGxpdGVyYWxzIHsKLW5hbWVzcGFjZSBj
aHJvbm9fbGl0ZXJhbHMgewotICAgIGNvbnN0ZXhwciBpbmxpbmUgY2hyb25vOjpzZWNvbmRzIG9w
ZXJhdG9yIiIgX3ModW5zaWduZWQgbG9uZyBsb25nIHMpCi0gICAgewotICAgICAgICByZXR1cm4g
Y2hyb25vOjpzZWNvbmRzKHN0YXRpY19jYXN0PGNocm9ubzo6c2Vjb25kczo6cmVwPihzKSk7Ci0g
ICAgfQotCi0gICAgY29uc3RleHByIGNocm9ubzo6bWlsbGlzZWNvbmRzIG9wZXJhdG9yIiIgX21z
KHVuc2lnbmVkIGxvbmcgbG9uZyBtcykKLSAgICB7Ci0gICAgICAgIHJldHVybiBjaHJvbm86Om1p
bGxpc2Vjb25kcyhzdGF0aWNfY2FzdDxjaHJvbm86Om1pbGxpc2Vjb25kczo6cmVwPihtcykpOwot
ICAgIH0KLX0KLX0KLSNlbmRpZgogCiB0ZW1wbGF0ZTxXVEY6OkNoZWNrTW92ZVBhcmFtZXRlclRh
ZywgdHlwZW5hbWUgVD4KIEFMV0FZU19JTkxJTkUgY29uc3RleHByIHR5cGVuYW1lIHJlbW92ZV9y
ZWZlcmVuY2U8VD46OnR5cGUmJiBtb3ZlKFQmJiB2YWx1ZSkKQEAgLTQzMSw5ICszNTEsNCBAQCB1
c2luZyBXVEY6OmlzOEJ5dGVBbGlnbmVkOwogdXNpbmcgV1RGOjpzYWZlQ2FzdDsKIHVzaW5nIFdU
Rjo6dHJ5QmluYXJ5U2VhcmNoOwogCi0jaWYgQ09NUElMRVJfU1VQUE9SVFMoQ1hYX1VTRVJfTElU
RVJBTFMpCi0vLyBXZSBub3JtYWxseSBkb24ndCB3YW50IHRvIGJyaW5nIGluIGVudGlyZSBzdGQg
bmFtZXNwYWNlcywgYnV0IGxpdGVyYWxzIGFyZSBhbiBleGNlcHRpb24uCi11c2luZyBuYW1lc3Bh
Y2Ugc3RkOjpsaXRlcmFsczo6Y2hyb25vX2xpdGVyYWxzOwotI2VuZGlmCi0KICNlbmRpZiAvLyBX
VEZfU3RkTGliRXh0cmFzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRp
b25zL0Jhc2UueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9CYXNlLnhj
Y29uZmlnCmluZGV4IGMwMWNmMWEuLmU0MDVhOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmln
dXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpAQCAtMjgsNyArMjgsNyBAQCBVU0VfSU5URVJOQUxfU0RL
X1Byb2R1Y3Rpb24gPSBZRVM7CiBVU0VfSU5URVJOQUxfU0RLX0RlYnVnID0gJChIQVZFX0lOVEVS
TkFMX1NESyk7CiBVU0VfSU5URVJOQUxfU0RLX1JlbGVhc2UgPSAkKEhBVkVfSU5URVJOQUxfU0RL
KTsKIAotQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251KysweDsKK0NMQU5HX0NYWF9M
QU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMTQ7CiBDTEFOR19DWFhfTElCUkFSWSA9IGxpYmMrKzsK
IENMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwogQ0xBTkdfV0FSTl9DT05TVEFOVF9D
T05WRVJTSU9OID0gWUVTOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9JT1N1cmZhY2VQb29sLmNwcAppbmRleCA0ZWE0NDY5Li5mN2NhOWU2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29s
LmNwcApAQCAtMzMsNiArMzMsOCBAQAogI2luY2x1ZGUgPGNocm9ubz4KICNpbmNsdWRlIDx3dGYv
TmV2ZXJEZXN0cm95ZWQuaD4KIAordXNpbmcgbmFtZXNwYWNlIHN0ZDo6bGl0ZXJhbHM6OmNocm9u
b19saXRlcmFsczsKKwogY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBjb2xsZWN0aW9u
SW50ZXJ2YWwgPSA1MDBfbXM7CiBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzdXJmYWNlQWdl
QmVmb3JlTWFya2luZ1B1cmdlYWJsZSA9IDJfczsKIGNvbnN0IHNpemVfdCBkZWZhdWx0TWF4aW11
bUJ5dGVzQ2FjaGVkID0gMTAyNCAqIDEwMjQgKiA2NDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggYzFiZTVmNy4uMWVhNDM1
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NvbmZpZ3VyYXRpb25zL0Jhc2Uu
eGNjb25maWcKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NvbmZpZ3VyYXRpb25zL0Jhc2Uu
eGNjb25maWcKQEAgLTEwLDcgKzEwLDcgQEAgREVBRF9DT0RFX1NUUklQUElORyA9IFlFUzsKIERF
QlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9IGR3YXJmLXdpdGgtZHN5bTsKIEZSQU1FV09SS19TRUFS
Q0hfUEFUSFMgPSAkKFdLX1FVT1RFRF9PVkVSUklERV9GUkFNRVdPUktTX0RJUikgJChTWVNURU1f
TElCUkFSWV9ESVIpL1ByaXZhdGVGcmFtZXdvcmtzICQoaW5oZXJpdGVkKTsKIAotQ0xBTkdfQ1hY
X0xBTkdVQUdFX1NUQU5EQVJEID0gZ251KysweDsKK0NMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFS
RCA9IGdudSsrMTQ7CiBDTEFOR19DWFhfTElCUkFSWSA9IGxpYmMrKzsKIENMQU5HX1dBUk5fQk9P
TF9DT05WRVJTSU9OID0gWUVTOwogQ0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJTSU9OID0gWUVT
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2Nv
bmZpZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5k
ZXggZjg5OThlYS4uNjUwNjI3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmln
dXJhdGlvbnMvQmFzZS54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0
aW9ucy9CYXNlLnhjY29uZmlnCkBAIC0yOCw3ICsyOCw3IEBAIFVTRV9JTlRFUk5BTF9TREtfUHJv
ZHVjdGlvbiA9IFlFUzsKIFVTRV9JTlRFUk5BTF9TREtfRGVidWcgPSAkKEhBVkVfSU5URVJOQUxf
U0RLKTsKIFVTRV9JTlRFUk5BTF9TREtfUmVsZWFzZSA9ICQoSEFWRV9JTlRFUk5BTF9TREspOwog
Ci1DTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzB4OworQ0xBTkdfQ1hYX0xBTkdV
QUdFX1NUQU5EQVJEID0gZ251KysxNDsKIENMQU5HX0NYWF9MSUJSQVJZID0gbGliYysrOwogQ0xB
TkdfV0FSTl9CT09MX0NPTlZFUlNJT04gPSBZRVM7CiBDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZF
UlNJT04gPSBZRVM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9C
YXNlLnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZp
ZwppbmRleCAwYzJmNzNhLi4wOGIyZDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Db25m
aWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRp
b25zL0Jhc2UueGNjb25maWcKQEAgLTI4LDcgKzI4LDcgQEAgVVNFX0lOVEVSTkFMX1NES19Qcm9k
dWN0aW9uID0gWUVTOwogVVNFX0lOVEVSTkFMX1NES19EZWJ1ZyA9ICQoSEFWRV9JTlRFUk5BTF9T
REspOwogVVNFX0lOVEVSTkFMX1NES19SZWxlYXNlID0gJChIQVZFX0lOVEVSTkFMX1NESyk7CiAK
LUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMHg7CitDTEFOR19DWFhfTEFOR1VB
R0VfU1RBTkRBUkQgPSBnbnUrKzE0OwogQ0xBTkdfQ1hYX0xJQlJBUlkgPSBsaWJjKys7CiBDTEFO
R19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsKIENMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVS
U0lPTiA9IFlFUzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL0NvbmZpZ3VyYXRpb25zL0Jh
c2UueGNjb25maWcgYi9Tb3VyY2UvYm1hbGxvYy9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmln
CmluZGV4IGVlMzc1OGUuLjJhNTc5ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL0NvbmZp
Z3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvU291cmNlL2JtYWxsb2MvQ29uZmlndXJhdGlv
bnMvQmFzZS54Y2NvbmZpZwpAQCAtMjgsNyArMjgsNyBAQCBVU0VfSU5URVJOQUxfU0RLX1Byb2R1
Y3Rpb24gPSBZRVM7CiBVU0VfSU5URVJOQUxfU0RLX0RlYnVnID0gJChIQVZFX0lOVEVSTkFMX1NE
Syk7CiBVU0VfSU5URVJOQUxfU0RLX1JlbGVhc2UgPSAkKEhBVkVfSU5URVJOQUxfU0RLKTsKIAot
Q0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251KysweDsKK0NMQU5HX0NYWF9MQU5HVUFH
RV9TVEFOREFSRCA9IGdudSsrMTQ7CiBDTEFOR19DWFhfTElCUkFSWSA9IGxpYmMrKzsKIENMQU5H
X1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwogQ0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJT
SU9OID0gWUVTOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ29udGVudEV4dGVuc2lvblRlc3Rlci9Db25m
aWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnIGIvVG9vbHMvQ29udGVudEV4dGVuc2lvblRlc3Rlci9D
b25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmluZGV4IDM3ZGZlNDcuLjgzMmQwYzYgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0NvbnRlbnRFeHRlbnNpb25UZXN0ZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54
Y2NvbmZpZworKysgYi9Ub29scy9Db250ZW50RXh0ZW5zaW9uVGVzdGVyL0NvbmZpZ3VyYXRpb25z
L0Jhc2UueGNjb25maWcKQEAgLTI4LDcgKzI4LDcgQEAgVVNFX0lOVEVSTkFMX1NES19Qcm9kdWN0
aW9uID0gWUVTOwogVVNFX0lOVEVSTkFMX1NES19EZWJ1ZyA9ICQoSEFWRV9JTlRFUk5BTF9TREsp
OwogVVNFX0lOVEVSTkFMX1NES19SZWxlYXNlID0gJChIQVZFX0lOVEVSTkFMX1NESyk7CiAKLUNM
QU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMHg7CitDTEFOR19DWFhfTEFOR1VBR0Vf
U1RBTkRBUkQgPSBnbnUrKzE0OwogQ0xBTkdfQ1hYX0xJQlJBUlkgPSBsaWJjKys7CiBDTEFOR19X
QVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsKIENMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lP
TiA9IFlFUzsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9Db25maWd1cmF0
aW9ucy9CYXNlLnhjY29uZmlnIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0NvbmZpZ3VyYXRp
b25zL0Jhc2UueGNjb25maWcKaW5kZXggNWExOWU2My4uYjgxZTVjOCAxMDA2NDQKLS0tIGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAg
LTI4LDcgKzI4LDcgQEAgVVNFX0lOVEVSTkFMX1NES19Qcm9kdWN0aW9uID0gWUVTOwogVVNFX0lO
VEVSTkFMX1NES19EZWJ1ZyA9ICQoSEFWRV9JTlRFUk5BTF9TREspOwogVVNFX0lOVEVSTkFMX1NE
S19SZWxlYXNlID0gJChIQVZFX0lOVEVSTkFMX1NESyk7CiAKLUNMQU5HX0NYWF9MQU5HVUFHRV9T
VEFOREFSRCA9IGdudSsrMHg7CitDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzE0
OwogQ0xBTkdfQ1hYX0xJQlJBUlkgPSBsaWJjKys7CiBDTEFOR19XQVJOX0NYWDBYX0VYVEVOU0lP
TlMgPSBOTzsKIEhFQURFUl9TRUFSQ0hfUEFUSFMgPSAkKEJVSUxUX1BST0RVQ1RTX0RJUikvdXNy
L2xvY2FsL2luY2x1ZGUgJChCVUlMVF9QUk9EVUNUU19ESVIpL1dlYkNvcmVUZXN0U3VwcG9ydCBG
b3J3YXJkaW5nSGVhZGVycyAkKFBMQVRGT1JNX0hFQURFUl9TRUFSQ0hfUEFUSFMpICQoU1JDUk9P
VCkvLi4vLi4vU291cmNlL0phdmFTY3JpcHRDb3JlL2ljdTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0Zv
bnRXaXRoRmVhdHVyZXMvRm9udFdpdGhGZWF0dXJlcy54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvVG9vbHMvRm9udFdpdGhGZWF0dXJlcy9Gb250V2l0aEZlYXR1cmVzLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggNDFjNzRiYy4uM2NkYjRjNSAxMDA2NDQKLS0tIGEvVG9vbHMvRm9u
dFdpdGhGZWF0dXJlcy9Gb250V2l0aEZlYXR1cmVzLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvVG9vbHMvRm9udFdpdGhGZWF0dXJlcy9Gb250V2l0aEZlYXR1cmVzLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTE1NSw3ICsxNTUsNyBAQAogCQkJaXNhID0gWENCdWlsZENvbmZp
Z3VyYXRpb247CiAJCQlidWlsZFNldHRpbmdzID0gewogCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9Q
QVRIUyA9IE5POwotCQkJCUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzB4IjsK
KyAgICAgICAgICAgICAgICBDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSAiZ251KysxNCI7
CiAJCQkJQ0xBTkdfQ1hYX0xJQlJBUlkgPSAibGliYysrIjsKIAkJCQlDTEFOR19FTkFCTEVfTU9E
VUxFUyA9IFlFUzsKIAkJCQlDTEFOR19FTkFCTEVfT0JKQ19BUkMgPSBZRVM7CmRpZmYgLS1naXQg
YS9Ub29scy9MYXlvdXRUZXN0UmVsYXkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZyBiL1Rv
b2xzL0xheW91dFRlc3RSZWxheS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmluZGV4IGYw
ZmMyYTUuLjEzOWE3YjggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0xheW91dFRlc3RSZWxheS9Db25maWd1
cmF0aW9ucy9CYXNlLnhjY29uZmlnCisrKyBiL1Rvb2xzL0xheW91dFRlc3RSZWxheS9Db25maWd1
cmF0aW9ucy9CYXNlLnhjY29uZmlnCkBAIC0yOCw3ICsyOCw3IEBAIFVTRV9JTlRFUk5BTF9TREtf
UHJvZHVjdGlvbiA9IFlFUzsKIFVTRV9JTlRFUk5BTF9TREtfRGVidWcgPSAkKEhBVkVfSU5URVJO
QUxfU0RLKTsKIFVTRV9JTlRFUk5BTF9TREtfUmVsZWFzZSA9ICQoSEFWRV9JTlRFUk5BTF9TREsp
OwogCi1DTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzB4OworQ0xBTkdfQ1hYX0xB
TkdVQUdFX1NUQU5EQVJEID0gZ251KysxNDsKIENMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsK
IENMQU5HX1dBUk5fQ1hYMFhfRVhURU5TSU9OUyA9IE5POwogSEVBREVSX1NFQVJDSF9QQVRIUyA9
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwvaW5jbHVkZSAkKFdFQkNPUkVfUFJJVkFU
RV9IRUFERVJTX0RJUikvRm9yd2FyZGluZ0hlYWRlcnMgJChTUkNST09UKS8uLi8uLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaWN1ICQoTkVYVF9ST09UKS91c3IvbG9jYWwvaW5jbHVkZS9XZWJDb3Jl
VGVzdFN1cHBvcnQ7CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9Db25maWd1cmF0aW9u
cy9CYXNlLnhjY29uZmlnIGIvVG9vbHMvTWluaUJyb3dzZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54
Y2NvbmZpZwppbmRleCA3NDNhZmI5Li42M2U4NDJiIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJv
d3Nlci9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCisrKyBiL1Rvb2xzL01pbmlCcm93c2Vy
L0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTI4LDcgKzI4LDcgQEAgVVNFX0lOVEVS
TkFMX1NES19Qcm9kdWN0aW9uID0gWUVTOwogVVNFX0lOVEVSTkFMX1NES19EZWJ1ZyA9ICQoSEFW
RV9JTlRFUk5BTF9TREspOwogVVNFX0lOVEVSTkFMX1NES19SZWxlYXNlID0gJChIQVZFX0lOVEVS
TkFMX1NESyk7CiAKLUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMHg7CitDTEFO
R19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzE0OwogQ0xBTkdfQ1hYX0xJQlJBUlkgPSBs
aWJjKys7CiBERUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSBkd2FyZi13aXRoLWRzeW07CiBQUkVC
SU5ESU5HID0gTk8KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlv
bnMvQmFzZS54Y2NvbmZpZyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvQmFz
ZS54Y2NvbmZpZwppbmRleCBlM2E0MTcwLi5jM2JiZmEzIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCkBAIC0yOCw3ICsyOCw3IEBAIFVT
RV9JTlRFUk5BTF9TREtfUHJvZHVjdGlvbiA9IFlFUzsKIFVTRV9JTlRFUk5BTF9TREtfRGVidWcg
PSAkKEhBVkVfSU5URVJOQUxfU0RLKTsKIFVTRV9JTlRFUk5BTF9TREtfUmVsZWFzZSA9ICQoSEFW
RV9JTlRFUk5BTF9TREspOwogCi1DTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzB4
OworQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251KysxNDsKIENMQU5HX0NYWF9MSUJS
QVJZID0gbGliYysrOwogQ0xBTkdfV0FSTl9DWFgwWF9FWFRFTlNJT05TID0gTk87CiBIRUFERVJf
U0VBUkNIX1BBVEhTID0gJHtCVUlMVF9QUk9EVUNUU19ESVJ9L3Vzci9sb2NhbC9pbmNsdWRlICQo
V0VCQ09SRV9QUklWQVRFX0hFQURFUlNfRElSKS9Gb3J3YXJkaW5nSGVhZGVycyAkKFdFQkNPUkVf
UFJJVkFURV9IRUFERVJTX0RJUikvaWN1ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9XZWJDb3JlVGVz
dFN1cHBvcnQ7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJFZGl0aW5nVGVzdGVyL0NvbmZpZ3VyYXRp
b25zL0Jhc2UueGNjb25maWcgYi9Ub29scy9XZWJFZGl0aW5nVGVzdGVyL0NvbmZpZ3VyYXRpb25z
L0Jhc2UueGNjb25maWcKaW5kZXggYmNkNWZiMC4uN2ZiNDQ0OSAxMDA2NDQKLS0tIGEvVG9vbHMv
V2ViRWRpdGluZ1Rlc3Rlci9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCisrKyBiL1Rvb2xz
L1dlYkVkaXRpbmdUZXN0ZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpAQCAtMjgsNyAr
MjgsNyBAQCBVU0VfSU5URVJOQUxfU0RLX1Byb2R1Y3Rpb24gPSBZRVM7CiBVU0VfSU5URVJOQUxf
U0RLX0RlYnVnID0gJChIQVZFX0lOVEVSTkFMX1NESyk7CiBVU0VfSU5URVJOQUxfU0RLX1JlbGVh
c2UgPSAkKEhBVkVfSU5URVJOQUxfU0RLKTsKIAotQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJE
ID0gZ251KysweDsKK0NMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMTQ7CiBDTEFO
R19DWFhfTElCUkFSWSA9IGxpYmMrKzsKIERFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9IGR3YXJm
LXdpdGgtZHN5bTsKIFBSRUJJTkRJTkcgPSBOTwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmluZGV4IGMzNzkxY2QuLjRhNzFlYmEg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54
Y2NvbmZpZworKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0NvbmZpZ3VyYXRpb25zL0Jhc2Uu
eGNjb25maWcKQEAgLTI4LDcgKzI4LDcgQEAgVVNFX0lOVEVSTkFMX1NES19Qcm9kdWN0aW9uID0g
WUVTOwogVVNFX0lOVEVSTkFMX1NES19EZWJ1ZyA9ICQoSEFWRV9JTlRFUk5BTF9TREspOwogVVNF
X0lOVEVSTkFMX1NES19SZWxlYXNlID0gJChIQVZFX0lOVEVSTkFMX1NESyk7CiAKLUNMQU5HX0NY
WF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMHg7CitDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRB
UkQgPSBnbnUrKzE0OwogQ0xBTkdfQ1hYX0xJQlJBUlkgPSBsaWJjKys7CiBDTEFOR19XQVJOX0NY
WDBYX0VYVEVOU0lPTlMgPSBOTzsKIEhFQURFUl9TRUFSQ0hfUEFUSFMgPSAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvdXNyL2xvY2FsL2luY2x1ZGUgJChXRUJDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIp
L0ZvcndhcmRpbmdIZWFkZXJzICQoU1JDUk9PVCkvLi4vLi4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ljdSAkKE5FWFRfUk9PVCkvdXNyL2xvY2FsL2luY2x1ZGUvV2ViQ29yZVRlc3RTdXBwb3J0Owpk
aWZmIC0tZ2l0IGEvVG9vbHMvanNjLWNsaS9qc2MtY2xpLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Ub29scy9qc2MtY2xpL2pzYy1jbGkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCBlMDQzMWQzLi5iZWIwMzNjIDEwMDY0NAotLS0gYS9Ub29scy9qc2MtY2xpL2pzYy1jbGkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9qc2MtY2xpL2pzYy1jbGkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjA0LDcgKzIwNCw3IEBACiAgICAgICAgICAgIGlzYSA9
IFhDQnVpbGRDb25maWd1cmF0aW9uOwogICAgICAgICAgICBidWlsZFNldHRpbmdzID0gewogICAg
ICAgICAgICAgICAgQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gTk87Ci0gICAgICAgICAgICAg
ICBDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSAiZ251KysweCI7CisgICAgICAgICAgICAg
ICBDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSAiZ251KysxNCI7CiAgICAgICAgICAgICAg
ICBDTEFOR19DWFhfTElCUkFSWSA9ICJsaWJjKysiOwogICAgICAgICAgICAgICAgQ0xBTkdfRU5B
QkxFX09CSkNfQVJDID0gWUVTOwogICAgICAgICAgICAgICAgQ0xBTkdfV0FSTl9CT09MX0NPTlZF
UlNJT04gPSBZRVM7CkBAIC0yNDEsNyArMjQxLDcgQEAKICAgICAgICAgICAgaXNhID0gWENCdWls
ZENvbmZpZ3VyYXRpb247CiAgICAgICAgICAgIGJ1aWxkU2V0dGluZ3MgPSB7CiAgICAgICAgICAg
ICAgICBBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKLSAgICAgICAgICAgICAgIENMQU5H
X0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzB4IjsKKyAgICAgICAgICAgICAgIENMQU5H
X0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9ICJnbnUrKzE0IjsKICAgICAgICAgICAgICAgIENMQU5H
X0NYWF9MSUJSQVJZID0gImxpYmMrKyI7CiAgICAgICAgICAgICAgICBDTEFOR19FTkFCTEVfT0JK
Q19BUkMgPSBZRVM7CiAgICAgICAgICAgICAgICBDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9
IFlFUzsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>279537</attachid>
            <date>2016-05-20 21:54:20 -0700</date>
            <delta_ts>2016-05-21 08:12:02 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>27511</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9CYXNlLnhj
Y29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25m
aWcKaW5kZXggMDA0NjAyZi4uMTgzYTZmOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTI4LDcgKzI4LDcgQEAgVVNFX0lO
VEVSTkFMX1NES19Qcm9kdWN0aW9uID0gWUVTOwogVVNFX0lOVEVSTkFMX1NES19EZWJ1ZyA9ICQo
SEFWRV9JTlRFUk5BTF9TREspOwogVVNFX0lOVEVSTkFMX1NES19SZWxlYXNlID0gJChIQVZFX0lO
VEVSTkFMX1NESyk7CiAKLUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMHg7CitD
TEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzE0OwogQ0xBTkdfQ1hYX0xJQlJBUlkg
PSBsaWJjKys7CiBDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsKIENMQU5HX1dBUk5f
Q09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmluZGV4IDM3MjNhYTcuLjRmOTI1NWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0Jhc2Uu
eGNjb25maWcKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvQmFz
ZS54Y2NvbmZpZwpAQCAtNSw3ICs1LDcgQEAgVVNFX0lOVEVSTkFMX1NES19Qcm9kdWN0aW9uID0g
WUVTOwogVVNFX0lOVEVSTkFMX1NES19EZWJ1ZyA9ICQoSEFWRV9JTlRFUk5BTF9TREspOwogVVNF
X0lOVEVSTkFMX1NES19SZWxlYXNlID0gJChIQVZFX0lOVEVSTkFMX1NESyk7CiAKLUNMQU5HX0NY
WF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMHg7CitDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRB
UkQgPSBnbnUrKzE0OwogQ0xBTkdfQ1hYX0xJQlJBUlkgPSBsaWJjKys7CiBDTEFOR19XQVJOX0JP
T0xfQ09OVkVSU0lPTiA9IFlFUzsKIENMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlF
UzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L3hjb2RlL0NvbmZpZy9HZW5l
cmFsLnhjY29uZmlnIGIvU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QveGNvZGUvQ29uZmlnL0dlbmVy
YWwueGNjb25maWcKaW5kZXggNzE4ZDJjYy4uZDg3NjNkNiAxMDA2NDQKLS0tIGEvU291cmNlL1Ro
aXJkUGFydHkvZ3Rlc3QveGNvZGUvQ29uZmlnL0dlbmVyYWwueGNjb25maWcKKysrIGIvU291cmNl
L1RoaXJkUGFydHkvZ3Rlc3QveGNvZGUvQ29uZmlnL0dlbmVyYWwueGNjb25maWcKQEAgLTQ5LDgg
KzQ5LDggQEAgU0VQQVJBVEVfU1RSSVAgPSBZRVMKIC8vIEZvcmNlIEM5OSBkaWFsZWN0CiBHQ0Nf
Q19MQU5HVUFHRV9TVEFOREFSRCA9IGM5OQogCi0vLyBGb3JjZSBDKysxMQotQ0xBTkdfQ1hYX0xB
TkdVQUdFX1NUQU5EQVJEID0gZ251KysweDsKKy8vIEZvcmNlIEMrKzE0CitDTEFOR19DWFhfTEFO
R1VBR0VfU1RBTkRBUkQgPSBnbnUrKzE0OwogCiAvLyBub3Qgc3VyZSB3aHkgYXBwbGUgZGVmYXVs
dHMgdGhpcyBvbiwgYnV0IGl0J3MgcHJldHR5IHJpc2t5CiBBTFdBWVNfU0VBUkNIX1VTRVJfUEFU
SFMgPSBOTwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29u
ZmlnIGIvU291cmNlL1dURi9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmluZGV4IDNlMTli
MzcuLjlhZmQyOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ29uZmlndXJhdGlvbnMvQmFzZS54
Y2NvbmZpZworKysgYi9Tb3VyY2UvV1RGL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAg
LTI4LDcgKzI4LDcgQEAgVVNFX0lOVEVSTkFMX1NES19Qcm9kdWN0aW9uID0gWUVTOwogVVNFX0lO
VEVSTkFMX1NES19EZWJ1ZyA9ICQoSEFWRV9JTlRFUk5BTF9TREspOwogVVNFX0lOVEVSTkFMX1NE
S19SZWxlYXNlID0gJChIQVZFX0lOVEVSTkFMX1NESyk7CiAKLUNMQU5HX0NYWF9MQU5HVUFHRV9T
VEFOREFSRCA9IGdudSsrMHg7CitDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzE0
OwogQ0xBTkdfQ1hYX0xJQlJBUlkgPSBsaWJjKys7CiBDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lP
TiA9IFlFUzsKIENMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL1N0ZExpYkV4dHJhcy5oIGIvU291cmNlL1dURi93dGYvU3RkTGli
RXh0cmFzLmgKaW5kZXggYjEyMGMyNi4uZDYxZTkyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvU3RkTGliRXh0cmFzLmgKKysrIGIvU291cmNlL1dURi93dGYvU3RkTGliRXh0cmFzLmgKQEAg
LTMyMCw4NiArMzIwLDYgQEAgaW5saW5lIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3QsIE5vdE51
bGxUYWcsIHZvaWQqIGxvY2F0aW9uKQogCiAvLyBUaGlzIGFkZHMgdmFyaW91cyBDKysxNCBmZWF0
dXJlcyBmb3IgdmVyc2lvbnMgb2YgdGhlIFNUTCB0aGF0IG1heSBub3QgeWV0IGhhdmUgdGhlbS4K
IG5hbWVzcGFjZSBzdGQgewotLy8gTVNWQyAyMDEzIHN1cHBvcnRzIHN0ZDo6bWFrZV91bmlxdWUg
YWxyZWFkeS4KLSNpZiAhZGVmaW5lZChfTVNDX1ZFUikgfHwgX01TQ19WRVIgPCAxODAwCi10ZW1w
bGF0ZTxjbGFzcyBUPiBzdHJ1Y3QgX1VuaXF1ZV9pZiB7Ci0gICAgdHlwZWRlZiB1bmlxdWVfcHRy
PFQ+IF9TaW5nbGVfb2JqZWN0OwotfTsKLQotdGVtcGxhdGU8Y2xhc3MgVD4gc3RydWN0IF9Vbmlx
dWVfaWY8VFtdPiB7Ci0gICAgdHlwZWRlZiB1bmlxdWVfcHRyPFRbXT4gX1Vua25vd25fYm91bmQ7
Ci19OwotCi10ZW1wbGF0ZTxjbGFzcyBULCBzaXplX3QgTj4gc3RydWN0IF9VbmlxdWVfaWY8VFtO
XT4gewotICAgIHR5cGVkZWYgdm9pZCBfS25vd25fYm91bmQ7Ci19OwotCi10ZW1wbGF0ZTxjbGFz
cyBULCBjbGFzcy4uLiBBcmdzPiBpbmxpbmUgdHlwZW5hbWUgX1VuaXF1ZV9pZjxUPjo6X1Npbmds
ZV9vYmplY3QKLW1ha2VfdW5pcXVlKEFyZ3MmJi4uLiBhcmdzKQotewotICAgIHJldHVybiB1bmlx
dWVfcHRyPFQ+KG5ldyBUKHN0ZDo6Zm9yd2FyZDxBcmdzPihhcmdzKS4uLikpOwotfQotCi10ZW1w
bGF0ZTxjbGFzcyBUPiBpbmxpbmUgdHlwZW5hbWUgX1VuaXF1ZV9pZjxUPjo6X1Vua25vd25fYm91
bmQKLW1ha2VfdW5pcXVlKHNpemVfdCBuKQotewotICAgIHR5cGVkZWYgdHlwZW5hbWUgcmVtb3Zl
X2V4dGVudDxUPjo6dHlwZSBVOwotICAgIHJldHVybiB1bmlxdWVfcHRyPFQ+KG5ldyBVW25dKCkp
OwotfQotCi10ZW1wbGF0ZTxjbGFzcyBULCBjbGFzcy4uLiBBcmdzPiB0eXBlbmFtZSBfVW5pcXVl
X2lmPFQ+OjpfS25vd25fYm91bmQKLW1ha2VfdW5pcXVlKEFyZ3MmJi4uLikgPSBkZWxldGU7Ci0j
ZW5kaWYKLQotLy8gTVNWQyAyMDE1IHN1cHBvcnRzIHRoZXNlIGZ1bmN0aW9ucy4KLSNpZiAhQ09N
UElMRVIoTVNWQykgfHwgX01TQ19WRVIgPCAxOTAwCi0vLyBDb21waWxlLXRpbWUgaW50ZWdlciBz
ZXF1ZW5jZXMKLS8vIGh0dHA6Ly93d3cub3Blbi1zdGQub3JnL2p0YzEvc2MyMi93ZzIxL2RvY3Mv
cGFwZXJzLzIwMTMvbjM2NTguaHRtbAotLy8gKE5vdGUgdGhhdCB3ZSBvbmx5IGltcGxlbWVudCBp
bmRleF9zZXF1ZW5jZSwgYW5kIG5vdCB0aGUgbW9yZSBnZW5lcmljIGludGVnZXJfc2VxdWVuY2Up
LgotdGVtcGxhdGU8c2l6ZV90Li4uIGluZGV4ZXM+IHN0cnVjdCBpbmRleF9zZXF1ZW5jZSB7Ci0g
ICAgc3RhdGljIHNpemVfdCBzaXplKCkgeyByZXR1cm4gc2l6ZW9mLi4uKGluZGV4ZXMpOyB9Ci19
OwotCi10ZW1wbGF0ZTxzaXplX3QgY3VycmVudEluZGV4LCBzaXplX3QuLi5pbmRleGVzPiBzdHJ1
Y3QgbWFrZV9pbmRleF9zZXF1ZW5jZV9oZWxwZXI7Ci0KLXRlbXBsYXRlPHNpemVfdC4uLmluZGV4
ZXM+IHN0cnVjdCBtYWtlX2luZGV4X3NlcXVlbmNlX2hlbHBlcjwwLCBpbmRleGVzLi4uPiB7Ci0g
ICAgdHlwZWRlZiBzdGQ6OmluZGV4X3NlcXVlbmNlPGluZGV4ZXMuLi4+IHR5cGU7Ci19OwotCi10
ZW1wbGF0ZTxzaXplX3QgY3VycmVudEluZGV4LCBzaXplX3QuLi5pbmRleGVzPiBzdHJ1Y3QgbWFr
ZV9pbmRleF9zZXF1ZW5jZV9oZWxwZXIgewotICAgIHR5cGVkZWYgdHlwZW5hbWUgbWFrZV9pbmRl
eF9zZXF1ZW5jZV9oZWxwZXI8Y3VycmVudEluZGV4IC0gMSwgY3VycmVudEluZGV4IC0gMSwgaW5k
ZXhlcy4uLj46OnR5cGUgdHlwZTsKLX07Ci0KLXRlbXBsYXRlPHNpemVfdCBsZW5ndGg+IHN0cnVj
dCBtYWtlX2luZGV4X3NlcXVlbmNlIDogcHVibGljIG1ha2VfaW5kZXhfc2VxdWVuY2VfaGVscGVy
PGxlbmd0aD46OnR5cGUgeyB9OwotCi0vLyBzdGQ6OmV4Y2hhbmdlCi10ZW1wbGF0ZTxjbGFzcyBU
LCBjbGFzcyBVID0gVD4KLVQgZXhjaGFuZ2UoVCYgdCwgVSYmIG5ld1ZhbHVlKQotewotICAgIFQg
b2xkVmFsdWUgPSBzdGQ6Om1vdmUodCk7Ci0gICAgdCA9IHN0ZDo6Zm9yd2FyZDxVPihuZXdWYWx1
ZSk7Ci0KLSAgICByZXR1cm4gb2xkVmFsdWU7Ci19Ci0jZW5kaWYKLQotI2lmIENPTVBJTEVSX1NV
UFBPUlRTKENYWF9VU0VSX0xJVEVSQUxTKQotLy8gVGhlc2UgbGl0ZXJhbHMgYXJlIGF2YWlsYWJs
ZSBpbiBDKysxNCwgc28gb25jZSB3ZSByZXF1aXJlIEMrKzE0IGNvbXBpbGVycyB3ZSBjYW4gZ2V0
IHJpZCBvZiB0aGVtIGhlcmUuCi0vLyAoVXNlci1saXRlcmFscyBuZWVkIHRvIGhhdmUgYSBsZWFk
aW5nIHVuZGVyc2NvcmUgc28gd2UgYWRkIGl0IGhlcmUgLSB0aGUgInJlYWwiIGxpdGVyYWxzIGRv
bid0IGhhdmUgdW5kZXJzY29yZXMpLgotbmFtZXNwYWNlIGxpdGVyYWxzIHsKLW5hbWVzcGFjZSBj
aHJvbm9fbGl0ZXJhbHMgewotICAgIGNvbnN0ZXhwciBpbmxpbmUgY2hyb25vOjpzZWNvbmRzIG9w
ZXJhdG9yIiIgX3ModW5zaWduZWQgbG9uZyBsb25nIHMpCi0gICAgewotICAgICAgICByZXR1cm4g
Y2hyb25vOjpzZWNvbmRzKHN0YXRpY19jYXN0PGNocm9ubzo6c2Vjb25kczo6cmVwPihzKSk7Ci0g
ICAgfQotCi0gICAgY29uc3RleHByIGNocm9ubzo6bWlsbGlzZWNvbmRzIG9wZXJhdG9yIiIgX21z
KHVuc2lnbmVkIGxvbmcgbG9uZyBtcykKLSAgICB7Ci0gICAgICAgIHJldHVybiBjaHJvbm86Om1p
bGxpc2Vjb25kcyhzdGF0aWNfY2FzdDxjaHJvbm86Om1pbGxpc2Vjb25kczo6cmVwPihtcykpOwot
ICAgIH0KLX0KLX0KLSNlbmRpZgogCiB0ZW1wbGF0ZTxXVEY6OkNoZWNrTW92ZVBhcmFtZXRlclRh
ZywgdHlwZW5hbWUgVD4KIEFMV0FZU19JTkxJTkUgY29uc3RleHByIHR5cGVuYW1lIHJlbW92ZV9y
ZWZlcmVuY2U8VD46OnR5cGUmJiBtb3ZlKFQmJiB2YWx1ZSkKQEAgLTQzMSw5ICszNTEsNCBAQCB1
c2luZyBXVEY6OmlzOEJ5dGVBbGlnbmVkOwogdXNpbmcgV1RGOjpzYWZlQ2FzdDsKIHVzaW5nIFdU
Rjo6dHJ5QmluYXJ5U2VhcmNoOwogCi0jaWYgQ09NUElMRVJfU1VQUE9SVFMoQ1hYX1VTRVJfTElU
RVJBTFMpCi0vLyBXZSBub3JtYWxseSBkb24ndCB3YW50IHRvIGJyaW5nIGluIGVudGlyZSBzdGQg
bmFtZXNwYWNlcywgYnV0IGxpdGVyYWxzIGFyZSBhbiBleGNlcHRpb24uCi11c2luZyBuYW1lc3Bh
Y2Ugc3RkOjpsaXRlcmFsczo6Y2hyb25vX2xpdGVyYWxzOwotI2VuZGlmCi0KICNlbmRpZiAvLyBX
VEZfU3RkTGliRXh0cmFzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRp
b25zL0Jhc2UueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9CYXNlLnhj
Y29uZmlnCmluZGV4IGMwMWNmMWEuLmU0MDVhOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmln
dXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpAQCAtMjgsNyArMjgsNyBAQCBVU0VfSU5URVJOQUxfU0RL
X1Byb2R1Y3Rpb24gPSBZRVM7CiBVU0VfSU5URVJOQUxfU0RLX0RlYnVnID0gJChIQVZFX0lOVEVS
TkFMX1NESyk7CiBVU0VfSU5URVJOQUxfU0RLX1JlbGVhc2UgPSAkKEhBVkVfSU5URVJOQUxfU0RL
KTsKIAotQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251KysweDsKK0NMQU5HX0NYWF9M
QU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMTQ7CiBDTEFOR19DWFhfTElCUkFSWSA9IGxpYmMrKzsK
IENMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwogQ0xBTkdfV0FSTl9DT05TVEFOVF9D
T05WRVJTSU9OID0gWUVTOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2Vy
dmljZXNPdmVybGF5Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZp
Y2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KaW5kZXggYmNiYjU2YS4uZDFiMWJmNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1t
CkBAIC01MCw2ICs1MCw5IEBACiAjaW1wb3J0ICJTZXR0aW5ncy5oIgogI2ltcG9ydCAiU29mdExp
bmtpbmcuaCIKICNpbXBvcnQgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5oPgorI2ltcG9ydCA8Y2hy
b25vPgorCit1c2luZyBuYW1lc3BhY2Ugc3RkOjpsaXRlcmFsczo6Y2hyb25vX2xpdGVyYWxzOwog
CiBjb25zdCBmbG9hdCBoaWdobGlnaHRGYWRlQW5pbWF0aW9uRHVyYXRpb24gPSAwLjM7CiAKQEAg
LTQzOCwxMCArNDQxLDEwIEBAIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgU2VydmljZXNPdmVy
bGF5Q29udHJvbGxlcjo6cmVtYWluaW5nVGltZVVudGlsSGlnaGxpZ2h0CiAgICAgaWYgKCFoaWdo
bGlnaHQpCiAgICAgICAgIHJldHVybiBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzOjp6ZXJvKCk7
CiAKLSAgICBhdXRvIG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gMjAw
X21zOworICAgIGF1dG8gbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSAy
MDBtczsKICAgICBQYWdlKiBwYWdlID0gbV9tYWluRnJhbWUucGFnZSgpOwogICAgIGlmIChwYWdl
ICYmIHBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmZvY3VzZWRPck1haW5GcmFtZSgpLnNlbGVjdGlv
bigpLnNlbGVjdGlvbigpLmlzQ29udGVudEVkaXRhYmxlKCkpCi0gICAgICAgIG1pbmltdW1UaW1l
VW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gMTAwMF9tczsKKyAgICAgICAgbWluaW11bVRp
bWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSAxMDAwbXM7CiAKICAgICBib29sIG1vdXNl
UHJlc3NlZCA9IG1fbWFpbkZyYW1lLmV2ZW50SGFuZGxlcigpLm1vdXNlUHJlc3NlZCgpOwogCkBA
IC00NDksMTIgKzQ1MiwxMiBAQCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIFNlcnZpY2VzT3Zl
cmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1RpbWVVbnRpbEhpZ2hsaWdodAogICAgIC8vIGJ5IHZp
cnR1ZSBvZiBiZWluZyBleHBhbmRlZCB0byBpbmNsdWRlIHRoZSBlbnRpcmUgdGVsZXBob25lIG51
bWJlci4gSG93ZXZlciwgd2Ugd2lsbCBzdGlsbCBhdm9pZCBoaWdobGlnaHRpbmcKICAgICAvLyB0
ZWxlcGhvbmUgbnVtYmVycyB3aGlsZSB0aGUgbW91c2UgaXMgZG93bi4KICAgICBpZiAoaGlnaGxp
Z2h0LT50eXBlKCkgPT0gSGlnaGxpZ2h0OjpUZWxlcGhvbmVOdW1iZXJUeXBlKQotICAgICAgICBy
ZXR1cm4gbW91c2VQcmVzc2VkID8gbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hv
d24gOiAwX21zOworICAgICAgICByZXR1cm4gbW91c2VQcmVzc2VkID8gbWluaW11bVRpbWVVbnRp
bEhpZ2hsaWdodFNob3VsZEJlU2hvd24gOiAwbXM7CiAKICAgICBhdXRvIG5vdyA9IHN0ZDo6Y2hy
b25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOwogICAgIGF1dG8gdGltZVNpbmNlTGFzdFNlbGVjdGlv
bkNoYW5nZSA9IG5vdyAtIG1fbGFzdFNlbGVjdGlvbkNoYW5nZVRpbWU7CiAgICAgYXV0byB0aW1l
U2luY2VIaWdobGlnaHRCZWNhbWVBY3RpdmUgPSBub3cgLSBtX25leHRBY3RpdmVIaWdobGlnaHRD
aGFuZ2VUaW1lOwotICAgIGF1dG8gdGltZVNpbmNlTGFzdE1vdXNlVXAgPSBtb3VzZVByZXNzZWQg
PyAwX21zIDogbm93IC0gbV9sYXN0TW91c2VVcFRpbWU7CisgICAgYXV0byB0aW1lU2luY2VMYXN0
TW91c2VVcCA9IG1vdXNlUHJlc3NlZCA/IDBtcyA6IG5vdyAtIG1fbGFzdE1vdXNlVXBUaW1lOwog
CiAgICAgYXV0byByZW1haW5pbmdEZWxheSA9IG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91
bGRCZVNob3duIC0gc3RkOjptaW4oc3RkOjptaW4odGltZVNpbmNlTGFzdFNlbGVjdGlvbkNoYW5n
ZSwgdGltZVNpbmNlSGlnaGxpZ2h0QmVjYW1lQWN0aXZlKSwgdGltZVNpbmNlTGFzdE1vdXNlVXAp
OwogICAgIHJldHVybiBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzPihyZW1haW5pbmdEZWxheSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwCmluZGV4IDRlYTQ0NjkuLjI2YjIw
ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3Vy
ZmFjZVBvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lP
U3VyZmFjZVBvb2wuY3BwCkBAIC0zMyw4ICszMywxMCBAQAogI2luY2x1ZGUgPGNocm9ubz4KICNp
bmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KIAotY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyBjb2xsZWN0aW9uSW50ZXJ2YWwgPSA1MDBfbXM7Ci1jb25zdCBzdGQ6OmNocm9ubzo6
c2Vjb25kcyBzdXJmYWNlQWdlQmVmb3JlTWFya2luZ1B1cmdlYWJsZSA9IDJfczsKK3VzaW5nIG5h
bWVzcGFjZSBzdGQ6OmxpdGVyYWxzOjpjaHJvbm9fbGl0ZXJhbHM7CisKK2NvbnN0IHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgY29sbGVjdGlvbkludGVydmFsID0gNTAwbXM7Citjb25zdCBzdGQ6
OmNocm9ubzo6c2Vjb25kcyBzdXJmYWNlQWdlQmVmb3JlTWFya2luZ1B1cmdlYWJsZSA9IDJzOwog
Y29uc3Qgc2l6ZV90IGRlZmF1bHRNYXhpbXVtQnl0ZXNDYWNoZWQgPSAxMDI0ICogMTAyNCAqIDY0
OwogCiAvLyBXZSdsbCBuZXZlciBhbGxvdyBtb3JlIHRoYW4gMS8yIG9mIHRoZSBjYWNoZSB0byBi
ZSBmaWxsZWQgd2l0aCBpbi11c2Ugc3VyZmFjZXMsIGJlY2F1c2UKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggYzFiZTVmNy4u
MWVhNDM1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NvbmZpZ3VyYXRpb25z
L0Jhc2UueGNjb25maWcKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NvbmZpZ3VyYXRpb25z
L0Jhc2UueGNjb25maWcKQEAgLTEwLDcgKzEwLDcgQEAgREVBRF9DT0RFX1NUUklQUElORyA9IFlF
UzsKIERFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9IGR3YXJmLXdpdGgtZHN5bTsKIEZSQU1FV09S
S19TRUFSQ0hfUEFUSFMgPSAkKFdLX1FVT1RFRF9PVkVSUklERV9GUkFNRVdPUktTX0RJUikgJChT
WVNURU1fTElCUkFSWV9ESVIpL1ByaXZhdGVGcmFtZXdvcmtzICQoaW5oZXJpdGVkKTsKIAotQ0xB
TkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251KysweDsKK0NMQU5HX0NYWF9MQU5HVUFHRV9T
VEFOREFSRCA9IGdudSsrMTQ7CiBDTEFOR19DWFhfTElCUkFSWSA9IGxpYmMrKzsKIENMQU5HX1dB
Uk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwogQ0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJTSU9O
ID0gWUVTOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvQmFz
ZS54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25m
aWcKaW5kZXggZjg5OThlYS4uNjUwNjI3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
Q29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25m
aWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCkBAIC0yOCw3ICsyOCw3IEBAIFVTRV9JTlRFUk5BTF9T
REtfUHJvZHVjdGlvbiA9IFlFUzsKIFVTRV9JTlRFUk5BTF9TREtfRGVidWcgPSAkKEhBVkVfSU5U
RVJOQUxfU0RLKTsKIFVTRV9JTlRFUk5BTF9TREtfUmVsZWFzZSA9ICQoSEFWRV9JTlRFUk5BTF9T
REspOwogCi1DTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzB4OworQ0xBTkdfQ1hY
X0xBTkdVQUdFX1NUQU5EQVJEID0gZ251KysxNDsKIENMQU5HX0NYWF9MSUJSQVJZID0gbGliYysr
OwogQ0xBTkdfV0FSTl9CT09MX0NPTlZFUlNJT04gPSBZRVM7CiBDTEFOR19XQVJOX0NPTlNUQU5U
X0NPTlZFUlNJT04gPSBZRVM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0
aW9ucy9CYXNlLnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvQmFzZS54
Y2NvbmZpZwppbmRleCAwYzJmNzNhLi4wOGIyZDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZp
Z3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTI4LDcgKzI4LDcgQEAgVVNFX0lOVEVSTkFMX1NE
S19Qcm9kdWN0aW9uID0gWUVTOwogVVNFX0lOVEVSTkFMX1NES19EZWJ1ZyA9ICQoSEFWRV9JTlRF
Uk5BTF9TREspOwogVVNFX0lOVEVSTkFMX1NES19SZWxlYXNlID0gJChIQVZFX0lOVEVSTkFMX1NE
Syk7CiAKLUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMHg7CitDTEFOR19DWFhf
TEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzE0OwogQ0xBTkdfQ1hYX0xJQlJBUlkgPSBsaWJjKys7
CiBDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsKIENMQU5HX1dBUk5fQ09OU1RBTlRf
Q09OVkVSU0lPTiA9IFlFUzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmNwcAppbmRleCBiNTZi
MmY3Li5hZTIxMzRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3BwCkBAIC0zMCw2ICsz
MCw4IEBACiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1
bWVudENvZGVycy5oIgogCit1c2luZyBuYW1lc3BhY2Ugc3RkOjpsaXRlcmFsczo6Y2hyb25vX2xp
dGVyYWxzOworCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7
CkBAIC00NSw3ICs0Nyw3IEBAIE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzOjpOZXR3b3Jr
UmVzb3VyY2VMb2FkUGFyYW1ldGVycygpCiAgICAgLCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQ
U1RvSFRUUFJlZGlyZWN0KHRydWUpCiAgICAgLCBkZWZlcnNMb2FkaW5nKGZhbHNlKQogICAgICwg
bmVlZHNDZXJ0aWZpY2F0ZUluZm8oZmFsc2UpCi0gICAgLCBtYXhpbXVtQnVmZmVyaW5nVGltZSgw
X21zKQorICAgICwgbWF4aW11bUJ1ZmZlcmluZ1RpbWUoMG1zKQogewogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNw
cAppbmRleCA4MTQxNWMxLi43ZDEwYzk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTQ1LDYgKzQ1LDcg
QEAKICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
K3VzaW5nIG5hbWVzcGFjZSBzdGQ6OmxpdGVyYWxzOjpjaHJvbm9fbGl0ZXJhbHM7CiAKICNkZWZp
bmUgTkVUV09SS1JFU09VUkNFTE9BREVSX0xPR19BTFdBWVMoLi4uKSBMT0dfQUxXQVlTKGlzQWx3
YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBfX1ZBX0FSR1NfXykKICNkZWZpbmUgTkVUV09SS1JFU09V
UkNFTE9BREVSX0xPR19BTFdBWVNfRVJST1IoLi4uKSBMT0dfQUxXQVlTX0VSUk9SKGlzQWx3YXlz
T25Mb2dnaW5nQWxsb3dlZCgpLCBfX1ZBX0FSR1NfXykKQEAgLTE5NSw3ICsxOTYsNyBAQCB2b2lk
IE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6c3RhcnROZXR3b3JrTG9hZChjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QpCiB7CiAgICAgY29uc3VtZVNhbmRib3hFeHRlbnNpb25zKCk7CiAKLSAg
ICBpZiAoaXNTeW5jaHJvbm91cygpIHx8IG1fcGFyYW1ldGVycy5tYXhpbXVtQnVmZmVyaW5nVGlt
ZSA+IDBfbXMpCisgICAgaWYgKGlzU3luY2hyb25vdXMoKSB8fCBtX3BhcmFtZXRlcnMubWF4aW11
bUJ1ZmZlcmluZ1RpbWUgPiAwbXMpCiAgICAgICAgIG1fYnVmZmVyZWREYXRhID0gU2hhcmVkQnVm
ZmVyOjpjcmVhdGUoKTsKIAogI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKaW5kZXgg
NmE3YmRjZC4uYzdmZjdjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCkBAIC00OSw2ICs0OSw4IEBACiAjaW5jbHVkZSA8
bm90aWZ5Lmg+CiAjZW5kaWYKIAordXNpbmcgbmFtZXNwYWNlIHN0ZDo6bGl0ZXJhbHM6OmNocm9u
b19saXRlcmFsczsKKwogbmFtZXNwYWNlIFdlYktpdCB7CiBuYW1lc3BhY2UgTmV0d29ya0NhY2hl
IHsKIApAQCAtMTkxLDcgKzE5Myw3IEBAIHN0YXRpYyBib29sIHJlc3BvbnNlSGFzRXhwaXJlZChj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgc3RkOjpjCiAgICAgYXV0
byBhZ2UgPSBXZWJDb3JlOjpjb21wdXRlQ3VycmVudEFnZShyZXNwb25zZSwgdGltZXN0YW1wKTsK
ICAgICBhdXRvIGxpZmV0aW1lID0gV2ViQ29yZTo6Y29tcHV0ZUZyZXNobmVzc0xpZmV0aW1lRm9y
SFRUUEZhbWlseShyZXNwb25zZSwgdGltZXN0YW1wKTsKIAotICAgIGF1dG8gbWF4aW11bVN0YWxl
bmVzcyA9IG1heFN0YWxlID8gbWF4U3RhbGUudmFsdWUoKSA6IDBfbXM7CisgICAgYXV0byBtYXhp
bXVtU3RhbGVuZXNzID0gbWF4U3RhbGUgPyBtYXhTdGFsZS52YWx1ZSgpIDogMG1zOwogICAgIGJv
b2wgaGFzRXhwaXJlZCA9IGFnZSAtIGxpZmV0aW1lID4gbWF4aW11bVN0YWxlbmVzczsKIAogI2lm
bmRlZiBMT0dfRElTQUJMRUQKQEAgLTIwOCw3ICsyMTAsNyBAQCBzdGF0aWMgYm9vbCByZXNwb25z
ZU5lZWRzUmV2YWxpZGF0aW9uKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3Bv
bnNlLAogICAgIGlmIChyZXF1ZXN0RGlyZWN0aXZlcy5ub0NhY2hlKQogICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICAvLyBGb3IgcmVxdWVzdHMgd2UgaWdub3JlIG1heC1hZ2UgdmFsdWVzIG90aGVy
IHRoYW4gemVyby4KLSAgICBpZiAocmVxdWVzdERpcmVjdGl2ZXMubWF4QWdlICYmIHJlcXVlc3RE
aXJlY3RpdmVzLm1heEFnZS52YWx1ZSgpID09IDBfbXMpCisgICAgaWYgKHJlcXVlc3REaXJlY3Rp
dmVzLm1heEFnZSAmJiByZXF1ZXN0RGlyZWN0aXZlcy5tYXhBZ2UudmFsdWUoKSA9PSAwbXMpCiAg
ICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgcmV0dXJuIHJlc3BvbnNlSGFzRXhwaXJlZChyZXNw
b25zZSwgdGltZXN0YW1wLCByZXF1ZXN0RGlyZWN0aXZlcy5tYXhTdGFsZSk7CkBAIC0zMjUsNyAr
MzI3LDcgQEAgc3RhdGljIFN0b3JlRGVjaXNpb24gbWFrZVN0b3JlRGVjaXNpb24oY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBvcmlnaW5hbFIKICAgICBib29sIHN0b3JlVW5jb25kaXRp
b25hbGx5Rm9ySGlzdG9yeU5hdmlnYXRpb24gPSBpc01haW5SZXNvdXJjZSB8fCBvcmlnaW5hbFJl
cXVlc3QucHJpb3JpdHkoKSA9PSBXZWJDb3JlOjpSZXNvdXJjZUxvYWRQcmlvcml0eTo6VmVyeUhp
Z2g7CiAgICAgaWYgKCFzdG9yZVVuY29uZGl0aW9uYWxseUZvckhpc3RvcnlOYXZpZ2F0aW9uKSB7
CiAgICAgICAgIGF1dG8gbm93ID0gc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6bm93KCk7Ci0g
ICAgICAgIGJvb2wgaGFzTm9uWmVyb0xpZmV0aW1lID0gIXJlc3BvbnNlLmNhY2hlQ29udHJvbENv
bnRhaW5zTm9DYWNoZSgpICYmIFdlYkNvcmU6OmNvbXB1dGVGcmVzaG5lc3NMaWZldGltZUZvckhU
VFBGYW1pbHkocmVzcG9uc2UsIG5vdykgPiAwX21zOworICAgICAgICBib29sIGhhc05vblplcm9M
aWZldGltZSA9ICFyZXNwb25zZS5jYWNoZUNvbnRyb2xDb250YWluc05vQ2FjaGUoKSAmJiBXZWJD
b3JlOjpjb21wdXRlRnJlc2huZXNzTGlmZXRpbWVGb3JIVFRQRmFtaWx5KHJlc3BvbnNlLCBub3cp
ID4gMG1zOwogCiAgICAgICAgIGJvb2wgcG9zc2libHlSZXVzYWJsZSA9IHJlc3BvbnNlLmhhc0Nh
Y2hlVmFsaWRhdG9yRmllbGRzKCkgfHwgaGFzTm9uWmVyb0xpZmV0aW1lOwogICAgICAgICBpZiAo
IXBvc3NpYmx5UmV1c2FibGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9h
ZE1hbmFnZXIuY3BwCmluZGV4IGI0NGY1ZTcuLjU0NzU1MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1h
bmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCkBAIC00MCwxMyArNDAsMTUgQEAKICNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiAKK3Vz
aW5nIG5hbWVzcGFjZSBzdGQ6OmxpdGVyYWxzOjpjaHJvbm9fbGl0ZXJhbHM7CisKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiBuYW1lc3BhY2UgTmV0d29ya0NhY2hlIHsKIAogdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CiAKLXN0YXRpYyBjb25zdCBhdXRvIHByZWxvYWRlZEVudHJ5TGlmZXRpbWUgPSAx
MF9zOworc3RhdGljIGNvbnN0IGF1dG8gcHJlbG9hZGVkRW50cnlMaWZldGltZSA9IDEwczsKIAog
I2lmICFMT0dfRElTQUJMRUQKIHN0YXRpYyBIYXNoQ291bnRlZFNldDxTdHJpbmc+JiBhbGxTcGVj
dWxhdGl2ZUxvYWRpbmdEaWFnbm9zdGljTWVzc2FnZXMoKQpAQCAtMTE0LDcgKzExNiw3IEBAIHN0
YXRpYyBib29sIHJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24oY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgcmVzcG9uc2UsIHN0ZDo6Y2hyCiAKICAgICBhdXRvIGFnZSA9IGNvbXB1dGVDdXJyZW50QWdl
KHJlc3BvbnNlLCB0aW1lc3RhbXApOwogICAgIGF1dG8gbGlmZXRpbWUgPSBjb21wdXRlRnJlc2hu
ZXNzTGlmZXRpbWVGb3JIVFRQRmFtaWx5KHJlc3BvbnNlLCB0aW1lc3RhbXApOwotICAgIHJldHVy
biBhZ2UgLSBsaWZldGltZSA+IDBfbXM7CisgICAgcmV0dXJuIGFnZSAtIGxpZmV0aW1lID4gMG1z
OwogfQogCiBjbGFzcyBTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyOjpFeHBpcmluZ0VudHJ5IHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZVN0b3JhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlU3RvcmFnZS5jcHAKaW5kZXggMWY2NTBiZi4uN2VhNDJhZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3Rv
cmFnZS5jcHAKQEAgLTQwLDYgKzQwLDggQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCit1c2luZyBuYW1lc3BhY2Ug
c3RkOjpsaXRlcmFsczo6Y2hyb25vX2xpdGVyYWxzOworCiBuYW1lc3BhY2UgV2ViS2l0IHsKIG5h
bWVzcGFjZSBOZXR3b3JrQ2FjaGUgewogCkBAIC01NzIsNyArNTc0LDcgQEAgdm9pZCBTdG9yYWdl
OjpkaXNwYXRjaFJlYWRPcGVyYXRpb24oc3RkOjp1bmlxdWVfcHRyPFJlYWRPcGVyYXRpb24+IHJl
YWRPcGVyYXRpb24KICAgICBtX2FjdGl2ZVJlYWRPcGVyYXRpb25zLmFkZChXVEZNb3ZlKHJlYWRP
cGVyYXRpb25QdHIpKTsKIAogICAgIC8vIEkvTyBwcmVzc3VyZSBtYXkgbWFrZSBkaXNrIG9wZXJh
dGlvbnMgc2xvdy4gSWYgdGhleSBzdGFydCB0YWtpbmcgdmVyeSBsb25nIHRpbWUgd2UgcmF0aGVy
IGdvIHRvIG5ldHdvcmsuCi0gICAgY29uc3QgYXV0byByZWFkVGltZW91dCA9IDE1MDBfbXM7Cisg
ICAgY29uc3QgYXV0byByZWFkVGltZW91dCA9IDE1MDBtczsKICAgICBtX3JlYWRPcGVyYXRpb25U
aW1lb3V0VGltZXIuc3RhcnRPbmVTaG90KHJlYWRUaW1lb3V0KTsKIAogICAgIGJvb2wgc2hvdWxk
R2V0Qm9keUJsb2IgPSBtYXlDb250YWluQmxvYihyZWFkT3BlcmF0aW9uLmtleSk7CkBAIC03OTUs
NyArNzk3LDcgQEAgdm9pZCBTdG9yYWdlOjpzdG9yZShjb25zdCBSZWNvcmQmIHJlY29yZCwgTWFw
cGVkQm9keUhhbmRsZXImJiBtYXBwZWRCb2R5SGFuZGxlcikKIAogICAgIC8vIERlbGF5IHRoZSBz
dGFydCBvZiB3cml0ZXMgYSBiaXQgdG8gYXZvaWQgYWZmZWN0aW5nIGVhcmx5IHBhZ2UgbG9hZC4K
ICAgICAvLyBDb21wbGV0aW5nIHdyaXRlcyB3aWxsIGRpc3BhdGNoIG1vcmUgd3JpdGVzIHdpdGhv
dXQgZGVsYXkuCi0gICAgc3RhdGljIGNvbnN0IGF1dG8gaW5pdGlhbFdyaXRlRGVsYXkgPSAxX3M7
CisgICAgc3RhdGljIGNvbnN0IGF1dG8gaW5pdGlhbFdyaXRlRGVsYXkgPSAxczsKICAgICBtX3dy
aXRlT3BlcmF0aW9uRGlzcGF0Y2hUaW1lci5zdGFydE9uZVNob3QoaW5pdGlhbFdyaXRlRGVsYXkp
OwogfQogCkBAIC05MzUsNyArOTM3LDcgQEAgc3RhdGljIGRvdWJsZSBjb21wdXRlUmVjb3JkV29y
dGgoRmlsZVRpbWVzIHRpbWVzKQogICAgIGF1dG8gYWNjZXNzQWdlID0gdGltZXMubW9kaWZpY2F0
aW9uIC0gdGltZXMuY3JlYXRpb247CiAKICAgICAvLyBGb3Igc2FuaXR5LgotICAgIGlmIChhZ2Ug
PD0gMF9zIHx8IGFjY2Vzc0FnZSA8IDBfcyB8fCBhY2Nlc3NBZ2UgPiBhZ2UpCisgICAgaWYgKGFn
ZSA8PSAwcyB8fCBhY2Nlc3NBZ2UgPCAwcyB8fCBhY2Nlc3NBZ2UgPiBhZ2UpCiAgICAgICAgIHJl
dHVybiAwOwogCiAgICAgLy8gV2UgbGlrZSBvbGQgZW50cmllcyB0aGF0IGhhdmUgYmVlbiBhY2Nl
c3NlZCByZWNlbnRseS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0KaW5kZXggNDk1OWE4Yi4u
ODI3OTQxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXll
ckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21h
Yy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0KQEAgLTMwLDkgKzMwLDExIEBA
CiAjaW1wb3J0ICJSZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oIgogI2ltcG9ydCAiUmVtb3RlTGF5
ZXJUcmVlQ29udGV4dC5oIgogCi1jb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyB2b2xhdGlsZUJh
Y2tpbmdTdG9yZUFnZVRocmVzaG9sZCA9IDFfczsKLWNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgdm9sYXRpbGVTZWNvbmRhcnlCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQgPSAyMDBfbXM7
Ci1jb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHZvbGF0aWxpdHlUaW1lckludGVydmFs
ID0gMjAwX21zOwordXNpbmcgbmFtZXNwYWNlIHN0ZDo6bGl0ZXJhbHM6OmNocm9ub19saXRlcmFs
czsKKworY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgdm9sYXRpbGVCYWNraW5nU3RvcmVBZ2VU
aHJlc2hvbGQgPSAxczsKK2NvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdm9sYXRpbGVT
ZWNvbmRhcnlCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQgPSAyMDBtczsKK2NvbnN0IHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgdm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwgPSAyMDBtczsKIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9W
aWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1ZpZXdH
ZXN0dXJlQ29udHJvbGxlci5jcHAKaW5kZXggYmMyNjE1Mi4uOWY5ZTAzZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKQEAgLTM1
LDE2ICszNSwxNyBAQAogI2ltcG9ydCA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAKIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwordXNpbmcgbmFtZXNwYWNlIHN0ZDo6bGl0ZXJhbHM6OmNocm9ub19s
aXRlcmFsczsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9u
bzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nQWZ0ZXJGaXJzdFZpc3VhbGx5
Tm9uRW1wdHlMYXlvdXREdXJhdGlvbiA9IDNfczsKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsQWN0aXZlTG9hZE1vbml0b3JpbmdJbnRl
cnZhbCA9IDI1MF9tczsKK3N0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNu
YXBzaG90UmVtb3ZhbFdhdGNoZG9nQWZ0ZXJGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXREdXJh
dGlvbiA9IDNzOworc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgc3dpcGVT
bmFwc2hvdFJlbW92YWxBY3RpdmVMb2FkTW9uaXRvcmluZ0ludGVydmFsID0gMjUwbXM7CiAKICNp
ZiBQTEFURk9STShNQUMpCi1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3dpcGVT
bmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gNV9zOworc3RhdGljIGNvbnN0IHN0ZDo6
Y2hyb25vOjpzZWNvbmRzIHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDVz
OwogI2Vsc2UKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90
UmVtb3ZhbFdhdGNoZG9nRHVyYXRpb24gPSAzX3M7CitzdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86
OnNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gM3M7CiAjZW5k
aWYKIAogc3RhdGljIEhhc2hNYXA8dWludDY0X3QsIFZpZXdHZXN0dXJlQ29udHJvbGxlcio+JiB2
aWV3R2VzdHVyZUNvbnRyb2xsZXJzRm9yQWxsUGFnZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKaW5kZXggZTNk
NGE0OC4uN2M4YjYyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCkBAIC01Niw2ICs1Niw3IEBACiAjaW5jbHVk
ZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKK3VzaW5n
IG5hbWVzcGFjZSBzdGQ6OmxpdGVyYWxzOjpjaHJvbm9fbGl0ZXJhbHM7CiAKICNkZWZpbmUgV0VC
TE9BREVSU1RSQVRFR1lfTE9HX0FMV0FZUyguLi4pIExPR19BTFdBWVMobG9hZFBhcmFtZXRlcnMu
c2Vzc2lvbklELmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBfX1ZBX0FSR1NfXykKICNkZWZp
bmUgV0VCTE9BREVSU1RSQVRFR1lfTE9HX0FMV0FZU19FUlJPUiguLi4pIExPR19BTFdBWVNfRVJS
T1IobG9hZFBhcmFtZXRlcnMuc2Vzc2lvbklELmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBf
X1ZBX0FSR1NfXykKQEAgLTk0LDcgKzk1LDcgQEAgc3RhdGljIHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogI2Vu
ZGlmCiAKICAgICBpZiAoIXJlc291cmNlKQotICAgICAgICByZXR1cm4gMF9tczsKKyAgICAgICAg
cmV0dXJuIDBtczsKIAogICAgIHN3aXRjaCAocmVzb3VyY2UtPnR5cGUoKSkgewogICAgIGNhc2Ug
Q2FjaGVkUmVzb3VyY2U6OkNTU1N0eWxlU2hlZXQ6CkBAIC0xMDUsNyArMTA2LDcgQEAgc3RhdGlj
IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUoQ2FjaGVkUmVz
b3VyY2UqIHJlc291cmNlKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkZvbnRSZXNvdXJjZToK
ICAgICAgICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM6Om1heCgpOwogICAgIGNh
c2UgQ2FjaGVkUmVzb3VyY2U6OkltYWdlUmVzb3VyY2U6Ci0gICAgICAgIHJldHVybiA1MDBfbXM7
CisgICAgICAgIHJldHVybiA1MDBtczsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpNZWRpYVJl
c291cmNlOgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6Ok1haW5SZXNvdXJjZToKICAgICBjYXNl
IENhY2hlZFJlc291cmNlOjpSYXdSZXNvdXJjZToKQEAgLTEyMSwxMSArMTIyLDExIEBAIHN0YXRp
YyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lKENhY2hlZFJl
c291cmNlKiByZXNvdXJjZSkKICNpZiBFTkFCTEUoWFNMVCkKICAgICBjYXNlIENhY2hlZFJlc291
cmNlOjpYU0xTdHlsZVNoZWV0OgogI2VuZGlmCi0gICAgICAgIHJldHVybiAwX21zOworICAgICAg
ICByZXR1cm4gMG1zOwogICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJl
dHVybiAwX21zOworICAgIHJldHVybiAwbXM7CiB9CiAKIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6
OnNjaGVkdWxlTG9hZChSZXNvdXJjZUxvYWRlciogcmVzb3VyY2VMb2FkZXIsIENhY2hlZFJlc291
cmNlKiByZXNvdXJjZSwgYm9vbCBzaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGly
ZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9S
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0KaW5kZXggMzcxZjYxNC4u
YzdhMDdlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCkBAIC01MSw2
ICs1MSw3IEBACiAjaW1wb3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4KIAogdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7Cit1c2luZyBuYW1lc3BhY2Ugc3RkOjpsaXRlcmFsczo6Y2hyb25vX2xp
dGVyYWxzOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMjg0LDcgKzI4NSw3IEBAIFRpbGVk
QmFja2luZyogUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6Om1haW5GcmFtZVRpbGVkQmFja2lu
ZygpIGNvbnN0CiAKIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29t
cG9zaXRpbmdMYXllckZsdXNoSW1tZWRpYXRlbHkoKQogewotICAgIG1fbGF5ZXJGbHVzaFRpbWVy
LnN0YXJ0T25lU2hvdCgwX21zKTsKKyAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3Qo
MG1zKTsKIH0KIAogdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21w
b3NpdGluZ0xheWVyRmx1c2goKQpAQCAtMzAzLDkgKzMwNCw5IEBAIHZvaWQgUmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCkKICAgICBpZiAo
bV9sYXllckZsdXNoVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgY29u
c3QgYXV0byBpbml0aWFsRmx1c2hEZWxheSA9IDUwMF9tczsKLSAgICBjb25zdCBhdXRvIGZsdXNo
RGVsYXkgPSAxNTAwX21zOwotICAgIGF1dG8gdGhyb3R0bGVEZWxheSA9IG1faXNUaHJvdHRsaW5n
TGF5ZXJGbHVzaGVzID8gKG1faXNJbml0aWFsVGhyb3R0bGVkTGF5ZXJGbHVzaCA/IGluaXRpYWxG
bHVzaERlbGF5IDogZmx1c2hEZWxheSkgOiAwX21zOworICAgIGNvbnN0IGF1dG8gaW5pdGlhbEZs
dXNoRGVsYXkgPSA1MDBtczsKKyAgICBjb25zdCBhdXRvIGZsdXNoRGVsYXkgPSAxNTAwbXM7Cisg
ICAgYXV0byB0aHJvdHRsZURlbGF5ID0gbV9pc1Rocm90dGxpbmdMYXllckZsdXNoZXMgPyAobV9p
c0luaXRpYWxUaHJvdHRsZWRMYXllckZsdXNoID8gaW5pdGlhbEZsdXNoRGVsYXkgOiBmbHVzaERl
bGF5KSA6IDBtczsKICAgICBtX2lzSW5pdGlhbFRocm90dGxlZExheWVyRmx1c2ggPSBmYWxzZTsK
IAogICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJvdHRsZURlbGF5KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcgYi9T
b3VyY2UvYm1hbGxvYy9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmluZGV4IGVlMzc1OGUu
LjJhNTc5ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL0NvbmZpZ3VyYXRpb25zL0Jhc2Uu
eGNjb25maWcKKysrIGIvU291cmNlL2JtYWxsb2MvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZp
ZwpAQCAtMjgsNyArMjgsNyBAQCBVU0VfSU5URVJOQUxfU0RLX1Byb2R1Y3Rpb24gPSBZRVM7CiBV
U0VfSU5URVJOQUxfU0RLX0RlYnVnID0gJChIQVZFX0lOVEVSTkFMX1NESyk7CiBVU0VfSU5URVJO
QUxfU0RLX1JlbGVhc2UgPSAkKEhBVkVfSU5URVJOQUxfU0RLKTsKIAotQ0xBTkdfQ1hYX0xBTkdV
QUdFX1NUQU5EQVJEID0gZ251KysweDsKK0NMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9IGdu
dSsrMTQ7CiBDTEFOR19DWFhfTElCUkFSWSA9IGxpYmMrKzsKIENMQU5HX1dBUk5fQk9PTF9DT05W
RVJTSU9OID0gWUVTOwogQ0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJTSU9OID0gWUVTOwpkaWZm
IC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNDb21tb24uY21ha2UgYi9Tb3VyY2UvY21ha2Uv
T3B0aW9uc0NvbW1vbi5jbWFrZQppbmRleCAzMDJhYmIyNS4uYmRmMmE5ZiAxMDA2NDQKLS0tIGEv
U291cmNlL2NtYWtlL09wdGlvbnNDb21tb24uY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlv
bnNDb21tb24uY21ha2UKQEAgLTI5LDcgKzI5LDcgQEAgZGVmaW5lX3Byb3BlcnR5KFRBUkdFVCBQ
Uk9QRVJUWSBGT0xERVIgSU5IRVJJVEVEIEJSSUVGX0RPQ1MgImZvbGRlciIgRlVMTF9ET0NTICIK
IGlmIChDTUFLRV9DT01QSUxFUl9JU19HTlVDWFggT1IgIiR7Q01BS0VfQ1hYX0NPTVBJTEVSX0lE
fSIgU1RSRVFVQUwgIkNsYW5nIikKICAgICBzZXQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NN
QUtFX0NfRkxBR1NfUkVMRUFTRX0gLWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5n
IikKICAgICBzZXQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JF
TEVBU0V9IC1mbm8tZXhjZXB0aW9ucyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkiKQot
ICAgIHNldChDTUFLRV9DWFhfRkxBR1MgIiR7Q01BS0VfQ1hYX0ZMQUdTfSAtc3RkPWMrKzExIikK
KyAgICBzZXQoQ01BS0VfQ1hYX0ZMQUdTICIke0NNQUtFX0NYWF9GTEFHU30gLXN0ZD1jKysxeSIp
CiBlbmRpZiAoKQogCiBpZiAoIiR7Q01BS0VfQ1hYX0NPTVBJTEVSX0lEfSIgU1RSRVFVQUwgIkNs
YW5nIiBBTkQgQ01BS0VfR0VORVJBVE9SIFNUUkVRVUFMICJOaW5qYSIpCmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmluZGV4
IDVhMTllNjMuLmI4MWU1YzggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9D
b25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21h
Yy9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCkBAIC0yOCw3ICsyOCw3IEBAIFVTRV9JTlRF
Uk5BTF9TREtfUHJvZHVjdGlvbiA9IFlFUzsKIFVTRV9JTlRFUk5BTF9TREtfRGVidWcgPSAkKEhB
VkVfSU5URVJOQUxfU0RLKTsKIFVTRV9JTlRFUk5BTF9TREtfUmVsZWFzZSA9ICQoSEFWRV9JTlRF
Uk5BTF9TREspOwogCi1DTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzB4OworQ0xB
TkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251KysxNDsKIENMQU5HX0NYWF9MSUJSQVJZID0g
bGliYysrOwogQ0xBTkdfV0FSTl9DWFgwWF9FWFRFTlNJT05TID0gTk87CiBIRUFERVJfU0VBUkNI
X1BBVEhTID0gJChCVUlMVF9QUk9EVUNUU19ESVIpL3Vzci9sb2NhbC9pbmNsdWRlICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9XZWJDb3JlVGVzdFN1cHBvcnQgRm9yd2FyZGluZ0hlYWRlcnMgJChQTEFU
Rk9STV9IRUFERVJfU0VBUkNIX1BBVEhTKSAkKFNSQ1JPT1QpLy4uLy4uL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pY3U7CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9Db25maWd1cmF0aW9u
cy9CYXNlLnhjY29uZmlnIGIvVG9vbHMvTWluaUJyb3dzZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54
Y2NvbmZpZwppbmRleCA3NDNhZmI5Li42M2U4NDJiIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJv
d3Nlci9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCisrKyBiL1Rvb2xzL01pbmlCcm93c2Vy
L0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTI4LDcgKzI4LDcgQEAgVVNFX0lOVEVS
TkFMX1NES19Qcm9kdWN0aW9uID0gWUVTOwogVVNFX0lOVEVSTkFMX1NES19EZWJ1ZyA9ICQoSEFW
RV9JTlRFUk5BTF9TREspOwogVVNFX0lOVEVSTkFMX1NES19SZWxlYXNlID0gJChIQVZFX0lOVEVS
TkFMX1NESyk7CiAKLUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMHg7CitDTEFO
R19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzE0OwogQ0xBTkdfQ1hYX0xJQlJBUlkgPSBs
aWJjKys7CiBERUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSBkd2FyZi13aXRoLWRzeW07CiBQUkVC
SU5ESU5HID0gTk8KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlv
bnMvQmFzZS54Y2NvbmZpZyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvQmFz
ZS54Y2NvbmZpZwppbmRleCBlM2E0MTcwLi5jM2JiZmEzIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCkBAIC0yOCw3ICsyOCw3IEBAIFVT
RV9JTlRFUk5BTF9TREtfUHJvZHVjdGlvbiA9IFlFUzsKIFVTRV9JTlRFUk5BTF9TREtfRGVidWcg
PSAkKEhBVkVfSU5URVJOQUxfU0RLKTsKIFVTRV9JTlRFUk5BTF9TREtfUmVsZWFzZSA9ICQoSEFW
RV9JTlRFUk5BTF9TREspOwogCi1DTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzB4
OworQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251KysxNDsKIENMQU5HX0NYWF9MSUJS
QVJZID0gbGliYysrOwogQ0xBTkdfV0FSTl9DWFgwWF9FWFRFTlNJT05TID0gTk87CiBIRUFERVJf
U0VBUkNIX1BBVEhTID0gJHtCVUlMVF9QUk9EVUNUU19ESVJ9L3Vzci9sb2NhbC9pbmNsdWRlICQo
V0VCQ09SRV9QUklWQVRFX0hFQURFUlNfRElSKS9Gb3J3YXJkaW5nSGVhZGVycyAkKFdFQkNPUkVf
UFJJVkFURV9IRUFERVJTX0RJUikvaWN1ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9XZWJDb3JlVGVz
dFN1cHBvcnQ7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0NvbmZpZ3VyYXRp
b25zL0Jhc2UueGNjb25maWcgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0NvbmZpZ3VyYXRpb25z
L0Jhc2UueGNjb25maWcKaW5kZXggYzM3OTFjZC4uNGE3MWViYSAxMDA2NDQKLS0tIGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpAQCAtMjgsNyAr
MjgsNyBAQCBVU0VfSU5URVJOQUxfU0RLX1Byb2R1Y3Rpb24gPSBZRVM7CiBVU0VfSU5URVJOQUxf
U0RLX0RlYnVnID0gJChIQVZFX0lOVEVSTkFMX1NESyk7CiBVU0VfSU5URVJOQUxfU0RLX1JlbGVh
c2UgPSAkKEhBVkVfSU5URVJOQUxfU0RLKTsKIAotQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJE
ID0gZ251KysweDsKK0NMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMTQ7CiBDTEFO
R19DWFhfTElCUkFSWSA9IGxpYmMrKzsKIENMQU5HX1dBUk5fQ1hYMFhfRVhURU5TSU9OUyA9IE5P
OwogSEVBREVSX1NFQVJDSF9QQVRIUyA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwv
aW5jbHVkZSAkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUikvRm9yd2FyZGluZ0hlYWRlcnMg
JChTUkNST09UKS8uLi8uLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1ICQoTkVYVF9ST09UKS91
c3IvbG9jYWwvaW5jbHVkZS9XZWJDb3JlVGVzdFN1cHBvcnQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>279541</attachid>
            <date>2016-05-21 08:12:02 -0700</date>
            <delta_ts>2016-05-22 13:08:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>33756</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA0Zjg5N2U1Li5hMGQ2MTdh
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTYtMDUtMjEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAg
IE1vdmUgdG8gQysrMTQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTc5NDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNtYWtlOgorCiAyMDE2LTA1LTE4
ICBHd2FuZyBZb29uIEh3YW5nICA8eW9vbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFt
ZXJdIFVzZSBGYWtlU2luayB0byBnZXQgYSBkZWNvZGVkIHRleHR1cmUgZnJvbSBhIHBpcGVsaW5l
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAzZjJmYzZlLi5lZWE4NzBmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNi0wNS0yMSAgQnJhZHkgRWlkc29u
ICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSB0byBDKysxNC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1Nzk0OAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMv
QmFzZS54Y2NvbmZpZzoKKwogMjAxNi0wNS0yMCAgU2FhbSBiYXJhdGkgIDxzYmFyYXRpQGFwcGxl
LmNvbT4KIAogICAgICAgICBKU1Njb3BlOjphYnN0cmFjdEFjY2VzcyBkb2Vzbid0IG5lZWQgdG8g
Y29weSB0aGUgU3ltYm9sVGFibGVFbnRyeSwgaXQgY2FuIHVzZSBpdCBieSByZWZlcmVuY2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29u
ZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcK
aW5kZXggMDA0NjAyZi4uMTgzYTZmOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTI4LDcgKzI4LDcgQEAgVVNFX0lOVEVS
TkFMX1NES19Qcm9kdWN0aW9uID0gWUVTOwogVVNFX0lOVEVSTkFMX1NES19EZWJ1ZyA9ICQoSEFW
RV9JTlRFUk5BTF9TREspOwogVVNFX0lOVEVSTkFMX1NES19SZWxlYXNlID0gJChIQVZFX0lOVEVS
TkFMX1NESyk7CiAKLUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMHg7CitDTEFO
R19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzE0OwogQ0xBTkdfQ1hYX0xJQlJBUlkgPSBs
aWJjKys7CiBDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsKIENMQU5HX1dBUk5fQ09O
U1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL0NoYW5nZUxvZyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxvZwppbmRleCBi
M2M2YjJhLi4xNDIzNDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTIgQEAKKzIwMTYtMDUtMjEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisg
ICAgICAgIE1vdmUgdG8gQysrMTQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNTc5NDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWc6CisKIDIwMTYtMDQt
MjYgIFBlciBBcm5lIFZvbGxhbiAgPHBlYXZvQG91dGxvb2suY29tPgogCiAgICAgICAgIFtXaW5D
YWlyb11bQU5HTEVdIERpc3BsYXkgb2JqZWN0IGlzIG5vdCBjcmVhdGVkLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZyBiL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXgg
MzcyM2FhNy4uNGY5MjU1YyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ29u
ZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9D
b25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCkBAIC01LDcgKzUsNyBAQCBVU0VfSU5URVJOQUxf
U0RLX1Byb2R1Y3Rpb24gPSBZRVM7CiBVU0VfSU5URVJOQUxfU0RLX0RlYnVnID0gJChIQVZFX0lO
VEVSTkFMX1NESyk7CiBVU0VfSU5URVJOQUxfU0RLX1JlbGVhc2UgPSAkKEhBVkVfSU5URVJOQUxf
U0RLKTsKIAotQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251KysweDsKK0NMQU5HX0NY
WF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMTQ7CiBDTEFOR19DWFhfTElCUkFSWSA9IGxpYmMr
KzsKIENMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwogQ0xBTkdfV0FSTl9DT05TVEFO
VF9DT05WRVJTSU9OID0gWUVTOwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQ2hhbmdl
TG9nIGIvU291cmNlL1RoaXJkUGFydHkvQ2hhbmdlTG9nCmluZGV4IGUyZDhjZTguLjVjOWM5MmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNi0wNS0yMSAgQnJhZHkgRWlk
c29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSB0byBDKysxNC4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1Nzk0OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZ3Rlc3QveGNvZGUv
Q29uZmlnL0dlbmVyYWwueGNjb25maWc6CisKIDIwMTYtMDMtMTcgIENzYWJhIE9zenRyb2dvbsOh
YyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCBsaW5lIGVuZGluZyBm
aXhlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L3hjb2RlL0NvbmZpZy9H
ZW5lcmFsLnhjY29uZmlnIGIvU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QveGNvZGUvQ29uZmlnL0dl
bmVyYWwueGNjb25maWcKaW5kZXggNzE4ZDJjYy4uZDg3NjNkNiAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvZ3Rlc3QveGNvZGUvQ29uZmlnL0dlbmVyYWwueGNjb25maWcKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvZ3Rlc3QveGNvZGUvQ29uZmlnL0dlbmVyYWwueGNjb25maWcKQEAgLTQ5
LDggKzQ5LDggQEAgU0VQQVJBVEVfU1RSSVAgPSBZRVMKIC8vIEZvcmNlIEM5OSBkaWFsZWN0CiBH
Q0NfQ19MQU5HVUFHRV9TVEFOREFSRCA9IGM5OQogCi0vLyBGb3JjZSBDKysxMQotQ0xBTkdfQ1hY
X0xBTkdVQUdFX1NUQU5EQVJEID0gZ251KysweDsKKy8vIEZvcmNlIEMrKzE0CitDTEFOR19DWFhf
TEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzE0OwogCiAvLyBub3Qgc3VyZSB3aHkgYXBwbGUgZGVm
YXVsdHMgdGhpcyBvbiwgYnV0IGl0J3MgcHJldHR5IHJpc2t5CiBBTFdBWVNfU0VBUkNIX1VTRVJf
UEFUSFMgPSBOTwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwppbmRleCA2ODBiYzNlLi5jZmQzNGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisy
MDE2LTA1LTIxICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBN
b3ZlIHRvIEMrKzE0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTU3OTQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBDb25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnOgorICAgICAgICAKKyAgICAgICAg
RGVsZXRlIGEgbG90IG9mICJzdGwgYWRkaXRpb25zIHVudGlsIHdlIGNhbiBhZG9wdCBDKysxNCIg
Y29kZToKKyAgICAgICAgKiB3dGYvU3RkTGliRXh0cmFzLmg6CisgICAgICAgIChzdGQ6Om1ha2Vf
dW5pcXVlKTogRGVsZXRlZC4KKyAgICAgICAgKHN0ZDo6aW5kZXhfc2VxdWVuY2U6OnNpemUpOiBE
ZWxldGVkLgorICAgICAgICAoc3RkOjpleGNoYW5nZSk6IERlbGV0ZWQuCisgICAgICAgIChzdGQ6
OmxpdGVyYWxzOjpjaHJvbm9fbGl0ZXJhbHM6Om9wZXJhdG9yIF9zKTogRGVsZXRlZC4KKyAgICAg
ICAgKHN0ZDo6bGl0ZXJhbHM6OmNocm9ub19saXRlcmFsczo6b3BlcmF0b3IgX21zKTogRGVsZXRl
ZC4KKwogMjAxNi0wNS0yMCAgUmF3aW5kZXIgU2luZ2ggIDxyYXdpbmRlci5zaW5naC13ZWJraXRA
Y2lzcmEuY2Fub24uY29tLmF1PgogCiAgICAgICAgIEltcGxlbWVudCBvcGVyYXRvcj09IGZvciBX
ZWFrUHRyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25m
aWcgYi9Tb3VyY2UvV1RGL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggM2UxOWIz
Ny4uOWFmZDI5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9Db25maWd1cmF0aW9ucy9CYXNlLnhj
Y29uZmlnCisrKyBiL1NvdXJjZS9XVEYvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpAQCAt
MjgsNyArMjgsNyBAQCBVU0VfSU5URVJOQUxfU0RLX1Byb2R1Y3Rpb24gPSBZRVM7CiBVU0VfSU5U
RVJOQUxfU0RLX0RlYnVnID0gJChIQVZFX0lOVEVSTkFMX1NESyk7CiBVU0VfSU5URVJOQUxfU0RL
X1JlbGVhc2UgPSAkKEhBVkVfSU5URVJOQUxfU0RLKTsKIAotQ0xBTkdfQ1hYX0xBTkdVQUdFX1NU
QU5EQVJEID0gZ251KysweDsKK0NMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMTQ7
CiBDTEFOR19DWFhfTElCUkFSWSA9IGxpYmMrKzsKIENMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9O
ID0gWUVTOwogQ0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJTSU9OID0gWUVTOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvU3RkTGliRXh0cmFzLmggYi9Tb3VyY2UvV1RGL3d0Zi9TdGRMaWJF
eHRyYXMuaAppbmRleCBiMTIwYzI2Li4zNTA5NDI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9TdGRMaWJFeHRyYXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9TdGRMaWJFeHRyYXMuaApAQCAt
MzIwLDg2ICszMjAsNiBAQCBpbmxpbmUgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgTm90TnVs
bFRhZywgdm9pZCogbG9jYXRpb24pCiAKIC8vIFRoaXMgYWRkcyB2YXJpb3VzIEMrKzE0IGZlYXR1
cmVzIGZvciB2ZXJzaW9ucyBvZiB0aGUgU1RMIHRoYXQgbWF5IG5vdCB5ZXQgaGF2ZSB0aGVtLgog
bmFtZXNwYWNlIHN0ZCB7Ci0vLyBNU1ZDIDIwMTMgc3VwcG9ydHMgc3RkOjptYWtlX3VuaXF1ZSBh
bHJlYWR5LgotI2lmICFkZWZpbmVkKF9NU0NfVkVSKSB8fCBfTVNDX1ZFUiA8IDE4MDAKLXRlbXBs
YXRlPGNsYXNzIFQ+IHN0cnVjdCBfVW5pcXVlX2lmIHsKLSAgICB0eXBlZGVmIHVuaXF1ZV9wdHI8
VD4gX1NpbmdsZV9vYmplY3Q7Ci19OwotCi10ZW1wbGF0ZTxjbGFzcyBUPiBzdHJ1Y3QgX1VuaXF1
ZV9pZjxUW10+IHsKLSAgICB0eXBlZGVmIHVuaXF1ZV9wdHI8VFtdPiBfVW5rbm93bl9ib3VuZDsK
LX07Ci0KLXRlbXBsYXRlPGNsYXNzIFQsIHNpemVfdCBOPiBzdHJ1Y3QgX1VuaXF1ZV9pZjxUW05d
PiB7Ci0gICAgdHlwZWRlZiB2b2lkIF9Lbm93bl9ib3VuZDsKLX07Ci0KLXRlbXBsYXRlPGNsYXNz
IFQsIGNsYXNzLi4uIEFyZ3M+IGlubGluZSB0eXBlbmFtZSBfVW5pcXVlX2lmPFQ+OjpfU2luZ2xl
X29iamVjdAotbWFrZV91bmlxdWUoQXJncyYmLi4uIGFyZ3MpCi17Ci0gICAgcmV0dXJuIHVuaXF1
ZV9wdHI8VD4obmV3IFQoc3RkOjpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKSk7Ci19Ci0KLXRlbXBs
YXRlPGNsYXNzIFQ+IGlubGluZSB0eXBlbmFtZSBfVW5pcXVlX2lmPFQ+OjpfVW5rbm93bl9ib3Vu
ZAotbWFrZV91bmlxdWUoc2l6ZV90IG4pCi17Ci0gICAgdHlwZWRlZiB0eXBlbmFtZSByZW1vdmVf
ZXh0ZW50PFQ+Ojp0eXBlIFU7Ci0gICAgcmV0dXJuIHVuaXF1ZV9wdHI8VD4obmV3IFVbbl0oKSk7
Ci19Ci0KLXRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzLi4uIEFyZ3M+IHR5cGVuYW1lIF9VbmlxdWVf
aWY8VD46Ol9Lbm93bl9ib3VuZAotbWFrZV91bmlxdWUoQXJncyYmLi4uKSA9IGRlbGV0ZTsKLSNl
bmRpZgotCi0vLyBNU1ZDIDIwMTUgc3VwcG9ydHMgdGhlc2UgZnVuY3Rpb25zLgotI2lmICFDT01Q
SUxFUihNU1ZDKSB8fCBfTVNDX1ZFUiA8IDE5MDAKLS8vIENvbXBpbGUtdGltZSBpbnRlZ2VyIHNl
cXVlbmNlcwotLy8gaHR0cDovL3d3dy5vcGVuLXN0ZC5vcmcvanRjMS9zYzIyL3dnMjEvZG9jcy9w
YXBlcnMvMjAxMy9uMzY1OC5odG1sCi0vLyAoTm90ZSB0aGF0IHdlIG9ubHkgaW1wbGVtZW50IGlu
ZGV4X3NlcXVlbmNlLCBhbmQgbm90IHRoZSBtb3JlIGdlbmVyaWMgaW50ZWdlcl9zZXF1ZW5jZSku
Ci10ZW1wbGF0ZTxzaXplX3QuLi4gaW5kZXhlcz4gc3RydWN0IGluZGV4X3NlcXVlbmNlIHsKLSAg
ICBzdGF0aWMgc2l6ZV90IHNpemUoKSB7IHJldHVybiBzaXplb2YuLi4oaW5kZXhlcyk7IH0KLX07
Ci0KLXRlbXBsYXRlPHNpemVfdCBjdXJyZW50SW5kZXgsIHNpemVfdC4uLmluZGV4ZXM+IHN0cnVj
dCBtYWtlX2luZGV4X3NlcXVlbmNlX2hlbHBlcjsKLQotdGVtcGxhdGU8c2l6ZV90Li4uaW5kZXhl
cz4gc3RydWN0IG1ha2VfaW5kZXhfc2VxdWVuY2VfaGVscGVyPDAsIGluZGV4ZXMuLi4+IHsKLSAg
ICB0eXBlZGVmIHN0ZDo6aW5kZXhfc2VxdWVuY2U8aW5kZXhlcy4uLj4gdHlwZTsKLX07Ci0KLXRl
bXBsYXRlPHNpemVfdCBjdXJyZW50SW5kZXgsIHNpemVfdC4uLmluZGV4ZXM+IHN0cnVjdCBtYWtl
X2luZGV4X3NlcXVlbmNlX2hlbHBlciB7Ci0gICAgdHlwZWRlZiB0eXBlbmFtZSBtYWtlX2luZGV4
X3NlcXVlbmNlX2hlbHBlcjxjdXJyZW50SW5kZXggLSAxLCBjdXJyZW50SW5kZXggLSAxLCBpbmRl
eGVzLi4uPjo6dHlwZSB0eXBlOwotfTsKLQotdGVtcGxhdGU8c2l6ZV90IGxlbmd0aD4gc3RydWN0
IG1ha2VfaW5kZXhfc2VxdWVuY2UgOiBwdWJsaWMgbWFrZV9pbmRleF9zZXF1ZW5jZV9oZWxwZXI8
bGVuZ3RoPjo6dHlwZSB7IH07Ci0KLS8vIHN0ZDo6ZXhjaGFuZ2UKLXRlbXBsYXRlPGNsYXNzIFQs
IGNsYXNzIFUgPSBUPgotVCBleGNoYW5nZShUJiB0LCBVJiYgbmV3VmFsdWUpCi17Ci0gICAgVCBv
bGRWYWx1ZSA9IHN0ZDo6bW92ZSh0KTsKLSAgICB0ID0gc3RkOjpmb3J3YXJkPFU+KG5ld1ZhbHVl
KTsKLQotICAgIHJldHVybiBvbGRWYWx1ZTsKLX0KLSNlbmRpZgotCi0jaWYgQ09NUElMRVJfU1VQ
UE9SVFMoQ1hYX1VTRVJfTElURVJBTFMpCi0vLyBUaGVzZSBsaXRlcmFscyBhcmUgYXZhaWxhYmxl
IGluIEMrKzE0LCBzbyBvbmNlIHdlIHJlcXVpcmUgQysrMTQgY29tcGlsZXJzIHdlIGNhbiBnZXQg
cmlkIG9mIHRoZW0gaGVyZS4KLS8vIChVc2VyLWxpdGVyYWxzIG5lZWQgdG8gaGF2ZSBhIGxlYWRp
bmcgdW5kZXJzY29yZSBzbyB3ZSBhZGQgaXQgaGVyZSAtIHRoZSAicmVhbCIgbGl0ZXJhbHMgZG9u
J3QgaGF2ZSB1bmRlcnNjb3JlcykuCi1uYW1lc3BhY2UgbGl0ZXJhbHMgewotbmFtZXNwYWNlIGNo
cm9ub19saXRlcmFscyB7Ci0gICAgY29uc3RleHByIGlubGluZSBjaHJvbm86OnNlY29uZHMgb3Bl
cmF0b3IiIiBfcyh1bnNpZ25lZCBsb25nIGxvbmcgcykKLSAgICB7Ci0gICAgICAgIHJldHVybiBj
aHJvbm86OnNlY29uZHMoc3RhdGljX2Nhc3Q8Y2hyb25vOjpzZWNvbmRzOjpyZXA+KHMpKTsKLSAg
ICB9Ci0KLSAgICBjb25zdGV4cHIgY2hyb25vOjptaWxsaXNlY29uZHMgb3BlcmF0b3IiIiBfbXMo
dW5zaWduZWQgbG9uZyBsb25nIG1zKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGNocm9ubzo6bWls
bGlzZWNvbmRzKHN0YXRpY19jYXN0PGNocm9ubzo6bWlsbGlzZWNvbmRzOjpyZXA+KG1zKSk7Ci0g
ICAgfQotfQotfQotI2VuZGlmCiAKIHRlbXBsYXRlPFdURjo6Q2hlY2tNb3ZlUGFyYW1ldGVyVGFn
LCB0eXBlbmFtZSBUPgogQUxXQVlTX0lOTElORSBjb25zdGV4cHIgdHlwZW5hbWUgcmVtb3ZlX3Jl
ZmVyZW5jZTxUPjo6dHlwZSYmIG1vdmUoVCYmIHZhbHVlKQpAQCAtNDMxLDkgKzM1MSw3IEBAIHVz
aW5nIFdURjo6aXM4Qnl0ZUFsaWduZWQ7CiB1c2luZyBXVEY6OnNhZmVDYXN0OwogdXNpbmcgV1RG
Ojp0cnlCaW5hcnlTZWFyY2g7CiAKLSNpZiBDT01QSUxFUl9TVVBQT1JUUyhDWFhfVVNFUl9MSVRF
UkFMUykKIC8vIFdlIG5vcm1hbGx5IGRvbid0IHdhbnQgdG8gYnJpbmcgaW4gZW50aXJlIHN0ZCBu
YW1lc3BhY2VzLCBidXQgbGl0ZXJhbHMgYXJlIGFuIGV4Y2VwdGlvbi4KIHVzaW5nIG5hbWVzcGFj
ZSBzdGQ6OmxpdGVyYWxzOjpjaHJvbm9fbGl0ZXJhbHM7Ci0jZW5kaWYKIAogI2VuZGlmIC8vIFdU
Rl9TdGRMaWJFeHRyYXNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGY1ZjBkMjYuLjY4Zjk3ZjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMCBAQAorMjAxNi0wNS0yMSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBh
cHBsZS5jb20+CisKKyAgICAgICAgTW92ZSB0byBDKysxNC4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1Nzk0OAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoTm8gY2hhbmdlIGluIGJl
aGF2aW9yKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWc6CisgICAg
ICAgIAorICAgICAgICBSZXBsYWNlIHRpbWUgbGl0ZXJhbCBzdWZmaXhlcyB0aGF0IGhhdmUgdW5k
ZXJzY29yZXMgdG8gdGhlIGZvcm1zIHdpdGhvdXQKKyAgICAgICAgKGUuZy4gMF9tcyBiZWNvbWVz
IDBtcyk6CisgICAgICAgICogcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbToK
KyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1Rp
bWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwOgorCiAyMDE2LTA1LTIwICBaYWxhbiBCdWp0YXMgIDx6
YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgYHdpZHRoOiAxJWAgb24gbmVzdGVkIHRhYmxlIGNl
bGwgY2F1c2VzIGl0cyB0YWJsZSB0byBob2cgaG9yaXpvbnRhbCBzcGFjZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZyBiL1NvdXJjZS9XZWJD
b3JlL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggYzAxY2YxYS4uZTQwNWE5NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCkBAIC0yOCw3
ICsyOCw3IEBAIFVTRV9JTlRFUk5BTF9TREtfUHJvZHVjdGlvbiA9IFlFUzsKIFVTRV9JTlRFUk5B
TF9TREtfRGVidWcgPSAkKEhBVkVfSU5URVJOQUxfU0RLKTsKIFVTRV9JTlRFUk5BTF9TREtfUmVs
ZWFzZSA9ICQoSEFWRV9JTlRFUk5BTF9TREspOwogCi1DTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRB
UkQgPSBnbnUrKzB4OworQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251KysxNDsKIENM
QU5HX0NYWF9MSUJSQVJZID0gbGliYysrOwogQ0xBTkdfV0FSTl9CT09MX0NPTlZFUlNJT04gPSBZ
RVM7CiBDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZFUlNJT04gPSBZRVM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQppbmRleCBi
Y2JiNTZhLi5iMTY3Y2UyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2
aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1Nl
cnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KQEAgLTQzOCwxMCArNDM4LDEwIEBAIHN0ZDo6Y2hy
b25vOjptaWxsaXNlY29uZHMgU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6cmVtYWluaW5nVGlt
ZVVudGlsSGlnaGxpZ2h0CiAgICAgaWYgKCFoaWdobGlnaHQpCiAgICAgICAgIHJldHVybiBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzOjp6ZXJvKCk7CiAKLSAgICBhdXRvIG1pbmltdW1UaW1lVW50
aWxIaWdobGlnaHRTaG91bGRCZVNob3duID0gMjAwX21zOworICAgIGF1dG8gbWluaW11bVRpbWVV
bnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gPSAyMDBtczsKICAgICBQYWdlKiBwYWdlID0gbV9t
YWluRnJhbWUucGFnZSgpOwogICAgIGlmIChwYWdlICYmIHBhZ2UtPmZvY3VzQ29udHJvbGxlcigp
LmZvY3VzZWRPck1haW5GcmFtZSgpLnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLmlzQ29udGVudEVk
aXRhYmxlKCkpCi0gICAgICAgIG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3du
ID0gMTAwMF9tczsKKyAgICAgICAgbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hv
d24gPSAxMDAwbXM7CiAKICAgICBib29sIG1vdXNlUHJlc3NlZCA9IG1fbWFpbkZyYW1lLmV2ZW50
SGFuZGxlcigpLm1vdXNlUHJlc3NlZCgpOwogCkBAIC00NDksMTIgKzQ0OSwxMiBAQCBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OnJlbWFpbmluZ1Rp
bWVVbnRpbEhpZ2hsaWdodAogICAgIC8vIGJ5IHZpcnR1ZSBvZiBiZWluZyBleHBhbmRlZCB0byBp
bmNsdWRlIHRoZSBlbnRpcmUgdGVsZXBob25lIG51bWJlci4gSG93ZXZlciwgd2Ugd2lsbCBzdGls
bCBhdm9pZCBoaWdobGlnaHRpbmcKICAgICAvLyB0ZWxlcGhvbmUgbnVtYmVycyB3aGlsZSB0aGUg
bW91c2UgaXMgZG93bi4KICAgICBpZiAoaGlnaGxpZ2h0LT50eXBlKCkgPT0gSGlnaGxpZ2h0OjpU
ZWxlcGhvbmVOdW1iZXJUeXBlKQotICAgICAgICByZXR1cm4gbW91c2VQcmVzc2VkID8gbWluaW11
bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gOiAwX21zOworICAgICAgICByZXR1cm4g
bW91c2VQcmVzc2VkID8gbWluaW11bVRpbWVVbnRpbEhpZ2hsaWdodFNob3VsZEJlU2hvd24gOiAw
bXM7CiAKICAgICBhdXRvIG5vdyA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOwog
ICAgIGF1dG8gdGltZVNpbmNlTGFzdFNlbGVjdGlvbkNoYW5nZSA9IG5vdyAtIG1fbGFzdFNlbGVj
dGlvbkNoYW5nZVRpbWU7CiAgICAgYXV0byB0aW1lU2luY2VIaWdobGlnaHRCZWNhbWVBY3RpdmUg
PSBub3cgLSBtX25leHRBY3RpdmVIaWdobGlnaHRDaGFuZ2VUaW1lOwotICAgIGF1dG8gdGltZVNp
bmNlTGFzdE1vdXNlVXAgPSBtb3VzZVByZXNzZWQgPyAwX21zIDogbm93IC0gbV9sYXN0TW91c2VV
cFRpbWU7CisgICAgYXV0byB0aW1lU2luY2VMYXN0TW91c2VVcCA9IG1vdXNlUHJlc3NlZCA/IDBt
cyA6IG5vdyAtIG1fbGFzdE1vdXNlVXBUaW1lOwogCiAgICAgYXV0byByZW1haW5pbmdEZWxheSA9
IG1pbmltdW1UaW1lVW50aWxIaWdobGlnaHRTaG91bGRCZVNob3duIC0gc3RkOjptaW4oc3RkOjpt
aW4odGltZVNpbmNlTGFzdFNlbGVjdGlvbkNoYW5nZSwgdGltZVNpbmNlSGlnaGxpZ2h0QmVjYW1l
QWN0aXZlKSwgdGltZVNpbmNlTGFzdE1vdXNlVXApOwogICAgIHJldHVybiBzdGQ6OmNocm9ubzo6
ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPihyZW1haW5pbmdEZWxheSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZh
Y2VQb29sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFj
ZVBvb2wuY3BwCmluZGV4IDRlYTQ0NjkuLjEzM2FkYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwCkBAIC0zMyw4ICsz
Myw4IEBACiAjaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5o
PgogCi1jb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGNvbGxlY3Rpb25JbnRlcnZhbCA9
IDUwMF9tczsKLWNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHN1cmZhY2VBZ2VCZWZvcmVNYXJr
aW5nUHVyZ2VhYmxlID0gMl9zOworY29uc3Qgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBjb2xs
ZWN0aW9uSW50ZXJ2YWwgPSA1MDBtczsKK2NvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIHN1cmZh
Y2VBZ2VCZWZvcmVNYXJraW5nUHVyZ2VhYmxlID0gMnM7CiBjb25zdCBzaXplX3QgZGVmYXVsdE1h
eGltdW1CeXRlc0NhY2hlZCA9IDEwMjQgKiAxMDI0ICogNjQ7CiAKIC8vIFdlJ2xsIG5ldmVyIGFs
bG93IG1vcmUgdGhhbiAxLzIgb2YgdGhlIGNhY2hlIHRvIGJlIGZpbGxlZCB3aXRoIGluLXVzZSBz
dXJmYWNlcywgYmVjYXVzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXggMmM5YzRmMi4uOTkx
NDc0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMDUt
MjEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgdG8g
QysrMTQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NTc5NDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IENvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWc6CisKIDIwMTYtMDUtMjAgIEpvc2VwaCBQZWNv
cmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyMDA3NDAp
OiBXZWIgSW5zcGVjdG9yOiBUaW1lbGluZVJlY29yZEJhciBjbGFzcyBsaXN0cyBub3QgcHJvcGVy
bHkgY2xlYXJlZCwgYmxlZWRpbmcgY29sb3JzIHdoZW4gem9vbWluZyBpbiBhbmQgb3V0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZp
ZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmlu
ZGV4IGMxYmU1ZjcuLjFlYTQzNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9D
b25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9D
b25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCkBAIC0xMCw3ICsxMCw3IEBAIERFQURfQ09ERV9T
VFJJUFBJTkcgPSBZRVM7CiBERUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSBkd2FyZi13aXRoLWRz
eW07CiBGUkFNRVdPUktfU0VBUkNIX1BBVEhTID0gJChXS19RVU9URURfT1ZFUlJJREVfRlJBTUVX
T1JLU19ESVIpICQoU1lTVEVNX0xJQlJBUllfRElSKS9Qcml2YXRlRnJhbWV3b3JrcyAkKGluaGVy
aXRlZCk7CiAKLUNMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMHg7CitDTEFOR19D
WFhfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzE0OwogQ0xBTkdfQ1hYX0xJQlJBUlkgPSBsaWJj
Kys7CiBDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsKIENMQU5HX1dBUk5fQ09OU1RB
TlRfQ09OVkVSU0lPTiA9IFlFUzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAwZjNmMTgzLi44NmY1MDcy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTYtMDUtMjEgIEJyYWR5IEVp
ZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgdG8gQysrMTQuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc5NDgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRp
b25zL0Jhc2UueGNjb25maWc6CisKIDIwMTYtMDUtMjAgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNh
QGFwcGxlLmNvbT4KIAogICAgICAgICBEcmFnIGNhbm5vdCBzdGFydCBpZiBubyBkcmFnIGRhdGEg
b3IgY3VzdG9tIGRhdGEgaXMgYXZhaWxhYmxlIGluIHRoZSBQYXN0ZWJvYXJkLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggZjg5OThlYS4u
NjUwNjI3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvQmFz
ZS54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9CYXNlLnhj
Y29uZmlnCkBAIC0yOCw3ICsyOCw3IEBAIFVTRV9JTlRFUk5BTF9TREtfUHJvZHVjdGlvbiA9IFlF
UzsKIFVTRV9JTlRFUk5BTF9TREtfRGVidWcgPSAkKEhBVkVfSU5URVJOQUxfU0RLKTsKIFVTRV9J
TlRFUk5BTF9TREtfUmVsZWFzZSA9ICQoSEFWRV9JTlRFUk5BTF9TREspOwogCi1DTEFOR19DWFhf
TEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzB4OworQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJE
ID0gZ251KysxNDsKIENMQU5HX0NYWF9MSUJSQVJZID0gbGliYysrOwogQ0xBTkdfV0FSTl9CT09M
X0NPTlZFUlNJT04gPSBZRVM7CiBDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZFUlNJT04gPSBZRVM7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKaW5kZXggNjY2M2M5NS4uMTRjODM5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0
IEBACisyMDE2LTA1LTIxICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAg
ICAgICBNb3ZlIHRvIEMrKzE0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTU3OTQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnOgorCisgICAgICAgIFJl
cGxhY2UgdGltZSBsaXRlcmFsIHN1ZmZpeGVzIHRoYXQgaGF2ZSB1bmRlcnNjb3JlcyB0byB0aGUg
Zm9ybXMgd2l0aG91dAorICAgICAgICAoZS5nLiAwX21zIGJlY29tZXMgMG1zKToKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5jcHA6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzOjpOZXR3b3JrUmVzb3Vy
Y2VMb2FkUGFyYW1ldGVycyk6CisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6
OnN0YXJ0TmV0d29ya0xvYWQpOgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0
d29ya0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpyZXNwb25zZUhh
c0V4cGlyZWQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OnJlc3BvbnNlTmVlZHNS
ZXZhbGlkYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6Om1ha2VTdG9yZURl
Y2lzaW9uKToKKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNw
ZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6
OnJlc3BvbnNlTmVlZHNSZXZhbGlkYXRpb24pOgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtD
YWNoZTo6U3RvcmFnZTo6ZGlzcGF0Y2hSZWFkT3BlcmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya0NhY2hlOjpTdG9yYWdlOjpzdG9yZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtD
YWNoZTo6Y29tcHV0ZVJlY29yZFdvcnRoKToKKworICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tOgorCisgICAgICAgICogVUlQcm9jZXNzL1Zp
ZXdHZXN0dXJlQ29udHJvbGxlci5jcHA6CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsv
V2ViTG9hZGVyU3RyYXRlZ3kuY3BwOgorICAgICAgICAoV2ViS2l0OjptYXhpbXVtQnVmZmVyaW5n
VGltZSk6CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJl
ZURyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5n
QXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2hJbW1lZGlhdGVseSk6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzY2hlZHVsZUNvbXBvc2l0aW5n
TGF5ZXJGbHVzaCk6CisKIDIwMTYtMDUtMjAgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxl
LmNvbT4KIAogICAgICAgICBEcmFnIGNhbm5vdCBzdGFydCBpZiBubyBkcmFnIGRhdGEgb3IgY3Vz
dG9tIGRhdGEgaXMgYXZhaWxhYmxlIGluIHRoZSBQYXN0ZWJvYXJkLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQy
L0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggMGMyZjczYS4uMDhiMmQ5NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZworKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCkBAIC0yOCw3ICsy
OCw3IEBAIFVTRV9JTlRFUk5BTF9TREtfUHJvZHVjdGlvbiA9IFlFUzsKIFVTRV9JTlRFUk5BTF9T
REtfRGVidWcgPSAkKEhBVkVfSU5URVJOQUxfU0RLKTsKIFVTRV9JTlRFUk5BTF9TREtfUmVsZWFz
ZSA9ICQoSEFWRV9JTlRFUk5BTF9TREspOwogCi1DTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQg
PSBnbnUrKzB4OworQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251KysxNDsKIENMQU5H
X0NYWF9MSUJSQVJZID0gbGliYysrOwogQ0xBTkdfV0FSTl9CT09MX0NPTlZFUlNJT04gPSBZRVM7
CiBDTEFOR19XQVJOX0NPTlNUQU5UX0NPTlZFUlNJT04gPSBZRVM7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFy
YW1ldGVycy5jcHAKaW5kZXggYjU2YjJmNy4uYTQxZDBhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJh
bWV0ZXJzLmNwcApAQCAtNDUsNyArNDUsNyBAQCBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVy
czo6TmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMoKQogICAgICwgc2hvdWxkQ2xlYXJSZWZl
cnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCh0cnVlKQogICAgICwgZGVmZXJzTG9hZGluZyhmYWxz
ZSkKICAgICAsIG5lZWRzQ2VydGlmaWNhdGVJbmZvKGZhbHNlKQotICAgICwgbWF4aW11bUJ1ZmZl
cmluZ1RpbWUoMF9tcykKKyAgICAsIG1heGltdW1CdWZmZXJpbmdUaW1lKDBtcykKIHsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNl
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJj
ZUxvYWRlci5jcHAKaW5kZXggODE0MTVjMS4uNDM2N2E0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0x
OTUsNyArMTk1LDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnN0YXJ0TmV0d29ya0xv
YWQoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogewogICAgIGNvbnN1bWVTYW5kYm94
RXh0ZW5zaW9ucygpOwogCi0gICAgaWYgKGlzU3luY2hyb25vdXMoKSB8fCBtX3BhcmFtZXRlcnMu
bWF4aW11bUJ1ZmZlcmluZ1RpbWUgPiAwX21zKQorICAgIGlmIChpc1N5bmNocm9ub3VzKCkgfHwg
bV9wYXJhbWV0ZXJzLm1heGltdW1CdWZmZXJpbmdUaW1lID4gMG1zKQogICAgICAgICBtX2J1ZmZl
cmVkRGF0YSA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKCk7CiAKICNpZiBFTkFCTEUoTkVUV09SS19D
QUNIRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGUuY3BwCmluZGV4IDZhN2JkY2QuLjM0YTZkNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcApAQCAtMTkxLDcg
KzE5MSw3IEBAIHN0YXRpYyBib29sIHJlc3BvbnNlSGFzRXhwaXJlZChjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgc3RkOjpjCiAgICAgYXV0byBhZ2UgPSBXZWJDb3Jl
Ojpjb21wdXRlQ3VycmVudEFnZShyZXNwb25zZSwgdGltZXN0YW1wKTsKICAgICBhdXRvIGxpZmV0
aW1lID0gV2ViQ29yZTo6Y29tcHV0ZUZyZXNobmVzc0xpZmV0aW1lRm9ySFRUUEZhbWlseShyZXNw
b25zZSwgdGltZXN0YW1wKTsKIAotICAgIGF1dG8gbWF4aW11bVN0YWxlbmVzcyA9IG1heFN0YWxl
ID8gbWF4U3RhbGUudmFsdWUoKSA6IDBfbXM7CisgICAgYXV0byBtYXhpbXVtU3RhbGVuZXNzID0g
bWF4U3RhbGUgPyBtYXhTdGFsZS52YWx1ZSgpIDogMG1zOwogICAgIGJvb2wgaGFzRXhwaXJlZCA9
IGFnZSAtIGxpZmV0aW1lID4gbWF4aW11bVN0YWxlbmVzczsKIAogI2lmbmRlZiBMT0dfRElTQUJM
RUQKQEAgLTIwOCw3ICsyMDgsNyBAQCBzdGF0aWMgYm9vbCByZXNwb25zZU5lZWRzUmV2YWxpZGF0
aW9uKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLAogICAgIGlmIChy
ZXF1ZXN0RGlyZWN0aXZlcy5ub0NhY2hlKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAvLyBG
b3IgcmVxdWVzdHMgd2UgaWdub3JlIG1heC1hZ2UgdmFsdWVzIG90aGVyIHRoYW4gemVyby4KLSAg
ICBpZiAocmVxdWVzdERpcmVjdGl2ZXMubWF4QWdlICYmIHJlcXVlc3REaXJlY3RpdmVzLm1heEFn
ZS52YWx1ZSgpID09IDBfbXMpCisgICAgaWYgKHJlcXVlc3REaXJlY3RpdmVzLm1heEFnZSAmJiBy
ZXF1ZXN0RGlyZWN0aXZlcy5tYXhBZ2UudmFsdWUoKSA9PSAwbXMpCiAgICAgICAgIHJldHVybiB0
cnVlOwogCiAgICAgcmV0dXJuIHJlc3BvbnNlSGFzRXhwaXJlZChyZXNwb25zZSwgdGltZXN0YW1w
LCByZXF1ZXN0RGlyZWN0aXZlcy5tYXhTdGFsZSk7CkBAIC0zMjUsNyArMzI1LDcgQEAgc3RhdGlj
IFN0b3JlRGVjaXNpb24gbWFrZVN0b3JlRGVjaXNpb24oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0JiBvcmlnaW5hbFIKICAgICBib29sIHN0b3JlVW5jb25kaXRpb25hbGx5Rm9ySGlzdG9y
eU5hdmlnYXRpb24gPSBpc01haW5SZXNvdXJjZSB8fCBvcmlnaW5hbFJlcXVlc3QucHJpb3JpdHko
KSA9PSBXZWJDb3JlOjpSZXNvdXJjZUxvYWRQcmlvcml0eTo6VmVyeUhpZ2g7CiAgICAgaWYgKCFz
dG9yZVVuY29uZGl0aW9uYWxseUZvckhpc3RvcnlOYXZpZ2F0aW9uKSB7CiAgICAgICAgIGF1dG8g
bm93ID0gc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6bm93KCk7Ci0gICAgICAgIGJvb2wgaGFz
Tm9uWmVyb0xpZmV0aW1lID0gIXJlc3BvbnNlLmNhY2hlQ29udHJvbENvbnRhaW5zTm9DYWNoZSgp
ICYmIFdlYkNvcmU6OmNvbXB1dGVGcmVzaG5lc3NMaWZldGltZUZvckhUVFBGYW1pbHkocmVzcG9u
c2UsIG5vdykgPiAwX21zOworICAgICAgICBib29sIGhhc05vblplcm9MaWZldGltZSA9ICFyZXNw
b25zZS5jYWNoZUNvbnRyb2xDb250YWluc05vQ2FjaGUoKSAmJiBXZWJDb3JlOjpjb21wdXRlRnJl
c2huZXNzTGlmZXRpbWVGb3JIVFRQRmFtaWx5KHJlc3BvbnNlLCBub3cpID4gMG1zOwogCiAgICAg
ICAgIGJvb2wgcG9zc2libHlSZXVzYWJsZSA9IHJlc3BvbnNlLmhhc0NhY2hlVmFsaWRhdG9yRmll
bGRzKCkgfHwgaGFzTm9uWmVyb0xpZmV0aW1lOwogICAgICAgICBpZiAoIXBvc3NpYmx5UmV1c2Fi
bGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVTcGVjdWxhdGl2ZUxvYWRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCmlu
ZGV4IGI0NGY1ZTcuLmRlMTViNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0aXZlTG9hZE1hbmFnZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVNwZWN1bGF0
aXZlTG9hZE1hbmFnZXIuY3BwCkBAIC00Niw3ICs0Niw3IEBAIG5hbWVzcGFjZSBOZXR3b3JrQ2Fj
aGUgewogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotc3RhdGljIGNvbnN0IGF1dG8gcHJl
bG9hZGVkRW50cnlMaWZldGltZSA9IDEwX3M7CitzdGF0aWMgY29uc3QgYXV0byBwcmVsb2FkZWRF
bnRyeUxpZmV0aW1lID0gMTBzOwogCiAjaWYgIUxPR19ESVNBQkxFRAogc3RhdGljIEhhc2hDb3Vu
dGVkU2V0PFN0cmluZz4mIGFsbFNwZWN1bGF0aXZlTG9hZGluZ0RpYWdub3N0aWNNZXNzYWdlcygp
CkBAIC0xMTQsNyArMTE0LDcgQEAgc3RhdGljIGJvb2wgcmVzcG9uc2VOZWVkc1JldmFsaWRhdGlv
bihjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgc3RkOjpjaHIKIAogICAgIGF1dG8g
YWdlID0gY29tcHV0ZUN1cnJlbnRBZ2UocmVzcG9uc2UsIHRpbWVzdGFtcCk7CiAgICAgYXV0byBs
aWZldGltZSA9IGNvbXB1dGVGcmVzaG5lc3NMaWZldGltZUZvckhUVFBGYW1pbHkocmVzcG9uc2Us
IHRpbWVzdGFtcCk7Ci0gICAgcmV0dXJuIGFnZSAtIGxpZmV0aW1lID4gMF9tczsKKyAgICByZXR1
cm4gYWdlIC0gbGlmZXRpbWUgPiAwbXM7CiB9CiAKIGNsYXNzIFNwZWN1bGF0aXZlTG9hZE1hbmFn
ZXI6OkV4cGlyaW5nRW50cnkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAppbmRleCAxZjY1MGJmLi5k
ZTc2YTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcApAQCAtNTcyLDcgKzU3Miw3IEBAIHZvaWQg
U3RvcmFnZTo6ZGlzcGF0Y2hSZWFkT3BlcmF0aW9uKHN0ZDo6dW5pcXVlX3B0cjxSZWFkT3BlcmF0
aW9uPiByZWFkT3BlcmF0aW9uCiAgICAgbV9hY3RpdmVSZWFkT3BlcmF0aW9ucy5hZGQoV1RGTW92
ZShyZWFkT3BlcmF0aW9uUHRyKSk7CiAKICAgICAvLyBJL08gcHJlc3N1cmUgbWF5IG1ha2UgZGlz
ayBvcGVyYXRpb25zIHNsb3cuIElmIHRoZXkgc3RhcnQgdGFraW5nIHZlcnkgbG9uZyB0aW1lIHdl
IHJhdGhlciBnbyB0byBuZXR3b3JrLgotICAgIGNvbnN0IGF1dG8gcmVhZFRpbWVvdXQgPSAxNTAw
X21zOworICAgIGNvbnN0IGF1dG8gcmVhZFRpbWVvdXQgPSAxNTAwbXM7CiAgICAgbV9yZWFkT3Bl
cmF0aW9uVGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdChyZWFkVGltZW91dCk7CiAKICAgICBib29s
IHNob3VsZEdldEJvZHlCbG9iID0gbWF5Q29udGFpbkJsb2IocmVhZE9wZXJhdGlvbi5rZXkpOwpA
QCAtNzk1LDcgKzc5NSw3IEBAIHZvaWQgU3RvcmFnZTo6c3RvcmUoY29uc3QgUmVjb3JkJiByZWNv
cmQsIE1hcHBlZEJvZHlIYW5kbGVyJiYgbWFwcGVkQm9keUhhbmRsZXIpCiAKICAgICAvLyBEZWxh
eSB0aGUgc3RhcnQgb2Ygd3JpdGVzIGEgYml0IHRvIGF2b2lkIGFmZmVjdGluZyBlYXJseSBwYWdl
IGxvYWQuCiAgICAgLy8gQ29tcGxldGluZyB3cml0ZXMgd2lsbCBkaXNwYXRjaCBtb3JlIHdyaXRl
cyB3aXRob3V0IGRlbGF5LgotICAgIHN0YXRpYyBjb25zdCBhdXRvIGluaXRpYWxXcml0ZURlbGF5
ID0gMV9zOworICAgIHN0YXRpYyBjb25zdCBhdXRvIGluaXRpYWxXcml0ZURlbGF5ID0gMXM7CiAg
ICAgbV93cml0ZU9wZXJhdGlvbkRpc3BhdGNoVGltZXIuc3RhcnRPbmVTaG90KGluaXRpYWxXcml0
ZURlbGF5KTsKIH0KIApAQCAtOTM1LDcgKzkzNSw3IEBAIHN0YXRpYyBkb3VibGUgY29tcHV0ZVJl
Y29yZFdvcnRoKEZpbGVUaW1lcyB0aW1lcykKICAgICBhdXRvIGFjY2Vzc0FnZSA9IHRpbWVzLm1v
ZGlmaWNhdGlvbiAtIHRpbWVzLmNyZWF0aW9uOwogCiAgICAgLy8gRm9yIHNhbml0eS4KLSAgICBp
ZiAoYWdlIDw9IDBfcyB8fCBhY2Nlc3NBZ2UgPCAwX3MgfHwgYWNjZXNzQWdlID4gYWdlKQorICAg
IGlmIChhZ2UgPD0gMHMgfHwgYWNjZXNzQWdlIDwgMHMgfHwgYWNjZXNzQWdlID4gYWdlKQogICAg
ICAgICByZXR1cm4gMDsKIAogICAgIC8vIFdlIGxpa2Ugb2xkIGVudHJpZXMgdGhhdCBoYXZlIGJl
ZW4gYWNjZXNzZWQgcmVjZW50bHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
bWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tCmluZGV4IDQ5
NTlhOGIuLjI2ODM2ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tCkBAIC0zMCw5ICsz
MCw5IEBACiAjaW1wb3J0ICJSZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oIgogI2ltcG9ydCAiUmVt
b3RlTGF5ZXJUcmVlQ29udGV4dC5oIgogCi1jb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyB2b2xh
dGlsZUJhY2tpbmdTdG9yZUFnZVRocmVzaG9sZCA9IDFfczsKLWNvbnN0IHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgdm9sYXRpbGVTZWNvbmRhcnlCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQgPSAy
MDBfbXM7Ci1jb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHZvbGF0aWxpdHlUaW1lcklu
dGVydmFsID0gMjAwX21zOworY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgdm9sYXRpbGVCYWNr
aW5nU3RvcmVBZ2VUaHJlc2hvbGQgPSAxczsKK2NvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHMgdm9sYXRpbGVTZWNvbmRhcnlCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQgPSAyMDBtczsKK2Nv
bnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgdm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwgPSAy
MDBtczsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKaW5kZXggYmMyNjE1Mi4uOTAxMDk1MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1ZpZXdHZXN0dXJlQ29udHJvbGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1ZpZXdHZXN0dXJlQ29udHJvbGxl
ci5jcHAKQEAgLTM4LDEzICszOCwxMyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lw
ZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9nQWZ0ZXJGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRE
dXJhdGlvbiA9IDNfczsKLXN0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHN3
aXBlU25hcHNob3RSZW1vdmFsQWN0aXZlTG9hZE1vbml0b3JpbmdJbnRlcnZhbCA9IDI1MF9tczsK
K3N0YXRpYyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdh
dGNoZG9nQWZ0ZXJGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXREdXJhdGlvbiA9IDNzOworc3Rh
dGljIGNvbnN0IHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxB
Y3RpdmVMb2FkTW9uaXRvcmluZ0ludGVydmFsID0gMjUwbXM7CiAKICNpZiBQTEFURk9STShNQUMp
Ci1zdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3dpcGVTbmFwc2hvdFJlbW92YWxX
YXRjaGRvZ0R1cmF0aW9uID0gNV9zOworc3RhdGljIGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRz
IHN3aXBlU25hcHNob3RSZW1vdmFsV2F0Y2hkb2dEdXJhdGlvbiA9IDVzOwogI2Vsc2UKLXN0YXRp
YyBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBzd2lwZVNuYXBzaG90UmVtb3ZhbFdhdGNoZG9n
RHVyYXRpb24gPSAzX3M7CitzdGF0aWMgY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgc3dpcGVT
bmFwc2hvdFJlbW92YWxXYXRjaGRvZ0R1cmF0aW9uID0gM3M7CiAjZW5kaWYKIAogc3RhdGljIEhh
c2hNYXA8dWludDY0X3QsIFZpZXdHZXN0dXJlQ29udHJvbGxlcio+JiB2aWV3R2VzdHVyZUNvbnRy
b2xsZXJzRm9yQWxsUGFnZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKaW5kZXggZTNkNGE0OC4uOGIxYzU1ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0
cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9h
ZGVyU3RyYXRlZ3kuY3BwCkBAIC05MCwxMSArOTAsMTEgQEAgUmVmUHRyPE5ldHNjYXBlUGx1Z0lu
U3RyZWFtTG9hZGVyPiBXZWJMb2FkZXJTdHJhdGVneTo6c2NoZWR1bGVQbHVnaW5TdHJlYW1Mb2Fk
KEYKIHN0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1l
KENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKIHsKICNpZiAhRU5BQkxFKE5FVFdPUktfQ0FDSEUp
Ci0gICAgcmV0dXJuIDBfbXM7CisgICAgcmV0dXJuIDBtczsKICNlbmRpZgogCiAgICAgaWYgKCFy
ZXNvdXJjZSkKLSAgICAgICAgcmV0dXJuIDBfbXM7CisgICAgICAgIHJldHVybiAwbXM7CiAKICAg
ICBzd2l0Y2ggKHJlc291cmNlLT50eXBlKCkpIHsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpD
U1NTdHlsZVNoZWV0OgpAQCAtMTA1LDcgKzEwNSw3IEBAIHN0YXRpYyBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkK
ICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpGb250UmVzb3VyY2U6CiAgICAgICAgIHJldHVybiBz
dGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzOjptYXgoKTsKICAgICBjYXNlIENhY2hlZFJlc291cmNl
OjpJbWFnZVJlc291cmNlOgotICAgICAgICByZXR1cm4gNTAwX21zOworICAgICAgICByZXR1cm4g
NTAwbXM7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6TWVkaWFSZXNvdXJjZToKICAgICBjYXNl
IENhY2hlZFJlc291cmNlOjpNYWluUmVzb3VyY2U6CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6
UmF3UmVzb3VyY2U6CkBAIC0xMjEsMTEgKzEyMSwxMSBAQCBzdGF0aWMgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZShDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2Up
CiAjaWYgRU5BQkxFKFhTTFQpCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6WFNMU3R5bGVTaGVl
dDoKICNlbmRpZgotICAgICAgICByZXR1cm4gMF9tczsKKyAgICAgICAgcmV0dXJuIDBtczsKICAg
ICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gMF9tczsKKyAgICBy
ZXR1cm4gMG1zOwogfQogCiB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWQoUmVz
b3VyY2VMb2FkZXIqIHJlc291cmNlTG9hZGVyLCBDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UsIGJv
b2wgc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90
ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCmluZGV4IDM3MWY2MTQuLmZmZThjY2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21h
Yy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQpAQCAtMjg0LDcgKzI4NCw3IEBAIFRpbGVk
QmFja2luZyogUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6Om1haW5GcmFtZVRpbGVkQmFja2lu
ZygpIGNvbnN0CiAKIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29t
cG9zaXRpbmdMYXllckZsdXNoSW1tZWRpYXRlbHkoKQogewotICAgIG1fbGF5ZXJGbHVzaFRpbWVy
LnN0YXJ0T25lU2hvdCgwX21zKTsKKyAgICBtX2xheWVyRmx1c2hUaW1lci5zdGFydE9uZVNob3Qo
MG1zKTsKIH0KIAogdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2NoZWR1bGVDb21w
b3NpdGluZ0xheWVyRmx1c2goKQpAQCAtMzAzLDkgKzMwMyw5IEBAIHZvaWQgUmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWE6OnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCkKICAgICBpZiAo
bV9sYXllckZsdXNoVGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgY29u
c3QgYXV0byBpbml0aWFsRmx1c2hEZWxheSA9IDUwMF9tczsKLSAgICBjb25zdCBhdXRvIGZsdXNo
RGVsYXkgPSAxNTAwX21zOwotICAgIGF1dG8gdGhyb3R0bGVEZWxheSA9IG1faXNUaHJvdHRsaW5n
TGF5ZXJGbHVzaGVzID8gKG1faXNJbml0aWFsVGhyb3R0bGVkTGF5ZXJGbHVzaCA/IGluaXRpYWxG
bHVzaERlbGF5IDogZmx1c2hEZWxheSkgOiAwX21zOworICAgIGNvbnN0IGF1dG8gaW5pdGlhbEZs
dXNoRGVsYXkgPSA1MDBtczsKKyAgICBjb25zdCBhdXRvIGZsdXNoRGVsYXkgPSAxNTAwbXM7Cisg
ICAgYXV0byB0aHJvdHRsZURlbGF5ID0gbV9pc1Rocm90dGxpbmdMYXllckZsdXNoZXMgPyAobV9p
c0luaXRpYWxUaHJvdHRsZWRMYXllckZsdXNoID8gaW5pdGlhbEZsdXNoRGVsYXkgOiBmbHVzaERl
bGF5KSA6IDBtczsKICAgICBtX2lzSW5pdGlhbFRocm90dGxlZExheWVyRmx1c2ggPSBmYWxzZTsK
IAogICAgIG1fbGF5ZXJGbHVzaFRpbWVyLnN0YXJ0T25lU2hvdCh0aHJvdHRsZURlbGF5KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZyBiL1NvdXJjZS9ibWFsbG9jL0NoYW5n
ZUxvZwppbmRleCBjZjEwZTAwLi5jMGFlNTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTYtMDUtMjEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAg
IE1vdmUgdG8gQysrMTQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTc5NDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWc6CisKIDIwMTYtMDUtMTcgIEdl
b2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiBK
ZXRTdHJlYW0gY3Jhc2hlcyBvbiBzb21lIGlQaG9uZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFs
bG9jL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcgYi9Tb3VyY2UvYm1hbGxvYy9Db25maWd1
cmF0aW9ucy9CYXNlLnhjY29uZmlnCmluZGV4IGVlMzc1OGUuLjJhNTc5ZDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9ibWFsbG9jL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvU291cmNl
L2JtYWxsb2MvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpAQCAtMjgsNyArMjgsNyBAQCBV
U0VfSU5URVJOQUxfU0RLX1Byb2R1Y3Rpb24gPSBZRVM7CiBVU0VfSU5URVJOQUxfU0RLX0RlYnVn
ID0gJChIQVZFX0lOVEVSTkFMX1NESyk7CiBVU0VfSU5URVJOQUxfU0RLX1JlbGVhc2UgPSAkKEhB
VkVfSU5URVJOQUxfU0RLKTsKIAotQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251Kysw
eDsKK0NMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMTQ7CiBDTEFOR19DWFhfTElC
UkFSWSA9IGxpYmMrKzsKIENMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwogQ0xBTkdf
V0FSTl9DT05TVEFOVF9DT05WRVJTSU9OID0gWUVTOwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtl
L09wdGlvbnNDb21tb24uY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0NvbW1vbi5jbWFrZQpp
bmRleCAzMDJhYmIyNS4uYmRmMmE5ZiAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnND
b21tb24uY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNDb21tb24uY21ha2UKQEAgLTI5
LDcgKzI5LDcgQEAgZGVmaW5lX3Byb3BlcnR5KFRBUkdFVCBQUk9QRVJUWSBGT0xERVIgSU5IRVJJ
VEVEIEJSSUVGX0RPQ1MgImZvbGRlciIgRlVMTF9ET0NTICIKIGlmIChDTUFLRV9DT01QSUxFUl9J
U19HTlVDWFggT1IgIiR7Q01BS0VfQ1hYX0NPTVBJTEVSX0lEfSIgU1RSRVFVQUwgIkNsYW5nIikK
ICAgICBzZXQoQ01BS0VfQ19GTEFHU19SRUxFQVNFICIke0NNQUtFX0NfRkxBR1NfUkVMRUFTRX0g
LWZuby1leGNlcHRpb25zIC1mbm8tc3RyaWN0LWFsaWFzaW5nIikKICAgICBzZXQoQ01BS0VfQ1hY
X0ZMQUdTX1JFTEVBU0UgIiR7Q01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0V9IC1mbm8tZXhjZXB0aW9u
cyAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLXJ0dGkiKQotICAgIHNldChDTUFLRV9DWFhfRkxB
R1MgIiR7Q01BS0VfQ1hYX0ZMQUdTfSAtc3RkPWMrKzExIikKKyAgICBzZXQoQ01BS0VfQ1hYX0ZM
QUdTICIke0NNQUtFX0NYWF9GTEFHU30gLXN0ZD1jKysxeSIpCiBlbmRpZiAoKQogCiBpZiAoIiR7
Q01BS0VfQ1hYX0NPTVBJTEVSX0lEfSIgU1RSRVFVQUwgIkNsYW5nIiBBTkQgQ01BS0VfR0VORVJB
VE9SIFNUUkVRVUFMICJOaW5qYSIpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29s
cy9DaGFuZ2VMb2cKaW5kZXggODFjMjYyZC4uNzUwMDFlNyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE2LTA1LTIx
ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIHRvIEMr
KzE0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3
OTQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9tYWMvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZzoKKyAgICAgICAg
KiBNaW5pQnJvd3Nlci9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnOgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZzoKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWc6CisKIDIwMTYtMDUtMjAg
IFNyaW5pdmFzYW4gVmlqYXlhcmFnaGF2YW4gIDxzdmlqYXlhcmFnaGF2YW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFVzZSBjbGVhcmVyIG5hbWVzIGZvciBKU09OIG91dHB1dCBvZiBqYXZhc2NyaXB0
Y29yZSB0ZXN0IHJlc3VsdHMKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9D
b25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0Nv
bmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggNWExOWU2My4uYjgxZTVjOCAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25m
aWcKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNj
b25maWcKQEAgLTI4LDcgKzI4LDcgQEAgVVNFX0lOVEVSTkFMX1NES19Qcm9kdWN0aW9uID0gWUVT
OwogVVNFX0lOVEVSTkFMX1NES19EZWJ1ZyA9ICQoSEFWRV9JTlRFUk5BTF9TREspOwogVVNFX0lO
VEVSTkFMX1NES19SZWxlYXNlID0gJChIQVZFX0lOVEVSTkFMX1NESyk7CiAKLUNMQU5HX0NYWF9M
QU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMHg7CitDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQg
PSBnbnUrKzE0OwogQ0xBTkdfQ1hYX0xJQlJBUlkgPSBsaWJjKys7CiBDTEFOR19XQVJOX0NYWDBY
X0VYVEVOU0lPTlMgPSBOTzsKIEhFQURFUl9TRUFSQ0hfUEFUSFMgPSAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvdXNyL2xvY2FsL2luY2x1ZGUgJChCVUlMVF9QUk9EVUNUU19ESVIpL1dlYkNvcmVUZXN0
U3VwcG9ydCBGb3J3YXJkaW5nSGVhZGVycyAkKFBMQVRGT1JNX0hFQURFUl9TRUFSQ0hfUEFUSFMp
ICQoU1JDUk9PVCkvLi4vLi4vU291cmNlL0phdmFTY3JpcHRDb3JlL2ljdTsKZGlmZiAtLWdpdCBh
L1Rvb2xzL01pbmlCcm93c2VyL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcgYi9Ub29scy9N
aW5pQnJvd3Nlci9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmluZGV4IDc0M2FmYjkuLjYz
ZTg0MmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL0NvbmZpZ3VyYXRpb25zL0Jhc2Uu
eGNjb25maWcKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2Nv
bmZpZwpAQCAtMjgsNyArMjgsNyBAQCBVU0VfSU5URVJOQUxfU0RLX1Byb2R1Y3Rpb24gPSBZRVM7
CiBVU0VfSU5URVJOQUxfU0RLX0RlYnVnID0gJChIQVZFX0lOVEVSTkFMX1NESyk7CiBVU0VfSU5U
RVJOQUxfU0RLX1JlbGVhc2UgPSAkKEhBVkVfSU5URVJOQUxfU0RLKTsKIAotQ0xBTkdfQ1hYX0xB
TkdVQUdFX1NUQU5EQVJEID0gZ251KysweDsKK0NMQU5HX0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9
IGdudSsrMTQ7CiBDTEFOR19DWFhfTElCUkFSWSA9IGxpYmMrKzsKIERFQlVHX0lORk9STUFUSU9O
X0ZPUk1BVCA9IGR3YXJmLXdpdGgtZHN5bTsKIFBSRUJJTkRJTkcgPSBOTwpkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmluZGV4IGUzYTQxNzAu
LmMzYmJmYTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMv
QmFzZS54Y2NvbmZpZworKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0Jh
c2UueGNjb25maWcKQEAgLTI4LDcgKzI4LDcgQEAgVVNFX0lOVEVSTkFMX1NES19Qcm9kdWN0aW9u
ID0gWUVTOwogVVNFX0lOVEVSTkFMX1NES19EZWJ1ZyA9ICQoSEFWRV9JTlRFUk5BTF9TREspOwog
VVNFX0lOVEVSTkFMX1NES19SZWxlYXNlID0gJChIQVZFX0lOVEVSTkFMX1NESyk7CiAKLUNMQU5H
X0NYWF9MQU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMHg7CitDTEFOR19DWFhfTEFOR1VBR0VfU1RB
TkRBUkQgPSBnbnUrKzE0OwogQ0xBTkdfQ1hYX0xJQlJBUlkgPSBsaWJjKys7CiBDTEFOR19XQVJO
X0NYWDBYX0VYVEVOU0lPTlMgPSBOTzsKIEhFQURFUl9TRUFSQ0hfUEFUSFMgPSAke0JVSUxUX1BS
T0RVQ1RTX0RJUn0vdXNyL2xvY2FsL2luY2x1ZGUgJChXRUJDT1JFX1BSSVZBVEVfSEVBREVSU19E
SVIpL0ZvcndhcmRpbmdIZWFkZXJzICQoV0VCQ09SRV9QUklWQVRFX0hFQURFUlNfRElSKS9pY3Ug
JChCVUlMVF9QUk9EVUNUU19ESVIpL1dlYkNvcmVUZXN0U3VwcG9ydDsKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwppbmRleCBjMzc5
MWNkLi40YTcxZWJhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0NvbmZpZ3Vy
YXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Db25maWd1
cmF0aW9ucy9CYXNlLnhjY29uZmlnCkBAIC0yOCw3ICsyOCw3IEBAIFVTRV9JTlRFUk5BTF9TREtf
UHJvZHVjdGlvbiA9IFlFUzsKIFVTRV9JTlRFUk5BTF9TREtfRGVidWcgPSAkKEhBVkVfSU5URVJO
QUxfU0RLKTsKIFVTRV9JTlRFUk5BTF9TREtfUmVsZWFzZSA9ICQoSEFWRV9JTlRFUk5BTF9TREsp
OwogCi1DTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzB4OworQ0xBTkdfQ1hYX0xB
TkdVQUdFX1NUQU5EQVJEID0gZ251KysxNDsKIENMQU5HX0NYWF9MSUJSQVJZID0gbGliYysrOwog
Q0xBTkdfV0FSTl9DWFgwWF9FWFRFTlNJT05TID0gTk87CiBIRUFERVJfU0VBUkNIX1BBVEhTID0g
JChCVUlMVF9QUk9EVUNUU19ESVIpL3Vzci9sb2NhbC9pbmNsdWRlICQoV0VCQ09SRV9QUklWQVRF
X0hFQURFUlNfRElSKS9Gb3J3YXJkaW5nSGVhZGVycyAkKFNSQ1JPT1QpLy4uLy4uL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pY3UgJChORVhUX1JPT1QpL3Vzci9sb2NhbC9pbmNsdWRlL1dlYkNvcmVU
ZXN0U3VwcG9ydDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>