<?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>140162</bug_id>
          
          <creation_ts>2015-01-06 18:29:12 -0800</creation_ts>
          <short_desc>[EFL][GTK] Use bmalloc instead of tcmalloc</short_desc>
          <delta_ts>2015-02-13 11:29:49 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>141472</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>aperez</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>changseok</cc>
    
    <cc>clopez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>ggaren</cc>
    
    <cc>hyuki.kim</cc>
    
    <cc>kvserr</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>mrobinson</cc>
    
    <cc>olivier.blin</cc>
    
    <cc>ossy</cc>
    
    <cc>pnormand</cc>
    
    <cc>sergio</cc>
    
    <cc>ysuzuki</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1059263</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-06 18:29:12 -0800</bug_when>
    <thetext>As announced in webkit-dev - https://lists.webkit.org/pipermail/webkit-dev/2015-January/027135.html, WebKit EFL needs to consider to use bmalloc instead of TCMalloc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059447</commentid>
    <comment_count>1</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-01-07 11:53:51 -0800</bug_when>
    <thetext>That&apos;s great to hear!
Just FYI, I tested bmalloc on Linux[1] with small patches[2] before and it worked very fine.

[1]: https://github.com/Constellation/bmalloc-ported
[2]: https://github.com/Constellation/bmalloc-ported/tree/master/tools</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060131</commentid>
    <comment_count>2</comment_count>
      <attachid>244340</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-09 07:52:50 -0800</bug_when>
    <thetext>Created attachment 244340
Very very WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060540</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-01-12 03:43:45 -0800</bug_when>
    <thetext>It seems the changes needed will be common to GTK and EFL port, so maybe we should remove the EFL prefix from the bug or add GTK there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060541</commentid>
    <comment_count>4</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-12 03:55:27 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; It seems the changes needed will be common to GTK and EFL port, so maybe we
&gt; should remove the EFL prefix from the bug or add GTK there.

That&apos;s right. And sorry for late uploading patch. Nowadays I was busy. Let me try to upload new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060826</commentid>
    <comment_count>5</comment_count>
      <attachid>244516</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-13 08:32:39 -0800</bug_when>
    <thetext>Created attachment 244516
WIP-2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062099</commentid>
    <comment_count>6</comment_count>
      <attachid>244839</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-01-17 07:08:35 -0800</bug_when>
    <thetext>Created attachment 244839
Additional changes

I made some additional changes on top of the latest patch to get bmalloc building and properly linked.

Mimicking Source/WTF/wtf/VMTags.h, BMALLOC_VM_TAG should be defined to -1.
We don&apos;t have MADV_FREE_REUSABLE or MADV_FREE_REUSE on Linux, so likely MADV_NORMAL should be used instead.

Performance improvement is nice.
http://people.igalia.com/zdobersek/bmalloc/PerformanceTestsResults.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062102</commentid>
    <comment_count>7</comment_count>
      <attachid>244840</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-17 08:10:52 -0800</bug_when>
    <thetext>Created attachment 244840
WIP-3 with Zan&apos;s change</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062104</commentid>
    <comment_count>8</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-17 08:13:17 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created attachment 244839 [details]
&gt; Additional changes
&gt; 
&gt; I made some additional changes on top of the latest patch to get bmalloc
&gt; building and properly linked.
&gt; 
&gt; Mimicking Source/WTF/wtf/VMTags.h, BMALLOC_VM_TAG should be defined to -1.
&gt; We don&apos;t have MADV_FREE_REUSABLE or MADV_FREE_REUSE on Linux, so likely
&gt; MADV_NORMAL should be used instead.
&gt; 
&gt; Performance improvement is nice.
&gt; http://people.igalia.com/zdobersek/bmalloc/PerformanceTestsResults.html

Thank you Zan ! I merge your change with my new small update. Besides the performance result is impressive.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062106</commentid>
    <comment_count>9</comment_count>
      <attachid>244840</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-01-17 08:42:40 -0800</bug_when>
    <thetext>Comment on attachment 244840
WIP-3 with Zan&apos;s change

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

&gt; Source/bmalloc/bmalloc/VMAllocate.h:117
&gt; -    SYSCALL(madvise(p, vmSize, MADV_FREE_REUSABLE));
&gt; +    SYSCALL(madvise(p, vmSize, MADV_NORMAL));

This should of course stay MADV_FREE_REUSABLE if defined(BOS_DARWIN).

&gt; Source/bmalloc/bmalloc/VMAllocate.h:123
&gt; -    SYSCALL(madvise(p, vmSize, MADV_FREE_REUSE));
&gt; +    SYSCALL(madvise(p, vmSize, MADV_NORMAL));

And the same for MADV_FREE_REUSE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062335</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-19 04:40:57 -0800</bug_when>
    <thetext>Attachment 244840 did not pass style-queue:


ERROR: Source/bmalloc/bmalloc/Vector.h:34:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 12 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>1062426</commentid>
    <comment_count>11</comment_count>
      <attachid>244840</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-01-19 11:35:58 -0800</bug_when>
    <thetext>Comment on attachment 244840
WIP-3 with Zan&apos;s change

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

&gt;&gt; Source/bmalloc/bmalloc/VMAllocate.h:117
&gt;&gt; +    SYSCALL(madvise(p, vmSize, MADV_NORMAL));
&gt; 
&gt; This should of course stay MADV_FREE_REUSABLE if defined(BOS_DARWIN).

NORMAL is wrong for deallocation; you want MADV_FREE or MADV_DONTNEED.

In order to make this work on Windows, we&apos;ll need to abstract out mmap, munmap, madvise, and getpagesize. Perhaps we should start now, but creating VMAllocateDarwin.h and VMAllocateLinux.h, and putting platform-specific code in them, namely:

vmTruePageSize() -- getpagesize
vmAllocate(size_t vmSize) -- mmap
vmDeallocate(void* p, size_t vmSize) -- munmap
vmDeallocatePhysicalPages(void* p, size_t vmSize) -- madvise
vmAllocatePhysicalPages(void* p, size_t vmSize) -- madvise

I like putting platform abstractions like this into separate files because I find lots of #ifdefs hard to read.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063360</commentid>
    <comment_count>12</comment_count>
      <attachid>244840</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-01-22 07:47:12 -0800</bug_when>
    <thetext>Comment on attachment 244840
WIP-3 with Zan&apos;s change

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

&gt; Source/cmake/WebKitHelpers.cmake:35
&gt; +            set(OLD_COMPILE_FLAGS &quot;-Werror -Wno-error=attributes -Wno-error=unused-parameter -Wno-error=uninitialized -Wno-error=literal-suffix ${OLD_COMPILE_FLAGS}&quot;)

Can&apos;t we fix these warnings instead of mute them everywhere?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063877</commentid>
    <comment_count>13</comment_count>
      <attachid>245276</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-23 22:05:38 -0800</bug_when>
    <thetext>Created attachment 245276
WIP-4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063878</commentid>
    <comment_count>14</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-23 22:12:02 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; Comment on attachment 244840 [details]
&gt; WIP-3 with Zan&apos;s change
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=244840&amp;action=review
&gt; 
&gt; &gt; Source/cmake/WebKitHelpers.cmake:35
&gt; &gt; +            set(OLD_COMPILE_FLAGS &quot;-Werror -Wno-error=attributes -Wno-error=unused-parameter -Wno-error=uninitialized -Wno-error=literal-suffix ${OLD_COMPILE_FLAGS}&quot;)
&gt; 
&gt; Can&apos;t we fix these warnings instead of mute them everywhere?

I will remove all warning caused by using bmalloc. However I would have working version to do fix all warning more easily at the moment.



BTW there are many build errors caused by &quot;typedef typename Traits::Page Page&quot; as below,

In file included from ../../Source/bmalloc/bmalloc/MediumLine.h:30:0,
                 from ../../Source/bmalloc/bmalloc/MediumChunk.h:30,
                 from ../../Source/bmalloc/bmalloc/Heap.h:32,
                 from ../../Source/bmalloc/bmalloc/Deallocator.cpp:30:
../../Source/bmalloc/bmalloc/MediumTraits.h:43:33: error: declaration of ‘typedef class bmalloc::Chunk&lt;bmalloc::MediumTraits&gt; bmalloc::MediumTraits::Chunk’ [-fpermissive]
     typedef Chunk&lt;MediumTraits&gt; Chunk;
                                 ^

To fix this, I change &quot;Traits::Page&quot; with &quot;Traits::PageTraits&quot; using #ifdef PLATFORM(EFL) || PLATFORM(GTK) for now. However, as you know, this causes #ifdef hell in our code. Does anyone know how to fix this problem using more clear method ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063886</commentid>
    <comment_count>15</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-01-23 23:02:52 -0800</bug_when>
    <thetext>I don&apos;t think bmalloc should depend on WTF:

/Volumes/Data/EWS/WebKit/Source/bmalloc/bmalloc/VMAllocate.h:36:10: fatal error: &apos;wtf/Platform.h&apos; file not found
#include &lt;wtf/Platform.h&gt;
         ^
1 error generated.

It will need its own concept of platform macros as it is intended to stand alone (not depend on WTF headers or code).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063970</commentid>
    <comment_count>16</comment_count>
      <attachid>245294</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-24 23:27:00 -0800</bug_when>
    <thetext>Created attachment 245294
WIP-5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063971</commentid>
    <comment_count>17</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-24 23:27:44 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; I don&apos;t think bmalloc should depend on WTF:
&gt; 
&gt; /Volumes/Data/EWS/WebKit/Source/bmalloc/bmalloc/VMAllocate.h:36:10: fatal
&gt; error: &apos;wtf/Platform.h&apos; file not found
&gt; #include &lt;wtf/Platform.h&gt;
&gt;          ^
&gt; 1 error generated.
&gt; 
&gt; It will need its own concept of platform macros as it is intended to stand
&gt; alone (not depend on WTF headers or code).

Ok, I remove the WTF dependency from bmalloc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063993</commentid>
    <comment_count>18</comment_count>
      <attachid>245305</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-25 05:19:39 -0800</bug_when>
    <thetext>Created attachment 245305
WIP-6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063995</commentid>
    <comment_count>19</comment_count>
      <attachid>245306</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-25 07:19:55 -0800</bug_when>
    <thetext>Created attachment 245306
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1063999</commentid>
    <comment_count>20</comment_count>
      <attachid>245306</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-01-25 08:47:28 -0800</bug_when>
    <thetext>Comment on attachment 245306
Patch

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

&gt; Source/bmalloc/bmalloc/AsyncTask.h:69
&gt; +#if !defined(BUILDING_EFL__) &amp;&amp; !defined(BUILDING_GTK__)
&gt;  template&lt;typename Object, typename Function&gt; const std::chrono::seconds AsyncTask&lt;Object, Function&gt;::exitDelay;
&gt; +#endif

Add the constexpr specifier, like in the declaration, and it should build fine.

&gt; Source/bmalloc/bmalloc/BoundaryTag.h:32
&gt; +#include &lt;memory.h&gt;

memcpy/memset are provided through string.h. Better yet, include &lt;cstring&gt; and change memcpy/memset to std::memcpy/std::memset.

&gt; Source/bmalloc/bmalloc/MediumTraits.h:41
&gt; -    typedef Chunk&lt;MediumTraits&gt; Chunk;
&gt; -    typedef Line&lt;MediumTraits&gt; Line;
&gt; -    typedef Page&lt;MediumTraits&gt; Page;
&gt; +    typedef Chunk&lt;MediumTraits&gt; ChunkTraits;
&gt; +    typedef Line&lt;MediumTraits&gt; LineTraits;
&gt; +    typedef Page&lt;MediumTraits&gt; PageTraits;

I think ChunkType, LineType and PageType would fit better than ChunkTraits, LineTraits and PageTraits.

&gt; Source/bmalloc/bmalloc/PerThread.h:56
&gt; -#if defined(__has_include) &amp;&amp; __has_include(&lt;System/pthread_machdep.h&gt;)
&gt; +#if defined(__has_include)
&gt; +#if __has_include(&lt;System/pthread_machdep.h&gt;)

Hypothetically, if a compiler didn&apos;t define __has_include, you&apos;d end up missing code.
GCC 4.8 and 4.9 support this. Not sure about 4.7 and MSVC.

Anyway, you could check for &lt;System/pthread_machdep.h&gt; this way only once, define e.g. HAS_PTHREAD_MACHDEP_H accordingly, and then test this macro in both places.

&gt; Source/bmalloc/bmalloc/SmallTraits.h:40
&gt; -    typedef Chunk&lt;SmallTraits&gt; Chunk;
&gt; -    typedef Line&lt;SmallTraits&gt; Line;
&gt; -    typedef Page&lt;SmallTraits&gt; Page;
&gt; +    typedef Chunk&lt;SmallTraits&gt; ChunkTraits;
&gt; +    typedef Line&lt;SmallTraits&gt; LineTraits;
&gt; +    typedef Page&lt;SmallTraits&gt; PageTraits;

I think ChunkType, LineType and PageType would fit better than ChunkTraits, LineTraits and PageTraits.

&gt; Source/bmalloc/bmalloc/VMAllocate.h:121
&gt; +#else
&gt; +    SYSCALL(madvise(p, vmSize, MADV_NORMAL));
&gt; +#endif

As per comment #11, this should either be MADV_FREE or MADV_DONTNEED.

&gt; Source/bmalloc/bmalloc/Vector.h:32
&gt; +#include &lt;memory.h&gt;

memcpy/memset are provided through string.h. Better yet, include &lt;cstring&gt; and change memcpy/memset to std::memcpy/std::memset.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1064054</commentid>
    <comment_count>21</comment_count>
      <attachid>245321</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-25 18:08:15 -0800</bug_when>
    <thetext>Created attachment 245321
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1064059</commentid>
    <comment_count>22</comment_count>
      <attachid>245306</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-25 18:13:29 -0800</bug_when>
    <thetext>Comment on attachment 245306
Patch

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

Otherwise done.

&gt;&gt; Source/bmalloc/bmalloc/AsyncTask.h:69
&gt;&gt; +#endif
&gt; 
&gt; Add the constexpr specifier, like in the declaration, and it should build fine.

I will try to do this when I&apos;m not busy. BTW, could you suggest an example for this case ?

&gt;&gt; Source/bmalloc/bmalloc/PerThread.h:56
&gt;&gt; +#if __has_include(&lt;System/pthread_machdep.h&gt;)
&gt; 
&gt; Hypothetically, if a compiler didn&apos;t define __has_include, you&apos;d end up missing code.
&gt; GCC 4.8 and 4.9 support this. Not sure about 4.7 and MSVC.
&gt; 
&gt; Anyway, you could check for &lt;System/pthread_machdep.h&gt; this way only once, define e.g. HAS_PTHREAD_MACHDEP_H accordingly, and then test this macro in both places.

Yes, this is a problem. Let me try to use your suggestion soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1064060</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-25 18:16:22 -0800</bug_when>
    <thetext>Attachment 245321 did not pass style-queue:


ERROR: Source/bmalloc/bmalloc/PerThread.h:58:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/bmalloc/bmalloc/PerThread.h:58:  Missing spaces around /  [whitespace/operators] [3]
Total errors found: 2 in 21 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>1064109</commentid>
    <comment_count>24</comment_count>
      <attachid>245306</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-01-26 01:12:14 -0800</bug_when>
    <thetext>Comment on attachment 245306
Patch

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

&gt;&gt;&gt; Source/bmalloc/bmalloc/AsyncTask.h:69
&gt;&gt;&gt; +#endif
&gt;&gt; 
&gt;&gt; Add the constexpr specifier, like in the declaration, and it should build fine.
&gt; 
&gt; I will try to do this when I&apos;m not busy. BTW, could you suggest an example for this case ?

Just add the constexpr specifier, to mach the declaration:

    template&lt;typename Object, typename Function&gt; const constexpr std::chrono::seconds AsyncTask&lt;Object, Function&gt;::exitDelay;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1064167</commentid>
    <comment_count>25</comment_count>
      <attachid>245352</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-26 09:11:20 -0800</bug_when>
    <thetext>Created attachment 245352
Patch for ews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1064198</commentid>
    <comment_count>26</comment_count>
      <attachid>245352</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-01-26 11:16:53 -0800</bug_when>
    <thetext>Comment on attachment 245352
Patch for ews

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

&gt; Source/bmalloc/bmalloc/VMAllocate.h:37
&gt; +#if defined(BOS_DARWIN)

The correct way to write this is &quot;BOS(DARWIN)&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1064314</commentid>
    <comment_count>27</comment_count>
      <attachid>245395</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-26 17:27:39 -0800</bug_when>
    <thetext>Created attachment 245395
Patch for ews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1064521</commentid>
    <comment_count>28</comment_count>
      <attachid>245447</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-27 08:34:54 -0800</bug_when>
    <thetext>Created attachment 245447
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1064522</commentid>
    <comment_count>29</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-27 08:38:17 -0800</bug_when>
    <thetext>Though this patch may have still problems, it seems to me that this patch is ready to get official review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1064573</commentid>
    <comment_count>30</comment_count>
      <attachid>245447</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-01-27 11:25:01 -0800</bug_when>
    <thetext>Comment on attachment 245447
Patch

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

Looks like the GTK build failed. More comments below.

&gt; Source/bmalloc/bmalloc/PerThread.h:57
&gt; +#if defined(__has_include)
&gt; +#if __has_include(&lt;System/pthread_machdep.h&gt;)

Why did this have to change?

&gt; Source/bmalloc/bmalloc/PerThread.h:82
&gt; +#if defined(__has_include) || defined(BUILDING_EFL__)

This is wrong. To match the conditions above, it would need to read &quot;#if !defined(__has_include) || !__has_include(&lt;System/pthread_machdep.h&gt;)&quot;. But it would be even simpler as an #else.

Another option is to compute a macro named something like HAVE_PTHREAD_GETSPECIFIC_DIRECT and use that everywhere.

&gt; Source/bmalloc/bmalloc/VMAllocate.h:120
&gt; +    SYSCALL(madvise(p, vmSize, MADV_DONTNEED));

FREE is probably better than DONTNEED; DONTNEED pages will be paged out to disk under memory pressure, which is a waste for free malloc pages.

&gt; Source/bmalloc/bmalloc/VMAllocate.h:130
&gt; +    SYSCALL(madvise(p, vmSize, MADV_DONTNEED));

DONTNEED is wrong; to allocate physical pages, you want NORMAL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065179</commentid>
    <comment_count>31</comment_count>
      <attachid>245447</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-29 00:22:28 -0800</bug_when>
    <thetext>Comment on attachment 245447
Patch

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

&gt;&gt; Source/bmalloc/bmalloc/PerThread.h:82
&gt;&gt; +#if defined(__has_include) || defined(BUILDING_EFL__)
&gt; 
&gt; This is wrong. To match the conditions above, it would need to read &quot;#if !defined(__has_include) || !__has_include(&lt;System/pthread_machdep.h&gt;)&quot;. But it would be even simpler as an #else.
&gt; 
&gt; Another option is to compute a macro named something like HAVE_PTHREAD_GETSPECIFIC_DIRECT and use that everywhere.

Looks like below can support all ports.

#if !defined(__has_include) || !__has_include(&lt;System/pthread_machdep.h&gt;)
...
#else
...
#endif

&gt;&gt; Source/bmalloc/bmalloc/VMAllocate.h:120
&gt;&gt; +    SYSCALL(madvise(p, vmSize, MADV_DONTNEED));
&gt; 
&gt; FREE is probably better than DONTNEED; DONTNEED pages will be paged out to disk under memory pressure, which is a waste for free malloc pages.

Can MADV_FREE be used for linux as well as Mac OS ? It looks MADV_FREE can be used under OS_DARWIN.


#if OS(DARWIN)

#define HAVE_DISPATCH_H 1
#define HAVE_MADV_FREE 1
...
#endif

void TCMalloc_SystemRelease(void* start, size_t length)
{
    // MADV_FREE clears the modified bit on pages, which allows
    // them to be discarded immediately.
#if HAVE(MADV_FREE)
    const int advice = MADV_FREE;
#else
    const int advice = MADV_DONTNEED;
#endif

&gt;&gt; Source/bmalloc/bmalloc/VMAllocate.h:130
&gt;&gt; +    SYSCALL(madvise(p, vmSize, MADV_DONTNEED));
&gt; 
&gt; DONTNEED is wrong; to allocate physical pages, you want NORMAL.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065180</commentid>
    <comment_count>32</comment_count>
      <attachid>245447</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-29 00:29:24 -0800</bug_when>
    <thetext>Comment on attachment 245447
Patch

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

&gt;&gt; Source/bmalloc/bmalloc/PerThread.h:57
&gt;&gt; +#if __has_include(&lt;System/pthread_machdep.h&gt;)
&gt; 
&gt; Why did this have to change?

EFL port doesn&apos;t recognize __has_include macro. So it causes build break. To avoid this build break, it seems that other files has used this style. AFAIK, __has_include is supported by Clang on LLVM. However EFL port doesn&apos;t support Clang compiler officially yet.


For instance, at 35 line in Source/WebCore/crypto/CommonCryptoUtilities.h,

#if defined(__has_include)
#if __has_include(&lt;CommonCrypto/CommonRSACryptor.h&gt;)
#include &lt;CommonCrypto/CommonRSACryptor.h&gt;
#endif</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065181</commentid>
    <comment_count>33</comment_count>
      <attachid>245613</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-29 00:31:21 -0800</bug_when>
    <thetext>Created attachment 245613
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065182</commentid>
    <comment_count>34</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-29 00:31:52 -0800</bug_when>
    <thetext>Need to wait until EFL and GTK builds are fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065184</commentid>
    <comment_count>35</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-01-29 00:33:55 -0800</bug_when>
    <thetext>(In reply to comment #34)
&gt; Need to wait until EFL and GTK builds are fixed.
feel free to pick it up: bug141027</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065302</commentid>
    <comment_count>36</comment_count>
      <attachid>245613</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-01-29 11:46:42 -0800</bug_when>
    <thetext>Comment on attachment 245613
Patch

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

&gt; Source/bmalloc/bmalloc/VMAllocate.h:120
&gt; +    SYSCALL(madvise(p, vmSize, MADV_DONTNEED));

Should be MADV_FREE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065427</commentid>
    <comment_count>37</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-29 17:13:05 -0800</bug_when>
    <thetext>(In reply to comment #36)
&gt; Comment on attachment 245613 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=245613&amp;action=review
&gt; 
&gt; &gt; Source/bmalloc/bmalloc/VMAllocate.h:120
&gt; &gt; +    SYSCALL(madvise(p, vmSize, MADV_DONTNEED));
&gt; 
&gt; Should be MADV_FREE.

As I said comment #31, it looks MADV_FREE only can be used in Mac OS (DARWIN). IMHO, that&apos;s why TCMalloc has used MADV_DONTNEED instead of MADV_FREE in TCMalloc_SystemRelease(). If you know how to use MADV_FREE in other ports based on linux, please let me know.


void TCMalloc_SystemRelease(void* start, size_t length)
{
    // MADV_FREE clears the modified bit on pages, which allows
    // them to be discarded immediately.
#if HAVE(MADV_FREE)
    const int advice = MADV_FREE;
#else
    const int advice = MADV_DONTNEED;
#endif</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065444</commentid>
    <comment_count>38</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2015-01-29 18:10:13 -0800</bug_when>
    <thetext>(In reply to comment #37)
&gt; If you know how to use MADV_FREE in other ports based on linux, please let me know.

AFAIK, is not possible to use MADV_FREE on Linux.

It seems that support for this feature is coming with Linux kernel version 3.20 [1]. But given that version 3.19 is still not released, and also taking into account the distribution release cycles, probably we would have to wait a few years until we can use this feature unconditionally on Linux.


[1] https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=831579f10b4000009972369acb54bae29ae3dedc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065486</commentid>
    <comment_count>39</comment_count>
      <attachid>245692</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-29 21:17:04 -0800</bug_when>
    <thetext>Created attachment 245692
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065562</commentid>
    <comment_count>40</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-30 06:27:32 -0800</bug_when>
    <thetext>(In reply to comment #38)
&gt; (In reply to comment #37)
&gt; &gt; If you know how to use MADV_FREE in other ports based on linux, please let me know.
&gt; 
&gt; AFAIK, is not possible to use MADV_FREE on Linux.
&gt; 
&gt; It seems that support for this feature is coming with Linux kernel version
&gt; 3.20 [1]. But given that version 3.19 is still not released, and also taking
&gt; into account the distribution release cycles, probably we would have to wait
&gt; a few years until we can use this feature unconditionally on Linux.
&gt; 
&gt; 
&gt; [1]
&gt; https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/
&gt; ?id=831579f10b4000009972369acb54bae29ae3dedc

Geoffrey, what do you think about this ? Do you still think we should use MADV_FREE for EFL and GTK ports ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065592</commentid>
    <comment_count>41</comment_count>
      <attachid>245692</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-01-30 10:40:26 -0800</bug_when>
    <thetext>Comment on attachment 245692
Patch

Sorry -- I missed your earlier comment. MADV_DONTNEED is OK.

Looks like this patch failed to build on EFL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065732</commentid>
    <comment_count>42</comment_count>
      <attachid>245763</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-30 17:15:19 -0800</bug_when>
    <thetext>Created attachment 245763
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065759</commentid>
    <comment_count>43</comment_count>
      <attachid>245766</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-30 19:19:42 -0800</bug_when>
    <thetext>Created attachment 245766
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065770</commentid>
    <comment_count>44</comment_count>
      <attachid>245766</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-01-30 20:31:36 -0800</bug_when>
    <thetext>Comment on attachment 245766
Patch

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

&gt; Source/cmake/WebKitHelpers.cmake:25
&gt; +            set(OLD_COMPILE_FLAGS &quot;-Werror -Wno-error=attributes -Wno-error=unused-parameter ${OLD_COMPILE_FLAGS}&quot;)

I would like to fix build breaks by &quot;attributes&quot; in following bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065974</commentid>
    <comment_count>45</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-02-01 10:13:45 -0800</bug_when>
    <thetext>(In reply to comment #44)
&gt; Comment on attachment 245766 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=245766&amp;action=review
&gt; 
&gt; &gt; Source/cmake/WebKitHelpers.cmake:25
&gt; &gt; +            set(OLD_COMPILE_FLAGS &quot;-Werror -Wno-error=attributes -Wno-error=unused-parameter ${OLD_COMPILE_FLAGS}&quot;)
&gt; 
&gt; I would like to fix build breaks by &quot;attributes&quot; in following bugs.

I don&apos;t like the idea to disable this warning everywhere because of 2 files.

Let&apos;s see the warnings:
------------------------
../../Source/bmalloc/bmalloc/Chunk.h:66:39: error: requested alignment 4096 is larger than 128 [-Werror=attributes]
     alignas(vmPageSize) char m_memory[];
                                       ^

../../Source/bmalloc/bmalloc/LargeChunk.h:70:39: error: requested alignment 4096 is larger than 128 [-Werror=attributes]
     alignas(vmPageSize) char m_memory[];
                                       ^

I don&apos;t know if it is a false warning or it signals a real alignment bug.
But we can mute it simple for this part only:
+#if defined(__GNUC__)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored &quot;-Wattributes&quot;
     alignas(vmPageSize) char m_memory[];
+#pragma GCC diagnostic pop
+#endif

If it is a false alarm, please justify why. But if it is 
a real bug, it should be fixed before landing the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066043</commentid>
    <comment_count>46</comment_count>
      <attachid>245860</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-02-01 23:17:29 -0800</bug_when>
    <thetext>Created attachment 245860
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066044</commentid>
    <comment_count>47</comment_count>
      <attachid>245860</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-02-01 23:20:33 -0800</bug_when>
    <thetext>Comment on attachment 245860
Patch

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

&gt; Source/bmalloc/bmalloc/Chunk.h:67
&gt;      alignas(vmPageSize) char m_memory[];

It looks there is issue when using alignas on gcc. However clang looks fine to use it.
 - http://stackoverflow.com/questions/15523537/alignas-specifier-vs-attribute-aligned-c11

So I change to use a char array which has vmPageSize for gcc. If this use has problem, please let me know.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066060</commentid>
    <comment_count>48</comment_count>
      <attachid>245860</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-02-02 03:07:35 -0800</bug_when>
    <thetext>Comment on attachment 245860
Patch

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

&gt;&gt; Source/bmalloc/bmalloc/Chunk.h:67
&gt;&gt;      alignas(vmPageSize) char m_memory[];
&gt; 
&gt; It looks there is issue when using alignas on gcc. However clang looks fine to use it.
&gt;  - http://stackoverflow.com/questions/15523537/alignas-specifier-vs-attribute-aligned-c11
&gt; 
&gt; So I change to use a char array which has vmPageSize for gcc. If this use has problem, please let me know.

char x[4096] doesn&apos;t guarantee any alignment, I checked it on 
a small example with the stock GCC (4.8.3) on Ubuntu 14.04:

class Foo
{
public:
    char a;
    int b;
    char c
    char d[4096];
};

Foo bar;

bar.a: 0x7fff64e51520
bar.b: 0x7fff64e51524
bar.c: 0x7fff64e51528
bar.d: 0x7fff64e51529 --&gt; not aligned at all

But __attribute__ ((aligned(4096))) guarantees the proper alignment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066076</commentid>
    <comment_count>49</comment_count>
      <attachid>245869</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-02-02 05:04:00 -0800</bug_when>
    <thetext>Created attachment 245869
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066077</commentid>
    <comment_count>50</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-02-02 05:05:12 -0800</bug_when>
    <thetext>(In reply to comment #48)
&gt; Comment on attachment 245860 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=245860&amp;action=review
&gt; 
&gt; &gt;&gt; Source/bmalloc/bmalloc/Chunk.h:67
&gt; &gt;&gt;      alignas(vmPageSize) char m_memory[];
&gt; &gt; 
&gt; &gt; It looks there is issue when using alignas on gcc. However clang looks fine to use it.
&gt; &gt;  - http://stackoverflow.com/questions/15523537/alignas-specifier-vs-attribute-aligned-c11
&gt; &gt; 
&gt; &gt; So I change to use a char array which has vmPageSize for gcc. If this use has problem, please let me know.
&gt; 
&gt; char x[4096] doesn&apos;t guarantee any alignment, I checked it on 
&gt; a small example with the stock GCC (4.8.3) on Ubuntu 14.04:
&gt; 
&gt; class Foo
&gt; {
&gt; public:
&gt;     char a;
&gt;     int b;
&gt;     char c
&gt;     char d[4096];
&gt; };
&gt; 
&gt; Foo bar;
&gt; 
&gt; bar.a: 0x7fff64e51520
&gt; bar.b: 0x7fff64e51524
&gt; bar.c: 0x7fff64e51528
&gt; bar.d: 0x7fff64e51529 --&gt; not aligned at all
&gt; 
&gt; But __attribute__ ((aligned(4096))) guarantees the proper alignment.

Ossy, thank you for your nice comment. I missed it. I apply your suggestion to new patch. Please take a look !</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066275</commentid>
    <comment_count>51</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-02-02 15:48:32 -0800</bug_when>
    <thetext>&gt; If it is a false alarm, please justify why. But if it is 
&gt; a real bug, it should be fixed before landing the patch.

This is a real bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066276</commentid>
    <comment_count>52</comment_count>
      <attachid>245869</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-02-02 15:48:57 -0800</bug_when>
    <thetext>Comment on attachment 245869
Patch

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

&gt; Source/bmalloc/bmalloc/PerThread.h:35
&gt; +#if defined(__has_include)
&gt; +#if __has_include(&lt;System/pthread_machdep.h&gt;)

Can we put this on one line using &amp;&amp;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066361</commentid>
    <comment_count>53</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-02-02 21:35:48 -0800</bug_when>
    <thetext>(In reply to comment #52)
&gt; Comment on attachment 245869 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=245869&amp;action=review
&gt; 
&gt; &gt; Source/bmalloc/bmalloc/PerThread.h:35
&gt; &gt; +#if defined(__has_include)
&gt; &gt; +#if __has_include(&lt;System/pthread_machdep.h&gt;)
&gt; 
&gt; Can we put this on one line using &amp;&amp;?

Build break happens on EFL port when using it. Because EFL port doesn&apos;t support clang yet. When we support the clang, I will change to use &quot;&amp;&amp;&quot; for it. So I would like to keep current use at the moment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066363</commentid>
    <comment_count>54</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-02-02 21:39:56 -0800</bug_when>
    <thetext>(In reply to comment #51)
&gt; &gt; If it is a false alarm, please justify why. But if it is 
&gt; &gt; a real bug, it should be fixed before landing the patch.
&gt; 
&gt; This is a real bug.

As I said on comment #47, it looks there is issue when using *alignas* on gcc. However clang looks fine to use it.
 - http://stackoverflow.com/questions/15523537/alignas-specifier-vs-attribute-aligned-c11

Thus latest patch treats the attributes errors with warning only for *alignas* use. If you know how to solve this problem, please let me know.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066490</commentid>
    <comment_count>55</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2015-02-03 10:33:58 -0800</bug_when>
    <thetext>(In reply to comment #53)
&gt; Build break happens on EFL port when using it. Because EFL port doesn&apos;t
&gt; support clang yet. When we support the clang, I will change to use &quot;&amp;&amp;&quot; for
&gt; it. So I would like to keep current use at the moment.

IMHO: Supporting Clang is fine, but stopping to support GCC is not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066491</commentid>
    <comment_count>56</comment_count>
      <attachid>245869</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-02-03 10:36:46 -0800</bug_when>
    <thetext>Comment on attachment 245869
Patch

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

&gt; Source/bmalloc/bmalloc/Chunk.h:71
&gt; +#if defined(__GNUC__)
&gt; +#pragma GCC diagnostic push
&gt; +#pragma GCC diagnostic ignored &quot;-Wattributes&quot;
&gt;      alignas(vmPageSize) char m_memory[];
&gt; +#pragma GCC diagnostic pop
&gt; +#endif

What was the problem with __attribute__ ((aligned(4096))) ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066493</commentid>
    <comment_count>57</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-02-03 10:40:19 -0800</bug_when>
    <thetext>(In reply to comment #55)
&gt; IMHO: Supporting Clang is fine, but stopping to support GCC is not.
I agree, we shouldn&apos;t drop supporting GCC. At least not in the near future.

(Otherwise EFL builds with clang fine, but not with Werror. Once I 
 started fixing warnings to be able switch Werror on for clang too.
 Additionally one of the EFL jhbuild package has some issue with
 clang, but I can&apos;t remember which one. But building deps with gcc
 and building WebKit with clang works fine out-of-the-box. )</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066649</commentid>
    <comment_count>58</comment_count>
      <attachid>245989</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-02-03 17:06:59 -0800</bug_when>
    <thetext>Created attachment 245989
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066708</commentid>
    <comment_count>59</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-02-03 19:56:23 -0800</bug_when>
    <thetext>(In reply to comment #56)
&gt; Comment on attachment 245869 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=245869&amp;action=review
&gt; 
&gt; &gt; Source/bmalloc/bmalloc/Chunk.h:71
&gt; &gt; +#if defined(__GNUC__)
&gt; &gt; +#pragma GCC diagnostic push
&gt; &gt; +#pragma GCC diagnostic ignored &quot;-Wattributes&quot;
&gt; &gt;      alignas(vmPageSize) char m_memory[];
&gt; &gt; +#pragma GCC diagnostic pop
&gt; &gt; +#endif
&gt; 
&gt; What was the problem with __attribute__ ((aligned(4096))) ?

Looks like no problem on that. Last patch uses it now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067006</commentid>
    <comment_count>60</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-02-04 18:34:20 -0800</bug_when>
    <thetext>(In reply to comment #59)
&gt; (In reply to comment #56)
&gt; &gt; Comment on attachment 245869 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=245869&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/bmalloc/bmalloc/Chunk.h:71
&gt; &gt; &gt; +#if defined(__GNUC__)
&gt; &gt; &gt; +#pragma GCC diagnostic push
&gt; &gt; &gt; +#pragma GCC diagnostic ignored &quot;-Wattributes&quot;
&gt; &gt; &gt;      alignas(vmPageSize) char m_memory[];
&gt; &gt; &gt; +#pragma GCC diagnostic pop
&gt; &gt; &gt; +#endif
&gt; &gt; 
&gt; &gt; What was the problem with __attribute__ ((aligned(4096))) ?
&gt; 
&gt; Looks like no problem on that. Last patch uses it now.

Geoffrey and Ossy, any other comment on last patch ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067333</commentid>
    <comment_count>61</comment_count>
      <attachid>245989</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-02-06 02:57:41 -0800</bug_when>
    <thetext>Comment on attachment 245989
Patch

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

I&apos;m not an allocator expert, I only suggested some 
minor things and let the detailed review for others.

Otherwise I don&apos;t think if we should enable bmalloc on linux until 
it can&apos;t provide memory statistics as tcmalloc does now - bug141247.

&gt; Source/bmalloc/bmalloc/Chunk.h:66
&gt; +    __attribute__((aligned(4096))) char m_memory[];

The problem here is that vmPageSize is 16384 on BPLATFORM(IOS) and 4096 everywhere else.

Unfortunately GCC doesn&apos;t accept vmPageSize as attribute parameter:
&quot;error: requested alignment is not an integer constant&quot;
We have to duplicate these numbers and add compile time assert 
to guarantee that they are exactly same in Sizes.h and here.

for example:
#if BPLATFORM(IOS)
    char m_memory[] __attribute__((aligned(16384)));
    static_assert(vmPageSize == 16384, &quot;vmPageSize and alignment must be same&quot;);
#else
    char m_memory[] __attribute__((aligned(4096)));
    static_assert(vmPageSize == 4096, &quot;vmPageSize and alignment must be same&quot;);
#endif</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067334</commentid>
    <comment_count>62</comment_count>
      <attachid>245989</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-02-06 03:00:03 -0800</bug_when>
    <thetext>Comment on attachment 245989
Patch

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

&gt; Source/bmalloc/ChangeLog:19
&gt; +            -fpermitive build error on EFL and GTK port. 

nit: trailing whitespace</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067335</commentid>
    <comment_count>63</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-02-06 03:16:15 -0800</bug_when>
    <thetext>(In reply to comment #61)
&gt; Comment on attachment 245989 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=245989&amp;action=review
&gt; 
&gt; I&apos;m not an allocator expert, I only suggested some 
&gt; minor things and let the detailed review for others.
&gt; 
&gt; Otherwise I don&apos;t think if we should enable bmalloc on linux until 
&gt; it can&apos;t provide memory statistics as tcmalloc does now - bug141247.

If it&apos;s stable and gives much better performance, I don&apos;t think memory stats should be a blocker, at least not for GTK port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067336</commentid>
    <comment_count>64</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-02-06 03:19:31 -0800</bug_when>
    <thetext>(In reply to comment #63)
&gt; (In reply to comment #61)
&gt; &gt; Comment on attachment 245989 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=245989&amp;action=review
&gt; &gt; 
&gt; &gt; I&apos;m not an allocator expert, I only suggested some 
&gt; &gt; minor things and let the detailed review for others.
&gt; &gt; 
&gt; &gt; Otherwise I don&apos;t think if we should enable bmalloc on linux until 
&gt; &gt; it can&apos;t provide memory statistics as tcmalloc does now - bug141247.
&gt; 
&gt; If it&apos;s stable and gives much better performance, I don&apos;t think memory stats
&gt; should be a blocker, at least not for GTK port.

Not a blocker? It would make impossible to catch memory regressions.
I can understand if memory consumption isn&apos;t important, but can&apos;t agree. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067354</commentid>
    <comment_count>65</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2015-02-06 07:37:06 -0800</bug_when>
    <thetext>Just a chiming in: I do also think that memory statistics are important
to have. It shouldn&apos;t be hard to keep memory counters, and the overhead
would be negligible. The gains from using bmalloc would still be noticeable
even when keeping the memory counters around, and they can really be of
help for finding regressions or spotting potential leaks without needing
for full debug builds.

Just my 2¢</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067356</commentid>
    <comment_count>66</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-02-06 07:44:09 -0800</bug_when>
    <thetext>(In reply to comment #61)
&gt; Comment on attachment 245989 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=245989&amp;action=review
&gt; 
&gt; I&apos;m not an allocator expert, I only suggested some 
&gt; minor things and let the detailed review for others.
&gt; 
&gt; Otherwise I don&apos;t think if we should enable bmalloc on linux until 
&gt; it can&apos;t provide memory statistics as tcmalloc does now - bug141247.

I&apos;m not sure when bmalloc can support memory stats though, I understand what is your concern. It would be nicer if we use bmalloc when it supports memory stats. My concern is nobody know when it can support memory stats. Do you think it will be done in near future ? If not, can&apos;t we land this patch with disabling bmalloc ? Then we can enable bmalloc as soon as it supports memory stats.


&gt; &gt; Source/bmalloc/bmalloc/Chunk.h:66
&gt; &gt; +    __attribute__((aligned(4096))) char m_memory[];
&gt; 
&gt; The problem here is that vmPageSize is 16384 on BPLATFORM(IOS) and 4096
&gt; everywhere else.
&gt; 
&gt; Unfortunately GCC doesn&apos;t accept vmPageSize as attribute parameter:
&gt; &quot;error: requested alignment is not an integer constant&quot;
&gt; We have to duplicate these numbers and add compile time assert 
&gt; to guarantee that they are exactly same in Sizes.h and here.
&gt; 
&gt; for example:
&gt; #if BPLATFORM(IOS)
&gt;     char m_memory[] __attribute__((aligned(16384)));
&gt;     static_assert(vmPageSize == 16384, &quot;vmPageSize and alignment must be
&gt; same&quot;);
&gt; #else
&gt;     char m_memory[] __attribute__((aligned(4096)));
&gt;     static_assert(vmPageSize == 4096, &quot;vmPageSize and alignment must be
&gt; same&quot;);
&gt; #endif

I wonder how does Geoffrey think about this solution.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067763</commentid>
    <comment_count>67</comment_count>
      <attachid>245989</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-02-08 22:46:14 -0800</bug_when>
    <thetext>Comment on attachment 245989
Patch

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

&gt;&gt;&gt; Source/bmalloc/bmalloc/Chunk.h:66
&gt;&gt;&gt; +    __attribute__((aligned(4096))) char m_memory[];
&gt;&gt; 
&gt;&gt; The problem here is that vmPageSize is 16384 on BPLATFORM(IOS) and 4096 everywhere else.
&gt;&gt; 
&gt;&gt; Unfortunately GCC doesn&apos;t accept vmPageSize as attribute parameter:
&gt;&gt; &quot;error: requested alignment is not an integer constant&quot;
&gt;&gt; We have to duplicate these numbers and add compile time assert 
&gt;&gt; to guarantee that they are exactly same in Sizes.h and here.
&gt;&gt; 
&gt;&gt; for example:
&gt;&gt; #if BPLATFORM(IOS)
&gt;&gt;     char m_memory[] __attribute__((aligned(16384)));
&gt;&gt;     static_assert(vmPageSize == 16384, &quot;vmPageSize and alignment must be same&quot;);
&gt;&gt; #else
&gt;&gt;     char m_memory[] __attribute__((aligned(4096)));
&gt;&gt;     static_assert(vmPageSize == 4096, &quot;vmPageSize and alignment must be same&quot;);
&gt;&gt; #endif
&gt; 
&gt; I wonder how does Geoffrey think about this solution.

&gt; Unfortunately GCC doesn&apos;t accept vmPageSize as attribute parameter: 
&gt; &quot;error: requested alignment is not an integer constant&quot;

When I change to the line as below, there is no build error.
  __attribute__((aligned(vmPageSize))) char m_memory[];

I&apos;m using GCC 4.9.1 version. What GCC version did this build error happen ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067774</commentid>
    <comment_count>68</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-02-09 02:06:16 -0800</bug_when>
    <thetext>(In reply to comment #67)
&gt; Comment on attachment 245989 [details]
&gt; Patch

&gt; &gt; Unfortunately GCC doesn&apos;t accept vmPageSize as attribute parameter: 
&gt; &gt; &quot;error: requested alignment is not an integer constant&quot;
&gt; 
&gt; When I change to the line as below, there is no build error.
&gt;   __attribute__((aligned(vmPageSize))) char m_memory[];
&gt; 
&gt; I&apos;m using GCC 4.9.1 version. What GCC version did this build error happen ?

I got build error with GCC 4.8.2 which is the stock GCC in Ubuntu 14.04 LTS.

Of course, it is possible to bump the minimumum required GCC version. I&apos;m
not against it, but the EFL and GTK port maintainers should decide if they
want to drop GCC 4.8 support because of this minor issue or not.

( Additionally I checked Clang 3.5 - which is available for 14.04 - 
it is happy with __attribute__((aligned(vmPageSize))) too. )</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067798</commentid>
    <comment_count>69</comment_count>
      <attachid>246265</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-02-09 04:12:57 -0800</bug_when>
    <thetext>Created attachment 246265
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067799</commentid>
    <comment_count>70</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-02-09 04:15:34 -0800</bug_when>
    <thetext>(In reply to comment #68)

&gt; Of course, it is possible to bump the minimumum required GCC version. I&apos;m
&gt; not against it, but the EFL and GTK port maintainers should decide if they
&gt; want to drop GCC 4.8 support because of this minor issue or not.

I update your suggestion in last patch. Because I think it is too big issue to bump GCC version because of it. And I enable bmalloc on GTK port for now. Let&apos;s enable bmalloc for EFL port when it supports memory statistics.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068009</commentid>
    <comment_count>71</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-02-10 00:51:31 -0800</bug_when>
    <thetext>I haven&apos;t said memory stats are not important, only that they shouldn&apos;t be a blocker. We could land the patch and make bmalloc the default one, but build with TCMalloc in the release bot. That way the release and perf bots would be using TCMalloc and we would get memory stats in perf bot, and the debug builds, development builds and production builds would use bmalloc (by default). What do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068036</commentid>
    <comment_count>72</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-02-10 05:18:27 -0800</bug_when>
    <thetext>hmm, Zan correctly pointed out that debug bot doesn&apos;t use tcmalloc, but system malloc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068037</commentid>
    <comment_count>73</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-02-10 05:21:47 -0800</bug_when>
    <thetext>(In reply to comment #71)
&gt; I haven&apos;t said memory stats are not important, only that they shouldn&apos;t be a
&gt; blocker. We could land the patch and make bmalloc the default one, but build
&gt; with TCMalloc in the release bot. That way the release and perf bots would
&gt; be using TCMalloc and we would get memory stats in perf bot, and the debug
&gt; builds, development builds and production builds would use bmalloc (by
&gt; default). What do you think?

Good idea, maybe it is more than enough to use TCMalloc on the performance
bots for now. And once bmalloc supports memory statistics, we can switch
these bots too and remove TCMalloc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068039</commentid>
    <comment_count>74</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2015-02-10 05:57:45 -0800</bug_when>
    <thetext>(In reply to comment #73)
&gt; Good idea, maybe it is more than enough to use TCMalloc on the performance
&gt; bots for now. And once bmalloc supports memory statistics, we can switch
&gt; these bots too and remove TCMalloc.

The GTK performance bot don&apos;t builds WebKit. It downloads the built product from the release bot.

So, we would have to force TCMalloc on all the GTK release bots (build, tests and performance). That don&apos;t seems a good idea to me, since we would be testing one thing (TCMalloc), and shipping another different one (BMalloc).

Maybe this can work better with the EFL performance bot, since this one (AFAIK) builds WebKit. 

So, if the EFL maintainers agree, we could force TCMalloc on the EFL performance bot until bug141247 is fixed. And on GTK (or MAC) we can rely on the memory stats from EFL in the meanwhile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068053</commentid>
    <comment_count>75</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-02-10 07:32:26 -0800</bug_when>
    <thetext>(In reply to comment #74)

&gt; So, if the EFL maintainers agree, we could force TCMalloc on the EFL
&gt; performance bot until bug141247 is fixed. And on GTK (or MAC) we can rely on
&gt; the memory stats from EFL in the meanwhile.

I already said similar suggestion in #comment 70. So I agree with this. Last patch enables bmalloc only for GTK port. When bug 141247 is fixed, I will enable bmalloc for EFL port as well. All agree ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068091</commentid>
    <comment_count>76</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-02-10 10:18:09 -0800</bug_when>
    <thetext>(In reply to comment #75)
&gt; (In reply to comment #74)
&gt; 
&gt; &gt; So, if the EFL maintainers agree, we could force TCMalloc on the EFL
&gt; &gt; performance bot until bug141247 is fixed. And on GTK (or MAC) we can rely on
&gt; &gt; the memory stats from EFL in the meanwhile.
&gt; 
&gt; I already said similar suggestion in #comment 70. So I agree with this. Last
&gt; patch enables bmalloc only for GTK port. When bug 141247 is fixed, I will
&gt; enable bmalloc for EFL port as well. All agree ?

I agree</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068244</commentid>
    <comment_count>77</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-02-10 20:10:16 -0800</bug_when>
    <thetext>(In reply to comment #76)
&gt; (In reply to comment #75)
&gt; &gt; (In reply to comment #74)
&gt; &gt; 
&gt; &gt; &gt; So, if the EFL maintainers agree, we could force TCMalloc on the EFL
&gt; &gt; &gt; performance bot until bug141247 is fixed. And on GTK (or MAC) we can rely on
&gt; &gt; &gt; the memory stats from EFL in the meanwhile.
&gt; &gt; 
&gt; &gt; I already said similar suggestion in #comment 70. So I agree with this. Last
&gt; &gt; patch enables bmalloc only for GTK port. When bug 141247 is fixed, I will
&gt; &gt; enable bmalloc for EFL port as well. All agree ?
&gt; 
&gt; I agree

I file a new bug(Bug 141459) to enable bmalloc after fixing this and Bug 141247.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068285</commentid>
    <comment_count>78</comment_count>
      <attachid>246265</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-02-11 00:14:12 -0800</bug_when>
    <thetext>Comment on attachment 246265
Patch

Let&apos;s give it a try then, thanks you!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068300</commentid>
    <comment_count>79</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2015-02-11 00:54:08 -0800</bug_when>
    <thetext>(In reply to comment #76)
&gt; (In reply to comment #75)
&gt; &gt; (In reply to comment #74)
&gt; &gt; 
&gt; &gt; &gt; So, if the EFL maintainers agree, we could force TCMalloc on the EFL
&gt; &gt; &gt; performance bot until bug141247 is fixed. And on GTK (or MAC) we can rely on
&gt; &gt; &gt; the memory stats from EFL in the meanwhile.
&gt; &gt; 
&gt; &gt; I already said similar suggestion in #comment 70. So I agree with this. Last
&gt; &gt; patch enables bmalloc only for GTK port. When bug 141247 is fixed, I will
&gt; &gt; enable bmalloc for EFL port as well. All agree ?
&gt; 
&gt; I agree

Yep, it sounds okay.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068323</commentid>
    <comment_count>80</comment_count>
      <attachid>246265</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-11 04:15:26 -0800</bug_when>
    <thetext>Comment on attachment 246265
Patch

Clearing flags on attachment: 246265

Committed r179923: &lt;http://trac.webkit.org/changeset/179923&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068324</commentid>
    <comment_count>81</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-11 04:15:40 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068329</commentid>
    <comment_count>82</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-02-11 05:47:32 -0800</bug_when>
    <thetext>(In reply to comment #80)
&gt; Comment on attachment 246265 [details]
&gt; Patch
&gt; 
&gt; Clearing flags on attachment: 246265
&gt; 
&gt; Committed r179923: &lt;http://trac.webkit.org/changeset/179923&gt;

It broke the 32 bit x86 and ARM builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068330</commentid>
    <comment_count>83</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-02-11 05:50:42 -0800</bug_when>
    <thetext>(In reply to comment #82)
&gt; (In reply to comment #80)
&gt; &gt; Comment on attachment 246265 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; Clearing flags on attachment: 246265
&gt; &gt; 
&gt; &gt; Committed r179923: &lt;http://trac.webkit.org/changeset/179923&gt;
&gt; 
&gt; It broke the 32 bit x86 and ARM builds.

I&apos;m working on EFL ARM fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068335</commentid>
    <comment_count>84</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-02-11 05:57:11 -0800</bug_when>
    <thetext>new bug report to fix 32 bit builds: bug141472</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068524</commentid>
    <comment_count>85</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-02-11 18:31:33 -0800</bug_when>
    <thetext>Nice performance gains on the bots:
https://perf.webkit.org/#mode=charts&amp;chartList=%5B%5B%22gtk%22%2C%22Parser%2Fhtml5-full-render%3ATime%22%5D%5D
https://perf.webkit.org/#mode=charts&amp;chartList=%5B%5B%22gtk%22%2C%22DoYouEvenBench%2FFull%3ATime%3ATotal%22%5D%5D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068527</commentid>
    <comment_count>86</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-02-11 18:35:47 -0800</bug_when>
    <thetext>(In reply to comment #85)
&gt; Nice performance gains on the bots:
&gt; https://perf.webkit.org/
&gt; #mode=charts&amp;chartList=%5B%5B%22gtk%22%2C%22Parser%2Fhtml5-full-
&gt; render%3ATime%22%5D%5D
&gt; https://perf.webkit.org/
&gt; #mode=charts&amp;chartList=%5B%5B%22gtk%22%2C%22DoYouEvenBench%2FFull%3ATime%3ATo
&gt; tal%22%5D%5D

WOW, nice result ! I hope to enable bmalloc for EFL port as soon as possible. To do that, we have to fix bug 141247 ASAP. Let me help to fix it as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068789</commentid>
    <comment_count>87</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-02-12 16:34:05 -0800</bug_when>
    <thetext>&gt; &gt; #if BPLATFORM(IOS)
&gt; &gt;     char m_memory[] __attribute__((aligned(16384)));
&gt; &gt;     static_assert(vmPageSize == 16384, &quot;vmPageSize and alignment must be
&gt; &gt; same&quot;);
&gt; &gt; #else
&gt; &gt;     char m_memory[] __attribute__((aligned(4096)));
&gt; &gt;     static_assert(vmPageSize == 4096, &quot;vmPageSize and alignment must be
&gt; &gt; same&quot;);
&gt; &gt; #endif
&gt; 
&gt; I wonder how does Geoffrey think about this solution.

This is pretty ugly code. It&apos;s a shame that we have to do this in order to support an obsolete compiler. :(

Is there any reasonable version of GCC that supports the C++ alignas feature? What is the cost of requiring a modern GCC on Linux?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068800</commentid>
    <comment_count>88</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-02-12 17:04:05 -0800</bug_when>
    <thetext>(In reply to comment #87)
&gt; &gt; &gt; #if BPLATFORM(IOS)
&gt; &gt; &gt;     char m_memory[] __attribute__((aligned(16384)));
&gt; &gt; &gt;     static_assert(vmPageSize == 16384, &quot;vmPageSize and alignment must be
&gt; &gt; &gt; same&quot;);
&gt; &gt; &gt; #else
&gt; &gt; &gt;     char m_memory[] __attribute__((aligned(4096)));
&gt; &gt; &gt;     static_assert(vmPageSize == 4096, &quot;vmPageSize and alignment must be
&gt; &gt; &gt; same&quot;);
&gt; &gt; &gt; #endif
&gt; &gt; 
&gt; &gt; I wonder how does Geoffrey think about this solution.
&gt; 
&gt; This is pretty ugly code. It&apos;s a shame that we have to do this in order to
&gt; support an obsolete compiler. :(
&gt; 
&gt; Is there any reasonable version of GCC that supports the C++ alignas
&gt; feature? What is the cost of requiring a modern GCC on Linux?

In comment #67, we already talked about this. Below C++ aligns can be supported by GCC 4.9.1. However we thought that to bump GCC version is too big work because of it. 

    __attribute__((aligned(vmPageSize))) char m_memory[];


However if GTK can support over gcc 4.9.1, I also would try to bump gcc version for EFL buildbot and ews.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068810</commentid>
    <comment_count>89</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2015-02-12 17:22:27 -0800</bug_when>
    <thetext>GCC 4.8 is what Ubuntu 14.04 LTS ships.

Raising the required GCC version because of this will cause troubles to every developer using the last Ubuntu LTS (I don&apos;t have numbers, but I think there are more than a few of them).

And given that by using this 4-line ifdef section we can make the code work with GCC 4.8, I don&apos;t think is reasonable to raise the GCC version just to avoid the small ifdef.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068856</commentid>
    <comment_count>90</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-02-12 23:26:25 -0800</bug_when>
    <thetext>(In reply to comment #89)
&gt; GCC 4.8 is what Ubuntu 14.04 LTS ships.
&gt; 
&gt; Raising the required GCC version because of this will cause troubles to
&gt; every developer using the last Ubuntu LTS (I don&apos;t have numbers, but I think
&gt; there are more than a few of them).
&gt; 
&gt; And given that by using this 4-line ifdef section we can make the code work
&gt; with GCC 4.8, I don&apos;t think is reasonable to raise the GCC version just to
&gt; avoid the small ifdef.

I agree, but I&apos;m afraid this is the typical code that will be there forever, unless we open a bug and add a FIXME in the code pointing to the bug, to remove the workaround once all linux ports bump the GCC requirements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068862</commentid>
    <comment_count>91</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-02-12 23:40:30 -0800</bug_when>
    <thetext>(In reply to comment #90)
&gt; (In reply to comment #89)
&gt; &gt; GCC 4.8 is what Ubuntu 14.04 LTS ships.
&gt; &gt; 
&gt; &gt; Raising the required GCC version because of this will cause troubles to
&gt; &gt; every developer using the last Ubuntu LTS (I don&apos;t have numbers, but I think
&gt; &gt; there are more than a few of them).
&gt; &gt; 
&gt; &gt; And given that by using this 4-line ifdef section we can make the code work
&gt; &gt; with GCC 4.8, I don&apos;t think is reasonable to raise the GCC version just to
&gt; &gt; avoid the small ifdef.
&gt; 
&gt; I agree, but I&apos;m afraid this is the typical code that will be there forever,
&gt; unless we open a bug and add a FIXME in the code pointing to the bug, to
&gt; remove the workaround once all linux ports bump the GCC requirements.

I agree with it as well. At least &quot;FIXME&quot; should be there. I upload a fix to Bug 141459 for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068863</commentid>
    <comment_count>92</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-02-12 23:41:54 -0800</bug_when>
    <thetext>(In reply to comment #91)

&gt; I agree with it as well. At least &quot;FIXME&quot; should be there. I upload a fix to
&gt; Bug 141459 for it.

Oops, sorry Bug 141556 is correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068866</commentid>
    <comment_count>93</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-02-13 00:38:28 -0800</bug_when>
    <thetext>(In reply to comment #87)
&gt; This is pretty ugly code. It&apos;s a shame that we have to do this in order to
&gt; support an obsolete compiler. :(
&gt; 
&gt; Is there any reasonable version of GCC that supports the C++ alignas
&gt; feature? What is the cost of requiring a modern GCC on Linux?

Considering GCC 4.8.2 to be an obsolete compiler is ridiculous, it was released
at October 16, 2013 - https://gcc.gnu.org/gcc-4.8/ and the latest LTS Ubuntu
was released at 2014-04-17. (https://wiki.ubuntu.com/TrustyTahr/ReleaseNotes)
Do you also plan to make Apple to bump to MSVC2015 once it is released?
Just to remove this ugly workaround - http://trac.webkit.org/changeset/179993 ?

I could point out many Mac/Windows/Linux workaround just to make compiler
happy, but I don&apos;t think if removing all of these workarounds would make
WebKit better, faster, more stable, etc.

But I do support bumping compiler version if we can profit from the bumping,
for example: get better performance or stability, we can use more modern
language structure, etc. But not for a 4 lines workaround. If the majority
agree that bumping to GCC 4.9 is reasonable, I&apos;m not against it, but need
a little bit time to get/build and _test_ newer GCC for our ARM bots. We
didn&apos;t bump to 4.9.1 because of a compiler bug (unable to build one of the
source file in WebKit), maybe it is already fixed in the latest 4.9.2 release,
let me check it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068906</commentid>
    <comment_count>94</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-02-13 07:05:41 -0800</bug_when>
    <thetext>Just a note, the build fails with GCC 4.9.1 (at least on ARM,
haven&apos;t checked on x86) with the following compiler error:

../../Source/WebCore/svg/SVGPathElement.h: In member function &apos;virtual WebCore::FloatRect WebCore::SVGPathElement::_ZTv0_n24_N7WebCore14SVGPathElement7getBBoxENS_12SVGLocatable19StyleUpdateStrategyE(WebCore::SVGLocatable::StyleUpdateStrategy)&apos;:
../../Source/WebCore/svg/SVGPathElement.h:94:23: internal compiler error: in expand_expr_addr_expr_1, at expr.c:7669</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068918</commentid>
    <comment_count>95</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-02-13 07:40:25 -0800</bug_when>
    <thetext>We build the with the latest GCC on ARM for Fedora (in fact I&apos;m trying right now to find out if an ICE in GCC 5 has been fixed), and have no problems with GCC 4.9.2. It seems to fix several ICEs over 4.9.1: https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&amp;resolution=FIXED&amp;target_milestone=4.9.2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068938</commentid>
    <comment_count>96</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-02-13 10:12:04 -0800</bug_when>
    <thetext>(In reply to comment #94)
&gt; Just a note, the build fails with GCC 4.9.1 (at least on ARM,
&gt; haven&apos;t checked on x86) with the following compiler error:
&gt; 
&gt; ../../Source/WebCore/svg/SVGPathElement.h: In member function &apos;virtual
&gt; WebCore::FloatRect
&gt; WebCore::SVGPathElement::
&gt; _ZTv0_n24_N7WebCore14SVGPathElement7getBBoxENS_12SVGLocatable19StyleUpdateStr
&gt; ategyE(WebCore::SVGLocatable::StyleUpdateStrategy)&apos;:
&gt; ../../Source/WebCore/svg/SVGPathElement.h:94:23: internal compiler error: in
&gt; expand_expr_addr_expr_1, at expr.c:7669

I tested GCC 4.9.2 and Linaro 4.9.3 20150113 (prerelease) too and the bug 
is still valid. ( https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61207 )

Of course, it is possible to try to workaround in the cmake project to build
this cpp with O2 instead of O3, but it isn&apos;t reasonable just to remove a not
so good looking compiler workaround which doesn&apos;t change the behaviour at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068939</commentid>
    <comment_count>97</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-02-13 10:19:13 -0800</bug_when>
    <thetext>OK, we use -O2, that&apos;s probably why we did not hit it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068951</commentid>
    <comment_count>98</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-02-13 10:40:18 -0800</bug_when>
    <thetext>&gt; Raising the required GCC version because of this will cause troubles to
&gt; every developer using the last Ubuntu LTS (I don&apos;t have numbers, but I think
&gt; there are more than a few of them).

Yes, I saw the claim that using a newer GCC would &quot;cause troubles&quot;. What I&apos;m asking is, what are the troubles, and are they solvable?

Is the trouble just the Linux WebKit developers will need to install a new version of GCC? Or is there something deeper?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068956</commentid>
    <comment_count>99</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-02-13 10:43:39 -0800</bug_when>
    <thetext>&gt; Do you also plan to make Apple to bump to MSVC2015 once it is released?

Yes.

&gt; I could point out many Mac/Windows/Linux workaround just to make compiler
&gt; happy, but I don&apos;t think if removing all of these workarounds would make
&gt; WebKit better, faster, more stable, etc.

I guess we disagree on this point: I prefer to work with readable and writable code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068960</commentid>
    <comment_count>100</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-02-13 10:46:38 -0800</bug_when>
    <thetext>(In reply to comment #90)
&gt; (In reply to comment #89)
&gt; &gt; GCC 4.8 is what Ubuntu 14.04 LTS ships.
&gt; &gt; 
&gt; &gt; Raising the required GCC version because of this will cause troubles to
&gt; &gt; every developer using the last Ubuntu LTS (I don&apos;t have numbers, but I think
&gt; &gt; there are more than a few of them).
&gt; &gt; 
&gt; &gt; And given that by using this 4-line ifdef section we can make the code work
&gt; &gt; with GCC 4.8, I don&apos;t think is reasonable to raise the GCC version just to
&gt; &gt; avoid the small ifdef.
&gt; 
&gt; I agree, but I&apos;m afraid this is the typical code that will be there forever,
&gt; unless we open a bug and add a FIXME in the code pointing to the bug, to
&gt; remove the workaround once all linux ports bump the GCC requirements.

I don&apos;t think if it is common to ask bigger alignment than 128 bytes,
the allocator is one of the few exceptions when we need so big alignment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068966</commentid>
    <comment_count>101</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-02-13 11:00:18 -0800</bug_when>
    <thetext>(In reply to comment #99)
&gt; &gt; I could point out many Mac/Windows/Linux workaround just to make compiler
&gt; &gt; happy, but I don&apos;t think if removing all of these workarounds would make
&gt; &gt; WebKit better, faster, more stable, etc.
&gt; 
&gt; I guess we disagree on this point: I prefer to work with readable and
&gt; writable code.

No, we agree more or less, I prefer nice codes too, but not at whatever cost.
I also landed many cleanups, refactoring, removing obsolete codes, ifdefs,
unnecessary compiler workarounds when we could do it without pain.

I simply don&apos;t understand why we should pay a very high cost to remove
a 4 lines simple workaround in a code which won&apos;t be read/touched except
some developers. But bumping the compiler version would affect much more
developers and would need another compiler workaround which would cause
worse code at least in one file. (I hope we can agree that upgrading
a compiler isn&apos;t only 2 clicks and O3 produces better code than O2.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068982</commentid>
    <comment_count>102</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-02-13 11:29:49 -0800</bug_when>
    <thetext>(In reply to comment #98)
&gt; Is the trouble just the Linux WebKit developers will need to install a new
&gt; version of GCC? Or is there something deeper?

Well not really, but I think we have a cultural difference here: Linux developers expect the compiler (and pretty much everything except what they are developing) to be provided by the operating system, so bumping the compiler version roughly equates to dropping support for compiling on that operating system. (You can build your compiler yourself of course, but that&apos;s somewhat primitive; I would just upgrade to a newer OS as need be.) So what we&apos;re really talking about here is whether to drop support for Ubuntu 14.04, which is very popular and so not an insignificant consideration.

The consensus in this topic seems to be that we&apos;re willing to do this for a significant compiler improvement, but maybe not something minor like this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244340</attachid>
            <date>2015-01-09 07:52:50 -0800</date>
            <delta_ts>2015-01-13 08:32:31 -0800</delta_ts>
            <desc>Very very WIP</desc>
            <filename>bug-140162-20150110005254.patch</filename>
            <type>text/plain</type>
            <size>3410</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4MTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGZmNzAwNTI2MzYwNTlkZGQ3YTlhZTQ5
M2RkMzM3N2EzMWRmNzRjYmIuLjEwOGJiZTJkZGI0MWRhYmY0MzVlNjA2YjJhZWViMTgxYzliYzk1
OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTUtMDEtMDkgIEd5dXlvdW5nIEtpbSAgPGd5dXlv
dW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXSBVc2UgYm1hbGxvYyBpbnN0ZWFk
IG9mIHRjbWFsbG9jIGZvciBFRkwgcG9ydCAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE0MDE2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OgorCiAyMDE1LTAxLTA4ICBE
YXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBNb2Rlcm5pemUgYW5kIHN0
cmVhbWxpbmUgSFRNTFRva2VuaXplcgpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvQ2hhbmdl
TG9nIGIvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCmluZGV4IDMzMDcyYjE3ZmJjMTFmYzViYWRl
YjY3NDJjM2EwN2NjM2Q2MTA2MDUuLjM0MzA5NTVjNTc5ZWYwMWRlMTU5MDhhZmFmM2VhMzM3Yjc2
Y2Q0MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
Ym1hbGxvYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNS0wMS0wOSAgR3l1eW91bmcg
S2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdIFVzZSBibWFs
bG9jIGluc3RlYWQgb2YgdGNtYWxsb2MgZm9yIEVGTCBwb3J0IAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMTYyCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogQWRkZWQuCisK
IDIwMTUtMDEtMDcgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAg
ICBNYWtlIGJtYWxsb2Mgd29yayB3aXRoIEFTYW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9DTWFrZUxp
c3RzLnR4dCBiL1NvdXJjZS9DTWFrZUxpc3RzLnR4dAppbmRleCA1NDg2NzIwZDc2MmIwODdjNjJh
YmU4NDdiNDE0ODhmNTcwYmNlZjI4Li5iNDUwNjFmMjNmNWQyNjcyMThmMzBmNjU4NjgzYTg1ZjMw
YzUyZTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL0NN
YWtlTGlzdHMudHh0CkBAIC01LDYgKzUsOCBAQCBhZGRfc3ViZGlyZWN0b3J5KFdURikKIAogYWRk
X3N1YmRpcmVjdG9yeShKYXZhU2NyaXB0Q29yZSkKIAorYWRkX3N1YmRpcmVjdG9yeShibWFsbG9j
KQorCiBpZiAoRU5BQkxFX0FQSV9URVNUUykKICAgICBhZGRfc3ViZGlyZWN0b3J5KGNtYWtlL2d0
ZXN0KQogZW5kaWYgKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0
IGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKaW5kZXggYjllNjY5MTZkZjBhMmI1YWUz
ZThkOTgxNWRlM2MwYTlmODcxNDJkZS4uMGM3ZDg0NjYxM2UwZjIxMjg3ZTlmMmEyZWM4YjE2MTQ5
MGQ4YzM3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKKysrIGIv
U291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKQEAgLTEwMCw3ICsxMDAsNiBAQCBzZXQoV1RG
X0hFQURFUlMKICAgICBUQ1BhY2tlZENhY2hlLmgKICAgICBUQ1BhZ2VNYXAuaAogICAgIFRDU3Bp
bkxvY2suaAotICAgIFRDU3lzdGVtQWxsb2MuaAogICAgIFRocmVhZElkZW50aWZpZXJEYXRhUHRo
cmVhZHMuaAogICAgIFRocmVhZFNhZmVSZWZDb3VudGVkLmgKICAgICBUaHJlYWRTcGVjaWZpYy5o
CkBAIC0xODMsNyArMTgyLDYgQEAgc2V0KFdURl9TT1VSQ0VTCiAgICAgU3RhY2tTdGF0cy5jcHAK
ICAgICBTdGFja0JvdW5kcy5jcHAKICAgICBTdHJpbmdQcmludFN0cmVhbS5jcHAKLSAgICBUQ1N5
c3RlbUFsbG9jLmNwcAogICAgIFRocmVhZGluZy5jcHAKICAgICBXVEZUaHJlYWREYXRhLmNwcAog
ICAgIGR0b2EuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9DTWFrZUxpc3RzLnR4dCBi
L1NvdXJjZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVlODliODkwMjFlYWUz
ZjUwZThkM2VmMDMyNWFiNjA5OTUwMjkzOTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvYm1h
bGxvYy9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDE4IEBACitzZXQoYm1hbGxvY19JTkNMVURF
X0RJUkVDVE9SSUVTCisgICAgIiR7V0VCQ09SRV9ESVJ9L3dvcmtlcnMiCisgICAgIiR7Q01BS0Vf
U09VUkNFX0RJUn0vU291cmNlIgorICAgICIke0NNQUtFX0JJTkFSWV9ESVJ9IgorKQorCitzZXQo
Ym1hbGxvY19TT1VSQ0VTCisgICAgYm1hbGxvYy9BbGxvY2F0b3IuY3BwCisgICAgYm1hbGxvYy9D
YWNoZS5jcHAKKyAgICBibWFsbG9jL0RlYWxsb2NhdG9yLmNwcAorICAgIGJtYWxsb2MvRW52aXJv
bm1lbnQuY3BwCisgICAgYm1hbGxvYy9IZWFwLmNwcAorICAgIGJtYWxsb2MvT2JqZWN0VHlwZS5j
cHAKKyAgICBibWFsbG9jL1NlZ3JlZ2F0ZWRGcmVlTGlzdC5jcHAKKyAgICBibWFsbG9jL1N0YXRp
Y011dGV4LmNwcAorICAgIGJtYWxsb2MvVk1IZWFwLmNwcAorICAgIGJtYWxsb2MvbWJtYWxsb2Mu
Y3BwCispCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggYTg4NWYzNWZj
ZDZkYmY4N2IyOWI1ZTI5MWM5ZmJhNzRlYjIwYjBiOC4uOTRhZDBlOTM5Y2M1MzMwNWM1ZDY5Nzhj
NzA0MDUzODk4YWE4M2JlMiAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEyIEBACisyMDE1LTAxLTA5ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1A
c2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gVXNlIGJtYWxsb2MgaW5zdGVhZCBvZiB0Y21h
bGxvYyBmb3IgRUZMIHBvcnQgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDAxNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDoKKwogMjAxNS0wMS0wNyAgR3dhbmcg
WW9vbiBId2FuZyAgPHlvb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXVtUaHJlYWRlZENv
bXBvc2l0b3JdIEFkZCBzdXBwb3J0IGZvciB0aHJlYWRlZCBjb21wb3NpdG9yLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244516</attachid>
            <date>2015-01-13 08:32:39 -0800</date>
            <delta_ts>2015-01-17 08:10:29 -0800</delta_ts>
            <desc>WIP-2</desc>
            <filename>bug-140162-20150114013244.patch</filename>
            <type>text/plain</type>
            <size>6321</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4MjU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDk4OTcxMmI2Yjc1MzQ2ODhkYTIzMmJl
ZjQwMzM1OTNkY2M0MDVhZGIuLmNhNWYxODc5ZWY3OTU1NDZmMWIxYTMzZjk1YjU3YTJlMjA1NzRh
ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTUtMDEtMTIgIEd5dXlvdW5nIEtpbSAgPGd5dXlv
dW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGlu
c3RlYWQgb2YgdGNtYWxsb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MDE2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OgorCiAyMDE1LTAxLTA5ICBDb21taXQgUXVl
dWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByMTc4MTU0LCByMTc4MTYzLCBhbmQgcjE3ODE2NC4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9ibWFsbG9jL0NoYW5nZUxvZyBiL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwppbmRleCBhYjEx
NTU3NWE5ODgxNmJkNjUzZjkxZWEyZDc3NjM5ODg2OTJiZGRhLi4wYzk5NTVhMzY1YjMxNGFiMTMx
NDE5ZmI0ZmVlNTYxMDU4NjA4YTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTUt
MDEtMTIgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAg
ICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGluc3RlYWQgb2YgdGNtYWxsb2MKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDE2MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IEFk
ZGVkLgorCiAyMDE1LTAxLTExICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAg
ICAgICAgR2VvZmYgaXMgb3JnYW5pemVkLCBidXQgaGUgaXMgbm90IGFuIG9yZ2FuaXphdGlvbi4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9DTWFrZUxpc3RzLnR4
dAppbmRleCA1NDg2NzIwZDc2MmIwODdjNjJhYmU4NDdiNDE0ODhmNTcwYmNlZjI4Li5mYWJjNWQ2
YjY4ZjgxNGZhOGUxZDk0YjgyYmE5Yzc2Njc4ZDgzZDk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvQ01h
a2VMaXN0cy50eHQKKysrIGIvU291cmNlL0NNYWtlTGlzdHMudHh0CkBAIC0xLDYgKzEsOCBAQAog
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBBZGQgbW9kdWxlIGRpcmVjdG9yaWVzCiAjIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCithZGRfc3ViZGlyZWN0b3J5KGJtYWxsb2MpCisKIGFkZF9zdWJkaXJl
Y3RvcnkoV1RGKQogCiBhZGRfc3ViZGlyZWN0b3J5KEphdmFTY3JpcHRDb3JlKQpAQCAtMjYsNiAr
MjgsNyBAQCBXRUJLSVRfSU5DTFVERV9DT05GSUdfRklMRVNfSUZfRVhJU1RTKCkKICMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KICMgU2V0IGNvbXBpbGVyIGZsYWdzIGZvciBhbGwgdGFyZ2V0cwogIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorV0VCS0lUX1NFVF9FWFRSQV9DT01QSUxFUl9GTEFHUyhibWFs
bG9jICR7QURESVRJT05BTF9DT01QSUxFUl9GTEFHU30pCiBXRUJLSVRfU0VUX0VYVFJBX0NPTVBJ
TEVSX0ZMQUdTKFdURiAke0FERElUSU9OQUxfQ09NUElMRVJfRkxBR1N9KQogV0VCS0lUX1NFVF9F
WFRSQV9DT01QSUxFUl9GTEFHUyhKYXZhU2NyaXB0Q29yZSAke0FERElUSU9OQUxfQ09NUElMRVJf
RkxBR1N9KQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dCBiL1Nv
dXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CmluZGV4IGI5ZTY2OTE2ZGYwYTJiNWFlM2U4ZDk4
MTVkZTNjMGE5Zjg3MTQyZGUuLjYzMTRmNGY0NzMxNTQ5M2UwNjEyM2I4NjI3Zjk5MTE2OTM2YWQw
ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CkBAIC0xMDAsNyArMTAwLDYgQEAgc2V0KFdURl9IRUFE
RVJTCiAgICAgVENQYWNrZWRDYWNoZS5oCiAgICAgVENQYWdlTWFwLmgKICAgICBUQ1NwaW5Mb2Nr
LmgKLSAgICBUQ1N5c3RlbUFsbG9jLmgKICAgICBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRz
LmgKICAgICBUaHJlYWRTYWZlUmVmQ291bnRlZC5oCiAgICAgVGhyZWFkU3BlY2lmaWMuaApAQCAt
MTgzLDcgKzE4Miw2IEBAIHNldChXVEZfU09VUkNFUwogICAgIFN0YWNrU3RhdHMuY3BwCiAgICAg
U3RhY2tCb3VuZHMuY3BwCiAgICAgU3RyaW5nUHJpbnRTdHJlYW0uY3BwCi0gICAgVENTeXN0ZW1B
bGxvYy5jcHAKICAgICBUaHJlYWRpbmcuY3BwCiAgICAgV1RGVGhyZWFkRGF0YS5jcHAKICAgICBk
dG9hLmNwcApAQCAtMjEzLDYgKzIxMSw3IEBAIHNldChXVEZfU09VUkNFUwogKQogCiBzZXQoV1RG
X0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAiJHtCTUFMTE9DX0RJUn0iCiAgICAgIiR7V1RGX0RJ
Un0iCiAgICAgIiR7V1RGX0RJUn0vd3RmIgogICAgICIke1dURl9ESVJ9L3d0Zi9kdG9hIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvRmFzdE1hbGxvYy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9G
YXN0TWFsbG9jLmNwcAppbmRleCAxOGE5Yzg0MTI2NmYwOGY4ZjUzMzA0NzExMjZkNTBmMzg1ZGJm
MWMwLi41ZmQ5Yzk1MGJkYzk4ZWE2M2IyNjUyNTExNzc0OTg2NGNmYjEwYjllIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9GYXN0TWFsbG9jLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GYXN0
TWFsbG9jLmNwcApAQCAtMTAxLDcgKzEwMSw3IEBACiAjZW5kaWYKICNlbmRpZgogCi0jaWYgUExB
VEZPUk0oQ09DT0EpCisjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRGT1JNKEVGTCkgfHwgUExB
VEZPUk0oR1RLKQogI2RlZmluZSBVU0VfQk1BTExPQyAxCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bUVmbC5jbWFrZQppbmRleCAyZDhkODBlMDM0MWY3ZmIyNjFlOWVmNGQ0NmU5NTBjMWE1NmYyYzc0
Li5hZDllOTVmY2I0Y2YxMTc5MmNkMzJjZGIwNWZkZDI0N2NkYWE0OWU2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0
Zm9ybUVmbC5jbWFrZQpAQCAtMTgsNyArMTgsNiBAQCBsaXN0KEFQUEVORCBXVEZfTElCUkFSSUVT
CiAgICAgJHtHTElCX0dPQkpFQ1RfTElCUkFSSUVTfQogICAgICR7R0xJQl9MSUJSQVJJRVN9CiAg
ICAgJHtaTElCX0xJQlJBUklFU30KLSAgICBwdGhyZWFkCiApCiAKIGxpc3QoQVBQRU5EIFdURl9J
TkNMVURFX0RJUkVDVE9SSUVTCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9DTWFrZUxpc3Rz
LnR4dCBiL1NvdXJjZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5NDJjZDMw
YjNiYTQ4ZWM1MTc1MWEwNDc0MDdhMThkZDBiNjk5ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvYm1hbGxvYy9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDE3IEBACitzZXQoYm1hbGxvY19T
T1VSQ0VTCisgICAgYm1hbGxvYy9BbGxvY2F0b3IuY3BwCisgICAgYm1hbGxvYy9DYWNoZS5jcHAK
KyAgICBibWFsbG9jL0RlYWxsb2NhdG9yLmNwcAorICAgIGJtYWxsb2MvRW52aXJvbm1lbnQuY3Bw
CisgICAgYm1hbGxvYy9IZWFwLmNwcAorICAgIGJtYWxsb2MvT2JqZWN0VHlwZS5jcHAKKyAgICBi
bWFsbG9jL1NlZ3JlZ2F0ZWRGcmVlTGlzdC5jcHAKKyAgICBibWFsbG9jL1N0YXRpY011dGV4LmNw
cAorICAgIGJtYWxsb2MvVk1IZWFwLmNwcAorICAgIGJtYWxsb2MvbWJtYWxsb2MuY3BwCispCisK
K1dFQktJVF9XUkFQX1NPVVJDRUxJU1QoJHtibWFsbG9jX1NPVVJDRVN9KQorYWRkX2xpYnJhcnko
Ym1hbGxvYyAke2JtYWxsb2NfU09VUkNFU30pCit0YXJnZXRfbGlua19saWJyYXJpZXMoYm1hbGxv
YyAke2JtYWxsb2NfTElCUkFSSUVTfSkKK3NldF90YXJnZXRfcHJvcGVydGllcyhibWFsbG9jIFBS
T1BFUlRJRVMgQ09NUElMRV9ERUZJTklUSU9OUyAiQlVJTERJTkdfYm1hbGxvYyIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZNQWxsb2NhdGUuaCBiL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvVk1BbGxvY2F0ZS5oCmluZGV4IDgwMTY5MzE5NjBhY2RlMTY5MzA5ZjZhMThmNzg4
NzZjZmU4ZTJjOTEuLmFkZTQ3ZDdhNTU5ZTQ1M2QyNDIzMjFhM2MzMWRkYmVjNTA3NzA4NTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0ZS5oCisrKyBiL1NvdXJj
ZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0ZS5oCkBAIC0zMSwxMCArMzEsMTMgQEAKICNpbmNs
dWRlICJTaXplcy5oIgogI2luY2x1ZGUgIlN5c2NhbGwuaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+
Ci0jaW5jbHVkZSA8bWFjaC92bV9zdGF0aXN0aWNzLmg+CiAjaW5jbHVkZSA8c3lzL21tYW4uaD4K
ICNpbmNsdWRlIDx1bmlzdGQuaD4KIAorI2lmIGRlZmluZWQoQk9TX0RBUldJTikKKyNpbmNsdWRl
IDxtYWNoL3ZtX3N0YXRpc3RpY3MuaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgYm1hbGxvYyB7CiAK
ICNkZWZpbmUgQk1BTExPQ19WTV9UQUcgVk1fTUFLRV9UQUcoVk1fTUVNT1JZX1RDTUFMTE9DKQpk
aWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAppbmRleCBkYTE3MzZi
OWU1OTcyMTY1NmEzNzA4YmY0YTM0NGU1MzU0NjcxMDAwLi41NjNiMWNkNzkxMjdjOWRjZDA1YmY2
ZGVlZTlmZDQ0MzJiYTA1MzE1IDEwMDY0NAotLS0gYS9DTWFrZUxpc3RzLnR4dAorKysgYi9DTWFr
ZUxpc3RzLnR4dApAQCAtNCw2ICs0LDcgQEAgcHJvamVjdChXZWJLaXQpCiAjIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCiAjIERlZmF1bHQgbGlicmFyeSB0eXBlCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CitzZXQoQk1BTExPQ19ESVIgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL2JtYWxsb2MiKQog
c2V0KFdURl9ESVIgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dURiIpCiBzZXQoSkFWQVND
UklQVENPUkVfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9KYXZhU2NyaXB0Q29yZSIp
CiBzZXQoV0VCQ09SRV9ESVIgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkNvcmUiKQpk
aWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDg3NjM0M2UwZjc1OWI1YTQx
YTE2OWM5NDQzYzdhMjY3Zjc3NDk0OTMuLjcyMGJmMTEwOGM0ZGJjNzdjOWYyNDU0MmY1MzAzYTdk
YTBjNzJhOTAgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMiBAQAorMjAxNS0wMS0xMiAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcu
Y29tPgorCisgICAgICAgIFtFRkxdW0dUS10gVXNlIGJtYWxsb2MgaW5zdGVhZCBvZiB0Y21hbGxv
YworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMTYy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTb3Vy
Y2UvQ01ha2VMaXN0cy50eHQ6CisKIDIwMTUtMDEtMTAgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFw
cGxlLmNvbT4KIAogICAgICAgICBbWGNvZGUsIGlPU10gRmlsZXMgYXJlIHJlY29tcGlsZWQgd2hl
biBhbHRlcm5hdGluZyBiZXR3ZWVuIHVzaW5nIG1ha2UgYW5kIHRoZSBYY29kZSBJREUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244839</attachid>
            <date>2015-01-17 07:08:35 -0800</date>
            <delta_ts>2015-01-17 08:10:45 -0800</delta_ts>
            <desc>Additional changes</desc>
            <filename>6002-Additional-changes.patch</filename>
            <type>text/plain</type>
            <size>1634</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">RnJvbSA5YzUwYWViNzQ5MmY5OTVlMTEyMmRkYTI5MzY1YmRjYjA2OWY4M2QxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBaYW4gRG9iZXJzZWsgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgpE
YXRlOiBUaHUsIDE1IEphbiAyMDE1IDEyOjEwOjAyIC0wODAwClN1YmplY3Q6IFtQQVRDSCA2MDAy
LzYwMDJdIEFkZGl0aW9uYWwgY2hhbmdlcy4KCi0tLQogU291cmNlL1dURi93dGYvQ01ha2VMaXN0
cy50eHQgICAgICAgfCAxICsKIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0ZS5oIHwg
OCArKysrKystLQogMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z
KC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2Uv
V1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAppbmRleCA2MzE0ZjRmLi4xZGMzODUzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9DTWFr
ZUxpc3RzLnR4dApAQCAtMjI1LDYgKzIyNSw3IEBAIHNldChXVEZfSU5DTFVERV9ESVJFQ1RPUklF
UwogCiBzZXQoV1RGX0xJQlJBUklFUwogICAgICR7Q01BS0VfRExfTElCU30KKyAgICBibWFsbG9j
CiApCiAKIGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VTCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxv
Yy9ibWFsbG9jL1ZNQWxsb2NhdGUuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0
ZS5oCmluZGV4IGFkZTQ3ZDcuLmVhZTIyODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2Jt
YWxsb2MvVk1BbGxvY2F0ZS5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0
ZS5oCkBAIC00MCw3ICs0MCwxMSBAQAogCiBuYW1lc3BhY2UgYm1hbGxvYyB7CiAKKyNpZiBkZWZp
bmVkKEJPU19EQVJXSU4pCiAjZGVmaW5lIEJNQUxMT0NfVk1fVEFHIFZNX01BS0VfVEFHKFZNX01F
TU9SWV9UQ01BTExPQykKKyNlbHNlCisjZGVmaW5lIEJNQUxMT0NfVk1fVEFHIC0xCisjZW5kaWYK
IAogaW5saW5lIHNpemVfdCB2bVNpemUoc2l6ZV90IHNpemUpCiB7CkBAIC0xMTAsMTMgKzExNCwx
MyBAQCBpbmxpbmUgdm9pZCogdm1BbGxvY2F0ZShzaXplX3Qgdm1TaXplLCBzaXplX3Qgdm1BbGln
bm1lbnQpCiBpbmxpbmUgdm9pZCB2bURlYWxsb2NhdGVQaHlzaWNhbFBhZ2VzKHZvaWQqIHAsIHNp
emVfdCB2bVNpemUpCiB7CiAgICAgdm1WYWxpZGF0ZShwLCB2bVNpemUpOwotICAgIFNZU0NBTEwo
bWFkdmlzZShwLCB2bVNpemUsIE1BRFZfRlJFRV9SRVVTQUJMRSkpOworICAgIFNZU0NBTEwobWFk
dmlzZShwLCB2bVNpemUsIE1BRFZfTk9STUFMKSk7CiB9CiAKIGlubGluZSB2b2lkIHZtQWxsb2Nh
dGVQaHlzaWNhbFBhZ2VzKHZvaWQqIHAsIHNpemVfdCB2bVNpemUpCiB7CiAgICAgdm1WYWxpZGF0
ZShwLCB2bVNpemUpOwotICAgIFNZU0NBTEwobWFkdmlzZShwLCB2bVNpemUsIE1BRFZfRlJFRV9S
RVVTRSkpOworICAgIFNZU0NBTEwobWFkdmlzZShwLCB2bVNpemUsIE1BRFZfTk9STUFMKSk7CiB9
CiAKIC8vIFRyaW1zIHJlcXVlc3RzIHRoYXQgYXJlIHVuLXBhZ2UtYWxpZ25lZC4gTk9URTogc2l6
ZSBtdXN0IGJlIGF0IGxlYXN0IGEgcGFnZS4KLS0gCjIuMS40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244840</attachid>
            <date>2015-01-17 08:10:52 -0800</date>
            <delta_ts>2015-01-23 22:05:30 -0800</delta_ts>
            <desc>WIP-3 with Zan&apos;s change</desc>
            <filename>bug-140162-20150118011058.patch</filename>
            <type>text/plain</type>
            <size>8638</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4NjI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDllYWRlNzZjM2U4ZGVlZWJmMTI0ZWFk
ZGNkM2UzNDBjYWM0OTUxYzcuLjE0OTk3MmQwMDBiYTZjYjM5ZjAwZDcwZWI1MTBiNDBmODYyNDI2
YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDEtMTcgIEd5dXlvdW5nIEtpbSAgPGd5dXlv
dW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGlu
c3RlYWQgb2YgdGNtYWxsb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MDE2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEluY2x1ZGUgWmFuIERvYmVyc2VrIGNoYW5nZXMuCisKKyAgICAgICAgKiB3dGYv
Q01ha2VMaXN0cy50eHQ6CisKIDIwMTUtMDEtMTYgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZp
ZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWFrUHRyIGZ1bmN0aW9ucyBjcmFzaCB3aGVuIGNy
ZWF0ZWQgd2l0aCBkZWZhdWx0IGNvbnN0cnVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxv
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cKaW5kZXggZGY2ZTA1NjFiZWU4
MzFlZWI3NGQ5YjBlZWYwYjVlNTliOTY0MjQ4YS4uY2QyYTNkZGVlYjYzY2E4NDU0ZTljNWRlMzkz
NmQ0ZDY1Y2MzZWE0ZiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTAxLTE3ICBH
eXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF1b
R1RLXSBVc2UgYm1hbGxvYyBpbnN0ZWFkIG9mIHRjbWFsbG9jCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDAxNjIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbmNsdWRlIFphbiBEb2JlcnNlayBjaGFuZ2Vz
LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IEFkZGVkLgorCiAyMDE1LTAxLTE2ICBHZW9m
ZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAgYm1hbGxvYzogcmVmYWN0
b3JlZCBYTGFyZ2UgYWxsb2NhdGlvbiBmb3IgYmV0dGVyIGFsaWdubWVudApkaWZmIC0tZ2l0IGEv
U291cmNlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0NNYWtlTGlzdHMudHh0CmluZGV4IDU0ODY3
MjBkNzYyYjA4N2M2MmFiZTg0N2I0MTQ4OGY1NzBiY2VmMjguLmZhYmM1ZDZiNjhmODE0ZmE4ZTFk
OTRiODJiYTljNzY2NzhkODNkOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvQ01ha2VMaXN0cy50eHQKQEAgLTEsNiArMSw4IEBACiAjIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCiAjIEFkZCBtb2R1bGUgZGlyZWN0b3JpZXMKICMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KK2FkZF9zdWJkaXJlY3RvcnkoYm1hbGxvYykKKwogYWRkX3N1YmRpcmVjdG9yeShXVEYpCiAK
IGFkZF9zdWJkaXJlY3RvcnkoSmF2YVNjcmlwdENvcmUpCkBAIC0yNiw2ICsyOCw3IEBAIFdFQktJ
VF9JTkNMVURFX0NPTkZJR19GSUxFU19JRl9FWElTVFMoKQogIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQogIyBTZXQgY29tcGlsZXIgZmxhZ3MgZm9yIGFsbCB0YXJnZXRzCiAjIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCitXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKGJtYWxsb2MgJHtBRERJVElP
TkFMX0NPTVBJTEVSX0ZMQUdTfSkKIFdFQktJVF9TRVRfRVhUUkFfQ09NUElMRVJfRkxBR1MoV1RG
ICR7QURESVRJT05BTF9DT01QSUxFUl9GTEFHU30pCiBXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVS
X0ZMQUdTKEphdmFTY3JpcHRDb3JlICR7QURESVRJT05BTF9DT01QSUxFUl9GTEFHU30pCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dURi93dGYv
Q01ha2VMaXN0cy50eHQKaW5kZXggYjllNjY5MTZkZjBhMmI1YWUzZThkOTgxNWRlM2MwYTlmODcx
NDJkZS4uMWRjMzg1Mzg1MTcyYTJhNjM4NTFjZDlmODU2ZWIzMWFmNjk5MTBjNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dURi93dGYvQ01h
a2VMaXN0cy50eHQKQEAgLTEwMCw3ICsxMDAsNiBAQCBzZXQoV1RGX0hFQURFUlMKICAgICBUQ1Bh
Y2tlZENhY2hlLmgKICAgICBUQ1BhZ2VNYXAuaAogICAgIFRDU3BpbkxvY2suaAotICAgIFRDU3lz
dGVtQWxsb2MuaAogICAgIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAogICAgIFRocmVh
ZFNhZmVSZWZDb3VudGVkLmgKICAgICBUaHJlYWRTcGVjaWZpYy5oCkBAIC0xODMsNyArMTgyLDYg
QEAgc2V0KFdURl9TT1VSQ0VTCiAgICAgU3RhY2tTdGF0cy5jcHAKICAgICBTdGFja0JvdW5kcy5j
cHAKICAgICBTdHJpbmdQcmludFN0cmVhbS5jcHAKLSAgICBUQ1N5c3RlbUFsbG9jLmNwcAogICAg
IFRocmVhZGluZy5jcHAKICAgICBXVEZUaHJlYWREYXRhLmNwcAogICAgIGR0b2EuY3BwCkBAIC0y
MTMsNiArMjExLDcgQEAgc2V0KFdURl9TT1VSQ0VTCiApCiAKIHNldChXVEZfSU5DTFVERV9ESVJF
Q1RPUklFUworICAgICIke0JNQUxMT0NfRElSfSIKICAgICAiJHtXVEZfRElSfSIKICAgICAiJHtX
VEZfRElSfS93dGYiCiAgICAgIiR7V1RGX0RJUn0vd3RmL2R0b2EiCkBAIC0yMjYsNiArMjI1LDcg
QEAgc2V0KFdURl9JTkNMVURFX0RJUkVDVE9SSUVTCiAKIHNldChXVEZfTElCUkFSSUVTCiAgICAg
JHtDTUFLRV9ETF9MSUJTfQorICAgIGJtYWxsb2MKICkKIAogbGlzdChBUFBFTkQgV1RGX1NPVVJD
RVMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuY3BwIGIvU291cmNlL1dU
Ri93dGYvRmFzdE1hbGxvYy5jcHAKaW5kZXggMThhOWM4NDEyNjZmMDhmOGY1MzMwNDcxMTI2ZDUw
ZjM4NWRiZjFjMC4uNWZkOWM5NTBiZGM5OGVhNjNiMjY1MjUxMTc3NDk4NjRjZmIxMGI5ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvRmFzdE1hbGxvYy5jcHAKKysrIGIvU291cmNlL1dURi93
dGYvRmFzdE1hbGxvYy5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQAogI2VuZGlmCiAjZW5kaWYKIAot
I2lmIFBMQVRGT1JNKENPQ09BKQorI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShFRkwp
IHx8IFBMQVRGT1JNKEdUSykKICNkZWZpbmUgVVNFX0JNQUxMT0MgMQogI2VuZGlmCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL2JtYWxsb2MvQ01h
a2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzkyNTE3N2E4ZDI0ZDE4YWUzM2M1NGI2NGU3NzdlZDc4
NmEzOTc0OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0
CkBAIC0wLDAgKzEsMjAgQEAKK3NldChibWFsbG9jX1NPVVJDRVMKKyAgICBibWFsbG9jL0FsbG9j
YXRvci5jcHAKKyAgICBibWFsbG9jL0NhY2hlLmNwcAorICAgIGJtYWxsb2MvRGVhbGxvY2F0b3Iu
Y3BwCisgICAgYm1hbGxvYy9FbnZpcm9ubWVudC5jcHAKKyAgICBibWFsbG9jL0hlYXAuY3BwCisg
ICAgYm1hbGxvYy9PYmplY3RUeXBlLmNwcAorICAgIGJtYWxsb2MvU2VncmVnYXRlZEZyZWVMaXN0
LmNwcAorICAgIGJtYWxsb2MvU3RhdGljTXV0ZXguY3BwCisgICAgYm1hbGxvYy9WTUhlYXAuY3Bw
CisgICAgYm1hbGxvYy9tYm1hbGxvYy5jcHAKKykKKworI3NldChibWFsbG9jX0lOQ0xVREVfRElS
RUNUT1JJRVMKKyMpCisKK1dFQktJVF9XUkFQX1NPVVJDRUxJU1QoJHtibWFsbG9jX1NPVVJDRVN9
KQorYWRkX2xpYnJhcnkoYm1hbGxvYyAke2JtYWxsb2NfU09VUkNFU30pCit0YXJnZXRfbGlua19s
aWJyYXJpZXMoYm1hbGxvYyAke2JtYWxsb2NfTElCUkFSSUVTfSkKK3NldF90YXJnZXRfcHJvcGVy
dGllcyhibWFsbG9jIFBST1BFUlRJRVMgQ09NUElMRV9ERUZJTklUSU9OUyAiQlVJTERJTkdfYm1h
bGxvYyIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0JvdW5kYXJ5VGFnLmgg
Yi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0JvdW5kYXJ5VGFnLmgKaW5kZXggZGQ4YjNjNmVhNjE3
YWE0NThjMzQ2ODRkZDlhYWNlZTIwZWUxZmQ3YS4uY2M2MGVkODllMjcxN2EyMTQ1YTZhMzU1Nzk3
ZGIwYTU4NGYzYjMwMCAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9Cb3VuZGFy
eVRhZy5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQm91bmRhcnlUYWcuaApAQCAtMzAs
NiArMzAsOCBAQAogI2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVkZSAiU2l6ZXMuaCIKIAorI2lu
Y2x1ZGUgPG1lbW9yeS5oPgorCiBuYW1lc3BhY2UgYm1hbGxvYyB7CiAKIGNsYXNzIEJlZ2luVGFn
OwpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WTUFsbG9jYXRlLmggYi9Tb3Vy
Y2UvYm1hbGxvYy9ibWFsbG9jL1ZNQWxsb2NhdGUuaAppbmRleCA4MDE2OTMxOTYwYWNkZTE2OTMw
OWY2YTE4Zjc4ODc2Y2ZlOGUyYzkxLi5hYTcyNjEyZTc4MmYzZmJhYWE5NTQ5MzMyNGJiM2JiZGJi
ZTgyNzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZNQWxsb2NhdGUuaAor
KysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZNQWxsb2NhdGUuaApAQCAtMzEsMTMgKzMxLDIw
IEBACiAjaW5jbHVkZSAiU2l6ZXMuaCIKICNpbmNsdWRlICJTeXNjYWxsLmgiCiAjaW5jbHVkZSA8
YWxnb3JpdGhtPgotI2luY2x1ZGUgPG1hY2gvdm1fc3RhdGlzdGljcy5oPgogI2luY2x1ZGUgPHN5
cy9tbWFuLmg+CiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAKKyNpZiBkZWZpbmVkKEJPU19EQVJXSU4p
CisjaW5jbHVkZSA8bWFjaC92bV9zdGF0aXN0aWNzLmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIGJt
YWxsb2MgewogCisjaWYgZGVmaW5lZChCT1NfREFSV0lOKQogI2RlZmluZSBCTUFMTE9DX1ZNX1RB
RyBWTV9NQUtFX1RBRyhWTV9NRU1PUllfVENNQUxMT0MpCisjZWxzZQorI2RlZmluZSBCTUFMTE9D
X1ZNX1RBRyAtMQorI2VuZGlmCiAKIGlubGluZSBzaXplX3Qgdm1TaXplKHNpemVfdCBzaXplKQog
ewpAQCAtMTA3LDEzICsxMTQsMTMgQEAgaW5saW5lIHZvaWQqIHZtQWxsb2NhdGUoc2l6ZV90IHZt
U2l6ZSwgc2l6ZV90IHZtQWxpZ25tZW50KQogaW5saW5lIHZvaWQgdm1EZWFsbG9jYXRlUGh5c2lj
YWxQYWdlcyh2b2lkKiBwLCBzaXplX3Qgdm1TaXplKQogewogICAgIHZtVmFsaWRhdGUocCwgdm1T
aXplKTsKLSAgICBTWVNDQUxMKG1hZHZpc2UocCwgdm1TaXplLCBNQURWX0ZSRUVfUkVVU0FCTEUp
KTsKKyAgICBTWVNDQUxMKG1hZHZpc2UocCwgdm1TaXplLCBNQURWX05PUk1BTCkpOwogfQogCiBp
bmxpbmUgdm9pZCB2bUFsbG9jYXRlUGh5c2ljYWxQYWdlcyh2b2lkKiBwLCBzaXplX3Qgdm1TaXpl
KQogewogICAgIHZtVmFsaWRhdGUocCwgdm1TaXplKTsKLSAgICBTWVNDQUxMKG1hZHZpc2UocCwg
dm1TaXplLCBNQURWX0ZSRUVfUkVVU0UpKTsKKyAgICBTWVNDQUxMKG1hZHZpc2UocCwgdm1TaXpl
LCBNQURWX05PUk1BTCkpOwogfQogCiAvLyBUcmltcyByZXF1ZXN0cyB0aGF0IGFyZSB1bi1wYWdl
LWFsaWduZWQuIE5PVEU6IHNpemUgbXVzdCBiZSBhdCBsZWFzdCBhIHBhZ2UuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZlY3Rvci5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9WZWN0b3IuaAppbmRleCA1YTA2ODhlMmRkZWU5MDQwYmI4NTQwZjAzMTYyODBjN2NlM2E2ZGZm
Li4zNGUxNDk4NmUyOTU2OWRmYTlkZDFhMTEzOTc4ZmFiM2ExZTVkNTM0IDEwMDY0NAotLS0gYS9T
b3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZlY3Rvci5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvVmVjdG9yLmgKQEAgLTMxLDYgKzMxLDggQEAKICNpbmNsdWRlIDxjc3RkZGVmPgogI2luY2x1
ZGUgPHN0cmluZz4KIAorI2luY2x1ZGUgPG1lbW9yeS5oPgorCiBuYW1lc3BhY2UgYm1hbGxvYyB7
CiAKIC8vIEEgcmVwbGFjZW1lbnQgZm9yIHN0ZDo6dmVjdG9yIHRoYXQgYWxsb2NhdGVzIHVzaW5n
IHZtQWxsb2NhdGUgaW5zdGVhZCBvZgpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktpdEhl
bHBlcnMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0SGVscGVycy5jbWFrZQppbmRleCAyYTIy
MzUyYTUyY2FlNmYxYjFkZTY5YWJmZTE0YjI4YmJiZTZkZDExLi4wNDRmOTlhYTBlNTljMDliNmUw
ZjMyNGFhMTcxNTQyODBiNTY0ZTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0SGVs
cGVycy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvV2ViS2l0SGVscGVycy5jbWFrZQpAQCAtMzIs
NyArMzIsNyBAQCBtYWNybyhXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTIF90YXJnZXQp
CiAgICAgICAgIGlmIChPUFRJT05fRU5BQkxFX1dFUlJPUikKICAgICAgICAgICAgICMgRklYTUU6
IFdoZW4gd2UgdXNlIC1mbm8tdHJlZS1kY2UgdG8gc3VwcG9ydCB0aGUganNDU3RhY2sgYnJhbmNo
IG1lcmdlLCBidWlsZCBlcnJvciBvY2N1cnMgZHVlIHRvIHRoZSB1bmluaXRpYWxpemF0aW9uLiBU
ZW1wb3JhcmlseSB3ZSBzZXQKICAgICAgICAgICAgICMgdW5pbml0aWFsaXplZCBhcyBidWlsZCB3
YXJuaW5nIGluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGpzQ1N0YWNrIG1lcmdlLiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3Nzc3LgotICAgICAgICAgICAgc2V0KE9M
RF9DT01QSUxFX0ZMQUdTICItV2Vycm9yIC1Xbm8tZXJyb3I9dW51c2VkLXBhcmFtZXRlciAtV25v
LWVycm9yPXVuaW5pdGlhbGl6ZWQgLVduby1lcnJvcj1saXRlcmFsLXN1ZmZpeCAke09MRF9DT01Q
SUxFX0ZMQUdTfSIpCisgICAgICAgICAgICBzZXQoT0xEX0NPTVBJTEVfRkxBR1MgIi1XZXJyb3Ig
LVduby1lcnJvcj1hdHRyaWJ1dGVzIC1Xbm8tZXJyb3I9dW51c2VkLXBhcmFtZXRlciAtV25vLWVy
cm9yPXVuaW5pdGlhbGl6ZWQgLVduby1lcnJvcj1saXRlcmFsLXN1ZmZpeCAke09MRF9DT01QSUxF
X0ZMQUdTfSIpCiAgICAgICAgIGVuZGlmICgpCiAKICAgICAgICAgc2V0X3RhcmdldF9wcm9wZXJ0
aWVzKCR7X3RhcmdldH0gUFJPUEVSVElFUwpkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9D
TWFrZUxpc3RzLnR4dAppbmRleCBkYTE3MzZiOWU1OTcyMTY1NmEzNzA4YmY0YTM0NGU1MzU0Njcx
MDAwLi41NjNiMWNkNzkxMjdjOWRjZDA1YmY2ZGVlZTlmZDQ0MzJiYTA1MzE1IDEwMDY0NAotLS0g
YS9DTWFrZUxpc3RzLnR4dAorKysgYi9DTWFrZUxpc3RzLnR4dApAQCAtNCw2ICs0LDcgQEAgcHJv
amVjdChXZWJLaXQpCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIERlZmF1bHQgbGlicmFyeSB0
eXBlCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitzZXQoQk1BTExPQ19ESVIgIiR7Q01BS0VfU09V
UkNFX0RJUn0vU291cmNlL2JtYWxsb2MiKQogc2V0KFdURl9ESVIgIiR7Q01BS0VfU09VUkNFX0RJ
Un0vU291cmNlL1dURiIpCiBzZXQoSkFWQVNDUklQVENPUkVfRElSICIke0NNQUtFX1NPVVJDRV9E
SVJ9L1NvdXJjZS9KYXZhU2NyaXB0Q29yZSIpCiBzZXQoV0VCQ09SRV9ESVIgIiR7Q01BS0VfU09V
UkNFX0RJUn0vU291cmNlL1dlYkNvcmUiKQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdl
TG9nCmluZGV4IGVkZjAzNmU2ZDI3MDZhOTllMjdiNmFlYjM4ZjExNjY2ODZjOTljYjYuLmY5OTAy
NjU4N2ZlMzJlZjU4NWQ5MjM3MThlYzNiN2FlMDc2OTU3ZmIgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxv
ZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNS0wMS0xNyAgR3l1eW91bmcg
S2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW0dUS10gVXNl
IGJtYWxsb2MgaW5zdGVhZCBvZiB0Y21hbGxvYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6CisKIDIwMTUtMDEt
MTUgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1v
dmUgRU5BQkxFKFNRTF9EQVRBQkFTRSkgZ3VhcmRzCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245276</attachid>
            <date>2015-01-23 22:05:38 -0800</date>
            <delta_ts>2015-01-24 23:26:51 -0800</delta_ts>
            <desc>WIP-4</desc>
            <filename>bug-140162-20150124150538.patch</filename>
            <type>text/plain</type>
            <size>13028</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc5MDA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGUzZGZkZDIxMTU2M2QzMGVmN2IyNDll
NjUzZGM3M2JjMzM2MTEwYmEuLmY1NThhMGY5OWI3OThmMzVlMjMwNWEzMTczYjBlNjljNTg1ZWM4
NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDEtMjMgIEd5dXlvdW5nIEtpbSAgPGd5dXlv
dW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGlu
c3RlYWQgb2YgdGNtYWxsb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MDE2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEluY2x1ZGUgWmFuIERvYmVyc2VrIGNoYW5nZXMuCisKKyAgICAgICAgKiB3dGYv
Q01ha2VMaXN0cy50eHQ6CisKIDIwMTUtMDEtMjMgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dh
cmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEFkZCBpbml0aWFsIGRhdGFiYXNlIHBy
b2Nlc3Mgc3VwcG9ydApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nIGIvU291
cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCmluZGV4IGM5ZjJlNWY1NmIyZjViYjJmNDMwZWZlZDdiZjVl
Njg2Y2YwNTAzNzIuLmM2Yjk3YzgxOGFkNTUzOWZjNmRiZDNkNzQwODcxMDA1NjliNDEyMWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvYm1hbGxvYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0wMS0yMyAgR3l1eW91bmcgS2ltICA8Z3l1
eW91bmcua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW0dUS10gVXNlIGJtYWxsb2Mg
aW5zdGVhZCBvZiB0Y21hbGxvYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQwMTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW5jbHVkZSBaYW4gRG9iZXJzZWsgY2hhbmdlcy4KKworICAgICAgICAqIENN
YWtlTGlzdHMudHh0OiBBZGRlZC4KKwogMjAxNS0wMS0yMSAgR2VvZmZyZXkgR2FyZW4gIDxnZ2Fy
ZW5AYXBwbGUuY29tPgogCiAgICAgICAgIGJtYWxsb2M6IHN1cHBvcnQgYWxpZ25lZCBhbGxvY2F0
aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvQ01ha2VMaXN0
cy50eHQKaW5kZXggNTQ4NjcyMGQ3NjJiMDg3YzYyYWJlODQ3YjQxNDg4ZjU3MGJjZWYyOC4uZmFi
YzVkNmI2OGY4MTRmYThlMWQ5NGI4MmJhOWM3NjY3OGQ4M2Q5OSAxMDA2NDQKLS0tIGEvU291cmNl
L0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9DTWFrZUxpc3RzLnR4dApAQCAtMSw2ICsxLDgg
QEAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgQWRkIG1vZHVsZSBkaXJlY3RvcmllcwogIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorYWRkX3N1YmRpcmVjdG9yeShibWFsbG9jKQorCiBhZGRfc3Vi
ZGlyZWN0b3J5KFdURikKIAogYWRkX3N1YmRpcmVjdG9yeShKYXZhU2NyaXB0Q29yZSkKQEAgLTI2
LDYgKzI4LDcgQEAgV0VCS0lUX0lOQ0xVREVfQ09ORklHX0ZJTEVTX0lGX0VYSVNUUygpCiAjIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiAjIFNldCBjb21waWxlciBmbGFncyBmb3IgYWxsIHRhcmdldHMK
ICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1dFQktJVF9TRVRfRVhUUkFfQ09NUElMRVJfRkxBR1Mo
Ym1hbGxvYyAke0FERElUSU9OQUxfQ09NUElMRVJfRkxBR1N9KQogV0VCS0lUX1NFVF9FWFRSQV9D
T01QSUxFUl9GTEFHUyhXVEYgJHtBRERJVElPTkFMX0NPTVBJTEVSX0ZMQUdTfSkKIFdFQktJVF9T
RVRfRVhUUkFfQ09NUElMRVJfRkxBR1MoSmF2YVNjcmlwdENvcmUgJHtBRERJVElPTkFMX0NPTVBJ
TEVSX0ZMQUdTfSkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAppbmRleCBiOWU2NjkxNmRmMGEyYjVhZTNl
OGQ5ODE1ZGUzYzBhOWY4NzE0MmRlLi4xZGMzODUzODUxNzJhMmE2Mzg1MWNkOWY4NTZlYjMxYWY2
OTkxMGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dApAQCAtMTAwLDcgKzEwMCw2IEBAIHNldChXVEZf
SEVBREVSUwogICAgIFRDUGFja2VkQ2FjaGUuaAogICAgIFRDUGFnZU1hcC5oCiAgICAgVENTcGlu
TG9jay5oCi0gICAgVENTeXN0ZW1BbGxvYy5oCiAgICAgVGhyZWFkSWRlbnRpZmllckRhdGFQdGhy
ZWFkcy5oCiAgICAgVGhyZWFkU2FmZVJlZkNvdW50ZWQuaAogICAgIFRocmVhZFNwZWNpZmljLmgK
QEAgLTE4Myw3ICsxODIsNiBAQCBzZXQoV1RGX1NPVVJDRVMKICAgICBTdGFja1N0YXRzLmNwcAog
ICAgIFN0YWNrQm91bmRzLmNwcAogICAgIFN0cmluZ1ByaW50U3RyZWFtLmNwcAotICAgIFRDU3lz
dGVtQWxsb2MuY3BwCiAgICAgVGhyZWFkaW5nLmNwcAogICAgIFdURlRocmVhZERhdGEuY3BwCiAg
ICAgZHRvYS5jcHAKQEAgLTIxMyw2ICsyMTEsNyBAQCBzZXQoV1RGX1NPVVJDRVMKICkKIAogc2V0
KFdURl9JTkNMVURFX0RJUkVDVE9SSUVTCisgICAgIiR7Qk1BTExPQ19ESVJ9IgogICAgICIke1dU
Rl9ESVJ9IgogICAgICIke1dURl9ESVJ9L3d0ZiIKICAgICAiJHtXVEZfRElSfS93dGYvZHRvYSIK
QEAgLTIyNiw2ICsyMjUsNyBAQCBzZXQoV1RGX0lOQ0xVREVfRElSRUNUT1JJRVMKIAogc2V0KFdU
Rl9MSUJSQVJJRVMKICAgICAke0NNQUtFX0RMX0xJQlN9CisgICAgYm1hbGxvYwogKQogCiBsaXN0
KEFQUEVORCBXVEZfU09VUkNFUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvRmFzdE1hbGxv
Yy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9GYXN0TWFsbG9jLmNwcAppbmRleCAxOGE5Yzg0MTI2NmYw
OGY4ZjUzMzA0NzExMjZkNTBmMzg1ZGJmMWMwLi41ZmQ5Yzk1MGJkYzk4ZWE2M2IyNjUyNTExNzc0
OTg2NGNmYjEwYjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GYXN0TWFsbG9jLmNwcAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9GYXN0TWFsbG9jLmNwcApAQCAtMTAxLDcgKzEwMSw3IEBACiAj
ZW5kaWYKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpCisjaWYgUExBVEZPUk0oQ09DT0Ep
IHx8IFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oR1RLKQogI2RlZmluZSBVU0VfQk1BTExPQyAx
CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvYm1hbGxvYy9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZmRhMTRkMzY4YTY3NWY5
MjM5M2YwMjE3ZWI4OGY2MDk5YTE2YzQ4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL2JtYWxs
b2MvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSwyMyBAQAorc2V0KGJtYWxsb2NfSU5DTFVERV9E
SVJFQ1RPUklFUworICAgICIke0JNQUxMT0NfRElSfSIKKyAgICAiJHtXVEZfRElSfSIKKykKKwor
c2V0KGJtYWxsb2NfU09VUkNFUworICAgIGJtYWxsb2MvQWxsb2NhdG9yLmNwcAorICAgIGJtYWxs
b2MvQ2FjaGUuY3BwCisgICAgYm1hbGxvYy9EZWFsbG9jYXRvci5jcHAKKyAgICBibWFsbG9jL0Vu
dmlyb25tZW50LmNwcAorICAgIGJtYWxsb2MvSGVhcC5jcHAKKyAgICBibWFsbG9jL09iamVjdFR5
cGUuY3BwCisgICAgYm1hbGxvYy9TZWdyZWdhdGVkRnJlZUxpc3QuY3BwCisgICAgYm1hbGxvYy9T
dGF0aWNNdXRleC5jcHAKKyAgICBibWFsbG9jL1ZNSGVhcC5jcHAKKyAgICBibWFsbG9jL21ibWFs
bG9jLmNwcAorKQorCitXRUJLSVRfV1JBUF9TT1VSQ0VMSVNUKCR7Ym1hbGxvY19TT1VSQ0VTfSkK
K2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtibWFsbG9jX0lOQ0xVREVfRElSRUNUT1JJRVN9KQorYWRk
X2xpYnJhcnkoYm1hbGxvYyAke2JtYWxsb2NfU09VUkNFU30pCit0YXJnZXRfbGlua19saWJyYXJp
ZXMoYm1hbGxvYyAke2JtYWxsb2NfTElCUkFSSUVTfSkKK3NldF90YXJnZXRfcHJvcGVydGllcyhi
bWFsbG9jIFBST1BFUlRJRVMgQ09NUElMRV9ERUZJTklUSU9OUyAiQlVJTERJTkdfYm1hbGxvYyIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FzeW5jVGFzay5oIGIvU291cmNl
L2JtYWxsb2MvYm1hbGxvYy9Bc3luY1Rhc2suaAppbmRleCA1MDRkYTgxMzVkODY3MTRmOTdlMDQz
ZjI1Mzc1MDcyODFhOGEwYmExLi5iMzhiZWI1MzU3YTMzMGQzOTY4MDY0NjYwNjVhNmZjNDE3OGJi
MTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FzeW5jVGFzay5oCisrKyBi
L1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXN5bmNUYXNrLmgKQEAgLTY0LDcgKzY0LDkgQEAgcHJp
dmF0ZToKICAgICBGdW5jdGlvbiBtX2Z1bmN0aW9uOwogfTsKIAorI2lmICFQTEFURk9STShFRkwp
ICYmICFQTEFURk9STShHVEspCiB0ZW1wbGF0ZTx0eXBlbmFtZSBPYmplY3QsIHR5cGVuYW1lIEZ1
bmN0aW9uPiBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBBc3luY1Rhc2s8T2JqZWN0LCBGdW5j
dGlvbj46OmV4aXREZWxheTsKKyNlbmRpZgogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBPYmplY3QsIHR5
cGVuYW1lIEZ1bmN0aW9uPgogQXN5bmNUYXNrPE9iamVjdCwgRnVuY3Rpb24+OjpBc3luY1Rhc2so
T2JqZWN0JiBvYmplY3QsIGNvbnN0IEZ1bmN0aW9uJiBmdW5jdGlvbikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9ibWFsbG9jL2JtYWxsb2MvQm91bmRhcnlUYWcuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvQm91bmRhcnlUYWcuaAppbmRleCA3NjFmZDNmMTgxYjIwYjcwNzE4NTg0N2Q0MGYxOWRhY2Y1
MGM0NTcyLi4yNjhiZGNjYTUzN2RlMmU3MzdhN2YzMDQzN2M2ZDIwYTFjNTU2YzQ0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0JvdW5kYXJ5VGFnLmgKKysrIGIvU291cmNlL2Jt
YWxsb2MvYm1hbGxvYy9Cb3VuZGFyeVRhZy5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAi
QkFzc2VydC5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVkZSAiU2l6ZXMuaCIKKyNpbmNs
dWRlIDxtZW1vcnkuaD4KIAogbmFtZXNwYWNlIGJtYWxsb2MgewogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvYm1hbGxvYy9ibWFsbG9jL0NodW5rLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0NodW5r
LmgKaW5kZXggMGM0ZDFkMmRkOGFjMDhlYjA4MWY4ZDVlNmEwOTU0ODY3NjdmNWMwMC4uZmQ4MWQ1
OWM4ODU2MTdlZmNlMjVlYjU0NDVkNjgxZmI3ZTQ4MWM3YSAxMDA2NDQKLS0tIGEvU291cmNlL2Jt
YWxsb2MvYm1hbGxvYy9DaHVuay5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQ2h1bmsu
aApAQCAtMzUsOCArMzUsMTMgQEAgbmFtZXNwYWNlIGJtYWxsb2MgewogdGVtcGxhdGU8Y2xhc3Mg
VHJhaXRzPgogY2xhc3MgQ2h1bmsgewogcHVibGljOgorI2lmIFBMQVRGT1JNKEVGTCkgfHwgUExB
VEZPUk0oR1RLKQorICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpQYWdlVHJhaXRzIFBhZ2U7
CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6OkxpbmVUcmFpdHMgTGluZTsKKyNlbHNlCiAg
ICAgdHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6OlBhZ2UgUGFnZTsKICAgICB0eXBlZGVmIHR5cGVu
YW1lIFRyYWl0czo6TGluZSBMaW5lOworI2VuZGlmCiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBs
aW5lU2l6ZSA9IFRyYWl0czo6bGluZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBjaHVu
a1NpemUgPSBUcmFpdHM6OmNodW5rU2l6ZTsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGNodW5r
T2Zmc2V0ID0gVHJhaXRzOjpjaHVua09mZnNldDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvTGluZS5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9MaW5lLmgKaW5kZXggOGE4
ZDcxZTE4OTkxY2I2NThmMGJkZmY0ZThmZDhhN2IxZTY5NmIyZS4uMGE0MGQwZmQ3MjgxYjc5MmNi
ODAwOTFmOTdjMjM3ZmZjMGI2YmUxMSAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9MaW5lLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9MaW5lLmgKQEAgLTM2LDcgKzM2
LDExIEBAIG5hbWVzcGFjZSBibWFsbG9jIHsKIHRlbXBsYXRlPGNsYXNzIFRyYWl0cz4KIGNsYXNz
IExpbmUgewogcHVibGljOgorI2lmIFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oR1RLKQorICAg
IHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpDaHVua1RyYWl0cyBDaHVuazsKKyNlbHNlCiAgICAg
dHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6OkNodW5rIENodW5rOworI2VuZGlmCiAgICAgc3RhdGlj
IGNvbnN0IHNpemVfdCBtaW5pbXVtT2JqZWN0U2l6ZSA9IFRyYWl0czo6bWluaW11bU9iamVjdFNp
emU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9IFRyYWl0czo6bGluZVNpemU7
CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL01lZGl1bVRyYWl0cy5o
IGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9NZWRpdW1UcmFpdHMuaAppbmRleCBiYmNlMDFhYjMw
ZWQ3ZjU3YjM0ZjQ0ZTE2NWI4MjA0M2RkYjQ3YjEyLi5mOWQ5NTY2Y2QyNGExYmZjZGE5ODQ0NGQ5
YmIyMGFmODcxZjYzNmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL01lZGl1
bVRyYWl0cy5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTWVkaXVtVHJhaXRzLmgKQEAg
LTM2LDkgKzM2LDE1IEBAIHRlbXBsYXRlPGNsYXNzIFRyYWl0cz4gY2xhc3MgTGluZTsKIHRlbXBs
YXRlPGNsYXNzIFRyYWl0cz4gY2xhc3MgUGFnZTsKIAogc3RydWN0IE1lZGl1bVRyYWl0cyB7Cisj
aWYgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShHVEspCisgICAgdHlwZWRlZiBDaHVuazxNZWRp
dW1UcmFpdHM+IENodW5rVHJhaXRzOworICAgIHR5cGVkZWYgTGluZTxNZWRpdW1UcmFpdHM+IExp
bmVUcmFpdHM7CisgICAgdHlwZWRlZiBQYWdlPE1lZGl1bVRyYWl0cz4gUGFnZVRyYWl0czsKKyNl
bHNlCiAgICAgdHlwZWRlZiBDaHVuazxNZWRpdW1UcmFpdHM+IENodW5rOwogICAgIHR5cGVkZWYg
TGluZTxNZWRpdW1UcmFpdHM+IExpbmU7CiAgICAgdHlwZWRlZiBQYWdlPE1lZGl1bVRyYWl0cz4g
UGFnZTsKKyNlbmRpZgogCiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9IG1lZGl1
bUxpbmVTaXplOwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbWluaW11bU9iamVjdFNpemUgPSBz
bWFsbE1heCArIGFsaWdubWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
UGFnZS5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QYWdlLmgKaW5kZXggMzgxNDBhNTY0YWQz
Yjk0NTQ1MjRkY2Y5M2M1ZmVlNmQ3Y2MzYjgzZi4uMzEzODA0OGJkNDU3OTI5ZTBkYmNhNjIyZjQy
MDI1ZmFmZDc5ZTExOSAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QYWdlLmgK
KysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QYWdlLmgKQEAgLTM2LDggKzM2LDEzIEBAIG5h
bWVzcGFjZSBibWFsbG9jIHsKIHRlbXBsYXRlPHR5cGVuYW1lIFRyYWl0cz4KIGNsYXNzIFBhZ2Ug
ewogcHVibGljOgorI2lmIFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oR1RLKQorICAgIHR5cGVk
ZWYgdHlwZW5hbWUgVHJhaXRzOjpDaHVua1RyYWl0cyBDaHVuazsKKyAgICB0eXBlZGVmIHR5cGVu
YW1lIFRyYWl0czo6TGluZVRyYWl0cyBMaW5lOworI2Vsc2UKICAgICB0eXBlZGVmIHR5cGVuYW1l
IFRyYWl0czo6Q2h1bmsgQ2h1bms7CiAgICAgdHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6OkxpbmUg
TGluZTsKKyNlbmRpZgogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbGluZVNpemUgPSBUcmFpdHM6
OmxpbmVTaXplOwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbGluZUNvdW50ID0gdm1QYWdlU2l6
ZSAvIGxpbmVTaXplOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1NtYWxs
VHJhaXRzLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1NtYWxsVHJhaXRzLmgKaW5kZXggZTQw
YzE2NmVkZDA3YmNhZmUxNzU2ZjE1ZjZhYzExNWNlYTlhMTMyMi4uNTc2Yzg0MmFiZjBhNzlmYzFk
YmRhOTAyZjM0OGFkOGQ0YjRlZmQ0YyAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9TbWFsbFRyYWl0cy5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU21hbGxUcmFpdHMu
aApAQCAtMzUsOSArMzUsMTUgQEAgdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPiBjbGFzcyBMaW5lOwog
dGVtcGxhdGU8Y2xhc3MgVHJhaXRzPiBjbGFzcyBQYWdlOwogCiBzdHJ1Y3QgU21hbGxUcmFpdHMg
eworI2lmIFBMQVRGT1JNKEVGTCkgfHwgUExBVEZPUk0oR1RLKQorICAgIHR5cGVkZWYgQ2h1bms8
U21hbGxUcmFpdHM+IENodW5rVHJhaXRzOworICAgIHR5cGVkZWYgTGluZTxTbWFsbFRyYWl0cz4g
TGluZVRyYWl0czsKKyAgICB0eXBlZGVmIFBhZ2U8U21hbGxUcmFpdHM+IFBhZ2VUcmFpdHM7Cisj
ZWxzZQogICAgIHR5cGVkZWYgQ2h1bms8U21hbGxUcmFpdHM+IENodW5rOwogICAgIHR5cGVkZWYg
TGluZTxTbWFsbFRyYWl0cz4gTGluZTsKICAgICB0eXBlZGVmIFBhZ2U8U21hbGxUcmFpdHM+IFBh
Z2U7CisjZW5kaWYKIAogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbGluZVNpemUgPSBzbWFsbExp
bmVTaXplOwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbWluaW11bU9iamVjdFNpemUgPSBhbGln
bm1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZNQWxsb2NhdGUuaCBi
L1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0ZS5oCmluZGV4IDk0MDYzNThhZTUxZjU5
YjA4ZmQ2NzU5ZDUyY2U5YTgyMjVhMzQ2NGUuLjEwMjkyY2YxNjA0NTZjN2Y0MTVkMzg0ZjdkNTU1
ZjkyN2M5NjRiMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0
ZS5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0ZS5oCkBAIC0zMSwxMyAr
MzEsMjEgQEAKICNpbmNsdWRlICJTaXplcy5oIgogI2luY2x1ZGUgIlN5c2NhbGwuaCIKICNpbmNs
dWRlIDxhbGdvcml0aG0+Ci0jaW5jbHVkZSA8bWFjaC92bV9zdGF0aXN0aWNzLmg+CiAjaW5jbHVk
ZSA8c3lzL21tYW4uaD4KICNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDx3dGYvUGxhdGZv
cm0uaD4KKworI2lmIGRlZmluZWQoQk9TX0RBUldJTikKKyNpbmNsdWRlIDxtYWNoL3ZtX3N0YXRp
c3RpY3MuaD4KKyNlbmRpZgogCiBuYW1lc3BhY2UgYm1hbGxvYyB7CiAKKyNpZiBkZWZpbmVkKEJP
U19EQVJXSU4pCiAjZGVmaW5lIEJNQUxMT0NfVk1fVEFHIFZNX01BS0VfVEFHKFZNX01FTU9SWV9U
Q01BTExPQykKKyNlbHNlCisjZGVmaW5lIEJNQUxMT0NfVk1fVEFHIC0xCisjZW5kaWYKIAogaW5s
aW5lIHNpemVfdCB2bVNpemUoc2l6ZV90IHNpemUpCiB7CkBAIC0xMDcsMTMgKzExNSwxMyBAQCBp
bmxpbmUgdm9pZCogdm1BbGxvY2F0ZShzaXplX3Qgdm1BbGlnbm1lbnQsIHNpemVfdCB2bVNpemUp
CiBpbmxpbmUgdm9pZCB2bURlYWxsb2NhdGVQaHlzaWNhbFBhZ2VzKHZvaWQqIHAsIHNpemVfdCB2
bVNpemUpCiB7CiAgICAgdm1WYWxpZGF0ZShwLCB2bVNpemUpOwotICAgIFNZU0NBTEwobWFkdmlz
ZShwLCB2bVNpemUsIE1BRFZfRlJFRV9SRVVTQUJMRSkpOworICAgIFNZU0NBTEwobWFkdmlzZShw
LCB2bVNpemUsIE1BRFZfTk9STUFMKSk7CiB9CiAKIGlubGluZSB2b2lkIHZtQWxsb2NhdGVQaHlz
aWNhbFBhZ2VzKHZvaWQqIHAsIHNpemVfdCB2bVNpemUpCiB7CiAgICAgdm1WYWxpZGF0ZShwLCB2
bVNpemUpOwotICAgIFNZU0NBTEwobWFkdmlzZShwLCB2bVNpemUsIE1BRFZfRlJFRV9SRVVTRSkp
OworICAgIFNZU0NBTEwobWFkdmlzZShwLCB2bVNpemUsIE1BRFZfTk9STUFMKSk7CiB9CiAKIC8v
IFRyaW1zIHJlcXVlc3RzIHRoYXQgYXJlIHVuLXBhZ2UtYWxpZ25lZC4gTk9URTogc2l6ZSBtdXN0
IGJlIGF0IGxlYXN0IGEgcGFnZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
VmVjdG9yLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZlY3Rvci5oCmluZGV4IDVhMDY4OGUy
ZGRlZTkwNDBiYjg1NDBmMDMxNjI4MGM3Y2UzYTZkZmYuLmVmOTExZDE5ZGFmYmQ4ZjhhZTJhN2Q2
OWFlMGE4NTA0MWUzY2MxZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVmVj
dG9yLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WZWN0b3IuaApAQCAtMzEsNiArMzEs
MTAgQEAKICNpbmNsdWRlIDxjc3RkZGVmPgogI2luY2x1ZGUgPHN0cmluZz4KIAorI2lmIFBMQVRG
T1JNKEVGTCkgfHwgUExBVEZPUk0oR1RLKQorI2luY2x1ZGUgPG1lbW9yeS5oPgorI2VuZGlmCisK
IG5hbWVzcGFjZSBibWFsbG9jIHsKIAogLy8gQSByZXBsYWNlbWVudCBmb3Igc3RkOjp2ZWN0b3Ig
dGhhdCBhbGxvY2F0ZXMgdXNpbmcgdm1BbGxvY2F0ZSBpbnN0ZWFkIG9mCmRpZmYgLS1naXQgYS9T
b3VyY2UvY21ha2UvV2ViS2l0SGVscGVycy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRIZWxw
ZXJzLmNtYWtlCmluZGV4IDJhMjIzNTJhNTJjYWU2ZjFiMWRlNjlhYmZlMTRiMjhiYmJlNmRkMTEu
LmQxZmJlYmY3YTJjZjE4M2EwNDMzNWU1Y2M2NWUzMmFjMzQ3NzYzOGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9jbWFrZS9XZWJLaXRIZWxwZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRI
ZWxwZXJzLmNtYWtlCkBAIC0zMiw3ICszMiw3IEBAIG1hY3JvKFdFQktJVF9TRVRfRVhUUkFfQ09N
UElMRVJfRkxBR1MgX3RhcmdldCkKICAgICAgICAgaWYgKE9QVElPTl9FTkFCTEVfV0VSUk9SKQog
ICAgICAgICAgICAgIyBGSVhNRTogV2hlbiB3ZSB1c2UgLWZuby10cmVlLWRjZSB0byBzdXBwb3J0
IHRoZSBqc0NTdGFjayBicmFuY2ggbWVyZ2UsIGJ1aWxkIGVycm9yIG9jY3VycyBkdWUgdG8gdGhl
IHVuaW5pdGlhbGl6YXRpb24uIFRlbXBvcmFyaWx5IHdlIHNldAogICAgICAgICAgICAgIyB1bmlu
aXRpYWxpemVkIGFzIGJ1aWxkIHdhcm5pbmcgaW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUganNDU3Rh
Y2sgbWVyZ2UuIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc3Nzcu
Ci0gICAgICAgICAgICBzZXQoT0xEX0NPTVBJTEVfRkxBR1MgIi1XZXJyb3IgLVduby1lcnJvcj11
bnVzZWQtcGFyYW1ldGVyIC1Xbm8tZXJyb3I9dW5pbml0aWFsaXplZCAtV25vLWVycm9yPWxpdGVy
YWwtc3VmZml4ICR7T0xEX0NPTVBJTEVfRkxBR1N9IikKKyAgICAgICAgICAgIHNldChPTERfQ09N
UElMRV9GTEFHUyAiLVdlcnJvciAtV25vLWVycm9yPXVudXNlZC1yZXN1bHQgLVduby1lcnJvcj1h
dHRyaWJ1dGVzIC1Xbm8tZXJyb3I9dW51c2VkLXBhcmFtZXRlciAtV25vLWVycm9yPXVuaW5pdGlh
bGl6ZWQgLVduby1lcnJvcj1saXRlcmFsLXN1ZmZpeCAke09MRF9DT01QSUxFX0ZMQUdTfSIpCiAg
ICAgICAgIGVuZGlmICgpCiAKICAgICAgICAgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKCR7X3Rhcmdl
dH0gUFJPUEVSVElFUwpkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4
dAppbmRleCBlZjE3ZGM3ZjliMWMzODYzMjFiN2MyNmRhMzA4NzYzYjViNDhjMGE3Li40YWY5ZGQy
YjU3NmFhOTFkMTg1ZDBlYWY5ZGMwM2YzZjJlMTlmZTY2IDEwMDY0NAotLS0gYS9DTWFrZUxpc3Rz
LnR4dAorKysgYi9DTWFrZUxpc3RzLnR4dApAQCAtNCw2ICs0LDcgQEAgcHJvamVjdChXZWJLaXQp
CiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIERlZmF1bHQgbGlicmFyeSB0eXBlCiAjIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCitzZXQoQk1BTExPQ19ESVIgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291
cmNlL2JtYWxsb2MiKQogc2V0KFdURl9ESVIgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dU
RiIpCiBzZXQoSkFWQVNDUklQVENPUkVfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZSIpCiBzZXQoV0VCQ09SRV9ESVIgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291
cmNlL1dlYkNvcmUiKQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGJk
MjVhYmYxZGU3Nzk0ODYzMWE3NjJkYjEwMDQzY2Q5MTdiMmQyODEuLjgyNzE2NmViMmE0MGVkMTcw
MWU0Yzk2ZTU3NmViMzBiNmY0OWRiNmQgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNS0wMS0yMyAgR3l1eW91bmcgS2ltICA8Z3l1eW91
bmcua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW0dUS10gVXNlIGJtYWxsb2MgaW5z
dGVhZCBvZiB0Y21hbGxvYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQwMTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6CisKIDIwMTUtMDEtMjMgIENhcmxvcyBH
YXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEFkZCBp
bml0aWFsIGRhdGFiYXNlIHByb2Nlc3Mgc3VwcG9ydAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245294</attachid>
            <date>2015-01-24 23:27:00 -0800</date>
            <delta_ts>2015-01-25 05:19:29 -0800</delta_ts>
            <desc>WIP-5</desc>
            <filename>bug-140162-20150125162701.patch</filename>
            <type>text/plain</type>
            <size>14800</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc5MDgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY4Yjk1OTcyOTgyMzliMmNmODYyYzU2
MjZhMzFmMjJlZjg4NDYzNzMuLjA4OTVjYjliOTMzN2M3MjdjZTc5NGU0NWM2M2I5ZjZjMjcwMTE2
MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTUtMDEtMjQgIEd5dXlvdW5nIEtpbSAgPGd5dXlv
dW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGlu
c3RlYWQgb2YgdGNtYWxsb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MDE2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OgorCiAyMDE1LTAxLTI0ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUHJvdmlkZSBpbXBsZW1lbnRhdGlvbiBm
b3IgV1RGOjpEZWZhdWx0SGFzaDxib29sPgpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvQ2hh
bmdlTG9nIGIvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCmluZGV4IGM5ZjJlNWY1NmIyZjViYjJm
NDMwZWZlZDdiZjVlNjg2Y2YwNTAzNzIuLmQ2MWZlZjhmOTc0MWZmMGNhNGM5ZjMzODYzNDNhOWVj
NWFmNjQ2MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvYm1hbGxvYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNS0wMS0yNCAgR3l1eW91
bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW0dUS10g
VXNlIGJtYWxsb2MgaW5zdGVhZCBvZiB0Y21hbGxvYworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogQWRkZWQuCisKIDIwMTUt
MDEtMjEgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBibWFs
bG9jOiBzdXBwb3J0IGFsaWduZWQgYWxsb2NhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL0NNYWtlTGlzdHMudHh0CmluZGV4IDU0ODY3MjBkNzYyYjA4N2M2
MmFiZTg0N2I0MTQ4OGY1NzBiY2VmMjguLmZhYmM1ZDZiNjhmODE0ZmE4ZTFkOTRiODJiYTljNzY2
NzhkODNkOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
Q01ha2VMaXN0cy50eHQKQEAgLTEsNiArMSw4IEBACiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAj
IEFkZCBtb2R1bGUgZGlyZWN0b3JpZXMKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2FkZF9zdWJk
aXJlY3RvcnkoYm1hbGxvYykKKwogYWRkX3N1YmRpcmVjdG9yeShXVEYpCiAKIGFkZF9zdWJkaXJl
Y3RvcnkoSmF2YVNjcmlwdENvcmUpCkBAIC0yNiw2ICsyOCw3IEBAIFdFQktJVF9JTkNMVURFX0NP
TkZJR19GSUxFU19JRl9FWElTVFMoKQogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBTZXQgY29t
cGlsZXIgZmxhZ3MgZm9yIGFsbCB0YXJnZXRzCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitXRUJL
SVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKGJtYWxsb2MgJHtBRERJVElPTkFMX0NPTVBJTEVS
X0ZMQUdTfSkKIFdFQktJVF9TRVRfRVhUUkFfQ09NUElMRVJfRkxBR1MoV1RGICR7QURESVRJT05B
TF9DT01QSUxFUl9GTEFHU30pCiBXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKEphdmFT
Y3JpcHRDb3JlICR7QURESVRJT05BTF9DT01QSUxFUl9GTEFHU30pCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50
eHQKaW5kZXggYjllNjY5MTZkZjBhMmI1YWUzZThkOTgxNWRlM2MwYTlmODcxNDJkZS4uMWRjMzg1
Mzg1MTcyYTJhNjM4NTFjZDlmODU2ZWIzMWFmNjk5MTBjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQK
QEAgLTEwMCw3ICsxMDAsNiBAQCBzZXQoV1RGX0hFQURFUlMKICAgICBUQ1BhY2tlZENhY2hlLmgK
ICAgICBUQ1BhZ2VNYXAuaAogICAgIFRDU3BpbkxvY2suaAotICAgIFRDU3lzdGVtQWxsb2MuaAog
ICAgIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAogICAgIFRocmVhZFNhZmVSZWZDb3Vu
dGVkLmgKICAgICBUaHJlYWRTcGVjaWZpYy5oCkBAIC0xODMsNyArMTgyLDYgQEAgc2V0KFdURl9T
T1VSQ0VTCiAgICAgU3RhY2tTdGF0cy5jcHAKICAgICBTdGFja0JvdW5kcy5jcHAKICAgICBTdHJp
bmdQcmludFN0cmVhbS5jcHAKLSAgICBUQ1N5c3RlbUFsbG9jLmNwcAogICAgIFRocmVhZGluZy5j
cHAKICAgICBXVEZUaHJlYWREYXRhLmNwcAogICAgIGR0b2EuY3BwCkBAIC0yMTMsNiArMjExLDcg
QEAgc2V0KFdURl9TT1VSQ0VTCiApCiAKIHNldChXVEZfSU5DTFVERV9ESVJFQ1RPUklFUworICAg
ICIke0JNQUxMT0NfRElSfSIKICAgICAiJHtXVEZfRElSfSIKICAgICAiJHtXVEZfRElSfS93dGYi
CiAgICAgIiR7V1RGX0RJUn0vd3RmL2R0b2EiCkBAIC0yMjYsNiArMjI1LDcgQEAgc2V0KFdURl9J
TkNMVURFX0RJUkVDVE9SSUVTCiAKIHNldChXVEZfTElCUkFSSUVTCiAgICAgJHtDTUFLRV9ETF9M
SUJTfQorICAgIGJtYWxsb2MKICkKIAogbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuY3BwIGIvU291cmNlL1dURi93dGYvRmFzdE1h
bGxvYy5jcHAKaW5kZXggMThhOWM4NDEyNjZmMDhmOGY1MzMwNDcxMTI2ZDUwZjM4NWRiZjFjMC4u
NWZkOWM5NTBiZGM5OGVhNjNiMjY1MjUxMTc3NDk4NjRjZmIxMGI5ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvRmFzdE1hbGxvYy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvRmFzdE1hbGxv
Yy5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQAogI2VuZGlmCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JN
KENPQ09BKQorI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JN
KEdUSykKICNkZWZpbmUgVVNFX0JNQUxMT0MgMQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL2JtYWxsb2MvQ01ha2VMaXN0cy50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTlhMWE3NmZjNGY4YmU0OTc3MDZiMGY4NDMyNGViZTc3ZTJjZGE2MwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEs
MjIgQEAKK3NldChibWFsbG9jX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAiJHtCTUFMTE9DX0RJ
Un0iCispCisKK3NldChibWFsbG9jX1NPVVJDRVMKKyAgICBibWFsbG9jL0FsbG9jYXRvci5jcHAK
KyAgICBibWFsbG9jL0NhY2hlLmNwcAorICAgIGJtYWxsb2MvRGVhbGxvY2F0b3IuY3BwCisgICAg
Ym1hbGxvYy9FbnZpcm9ubWVudC5jcHAKKyAgICBibWFsbG9jL0hlYXAuY3BwCisgICAgYm1hbGxv
Yy9PYmplY3RUeXBlLmNwcAorICAgIGJtYWxsb2MvU2VncmVnYXRlZEZyZWVMaXN0LmNwcAorICAg
IGJtYWxsb2MvU3RhdGljTXV0ZXguY3BwCisgICAgYm1hbGxvYy9WTUhlYXAuY3BwCisgICAgYm1h
bGxvYy9tYm1hbGxvYy5jcHAKKykKKworV0VCS0lUX1dSQVBfU09VUkNFTElTVCgke2JtYWxsb2Nf
U09VUkNFU30pCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7Ym1hbGxvY19JTkNMVURFX0RJUkVDVE9S
SUVTfSkKK2FkZF9saWJyYXJ5KGJtYWxsb2MgJHtibWFsbG9jX1NPVVJDRVN9KQordGFyZ2V0X2xp
bmtfbGlicmFyaWVzKGJtYWxsb2MgJHtibWFsbG9jX0xJQlJBUklFU30pCitzZXRfdGFyZ2V0X3By
b3BlcnRpZXMoYm1hbGxvYyBQUk9QRVJUSUVTIENPTVBJTEVfREVGSU5JVElPTlMgIkJVSUxESU5H
X2JtYWxsb2MiKQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxvY2F0b3Iu
Y3BwIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxvY2F0b3IuY3BwCmluZGV4IGVkNTczZGM5
YzI2N2I5YzFjOTMwMTA0MWMzYmQ2OGQzMjgwYTYwYmMuLmViZjBjZjYyMTNhZWJmZGE5MGFhNmIw
NTUzZWMxZGIwYmYzMTJkMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQWxs
b2NhdG9yLmNwcAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FsbG9jYXRvci5jcHAKQEAg
LTU2LDcgKzU2LDggQEAgdm9pZCogQWxsb2NhdG9yOjphbGxvY2F0ZShzaXplX3QgYWxpZ25tZW50
LCBzaXplX3Qgc2l6ZSkKIAogICAgIGlmICghbV9pc0JtYWxsb2NFbmFibGVkKSB7CiAgICAgICAg
IHZvaWQqIHJlc3VsdCA9IG51bGxwdHI7Ci0gICAgICAgIHBvc2l4X21lbWFsaWduKCZyZXN1bHQs
IGFsaWdubWVudCwgc2l6ZSk7CisgICAgICAgIGlmIChwb3NpeF9tZW1hbGlnbigmcmVzdWx0LCBh
bGlnbm1lbnQsIHNpemUpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgIHJl
dHVybiByZXN1bHQ7CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9Bc3luY1Rhc2suaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXN5bmNUYXNrLmgKaW5k
ZXggNTA0ZGE4MTM1ZDg2NzE0Zjk3ZTA0M2YyNTM3NTA3MjgxYThhMGJhMS4uMWM0OGVhMDliNTgz
MDY2NjUxZDQ1OGU5OTEzYTY0MzhhMWY1MjRhZCAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9Bc3luY1Rhc2suaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FzeW5jVGFz
ay5oCkBAIC02NCw3ICs2NCw5IEBAIHByaXZhdGU6CiAgICAgRnVuY3Rpb24gbV9mdW5jdGlvbjsK
IH07CiAKKyNpZiAhZGVmaW5lZChCVUlMRElOR19FRkxfXykgJiYgIWRlZmluZWQoQlVJTERJTkdf
R1RLX18pCiB0ZW1wbGF0ZTx0eXBlbmFtZSBPYmplY3QsIHR5cGVuYW1lIEZ1bmN0aW9uPiBjb25z
dCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBBc3luY1Rhc2s8T2JqZWN0LCBGdW5jdGlvbj46OmV4aXRE
ZWxheTsKKyNlbmRpZgogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBPYmplY3QsIHR5cGVuYW1lIEZ1bmN0
aW9uPgogQXN5bmNUYXNrPE9iamVjdCwgRnVuY3Rpb24+OjpBc3luY1Rhc2soT2JqZWN0JiBvYmpl
Y3QsIGNvbnN0IEZ1bmN0aW9uJiBmdW5jdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvQm91bmRhcnlUYWcuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQm91bmRhcnlU
YWcuaAppbmRleCA3NjFmZDNmMTgxYjIwYjcwNzE4NTg0N2Q0MGYxOWRhY2Y1MGM0NTcyLi4yNjhi
ZGNjYTUzN2RlMmU3MzdhN2YzMDQzN2M2ZDIwYTFjNTU2YzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL0JvdW5kYXJ5VGFnLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9Cb3VuZGFyeVRhZy5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQkFzc2VydC5oIgog
I2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVkZSAiU2l6ZXMuaCIKKyNpbmNsdWRlIDxtZW1vcnku
aD4KIAogbmFtZXNwYWNlIGJtYWxsb2MgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL0NodW5rLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0NodW5rLmgKaW5kZXggMGM0
ZDFkMmRkOGFjMDhlYjA4MWY4ZDVlNmEwOTU0ODY3NjdmNWMwMC4uYWZhODViNTE5NjdiNDlhNTNl
NDI4MDZlNDk1ZWNhZmQ5MjU5NzEwMyAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9DaHVuay5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQ2h1bmsuaApAQCAtMzUsOCAr
MzUsOSBAQCBuYW1lc3BhY2UgYm1hbGxvYyB7CiB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+CiBjbGFz
cyBDaHVuayB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6OlBhZ2UgUGFn
ZTsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6TGluZSBMaW5lOworICAgIHR5cGVkZWYg
dHlwZW5hbWUgVHJhaXRzOjpQYWdlVHJhaXRzIFBhZ2U7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBU
cmFpdHM6OkxpbmVUcmFpdHMgTGluZTsKKwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbGluZVNp
emUgPSBUcmFpdHM6OmxpbmVTaXplOwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgY2h1bmtTaXpl
ID0gVHJhaXRzOjpjaHVua1NpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBjaHVua09mZnNl
dCA9IFRyYWl0czo6Y2h1bmtPZmZzZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFs
bG9jL0xpbmUuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5oCmluZGV4IDhhOGQ3MWUx
ODk5MWNiNjU4ZjBiZGZmNGU4ZmQ4YTdiMWU2OTZiMmUuLjM5NTg5OWM3NTBlZWQwOTdjNGQzZTQ4
NTgxZTA1NzhiZmFmMjk4YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGlu
ZS5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5oCkBAIC0zNiw3ICszNiw4IEBA
IG5hbWVzcGFjZSBibWFsbG9jIHsKIHRlbXBsYXRlPGNsYXNzIFRyYWl0cz4KIGNsYXNzIExpbmUg
ewogcHVibGljOgotICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpDaHVuayBDaHVuazsKKyAg
ICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6Q2h1bmtUcmFpdHMgQ2h1bms7CisKICAgICBzdGF0
aWMgY29uc3Qgc2l6ZV90IG1pbmltdW1PYmplY3RTaXplID0gVHJhaXRzOjptaW5pbXVtT2JqZWN0
U2l6ZTsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGxpbmVTaXplID0gVHJhaXRzOjpsaW5lU2l6
ZTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTWVkaXVtVHJhaXRz
LmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL01lZGl1bVRyYWl0cy5oCmluZGV4IGJiY2UwMWFi
MzBlZDdmNTdiMzRmNDRlMTY1YjgyMDQzZGRiNDdiMTIuLjVkOWU2NmMwOThlOWY0NDk5MmM1YTE3
OThmNWVjOTE0ZmU2MDBlZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTWVk
aXVtVHJhaXRzLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9NZWRpdW1UcmFpdHMuaApA
QCAtMzYsOSArMzYsOSBAQCB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+IGNsYXNzIExpbmU7CiB0ZW1w
bGF0ZTxjbGFzcyBUcmFpdHM+IGNsYXNzIFBhZ2U7CiAKIHN0cnVjdCBNZWRpdW1UcmFpdHMgewot
ICAgIHR5cGVkZWYgQ2h1bms8TWVkaXVtVHJhaXRzPiBDaHVuazsKLSAgICB0eXBlZGVmIExpbmU8
TWVkaXVtVHJhaXRzPiBMaW5lOwotICAgIHR5cGVkZWYgUGFnZTxNZWRpdW1UcmFpdHM+IFBhZ2U7
CisgICAgdHlwZWRlZiBDaHVuazxNZWRpdW1UcmFpdHM+IENodW5rVHJhaXRzOworICAgIHR5cGVk
ZWYgTGluZTxNZWRpdW1UcmFpdHM+IExpbmVUcmFpdHM7CisgICAgdHlwZWRlZiBQYWdlPE1lZGl1
bVRyYWl0cz4gUGFnZVRyYWl0czsKIAogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbGluZVNpemUg
PSBtZWRpdW1MaW5lU2l6ZTsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IG1pbmltdW1PYmplY3RT
aXplID0gc21hbGxNYXggKyBhbGlnbm1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL1BhZ2UuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGFnZS5oCmluZGV4IDM4MTQw
YTU2NGFkM2I5NDU0NTI0ZGNmOTNjNWZlZTZkN2NjM2I4M2YuLjdiN2Y4NWVhMzY1NmMxZDc5Mjgw
NDM1MTUzNzc3M2QyNWQzNmI2MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
UGFnZS5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGFnZS5oCkBAIC0zNiw4ICszNiw5
IEBAIG5hbWVzcGFjZSBibWFsbG9jIHsKIHRlbXBsYXRlPHR5cGVuYW1lIFRyYWl0cz4KIGNsYXNz
IFBhZ2UgewogcHVibGljOgotICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpDaHVuayBDaHVu
azsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6TGluZSBMaW5lOworICAgIHR5cGVkZWYg
dHlwZW5hbWUgVHJhaXRzOjpDaHVua1RyYWl0cyBDaHVuazsKKyAgICB0eXBlZGVmIHR5cGVuYW1l
IFRyYWl0czo6TGluZVRyYWl0cyBMaW5lOworCiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5l
U2l6ZSA9IFRyYWl0czo6bGluZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lQ291
bnQgPSB2bVBhZ2VTaXplIC8gbGluZVNpemU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvUGVyVGhyZWFkLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BlclRocmVhZC5o
CmluZGV4IDAyZjA3ZTE2NTJhN2E2YTM0N2ZhODA2YzI1NmYzYTg1MTVlMGI4ZWEuLjEyZGU2OWFj
Nzc2ZTk4ZGM4NzBjNTc4ZTA2Y2UzMjMyYjliNGMyZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFs
bG9jL2JtYWxsb2MvUGVyVGhyZWFkLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QZXJU
aHJlYWQuaApAQCAtMzAsOSArMzAsMTEgQEAKICNpbmNsdWRlICJJbmxpbmUuaCIKICNpbmNsdWRl
IDxtdXRleD4KICNpbmNsdWRlIDxwdGhyZWFkLmg+Ci0jaWYgZGVmaW5lZChfX2hhc19pbmNsdWRl
KSAmJiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KQorI2lmIGRlZmlu
ZWQoX19oYXNfaW5jbHVkZSkKKyNpZiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNo
ZGVwLmg+KQogI2luY2x1ZGUgPFN5c3RlbS9wdGhyZWFkX21hY2hkZXAuaD4KICNlbmRpZgorI2Vu
ZGlmCiAKIG5hbWVzcGFjZSBibWFsbG9jIHsKIApAQCAtNTAsNyArNTIsOCBAQCBwcml2YXRlOgog
ICAgIHN0YXRpYyB2b2lkIGRlc3RydWN0b3Iodm9pZCopOwogfTsKIAotI2lmIGRlZmluZWQoX19o
YXNfaW5jbHVkZSkgJiYgX19oYXNfaW5jbHVkZSg8U3lzdGVtL3B0aHJlYWRfbWFjaGRlcC5oPikK
KyNpZiBkZWZpbmVkKF9faGFzX2luY2x1ZGUpCisjaWYgX19oYXNfaW5jbHVkZSg8U3lzdGVtL3B0
aHJlYWRfbWFjaGRlcC5oPikKIAogY2xhc3MgQ2FjaGU7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgUGVyVGhyZWFkU3RvcmFnZTsKQEAgLTcxLDcgKzc0LDcgQEAgdGVtcGxhdGU8PiBzdHJ1
Y3QgUGVyVGhyZWFkU3RvcmFnZTxDYWNoZT4gewogICAgICAgICBwdGhyZWFkX2tleV9pbml0X25w
KGtleSwgZGVzdHJ1Y3Rvcik7CiAgICAgfQogfTsKLQorI2VuZGlmIC8vIF9faGFzX2luY2x1ZGUo
PFN5c3RlbS9wdGhyZWFkX21hY2hkZXAuaD4pCiAjZWxzZQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBzdHJ1Y3QgUGVyVGhyZWFkU3RvcmFnZSB7CkBAIC0xMDAsNyArMTAzLDcgQEAgdGVtcGxhdGU8
dHlwZW5hbWUgVD4gYm9vbCBQZXJUaHJlYWRTdG9yYWdlPFQ+OjpzX2RpZEluaXRpYWxpemU7CiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBwdGhyZWFkX2tleV90IFBlclRocmVhZFN0b3JhZ2U8VD46OnNf
a2V5OwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RkOjpvbmNlX2ZsYWcgUGVyVGhyZWFkU3RvcmFn
ZTxUPjo6c19vbmNlRmxhZzsKIAotI2VuZGlmIC8vIGRlZmluZWQoX19oYXNfaW5jbHVkZSkgJiYg
X19oYXNfaW5jbHVkZSg8U3lzdGVtL3B0aHJlYWRfbWFjaGRlcC5oPikKKyNlbmRpZiAvLyBkZWZp
bmVkKF9faGFzX2luY2x1ZGUpCiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiBJTkxJTkUgVCogUGVy
VGhyZWFkPFQ+OjpnZXRGYXN0Q2FzZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFs
bG9jL1NtYWxsVHJhaXRzLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1NtYWxsVHJhaXRzLmgK
aW5kZXggZTQwYzE2NmVkZDA3YmNhZmUxNzU2ZjE1ZjZhYzExNWNlYTlhMTMyMi4uMDA3ZGIzMzQ1
MzkwODZkNzI3ZGI0ZGJmYzQzNWI4ZTE2ZThhYzViYSAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxs
b2MvYm1hbGxvYy9TbWFsbFRyYWl0cy5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU21h
bGxUcmFpdHMuaApAQCAtMzUsOSArMzUsOSBAQCB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+IGNsYXNz
IExpbmU7CiB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+IGNsYXNzIFBhZ2U7CiAKIHN0cnVjdCBTbWFs
bFRyYWl0cyB7Ci0gICAgdHlwZWRlZiBDaHVuazxTbWFsbFRyYWl0cz4gQ2h1bms7Ci0gICAgdHlw
ZWRlZiBMaW5lPFNtYWxsVHJhaXRzPiBMaW5lOwotICAgIHR5cGVkZWYgUGFnZTxTbWFsbFRyYWl0
cz4gUGFnZTsKKyAgICB0eXBlZGVmIENodW5rPFNtYWxsVHJhaXRzPiBDaHVua1RyYWl0czsKKyAg
ICB0eXBlZGVmIExpbmU8U21hbGxUcmFpdHM+IExpbmVUcmFpdHM7CisgICAgdHlwZWRlZiBQYWdl
PFNtYWxsVHJhaXRzPiBQYWdlVHJhaXRzOwogCiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5l
U2l6ZSA9IHNtYWxsTGluZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBtaW5pbXVtT2Jq
ZWN0U2l6ZSA9IGFsaWdubWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
Vk1BbGxvY2F0ZS5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WTUFsbG9jYXRlLmgKaW5kZXgg
OTQwNjM1OGFlNTFmNTliMDhmZDY3NTlkNTJjZTlhODIyNWEzNDY0ZS4uNzk5NDc0NmVmMTliZTlk
MDQ5Zjc4ZGViMzk0OWJlYjg5YTFhMmE1ZiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9WTUFsbG9jYXRlLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WTUFsbG9jYXRl
LmgKQEAgLTMxLDEzICszMSwyMCBAQAogI2luY2x1ZGUgIlNpemVzLmgiCiAjaW5jbHVkZSAiU3lz
Y2FsbC5oIgogI2luY2x1ZGUgPGFsZ29yaXRobT4KLSNpbmNsdWRlIDxtYWNoL3ZtX3N0YXRpc3Rp
Y3MuaD4KICNpbmNsdWRlIDxzeXMvbW1hbi5oPgogI2luY2x1ZGUgPHVuaXN0ZC5oPgogCisjaWYg
ZGVmaW5lZChCT1NfREFSV0lOKQorI2luY2x1ZGUgPG1hY2gvdm1fc3RhdGlzdGljcy5oPgorI2Vu
ZGlmCisKIG5hbWVzcGFjZSBibWFsbG9jIHsKIAorI2lmIGRlZmluZWQoQk9TX0RBUldJTikKICNk
ZWZpbmUgQk1BTExPQ19WTV9UQUcgVk1fTUFLRV9UQUcoVk1fTUVNT1JZX1RDTUFMTE9DKQorI2Vs
c2UKKyNkZWZpbmUgQk1BTExPQ19WTV9UQUcgLTEKKyNlbmRpZgogCiBpbmxpbmUgc2l6ZV90IHZt
U2l6ZShzaXplX3Qgc2l6ZSkKIHsKQEAgLTEwNywxMyArMTE0LDIxIEBAIGlubGluZSB2b2lkKiB2
bUFsbG9jYXRlKHNpemVfdCB2bUFsaWdubWVudCwgc2l6ZV90IHZtU2l6ZSkKIGlubGluZSB2b2lk
IHZtRGVhbGxvY2F0ZVBoeXNpY2FsUGFnZXModm9pZCogcCwgc2l6ZV90IHZtU2l6ZSkKIHsKICAg
ICB2bVZhbGlkYXRlKHAsIHZtU2l6ZSk7CisjaWYgZGVmaW5lZChCT1NfREFSV0lOKQogICAgIFNZ
U0NBTEwobWFkdmlzZShwLCB2bVNpemUsIE1BRFZfRlJFRV9SRVVTQUJMRSkpOworI2Vsc2UKKyAg
ICBTWVNDQUxMKG1hZHZpc2UocCwgdm1TaXplLCBNQURWX05PUk1BTCkpOworI2VuZGlmCiB9CiAK
IGlubGluZSB2b2lkIHZtQWxsb2NhdGVQaHlzaWNhbFBhZ2VzKHZvaWQqIHAsIHNpemVfdCB2bVNp
emUpCiB7CiAgICAgdm1WYWxpZGF0ZShwLCB2bVNpemUpOworI2lmIGRlZmluZWQoQk9TX0RBUldJ
TikKICAgICBTWVNDQUxMKG1hZHZpc2UocCwgdm1TaXplLCBNQURWX0ZSRUVfUkVVU0UpKTsKKyNl
bHNlCisgICAgU1lTQ0FMTChtYWR2aXNlKHAsIHZtU2l6ZSwgTUFEVl9OT1JNQUwpKTsKKyNlbmRp
ZgogfQogCiAvLyBUcmltcyByZXF1ZXN0cyB0aGF0IGFyZSB1bi1wYWdlLWFsaWduZWQuIE5PVEU6
IHNpemUgbXVzdCBiZSBhdCBsZWFzdCBhIHBhZ2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxv
Yy9ibWFsbG9jL1ZlY3Rvci5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WZWN0b3IuaAppbmRl
eCA1YTA2ODhlMmRkZWU5MDQwYmI4NTQwZjAzMTYyODBjN2NlM2E2ZGZmLi5iNWQ5NzA3NDBkMTE4
NjA1NjhhNWJiYzRkZDBjMzM0NzEzN2ExMjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL1ZlY3Rvci5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVmVjdG9yLmgKQEAg
LTMxLDYgKzMxLDEwIEBACiAjaW5jbHVkZSA8Y3N0ZGRlZj4KICNpbmNsdWRlIDxzdHJpbmc+CiAK
KyNpZiBkZWZpbmVkKEJVSUxESU5HX0VGTF9fKSB8fCBkZWZpbmVkKEJVSUxESU5HX0dUS19fKQor
I2luY2x1ZGUgPG1lbW9yeS5oPgorI2VuZGlmCisKIG5hbWVzcGFjZSBibWFsbG9jIHsKIAogLy8g
QSByZXBsYWNlbWVudCBmb3Igc3RkOjp2ZWN0b3IgdGhhdCBhbGxvY2F0ZXMgdXNpbmcgdm1BbGxv
Y2F0ZSBpbnN0ZWFkIG9mCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0SGVscGVycy5j
bWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRIZWxwZXJzLmNtYWtlCmluZGV4IDJhMjIzNTJhNTJj
YWU2ZjFiMWRlNjlhYmZlMTRiMjhiYmJlNmRkMTEuLjA0NGY5OWFhMGU1OWMwOWI2ZTBmMzI0YWEx
NzE1NDI4MGI1NjRlNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRIZWxwZXJzLmNt
YWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRIZWxwZXJzLmNtYWtlCkBAIC0zMiw3ICszMiw3
IEBAIG1hY3JvKFdFQktJVF9TRVRfRVhUUkFfQ09NUElMRVJfRkxBR1MgX3RhcmdldCkKICAgICAg
ICAgaWYgKE9QVElPTl9FTkFCTEVfV0VSUk9SKQogICAgICAgICAgICAgIyBGSVhNRTogV2hlbiB3
ZSB1c2UgLWZuby10cmVlLWRjZSB0byBzdXBwb3J0IHRoZSBqc0NTdGFjayBicmFuY2ggbWVyZ2Us
IGJ1aWxkIGVycm9yIG9jY3VycyBkdWUgdG8gdGhlIHVuaW5pdGlhbGl6YXRpb24uIFRlbXBvcmFy
aWx5IHdlIHNldAogICAgICAgICAgICAgIyB1bmluaXRpYWxpemVkIGFzIGJ1aWxkIHdhcm5pbmcg
aW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUganNDU3RhY2sgbWVyZ2UuIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc3NzcuCi0gICAgICAgICAgICBzZXQoT0xEX0NPTVBJ
TEVfRkxBR1MgIi1XZXJyb3IgLVduby1lcnJvcj11bnVzZWQtcGFyYW1ldGVyIC1Xbm8tZXJyb3I9
dW5pbml0aWFsaXplZCAtV25vLWVycm9yPWxpdGVyYWwtc3VmZml4ICR7T0xEX0NPTVBJTEVfRkxB
R1N9IikKKyAgICAgICAgICAgIHNldChPTERfQ09NUElMRV9GTEFHUyAiLVdlcnJvciAtV25vLWVy
cm9yPWF0dHJpYnV0ZXMgLVduby1lcnJvcj11bnVzZWQtcGFyYW1ldGVyIC1Xbm8tZXJyb3I9dW5p
bml0aWFsaXplZCAtV25vLWVycm9yPWxpdGVyYWwtc3VmZml4ICR7T0xEX0NPTVBJTEVfRkxBR1N9
IikKICAgICAgICAgZW5kaWYgKCkKIAogICAgICAgICBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoJHtf
dGFyZ2V0fSBQUk9QRVJUSUVTCmRpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlz
dHMudHh0CmluZGV4IGVmMTdkYzdmOWIxYzM4NjMyMWI3YzI2ZGEzMDg3NjNiNWI0OGMwYTcuLjRh
ZjlkZDJiNTc2YWE5MWQxODVkMGVhZjlkYzAzZjNmMmUxOWZlNjYgMTAwNjQ0Ci0tLSBhL0NNYWtl
TGlzdHMudHh0CisrKyBiL0NNYWtlTGlzdHMudHh0CkBAIC00LDYgKzQsNyBAQCBwcm9qZWN0KFdl
YktpdCkKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgRGVmYXVsdCBsaWJyYXJ5IHR5cGUKICMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KK3NldChCTUFMTE9DX0RJUiAiJHtDTUFLRV9TT1VSQ0VfRElS
fS9Tb3VyY2UvYm1hbGxvYyIpCiBzZXQoV1RGX0RJUiAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3Vy
Y2UvV1RGIikKIHNldChKQVZBU0NSSVBUQ09SRV9ESVIgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291
cmNlL0phdmFTY3JpcHRDb3JlIikKIHNldChXRUJDT1JFX0RJUiAiJHtDTUFLRV9TT1VSQ0VfRElS
fS9Tb3VyY2UvV2ViQ29yZSIpCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5k
ZXggYmQyNWFiZjFkZTc3OTQ4NjMxYTc2MmRiMTAwNDNjZDkxN2IyZDI4MS4uZmU2MGRkMDFkYzMy
OTEzZWEwMjVlNDNhYmIxZjRiYzZhYzhjOWVkOCAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBi
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE1LTAxLTI0ICBHeXV5b3VuZyBLaW0gIDxn
eXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF1bR1RLXSBVc2UgYm1hbGxv
YyBpbnN0ZWFkIG9mIHRjbWFsbG9jCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDAxNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDoKKwogMjAxNS0wMS0yMyAgQ2Fy
bG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10g
QWRkIGluaXRpYWwgZGF0YWJhc2UgcHJvY2VzcyBzdXBwb3J0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245305</attachid>
            <date>2015-01-25 05:19:39 -0800</date>
            <delta_ts>2015-01-25 07:19:43 -0800</delta_ts>
            <desc>WIP-6</desc>
            <filename>bug-140162-20150125221939.patch</filename>
            <type>text/plain</type>
            <size>13892</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc5MDg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY4Yjk1OTcyOTgyMzliMmNmODYyYzU2
MjZhMzFmMjJlZjg4NDYzNzMuLjIzODVjZmY1MDhiZGYxNjZiYzcyYTMwNjVkNzUxODViNzdiMGMz
Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTUtMDEtMjUgIEd5dXlvdW5nIEtpbSAgPGd5dXlv
dW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGlu
c3RlYWQgb2YgdGNtYWxsb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MDE2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OgorCiAyMDE1LTAxLTI0ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUHJvdmlkZSBpbXBsZW1lbnRhdGlvbiBm
b3IgV1RGOjpEZWZhdWx0SGFzaDxib29sPgpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvQ2hh
bmdlTG9nIGIvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCmluZGV4IGM5ZjJlNWY1NmIyZjViYjJm
NDMwZWZlZDdiZjVlNjg2Y2YwNTAzNzIuLmUwNzAzMzFkMTA4OGRiMjNlNmE3OWJhOWI4N2RjNTIy
YzQxMGUxMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvYm1hbGxvYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNS0wMS0yNSAgR3l1eW91
bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW0dUS10g
VXNlIGJtYWxsb2MgaW5zdGVhZCBvZiB0Y21hbGxvYworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogQWRkZWQuCisKIDIwMTUt
MDEtMjEgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBibWFs
bG9jOiBzdXBwb3J0IGFsaWduZWQgYWxsb2NhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL0NNYWtlTGlzdHMudHh0CmluZGV4IDU0ODY3MjBkNzYyYjA4N2M2
MmFiZTg0N2I0MTQ4OGY1NzBiY2VmMjguLmZhYmM1ZDZiNjhmODE0ZmE4ZTFkOTRiODJiYTljNzY2
NzhkODNkOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
Q01ha2VMaXN0cy50eHQKQEAgLTEsNiArMSw4IEBACiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAj
IEFkZCBtb2R1bGUgZGlyZWN0b3JpZXMKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2FkZF9zdWJk
aXJlY3RvcnkoYm1hbGxvYykKKwogYWRkX3N1YmRpcmVjdG9yeShXVEYpCiAKIGFkZF9zdWJkaXJl
Y3RvcnkoSmF2YVNjcmlwdENvcmUpCkBAIC0yNiw2ICsyOCw3IEBAIFdFQktJVF9JTkNMVURFX0NP
TkZJR19GSUxFU19JRl9FWElTVFMoKQogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBTZXQgY29t
cGlsZXIgZmxhZ3MgZm9yIGFsbCB0YXJnZXRzCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitXRUJL
SVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKGJtYWxsb2MgJHtBRERJVElPTkFMX0NPTVBJTEVS
X0ZMQUdTfSkKIFdFQktJVF9TRVRfRVhUUkFfQ09NUElMRVJfRkxBR1MoV1RGICR7QURESVRJT05B
TF9DT01QSUxFUl9GTEFHU30pCiBXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKEphdmFT
Y3JpcHRDb3JlICR7QURESVRJT05BTF9DT01QSUxFUl9GTEFHU30pCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50
eHQKaW5kZXggYjllNjY5MTZkZjBhMmI1YWUzZThkOTgxNWRlM2MwYTlmODcxNDJkZS4uMWRjMzg1
Mzg1MTcyYTJhNjM4NTFjZDlmODU2ZWIzMWFmNjk5MTBjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQK
QEAgLTEwMCw3ICsxMDAsNiBAQCBzZXQoV1RGX0hFQURFUlMKICAgICBUQ1BhY2tlZENhY2hlLmgK
ICAgICBUQ1BhZ2VNYXAuaAogICAgIFRDU3BpbkxvY2suaAotICAgIFRDU3lzdGVtQWxsb2MuaAog
ICAgIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAogICAgIFRocmVhZFNhZmVSZWZDb3Vu
dGVkLmgKICAgICBUaHJlYWRTcGVjaWZpYy5oCkBAIC0xODMsNyArMTgyLDYgQEAgc2V0KFdURl9T
T1VSQ0VTCiAgICAgU3RhY2tTdGF0cy5jcHAKICAgICBTdGFja0JvdW5kcy5jcHAKICAgICBTdHJp
bmdQcmludFN0cmVhbS5jcHAKLSAgICBUQ1N5c3RlbUFsbG9jLmNwcAogICAgIFRocmVhZGluZy5j
cHAKICAgICBXVEZUaHJlYWREYXRhLmNwcAogICAgIGR0b2EuY3BwCkBAIC0yMTMsNiArMjExLDcg
QEAgc2V0KFdURl9TT1VSQ0VTCiApCiAKIHNldChXVEZfSU5DTFVERV9ESVJFQ1RPUklFUworICAg
ICIke0JNQUxMT0NfRElSfSIKICAgICAiJHtXVEZfRElSfSIKICAgICAiJHtXVEZfRElSfS93dGYi
CiAgICAgIiR7V1RGX0RJUn0vd3RmL2R0b2EiCkBAIC0yMjYsNiArMjI1LDcgQEAgc2V0KFdURl9J
TkNMVURFX0RJUkVDVE9SSUVTCiAKIHNldChXVEZfTElCUkFSSUVTCiAgICAgJHtDTUFLRV9ETF9M
SUJTfQorICAgIGJtYWxsb2MKICkKIAogbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuY3BwIGIvU291cmNlL1dURi93dGYvRmFzdE1h
bGxvYy5jcHAKaW5kZXggMThhOWM4NDEyNjZmMDhmOGY1MzMwNDcxMTI2ZDUwZjM4NWRiZjFjMC4u
NWZkOWM5NTBiZGM5OGVhNjNiMjY1MjUxMTc3NDk4NjRjZmIxMGI5ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvRmFzdE1hbGxvYy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvRmFzdE1hbGxv
Yy5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQAogI2VuZGlmCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JN
KENPQ09BKQorI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JN
KEdUSykKICNkZWZpbmUgVVNFX0JNQUxMT0MgMQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL2JtYWxsb2MvQ01ha2VMaXN0cy50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTlhMWE3NmZjNGY4YmU0OTc3MDZiMGY4NDMyNGViZTc3ZTJjZGE2MwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEs
MjIgQEAKK3NldChibWFsbG9jX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAiJHtCTUFMTE9DX0RJ
Un0iCispCisKK3NldChibWFsbG9jX1NPVVJDRVMKKyAgICBibWFsbG9jL0FsbG9jYXRvci5jcHAK
KyAgICBibWFsbG9jL0NhY2hlLmNwcAorICAgIGJtYWxsb2MvRGVhbGxvY2F0b3IuY3BwCisgICAg
Ym1hbGxvYy9FbnZpcm9ubWVudC5jcHAKKyAgICBibWFsbG9jL0hlYXAuY3BwCisgICAgYm1hbGxv
Yy9PYmplY3RUeXBlLmNwcAorICAgIGJtYWxsb2MvU2VncmVnYXRlZEZyZWVMaXN0LmNwcAorICAg
IGJtYWxsb2MvU3RhdGljTXV0ZXguY3BwCisgICAgYm1hbGxvYy9WTUhlYXAuY3BwCisgICAgYm1h
bGxvYy9tYm1hbGxvYy5jcHAKKykKKworV0VCS0lUX1dSQVBfU09VUkNFTElTVCgke2JtYWxsb2Nf
U09VUkNFU30pCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7Ym1hbGxvY19JTkNMVURFX0RJUkVDVE9S
SUVTfSkKK2FkZF9saWJyYXJ5KGJtYWxsb2MgJHtibWFsbG9jX1NPVVJDRVN9KQordGFyZ2V0X2xp
bmtfbGlicmFyaWVzKGJtYWxsb2MgJHtibWFsbG9jX0xJQlJBUklFU30pCitzZXRfdGFyZ2V0X3By
b3BlcnRpZXMoYm1hbGxvYyBQUk9QRVJUSUVTIENPTVBJTEVfREVGSU5JVElPTlMgIkJVSUxESU5H
X2JtYWxsb2MiKQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxvY2F0b3Iu
Y3BwIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxvY2F0b3IuY3BwCmluZGV4IGVkNTczZGM5
YzI2N2I5YzFjOTMwMTA0MWMzYmQ2OGQzMjgwYTYwYmMuLmViZjBjZjYyMTNhZWJmZGE5MGFhNmIw
NTUzZWMxZGIwYmYzMTJkMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQWxs
b2NhdG9yLmNwcAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FsbG9jYXRvci5jcHAKQEAg
LTU2LDcgKzU2LDggQEAgdm9pZCogQWxsb2NhdG9yOjphbGxvY2F0ZShzaXplX3QgYWxpZ25tZW50
LCBzaXplX3Qgc2l6ZSkKIAogICAgIGlmICghbV9pc0JtYWxsb2NFbmFibGVkKSB7CiAgICAgICAg
IHZvaWQqIHJlc3VsdCA9IG51bGxwdHI7Ci0gICAgICAgIHBvc2l4X21lbWFsaWduKCZyZXN1bHQs
IGFsaWdubWVudCwgc2l6ZSk7CisgICAgICAgIGlmIChwb3NpeF9tZW1hbGlnbigmcmVzdWx0LCBh
bGlnbm1lbnQsIHNpemUpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgIHJl
dHVybiByZXN1bHQ7CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9Bc3luY1Rhc2suaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXN5bmNUYXNrLmgKaW5k
ZXggNTA0ZGE4MTM1ZDg2NzE0Zjk3ZTA0M2YyNTM3NTA3MjgxYThhMGJhMS4uMWM0OGVhMDliNTgz
MDY2NjUxZDQ1OGU5OTEzYTY0MzhhMWY1MjRhZCAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9Bc3luY1Rhc2suaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FzeW5jVGFz
ay5oCkBAIC02NCw3ICs2NCw5IEBAIHByaXZhdGU6CiAgICAgRnVuY3Rpb24gbV9mdW5jdGlvbjsK
IH07CiAKKyNpZiAhZGVmaW5lZChCVUlMRElOR19FRkxfXykgJiYgIWRlZmluZWQoQlVJTERJTkdf
R1RLX18pCiB0ZW1wbGF0ZTx0eXBlbmFtZSBPYmplY3QsIHR5cGVuYW1lIEZ1bmN0aW9uPiBjb25z
dCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBBc3luY1Rhc2s8T2JqZWN0LCBGdW5jdGlvbj46OmV4aXRE
ZWxheTsKKyNlbmRpZgogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBPYmplY3QsIHR5cGVuYW1lIEZ1bmN0
aW9uPgogQXN5bmNUYXNrPE9iamVjdCwgRnVuY3Rpb24+OjpBc3luY1Rhc2soT2JqZWN0JiBvYmpl
Y3QsIGNvbnN0IEZ1bmN0aW9uJiBmdW5jdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvQm91bmRhcnlUYWcuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQm91bmRhcnlU
YWcuaAppbmRleCA3NjFmZDNmMTgxYjIwYjcwNzE4NTg0N2Q0MGYxOWRhY2Y1MGM0NTcyLi4yNjhi
ZGNjYTUzN2RlMmU3MzdhN2YzMDQzN2M2ZDIwYTFjNTU2YzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL0JvdW5kYXJ5VGFnLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9Cb3VuZGFyeVRhZy5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQkFzc2VydC5oIgog
I2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVkZSAiU2l6ZXMuaCIKKyNpbmNsdWRlIDxtZW1vcnku
aD4KIAogbmFtZXNwYWNlIGJtYWxsb2MgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL0NodW5rLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0NodW5rLmgKaW5kZXggMGM0
ZDFkMmRkOGFjMDhlYjA4MWY4ZDVlNmEwOTU0ODY3NjdmNWMwMC4uYWZhODViNTE5NjdiNDlhNTNl
NDI4MDZlNDk1ZWNhZmQ5MjU5NzEwMyAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9DaHVuay5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQ2h1bmsuaApAQCAtMzUsOCAr
MzUsOSBAQCBuYW1lc3BhY2UgYm1hbGxvYyB7CiB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+CiBjbGFz
cyBDaHVuayB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6OlBhZ2UgUGFn
ZTsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6TGluZSBMaW5lOworICAgIHR5cGVkZWYg
dHlwZW5hbWUgVHJhaXRzOjpQYWdlVHJhaXRzIFBhZ2U7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBU
cmFpdHM6OkxpbmVUcmFpdHMgTGluZTsKKwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbGluZVNp
emUgPSBUcmFpdHM6OmxpbmVTaXplOwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgY2h1bmtTaXpl
ID0gVHJhaXRzOjpjaHVua1NpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBjaHVua09mZnNl
dCA9IFRyYWl0czo6Y2h1bmtPZmZzZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFs
bG9jL0xpbmUuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5oCmluZGV4IDhhOGQ3MWUx
ODk5MWNiNjU4ZjBiZGZmNGU4ZmQ4YTdiMWU2OTZiMmUuLjM5NTg5OWM3NTBlZWQwOTdjNGQzZTQ4
NTgxZTA1NzhiZmFmMjk4YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGlu
ZS5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5oCkBAIC0zNiw3ICszNiw4IEBA
IG5hbWVzcGFjZSBibWFsbG9jIHsKIHRlbXBsYXRlPGNsYXNzIFRyYWl0cz4KIGNsYXNzIExpbmUg
ewogcHVibGljOgotICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpDaHVuayBDaHVuazsKKyAg
ICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6Q2h1bmtUcmFpdHMgQ2h1bms7CisKICAgICBzdGF0
aWMgY29uc3Qgc2l6ZV90IG1pbmltdW1PYmplY3RTaXplID0gVHJhaXRzOjptaW5pbXVtT2JqZWN0
U2l6ZTsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGxpbmVTaXplID0gVHJhaXRzOjpsaW5lU2l6
ZTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTWVkaXVtVHJhaXRz
LmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL01lZGl1bVRyYWl0cy5oCmluZGV4IGJiY2UwMWFi
MzBlZDdmNTdiMzRmNDRlMTY1YjgyMDQzZGRiNDdiMTIuLjVkOWU2NmMwOThlOWY0NDk5MmM1YTE3
OThmNWVjOTE0ZmU2MDBlZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTWVk
aXVtVHJhaXRzLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9NZWRpdW1UcmFpdHMuaApA
QCAtMzYsOSArMzYsOSBAQCB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+IGNsYXNzIExpbmU7CiB0ZW1w
bGF0ZTxjbGFzcyBUcmFpdHM+IGNsYXNzIFBhZ2U7CiAKIHN0cnVjdCBNZWRpdW1UcmFpdHMgewot
ICAgIHR5cGVkZWYgQ2h1bms8TWVkaXVtVHJhaXRzPiBDaHVuazsKLSAgICB0eXBlZGVmIExpbmU8
TWVkaXVtVHJhaXRzPiBMaW5lOwotICAgIHR5cGVkZWYgUGFnZTxNZWRpdW1UcmFpdHM+IFBhZ2U7
CisgICAgdHlwZWRlZiBDaHVuazxNZWRpdW1UcmFpdHM+IENodW5rVHJhaXRzOworICAgIHR5cGVk
ZWYgTGluZTxNZWRpdW1UcmFpdHM+IExpbmVUcmFpdHM7CisgICAgdHlwZWRlZiBQYWdlPE1lZGl1
bVRyYWl0cz4gUGFnZVRyYWl0czsKIAogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbGluZVNpemUg
PSBtZWRpdW1MaW5lU2l6ZTsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IG1pbmltdW1PYmplY3RT
aXplID0gc21hbGxNYXggKyBhbGlnbm1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL1BhZ2UuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGFnZS5oCmluZGV4IDM4MTQw
YTU2NGFkM2I5NDU0NTI0ZGNmOTNjNWZlZTZkN2NjM2I4M2YuLjdiN2Y4NWVhMzY1NmMxZDc5Mjgw
NDM1MTUzNzc3M2QyNWQzNmI2MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
UGFnZS5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGFnZS5oCkBAIC0zNiw4ICszNiw5
IEBAIG5hbWVzcGFjZSBibWFsbG9jIHsKIHRlbXBsYXRlPHR5cGVuYW1lIFRyYWl0cz4KIGNsYXNz
IFBhZ2UgewogcHVibGljOgotICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpDaHVuayBDaHVu
azsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6TGluZSBMaW5lOworICAgIHR5cGVkZWYg
dHlwZW5hbWUgVHJhaXRzOjpDaHVua1RyYWl0cyBDaHVuazsKKyAgICB0eXBlZGVmIHR5cGVuYW1l
IFRyYWl0czo6TGluZVRyYWl0cyBMaW5lOworCiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5l
U2l6ZSA9IFRyYWl0czo6bGluZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lQ291
bnQgPSB2bVBhZ2VTaXplIC8gbGluZVNpemU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvUGVyVGhyZWFkLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BlclRocmVhZC5o
CmluZGV4IDAyZjA3ZTE2NTJhN2E2YTM0N2ZhODA2YzI1NmYzYTg1MTVlMGI4ZWEuLjBjM2UzZDI1
NDk5YjcxNWQ0MTUxNzZmMTdhMWFlNjc5ZTk4MjAxZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFs
bG9jL2JtYWxsb2MvUGVyVGhyZWFkLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QZXJU
aHJlYWQuaApAQCAtMzAsOSArMzAsMTEgQEAKICNpbmNsdWRlICJJbmxpbmUuaCIKICNpbmNsdWRl
IDxtdXRleD4KICNpbmNsdWRlIDxwdGhyZWFkLmg+Ci0jaWYgZGVmaW5lZChfX2hhc19pbmNsdWRl
KSAmJiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KQorI2lmIGRlZmlu
ZWQoX19oYXNfaW5jbHVkZSkKKyNpZiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNo
ZGVwLmg+KQogI2luY2x1ZGUgPFN5c3RlbS9wdGhyZWFkX21hY2hkZXAuaD4KICNlbmRpZgorI2Vu
ZGlmCiAKIG5hbWVzcGFjZSBibWFsbG9jIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9TbWFsbFRyYWl0cy5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TbWFsbFRyYWl0
cy5oCmluZGV4IGU0MGMxNjZlZGQwN2JjYWZlMTc1NmYxNWY2YWMxMTVjZWE5YTEzMjIuLjAwN2Ri
MzM0NTM5MDg2ZDcyN2RiNGRiZmM0MzViOGUxNmU4YWM1YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9i
bWFsbG9jL2JtYWxsb2MvU21hbGxUcmFpdHMuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9j
L1NtYWxsVHJhaXRzLmgKQEAgLTM1LDkgKzM1LDkgQEAgdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPiBj
bGFzcyBMaW5lOwogdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPiBjbGFzcyBQYWdlOwogCiBzdHJ1Y3Qg
U21hbGxUcmFpdHMgewotICAgIHR5cGVkZWYgQ2h1bms8U21hbGxUcmFpdHM+IENodW5rOwotICAg
IHR5cGVkZWYgTGluZTxTbWFsbFRyYWl0cz4gTGluZTsKLSAgICB0eXBlZGVmIFBhZ2U8U21hbGxU
cmFpdHM+IFBhZ2U7CisgICAgdHlwZWRlZiBDaHVuazxTbWFsbFRyYWl0cz4gQ2h1bmtUcmFpdHM7
CisgICAgdHlwZWRlZiBMaW5lPFNtYWxsVHJhaXRzPiBMaW5lVHJhaXRzOworICAgIHR5cGVkZWYg
UGFnZTxTbWFsbFRyYWl0cz4gUGFnZVRyYWl0czsKIAogICAgIHN0YXRpYyBjb25zdCBzaXplX3Qg
bGluZVNpemUgPSBzbWFsbExpbmVTaXplOwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbWluaW11
bU9iamVjdFNpemUgPSBhbGlnbm1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFs
bG9jL1ZNQWxsb2NhdGUuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0ZS5oCmlu
ZGV4IDk0MDYzNThhZTUxZjU5YjA4ZmQ2NzU5ZDUyY2U5YTgyMjVhMzQ2NGUuLjc5OTQ3NDZlZjE5
YmU5ZDA0OWY3OGRlYjM5NDliZWI4OWExYTJhNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvVk1BbGxvY2F0ZS5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxv
Y2F0ZS5oCkBAIC0zMSwxMyArMzEsMjAgQEAKICNpbmNsdWRlICJTaXplcy5oIgogI2luY2x1ZGUg
IlN5c2NhbGwuaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+Ci0jaW5jbHVkZSA8bWFjaC92bV9zdGF0
aXN0aWNzLmg+CiAjaW5jbHVkZSA8c3lzL21tYW4uaD4KICNpbmNsdWRlIDx1bmlzdGQuaD4KIAor
I2lmIGRlZmluZWQoQk9TX0RBUldJTikKKyNpbmNsdWRlIDxtYWNoL3ZtX3N0YXRpc3RpY3MuaD4K
KyNlbmRpZgorCiBuYW1lc3BhY2UgYm1hbGxvYyB7CiAKKyNpZiBkZWZpbmVkKEJPU19EQVJXSU4p
CiAjZGVmaW5lIEJNQUxMT0NfVk1fVEFHIFZNX01BS0VfVEFHKFZNX01FTU9SWV9UQ01BTExPQykK
KyNlbHNlCisjZGVmaW5lIEJNQUxMT0NfVk1fVEFHIC0xCisjZW5kaWYKIAogaW5saW5lIHNpemVf
dCB2bVNpemUoc2l6ZV90IHNpemUpCiB7CkBAIC0xMDcsMTMgKzExNCwyMSBAQCBpbmxpbmUgdm9p
ZCogdm1BbGxvY2F0ZShzaXplX3Qgdm1BbGlnbm1lbnQsIHNpemVfdCB2bVNpemUpCiBpbmxpbmUg
dm9pZCB2bURlYWxsb2NhdGVQaHlzaWNhbFBhZ2VzKHZvaWQqIHAsIHNpemVfdCB2bVNpemUpCiB7
CiAgICAgdm1WYWxpZGF0ZShwLCB2bVNpemUpOworI2lmIGRlZmluZWQoQk9TX0RBUldJTikKICAg
ICBTWVNDQUxMKG1hZHZpc2UocCwgdm1TaXplLCBNQURWX0ZSRUVfUkVVU0FCTEUpKTsKKyNlbHNl
CisgICAgU1lTQ0FMTChtYWR2aXNlKHAsIHZtU2l6ZSwgTUFEVl9OT1JNQUwpKTsKKyNlbmRpZgog
fQogCiBpbmxpbmUgdm9pZCB2bUFsbG9jYXRlUGh5c2ljYWxQYWdlcyh2b2lkKiBwLCBzaXplX3Qg
dm1TaXplKQogewogICAgIHZtVmFsaWRhdGUocCwgdm1TaXplKTsKKyNpZiBkZWZpbmVkKEJPU19E
QVJXSU4pCiAgICAgU1lTQ0FMTChtYWR2aXNlKHAsIHZtU2l6ZSwgTUFEVl9GUkVFX1JFVVNFKSk7
CisjZWxzZQorICAgIFNZU0NBTEwobWFkdmlzZShwLCB2bVNpemUsIE1BRFZfTk9STUFMKSk7Cisj
ZW5kaWYKIH0KIAogLy8gVHJpbXMgcmVxdWVzdHMgdGhhdCBhcmUgdW4tcGFnZS1hbGlnbmVkLiBO
T1RFOiBzaXplIG11c3QgYmUgYXQgbGVhc3QgYSBwYWdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL2Jt
YWxsb2MvYm1hbGxvYy9WZWN0b3IuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVmVjdG9yLmgK
aW5kZXggNWEwNjg4ZTJkZGVlOTA0MGJiODU0MGYwMzE2MjgwYzdjZTNhNmRmZi4uYjVkOTcwNzQw
ZDExODYwNTY4YTViYmM0ZGQwYzMzNDcxMzdhMTI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxs
b2MvYm1hbGxvYy9WZWN0b3IuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZlY3Rvci5o
CkBAIC0zMSw2ICszMSwxMCBAQAogI2luY2x1ZGUgPGNzdGRkZWY+CiAjaW5jbHVkZSA8c3RyaW5n
PgogCisjaWYgZGVmaW5lZChCVUlMRElOR19FRkxfXykgfHwgZGVmaW5lZChCVUlMRElOR19HVEtf
XykKKyNpbmNsdWRlIDxtZW1vcnkuaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgYm1hbGxvYyB7CiAK
IC8vIEEgcmVwbGFjZW1lbnQgZm9yIHN0ZDo6dmVjdG9yIHRoYXQgYWxsb2NhdGVzIHVzaW5nIHZt
QWxsb2NhdGUgaW5zdGVhZCBvZgpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktpdEhlbHBl
cnMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0SGVscGVycy5jbWFrZQppbmRleCAyYTIyMzUy
YTUyY2FlNmYxYjFkZTY5YWJmZTE0YjI4YmJiZTZkZDExLi4wNDRmOTlhYTBlNTljMDliNmUwZjMy
NGFhMTcxNTQyODBiNTY0ZTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0SGVscGVy
cy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvV2ViS2l0SGVscGVycy5jbWFrZQpAQCAtMzIsNyAr
MzIsNyBAQCBtYWNybyhXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTIF90YXJnZXQpCiAg
ICAgICAgIGlmIChPUFRJT05fRU5BQkxFX1dFUlJPUikKICAgICAgICAgICAgICMgRklYTUU6IFdo
ZW4gd2UgdXNlIC1mbm8tdHJlZS1kY2UgdG8gc3VwcG9ydCB0aGUganNDU3RhY2sgYnJhbmNoIG1l
cmdlLCBidWlsZCBlcnJvciBvY2N1cnMgZHVlIHRvIHRoZSB1bmluaXRpYWxpemF0aW9uLiBUZW1w
b3JhcmlseSB3ZSBzZXQKICAgICAgICAgICAgICMgdW5pbml0aWFsaXplZCBhcyBidWlsZCB3YXJu
aW5nIGluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGpzQ1N0YWNrIG1lcmdlLiBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3Nzc3LgotICAgICAgICAgICAgc2V0KE9MRF9D
T01QSUxFX0ZMQUdTICItV2Vycm9yIC1Xbm8tZXJyb3I9dW51c2VkLXBhcmFtZXRlciAtV25vLWVy
cm9yPXVuaW5pdGlhbGl6ZWQgLVduby1lcnJvcj1saXRlcmFsLXN1ZmZpeCAke09MRF9DT01QSUxF
X0ZMQUdTfSIpCisgICAgICAgICAgICBzZXQoT0xEX0NPTVBJTEVfRkxBR1MgIi1XZXJyb3IgLVdu
by1lcnJvcj1hdHRyaWJ1dGVzIC1Xbm8tZXJyb3I9dW51c2VkLXBhcmFtZXRlciAtV25vLWVycm9y
PXVuaW5pdGlhbGl6ZWQgLVduby1lcnJvcj1saXRlcmFsLXN1ZmZpeCAke09MRF9DT01QSUxFX0ZM
QUdTfSIpCiAgICAgICAgIGVuZGlmICgpCiAKICAgICAgICAgc2V0X3RhcmdldF9wcm9wZXJ0aWVz
KCR7X3RhcmdldH0gUFJPUEVSVElFUwpkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFr
ZUxpc3RzLnR4dAppbmRleCBlZjE3ZGM3ZjliMWMzODYzMjFiN2MyNmRhMzA4NzYzYjViNDhjMGE3
Li40YWY5ZGQyYjU3NmFhOTFkMTg1ZDBlYWY5ZGMwM2YzZjJlMTlmZTY2IDEwMDY0NAotLS0gYS9D
TWFrZUxpc3RzLnR4dAorKysgYi9DTWFrZUxpc3RzLnR4dApAQCAtNCw2ICs0LDcgQEAgcHJvamVj
dChXZWJLaXQpCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIERlZmF1bHQgbGlicmFyeSB0eXBl
CiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitzZXQoQk1BTExPQ19ESVIgIiR7Q01BS0VfU09VUkNF
X0RJUn0vU291cmNlL2JtYWxsb2MiKQogc2V0KFdURl9ESVIgIiR7Q01BS0VfU09VUkNFX0RJUn0v
U291cmNlL1dURiIpCiBzZXQoSkFWQVNDUklQVENPUkVfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZSIpCiBzZXQoV0VCQ09SRV9ESVIgIiR7Q01BS0VfU09VUkNF
X0RJUn0vU291cmNlL1dlYkNvcmUiKQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9n
CmluZGV4IGJkMjVhYmYxZGU3Nzk0ODYzMWE3NjJkYjEwMDQzY2Q5MTdiMmQyODEuLjAwNDFmMjMw
ZGFlOWZkODBhMzczNGM3ZjAyMmU2ODRiY2ZkODRiNjMgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZwor
KysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNS0wMS0yNSAgR3l1eW91bmcgS2lt
ICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW0dUS10gVXNlIGJt
YWxsb2MgaW5zdGVhZCBvZiB0Y21hbGxvYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6CisKIDIwMTUtMDEtMjMg
IENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtH
VEtdIEFkZCBpbml0aWFsIGRhdGFiYXNlIHByb2Nlc3Mgc3VwcG9ydAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245306</attachid>
            <date>2015-01-25 07:19:55 -0800</date>
            <delta_ts>2015-01-25 18:13:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140162-20150126001954.patch</filename>
            <type>text/plain</type>
            <size>14521</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc5MDg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY4Yjk1OTcyOTgyMzliMmNmODYyYzU2
MjZhMzFmMjJlZjg4NDYzNzMuLjIzODVjZmY1MDhiZGYxNjZiYzcyYTMwNjVkNzUxODViNzdiMGMz
Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTUtMDEtMjUgIEd5dXlvdW5nIEtpbSAgPGd5dXlv
dW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGlu
c3RlYWQgb2YgdGNtYWxsb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MDE2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OgorCiAyMDE1LTAxLTI0ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUHJvdmlkZSBpbXBsZW1lbnRhdGlvbiBm
b3IgV1RGOjpEZWZhdWx0SGFzaDxib29sPgpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvQ2hh
bmdlTG9nIGIvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCmluZGV4IGM5ZjJlNWY1NmIyZjViYjJm
NDMwZWZlZDdiZjVlNjg2Y2YwNTAzNzIuLmUwNzAzMzFkMTA4OGRiMjNlNmE3OWJhOWI4N2RjNTIy
YzQxMGUxMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvYm1hbGxvYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNS0wMS0yNSAgR3l1eW91
bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW0dUS10g
VXNlIGJtYWxsb2MgaW5zdGVhZCBvZiB0Y21hbGxvYworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogQWRkZWQuCisKIDIwMTUt
MDEtMjEgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBibWFs
bG9jOiBzdXBwb3J0IGFsaWduZWQgYWxsb2NhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL0NNYWtlTGlzdHMudHh0CmluZGV4IDU0ODY3MjBkNzYyYjA4N2M2
MmFiZTg0N2I0MTQ4OGY1NzBiY2VmMjguLmZhYmM1ZDZiNjhmODE0ZmE4ZTFkOTRiODJiYTljNzY2
NzhkODNkOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
Q01ha2VMaXN0cy50eHQKQEAgLTEsNiArMSw4IEBACiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAj
IEFkZCBtb2R1bGUgZGlyZWN0b3JpZXMKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2FkZF9zdWJk
aXJlY3RvcnkoYm1hbGxvYykKKwogYWRkX3N1YmRpcmVjdG9yeShXVEYpCiAKIGFkZF9zdWJkaXJl
Y3RvcnkoSmF2YVNjcmlwdENvcmUpCkBAIC0yNiw2ICsyOCw3IEBAIFdFQktJVF9JTkNMVURFX0NP
TkZJR19GSUxFU19JRl9FWElTVFMoKQogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBTZXQgY29t
cGlsZXIgZmxhZ3MgZm9yIGFsbCB0YXJnZXRzCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitXRUJL
SVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKGJtYWxsb2MgJHtBRERJVElPTkFMX0NPTVBJTEVS
X0ZMQUdTfSkKIFdFQktJVF9TRVRfRVhUUkFfQ09NUElMRVJfRkxBR1MoV1RGICR7QURESVRJT05B
TF9DT01QSUxFUl9GTEFHU30pCiBXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKEphdmFT
Y3JpcHRDb3JlICR7QURESVRJT05BTF9DT01QSUxFUl9GTEFHU30pCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50
eHQKaW5kZXggYjllNjY5MTZkZjBhMmI1YWUzZThkOTgxNWRlM2MwYTlmODcxNDJkZS4uMWRjMzg1
Mzg1MTcyYTJhNjM4NTFjZDlmODU2ZWIzMWFmNjk5MTBjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQK
QEAgLTEwMCw3ICsxMDAsNiBAQCBzZXQoV1RGX0hFQURFUlMKICAgICBUQ1BhY2tlZENhY2hlLmgK
ICAgICBUQ1BhZ2VNYXAuaAogICAgIFRDU3BpbkxvY2suaAotICAgIFRDU3lzdGVtQWxsb2MuaAog
ICAgIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAogICAgIFRocmVhZFNhZmVSZWZDb3Vu
dGVkLmgKICAgICBUaHJlYWRTcGVjaWZpYy5oCkBAIC0xODMsNyArMTgyLDYgQEAgc2V0KFdURl9T
T1VSQ0VTCiAgICAgU3RhY2tTdGF0cy5jcHAKICAgICBTdGFja0JvdW5kcy5jcHAKICAgICBTdHJp
bmdQcmludFN0cmVhbS5jcHAKLSAgICBUQ1N5c3RlbUFsbG9jLmNwcAogICAgIFRocmVhZGluZy5j
cHAKICAgICBXVEZUaHJlYWREYXRhLmNwcAogICAgIGR0b2EuY3BwCkBAIC0yMTMsNiArMjExLDcg
QEAgc2V0KFdURl9TT1VSQ0VTCiApCiAKIHNldChXVEZfSU5DTFVERV9ESVJFQ1RPUklFUworICAg
ICIke0JNQUxMT0NfRElSfSIKICAgICAiJHtXVEZfRElSfSIKICAgICAiJHtXVEZfRElSfS93dGYi
CiAgICAgIiR7V1RGX0RJUn0vd3RmL2R0b2EiCkBAIC0yMjYsNiArMjI1LDcgQEAgc2V0KFdURl9J
TkNMVURFX0RJUkVDVE9SSUVTCiAKIHNldChXVEZfTElCUkFSSUVTCiAgICAgJHtDTUFLRV9ETF9M
SUJTfQorICAgIGJtYWxsb2MKICkKIAogbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuY3BwIGIvU291cmNlL1dURi93dGYvRmFzdE1h
bGxvYy5jcHAKaW5kZXggMThhOWM4NDEyNjZmMDhmOGY1MzMwNDcxMTI2ZDUwZjM4NWRiZjFjMC4u
NWZkOWM5NTBiZGM5OGVhNjNiMjY1MjUxMTc3NDk4NjRjZmIxMGI5ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvRmFzdE1hbGxvYy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvRmFzdE1hbGxv
Yy5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQAogI2VuZGlmCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JN
KENPQ09BKQorI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JN
KEdUSykKICNkZWZpbmUgVVNFX0JNQUxMT0MgMQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL2JtYWxsb2MvQ01ha2VMaXN0cy50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTlhMWE3NmZjNGY4YmU0OTc3MDZiMGY4NDMyNGViZTc3ZTJjZGE2MwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEs
MjIgQEAKK3NldChibWFsbG9jX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAiJHtCTUFMTE9DX0RJ
Un0iCispCisKK3NldChibWFsbG9jX1NPVVJDRVMKKyAgICBibWFsbG9jL0FsbG9jYXRvci5jcHAK
KyAgICBibWFsbG9jL0NhY2hlLmNwcAorICAgIGJtYWxsb2MvRGVhbGxvY2F0b3IuY3BwCisgICAg
Ym1hbGxvYy9FbnZpcm9ubWVudC5jcHAKKyAgICBibWFsbG9jL0hlYXAuY3BwCisgICAgYm1hbGxv
Yy9PYmplY3RUeXBlLmNwcAorICAgIGJtYWxsb2MvU2VncmVnYXRlZEZyZWVMaXN0LmNwcAorICAg
IGJtYWxsb2MvU3RhdGljTXV0ZXguY3BwCisgICAgYm1hbGxvYy9WTUhlYXAuY3BwCisgICAgYm1h
bGxvYy9tYm1hbGxvYy5jcHAKKykKKworV0VCS0lUX1dSQVBfU09VUkNFTElTVCgke2JtYWxsb2Nf
U09VUkNFU30pCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7Ym1hbGxvY19JTkNMVURFX0RJUkVDVE9S
SUVTfSkKK2FkZF9saWJyYXJ5KGJtYWxsb2MgJHtibWFsbG9jX1NPVVJDRVN9KQordGFyZ2V0X2xp
bmtfbGlicmFyaWVzKGJtYWxsb2MgJHtibWFsbG9jX0xJQlJBUklFU30pCitzZXRfdGFyZ2V0X3By
b3BlcnRpZXMoYm1hbGxvYyBQUk9QRVJUSUVTIENPTVBJTEVfREVGSU5JVElPTlMgIkJVSUxESU5H
X2JtYWxsb2MiKQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxvY2F0b3Iu
Y3BwIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxvY2F0b3IuY3BwCmluZGV4IGVkNTczZGM5
YzI2N2I5YzFjOTMwMTA0MWMzYmQ2OGQzMjgwYTYwYmMuLmViZjBjZjYyMTNhZWJmZGE5MGFhNmIw
NTUzZWMxZGIwYmYzMTJkMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQWxs
b2NhdG9yLmNwcAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FsbG9jYXRvci5jcHAKQEAg
LTU2LDcgKzU2LDggQEAgdm9pZCogQWxsb2NhdG9yOjphbGxvY2F0ZShzaXplX3QgYWxpZ25tZW50
LCBzaXplX3Qgc2l6ZSkKIAogICAgIGlmICghbV9pc0JtYWxsb2NFbmFibGVkKSB7CiAgICAgICAg
IHZvaWQqIHJlc3VsdCA9IG51bGxwdHI7Ci0gICAgICAgIHBvc2l4X21lbWFsaWduKCZyZXN1bHQs
IGFsaWdubWVudCwgc2l6ZSk7CisgICAgICAgIGlmIChwb3NpeF9tZW1hbGlnbigmcmVzdWx0LCBh
bGlnbm1lbnQsIHNpemUpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgIHJl
dHVybiByZXN1bHQ7CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9Bc3luY1Rhc2suaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXN5bmNUYXNrLmgKaW5k
ZXggNTA0ZGE4MTM1ZDg2NzE0Zjk3ZTA0M2YyNTM3NTA3MjgxYThhMGJhMS4uMWM0OGVhMDliNTgz
MDY2NjUxZDQ1OGU5OTEzYTY0MzhhMWY1MjRhZCAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9Bc3luY1Rhc2suaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FzeW5jVGFz
ay5oCkBAIC02NCw3ICs2NCw5IEBAIHByaXZhdGU6CiAgICAgRnVuY3Rpb24gbV9mdW5jdGlvbjsK
IH07CiAKKyNpZiAhZGVmaW5lZChCVUlMRElOR19FRkxfXykgJiYgIWRlZmluZWQoQlVJTERJTkdf
R1RLX18pCiB0ZW1wbGF0ZTx0eXBlbmFtZSBPYmplY3QsIHR5cGVuYW1lIEZ1bmN0aW9uPiBjb25z
dCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBBc3luY1Rhc2s8T2JqZWN0LCBGdW5jdGlvbj46OmV4aXRE
ZWxheTsKKyNlbmRpZgogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBPYmplY3QsIHR5cGVuYW1lIEZ1bmN0
aW9uPgogQXN5bmNUYXNrPE9iamVjdCwgRnVuY3Rpb24+OjpBc3luY1Rhc2soT2JqZWN0JiBvYmpl
Y3QsIGNvbnN0IEZ1bmN0aW9uJiBmdW5jdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvQm91bmRhcnlUYWcuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQm91bmRhcnlU
YWcuaAppbmRleCA3NjFmZDNmMTgxYjIwYjcwNzE4NTg0N2Q0MGYxOWRhY2Y1MGM0NTcyLi4yNjhi
ZGNjYTUzN2RlMmU3MzdhN2YzMDQzN2M2ZDIwYTFjNTU2YzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL0JvdW5kYXJ5VGFnLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9Cb3VuZGFyeVRhZy5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQkFzc2VydC5oIgog
I2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVkZSAiU2l6ZXMuaCIKKyNpbmNsdWRlIDxtZW1vcnku
aD4KIAogbmFtZXNwYWNlIGJtYWxsb2MgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL0NodW5rLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0NodW5rLmgKaW5kZXggMGM0
ZDFkMmRkOGFjMDhlYjA4MWY4ZDVlNmEwOTU0ODY3NjdmNWMwMC4uYWZhODViNTE5NjdiNDlhNTNl
NDI4MDZlNDk1ZWNhZmQ5MjU5NzEwMyAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9DaHVuay5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQ2h1bmsuaApAQCAtMzUsOCAr
MzUsOSBAQCBuYW1lc3BhY2UgYm1hbGxvYyB7CiB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+CiBjbGFz
cyBDaHVuayB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6OlBhZ2UgUGFn
ZTsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6TGluZSBMaW5lOworICAgIHR5cGVkZWYg
dHlwZW5hbWUgVHJhaXRzOjpQYWdlVHJhaXRzIFBhZ2U7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBU
cmFpdHM6OkxpbmVUcmFpdHMgTGluZTsKKwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbGluZVNp
emUgPSBUcmFpdHM6OmxpbmVTaXplOwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgY2h1bmtTaXpl
ID0gVHJhaXRzOjpjaHVua1NpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBjaHVua09mZnNl
dCA9IFRyYWl0czo6Y2h1bmtPZmZzZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFs
bG9jL0xpbmUuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5oCmluZGV4IDhhOGQ3MWUx
ODk5MWNiNjU4ZjBiZGZmNGU4ZmQ4YTdiMWU2OTZiMmUuLjM5NTg5OWM3NTBlZWQwOTdjNGQzZTQ4
NTgxZTA1NzhiZmFmMjk4YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGlu
ZS5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5oCkBAIC0zNiw3ICszNiw4IEBA
IG5hbWVzcGFjZSBibWFsbG9jIHsKIHRlbXBsYXRlPGNsYXNzIFRyYWl0cz4KIGNsYXNzIExpbmUg
ewogcHVibGljOgotICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpDaHVuayBDaHVuazsKKyAg
ICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6Q2h1bmtUcmFpdHMgQ2h1bms7CisKICAgICBzdGF0
aWMgY29uc3Qgc2l6ZV90IG1pbmltdW1PYmplY3RTaXplID0gVHJhaXRzOjptaW5pbXVtT2JqZWN0
U2l6ZTsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGxpbmVTaXplID0gVHJhaXRzOjpsaW5lU2l6
ZTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTWVkaXVtVHJhaXRz
LmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL01lZGl1bVRyYWl0cy5oCmluZGV4IGJiY2UwMWFi
MzBlZDdmNTdiMzRmNDRlMTY1YjgyMDQzZGRiNDdiMTIuLjVkOWU2NmMwOThlOWY0NDk5MmM1YTE3
OThmNWVjOTE0ZmU2MDBlZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTWVk
aXVtVHJhaXRzLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9NZWRpdW1UcmFpdHMuaApA
QCAtMzYsOSArMzYsOSBAQCB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+IGNsYXNzIExpbmU7CiB0ZW1w
bGF0ZTxjbGFzcyBUcmFpdHM+IGNsYXNzIFBhZ2U7CiAKIHN0cnVjdCBNZWRpdW1UcmFpdHMgewot
ICAgIHR5cGVkZWYgQ2h1bms8TWVkaXVtVHJhaXRzPiBDaHVuazsKLSAgICB0eXBlZGVmIExpbmU8
TWVkaXVtVHJhaXRzPiBMaW5lOwotICAgIHR5cGVkZWYgUGFnZTxNZWRpdW1UcmFpdHM+IFBhZ2U7
CisgICAgdHlwZWRlZiBDaHVuazxNZWRpdW1UcmFpdHM+IENodW5rVHJhaXRzOworICAgIHR5cGVk
ZWYgTGluZTxNZWRpdW1UcmFpdHM+IExpbmVUcmFpdHM7CisgICAgdHlwZWRlZiBQYWdlPE1lZGl1
bVRyYWl0cz4gUGFnZVRyYWl0czsKIAogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbGluZVNpemUg
PSBtZWRpdW1MaW5lU2l6ZTsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IG1pbmltdW1PYmplY3RT
aXplID0gc21hbGxNYXggKyBhbGlnbm1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL1BhZ2UuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGFnZS5oCmluZGV4IDM4MTQw
YTU2NGFkM2I5NDU0NTI0ZGNmOTNjNWZlZTZkN2NjM2I4M2YuLjdiN2Y4NWVhMzY1NmMxZDc5Mjgw
NDM1MTUzNzc3M2QyNWQzNmI2MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
UGFnZS5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGFnZS5oCkBAIC0zNiw4ICszNiw5
IEBAIG5hbWVzcGFjZSBibWFsbG9jIHsKIHRlbXBsYXRlPHR5cGVuYW1lIFRyYWl0cz4KIGNsYXNz
IFBhZ2UgewogcHVibGljOgotICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpDaHVuayBDaHVu
azsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6TGluZSBMaW5lOworICAgIHR5cGVkZWYg
dHlwZW5hbWUgVHJhaXRzOjpDaHVua1RyYWl0cyBDaHVuazsKKyAgICB0eXBlZGVmIHR5cGVuYW1l
IFRyYWl0czo6TGluZVRyYWl0cyBMaW5lOworCiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5l
U2l6ZSA9IFRyYWl0czo6bGluZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lQ291
bnQgPSB2bVBhZ2VTaXplIC8gbGluZVNpemU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvUGVyVGhyZWFkLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BlclRocmVhZC5o
CmluZGV4IDAyZjA3ZTE2NTJhN2E2YTM0N2ZhODA2YzI1NmYzYTg1MTVlMGI4ZWEuLmVmYzg5OWJh
ZmIyOTkwYjMyNzczMGFlNGNiOGUyYjA4N2RkOWJkZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFs
bG9jL2JtYWxsb2MvUGVyVGhyZWFkLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QZXJU
aHJlYWQuaApAQCAtMzAsOSArMzAsMTEgQEAKICNpbmNsdWRlICJJbmxpbmUuaCIKICNpbmNsdWRl
IDxtdXRleD4KICNpbmNsdWRlIDxwdGhyZWFkLmg+Ci0jaWYgZGVmaW5lZChfX2hhc19pbmNsdWRl
KSAmJiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KQorI2lmIGRlZmlu
ZWQoX19oYXNfaW5jbHVkZSkKKyNpZiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNo
ZGVwLmg+KQogI2luY2x1ZGUgPFN5c3RlbS9wdGhyZWFkX21hY2hkZXAuaD4KICNlbmRpZgorI2Vu
ZGlmCiAKIG5hbWVzcGFjZSBibWFsbG9jIHsKIApAQCAtNTAsNyArNTIsOCBAQCBwcml2YXRlOgog
ICAgIHN0YXRpYyB2b2lkIGRlc3RydWN0b3Iodm9pZCopOwogfTsKIAotI2lmIGRlZmluZWQoX19o
YXNfaW5jbHVkZSkgJiYgX19oYXNfaW5jbHVkZSg8U3lzdGVtL3B0aHJlYWRfbWFjaGRlcC5oPikK
KyNpZiBkZWZpbmVkKF9faGFzX2luY2x1ZGUpCisjaWYgX19oYXNfaW5jbHVkZSg8U3lzdGVtL3B0
aHJlYWRfbWFjaGRlcC5oPikKIAogY2xhc3MgQ2FjaGU7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgUGVyVGhyZWFkU3RvcmFnZTsKQEAgLTEwMCw3ICsxMDMsOCBAQCB0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBib29sIFBlclRocmVhZFN0b3JhZ2U8VD46OnNfZGlkSW5pdGlhbGl6ZTsKIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+IHB0aHJlYWRfa2V5X3QgUGVyVGhyZWFkU3RvcmFnZTxUPjo6c19rZXk7
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdGQ6Om9uY2VfZmxhZyBQZXJUaHJlYWRTdG9yYWdlPFQ+
OjpzX29uY2VGbGFnOwogCi0jZW5kaWYgLy8gZGVmaW5lZChfX2hhc19pbmNsdWRlKSAmJiBfX2hh
c19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KQorI2VuZGlmIC8vIF9faGFzX2lu
Y2x1ZGUoPFN5c3RlbS9wdGhyZWFkX21hY2hkZXAuaD4pCisjZW5kaWYgLy8gZGVmaW5lZChfX2hh
c19pbmNsdWRlKQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogSU5MSU5FIFQqIFBlclRocmVhZDxU
Pjo6Z2V0RmFzdENhc2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TbWFs
bFRyYWl0cy5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TbWFsbFRyYWl0cy5oCmluZGV4IGU0
MGMxNjZlZGQwN2JjYWZlMTc1NmYxNWY2YWMxMTVjZWE5YTEzMjIuLjAwN2RiMzM0NTM5MDg2ZDcy
N2RiNGRiZmM0MzViOGUxNmU4YWM1YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvU21hbGxUcmFpdHMuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1NtYWxsVHJhaXRz
LmgKQEAgLTM1LDkgKzM1LDkgQEAgdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPiBjbGFzcyBMaW5lOwog
dGVtcGxhdGU8Y2xhc3MgVHJhaXRzPiBjbGFzcyBQYWdlOwogCiBzdHJ1Y3QgU21hbGxUcmFpdHMg
ewotICAgIHR5cGVkZWYgQ2h1bms8U21hbGxUcmFpdHM+IENodW5rOwotICAgIHR5cGVkZWYgTGlu
ZTxTbWFsbFRyYWl0cz4gTGluZTsKLSAgICB0eXBlZGVmIFBhZ2U8U21hbGxUcmFpdHM+IFBhZ2U7
CisgICAgdHlwZWRlZiBDaHVuazxTbWFsbFRyYWl0cz4gQ2h1bmtUcmFpdHM7CisgICAgdHlwZWRl
ZiBMaW5lPFNtYWxsVHJhaXRzPiBMaW5lVHJhaXRzOworICAgIHR5cGVkZWYgUGFnZTxTbWFsbFRy
YWl0cz4gUGFnZVRyYWl0czsKIAogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbGluZVNpemUgPSBz
bWFsbExpbmVTaXplOwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbWluaW11bU9iamVjdFNpemUg
PSBhbGlnbm1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZNQWxsb2Nh
dGUuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0ZS5oCmluZGV4IDk0MDYzNThh
ZTUxZjU5YjA4ZmQ2NzU5ZDUyY2U5YTgyMjVhMzQ2NGUuLjc5OTQ3NDZlZjE5YmU5ZDA0OWY3OGRl
YjM5NDliZWI4OWExYTJhNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1B
bGxvY2F0ZS5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0ZS5oCkBAIC0z
MSwxMyArMzEsMjAgQEAKICNpbmNsdWRlICJTaXplcy5oIgogI2luY2x1ZGUgIlN5c2NhbGwuaCIK
ICNpbmNsdWRlIDxhbGdvcml0aG0+Ci0jaW5jbHVkZSA8bWFjaC92bV9zdGF0aXN0aWNzLmg+CiAj
aW5jbHVkZSA8c3lzL21tYW4uaD4KICNpbmNsdWRlIDx1bmlzdGQuaD4KIAorI2lmIGRlZmluZWQo
Qk9TX0RBUldJTikKKyNpbmNsdWRlIDxtYWNoL3ZtX3N0YXRpc3RpY3MuaD4KKyNlbmRpZgorCiBu
YW1lc3BhY2UgYm1hbGxvYyB7CiAKKyNpZiBkZWZpbmVkKEJPU19EQVJXSU4pCiAjZGVmaW5lIEJN
QUxMT0NfVk1fVEFHIFZNX01BS0VfVEFHKFZNX01FTU9SWV9UQ01BTExPQykKKyNlbHNlCisjZGVm
aW5lIEJNQUxMT0NfVk1fVEFHIC0xCisjZW5kaWYKIAogaW5saW5lIHNpemVfdCB2bVNpemUoc2l6
ZV90IHNpemUpCiB7CkBAIC0xMDcsMTMgKzExNCwyMSBAQCBpbmxpbmUgdm9pZCogdm1BbGxvY2F0
ZShzaXplX3Qgdm1BbGlnbm1lbnQsIHNpemVfdCB2bVNpemUpCiBpbmxpbmUgdm9pZCB2bURlYWxs
b2NhdGVQaHlzaWNhbFBhZ2VzKHZvaWQqIHAsIHNpemVfdCB2bVNpemUpCiB7CiAgICAgdm1WYWxp
ZGF0ZShwLCB2bVNpemUpOworI2lmIGRlZmluZWQoQk9TX0RBUldJTikKICAgICBTWVNDQUxMKG1h
ZHZpc2UocCwgdm1TaXplLCBNQURWX0ZSRUVfUkVVU0FCTEUpKTsKKyNlbHNlCisgICAgU1lTQ0FM
TChtYWR2aXNlKHAsIHZtU2l6ZSwgTUFEVl9OT1JNQUwpKTsKKyNlbmRpZgogfQogCiBpbmxpbmUg
dm9pZCB2bUFsbG9jYXRlUGh5c2ljYWxQYWdlcyh2b2lkKiBwLCBzaXplX3Qgdm1TaXplKQogewog
ICAgIHZtVmFsaWRhdGUocCwgdm1TaXplKTsKKyNpZiBkZWZpbmVkKEJPU19EQVJXSU4pCiAgICAg
U1lTQ0FMTChtYWR2aXNlKHAsIHZtU2l6ZSwgTUFEVl9GUkVFX1JFVVNFKSk7CisjZWxzZQorICAg
IFNZU0NBTEwobWFkdmlzZShwLCB2bVNpemUsIE1BRFZfTk9STUFMKSk7CisjZW5kaWYKIH0KIAog
Ly8gVHJpbXMgcmVxdWVzdHMgdGhhdCBhcmUgdW4tcGFnZS1hbGlnbmVkLiBOT1RFOiBzaXplIG11
c3QgYmUgYXQgbGVhc3QgYSBwYWdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9WZWN0b3IuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVmVjdG9yLmgKaW5kZXggNWEwNjg4
ZTJkZGVlOTA0MGJiODU0MGYwMzE2MjgwYzdjZTNhNmRmZi4uZGE5MTQ0YWRjM2M2MzhlNDY3NDBj
ZDUxOTUzZjIxNjBmODAzZjQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9W
ZWN0b3IuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZlY3Rvci5oCkBAIC0yOSw2ICsy
OSw3IEBACiAjaW5jbHVkZSAiSW5saW5lLmgiCiAjaW5jbHVkZSAiVk1BbGxvY2F0ZS5oIgogI2lu
Y2x1ZGUgPGNzdGRkZWY+CisjaW5jbHVkZSA8bWVtb3J5Lmg+CiAjaW5jbHVkZSA8c3RyaW5nPgog
CiBuYW1lc3BhY2UgYm1hbGxvYyB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0SGVs
cGVycy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRIZWxwZXJzLmNtYWtlCmluZGV4IDJhMjIz
NTJhNTJjYWU2ZjFiMWRlNjlhYmZlMTRiMjhiYmJlNmRkMTEuLjA0NGY5OWFhMGU1OWMwOWI2ZTBm
MzI0YWExNzE1NDI4MGI1NjRlNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRIZWxw
ZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRIZWxwZXJzLmNtYWtlCkBAIC0zMiw3
ICszMiw3IEBAIG1hY3JvKFdFQktJVF9TRVRfRVhUUkFfQ09NUElMRVJfRkxBR1MgX3RhcmdldCkK
ICAgICAgICAgaWYgKE9QVElPTl9FTkFCTEVfV0VSUk9SKQogICAgICAgICAgICAgIyBGSVhNRTog
V2hlbiB3ZSB1c2UgLWZuby10cmVlLWRjZSB0byBzdXBwb3J0IHRoZSBqc0NTdGFjayBicmFuY2gg
bWVyZ2UsIGJ1aWxkIGVycm9yIG9jY3VycyBkdWUgdG8gdGhlIHVuaW5pdGlhbGl6YXRpb24uIFRl
bXBvcmFyaWx5IHdlIHNldAogICAgICAgICAgICAgIyB1bmluaXRpYWxpemVkIGFzIGJ1aWxkIHdh
cm5pbmcgaW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUganNDU3RhY2sgbWVyZ2UuIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc3NzcuCi0gICAgICAgICAgICBzZXQoT0xE
X0NPTVBJTEVfRkxBR1MgIi1XZXJyb3IgLVduby1lcnJvcj11bnVzZWQtcGFyYW1ldGVyIC1Xbm8t
ZXJyb3I9dW5pbml0aWFsaXplZCAtV25vLWVycm9yPWxpdGVyYWwtc3VmZml4ICR7T0xEX0NPTVBJ
TEVfRkxBR1N9IikKKyAgICAgICAgICAgIHNldChPTERfQ09NUElMRV9GTEFHUyAiLVdlcnJvciAt
V25vLWVycm9yPWF0dHJpYnV0ZXMgLVduby1lcnJvcj11bnVzZWQtcGFyYW1ldGVyIC1Xbm8tZXJy
b3I9dW5pbml0aWFsaXplZCAtV25vLWVycm9yPWxpdGVyYWwtc3VmZml4ICR7T0xEX0NPTVBJTEVf
RkxBR1N9IikKICAgICAgICAgZW5kaWYgKCkKIAogICAgICAgICBzZXRfdGFyZ2V0X3Byb3BlcnRp
ZXMoJHtfdGFyZ2V0fSBQUk9QRVJUSUVTCmRpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NN
YWtlTGlzdHMudHh0CmluZGV4IGVmMTdkYzdmOWIxYzM4NjMyMWI3YzI2ZGEzMDg3NjNiNWI0OGMw
YTcuLjRhZjlkZDJiNTc2YWE5MWQxODVkMGVhZjlkYzAzZjNmMmUxOWZlNjYgMTAwNjQ0Ci0tLSBh
L0NNYWtlTGlzdHMudHh0CisrKyBiL0NNYWtlTGlzdHMudHh0CkBAIC00LDYgKzQsNyBAQCBwcm9q
ZWN0KFdlYktpdCkKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgRGVmYXVsdCBsaWJyYXJ5IHR5
cGUKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK3NldChCTUFMTE9DX0RJUiAiJHtDTUFLRV9TT1VS
Q0VfRElSfS9Tb3VyY2UvYm1hbGxvYyIpCiBzZXQoV1RGX0RJUiAiJHtDTUFLRV9TT1VSQ0VfRElS
fS9Tb3VyY2UvV1RGIikKIHNldChKQVZBU0NSSVBUQ09SRV9ESVIgIiR7Q01BS0VfU09VUkNFX0RJ
Un0vU291cmNlL0phdmFTY3JpcHRDb3JlIikKIHNldChXRUJDT1JFX0RJUiAiJHtDTUFLRV9TT1VS
Q0VfRElSfS9Tb3VyY2UvV2ViQ29yZSIpCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VM
b2cKaW5kZXggYmQyNWFiZjFkZTc3OTQ4NjMxYTc2MmRiMTAwNDNjZDkxN2IyZDI4MS4uMDA0MWYy
MzBkYWU5ZmQ4MGEzNzM0YzdmMDIyZTY4NGJjZmQ4NGI2MyAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9n
CisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE1LTAxLTI1ICBHeXV5b3VuZyBL
aW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF1bR1RLXSBVc2Ug
Ym1hbGxvYyBpbnN0ZWFkIG9mIHRjbWFsbG9jCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDAxNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9DTWFrZUxpc3RzLnR4dDoKKwogMjAxNS0wMS0y
MyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAg
W0dUS10gQWRkIGluaXRpYWwgZGF0YWJhc2UgcHJvY2VzcyBzdXBwb3J0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245321</attachid>
            <date>2015-01-25 18:08:15 -0800</date>
            <delta_ts>2015-01-26 09:11:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140162-20150126110816.patch</filename>
            <type>text/plain</type>
            <size>16246</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc5MDkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY4Yjk1OTcyOTgyMzliMmNmODYyYzU2
MjZhMzFmMjJlZjg4NDYzNzMuLjIzODVjZmY1MDhiZGYxNjZiYzcyYTMwNjVkNzUxODViNzdiMGMz
Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTUtMDEtMjUgIEd5dXlvdW5nIEtpbSAgPGd5dXlv
dW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGlu
c3RlYWQgb2YgdGNtYWxsb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MDE2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OgorCiAyMDE1LTAxLTI0ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUHJvdmlkZSBpbXBsZW1lbnRhdGlvbiBm
b3IgV1RGOjpEZWZhdWx0SGFzaDxib29sPgpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvQ2hh
bmdlTG9nIGIvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCmluZGV4IGM5ZjJlNWY1NmIyZjViYjJm
NDMwZWZlZDdiZjVlNjg2Y2YwNTAzNzIuLmUwNzAzMzFkMTA4OGRiMjNlNmE3OWJhOWI4N2RjNTIy
YzQxMGUxMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvYm1hbGxvYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNS0wMS0yNSAgR3l1eW91
bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW0dUS10g
VXNlIGJtYWxsb2MgaW5zdGVhZCBvZiB0Y21hbGxvYworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogQWRkZWQuCisKIDIwMTUt
MDEtMjEgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBibWFs
bG9jOiBzdXBwb3J0IGFsaWduZWQgYWxsb2NhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL0NNYWtlTGlzdHMudHh0CmluZGV4IDU0ODY3MjBkNzYyYjA4N2M2
MmFiZTg0N2I0MTQ4OGY1NzBiY2VmMjguLmZhYmM1ZDZiNjhmODE0ZmE4ZTFkOTRiODJiYTljNzY2
NzhkODNkOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
Q01ha2VMaXN0cy50eHQKQEAgLTEsNiArMSw4IEBACiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAj
IEFkZCBtb2R1bGUgZGlyZWN0b3JpZXMKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2FkZF9zdWJk
aXJlY3RvcnkoYm1hbGxvYykKKwogYWRkX3N1YmRpcmVjdG9yeShXVEYpCiAKIGFkZF9zdWJkaXJl
Y3RvcnkoSmF2YVNjcmlwdENvcmUpCkBAIC0yNiw2ICsyOCw3IEBAIFdFQktJVF9JTkNMVURFX0NP
TkZJR19GSUxFU19JRl9FWElTVFMoKQogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBTZXQgY29t
cGlsZXIgZmxhZ3MgZm9yIGFsbCB0YXJnZXRzCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitXRUJL
SVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKGJtYWxsb2MgJHtBRERJVElPTkFMX0NPTVBJTEVS
X0ZMQUdTfSkKIFdFQktJVF9TRVRfRVhUUkFfQ09NUElMRVJfRkxBR1MoV1RGICR7QURESVRJT05B
TF9DT01QSUxFUl9GTEFHU30pCiBXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKEphdmFT
Y3JpcHRDb3JlICR7QURESVRJT05BTF9DT01QSUxFUl9GTEFHU30pCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50
eHQKaW5kZXggYjllNjY5MTZkZjBhMmI1YWUzZThkOTgxNWRlM2MwYTlmODcxNDJkZS4uMWRjMzg1
Mzg1MTcyYTJhNjM4NTFjZDlmODU2ZWIzMWFmNjk5MTBjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQK
QEAgLTEwMCw3ICsxMDAsNiBAQCBzZXQoV1RGX0hFQURFUlMKICAgICBUQ1BhY2tlZENhY2hlLmgK
ICAgICBUQ1BhZ2VNYXAuaAogICAgIFRDU3BpbkxvY2suaAotICAgIFRDU3lzdGVtQWxsb2MuaAog
ICAgIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAogICAgIFRocmVhZFNhZmVSZWZDb3Vu
dGVkLmgKICAgICBUaHJlYWRTcGVjaWZpYy5oCkBAIC0xODMsNyArMTgyLDYgQEAgc2V0KFdURl9T
T1VSQ0VTCiAgICAgU3RhY2tTdGF0cy5jcHAKICAgICBTdGFja0JvdW5kcy5jcHAKICAgICBTdHJp
bmdQcmludFN0cmVhbS5jcHAKLSAgICBUQ1N5c3RlbUFsbG9jLmNwcAogICAgIFRocmVhZGluZy5j
cHAKICAgICBXVEZUaHJlYWREYXRhLmNwcAogICAgIGR0b2EuY3BwCkBAIC0yMTMsNiArMjExLDcg
QEAgc2V0KFdURl9TT1VSQ0VTCiApCiAKIHNldChXVEZfSU5DTFVERV9ESVJFQ1RPUklFUworICAg
ICIke0JNQUxMT0NfRElSfSIKICAgICAiJHtXVEZfRElSfSIKICAgICAiJHtXVEZfRElSfS93dGYi
CiAgICAgIiR7V1RGX0RJUn0vd3RmL2R0b2EiCkBAIC0yMjYsNiArMjI1LDcgQEAgc2V0KFdURl9J
TkNMVURFX0RJUkVDVE9SSUVTCiAKIHNldChXVEZfTElCUkFSSUVTCiAgICAgJHtDTUFLRV9ETF9M
SUJTfQorICAgIGJtYWxsb2MKICkKIAogbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuY3BwIGIvU291cmNlL1dURi93dGYvRmFzdE1h
bGxvYy5jcHAKaW5kZXggMThhOWM4NDEyNjZmMDhmOGY1MzMwNDcxMTI2ZDUwZjM4NWRiZjFjMC4u
NWZkOWM5NTBiZGM5OGVhNjNiMjY1MjUxMTc3NDk4NjRjZmIxMGI5ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvRmFzdE1hbGxvYy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvRmFzdE1hbGxv
Yy5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQAogI2VuZGlmCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JN
KENPQ09BKQorI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JN
KEdUSykKICNkZWZpbmUgVVNFX0JNQUxMT0MgMQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL2JtYWxsb2MvQ01ha2VMaXN0cy50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTlhMWE3NmZjNGY4YmU0OTc3MDZiMGY4NDMyNGViZTc3ZTJjZGE2MwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEs
MjIgQEAKK3NldChibWFsbG9jX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAiJHtCTUFMTE9DX0RJ
Un0iCispCisKK3NldChibWFsbG9jX1NPVVJDRVMKKyAgICBibWFsbG9jL0FsbG9jYXRvci5jcHAK
KyAgICBibWFsbG9jL0NhY2hlLmNwcAorICAgIGJtYWxsb2MvRGVhbGxvY2F0b3IuY3BwCisgICAg
Ym1hbGxvYy9FbnZpcm9ubWVudC5jcHAKKyAgICBibWFsbG9jL0hlYXAuY3BwCisgICAgYm1hbGxv
Yy9PYmplY3RUeXBlLmNwcAorICAgIGJtYWxsb2MvU2VncmVnYXRlZEZyZWVMaXN0LmNwcAorICAg
IGJtYWxsb2MvU3RhdGljTXV0ZXguY3BwCisgICAgYm1hbGxvYy9WTUhlYXAuY3BwCisgICAgYm1h
bGxvYy9tYm1hbGxvYy5jcHAKKykKKworV0VCS0lUX1dSQVBfU09VUkNFTElTVCgke2JtYWxsb2Nf
U09VUkNFU30pCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7Ym1hbGxvY19JTkNMVURFX0RJUkVDVE9S
SUVTfSkKK2FkZF9saWJyYXJ5KGJtYWxsb2MgJHtibWFsbG9jX1NPVVJDRVN9KQordGFyZ2V0X2xp
bmtfbGlicmFyaWVzKGJtYWxsb2MgJHtibWFsbG9jX0xJQlJBUklFU30pCitzZXRfdGFyZ2V0X3By
b3BlcnRpZXMoYm1hbGxvYyBQUk9QRVJUSUVTIENPTVBJTEVfREVGSU5JVElPTlMgIkJVSUxESU5H
X2JtYWxsb2MiKQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxvY2F0b3Iu
Y3BwIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxvY2F0b3IuY3BwCmluZGV4IGVkNTczZGM5
YzI2N2I5YzFjOTMwMTA0MWMzYmQ2OGQzMjgwYTYwYmMuLmViZjBjZjYyMTNhZWJmZGE5MGFhNmIw
NTUzZWMxZGIwYmYzMTJkMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQWxs
b2NhdG9yLmNwcAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FsbG9jYXRvci5jcHAKQEAg
LTU2LDcgKzU2LDggQEAgdm9pZCogQWxsb2NhdG9yOjphbGxvY2F0ZShzaXplX3QgYWxpZ25tZW50
LCBzaXplX3Qgc2l6ZSkKIAogICAgIGlmICghbV9pc0JtYWxsb2NFbmFibGVkKSB7CiAgICAgICAg
IHZvaWQqIHJlc3VsdCA9IG51bGxwdHI7Ci0gICAgICAgIHBvc2l4X21lbWFsaWduKCZyZXN1bHQs
IGFsaWdubWVudCwgc2l6ZSk7CisgICAgICAgIGlmIChwb3NpeF9tZW1hbGlnbigmcmVzdWx0LCBh
bGlnbm1lbnQsIHNpemUpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgIHJl
dHVybiByZXN1bHQ7CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9Bc3luY1Rhc2suaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXN5bmNUYXNrLmgKaW5k
ZXggNTA0ZGE4MTM1ZDg2NzE0Zjk3ZTA0M2YyNTM3NTA3MjgxYThhMGJhMS4uMTRhNDZmZmZkZDBl
YWI0MjQwY2JhMTUxYjMzZTkyNzViMDYxYjk5ZCAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9Bc3luY1Rhc2suaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FzeW5jVGFz
ay5oCkBAIC02NCw3ICs2NCwxMCBAQCBwcml2YXRlOgogICAgIEZ1bmN0aW9uIG1fZnVuY3Rpb247
CiB9OwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBPYmplY3QsIHR5cGVuYW1lIEZ1bmN0aW9uPiBjb25z
dCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBBc3luY1Rhc2s8T2JqZWN0LCBGdW5jdGlvbj46OmV4aXRE
ZWxheTsKKyNpZiAhZGVmaW5lZChCVUlMRElOR19FRkxfXykgJiYgIWRlZmluZWQoQlVJTERJTkdf
R1RLX18pCit0ZW1wbGF0ZTx0eXBlbmFtZSBPYmplY3QsIHR5cGVuYW1lIEZ1bmN0aW9uPgorY29u
c3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgQXN5bmNUYXNrPE9iamVjdCwgRnVuY3Rpb24+OjpleGl0
RGVsYXk7CisjZW5kaWYKIAogdGVtcGxhdGU8dHlwZW5hbWUgT2JqZWN0LCB0eXBlbmFtZSBGdW5j
dGlvbj4KIEFzeW5jVGFzazxPYmplY3QsIEZ1bmN0aW9uPjo6QXN5bmNUYXNrKE9iamVjdCYgb2Jq
ZWN0LCBjb25zdCBGdW5jdGlvbiYgZnVuY3Rpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxv
Yy9ibWFsbG9jL0JvdW5kYXJ5VGFnLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0JvdW5kYXJ5
VGFnLmgKaW5kZXggNzYxZmQzZjE4MWIyMGI3MDcxODU4NDdkNDBmMTlkYWNmNTBjNDU3Mi4uYjJl
ZGNlMmQ5MmNiZjQyYTA1MTgxNjE0ZWI5OTFmOWUyNDRjOGRhYSAxMDA2NDQKLS0tIGEvU291cmNl
L2JtYWxsb2MvYm1hbGxvYy9Cb3VuZGFyeVRhZy5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvQm91bmRhcnlUYWcuaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkJBc3NlcnQuaCIK
ICNpbmNsdWRlICJSYW5nZS5oIgogI2luY2x1ZGUgIlNpemVzLmgiCisjaW5jbHVkZSA8Y3N0cmlu
Zz4KIAogbmFtZXNwYWNlIGJtYWxsb2MgewogCkBAIC01NCw3ICs1NSw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldEhhc1BoeXNpY2FsUGFnZXMoYm9vbCBoYXNQaHlzaWNhbFBhZ2VzKSB7IG1faGFz
UGh5c2ljYWxQYWdlcyA9IGhhc1BoeXNpY2FsUGFnZXM7IH0KIAogICAgIGJvb2wgaXNOdWxsKCkg
eyByZXR1cm4gIW1fc2l6ZTsgfQotICAgIHZvaWQgY2xlYXIoKSB7IG1lbXNldCh0aGlzLCAwLCBz
aXplb2YoKnRoaXMpKTsgfQorICAgIHZvaWQgY2xlYXIoKSB7IHN0ZDo6bWVtc2V0KHRoaXMsIDAs
IHNpemVvZigqdGhpcykpOyB9CiAgICAgCiAgICAgc2l6ZV90IHNpemUoKSB7IHJldHVybiBtX3Np
emU7IH0KICAgICB1bnNpZ25lZCBjb21wYWN0QmVnaW4oKSB7IHJldHVybiBtX2NvbXBhY3RCZWdp
bjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9DaHVuay5oIGIvU291cmNl
L2JtYWxsb2MvYm1hbGxvYy9DaHVuay5oCmluZGV4IDBjNGQxZDJkZDhhYzA4ZWIwODFmOGQ1ZTZh
MDk1NDg2NzY3ZjVjMDAuLjQxZjg5MjdlMTg5NGMwMTFiNmE0NjE2MTgwNzNiMjQ4NjNjY2FkM2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQ2h1bmsuaAorKysgYi9Tb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL0NodW5rLmgKQEAgLTM1LDggKzM1LDkgQEAgbmFtZXNwYWNlIGJtYWxs
b2MgewogdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPgogY2xhc3MgQ2h1bmsgewogcHVibGljOgotICAg
IHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpQYWdlIFBhZ2U7Ci0gICAgdHlwZWRlZiB0eXBlbmFt
ZSBUcmFpdHM6OkxpbmUgTGluZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6UGFnZVR5
cGUgUGFnZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6TGluZVR5cGUgTGluZTsKKwog
ICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbGluZVNpemUgPSBUcmFpdHM6OmxpbmVTaXplOwogICAg
IHN0YXRpYyBjb25zdCBzaXplX3QgY2h1bmtTaXplID0gVHJhaXRzOjpjaHVua1NpemU7CiAgICAg
c3RhdGljIGNvbnN0IHNpemVfdCBjaHVua09mZnNldCA9IFRyYWl0czo6Y2h1bmtPZmZzZXQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0VuZFRhZy5oIGIvU291cmNlL2JtYWxs
b2MvYm1hbGxvYy9FbmRUYWcuaAppbmRleCA5ZWFlOTk3OWU3MDhkYTUyZjBjNGE1NDUxZDllOGRl
Mzk2NzNhMGIxLi5mOTQxNTNhOTE3ZDg3ZmUyNjBiODY3NjE0OGJmNDEzMDhhMmJkOWZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0VuZFRhZy5oCisrKyBiL1NvdXJjZS9ibWFs
bG9jL2JtYWxsb2MvRW5kVGFnLmgKQEAgLTM3LDcgKzM3LDcgQEAgcHVibGljOgogCiBpbmxpbmUg
RW5kVGFnJiBFbmRUYWc6Om9wZXJhdG9yPShjb25zdCBCZWdpblRhZyYgb3RoZXIpCiB7Ci0gICAg
bWVtY3B5KHRoaXMsICZvdGhlciwgc2l6ZW9mKEJvdW5kYXJ5VGFnKSk7CisgICAgc3RkOjptZW1j
cHkodGhpcywgJm90aGVyLCBzaXplb2YoQm91bmRhcnlUYWcpKTsKICAgICBzZXRFbmQodHJ1ZSk7
CiAgICAgcmV0dXJuICp0aGlzOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9MaW5lLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0xpbmUuaAppbmRleCA4YThkNzFlMTg5
OTFjYjY1OGYwYmRmZjRlOGZkOGE3YjFlNjk2YjJlLi44YWY4M2VmOWFjY2UyMWJhY2I4ZTRjNzY4
MDU0NjllY2UwYzRlNzE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0xpbmUu
aAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0xpbmUuaApAQCAtMzYsNyArMzYsOCBAQCBu
YW1lc3BhY2UgYm1hbGxvYyB7CiB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+CiBjbGFzcyBMaW5lIHsK
IHB1YmxpYzoKLSAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6Q2h1bmsgQ2h1bms7CisgICAg
dHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6OkNodW5rVHlwZSBDaHVuazsKKwogICAgIHN0YXRpYyBj
b25zdCBzaXplX3QgbWluaW11bU9iamVjdFNpemUgPSBUcmFpdHM6Om1pbmltdW1PYmplY3RTaXpl
OwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbGluZVNpemUgPSBUcmFpdHM6OmxpbmVTaXplOwog
ICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9NZWRpdW1UcmFpdHMuaCBi
L1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTWVkaXVtVHJhaXRzLmgKaW5kZXggYmJjZTAxYWIzMGVk
N2Y1N2IzNGY0NGUxNjViODIwNDNkZGI0N2IxMi4uNTlkNzhmNTAxNzVlYjI1OTU0MTU0ZDgyODAx
MDkyMDQzNWMxY2NiNSAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9NZWRpdW1U
cmFpdHMuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL01lZGl1bVRyYWl0cy5oCkBAIC0z
Niw5ICszNiw5IEBAIHRlbXBsYXRlPGNsYXNzIFRyYWl0cz4gY2xhc3MgTGluZTsKIHRlbXBsYXRl
PGNsYXNzIFRyYWl0cz4gY2xhc3MgUGFnZTsKIAogc3RydWN0IE1lZGl1bVRyYWl0cyB7Ci0gICAg
dHlwZWRlZiBDaHVuazxNZWRpdW1UcmFpdHM+IENodW5rOwotICAgIHR5cGVkZWYgTGluZTxNZWRp
dW1UcmFpdHM+IExpbmU7Ci0gICAgdHlwZWRlZiBQYWdlPE1lZGl1bVRyYWl0cz4gUGFnZTsKKyAg
ICB0eXBlZGVmIENodW5rPE1lZGl1bVRyYWl0cz4gQ2h1bmtUeXBlOworICAgIHR5cGVkZWYgTGlu
ZTxNZWRpdW1UcmFpdHM+IExpbmVUeXBlOworICAgIHR5cGVkZWYgUGFnZTxNZWRpdW1UcmFpdHM+
IFBhZ2VUeXBlOwogCiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9IG1lZGl1bUxp
bmVTaXplOwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbWluaW11bU9iamVjdFNpemUgPSBzbWFs
bE1heCArIGFsaWdubWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGFn
ZS5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QYWdlLmgKaW5kZXggMzgxNDBhNTY0YWQzYjk0
NTQ1MjRkY2Y5M2M1ZmVlNmQ3Y2MzYjgzZi4uZmRmYTE1OGQ2MTIzZTQ4YTRlM2UwOTE5MDU3ODM4
ODg0NjlhMTUzNCAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QYWdlLmgKKysr
IGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QYWdlLmgKQEAgLTM2LDggKzM2LDkgQEAgbmFtZXNw
YWNlIGJtYWxsb2MgewogdGVtcGxhdGU8dHlwZW5hbWUgVHJhaXRzPgogY2xhc3MgUGFnZSB7CiBw
dWJsaWM6Ci0gICAgdHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6OkNodW5rIENodW5rOwotICAgIHR5
cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpMaW5lIExpbmU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBU
cmFpdHM6OkNodW5rVHlwZSBDaHVuazsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6TGlu
ZVR5cGUgTGluZTsKKwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbGluZVNpemUgPSBUcmFpdHM6
OmxpbmVTaXplOwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbGluZUNvdW50ID0gdm1QYWdlU2l6
ZSAvIGxpbmVTaXplOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BlclRo
cmVhZC5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QZXJUaHJlYWQuaAppbmRleCAwMmYwN2Ux
NjUyYTdhNmEzNDdmYTgwNmMyNTZmM2E4NTE1ZTBiOGVhLi5iNWJiMDM3NTM1NGVkZTNkODI0ZDk4
YTg5MDA1ZTdhOTE5YTRkNDlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1Bl
clRocmVhZC5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGVyVGhyZWFkLmgKQEAgLTMw
LDkgKzMwLDExIEBACiAjaW5jbHVkZSAiSW5saW5lLmgiCiAjaW5jbHVkZSA8bXV0ZXg+CiAjaW5j
bHVkZSA8cHRocmVhZC5oPgotI2lmIGRlZmluZWQoX19oYXNfaW5jbHVkZSkgJiYgX19oYXNfaW5j
bHVkZSg8U3lzdGVtL3B0aHJlYWRfbWFjaGRlcC5oPikKKyNpZiBkZWZpbmVkKF9faGFzX2luY2x1
ZGUpCisjaWYgX19oYXNfaW5jbHVkZSg8U3lzdGVtL3B0aHJlYWRfbWFjaGRlcC5oPikKICNpbmNs
dWRlIDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+CiAjZW5kaWYKKyNlbmRpZgogCiBuYW1lc3Bh
Y2UgYm1hbGxvYyB7CiAKQEAgLTUwLDcgKzUyLDExIEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZv
aWQgZGVzdHJ1Y3Rvcih2b2lkKik7CiB9OwogCi0jaWYgZGVmaW5lZChfX2hhc19pbmNsdWRlKSAm
JiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KQorCisjaWYgZGVmaW5l
ZChfX2hhc19pbmNsdWRlKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX0VGTF9fKSAmJiAhZGVmaW5l
ZChCVUlMRElOR19HVEtfXykKKyAgICAmJiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9t
YWNoZGVwLmg+KQorI2VuZGlmCiAKIGNsYXNzIENhY2hlOwogdGVtcGxhdGU8dHlwZW5hbWUgVD4g
c3RydWN0IFBlclRocmVhZFN0b3JhZ2U7CkBAIC0xMDAsNyArMTA2LDcgQEAgdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gYm9vbCBQZXJUaHJlYWRTdG9yYWdlPFQ+OjpzX2RpZEluaXRpYWxpemU7CiB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBwdGhyZWFkX2tleV90IFBlclRocmVhZFN0b3JhZ2U8VD46OnNfa2V5
OwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RkOjpvbmNlX2ZsYWcgUGVyVGhyZWFkU3RvcmFnZTxU
Pjo6c19vbmNlRmxhZzsKIAotI2VuZGlmIC8vIGRlZmluZWQoX19oYXNfaW5jbHVkZSkgJiYgX19o
YXNfaW5jbHVkZSg8U3lzdGVtL3B0aHJlYWRfbWFjaGRlcC5oPikKKyNlbmRpZiAvLyAhZGVmaW5l
ZChfX2hhc19pbmNsdWRlKQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogSU5MSU5FIFQqIFBlclRo
cmVhZDxUPjo6Z2V0RmFzdENhc2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9TbWFsbFRyYWl0cy5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TbWFsbFRyYWl0cy5oCmlu
ZGV4IGU0MGMxNjZlZGQwN2JjYWZlMTc1NmYxNWY2YWMxMTVjZWE5YTEzMjIuLjgwNmI3ZThjNjY1
ZGE1NDQ0MDNkZWZmODFkMzhkYjliOTBiZGE2NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvU21hbGxUcmFpdHMuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1NtYWxs
VHJhaXRzLmgKQEAgLTM1LDkgKzM1LDkgQEAgdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPiBjbGFzcyBM
aW5lOwogdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPiBjbGFzcyBQYWdlOwogCiBzdHJ1Y3QgU21hbGxU
cmFpdHMgewotICAgIHR5cGVkZWYgQ2h1bms8U21hbGxUcmFpdHM+IENodW5rOwotICAgIHR5cGVk
ZWYgTGluZTxTbWFsbFRyYWl0cz4gTGluZTsKLSAgICB0eXBlZGVmIFBhZ2U8U21hbGxUcmFpdHM+
IFBhZ2U7CisgICAgdHlwZWRlZiBDaHVuazxTbWFsbFRyYWl0cz4gQ2h1bmtUeXBlOworICAgIHR5
cGVkZWYgTGluZTxTbWFsbFRyYWl0cz4gTGluZVR5cGU7CisgICAgdHlwZWRlZiBQYWdlPFNtYWxs
VHJhaXRzPiBQYWdlVHlwZTsKIAogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbGluZVNpemUgPSBz
bWFsbExpbmVTaXplOwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbWluaW11bU9iamVjdFNpemUg
PSBhbGlnbm1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZNQWxsb2Nh
dGUuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0ZS5oCmluZGV4IDk0MDYzNThh
ZTUxZjU5YjA4ZmQ2NzU5ZDUyY2U5YTgyMjVhMzQ2NGUuLjQ2MzJkNDU3YzQ3M2Y4ZjFjMmM0NWMx
MzE2YjlhMDBkNDMzYzViNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1B
bGxvY2F0ZS5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0ZS5oCkBAIC0z
MSwxMyArMzEsMjAgQEAKICNpbmNsdWRlICJTaXplcy5oIgogI2luY2x1ZGUgIlN5c2NhbGwuaCIK
ICNpbmNsdWRlIDxhbGdvcml0aG0+Ci0jaW5jbHVkZSA8bWFjaC92bV9zdGF0aXN0aWNzLmg+CiAj
aW5jbHVkZSA8c3lzL21tYW4uaD4KICNpbmNsdWRlIDx1bmlzdGQuaD4KIAorI2lmIGRlZmluZWQo
Qk9TX0RBUldJTikKKyNpbmNsdWRlIDxtYWNoL3ZtX3N0YXRpc3RpY3MuaD4KKyNlbmRpZgorCiBu
YW1lc3BhY2UgYm1hbGxvYyB7CiAKKyNpZiBkZWZpbmVkKEJPU19EQVJXSU4pCiAjZGVmaW5lIEJN
QUxMT0NfVk1fVEFHIFZNX01BS0VfVEFHKFZNX01FTU9SWV9UQ01BTExPQykKKyNlbHNlCisjZGVm
aW5lIEJNQUxMT0NfVk1fVEFHIC0xCisjZW5kaWYKIAogaW5saW5lIHNpemVfdCB2bVNpemUoc2l6
ZV90IHNpemUpCiB7CkBAIC0xMDcsMTMgKzExNCwyMSBAQCBpbmxpbmUgdm9pZCogdm1BbGxvY2F0
ZShzaXplX3Qgdm1BbGlnbm1lbnQsIHNpemVfdCB2bVNpemUpCiBpbmxpbmUgdm9pZCB2bURlYWxs
b2NhdGVQaHlzaWNhbFBhZ2VzKHZvaWQqIHAsIHNpemVfdCB2bVNpemUpCiB7CiAgICAgdm1WYWxp
ZGF0ZShwLCB2bVNpemUpOworI2lmIGRlZmluZWQoQk9TX0RBUldJTikKICAgICBTWVNDQUxMKG1h
ZHZpc2UocCwgdm1TaXplLCBNQURWX0ZSRUVfUkVVU0FCTEUpKTsKKyNlbHNlCisgICAgU1lTQ0FM
TChtYWR2aXNlKHAsIHZtU2l6ZSwgTUFEVl9ET05UTkVFRCkpOworI2VuZGlmCiB9CiAKIGlubGlu
ZSB2b2lkIHZtQWxsb2NhdGVQaHlzaWNhbFBhZ2VzKHZvaWQqIHAsIHNpemVfdCB2bVNpemUpCiB7
CiAgICAgdm1WYWxpZGF0ZShwLCB2bVNpemUpOworI2lmIGRlZmluZWQoQk9TX0RBUldJTikKICAg
ICBTWVNDQUxMKG1hZHZpc2UocCwgdm1TaXplLCBNQURWX0ZSRUVfUkVVU0UpKTsKKyNlbHNlCisg
ICAgU1lTQ0FMTChtYWR2aXNlKHAsIHZtU2l6ZSwgTUFEVl9ET05UTkVFRCkpOworI2VuZGlmCiB9
CiAKIC8vIFRyaW1zIHJlcXVlc3RzIHRoYXQgYXJlIHVuLXBhZ2UtYWxpZ25lZC4gTk9URTogc2l6
ZSBtdXN0IGJlIGF0IGxlYXN0IGEgcGFnZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2Jt
YWxsb2MvVmVjdG9yLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZlY3Rvci5oCmluZGV4IDVh
MDY4OGUyZGRlZTkwNDBiYjg1NDBmMDMxNjI4MGM3Y2UzYTZkZmYuLjViNDExMmJlNjNjYzk3ZmUx
NDYxNGE4MDg2NmE2ODk2NzMyZDc5MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvVmVjdG9yLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WZWN0b3IuaApAQCAtMjks
NyArMjksNyBAQAogI2luY2x1ZGUgIklubGluZS5oIgogI2luY2x1ZGUgIlZNQWxsb2NhdGUuaCIK
ICNpbmNsdWRlIDxjc3RkZGVmPgotI2luY2x1ZGUgPHN0cmluZz4KKyNpbmNsdWRlIDxjc3RyaW5n
PgogCiBuYW1lc3BhY2UgYm1hbGxvYyB7CiAKQEAgLTExMiw3ICsxMTIsNyBAQCB2b2lkIFZlY3Rv
cjxUPjo6cHVzaChjb25zdCBUKiBiZWdpbiwgY29uc3QgVCogZW5kKQogICAgIHNpemVfdCBuZXdT
aXplID0gbV9zaXplICsgKGVuZCAtIGJlZ2luKTsKICAgICBpZiAobmV3U2l6ZSA+IG1fY2FwYWNp
dHkpCiAgICAgICAgIGdyb3dDYXBhY2l0eShuZXdTaXplKTsKLSAgICBtZW1jcHkodGhpcy0+ZW5k
KCksIGJlZ2luLCAoZW5kIC0gYmVnaW4pICogc2l6ZW9mKFQpKTsKKyAgICBzdGQ6Om1lbWNweSh0
aGlzLT5lbmQoKSwgYmVnaW4sIChlbmQgLSBiZWdpbikgKiBzaXplb2YoVCkpOwogICAgIG1fc2l6
ZSA9IG5ld1NpemU7CiB9CiAKQEAgLTE0OCw3ICsxNDgsNyBAQCB2b2lkIFZlY3RvcjxUPjo6cmVh
bGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpCiAgICAgc2l6ZV90IHZtU2l6ZSA9IGJt
YWxsb2M6OnZtU2l6ZShuZXdDYXBhY2l0eSAqIHNpemVvZihUKSk7CiAgICAgVCogbmV3QnVmZmVy
ID0gc3RhdGljX2Nhc3Q8VCo+KHZtQWxsb2NhdGUodm1TaXplKSk7CiAgICAgaWYgKG1fYnVmZmVy
KSB7Ci0gICAgICAgIG1lbWNweShuZXdCdWZmZXIsIG1fYnVmZmVyLCBtX3NpemUgKiBzaXplb2Yo
VCkpOworICAgICAgICBzdGQ6Om1lbWNweShuZXdCdWZmZXIsIG1fYnVmZmVyLCBtX3NpemUgKiBz
aXplb2YoVCkpOwogICAgICAgICB2bURlYWxsb2NhdGUobV9idWZmZXIsIGJtYWxsb2M6OnZtU2l6
ZShtX2NhcGFjaXR5ICogc2l6ZW9mKFQpKSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
Y21ha2UvV2ViS2l0SGVscGVycy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRIZWxwZXJzLmNt
YWtlCmluZGV4IDJhMjIzNTJhNTJjYWU2ZjFiMWRlNjlhYmZlMTRiMjhiYmJlNmRkMTEuLjA0NGY5
OWFhMGU1OWMwOWI2ZTBmMzI0YWExNzE1NDI4MGI1NjRlNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9j
bWFrZS9XZWJLaXRIZWxwZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRIZWxwZXJz
LmNtYWtlCkBAIC0zMiw3ICszMiw3IEBAIG1hY3JvKFdFQktJVF9TRVRfRVhUUkFfQ09NUElMRVJf
RkxBR1MgX3RhcmdldCkKICAgICAgICAgaWYgKE9QVElPTl9FTkFCTEVfV0VSUk9SKQogICAgICAg
ICAgICAgIyBGSVhNRTogV2hlbiB3ZSB1c2UgLWZuby10cmVlLWRjZSB0byBzdXBwb3J0IHRoZSBq
c0NTdGFjayBicmFuY2ggbWVyZ2UsIGJ1aWxkIGVycm9yIG9jY3VycyBkdWUgdG8gdGhlIHVuaW5p
dGlhbGl6YXRpb24uIFRlbXBvcmFyaWx5IHdlIHNldAogICAgICAgICAgICAgIyB1bmluaXRpYWxp
emVkIGFzIGJ1aWxkIHdhcm5pbmcgaW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUganNDU3RhY2sgbWVy
Z2UuIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc3NzcuCi0gICAg
ICAgICAgICBzZXQoT0xEX0NPTVBJTEVfRkxBR1MgIi1XZXJyb3IgLVduby1lcnJvcj11bnVzZWQt
cGFyYW1ldGVyIC1Xbm8tZXJyb3I9dW5pbml0aWFsaXplZCAtV25vLWVycm9yPWxpdGVyYWwtc3Vm
Zml4ICR7T0xEX0NPTVBJTEVfRkxBR1N9IikKKyAgICAgICAgICAgIHNldChPTERfQ09NUElMRV9G
TEFHUyAiLVdlcnJvciAtV25vLWVycm9yPWF0dHJpYnV0ZXMgLVduby1lcnJvcj11bnVzZWQtcGFy
YW1ldGVyIC1Xbm8tZXJyb3I9dW5pbml0aWFsaXplZCAtV25vLWVycm9yPWxpdGVyYWwtc3VmZml4
ICR7T0xEX0NPTVBJTEVfRkxBR1N9IikKICAgICAgICAgZW5kaWYgKCkKIAogICAgICAgICBzZXRf
dGFyZ2V0X3Byb3BlcnRpZXMoJHtfdGFyZ2V0fSBQUk9QRVJUSUVTCmRpZmYgLS1naXQgYS9DTWFr
ZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CmluZGV4IGVmMTdkYzdmOWIxYzM4NjMyMWI3YzI2
ZGEzMDg3NjNiNWI0OGMwYTcuLjRhZjlkZDJiNTc2YWE5MWQxODVkMGVhZjlkYzAzZjNmMmUxOWZl
NjYgMTAwNjQ0Ci0tLSBhL0NNYWtlTGlzdHMudHh0CisrKyBiL0NNYWtlTGlzdHMudHh0CkBAIC00
LDYgKzQsNyBAQCBwcm9qZWN0KFdlYktpdCkKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgRGVm
YXVsdCBsaWJyYXJ5IHR5cGUKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK3NldChCTUFMTE9DX0RJ
UiAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvYm1hbGxvYyIpCiBzZXQoV1RGX0RJUiAiJHtD
TUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV1RGIikKIHNldChKQVZBU0NSSVBUQ09SRV9ESVIgIiR7
Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL0phdmFTY3JpcHRDb3JlIikKIHNldChXRUJDT1JFX0RJ
UiAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViQ29yZSIpCmRpZmYgLS1naXQgYS9DaGFu
Z2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggYmQyNWFiZjFkZTc3OTQ4NjMxYTc2MmRiMTAwNDNjZDkx
N2IyZDI4MS4uMDA0MWYyMzBkYWU5ZmQ4MGEzNzM0YzdmMDIyZTY4NGJjZmQ4NGI2MyAxMDA2NDQK
LS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE1LTAx
LTI1ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAg
W0VGTF1bR1RLXSBVc2UgYm1hbGxvYyBpbnN0ZWFkIG9mIHRjbWFsbG9jCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDAxNjIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9DTWFrZUxpc3RzLnR4
dDoKKwogMjAxNS0wMS0yMyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5j
b20+CiAKICAgICAgICAgW0dUS10gQWRkIGluaXRpYWwgZGF0YWJhc2UgcHJvY2VzcyBzdXBwb3J0
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245352</attachid>
            <date>2015-01-26 09:11:20 -0800</date>
            <delta_ts>2015-01-26 17:27:28 -0800</delta_ts>
            <desc>Patch for ews</desc>
            <filename>bug-140162-20150127021122.patch</filename>
            <type>text/plain</type>
            <size>16015</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc5MTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY4Yjk1OTcyOTgyMzliMmNmODYyYzU2
MjZhMzFmMjJlZjg4NDYzNzMuLjNjMzE5OGFhMTdjNDViNjhkY2FlOWE0ODc5OGQ0ZGIyYmMxN2Nj
ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTUtMDEtMjYgIEd5dXlvdW5nIEtpbSAgPGd5dXlv
dW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGlu
c3RlYWQgb2YgdGNtYWxsb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MDE2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OgorCiAyMDE1LTAxLTI0ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUHJvdmlkZSBpbXBsZW1lbnRhdGlvbiBm
b3IgV1RGOjpEZWZhdWx0SGFzaDxib29sPgpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvQ2hh
bmdlTG9nIGIvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCmluZGV4IGM5ZjJlNWY1NmIyZjViYjJm
NDMwZWZlZDdiZjVlNjg2Y2YwNTAzNzIuLjgxN2RmNWZlZjE3OWM4ZGYwODg2N2FkMzVlYzhjZTdi
NDliZjVkODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvYm1hbGxvYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNS0wMS0yNiAgR3l1eW91
bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW0dUS10g
VXNlIGJtYWxsb2MgaW5zdGVhZCBvZiB0Y21hbGxvYworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogQWRkZWQuCisKIDIwMTUt
MDEtMjEgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBibWFs
bG9jOiBzdXBwb3J0IGFsaWduZWQgYWxsb2NhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL0NNYWtlTGlzdHMudHh0CmluZGV4IDU0ODY3MjBkNzYyYjA4N2M2
MmFiZTg0N2I0MTQ4OGY1NzBiY2VmMjguLmZhYmM1ZDZiNjhmODE0ZmE4ZTFkOTRiODJiYTljNzY2
NzhkODNkOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
Q01ha2VMaXN0cy50eHQKQEAgLTEsNiArMSw4IEBACiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAj
IEFkZCBtb2R1bGUgZGlyZWN0b3JpZXMKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2FkZF9zdWJk
aXJlY3RvcnkoYm1hbGxvYykKKwogYWRkX3N1YmRpcmVjdG9yeShXVEYpCiAKIGFkZF9zdWJkaXJl
Y3RvcnkoSmF2YVNjcmlwdENvcmUpCkBAIC0yNiw2ICsyOCw3IEBAIFdFQktJVF9JTkNMVURFX0NP
TkZJR19GSUxFU19JRl9FWElTVFMoKQogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBTZXQgY29t
cGlsZXIgZmxhZ3MgZm9yIGFsbCB0YXJnZXRzCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitXRUJL
SVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKGJtYWxsb2MgJHtBRERJVElPTkFMX0NPTVBJTEVS
X0ZMQUdTfSkKIFdFQktJVF9TRVRfRVhUUkFfQ09NUElMRVJfRkxBR1MoV1RGICR7QURESVRJT05B
TF9DT01QSUxFUl9GTEFHU30pCiBXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKEphdmFT
Y3JpcHRDb3JlICR7QURESVRJT05BTF9DT01QSUxFUl9GTEFHU30pCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50
eHQKaW5kZXggYjllNjY5MTZkZjBhMmI1YWUzZThkOTgxNWRlM2MwYTlmODcxNDJkZS4uMWRjMzg1
Mzg1MTcyYTJhNjM4NTFjZDlmODU2ZWIzMWFmNjk5MTBjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQK
QEAgLTEwMCw3ICsxMDAsNiBAQCBzZXQoV1RGX0hFQURFUlMKICAgICBUQ1BhY2tlZENhY2hlLmgK
ICAgICBUQ1BhZ2VNYXAuaAogICAgIFRDU3BpbkxvY2suaAotICAgIFRDU3lzdGVtQWxsb2MuaAog
ICAgIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAogICAgIFRocmVhZFNhZmVSZWZDb3Vu
dGVkLmgKICAgICBUaHJlYWRTcGVjaWZpYy5oCkBAIC0xODMsNyArMTgyLDYgQEAgc2V0KFdURl9T
T1VSQ0VTCiAgICAgU3RhY2tTdGF0cy5jcHAKICAgICBTdGFja0JvdW5kcy5jcHAKICAgICBTdHJp
bmdQcmludFN0cmVhbS5jcHAKLSAgICBUQ1N5c3RlbUFsbG9jLmNwcAogICAgIFRocmVhZGluZy5j
cHAKICAgICBXVEZUaHJlYWREYXRhLmNwcAogICAgIGR0b2EuY3BwCkBAIC0yMTMsNiArMjExLDcg
QEAgc2V0KFdURl9TT1VSQ0VTCiApCiAKIHNldChXVEZfSU5DTFVERV9ESVJFQ1RPUklFUworICAg
ICIke0JNQUxMT0NfRElSfSIKICAgICAiJHtXVEZfRElSfSIKICAgICAiJHtXVEZfRElSfS93dGYi
CiAgICAgIiR7V1RGX0RJUn0vd3RmL2R0b2EiCkBAIC0yMjYsNiArMjI1LDcgQEAgc2V0KFdURl9J
TkNMVURFX0RJUkVDVE9SSUVTCiAKIHNldChXVEZfTElCUkFSSUVTCiAgICAgJHtDTUFLRV9ETF9M
SUJTfQorICAgIGJtYWxsb2MKICkKIAogbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuY3BwIGIvU291cmNlL1dURi93dGYvRmFzdE1h
bGxvYy5jcHAKaW5kZXggMThhOWM4NDEyNjZmMDhmOGY1MzMwNDcxMTI2ZDUwZjM4NWRiZjFjMC4u
NWZkOWM5NTBiZGM5OGVhNjNiMjY1MjUxMTc3NDk4NjRjZmIxMGI5ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvRmFzdE1hbGxvYy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvRmFzdE1hbGxv
Yy5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQAogI2VuZGlmCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JN
KENPQ09BKQorI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JN
KEdUSykKICNkZWZpbmUgVVNFX0JNQUxMT0MgMQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL2JtYWxsb2MvQ01ha2VMaXN0cy50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTlhMWE3NmZjNGY4YmU0OTc3MDZiMGY4NDMyNGViZTc3ZTJjZGE2MwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEs
MjIgQEAKK3NldChibWFsbG9jX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAiJHtCTUFMTE9DX0RJ
Un0iCispCisKK3NldChibWFsbG9jX1NPVVJDRVMKKyAgICBibWFsbG9jL0FsbG9jYXRvci5jcHAK
KyAgICBibWFsbG9jL0NhY2hlLmNwcAorICAgIGJtYWxsb2MvRGVhbGxvY2F0b3IuY3BwCisgICAg
Ym1hbGxvYy9FbnZpcm9ubWVudC5jcHAKKyAgICBibWFsbG9jL0hlYXAuY3BwCisgICAgYm1hbGxv
Yy9PYmplY3RUeXBlLmNwcAorICAgIGJtYWxsb2MvU2VncmVnYXRlZEZyZWVMaXN0LmNwcAorICAg
IGJtYWxsb2MvU3RhdGljTXV0ZXguY3BwCisgICAgYm1hbGxvYy9WTUhlYXAuY3BwCisgICAgYm1h
bGxvYy9tYm1hbGxvYy5jcHAKKykKKworV0VCS0lUX1dSQVBfU09VUkNFTElTVCgke2JtYWxsb2Nf
U09VUkNFU30pCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7Ym1hbGxvY19JTkNMVURFX0RJUkVDVE9S
SUVTfSkKK2FkZF9saWJyYXJ5KGJtYWxsb2MgJHtibWFsbG9jX1NPVVJDRVN9KQordGFyZ2V0X2xp
bmtfbGlicmFyaWVzKGJtYWxsb2MgJHtibWFsbG9jX0xJQlJBUklFU30pCitzZXRfdGFyZ2V0X3By
b3BlcnRpZXMoYm1hbGxvYyBQUk9QRVJUSUVTIENPTVBJTEVfREVGSU5JVElPTlMgIkJVSUxESU5H
X2JtYWxsb2MiKQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxvY2F0b3Iu
Y3BwIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxvY2F0b3IuY3BwCmluZGV4IGVkNTczZGM5
YzI2N2I5YzFjOTMwMTA0MWMzYmQ2OGQzMjgwYTYwYmMuLmViZjBjZjYyMTNhZWJmZGE5MGFhNmIw
NTUzZWMxZGIwYmYzMTJkMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQWxs
b2NhdG9yLmNwcAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FsbG9jYXRvci5jcHAKQEAg
LTU2LDcgKzU2LDggQEAgdm9pZCogQWxsb2NhdG9yOjphbGxvY2F0ZShzaXplX3QgYWxpZ25tZW50
LCBzaXplX3Qgc2l6ZSkKIAogICAgIGlmICghbV9pc0JtYWxsb2NFbmFibGVkKSB7CiAgICAgICAg
IHZvaWQqIHJlc3VsdCA9IG51bGxwdHI7Ci0gICAgICAgIHBvc2l4X21lbWFsaWduKCZyZXN1bHQs
IGFsaWdubWVudCwgc2l6ZSk7CisgICAgICAgIGlmIChwb3NpeF9tZW1hbGlnbigmcmVzdWx0LCBh
bGlnbm1lbnQsIHNpemUpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgIHJl
dHVybiByZXN1bHQ7CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9Bc3luY1Rhc2suaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXN5bmNUYXNrLmgKaW5k
ZXggNTA0ZGE4MTM1ZDg2NzE0Zjk3ZTA0M2YyNTM3NTA3MjgxYThhMGJhMS4uOTUzOTIxZDFiN2Fj
NTc4MTNkOGQzMmJmY2Y2YTA2MWE1NDQzNmU3ZiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9Bc3luY1Rhc2suaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FzeW5jVGFz
ay5oCkBAIC02NCw3ICs2NCw3IEBAIHByaXZhdGU6CiAgICAgRnVuY3Rpb24gbV9mdW5jdGlvbjsK
IH07CiAKLXRlbXBsYXRlPHR5cGVuYW1lIE9iamVjdCwgdHlwZW5hbWUgRnVuY3Rpb24+IGNvbnN0
IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIEFzeW5jVGFzazxPYmplY3QsIEZ1bmN0aW9uPjo6ZXhpdERl
bGF5OwordGVtcGxhdGU8dHlwZW5hbWUgT2JqZWN0LCB0eXBlbmFtZSBGdW5jdGlvbj4gY29uc3Qg
Y29uc3RleHByIHN0ZDo6Y2hyb25vOjpzZWNvbmRzIEFzeW5jVGFzazxPYmplY3QsIEZ1bmN0aW9u
Pjo6ZXhpdERlbGF5OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBPYmplY3QsIHR5cGVuYW1lIEZ1bmN0
aW9uPgogQXN5bmNUYXNrPE9iamVjdCwgRnVuY3Rpb24+OjpBc3luY1Rhc2soT2JqZWN0JiBvYmpl
Y3QsIGNvbnN0IEZ1bmN0aW9uJiBmdW5jdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvQm91bmRhcnlUYWcuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQm91bmRhcnlU
YWcuaAppbmRleCA3NjFmZDNmMTgxYjIwYjcwNzE4NTg0N2Q0MGYxOWRhY2Y1MGM0NTcyLi5iMmVk
Y2UyZDkyY2JmNDJhMDUxODE2MTRlYjk5MWY5ZTI0NGM4ZGFhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL0JvdW5kYXJ5VGFnLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9Cb3VuZGFyeVRhZy5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQkFzc2VydC5oIgog
I2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVkZSAiU2l6ZXMuaCIKKyNpbmNsdWRlIDxjc3RyaW5n
PgogCiBuYW1lc3BhY2UgYm1hbGxvYyB7CiAKQEAgLTU0LDcgKzU1LDcgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0SGFzUGh5c2ljYWxQYWdlcyhib29sIGhhc1BoeXNpY2FsUGFnZXMpIHsgbV9oYXNQ
aHlzaWNhbFBhZ2VzID0gaGFzUGh5c2ljYWxQYWdlczsgfQogCiAgICAgYm9vbCBpc051bGwoKSB7
IHJldHVybiAhbV9zaXplOyB9Ci0gICAgdm9pZCBjbGVhcigpIHsgbWVtc2V0KHRoaXMsIDAsIHNp
emVvZigqdGhpcykpOyB9CisgICAgdm9pZCBjbGVhcigpIHsgc3RkOjptZW1zZXQodGhpcywgMCwg
c2l6ZW9mKCp0aGlzKSk7IH0KICAgICAKICAgICBzaXplX3Qgc2l6ZSgpIHsgcmV0dXJuIG1fc2l6
ZTsgfQogICAgIHVuc2lnbmVkIGNvbXBhY3RCZWdpbigpIHsgcmV0dXJuIG1fY29tcGFjdEJlZ2lu
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0NodW5rLmggYi9Tb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL0NodW5rLmgKaW5kZXggMGM0ZDFkMmRkOGFjMDhlYjA4MWY4ZDVlNmEw
OTU0ODY3NjdmNWMwMC4uNDFmODkyN2UxODk0YzAxMWI2YTQ2MTYxODA3M2IyNDg2M2NjYWQzZiAx
MDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9DaHVuay5oCisrKyBiL1NvdXJjZS9i
bWFsbG9jL2JtYWxsb2MvQ2h1bmsuaApAQCAtMzUsOCArMzUsOSBAQCBuYW1lc3BhY2UgYm1hbGxv
YyB7CiB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+CiBjbGFzcyBDaHVuayB7CiBwdWJsaWM6Ci0gICAg
dHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6OlBhZ2UgUGFnZTsKLSAgICB0eXBlZGVmIHR5cGVuYW1l
IFRyYWl0czo6TGluZSBMaW5lOworICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpQYWdlVHlw
ZSBQYWdlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpMaW5lVHlwZSBMaW5lOworCiAg
ICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9IFRyYWl0czo6bGluZVNpemU7CiAgICAg
c3RhdGljIGNvbnN0IHNpemVfdCBjaHVua1NpemUgPSBUcmFpdHM6OmNodW5rU2l6ZTsKICAgICBz
dGF0aWMgY29uc3Qgc2l6ZV90IGNodW5rT2Zmc2V0ID0gVHJhaXRzOjpjaHVua09mZnNldDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvRW5kVGFnLmggYi9Tb3VyY2UvYm1hbGxv
Yy9ibWFsbG9jL0VuZFRhZy5oCmluZGV4IDllYWU5OTc5ZTcwOGRhNTJmMGM0YTU0NTFkOWU4ZGUz
OTY3M2EwYjEuLmY5NDE1M2E5MTdkODdmZTI2MGI4Njc2MTQ4YmY0MTMwOGEyYmQ5ZmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvRW5kVGFnLmgKKysrIGIvU291cmNlL2JtYWxs
b2MvYm1hbGxvYy9FbmRUYWcuaApAQCAtMzcsNyArMzcsNyBAQCBwdWJsaWM6CiAKIGlubGluZSBF
bmRUYWcmIEVuZFRhZzo6b3BlcmF0b3I9KGNvbnN0IEJlZ2luVGFnJiBvdGhlcikKIHsKLSAgICBt
ZW1jcHkodGhpcywgJm90aGVyLCBzaXplb2YoQm91bmRhcnlUYWcpKTsKKyAgICBzdGQ6Om1lbWNw
eSh0aGlzLCAmb3RoZXIsIHNpemVvZihCb3VuZGFyeVRhZykpOwogICAgIHNldEVuZCh0cnVlKTsK
ICAgICByZXR1cm4gKnRoaXM7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9j
L0xpbmUuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5oCmluZGV4IDhhOGQ3MWUxODk5
MWNiNjU4ZjBiZGZmNGU4ZmQ4YTdiMWU2OTZiMmUuLjhhZjgzZWY5YWNjZTIxYmFjYjhlNGM3Njgw
NTQ2OWVjZTBjNGU3MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5o
CisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5oCkBAIC0zNiw3ICszNiw4IEBAIG5h
bWVzcGFjZSBibWFsbG9jIHsKIHRlbXBsYXRlPGNsYXNzIFRyYWl0cz4KIGNsYXNzIExpbmUgewog
cHVibGljOgotICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpDaHVuayBDaHVuazsKKyAgICB0
eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6Q2h1bmtUeXBlIENodW5rOworCiAgICAgc3RhdGljIGNv
bnN0IHNpemVfdCBtaW5pbXVtT2JqZWN0U2l6ZSA9IFRyYWl0czo6bWluaW11bU9iamVjdFNpemU7
CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9IFRyYWl0czo6bGluZVNpemU7CiAg
ICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL01lZGl1bVRyYWl0cy5oIGIv
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9NZWRpdW1UcmFpdHMuaAppbmRleCBiYmNlMDFhYjMwZWQ3
ZjU3YjM0ZjQ0ZTE2NWI4MjA0M2RkYjQ3YjEyLi41OWQ3OGY1MDE3NWViMjU5NTQxNTRkODI4MDEw
OTIwNDM1YzFjY2I1IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL01lZGl1bVRy
YWl0cy5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTWVkaXVtVHJhaXRzLmgKQEAgLTM2
LDkgKzM2LDkgQEAgdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPiBjbGFzcyBMaW5lOwogdGVtcGxhdGU8
Y2xhc3MgVHJhaXRzPiBjbGFzcyBQYWdlOwogCiBzdHJ1Y3QgTWVkaXVtVHJhaXRzIHsKLSAgICB0
eXBlZGVmIENodW5rPE1lZGl1bVRyYWl0cz4gQ2h1bms7Ci0gICAgdHlwZWRlZiBMaW5lPE1lZGl1
bVRyYWl0cz4gTGluZTsKLSAgICB0eXBlZGVmIFBhZ2U8TWVkaXVtVHJhaXRzPiBQYWdlOworICAg
IHR5cGVkZWYgQ2h1bms8TWVkaXVtVHJhaXRzPiBDaHVua1R5cGU7CisgICAgdHlwZWRlZiBMaW5l
PE1lZGl1bVRyYWl0cz4gTGluZVR5cGU7CisgICAgdHlwZWRlZiBQYWdlPE1lZGl1bVRyYWl0cz4g
UGFnZVR5cGU7CiAKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGxpbmVTaXplID0gbWVkaXVtTGlu
ZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBtaW5pbXVtT2JqZWN0U2l6ZSA9IHNtYWxs
TWF4ICsgYWxpZ25tZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QYWdl
LmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BhZ2UuaAppbmRleCAzODE0MGE1NjRhZDNiOTQ1
NDUyNGRjZjkzYzVmZWU2ZDdjYzNiODNmLi5mZGZhMTU4ZDYxMjNlNDhhNGUzZTA5MTkwNTc4Mzg4
ODQ2OWExNTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BhZ2UuaAorKysg
Yi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BhZ2UuaApAQCAtMzYsOCArMzYsOSBAQCBuYW1lc3Bh
Y2UgYm1hbGxvYyB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUcmFpdHM+CiBjbGFzcyBQYWdlIHsKIHB1
YmxpYzoKLSAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6Q2h1bmsgQ2h1bms7Ci0gICAgdHlw
ZWRlZiB0eXBlbmFtZSBUcmFpdHM6OkxpbmUgTGluZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFRy
YWl0czo6Q2h1bmtUeXBlIENodW5rOworICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpMaW5l
VHlwZSBMaW5lOworCiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9IFRyYWl0czo6
bGluZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lQ291bnQgPSB2bVBhZ2VTaXpl
IC8gbGluZVNpemU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGVyVGhy
ZWFkLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BlclRocmVhZC5oCmluZGV4IDAyZjA3ZTE2
NTJhN2E2YTM0N2ZhODA2YzI1NmYzYTg1MTVlMGI4ZWEuLmYxZDY0NGE0OTdiMjhjNTdjYThjYjJh
MmY3MzNlYjFlMGZiNGQ3OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGVy
VGhyZWFkLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QZXJUaHJlYWQuaApAQCAtMzAs
OSArMzAsMTEgQEAKICNpbmNsdWRlICJJbmxpbmUuaCIKICNpbmNsdWRlIDxtdXRleD4KICNpbmNs
dWRlIDxwdGhyZWFkLmg+Ci0jaWYgZGVmaW5lZChfX2hhc19pbmNsdWRlKSAmJiBfX2hhc19pbmNs
dWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KQorI2lmIGRlZmluZWQoX19oYXNfaW5jbHVk
ZSkKKyNpZiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KQogI2luY2x1
ZGUgPFN5c3RlbS9wdGhyZWFkX21hY2hkZXAuaD4KICNlbmRpZgorI2VuZGlmCiAKIG5hbWVzcGFj
ZSBibWFsbG9jIHsKIApAQCAtNTAsNyArNTIsOSBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lk
IGRlc3RydWN0b3Iodm9pZCopOwogfTsKIAotI2lmIGRlZmluZWQoX19oYXNfaW5jbHVkZSkgJiYg
X19oYXNfaW5jbHVkZSg8U3lzdGVtL3B0aHJlYWRfbWFjaGRlcC5oPikKKworI2lmIGRlZmluZWQo
X19oYXNfaW5jbHVkZSkKKyNpZiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVw
Lmg+KQogCiBjbGFzcyBDYWNoZTsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBQZXJUaHJl
YWRTdG9yYWdlOwpAQCAtNzIsNyArNzYsMTAgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgUGVyVGhyZWFk
U3RvcmFnZTxDYWNoZT4gewogICAgIH0KIH07CiAKLSNlbHNlCisjZW5kaWYKKyNlbmRpZgorCisj
aWYgZGVmaW5lZChfX2hhc19pbmNsdWRlKQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3Qg
UGVyVGhyZWFkU3RvcmFnZSB7CiAgICAgc3RhdGljIGJvb2wgc19kaWRJbml0aWFsaXplOwpAQCAt
MTAwLDcgKzEwNyw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGJvb2wgUGVyVGhyZWFkU3RvcmFn
ZTxUPjo6c19kaWRJbml0aWFsaXplOwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gcHRocmVhZF9rZXlf
dCBQZXJUaHJlYWRTdG9yYWdlPFQ+OjpzX2tleTsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0ZDo6
b25jZV9mbGFnIFBlclRocmVhZFN0b3JhZ2U8VD46OnNfb25jZUZsYWc7CiAKLSNlbmRpZiAvLyBk
ZWZpbmVkKF9faGFzX2luY2x1ZGUpICYmIF9faGFzX2luY2x1ZGUoPFN5c3RlbS9wdGhyZWFkX21h
Y2hkZXAuaD4pCisjZW5kaWYgLy8gIWRlZmluZWQoX19oYXNfaW5jbHVkZSkKIAogdGVtcGxhdGU8
dHlwZW5hbWUgVD4KIElOTElORSBUKiBQZXJUaHJlYWQ8VD46OmdldEZhc3RDYXNlKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU21hbGxUcmFpdHMuaCBiL1NvdXJjZS9ibWFs
bG9jL2JtYWxsb2MvU21hbGxUcmFpdHMuaAppbmRleCBlNDBjMTY2ZWRkMDdiY2FmZTE3NTZmMTVm
NmFjMTE1Y2VhOWExMzIyLi44MDZiN2U4YzY2NWRhNTQ0NDAzZGVmZjgxZDM4ZGI5YjkwYmRhNjY3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1NtYWxsVHJhaXRzLmgKKysrIGIv
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9TbWFsbFRyYWl0cy5oCkBAIC0zNSw5ICszNSw5IEBAIHRl
bXBsYXRlPGNsYXNzIFRyYWl0cz4gY2xhc3MgTGluZTsKIHRlbXBsYXRlPGNsYXNzIFRyYWl0cz4g
Y2xhc3MgUGFnZTsKIAogc3RydWN0IFNtYWxsVHJhaXRzIHsKLSAgICB0eXBlZGVmIENodW5rPFNt
YWxsVHJhaXRzPiBDaHVuazsKLSAgICB0eXBlZGVmIExpbmU8U21hbGxUcmFpdHM+IExpbmU7Ci0g
ICAgdHlwZWRlZiBQYWdlPFNtYWxsVHJhaXRzPiBQYWdlOworICAgIHR5cGVkZWYgQ2h1bms8U21h
bGxUcmFpdHM+IENodW5rVHlwZTsKKyAgICB0eXBlZGVmIExpbmU8U21hbGxUcmFpdHM+IExpbmVU
eXBlOworICAgIHR5cGVkZWYgUGFnZTxTbWFsbFRyYWl0cz4gUGFnZVR5cGU7CiAKICAgICBzdGF0
aWMgY29uc3Qgc2l6ZV90IGxpbmVTaXplID0gc21hbGxMaW5lU2l6ZTsKICAgICBzdGF0aWMgY29u
c3Qgc2l6ZV90IG1pbmltdW1PYmplY3RTaXplID0gYWxpZ25tZW50OwpkaWZmIC0tZ2l0IGEvU291
cmNlL2JtYWxsb2MvYm1hbGxvYy9WTUFsbG9jYXRlLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9j
L1ZNQWxsb2NhdGUuaAppbmRleCA5NDA2MzU4YWU1MWY1OWIwOGZkNjc1OWQ1MmNlOWE4MjI1YTM0
NjRlLi40NjMyZDQ1N2M0NzNmOGYxYzJjNDVjMTMxNmI5YTAwZDQzM2M1YjY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZNQWxsb2NhdGUuaAorKysgYi9Tb3VyY2UvYm1hbGxv
Yy9ibWFsbG9jL1ZNQWxsb2NhdGUuaApAQCAtMzEsMTMgKzMxLDIwIEBACiAjaW5jbHVkZSAiU2l6
ZXMuaCIKICNpbmNsdWRlICJTeXNjYWxsLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgotI2luY2x1
ZGUgPG1hY2gvdm1fc3RhdGlzdGljcy5oPgogI2luY2x1ZGUgPHN5cy9tbWFuLmg+CiAjaW5jbHVk
ZSA8dW5pc3RkLmg+CiAKKyNpZiBkZWZpbmVkKEJPU19EQVJXSU4pCisjaW5jbHVkZSA8bWFjaC92
bV9zdGF0aXN0aWNzLmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIGJtYWxsb2MgewogCisjaWYgZGVm
aW5lZChCT1NfREFSV0lOKQogI2RlZmluZSBCTUFMTE9DX1ZNX1RBRyBWTV9NQUtFX1RBRyhWTV9N
RU1PUllfVENNQUxMT0MpCisjZWxzZQorI2RlZmluZSBCTUFMTE9DX1ZNX1RBRyAtMQorI2VuZGlm
CiAKIGlubGluZSBzaXplX3Qgdm1TaXplKHNpemVfdCBzaXplKQogewpAQCAtMTA3LDEzICsxMTQs
MjEgQEAgaW5saW5lIHZvaWQqIHZtQWxsb2NhdGUoc2l6ZV90IHZtQWxpZ25tZW50LCBzaXplX3Qg
dm1TaXplKQogaW5saW5lIHZvaWQgdm1EZWFsbG9jYXRlUGh5c2ljYWxQYWdlcyh2b2lkKiBwLCBz
aXplX3Qgdm1TaXplKQogewogICAgIHZtVmFsaWRhdGUocCwgdm1TaXplKTsKKyNpZiBkZWZpbmVk
KEJPU19EQVJXSU4pCiAgICAgU1lTQ0FMTChtYWR2aXNlKHAsIHZtU2l6ZSwgTUFEVl9GUkVFX1JF
VVNBQkxFKSk7CisjZWxzZQorICAgIFNZU0NBTEwobWFkdmlzZShwLCB2bVNpemUsIE1BRFZfRE9O
VE5FRUQpKTsKKyNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCB2bUFsbG9jYXRlUGh5c2ljYWxQYWdl
cyh2b2lkKiBwLCBzaXplX3Qgdm1TaXplKQogewogICAgIHZtVmFsaWRhdGUocCwgdm1TaXplKTsK
KyNpZiBkZWZpbmVkKEJPU19EQVJXSU4pCiAgICAgU1lTQ0FMTChtYWR2aXNlKHAsIHZtU2l6ZSwg
TUFEVl9GUkVFX1JFVVNFKSk7CisjZWxzZQorICAgIFNZU0NBTEwobWFkdmlzZShwLCB2bVNpemUs
IE1BRFZfRE9OVE5FRUQpKTsKKyNlbmRpZgogfQogCiAvLyBUcmltcyByZXF1ZXN0cyB0aGF0IGFy
ZSB1bi1wYWdlLWFsaWduZWQuIE5PVEU6IHNpemUgbXVzdCBiZSBhdCBsZWFzdCBhIHBhZ2UuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZlY3Rvci5oIGIvU291cmNlL2JtYWxs
b2MvYm1hbGxvYy9WZWN0b3IuaAppbmRleCA1YTA2ODhlMmRkZWU5MDQwYmI4NTQwZjAzMTYyODBj
N2NlM2E2ZGZmLi41YjQxMTJiZTYzY2M5N2ZlMTQ2MTRhODA4NjZhNjg5NjczMmQ3OTE0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZlY3Rvci5oCisrKyBiL1NvdXJjZS9ibWFs
bG9jL2JtYWxsb2MvVmVjdG9yLmgKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNsdWRlICJJbmxpbmUu
aCIKICNpbmNsdWRlICJWTUFsbG9jYXRlLmgiCiAjaW5jbHVkZSA8Y3N0ZGRlZj4KLSNpbmNsdWRl
IDxzdHJpbmc+CisjaW5jbHVkZSA8Y3N0cmluZz4KIAogbmFtZXNwYWNlIGJtYWxsb2MgewogCkBA
IC0xMTIsNyArMTEyLDcgQEAgdm9pZCBWZWN0b3I8VD46OnB1c2goY29uc3QgVCogYmVnaW4sIGNv
bnN0IFQqIGVuZCkKICAgICBzaXplX3QgbmV3U2l6ZSA9IG1fc2l6ZSArIChlbmQgLSBiZWdpbik7
CiAgICAgaWYgKG5ld1NpemUgPiBtX2NhcGFjaXR5KQogICAgICAgICBncm93Q2FwYWNpdHkobmV3
U2l6ZSk7Ci0gICAgbWVtY3B5KHRoaXMtPmVuZCgpLCBiZWdpbiwgKGVuZCAtIGJlZ2luKSAqIHNp
emVvZihUKSk7CisgICAgc3RkOjptZW1jcHkodGhpcy0+ZW5kKCksIGJlZ2luLCAoZW5kIC0gYmVn
aW4pICogc2l6ZW9mKFQpKTsKICAgICBtX3NpemUgPSBuZXdTaXplOwogfQogCkBAIC0xNDgsNyAr
MTQ4LDcgQEAgdm9pZCBWZWN0b3I8VD46OnJlYWxsb2NhdGVCdWZmZXIoc2l6ZV90IG5ld0NhcGFj
aXR5KQogICAgIHNpemVfdCB2bVNpemUgPSBibWFsbG9jOjp2bVNpemUobmV3Q2FwYWNpdHkgKiBz
aXplb2YoVCkpOwogICAgIFQqIG5ld0J1ZmZlciA9IHN0YXRpY19jYXN0PFQqPih2bUFsbG9jYXRl
KHZtU2l6ZSkpOwogICAgIGlmIChtX2J1ZmZlcikgewotICAgICAgICBtZW1jcHkobmV3QnVmZmVy
LCBtX2J1ZmZlciwgbV9zaXplICogc2l6ZW9mKFQpKTsKKyAgICAgICAgc3RkOjptZW1jcHkobmV3
QnVmZmVyLCBtX2J1ZmZlciwgbV9zaXplICogc2l6ZW9mKFQpKTsKICAgICAgICAgdm1EZWFsbG9j
YXRlKG1fYnVmZmVyLCBibWFsbG9jOjp2bVNpemUobV9jYXBhY2l0eSAqIHNpemVvZihUKSkpOwog
ICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktpdEhlbHBlcnMuY21ha2UgYi9T
b3VyY2UvY21ha2UvV2ViS2l0SGVscGVycy5jbWFrZQppbmRleCBmNmUwZWFmNTBhZjVjM2ZmNWVm
YmUzZWNiNDkzZjQ0M2Y3OTI1YmIzLi40ZTVmOTE2ZGIwMDJmYWNiYmM0MmUzYjk5ZmFjOWZhOGIx
MmEzMDBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0SGVscGVycy5jbWFrZQorKysg
Yi9Tb3VyY2UvY21ha2UvV2ViS2l0SGVscGVycy5jbWFrZQpAQCAtMzAsNyArMzAsNyBAQCBtYWNy
byhXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTIF90YXJnZXQpCiAKICAgICAgICAgIyBF
bmFibGUgZXJyb3JzIG9uIHdhcm5pbmcKICAgICAgICAgaWYgKE9QVElPTl9FTkFCTEVfV0VSUk9S
KQotICAgICAgICAgICAgc2V0KE9MRF9DT01QSUxFX0ZMQUdTICItV2Vycm9yIC1Xbm8tZXJyb3I9
dW51c2VkLXBhcmFtZXRlciAke09MRF9DT01QSUxFX0ZMQUdTfSIpCisgICAgICAgICAgICBzZXQo
T0xEX0NPTVBJTEVfRkxBR1MgIi1XZXJyb3IgLVduby1lcnJvcj1hdHRyaWJ1dGVzIC1Xbm8tZXJy
b3I9dW51c2VkLXBhcmFtZXRlciAke09MRF9DT01QSUxFX0ZMQUdTfSIpCiAgICAgICAgIGVuZGlm
ICgpCiAKICAgICAgICAgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKCR7X3RhcmdldH0gUFJPUEVSVElF
UwpkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAppbmRleCBlZjE3
ZGM3ZjliMWMzODYzMjFiN2MyNmRhMzA4NzYzYjViNDhjMGE3Li40YWY5ZGQyYjU3NmFhOTFkMTg1
ZDBlYWY5ZGMwM2YzZjJlMTlmZTY2IDEwMDY0NAotLS0gYS9DTWFrZUxpc3RzLnR4dAorKysgYi9D
TWFrZUxpc3RzLnR4dApAQCAtNCw2ICs0LDcgQEAgcHJvamVjdChXZWJLaXQpCiAjIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCiAjIERlZmF1bHQgbGlicmFyeSB0eXBlCiAjIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCitzZXQoQk1BTExPQ19ESVIgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL2JtYWxsb2Mi
KQogc2V0KFdURl9ESVIgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dURiIpCiBzZXQoSkFW
QVNDUklQVENPUkVfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZSIpCiBzZXQoV0VCQ09SRV9ESVIgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkNvcmUi
KQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDc4MDQ5MjViNTAwYzQy
NDQ4M2ZmMDMwZGJhZjQ3MjFiZWU3ZDIyYzguLjdiNmI0MGM4MWQ3Mzk4NzIyMzVkNGQwODJhYWVm
MTNiYjhmN2E5YjQgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNS0wMS0yNiAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1
bmcuY29tPgorCisgICAgICAgIFtFRkxdW0dUS10gVXNlIGJtYWxsb2MgaW5zdGVhZCBvZiB0Y21h
bGxvYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQw
MTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBT
b3VyY2UvQ01ha2VMaXN0cy50eHQ6CisKIDIwMTUtMDEtMjYgIENzYWJhIE9zenRyb2dvbsOhYyAg
PG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBbY21ha2VdIFN0b3AgY29tcGlsaW5nIHdpdGgg
LVduby1lcnJvcj11bmluaXRpYWxpemVkIGFuZCAtV25vLWVycm9yPWxpdGVyYWwtc3VmZml4Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245395</attachid>
            <date>2015-01-26 17:27:39 -0800</date>
            <delta_ts>2015-01-27 08:34:44 -0800</delta_ts>
            <desc>Patch for ews</desc>
            <filename>bug-140162-20150127102742.patch</filename>
            <type>text/plain</type>
            <size>15975</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc5MTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY4Yjk1OTcyOTgyMzliMmNmODYyYzU2
MjZhMzFmMjJlZjg4NDYzNzMuLjNjMzE5OGFhMTdjNDViNjhkY2FlOWE0ODc5OGQ0ZGIyYmMxN2Nj
ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTUtMDEtMjYgIEd5dXlvdW5nIEtpbSAgPGd5dXlv
dW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGlu
c3RlYWQgb2YgdGNtYWxsb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MDE2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OgorCiAyMDE1LTAxLTI0ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUHJvdmlkZSBpbXBsZW1lbnRhdGlvbiBm
b3IgV1RGOjpEZWZhdWx0SGFzaDxib29sPgpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvQ2hh
bmdlTG9nIGIvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCmluZGV4IGM5ZjJlNWY1NmIyZjViYjJm
NDMwZWZlZDdiZjVlNjg2Y2YwNTAzNzIuLjgxN2RmNWZlZjE3OWM4ZGYwODg2N2FkMzVlYzhjZTdi
NDliZjVkODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvYm1hbGxvYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNS0wMS0yNiAgR3l1eW91
bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW0dUS10g
VXNlIGJtYWxsb2MgaW5zdGVhZCBvZiB0Y21hbGxvYworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogQWRkZWQuCisKIDIwMTUt
MDEtMjEgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBibWFs
bG9jOiBzdXBwb3J0IGFsaWduZWQgYWxsb2NhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL0NNYWtlTGlzdHMudHh0CmluZGV4IDU0ODY3MjBkNzYyYjA4N2M2
MmFiZTg0N2I0MTQ4OGY1NzBiY2VmMjguLmZhYmM1ZDZiNjhmODE0ZmE4ZTFkOTRiODJiYTljNzY2
NzhkODNkOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
Q01ha2VMaXN0cy50eHQKQEAgLTEsNiArMSw4IEBACiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAj
IEFkZCBtb2R1bGUgZGlyZWN0b3JpZXMKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2FkZF9zdWJk
aXJlY3RvcnkoYm1hbGxvYykKKwogYWRkX3N1YmRpcmVjdG9yeShXVEYpCiAKIGFkZF9zdWJkaXJl
Y3RvcnkoSmF2YVNjcmlwdENvcmUpCkBAIC0yNiw2ICsyOCw3IEBAIFdFQktJVF9JTkNMVURFX0NP
TkZJR19GSUxFU19JRl9FWElTVFMoKQogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBTZXQgY29t
cGlsZXIgZmxhZ3MgZm9yIGFsbCB0YXJnZXRzCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitXRUJL
SVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKGJtYWxsb2MgJHtBRERJVElPTkFMX0NPTVBJTEVS
X0ZMQUdTfSkKIFdFQktJVF9TRVRfRVhUUkFfQ09NUElMRVJfRkxBR1MoV1RGICR7QURESVRJT05B
TF9DT01QSUxFUl9GTEFHU30pCiBXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKEphdmFT
Y3JpcHRDb3JlICR7QURESVRJT05BTF9DT01QSUxFUl9GTEFHU30pCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50
eHQKaW5kZXggYjllNjY5MTZkZjBhMmI1YWUzZThkOTgxNWRlM2MwYTlmODcxNDJkZS4uMWRjMzg1
Mzg1MTcyYTJhNjM4NTFjZDlmODU2ZWIzMWFmNjk5MTBjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQK
QEAgLTEwMCw3ICsxMDAsNiBAQCBzZXQoV1RGX0hFQURFUlMKICAgICBUQ1BhY2tlZENhY2hlLmgK
ICAgICBUQ1BhZ2VNYXAuaAogICAgIFRDU3BpbkxvY2suaAotICAgIFRDU3lzdGVtQWxsb2MuaAog
ICAgIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAogICAgIFRocmVhZFNhZmVSZWZDb3Vu
dGVkLmgKICAgICBUaHJlYWRTcGVjaWZpYy5oCkBAIC0xODMsNyArMTgyLDYgQEAgc2V0KFdURl9T
T1VSQ0VTCiAgICAgU3RhY2tTdGF0cy5jcHAKICAgICBTdGFja0JvdW5kcy5jcHAKICAgICBTdHJp
bmdQcmludFN0cmVhbS5jcHAKLSAgICBUQ1N5c3RlbUFsbG9jLmNwcAogICAgIFRocmVhZGluZy5j
cHAKICAgICBXVEZUaHJlYWREYXRhLmNwcAogICAgIGR0b2EuY3BwCkBAIC0yMTMsNiArMjExLDcg
QEAgc2V0KFdURl9TT1VSQ0VTCiApCiAKIHNldChXVEZfSU5DTFVERV9ESVJFQ1RPUklFUworICAg
ICIke0JNQUxMT0NfRElSfSIKICAgICAiJHtXVEZfRElSfSIKICAgICAiJHtXVEZfRElSfS93dGYi
CiAgICAgIiR7V1RGX0RJUn0vd3RmL2R0b2EiCkBAIC0yMjYsNiArMjI1LDcgQEAgc2V0KFdURl9J
TkNMVURFX0RJUkVDVE9SSUVTCiAKIHNldChXVEZfTElCUkFSSUVTCiAgICAgJHtDTUFLRV9ETF9M
SUJTfQorICAgIGJtYWxsb2MKICkKIAogbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuY3BwIGIvU291cmNlL1dURi93dGYvRmFzdE1h
bGxvYy5jcHAKaW5kZXggMThhOWM4NDEyNjZmMDhmOGY1MzMwNDcxMTI2ZDUwZjM4NWRiZjFjMC4u
NWZkOWM5NTBiZGM5OGVhNjNiMjY1MjUxMTc3NDk4NjRjZmIxMGI5ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvRmFzdE1hbGxvYy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvRmFzdE1hbGxv
Yy5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQAogI2VuZGlmCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JN
KENPQ09BKQorI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JN
KEdUSykKICNkZWZpbmUgVVNFX0JNQUxMT0MgMQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL2JtYWxsb2MvQ01ha2VMaXN0cy50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTlhMWE3NmZjNGY4YmU0OTc3MDZiMGY4NDMyNGViZTc3ZTJjZGE2MwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEs
MjIgQEAKK3NldChibWFsbG9jX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAiJHtCTUFMTE9DX0RJ
Un0iCispCisKK3NldChibWFsbG9jX1NPVVJDRVMKKyAgICBibWFsbG9jL0FsbG9jYXRvci5jcHAK
KyAgICBibWFsbG9jL0NhY2hlLmNwcAorICAgIGJtYWxsb2MvRGVhbGxvY2F0b3IuY3BwCisgICAg
Ym1hbGxvYy9FbnZpcm9ubWVudC5jcHAKKyAgICBibWFsbG9jL0hlYXAuY3BwCisgICAgYm1hbGxv
Yy9PYmplY3RUeXBlLmNwcAorICAgIGJtYWxsb2MvU2VncmVnYXRlZEZyZWVMaXN0LmNwcAorICAg
IGJtYWxsb2MvU3RhdGljTXV0ZXguY3BwCisgICAgYm1hbGxvYy9WTUhlYXAuY3BwCisgICAgYm1h
bGxvYy9tYm1hbGxvYy5jcHAKKykKKworV0VCS0lUX1dSQVBfU09VUkNFTElTVCgke2JtYWxsb2Nf
U09VUkNFU30pCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7Ym1hbGxvY19JTkNMVURFX0RJUkVDVE9S
SUVTfSkKK2FkZF9saWJyYXJ5KGJtYWxsb2MgJHtibWFsbG9jX1NPVVJDRVN9KQordGFyZ2V0X2xp
bmtfbGlicmFyaWVzKGJtYWxsb2MgJHtibWFsbG9jX0xJQlJBUklFU30pCitzZXRfdGFyZ2V0X3By
b3BlcnRpZXMoYm1hbGxvYyBQUk9QRVJUSUVTIENPTVBJTEVfREVGSU5JVElPTlMgIkJVSUxESU5H
X2JtYWxsb2MiKQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxvY2F0b3Iu
Y3BwIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxvY2F0b3IuY3BwCmluZGV4IGVkNTczZGM5
YzI2N2I5YzFjOTMwMTA0MWMzYmQ2OGQzMjgwYTYwYmMuLmViZjBjZjYyMTNhZWJmZGE5MGFhNmIw
NTUzZWMxZGIwYmYzMTJkMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQWxs
b2NhdG9yLmNwcAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FsbG9jYXRvci5jcHAKQEAg
LTU2LDcgKzU2LDggQEAgdm9pZCogQWxsb2NhdG9yOjphbGxvY2F0ZShzaXplX3QgYWxpZ25tZW50
LCBzaXplX3Qgc2l6ZSkKIAogICAgIGlmICghbV9pc0JtYWxsb2NFbmFibGVkKSB7CiAgICAgICAg
IHZvaWQqIHJlc3VsdCA9IG51bGxwdHI7Ci0gICAgICAgIHBvc2l4X21lbWFsaWduKCZyZXN1bHQs
IGFsaWdubWVudCwgc2l6ZSk7CisgICAgICAgIGlmIChwb3NpeF9tZW1hbGlnbigmcmVzdWx0LCBh
bGlnbm1lbnQsIHNpemUpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgIHJl
dHVybiByZXN1bHQ7CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9Bc3luY1Rhc2suaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXN5bmNUYXNrLmgKaW5k
ZXggNTA0ZGE4MTM1ZDg2NzE0Zjk3ZTA0M2YyNTM3NTA3MjgxYThhMGJhMS4uOTUzOTIxZDFiN2Fj
NTc4MTNkOGQzMmJmY2Y2YTA2MWE1NDQzNmU3ZiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9Bc3luY1Rhc2suaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FzeW5jVGFz
ay5oCkBAIC02NCw3ICs2NCw3IEBAIHByaXZhdGU6CiAgICAgRnVuY3Rpb24gbV9mdW5jdGlvbjsK
IH07CiAKLXRlbXBsYXRlPHR5cGVuYW1lIE9iamVjdCwgdHlwZW5hbWUgRnVuY3Rpb24+IGNvbnN0
IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIEFzeW5jVGFzazxPYmplY3QsIEZ1bmN0aW9uPjo6ZXhpdERl
bGF5OwordGVtcGxhdGU8dHlwZW5hbWUgT2JqZWN0LCB0eXBlbmFtZSBGdW5jdGlvbj4gY29uc3Qg
Y29uc3RleHByIHN0ZDo6Y2hyb25vOjpzZWNvbmRzIEFzeW5jVGFzazxPYmplY3QsIEZ1bmN0aW9u
Pjo6ZXhpdERlbGF5OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBPYmplY3QsIHR5cGVuYW1lIEZ1bmN0
aW9uPgogQXN5bmNUYXNrPE9iamVjdCwgRnVuY3Rpb24+OjpBc3luY1Rhc2soT2JqZWN0JiBvYmpl
Y3QsIGNvbnN0IEZ1bmN0aW9uJiBmdW5jdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvQm91bmRhcnlUYWcuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQm91bmRhcnlU
YWcuaAppbmRleCA3NjFmZDNmMTgxYjIwYjcwNzE4NTg0N2Q0MGYxOWRhY2Y1MGM0NTcyLi5iMmVk
Y2UyZDkyY2JmNDJhMDUxODE2MTRlYjk5MWY5ZTI0NGM4ZGFhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL0JvdW5kYXJ5VGFnLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9Cb3VuZGFyeVRhZy5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQkFzc2VydC5oIgog
I2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVkZSAiU2l6ZXMuaCIKKyNpbmNsdWRlIDxjc3RyaW5n
PgogCiBuYW1lc3BhY2UgYm1hbGxvYyB7CiAKQEAgLTU0LDcgKzU1LDcgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0SGFzUGh5c2ljYWxQYWdlcyhib29sIGhhc1BoeXNpY2FsUGFnZXMpIHsgbV9oYXNQ
aHlzaWNhbFBhZ2VzID0gaGFzUGh5c2ljYWxQYWdlczsgfQogCiAgICAgYm9vbCBpc051bGwoKSB7
IHJldHVybiAhbV9zaXplOyB9Ci0gICAgdm9pZCBjbGVhcigpIHsgbWVtc2V0KHRoaXMsIDAsIHNp
emVvZigqdGhpcykpOyB9CisgICAgdm9pZCBjbGVhcigpIHsgc3RkOjptZW1zZXQodGhpcywgMCwg
c2l6ZW9mKCp0aGlzKSk7IH0KICAgICAKICAgICBzaXplX3Qgc2l6ZSgpIHsgcmV0dXJuIG1fc2l6
ZTsgfQogICAgIHVuc2lnbmVkIGNvbXBhY3RCZWdpbigpIHsgcmV0dXJuIG1fY29tcGFjdEJlZ2lu
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0NodW5rLmggYi9Tb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL0NodW5rLmgKaW5kZXggMGM0ZDFkMmRkOGFjMDhlYjA4MWY4ZDVlNmEw
OTU0ODY3NjdmNWMwMC4uNDFmODkyN2UxODk0YzAxMWI2YTQ2MTYxODA3M2IyNDg2M2NjYWQzZiAx
MDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9DaHVuay5oCisrKyBiL1NvdXJjZS9i
bWFsbG9jL2JtYWxsb2MvQ2h1bmsuaApAQCAtMzUsOCArMzUsOSBAQCBuYW1lc3BhY2UgYm1hbGxv
YyB7CiB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+CiBjbGFzcyBDaHVuayB7CiBwdWJsaWM6Ci0gICAg
dHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6OlBhZ2UgUGFnZTsKLSAgICB0eXBlZGVmIHR5cGVuYW1l
IFRyYWl0czo6TGluZSBMaW5lOworICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpQYWdlVHlw
ZSBQYWdlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpMaW5lVHlwZSBMaW5lOworCiAg
ICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9IFRyYWl0czo6bGluZVNpemU7CiAgICAg
c3RhdGljIGNvbnN0IHNpemVfdCBjaHVua1NpemUgPSBUcmFpdHM6OmNodW5rU2l6ZTsKICAgICBz
dGF0aWMgY29uc3Qgc2l6ZV90IGNodW5rT2Zmc2V0ID0gVHJhaXRzOjpjaHVua09mZnNldDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvRW5kVGFnLmggYi9Tb3VyY2UvYm1hbGxv
Yy9ibWFsbG9jL0VuZFRhZy5oCmluZGV4IDllYWU5OTc5ZTcwOGRhNTJmMGM0YTU0NTFkOWU4ZGUz
OTY3M2EwYjEuLmY5NDE1M2E5MTdkODdmZTI2MGI4Njc2MTQ4YmY0MTMwOGEyYmQ5ZmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvRW5kVGFnLmgKKysrIGIvU291cmNlL2JtYWxs
b2MvYm1hbGxvYy9FbmRUYWcuaApAQCAtMzcsNyArMzcsNyBAQCBwdWJsaWM6CiAKIGlubGluZSBF
bmRUYWcmIEVuZFRhZzo6b3BlcmF0b3I9KGNvbnN0IEJlZ2luVGFnJiBvdGhlcikKIHsKLSAgICBt
ZW1jcHkodGhpcywgJm90aGVyLCBzaXplb2YoQm91bmRhcnlUYWcpKTsKKyAgICBzdGQ6Om1lbWNw
eSh0aGlzLCAmb3RoZXIsIHNpemVvZihCb3VuZGFyeVRhZykpOwogICAgIHNldEVuZCh0cnVlKTsK
ICAgICByZXR1cm4gKnRoaXM7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9j
L0xpbmUuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5oCmluZGV4IDhhOGQ3MWUxODk5
MWNiNjU4ZjBiZGZmNGU4ZmQ4YTdiMWU2OTZiMmUuLjhhZjgzZWY5YWNjZTIxYmFjYjhlNGM3Njgw
NTQ2OWVjZTBjNGU3MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5o
CisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5oCkBAIC0zNiw3ICszNiw4IEBAIG5h
bWVzcGFjZSBibWFsbG9jIHsKIHRlbXBsYXRlPGNsYXNzIFRyYWl0cz4KIGNsYXNzIExpbmUgewog
cHVibGljOgotICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpDaHVuayBDaHVuazsKKyAgICB0
eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6Q2h1bmtUeXBlIENodW5rOworCiAgICAgc3RhdGljIGNv
bnN0IHNpemVfdCBtaW5pbXVtT2JqZWN0U2l6ZSA9IFRyYWl0czo6bWluaW11bU9iamVjdFNpemU7
CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9IFRyYWl0czo6bGluZVNpemU7CiAg
ICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL01lZGl1bVRyYWl0cy5oIGIv
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9NZWRpdW1UcmFpdHMuaAppbmRleCBiYmNlMDFhYjMwZWQ3
ZjU3YjM0ZjQ0ZTE2NWI4MjA0M2RkYjQ3YjEyLi41OWQ3OGY1MDE3NWViMjU5NTQxNTRkODI4MDEw
OTIwNDM1YzFjY2I1IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL01lZGl1bVRy
YWl0cy5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTWVkaXVtVHJhaXRzLmgKQEAgLTM2
LDkgKzM2LDkgQEAgdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPiBjbGFzcyBMaW5lOwogdGVtcGxhdGU8
Y2xhc3MgVHJhaXRzPiBjbGFzcyBQYWdlOwogCiBzdHJ1Y3QgTWVkaXVtVHJhaXRzIHsKLSAgICB0
eXBlZGVmIENodW5rPE1lZGl1bVRyYWl0cz4gQ2h1bms7Ci0gICAgdHlwZWRlZiBMaW5lPE1lZGl1
bVRyYWl0cz4gTGluZTsKLSAgICB0eXBlZGVmIFBhZ2U8TWVkaXVtVHJhaXRzPiBQYWdlOworICAg
IHR5cGVkZWYgQ2h1bms8TWVkaXVtVHJhaXRzPiBDaHVua1R5cGU7CisgICAgdHlwZWRlZiBMaW5l
PE1lZGl1bVRyYWl0cz4gTGluZVR5cGU7CisgICAgdHlwZWRlZiBQYWdlPE1lZGl1bVRyYWl0cz4g
UGFnZVR5cGU7CiAKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGxpbmVTaXplID0gbWVkaXVtTGlu
ZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBtaW5pbXVtT2JqZWN0U2l6ZSA9IHNtYWxs
TWF4ICsgYWxpZ25tZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QYWdl
LmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BhZ2UuaAppbmRleCAzODE0MGE1NjRhZDNiOTQ1
NDUyNGRjZjkzYzVmZWU2ZDdjYzNiODNmLi5mZGZhMTU4ZDYxMjNlNDhhNGUzZTA5MTkwNTc4Mzg4
ODQ2OWExNTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BhZ2UuaAorKysg
Yi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BhZ2UuaApAQCAtMzYsOCArMzYsOSBAQCBuYW1lc3Bh
Y2UgYm1hbGxvYyB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUcmFpdHM+CiBjbGFzcyBQYWdlIHsKIHB1
YmxpYzoKLSAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6Q2h1bmsgQ2h1bms7Ci0gICAgdHlw
ZWRlZiB0eXBlbmFtZSBUcmFpdHM6OkxpbmUgTGluZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFRy
YWl0czo6Q2h1bmtUeXBlIENodW5rOworICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpMaW5l
VHlwZSBMaW5lOworCiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9IFRyYWl0czo6
bGluZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lQ291bnQgPSB2bVBhZ2VTaXpl
IC8gbGluZVNpemU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGVyVGhy
ZWFkLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BlclRocmVhZC5oCmluZGV4IDAyZjA3ZTE2
NTJhN2E2YTM0N2ZhODA2YzI1NmYzYTg1MTVlMGI4ZWEuLjk4YzYxZmRiMTBlODAwZDE2MTE4ODNj
OGFhYTg2MDEzZjNlYjc2MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGVy
VGhyZWFkLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QZXJUaHJlYWQuaApAQCAtMzAs
OSArMzAsMTEgQEAKICNpbmNsdWRlICJJbmxpbmUuaCIKICNpbmNsdWRlIDxtdXRleD4KICNpbmNs
dWRlIDxwdGhyZWFkLmg+Ci0jaWYgZGVmaW5lZChfX2hhc19pbmNsdWRlKSAmJiBfX2hhc19pbmNs
dWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KQorI2lmIGRlZmluZWQoX19oYXNfaW5jbHVk
ZSkKKyNpZiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KQogI2luY2x1
ZGUgPFN5c3RlbS9wdGhyZWFkX21hY2hkZXAuaD4KICNlbmRpZgorI2VuZGlmCiAKIG5hbWVzcGFj
ZSBibWFsbG9jIHsKIApAQCAtNTAsNyArNTIsOSBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lk
IGRlc3RydWN0b3Iodm9pZCopOwogfTsKIAotI2lmIGRlZmluZWQoX19oYXNfaW5jbHVkZSkgJiYg
X19oYXNfaW5jbHVkZSg8U3lzdGVtL3B0aHJlYWRfbWFjaGRlcC5oPikKKworI2lmIGRlZmluZWQo
X19oYXNfaW5jbHVkZSkKKyNpZiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVw
Lmg+KQogCiBjbGFzcyBDYWNoZTsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBQZXJUaHJl
YWRTdG9yYWdlOwpAQCAtNzIsNyArNzYsMTAgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgUGVyVGhyZWFk
U3RvcmFnZTxDYWNoZT4gewogICAgIH0KIH07CiAKLSNlbHNlCisjZW5kaWYKKyNlbmRpZgorCisj
aWYgZGVmaW5lZChfX2hhc19pbmNsdWRlKSB8fCBkZWZpbmVkKEJVSUxESU5HX0VGTF9fKQogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgUGVyVGhyZWFkU3RvcmFnZSB7CiAgICAgc3RhdGlj
IGJvb2wgc19kaWRJbml0aWFsaXplOwpAQCAtMTAwLDcgKzEwNyw3IEBAIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IGJvb2wgUGVyVGhyZWFkU3RvcmFnZTxUPjo6c19kaWRJbml0aWFsaXplOwogdGVtcGxh
dGU8dHlwZW5hbWUgVD4gcHRocmVhZF9rZXlfdCBQZXJUaHJlYWRTdG9yYWdlPFQ+OjpzX2tleTsK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0ZDo6b25jZV9mbGFnIFBlclRocmVhZFN0b3JhZ2U8VD46
OnNfb25jZUZsYWc7CiAKLSNlbmRpZiAvLyBkZWZpbmVkKF9faGFzX2luY2x1ZGUpICYmIF9faGFz
X2luY2x1ZGUoPFN5c3RlbS9wdGhyZWFkX21hY2hkZXAuaD4pCisjZW5kaWYgLy8gIWRlZmluZWQo
X19oYXNfaW5jbHVkZSkKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4KIElOTElORSBUKiBQZXJUaHJl
YWQ8VD46OmdldEZhc3RDYXNlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
U21hbGxUcmFpdHMuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU21hbGxUcmFpdHMuaAppbmRl
eCBlNDBjMTY2ZWRkMDdiY2FmZTE3NTZmMTVmNmFjMTE1Y2VhOWExMzIyLi44MDZiN2U4YzY2NWRh
NTQ0NDAzZGVmZjgxZDM4ZGI5YjkwYmRhNjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL1NtYWxsVHJhaXRzLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TbWFsbFRy
YWl0cy5oCkBAIC0zNSw5ICszNSw5IEBAIHRlbXBsYXRlPGNsYXNzIFRyYWl0cz4gY2xhc3MgTGlu
ZTsKIHRlbXBsYXRlPGNsYXNzIFRyYWl0cz4gY2xhc3MgUGFnZTsKIAogc3RydWN0IFNtYWxsVHJh
aXRzIHsKLSAgICB0eXBlZGVmIENodW5rPFNtYWxsVHJhaXRzPiBDaHVuazsKLSAgICB0eXBlZGVm
IExpbmU8U21hbGxUcmFpdHM+IExpbmU7Ci0gICAgdHlwZWRlZiBQYWdlPFNtYWxsVHJhaXRzPiBQ
YWdlOworICAgIHR5cGVkZWYgQ2h1bms8U21hbGxUcmFpdHM+IENodW5rVHlwZTsKKyAgICB0eXBl
ZGVmIExpbmU8U21hbGxUcmFpdHM+IExpbmVUeXBlOworICAgIHR5cGVkZWYgUGFnZTxTbWFsbFRy
YWl0cz4gUGFnZVR5cGU7CiAKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGxpbmVTaXplID0gc21h
bGxMaW5lU2l6ZTsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IG1pbmltdW1PYmplY3RTaXplID0g
YWxpZ25tZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WTUFsbG9jYXRl
LmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZNQWxsb2NhdGUuaAppbmRleCA5NDA2MzU4YWU1
MWY1OWIwOGZkNjc1OWQ1MmNlOWE4MjI1YTM0NjRlLi42NWFjNGQ0YjFlMTljM2JkNDRlNjBhYmE4
OGViY2UyYzdkNTg5ZjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZNQWxs
b2NhdGUuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZNQWxsb2NhdGUuaApAQCAtMzEs
MTMgKzMxLDIwIEBACiAjaW5jbHVkZSAiU2l6ZXMuaCIKICNpbmNsdWRlICJTeXNjYWxsLmgiCiAj
aW5jbHVkZSA8YWxnb3JpdGhtPgotI2luY2x1ZGUgPG1hY2gvdm1fc3RhdGlzdGljcy5oPgogI2lu
Y2x1ZGUgPHN5cy9tbWFuLmg+CiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAKKyNpZiBCT1MoREFSV0lO
KQorI2luY2x1ZGUgPG1hY2gvdm1fc3RhdGlzdGljcy5oPgorI2VuZGlmCisKIG5hbWVzcGFjZSBi
bWFsbG9jIHsKIAorI2lmIEJPUyhEQVJXSU4pCiAjZGVmaW5lIEJNQUxMT0NfVk1fVEFHIFZNX01B
S0VfVEFHKFZNX01FTU9SWV9UQ01BTExPQykKKyNlbHNlCisjZGVmaW5lIEJNQUxMT0NfVk1fVEFH
IC0xCisjZW5kaWYKIAogaW5saW5lIHNpemVfdCB2bVNpemUoc2l6ZV90IHNpemUpCiB7CkBAIC0x
MDcsMTMgKzExNCwyMSBAQCBpbmxpbmUgdm9pZCogdm1BbGxvY2F0ZShzaXplX3Qgdm1BbGlnbm1l
bnQsIHNpemVfdCB2bVNpemUpCiBpbmxpbmUgdm9pZCB2bURlYWxsb2NhdGVQaHlzaWNhbFBhZ2Vz
KHZvaWQqIHAsIHNpemVfdCB2bVNpemUpCiB7CiAgICAgdm1WYWxpZGF0ZShwLCB2bVNpemUpOwor
I2lmIEJPUyhEQVJXSU4pCiAgICAgU1lTQ0FMTChtYWR2aXNlKHAsIHZtU2l6ZSwgTUFEVl9GUkVF
X1JFVVNBQkxFKSk7CisjZWxzZQorICAgIFNZU0NBTEwobWFkdmlzZShwLCB2bVNpemUsIE1BRFZf
RE9OVE5FRUQpKTsKKyNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCB2bUFsbG9jYXRlUGh5c2ljYWxQ
YWdlcyh2b2lkKiBwLCBzaXplX3Qgdm1TaXplKQogewogICAgIHZtVmFsaWRhdGUocCwgdm1TaXpl
KTsKKyNpZiBCT1MoREFSV0lOKQogICAgIFNZU0NBTEwobWFkdmlzZShwLCB2bVNpemUsIE1BRFZf
RlJFRV9SRVVTRSkpOworI2Vsc2UKKyAgICBTWVNDQUxMKG1hZHZpc2UocCwgdm1TaXplLCBNQURW
X0RPTlRORUVEKSk7CisjZW5kaWYKIH0KIAogLy8gVHJpbXMgcmVxdWVzdHMgdGhhdCBhcmUgdW4t
cGFnZS1hbGlnbmVkLiBOT1RFOiBzaXplIG11c3QgYmUgYXQgbGVhc3QgYSBwYWdlLgpkaWZmIC0t
Z2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WZWN0b3IuaCBiL1NvdXJjZS9ibWFsbG9jL2Jt
YWxsb2MvVmVjdG9yLmgKaW5kZXggNWEwNjg4ZTJkZGVlOTA0MGJiODU0MGYwMzE2MjgwYzdjZTNh
NmRmZi4uNWI0MTEyYmU2M2NjOTdmZTE0NjE0YTgwODY2YTY4OTY3MzJkNzkxNCAxMDA2NDQKLS0t
IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WZWN0b3IuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL1ZlY3Rvci5oCkBAIC0yOSw3ICsyOSw3IEBACiAjaW5jbHVkZSAiSW5saW5lLmgiCiAj
aW5jbHVkZSAiVk1BbGxvY2F0ZS5oIgogI2luY2x1ZGUgPGNzdGRkZWY+Ci0jaW5jbHVkZSA8c3Ry
aW5nPgorI2luY2x1ZGUgPGNzdHJpbmc+CiAKIG5hbWVzcGFjZSBibWFsbG9jIHsKIApAQCAtMTEy
LDcgKzExMiw3IEBAIHZvaWQgVmVjdG9yPFQ+OjpwdXNoKGNvbnN0IFQqIGJlZ2luLCBjb25zdCBU
KiBlbmQpCiAgICAgc2l6ZV90IG5ld1NpemUgPSBtX3NpemUgKyAoZW5kIC0gYmVnaW4pOwogICAg
IGlmIChuZXdTaXplID4gbV9jYXBhY2l0eSkKICAgICAgICAgZ3Jvd0NhcGFjaXR5KG5ld1NpemUp
OwotICAgIG1lbWNweSh0aGlzLT5lbmQoKSwgYmVnaW4sIChlbmQgLSBiZWdpbikgKiBzaXplb2Yo
VCkpOworICAgIHN0ZDo6bWVtY3B5KHRoaXMtPmVuZCgpLCBiZWdpbiwgKGVuZCAtIGJlZ2luKSAq
IHNpemVvZihUKSk7CiAgICAgbV9zaXplID0gbmV3U2l6ZTsKIH0KIApAQCAtMTQ4LDcgKzE0OCw3
IEBAIHZvaWQgVmVjdG9yPFQ+OjpyZWFsbG9jYXRlQnVmZmVyKHNpemVfdCBuZXdDYXBhY2l0eSkK
ICAgICBzaXplX3Qgdm1TaXplID0gYm1hbGxvYzo6dm1TaXplKG5ld0NhcGFjaXR5ICogc2l6ZW9m
KFQpKTsKICAgICBUKiBuZXdCdWZmZXIgPSBzdGF0aWNfY2FzdDxUKj4odm1BbGxvY2F0ZSh2bVNp
emUpKTsKICAgICBpZiAobV9idWZmZXIpIHsKLSAgICAgICAgbWVtY3B5KG5ld0J1ZmZlciwgbV9i
dWZmZXIsIG1fc2l6ZSAqIHNpemVvZihUKSk7CisgICAgICAgIHN0ZDo6bWVtY3B5KG5ld0J1ZmZl
ciwgbV9idWZmZXIsIG1fc2l6ZSAqIHNpemVvZihUKSk7CiAgICAgICAgIHZtRGVhbGxvY2F0ZSht
X2J1ZmZlciwgYm1hbGxvYzo6dm1TaXplKG1fY2FwYWNpdHkgKiBzaXplb2YoVCkpKTsKICAgICB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRIZWxwZXJzLmNtYWtlIGIvU291cmNl
L2NtYWtlL1dlYktpdEhlbHBlcnMuY21ha2UKaW5kZXggNDIwZWJlMTA4NDgxZGU0MTIwMjM1ODUw
MGFhZDgwNzIyY2JjOWEwMC4uM2VkZjYwMzNmMjRkOGYxNTk4OGRiYjQzMzQ4NDY2ODM1MzM0M2Ix
NCAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktpdEhlbHBlcnMuY21ha2UKKysrIGIvU291
cmNlL2NtYWtlL1dlYktpdEhlbHBlcnMuY21ha2UKQEAgLTIyLDcgKzIyLDcgQEAgbWFjcm8oV0VC
S0lUX1NFVF9FWFRSQV9DT01QSUxFUl9GTEFHUyBfdGFyZ2V0KQogCiAgICAgICAgICMgRW5hYmxl
IGVycm9ycyBvbiB3YXJuaW5nCiAgICAgICAgIGlmIChPUFRJT05fRU5BQkxFX1dFUlJPUikKLSAg
ICAgICAgICAgIHNldChPTERfQ09NUElMRV9GTEFHUyAiLVdlcnJvciAtV25vLWVycm9yPXVudXNl
ZC1wYXJhbWV0ZXIgJHtPTERfQ09NUElMRV9GTEFHU30iKQorICAgICAgICAgICAgc2V0KE9MRF9D
T01QSUxFX0ZMQUdTICItV2Vycm9yIC1Xbm8tZXJyb3I9YXR0cmlidXRlcyAtV25vLWVycm9yPXVu
dXNlZC1wYXJhbWV0ZXIgJHtPTERfQ09NUElMRV9GTEFHU30iKQogICAgICAgICBlbmRpZiAoKQog
CiAgICAgICAgIHNldF90YXJnZXRfcHJvcGVydGllcygke190YXJnZXR9IFBST1BFUlRJRVMKZGlm
ZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKaW5kZXggZWYxN2RjN2Y5
YjFjMzg2MzIxYjdjMjZkYTMwODc2M2I1YjQ4YzBhNy4uNGFmOWRkMmI1NzZhYTkxZDE4NWQwZWFm
OWRjMDNmM2YyZTE5ZmU2NiAxMDA2NDQKLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrIGIvQ01ha2VM
aXN0cy50eHQKQEAgLTQsNiArNCw3IEBAIHByb2plY3QoV2ViS2l0KQogIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQogIyBEZWZhdWx0IGxpYnJhcnkgdHlwZQogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
c2V0KEJNQUxMT0NfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9ibWFsbG9jIikKIHNl
dChXVEZfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XVEYiKQogc2V0KEpBVkFTQ1JJ
UFRDT1JFX0RJUiAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUiKQog
c2V0KFdFQkNPUkVfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJDb3JlIikKZGlm
ZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA1ZWUxZTYyZmRhMWUyZTA5YjE0
MzQwYjUzNmQzODc3M2EzMTEyMzdkLi5jNjJmMzJmOGIxMTkxMTU2OGM5NDBiNDhkYWRhZmRkMTg3
NjdlN2UzIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTIgQEAKKzIwMTUtMDEtMjYgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNv
bT4KKworICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGluc3RlYWQgb2YgdGNtYWxsb2MK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDE2Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU291cmNl
L0NNYWtlTGlzdHMudHh0OgorCiAyMDE1LTAxLTI2ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW2NtYWtlXSBSZW1vdmUgY29tcGlsZXIgdmVyc2lvbiBj
YWxjdWxhdGUgY3J1ZnQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245447</attachid>
            <date>2015-01-27 08:34:54 -0800</date>
            <delta_ts>2015-01-29 00:31:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140162-20150128013456.patch</filename>
            <type>text/plain</type>
            <size>17518</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc5MTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDk1NjhjYzgyNzM4ZGVhYjcxY2U3ZjEy
OTJlYjM3Zjc1YzMzYTg1YmYuLjJlYzkyMzk4ZGFmYjg4NThiODEzMWYyNjE2ZTNkNGExZjc0ZWVi
YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMDEtMjcgIEd5dXlvdW5nIEtpbSAgPGd5dXlv
dW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGlu
c3RlYWQgb2YgdGNtYWxsb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MDE2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OiBFeGNsdWRlIFRDU3lzdGVtQWxsb2MuaC9j
cHAgZnJvbSBFRkwgYW5kIEdUSy4KKyAgICAgICAgKiB3dGYvRmFzdE1hbGxvYy5jcHA6IEVuYWJs
ZSBibWFsbG9jIG9uIEVGTCBhbmQgR1RLIHBvcnRzIGFzIHdlbGwuCisKIDIwMTUtMDEtMjYgIEJy
ZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dpbl0gQVNTRVJU
SU9OIEZBSUxFRCAhbV9wdHIgdW5kZXIgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OndpbkFkZE5v
dGlmaWNhdGlvbkxpc3RlbmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cKaW5kZXggYzlmMmU1ZjU2YjJmNWJiMmY0MzBlZmVk
N2JmNWU2ODZjZjA1MDM3Mi4uMGFjYjRjNjc3MjA5MDhjMGY1MjI2Yjc0ZjYzNTlkZmIwYmExMmU1
OCAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9ibWFs
bG9jL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE1LTAxLTI3ICBHeXV5b3VuZyBLaW0g
IDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF1bR1RLXSBVc2UgYm1h
bGxvYyBpbnN0ZWFkIG9mIHRjbWFsbG9jCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNDAxNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTdXBwb3J0IHRvIHVzZSBibWFsbG9jIG9uIEVGTCBhbmQgR1RLIHBv
cnRzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IEFkZGVkLgorICAgICAgICAqIGJtYWxs
b2MvQWxsb2NhdG9yLmNwcDoKKyAgICAgICAgKGJtYWxsb2M6OkFsbG9jYXRvcjo6YWxsb2NhdGUp
OgorICAgICAgICAgICAgRml4IHVudXNlZCByZXR1cm4gdmFsdWUgY2F1c2VkIGJ5IHBvc2l4X21l
bWFsaWduKCkuCisgICAgICAgICogYm1hbGxvYy9Bc3luY1Rhc2suaDoKKyAgICAgICAgKiBibWFs
bG9jL0JvdW5kYXJ5VGFnLmg6CisgICAgICAgIChibWFsbG9jOjpCb3VuZGFyeVRhZzo6Y2xlYXIp
OgorICAgICAgICAqIGJtYWxsb2MvQ2h1bmsuaDoKKyAgICAgICAgICAgIENoYW5nZSBUcmFpdHM6
OlBhZ2Ugd2l0aCBUcmFpdHM6OlBhZ2VUeXBlIGluIG9yZGVyIHRvIGZpeAorICAgICAgICAgICAg
LWZwZXJtaXRpdmUgYnVpbGQgZXJyb3Igb24gRUZMIGFuZCBHVEsgcG9ydC4gCisgICAgICAgICog
Ym1hbGxvYy9FbmRUYWcuaDoKKyAgICAgICAgKGJtYWxsb2M6OkVuZFRhZzo6b3BlcmF0b3I9KToK
KyAgICAgICAgKiBibWFsbG9jL0xpbmUuaDogZGl0dG8uCisgICAgICAgICogYm1hbGxvYy9NZWRp
dW1UcmFpdHMuaDoKKyAgICAgICAgKiBibWFsbG9jL1BhZ2UuaDogZGl0dG8uCisgICAgICAgICog
Ym1hbGxvYy9QZXJUaHJlYWQuaDoKKyAgICAgICAgICAgIEVGTCBwb3J0IGRvZXNuJ3Qgc3VwcG9y
dCBfX2hhc19pbmNsdWRlIGRlZmluaXRpb24geWV0LgorICAgICAgICAgICAgTW92ZSBfX2hhc19p
bmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KSBpbnRvICNpZiBkZWZpbmVkKF9faGFz
X2luY2x1ZGUpLgorICAgICAgICAqIGJtYWxsb2MvU21hbGxUcmFpdHMuaDogZGl0dG8uCisgICAg
ICAgICogYm1hbGxvYy9WTUFsbG9jYXRlLmg6CisgICAgICAgIChibWFsbG9jOjp2bURlYWxsb2Nh
dGVQaHlzaWNhbFBhZ2VzKToKKyAgICAgICAgKGJtYWxsb2M6OnZtQWxsb2NhdGVQaHlzaWNhbFBh
Z2VzKToKKyAgICAgICAgKiBibWFsbG9jL1ZlY3Rvci5oOgorICAgICAgICAoYm1hbGxvYzo6VmVj
dG9yPFQ+OjpwdXNoKToKKyAgICAgICAgKGJtYWxsb2M6OlZlY3RvcjxUPjo6cmVhbGxvY2F0ZUJ1
ZmZlcik6CisKIDIwMTUtMDEtMjEgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4K
IAogICAgICAgICBibWFsbG9jOiBzdXBwb3J0IGFsaWduZWQgYWxsb2NhdGlvbgpkaWZmIC0tZ2l0
IGEvU291cmNlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0NNYWtlTGlzdHMudHh0CmluZGV4IDU0
ODY3MjBkNzYyYjA4N2M2MmFiZTg0N2I0MTQ4OGY1NzBiY2VmMjguLmZhYmM1ZDZiNjhmODE0ZmE4
ZTFkOTRiODJiYTljNzY2NzhkODNkOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9DTWFrZUxpc3RzLnR4
dAorKysgYi9Tb3VyY2UvQ01ha2VMaXN0cy50eHQKQEAgLTEsNiArMSw4IEBACiAjIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCiAjIEFkZCBtb2R1bGUgZGlyZWN0b3JpZXMKICMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KK2FkZF9zdWJkaXJlY3RvcnkoYm1hbGxvYykKKwogYWRkX3N1YmRpcmVjdG9yeShXVEYp
CiAKIGFkZF9zdWJkaXJlY3RvcnkoSmF2YVNjcmlwdENvcmUpCkBAIC0yNiw2ICsyOCw3IEBAIFdF
QktJVF9JTkNMVURFX0NPTkZJR19GSUxFU19JRl9FWElTVFMoKQogIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQogIyBTZXQgY29tcGlsZXIgZmxhZ3MgZm9yIGFsbCB0YXJnZXRzCiAjIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCitXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKGJtYWxsb2MgJHtBRERJ
VElPTkFMX0NPTVBJTEVSX0ZMQUdTfSkKIFdFQktJVF9TRVRfRVhUUkFfQ09NUElMRVJfRkxBR1Mo
V1RGICR7QURESVRJT05BTF9DT01QSUxFUl9GTEFHU30pCiBXRUJLSVRfU0VUX0VYVFJBX0NPTVBJ
TEVSX0ZMQUdTKEphdmFTY3JpcHRDb3JlICR7QURESVRJT05BTF9DT01QSUxFUl9GTEFHU30pCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dURi93
dGYvQ01ha2VMaXN0cy50eHQKaW5kZXggYjllNjY5MTZkZjBhMmI1YWUzZThkOTgxNWRlM2MwYTlm
ODcxNDJkZS4uMWRjMzg1Mzg1MTcyYTJhNjM4NTFjZDlmODU2ZWIzMWFmNjk5MTBjNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dURi93dGYv
Q01ha2VMaXN0cy50eHQKQEAgLTEwMCw3ICsxMDAsNiBAQCBzZXQoV1RGX0hFQURFUlMKICAgICBU
Q1BhY2tlZENhY2hlLmgKICAgICBUQ1BhZ2VNYXAuaAogICAgIFRDU3BpbkxvY2suaAotICAgIFRD
U3lzdGVtQWxsb2MuaAogICAgIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAogICAgIFRo
cmVhZFNhZmVSZWZDb3VudGVkLmgKICAgICBUaHJlYWRTcGVjaWZpYy5oCkBAIC0xODMsNyArMTgy
LDYgQEAgc2V0KFdURl9TT1VSQ0VTCiAgICAgU3RhY2tTdGF0cy5jcHAKICAgICBTdGFja0JvdW5k
cy5jcHAKICAgICBTdHJpbmdQcmludFN0cmVhbS5jcHAKLSAgICBUQ1N5c3RlbUFsbG9jLmNwcAog
ICAgIFRocmVhZGluZy5jcHAKICAgICBXVEZUaHJlYWREYXRhLmNwcAogICAgIGR0b2EuY3BwCkBA
IC0yMTMsNiArMjExLDcgQEAgc2V0KFdURl9TT1VSQ0VTCiApCiAKIHNldChXVEZfSU5DTFVERV9E
SVJFQ1RPUklFUworICAgICIke0JNQUxMT0NfRElSfSIKICAgICAiJHtXVEZfRElSfSIKICAgICAi
JHtXVEZfRElSfS93dGYiCiAgICAgIiR7V1RGX0RJUn0vd3RmL2R0b2EiCkBAIC0yMjYsNiArMjI1
LDcgQEAgc2V0KFdURl9JTkNMVURFX0RJUkVDVE9SSUVTCiAKIHNldChXVEZfTElCUkFSSUVTCiAg
ICAgJHtDTUFLRV9ETF9MSUJTfQorICAgIGJtYWxsb2MKICkKIAogbGlzdChBUFBFTkQgV1RGX1NP
VVJDRVMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuY3BwIGIvU291cmNl
L1dURi93dGYvRmFzdE1hbGxvYy5jcHAKaW5kZXggMThhOWM4NDEyNjZmMDhmOGY1MzMwNDcxMTI2
ZDUwZjM4NWRiZjFjMC4uNWZkOWM5NTBiZGM5OGVhNjNiMjY1MjUxMTc3NDk4NjRjZmIxMGI5ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRmFzdE1hbGxvYy5jcHAKKysrIGIvU291cmNlL1dU
Ri93dGYvRmFzdE1hbGxvYy5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQAogI2VuZGlmCiAjZW5kaWYK
IAotI2lmIFBMQVRGT1JNKENPQ09BKQorI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShF
RkwpIHx8IFBMQVRGT1JNKEdUSykKICNkZWZpbmUgVVNFX0JNQUxMT0MgMQogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL2JtYWxsb2Mv
Q01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTlhMWE3NmZjNGY4YmU0OTc3MDZiMGY4NDMyNGVi
ZTc3ZTJjZGE2MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9ibWFsbG9jL0NNYWtlTGlzdHMu
dHh0CkBAIC0wLDAgKzEsMjIgQEAKK3NldChibWFsbG9jX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAg
ICAiJHtCTUFMTE9DX0RJUn0iCispCisKK3NldChibWFsbG9jX1NPVVJDRVMKKyAgICBibWFsbG9j
L0FsbG9jYXRvci5jcHAKKyAgICBibWFsbG9jL0NhY2hlLmNwcAorICAgIGJtYWxsb2MvRGVhbGxv
Y2F0b3IuY3BwCisgICAgYm1hbGxvYy9FbnZpcm9ubWVudC5jcHAKKyAgICBibWFsbG9jL0hlYXAu
Y3BwCisgICAgYm1hbGxvYy9PYmplY3RUeXBlLmNwcAorICAgIGJtYWxsb2MvU2VncmVnYXRlZEZy
ZWVMaXN0LmNwcAorICAgIGJtYWxsb2MvU3RhdGljTXV0ZXguY3BwCisgICAgYm1hbGxvYy9WTUhl
YXAuY3BwCisgICAgYm1hbGxvYy9tYm1hbGxvYy5jcHAKKykKKworV0VCS0lUX1dSQVBfU09VUkNF
TElTVCgke2JtYWxsb2NfU09VUkNFU30pCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7Ym1hbGxvY19J
TkNMVURFX0RJUkVDVE9SSUVTfSkKK2FkZF9saWJyYXJ5KGJtYWxsb2MgJHtibWFsbG9jX1NPVVJD
RVN9KQordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGJtYWxsb2MgJHtibWFsbG9jX0xJQlJBUklFU30p
CitzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoYm1hbGxvYyBQUk9QRVJUSUVTIENPTVBJTEVfREVGSU5J
VElPTlMgIkJVSUxESU5HX2JtYWxsb2MiKQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9BbGxvY2F0b3IuY3BwIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxvY2F0b3IuY3Bw
CmluZGV4IGVkNTczZGM5YzI2N2I5YzFjOTMwMTA0MWMzYmQ2OGQzMjgwYTYwYmMuLmViZjBjZjYy
MTNhZWJmZGE5MGFhNmIwNTUzZWMxZGIwYmYzMTJkMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFs
bG9jL2JtYWxsb2MvQWxsb2NhdG9yLmNwcAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0Fs
bG9jYXRvci5jcHAKQEAgLTU2LDcgKzU2LDggQEAgdm9pZCogQWxsb2NhdG9yOjphbGxvY2F0ZShz
aXplX3QgYWxpZ25tZW50LCBzaXplX3Qgc2l6ZSkKIAogICAgIGlmICghbV9pc0JtYWxsb2NFbmFi
bGVkKSB7CiAgICAgICAgIHZvaWQqIHJlc3VsdCA9IG51bGxwdHI7Ci0gICAgICAgIHBvc2l4X21l
bWFsaWduKCZyZXN1bHQsIGFsaWdubWVudCwgc2l6ZSk7CisgICAgICAgIGlmIChwb3NpeF9tZW1h
bGlnbigmcmVzdWx0LCBhbGlnbm1lbnQsIHNpemUpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291
cmNlL2JtYWxsb2MvYm1hbGxvYy9Bc3luY1Rhc2suaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
QXN5bmNUYXNrLmgKaW5kZXggNTA0ZGE4MTM1ZDg2NzE0Zjk3ZTA0M2YyNTM3NTA3MjgxYThhMGJh
MS4uOTUzOTIxZDFiN2FjNTc4MTNkOGQzMmJmY2Y2YTA2MWE1NDQzNmU3ZiAxMDA2NDQKLS0tIGEv
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9Bc3luY1Rhc2suaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL0FzeW5jVGFzay5oCkBAIC02NCw3ICs2NCw3IEBAIHByaXZhdGU6CiAgICAgRnVuY3Rp
b24gbV9mdW5jdGlvbjsKIH07CiAKLXRlbXBsYXRlPHR5cGVuYW1lIE9iamVjdCwgdHlwZW5hbWUg
RnVuY3Rpb24+IGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIEFzeW5jVGFzazxPYmplY3QsIEZ1
bmN0aW9uPjo6ZXhpdERlbGF5OwordGVtcGxhdGU8dHlwZW5hbWUgT2JqZWN0LCB0eXBlbmFtZSBG
dW5jdGlvbj4gY29uc3QgY29uc3RleHByIHN0ZDo6Y2hyb25vOjpzZWNvbmRzIEFzeW5jVGFzazxP
YmplY3QsIEZ1bmN0aW9uPjo6ZXhpdERlbGF5OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBPYmplY3Qs
IHR5cGVuYW1lIEZ1bmN0aW9uPgogQXN5bmNUYXNrPE9iamVjdCwgRnVuY3Rpb24+OjpBc3luY1Rh
c2soT2JqZWN0JiBvYmplY3QsIGNvbnN0IEZ1bmN0aW9uJiBmdW5jdGlvbikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQm91bmRhcnlUYWcuaCBiL1NvdXJjZS9ibWFsbG9jL2Jt
YWxsb2MvQm91bmRhcnlUYWcuaAppbmRleCA3NjFmZDNmMTgxYjIwYjcwNzE4NTg0N2Q0MGYxOWRh
Y2Y1MGM0NTcyLi5iMmVkY2UyZDkyY2JmNDJhMDUxODE2MTRlYjk5MWY5ZTI0NGM4ZGFhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0JvdW5kYXJ5VGFnLmgKKysrIGIvU291cmNl
L2JtYWxsb2MvYm1hbGxvYy9Cb3VuZGFyeVRhZy5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVk
ZSAiQkFzc2VydC5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVkZSAiU2l6ZXMuaCIKKyNp
bmNsdWRlIDxjc3RyaW5nPgogCiBuYW1lc3BhY2UgYm1hbGxvYyB7CiAKQEAgLTU0LDcgKzU1LDcg
QEAgcHVibGljOgogICAgIHZvaWQgc2V0SGFzUGh5c2ljYWxQYWdlcyhib29sIGhhc1BoeXNpY2Fs
UGFnZXMpIHsgbV9oYXNQaHlzaWNhbFBhZ2VzID0gaGFzUGh5c2ljYWxQYWdlczsgfQogCiAgICAg
Ym9vbCBpc051bGwoKSB7IHJldHVybiAhbV9zaXplOyB9Ci0gICAgdm9pZCBjbGVhcigpIHsgbWVt
c2V0KHRoaXMsIDAsIHNpemVvZigqdGhpcykpOyB9CisgICAgdm9pZCBjbGVhcigpIHsgc3RkOjpt
ZW1zZXQodGhpcywgMCwgc2l6ZW9mKCp0aGlzKSk7IH0KICAgICAKICAgICBzaXplX3Qgc2l6ZSgp
IHsgcmV0dXJuIG1fc2l6ZTsgfQogICAgIHVuc2lnbmVkIGNvbXBhY3RCZWdpbigpIHsgcmV0dXJu
IG1fY29tcGFjdEJlZ2luOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0No
dW5rLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0NodW5rLmgKaW5kZXggMGM0ZDFkMmRkOGFj
MDhlYjA4MWY4ZDVlNmEwOTU0ODY3NjdmNWMwMC4uNDFmODkyN2UxODk0YzAxMWI2YTQ2MTYxODA3
M2IyNDg2M2NjYWQzZiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9DaHVuay5o
CisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQ2h1bmsuaApAQCAtMzUsOCArMzUsOSBAQCBu
YW1lc3BhY2UgYm1hbGxvYyB7CiB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+CiBjbGFzcyBDaHVuayB7
CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6OlBhZ2UgUGFnZTsKLSAgICB0
eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6TGluZSBMaW5lOworICAgIHR5cGVkZWYgdHlwZW5hbWUg
VHJhaXRzOjpQYWdlVHlwZSBQYWdlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpMaW5l
VHlwZSBMaW5lOworCiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9IFRyYWl0czo6
bGluZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBjaHVua1NpemUgPSBUcmFpdHM6OmNo
dW5rU2l6ZTsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGNodW5rT2Zmc2V0ID0gVHJhaXRzOjpj
aHVua09mZnNldDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvRW5kVGFnLmgg
Yi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0VuZFRhZy5oCmluZGV4IDllYWU5OTc5ZTcwOGRhNTJm
MGM0YTU0NTFkOWU4ZGUzOTY3M2EwYjEuLmY5NDE1M2E5MTdkODdmZTI2MGI4Njc2MTQ4YmY0MTMw
OGEyYmQ5ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvRW5kVGFnLmgKKysr
IGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9FbmRUYWcuaApAQCAtMzcsNyArMzcsNyBAQCBwdWJs
aWM6CiAKIGlubGluZSBFbmRUYWcmIEVuZFRhZzo6b3BlcmF0b3I9KGNvbnN0IEJlZ2luVGFnJiBv
dGhlcikKIHsKLSAgICBtZW1jcHkodGhpcywgJm90aGVyLCBzaXplb2YoQm91bmRhcnlUYWcpKTsK
KyAgICBzdGQ6Om1lbWNweSh0aGlzLCAmb3RoZXIsIHNpemVvZihCb3VuZGFyeVRhZykpOwogICAg
IHNldEVuZCh0cnVlKTsKICAgICByZXR1cm4gKnRoaXM7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL0xpbmUuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5oCmlu
ZGV4IDhhOGQ3MWUxODk5MWNiNjU4ZjBiZGZmNGU4ZmQ4YTdiMWU2OTZiMmUuLjhhZjgzZWY5YWNj
ZTIxYmFjYjhlNGM3NjgwNTQ2OWVjZTBjNGU3MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvTGluZS5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5oCkBAIC0z
Niw3ICszNiw4IEBAIG5hbWVzcGFjZSBibWFsbG9jIHsKIHRlbXBsYXRlPGNsYXNzIFRyYWl0cz4K
IGNsYXNzIExpbmUgewogcHVibGljOgotICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpDaHVu
ayBDaHVuazsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6Q2h1bmtUeXBlIENodW5rOwor
CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBtaW5pbXVtT2JqZWN0U2l6ZSA9IFRyYWl0czo6bWlu
aW11bU9iamVjdFNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9IFRyYWl0
czo6bGluZVNpemU7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL01l
ZGl1bVRyYWl0cy5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9NZWRpdW1UcmFpdHMuaAppbmRl
eCBiYmNlMDFhYjMwZWQ3ZjU3YjM0ZjQ0ZTE2NWI4MjA0M2RkYjQ3YjEyLi41OWQ3OGY1MDE3NWVi
MjU5NTQxNTRkODI4MDEwOTIwNDM1YzFjY2I1IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL01lZGl1bVRyYWl0cy5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTWVkaXVt
VHJhaXRzLmgKQEAgLTM2LDkgKzM2LDkgQEAgdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPiBjbGFzcyBM
aW5lOwogdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPiBjbGFzcyBQYWdlOwogCiBzdHJ1Y3QgTWVkaXVt
VHJhaXRzIHsKLSAgICB0eXBlZGVmIENodW5rPE1lZGl1bVRyYWl0cz4gQ2h1bms7Ci0gICAgdHlw
ZWRlZiBMaW5lPE1lZGl1bVRyYWl0cz4gTGluZTsKLSAgICB0eXBlZGVmIFBhZ2U8TWVkaXVtVHJh
aXRzPiBQYWdlOworICAgIHR5cGVkZWYgQ2h1bms8TWVkaXVtVHJhaXRzPiBDaHVua1R5cGU7Cisg
ICAgdHlwZWRlZiBMaW5lPE1lZGl1bVRyYWl0cz4gTGluZVR5cGU7CisgICAgdHlwZWRlZiBQYWdl
PE1lZGl1bVRyYWl0cz4gUGFnZVR5cGU7CiAKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGxpbmVT
aXplID0gbWVkaXVtTGluZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBtaW5pbXVtT2Jq
ZWN0U2l6ZSA9IHNtYWxsTWF4ICsgYWxpZ25tZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxs
b2MvYm1hbGxvYy9QYWdlLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BhZ2UuaAppbmRleCAz
ODE0MGE1NjRhZDNiOTQ1NDUyNGRjZjkzYzVmZWU2ZDdjYzNiODNmLi5mZGZhMTU4ZDYxMjNlNDhh
NGUzZTA5MTkwNTc4Mzg4ODQ2OWExNTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFs
bG9jL1BhZ2UuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BhZ2UuaApAQCAtMzYsOCAr
MzYsOSBAQCBuYW1lc3BhY2UgYm1hbGxvYyB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUcmFpdHM+CiBj
bGFzcyBQYWdlIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6Q2h1bmsg
Q2h1bms7Ci0gICAgdHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6OkxpbmUgTGluZTsKKyAgICB0eXBl
ZGVmIHR5cGVuYW1lIFRyYWl0czo6Q2h1bmtUeXBlIENodW5rOworICAgIHR5cGVkZWYgdHlwZW5h
bWUgVHJhaXRzOjpMaW5lVHlwZSBMaW5lOworCiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5l
U2l6ZSA9IFRyYWl0czo6bGluZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lQ291
bnQgPSB2bVBhZ2VTaXplIC8gbGluZVNpemU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvUGVyVGhyZWFkLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BlclRocmVhZC5o
CmluZGV4IDAyZjA3ZTE2NTJhN2E2YTM0N2ZhODA2YzI1NmYzYTg1MTVlMGI4ZWEuLjk4YzYxZmRi
MTBlODAwZDE2MTE4ODNjOGFhYTg2MDEzZjNlYjc2MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFs
bG9jL2JtYWxsb2MvUGVyVGhyZWFkLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QZXJU
aHJlYWQuaApAQCAtMzAsOSArMzAsMTEgQEAKICNpbmNsdWRlICJJbmxpbmUuaCIKICNpbmNsdWRl
IDxtdXRleD4KICNpbmNsdWRlIDxwdGhyZWFkLmg+Ci0jaWYgZGVmaW5lZChfX2hhc19pbmNsdWRl
KSAmJiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KQorI2lmIGRlZmlu
ZWQoX19oYXNfaW5jbHVkZSkKKyNpZiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNo
ZGVwLmg+KQogI2luY2x1ZGUgPFN5c3RlbS9wdGhyZWFkX21hY2hkZXAuaD4KICNlbmRpZgorI2Vu
ZGlmCiAKIG5hbWVzcGFjZSBibWFsbG9jIHsKIApAQCAtNTAsNyArNTIsOSBAQCBwcml2YXRlOgog
ICAgIHN0YXRpYyB2b2lkIGRlc3RydWN0b3Iodm9pZCopOwogfTsKIAotI2lmIGRlZmluZWQoX19o
YXNfaW5jbHVkZSkgJiYgX19oYXNfaW5jbHVkZSg8U3lzdGVtL3B0aHJlYWRfbWFjaGRlcC5oPikK
KworI2lmIGRlZmluZWQoX19oYXNfaW5jbHVkZSkKKyNpZiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0v
cHRocmVhZF9tYWNoZGVwLmg+KQogCiBjbGFzcyBDYWNoZTsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IHN0cnVjdCBQZXJUaHJlYWRTdG9yYWdlOwpAQCAtNzIsNyArNzYsMTAgQEAgdGVtcGxhdGU8PiBz
dHJ1Y3QgUGVyVGhyZWFkU3RvcmFnZTxDYWNoZT4gewogICAgIH0KIH07CiAKLSNlbHNlCisjZW5k
aWYKKyNlbmRpZgorCisjaWYgZGVmaW5lZChfX2hhc19pbmNsdWRlKSB8fCBkZWZpbmVkKEJVSUxE
SU5HX0VGTF9fKQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgUGVyVGhyZWFkU3RvcmFn
ZSB7CiAgICAgc3RhdGljIGJvb2wgc19kaWRJbml0aWFsaXplOwpAQCAtMTAwLDcgKzEwNyw3IEBA
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGJvb2wgUGVyVGhyZWFkU3RvcmFnZTxUPjo6c19kaWRJbml0
aWFsaXplOwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gcHRocmVhZF9rZXlfdCBQZXJUaHJlYWRTdG9y
YWdlPFQ+OjpzX2tleTsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0ZDo6b25jZV9mbGFnIFBlclRo
cmVhZFN0b3JhZ2U8VD46OnNfb25jZUZsYWc7CiAKLSNlbmRpZiAvLyBkZWZpbmVkKF9faGFzX2lu
Y2x1ZGUpICYmIF9faGFzX2luY2x1ZGUoPFN5c3RlbS9wdGhyZWFkX21hY2hkZXAuaD4pCisjZW5k
aWYgLy8gIWRlZmluZWQoX19oYXNfaW5jbHVkZSkKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4KIElO
TElORSBUKiBQZXJUaHJlYWQ8VD46OmdldEZhc3RDYXNlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9i
bWFsbG9jL2JtYWxsb2MvU21hbGxUcmFpdHMuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU21h
bGxUcmFpdHMuaAppbmRleCBlNDBjMTY2ZWRkMDdiY2FmZTE3NTZmMTVmNmFjMTE1Y2VhOWExMzIy
Li44MDZiN2U4YzY2NWRhNTQ0NDAzZGVmZjgxZDM4ZGI5YjkwYmRhNjY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvYm1hbGxvYy9ibWFsbG9jL1NtYWxsVHJhaXRzLmgKKysrIGIvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9TbWFsbFRyYWl0cy5oCkBAIC0zNSw5ICszNSw5IEBAIHRlbXBsYXRlPGNsYXNzIFRy
YWl0cz4gY2xhc3MgTGluZTsKIHRlbXBsYXRlPGNsYXNzIFRyYWl0cz4gY2xhc3MgUGFnZTsKIAog
c3RydWN0IFNtYWxsVHJhaXRzIHsKLSAgICB0eXBlZGVmIENodW5rPFNtYWxsVHJhaXRzPiBDaHVu
azsKLSAgICB0eXBlZGVmIExpbmU8U21hbGxUcmFpdHM+IExpbmU7Ci0gICAgdHlwZWRlZiBQYWdl
PFNtYWxsVHJhaXRzPiBQYWdlOworICAgIHR5cGVkZWYgQ2h1bms8U21hbGxUcmFpdHM+IENodW5r
VHlwZTsKKyAgICB0eXBlZGVmIExpbmU8U21hbGxUcmFpdHM+IExpbmVUeXBlOworICAgIHR5cGVk
ZWYgUGFnZTxTbWFsbFRyYWl0cz4gUGFnZVR5cGU7CiAKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90
IGxpbmVTaXplID0gc21hbGxMaW5lU2l6ZTsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IG1pbmlt
dW1PYmplY3RTaXplID0gYWxpZ25tZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9WTUFsbG9jYXRlLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZNQWxsb2NhdGUuaApp
bmRleCA5NDA2MzU4YWU1MWY1OWIwOGZkNjc1OWQ1MmNlOWE4MjI1YTM0NjRlLi42NWFjNGQ0YjFl
MTljM2JkNDRlNjBhYmE4OGViY2UyYzdkNTg5ZjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxv
Yy9ibWFsbG9jL1ZNQWxsb2NhdGUuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZNQWxs
b2NhdGUuaApAQCAtMzEsMTMgKzMxLDIwIEBACiAjaW5jbHVkZSAiU2l6ZXMuaCIKICNpbmNsdWRl
ICJTeXNjYWxsLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgotI2luY2x1ZGUgPG1hY2gvdm1fc3Rh
dGlzdGljcy5oPgogI2luY2x1ZGUgPHN5cy9tbWFuLmg+CiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAK
KyNpZiBCT1MoREFSV0lOKQorI2luY2x1ZGUgPG1hY2gvdm1fc3RhdGlzdGljcy5oPgorI2VuZGlm
CisKIG5hbWVzcGFjZSBibWFsbG9jIHsKIAorI2lmIEJPUyhEQVJXSU4pCiAjZGVmaW5lIEJNQUxM
T0NfVk1fVEFHIFZNX01BS0VfVEFHKFZNX01FTU9SWV9UQ01BTExPQykKKyNlbHNlCisjZGVmaW5l
IEJNQUxMT0NfVk1fVEFHIC0xCisjZW5kaWYKIAogaW5saW5lIHNpemVfdCB2bVNpemUoc2l6ZV90
IHNpemUpCiB7CkBAIC0xMDcsMTMgKzExNCwyMSBAQCBpbmxpbmUgdm9pZCogdm1BbGxvY2F0ZShz
aXplX3Qgdm1BbGlnbm1lbnQsIHNpemVfdCB2bVNpemUpCiBpbmxpbmUgdm9pZCB2bURlYWxsb2Nh
dGVQaHlzaWNhbFBhZ2VzKHZvaWQqIHAsIHNpemVfdCB2bVNpemUpCiB7CiAgICAgdm1WYWxpZGF0
ZShwLCB2bVNpemUpOworI2lmIEJPUyhEQVJXSU4pCiAgICAgU1lTQ0FMTChtYWR2aXNlKHAsIHZt
U2l6ZSwgTUFEVl9GUkVFX1JFVVNBQkxFKSk7CisjZWxzZQorICAgIFNZU0NBTEwobWFkdmlzZShw
LCB2bVNpemUsIE1BRFZfRE9OVE5FRUQpKTsKKyNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCB2bUFs
bG9jYXRlUGh5c2ljYWxQYWdlcyh2b2lkKiBwLCBzaXplX3Qgdm1TaXplKQogewogICAgIHZtVmFs
aWRhdGUocCwgdm1TaXplKTsKKyNpZiBCT1MoREFSV0lOKQogICAgIFNZU0NBTEwobWFkdmlzZShw
LCB2bVNpemUsIE1BRFZfRlJFRV9SRVVTRSkpOworI2Vsc2UKKyAgICBTWVNDQUxMKG1hZHZpc2Uo
cCwgdm1TaXplLCBNQURWX0RPTlRORUVEKSk7CisjZW5kaWYKIH0KIAogLy8gVHJpbXMgcmVxdWVz
dHMgdGhhdCBhcmUgdW4tcGFnZS1hbGlnbmVkLiBOT1RFOiBzaXplIG11c3QgYmUgYXQgbGVhc3Qg
YSBwYWdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WZWN0b3IuaCBiL1Nv
dXJjZS9ibWFsbG9jL2JtYWxsb2MvVmVjdG9yLmgKaW5kZXggNWEwNjg4ZTJkZGVlOTA0MGJiODU0
MGYwMzE2MjgwYzdjZTNhNmRmZi4uNWI0MTEyYmU2M2NjOTdmZTE0NjE0YTgwODY2YTY4OTY3MzJk
NzkxNCAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WZWN0b3IuaAorKysgYi9T
b3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZlY3Rvci5oCkBAIC0yOSw3ICsyOSw3IEBACiAjaW5jbHVk
ZSAiSW5saW5lLmgiCiAjaW5jbHVkZSAiVk1BbGxvY2F0ZS5oIgogI2luY2x1ZGUgPGNzdGRkZWY+
Ci0jaW5jbHVkZSA8c3RyaW5nPgorI2luY2x1ZGUgPGNzdHJpbmc+CiAKIG5hbWVzcGFjZSBibWFs
bG9jIHsKIApAQCAtMTEyLDcgKzExMiw3IEBAIHZvaWQgVmVjdG9yPFQ+OjpwdXNoKGNvbnN0IFQq
IGJlZ2luLCBjb25zdCBUKiBlbmQpCiAgICAgc2l6ZV90IG5ld1NpemUgPSBtX3NpemUgKyAoZW5k
IC0gYmVnaW4pOwogICAgIGlmIChuZXdTaXplID4gbV9jYXBhY2l0eSkKICAgICAgICAgZ3Jvd0Nh
cGFjaXR5KG5ld1NpemUpOwotICAgIG1lbWNweSh0aGlzLT5lbmQoKSwgYmVnaW4sIChlbmQgLSBi
ZWdpbikgKiBzaXplb2YoVCkpOworICAgIHN0ZDo6bWVtY3B5KHRoaXMtPmVuZCgpLCBiZWdpbiwg
KGVuZCAtIGJlZ2luKSAqIHNpemVvZihUKSk7CiAgICAgbV9zaXplID0gbmV3U2l6ZTsKIH0KIApA
QCAtMTQ4LDcgKzE0OCw3IEBAIHZvaWQgVmVjdG9yPFQ+OjpyZWFsbG9jYXRlQnVmZmVyKHNpemVf
dCBuZXdDYXBhY2l0eSkKICAgICBzaXplX3Qgdm1TaXplID0gYm1hbGxvYzo6dm1TaXplKG5ld0Nh
cGFjaXR5ICogc2l6ZW9mKFQpKTsKICAgICBUKiBuZXdCdWZmZXIgPSBzdGF0aWNfY2FzdDxUKj4o
dm1BbGxvY2F0ZSh2bVNpemUpKTsKICAgICBpZiAobV9idWZmZXIpIHsKLSAgICAgICAgbWVtY3B5
KG5ld0J1ZmZlciwgbV9idWZmZXIsIG1fc2l6ZSAqIHNpemVvZihUKSk7CisgICAgICAgIHN0ZDo6
bWVtY3B5KG5ld0J1ZmZlciwgbV9idWZmZXIsIG1fc2l6ZSAqIHNpemVvZihUKSk7CiAgICAgICAg
IHZtRGVhbGxvY2F0ZShtX2J1ZmZlciwgYm1hbGxvYzo6dm1TaXplKG1fY2FwYWNpdHkgKiBzaXpl
b2YoVCkpKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRIZWxwZXJz
LmNtYWtlIGIvU291cmNlL2NtYWtlL1dlYktpdEhlbHBlcnMuY21ha2UKaW5kZXggNDIwZWJlMTA4
NDgxZGU0MTIwMjM1ODUwMGFhZDgwNzIyY2JjOWEwMC4uM2VkZjYwMzNmMjRkOGYxNTk4OGRiYjQz
MzQ4NDY2ODM1MzM0M2IxNCAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktpdEhlbHBlcnMu
Y21ha2UKKysrIGIvU291cmNlL2NtYWtlL1dlYktpdEhlbHBlcnMuY21ha2UKQEAgLTIyLDcgKzIy
LDcgQEAgbWFjcm8oV0VCS0lUX1NFVF9FWFRSQV9DT01QSUxFUl9GTEFHUyBfdGFyZ2V0KQogCiAg
ICAgICAgICMgRW5hYmxlIGVycm9ycyBvbiB3YXJuaW5nCiAgICAgICAgIGlmIChPUFRJT05fRU5B
QkxFX1dFUlJPUikKLSAgICAgICAgICAgIHNldChPTERfQ09NUElMRV9GTEFHUyAiLVdlcnJvciAt
V25vLWVycm9yPXVudXNlZC1wYXJhbWV0ZXIgJHtPTERfQ09NUElMRV9GTEFHU30iKQorICAgICAg
ICAgICAgc2V0KE9MRF9DT01QSUxFX0ZMQUdTICItV2Vycm9yIC1Xbm8tZXJyb3I9YXR0cmlidXRl
cyAtV25vLWVycm9yPXVudXNlZC1wYXJhbWV0ZXIgJHtPTERfQ09NUElMRV9GTEFHU30iKQogICAg
ICAgICBlbmRpZiAoKQogCiAgICAgICAgIHNldF90YXJnZXRfcHJvcGVydGllcygke190YXJnZXR9
IFBST1BFUlRJRVMKZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQK
aW5kZXggZWYxN2RjN2Y5YjFjMzg2MzIxYjdjMjZkYTMwODc2M2I1YjQ4YzBhNy4uNGFmOWRkMmI1
NzZhYTkxZDE4NWQwZWFmOWRjMDNmM2YyZTE5ZmU2NiAxMDA2NDQKLS0tIGEvQ01ha2VMaXN0cy50
eHQKKysrIGIvQ01ha2VMaXN0cy50eHQKQEAgLTQsNiArNCw3IEBAIHByb2plY3QoV2ViS2l0KQog
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBEZWZhdWx0IGxpYnJhcnkgdHlwZQogIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorc2V0KEJNQUxMT0NfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJj
ZS9ibWFsbG9jIikKIHNldChXVEZfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XVEYi
KQogc2V0KEpBVkFTQ1JJUFRDT1JFX0RJUiAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUiKQogc2V0KFdFQkNPUkVfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJj
ZS9XZWJDb3JlIikKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBkYjk0
ZGVlMGYyNDI4NzdiYjg4YjFkYzRmNTM4MDFkNmUzOTM0M2NhLi43NGJhYzMzMjgwNjVlZTMwZTZi
MTJjNTBmYjM2M2FmOWQ3MTIyM2E0IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTUtMDEtMjcgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5n
LmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGluc3Rl
YWQgb2YgdGNtYWxsb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0MDE2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBibWFsbG9jIGRpcmVjdG9yeSB0byBidWlsZCBsaXN0LgorCisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6IERlZmluZSBCTUFMTE9DX0RJUiBkaXJlY3RvcnkuCisgICAgICAgICog
U291cmNlL0NNYWtlTGlzdHMudHh0OiBBZGQgYm1hbGxvYyBwYXRoIHRvIHN1Yi1kaXJlY3Rvcmll
cyBsaXN0LgorICAgICAgICAqIFNvdXJjZS9jbWFrZS9XZWJLaXRIZWxwZXJzLmNtYWtlOiBUcmVh
dCBhdHRyaWJ1dGUgd2FybmluZyBhcyBuby1lcnJvci4KKwogMjAxNS0wMS0yNiAgTmlrb3MgQW5k
cm9uaWtvcyAgPG5pa29zLmFuZHJvbmlrb3Mtd2Via2l0QGNpc3JhLmNhbm9uLmNvbS5hdT4KIAog
ICAgICAgICBBcHBseSBmZVR1cmJ1bGVuY2Ugc3BlYyBjaGFuZ2UgdG8gZml4IHplcm8gbGVuZ3Ro
IHZlY3RvciBnZW5lcmF0aW9uCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245613</attachid>
            <date>2015-01-29 00:31:21 -0800</date>
            <delta_ts>2015-01-29 21:16:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140162-20150129173126.patch</filename>
            <type>text/plain</type>
            <size>18472</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc5MTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDk1NjhjYzgyNzM4ZGVhYjcxY2U3ZjEy
OTJlYjM3Zjc1YzMzYTg1YmYuLjJlYzkyMzk4ZGFmYjg4NThiODEzMWYyNjE2ZTNkNGExZjc0ZWVi
YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMDEtMjcgIEd5dXlvdW5nIEtpbSAgPGd5dXlv
dW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGlu
c3RlYWQgb2YgdGNtYWxsb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MDE2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OiBFeGNsdWRlIFRDU3lzdGVtQWxsb2MuaC9j
cHAgZnJvbSBFRkwgYW5kIEdUSy4KKyAgICAgICAgKiB3dGYvRmFzdE1hbGxvYy5jcHA6IEVuYWJs
ZSBibWFsbG9jIG9uIEVGTCBhbmQgR1RLIHBvcnRzIGFzIHdlbGwuCisKIDIwMTUtMDEtMjYgIEJy
ZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dpbl0gQVNTRVJU
SU9OIEZBSUxFRCAhbV9wdHIgdW5kZXIgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OndpbkFkZE5v
dGlmaWNhdGlvbkxpc3RlbmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cKaW5kZXggYzlmMmU1ZjU2YjJmNWJiMmY0MzBlZmVk
N2JmNWU2ODZjZjA1MDM3Mi4uMGFjYjRjNjc3MjA5MDhjMGY1MjI2Yjc0ZjYzNTlkZmIwYmExMmU1
OCAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9ibWFs
bG9jL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE1LTAxLTI3ICBHeXV5b3VuZyBLaW0g
IDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF1bR1RLXSBVc2UgYm1h
bGxvYyBpbnN0ZWFkIG9mIHRjbWFsbG9jCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNDAxNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTdXBwb3J0IHRvIHVzZSBibWFsbG9jIG9uIEVGTCBhbmQgR1RLIHBv
cnRzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IEFkZGVkLgorICAgICAgICAqIGJtYWxs
b2MvQWxsb2NhdG9yLmNwcDoKKyAgICAgICAgKGJtYWxsb2M6OkFsbG9jYXRvcjo6YWxsb2NhdGUp
OgorICAgICAgICAgICAgRml4IHVudXNlZCByZXR1cm4gdmFsdWUgY2F1c2VkIGJ5IHBvc2l4X21l
bWFsaWduKCkuCisgICAgICAgICogYm1hbGxvYy9Bc3luY1Rhc2suaDoKKyAgICAgICAgKiBibWFs
bG9jL0JvdW5kYXJ5VGFnLmg6CisgICAgICAgIChibWFsbG9jOjpCb3VuZGFyeVRhZzo6Y2xlYXIp
OgorICAgICAgICAqIGJtYWxsb2MvQ2h1bmsuaDoKKyAgICAgICAgICAgIENoYW5nZSBUcmFpdHM6
OlBhZ2Ugd2l0aCBUcmFpdHM6OlBhZ2VUeXBlIGluIG9yZGVyIHRvIGZpeAorICAgICAgICAgICAg
LWZwZXJtaXRpdmUgYnVpbGQgZXJyb3Igb24gRUZMIGFuZCBHVEsgcG9ydC4gCisgICAgICAgICog
Ym1hbGxvYy9FbmRUYWcuaDoKKyAgICAgICAgKGJtYWxsb2M6OkVuZFRhZzo6b3BlcmF0b3I9KToK
KyAgICAgICAgKiBibWFsbG9jL0xpbmUuaDogZGl0dG8uCisgICAgICAgICogYm1hbGxvYy9NZWRp
dW1UcmFpdHMuaDoKKyAgICAgICAgKiBibWFsbG9jL1BhZ2UuaDogZGl0dG8uCisgICAgICAgICog
Ym1hbGxvYy9QZXJUaHJlYWQuaDoKKyAgICAgICAgICAgIEVGTCBwb3J0IGRvZXNuJ3Qgc3VwcG9y
dCBfX2hhc19pbmNsdWRlIGRlZmluaXRpb24geWV0LgorICAgICAgICAgICAgTW92ZSBfX2hhc19p
bmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KSBpbnRvICNpZiBkZWZpbmVkKF9faGFz
X2luY2x1ZGUpLgorICAgICAgICAqIGJtYWxsb2MvU21hbGxUcmFpdHMuaDogZGl0dG8uCisgICAg
ICAgICogYm1hbGxvYy9WTUFsbG9jYXRlLmg6CisgICAgICAgIChibWFsbG9jOjp2bURlYWxsb2Nh
dGVQaHlzaWNhbFBhZ2VzKToKKyAgICAgICAgKGJtYWxsb2M6OnZtQWxsb2NhdGVQaHlzaWNhbFBh
Z2VzKToKKyAgICAgICAgKiBibWFsbG9jL1ZlY3Rvci5oOgorICAgICAgICAoYm1hbGxvYzo6VmVj
dG9yPFQ+OjpwdXNoKToKKyAgICAgICAgKGJtYWxsb2M6OlZlY3RvcjxUPjo6cmVhbGxvY2F0ZUJ1
ZmZlcik6CisKIDIwMTUtMDEtMjEgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4K
IAogICAgICAgICBibWFsbG9jOiBzdXBwb3J0IGFsaWduZWQgYWxsb2NhdGlvbgpkaWZmIC0tZ2l0
IGEvU291cmNlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0NNYWtlTGlzdHMudHh0CmluZGV4IDU0
ODY3MjBkNzYyYjA4N2M2MmFiZTg0N2I0MTQ4OGY1NzBiY2VmMjguLmZhYmM1ZDZiNjhmODE0ZmE4
ZTFkOTRiODJiYTljNzY2NzhkODNkOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9DTWFrZUxpc3RzLnR4
dAorKysgYi9Tb3VyY2UvQ01ha2VMaXN0cy50eHQKQEAgLTEsNiArMSw4IEBACiAjIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCiAjIEFkZCBtb2R1bGUgZGlyZWN0b3JpZXMKICMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KK2FkZF9zdWJkaXJlY3RvcnkoYm1hbGxvYykKKwogYWRkX3N1YmRpcmVjdG9yeShXVEYp
CiAKIGFkZF9zdWJkaXJlY3RvcnkoSmF2YVNjcmlwdENvcmUpCkBAIC0yNiw2ICsyOCw3IEBAIFdF
QktJVF9JTkNMVURFX0NPTkZJR19GSUxFU19JRl9FWElTVFMoKQogIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQogIyBTZXQgY29tcGlsZXIgZmxhZ3MgZm9yIGFsbCB0YXJnZXRzCiAjIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCitXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKGJtYWxsb2MgJHtBRERJ
VElPTkFMX0NPTVBJTEVSX0ZMQUdTfSkKIFdFQktJVF9TRVRfRVhUUkFfQ09NUElMRVJfRkxBR1Mo
V1RGICR7QURESVRJT05BTF9DT01QSUxFUl9GTEFHU30pCiBXRUJLSVRfU0VUX0VYVFJBX0NPTVBJ
TEVSX0ZMQUdTKEphdmFTY3JpcHRDb3JlICR7QURESVRJT05BTF9DT01QSUxFUl9GTEFHU30pCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dURi93
dGYvQ01ha2VMaXN0cy50eHQKaW5kZXggYjllNjY5MTZkZjBhMmI1YWUzZThkOTgxNWRlM2MwYTlm
ODcxNDJkZS4uMWRjMzg1Mzg1MTcyYTJhNjM4NTFjZDlmODU2ZWIzMWFmNjk5MTBjNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dURi93dGYv
Q01ha2VMaXN0cy50eHQKQEAgLTEwMCw3ICsxMDAsNiBAQCBzZXQoV1RGX0hFQURFUlMKICAgICBU
Q1BhY2tlZENhY2hlLmgKICAgICBUQ1BhZ2VNYXAuaAogICAgIFRDU3BpbkxvY2suaAotICAgIFRD
U3lzdGVtQWxsb2MuaAogICAgIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAogICAgIFRo
cmVhZFNhZmVSZWZDb3VudGVkLmgKICAgICBUaHJlYWRTcGVjaWZpYy5oCkBAIC0xODMsNyArMTgy
LDYgQEAgc2V0KFdURl9TT1VSQ0VTCiAgICAgU3RhY2tTdGF0cy5jcHAKICAgICBTdGFja0JvdW5k
cy5jcHAKICAgICBTdHJpbmdQcmludFN0cmVhbS5jcHAKLSAgICBUQ1N5c3RlbUFsbG9jLmNwcAog
ICAgIFRocmVhZGluZy5jcHAKICAgICBXVEZUaHJlYWREYXRhLmNwcAogICAgIGR0b2EuY3BwCkBA
IC0yMTMsNiArMjExLDcgQEAgc2V0KFdURl9TT1VSQ0VTCiApCiAKIHNldChXVEZfSU5DTFVERV9E
SVJFQ1RPUklFUworICAgICIke0JNQUxMT0NfRElSfSIKICAgICAiJHtXVEZfRElSfSIKICAgICAi
JHtXVEZfRElSfS93dGYiCiAgICAgIiR7V1RGX0RJUn0vd3RmL2R0b2EiCkBAIC0yMjYsNiArMjI1
LDcgQEAgc2V0KFdURl9JTkNMVURFX0RJUkVDVE9SSUVTCiAKIHNldChXVEZfTElCUkFSSUVTCiAg
ICAgJHtDTUFLRV9ETF9MSUJTfQorICAgIGJtYWxsb2MKICkKIAogbGlzdChBUFBFTkQgV1RGX1NP
VVJDRVMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuY3BwIGIvU291cmNl
L1dURi93dGYvRmFzdE1hbGxvYy5jcHAKaW5kZXggMThhOWM4NDEyNjZmMDhmOGY1MzMwNDcxMTI2
ZDUwZjM4NWRiZjFjMC4uNWZkOWM5NTBiZGM5OGVhNjNiMjY1MjUxMTc3NDk4NjRjZmIxMGI5ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRmFzdE1hbGxvYy5jcHAKKysrIGIvU291cmNlL1dU
Ri93dGYvRmFzdE1hbGxvYy5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQAogI2VuZGlmCiAjZW5kaWYK
IAotI2lmIFBMQVRGT1JNKENPQ09BKQorI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShF
RkwpIHx8IFBMQVRGT1JNKEdUSykKICNkZWZpbmUgVVNFX0JNQUxMT0MgMQogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL2JtYWxsb2Mv
Q01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTlhMWE3NmZjNGY4YmU0OTc3MDZiMGY4NDMyNGVi
ZTc3ZTJjZGE2MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9ibWFsbG9jL0NNYWtlTGlzdHMu
dHh0CkBAIC0wLDAgKzEsMjIgQEAKK3NldChibWFsbG9jX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAg
ICAiJHtCTUFMTE9DX0RJUn0iCispCisKK3NldChibWFsbG9jX1NPVVJDRVMKKyAgICBibWFsbG9j
L0FsbG9jYXRvci5jcHAKKyAgICBibWFsbG9jL0NhY2hlLmNwcAorICAgIGJtYWxsb2MvRGVhbGxv
Y2F0b3IuY3BwCisgICAgYm1hbGxvYy9FbnZpcm9ubWVudC5jcHAKKyAgICBibWFsbG9jL0hlYXAu
Y3BwCisgICAgYm1hbGxvYy9PYmplY3RUeXBlLmNwcAorICAgIGJtYWxsb2MvU2VncmVnYXRlZEZy
ZWVMaXN0LmNwcAorICAgIGJtYWxsb2MvU3RhdGljTXV0ZXguY3BwCisgICAgYm1hbGxvYy9WTUhl
YXAuY3BwCisgICAgYm1hbGxvYy9tYm1hbGxvYy5jcHAKKykKKworV0VCS0lUX1dSQVBfU09VUkNF
TElTVCgke2JtYWxsb2NfU09VUkNFU30pCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7Ym1hbGxvY19J
TkNMVURFX0RJUkVDVE9SSUVTfSkKK2FkZF9saWJyYXJ5KGJtYWxsb2MgJHtibWFsbG9jX1NPVVJD
RVN9KQordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGJtYWxsb2MgJHtibWFsbG9jX0xJQlJBUklFU30p
CitzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoYm1hbGxvYyBQUk9QRVJUSUVTIENPTVBJTEVfREVGSU5J
VElPTlMgIkJVSUxESU5HX2JtYWxsb2MiKQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9BbGxvY2F0b3IuY3BwIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxvY2F0b3IuY3Bw
CmluZGV4IGVkNTczZGM5YzI2N2I5YzFjOTMwMTA0MWMzYmQ2OGQzMjgwYTYwYmMuLmViZjBjZjYy
MTNhZWJmZGE5MGFhNmIwNTUzZWMxZGIwYmYzMTJkMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFs
bG9jL2JtYWxsb2MvQWxsb2NhdG9yLmNwcAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0Fs
bG9jYXRvci5jcHAKQEAgLTU2LDcgKzU2LDggQEAgdm9pZCogQWxsb2NhdG9yOjphbGxvY2F0ZShz
aXplX3QgYWxpZ25tZW50LCBzaXplX3Qgc2l6ZSkKIAogICAgIGlmICghbV9pc0JtYWxsb2NFbmFi
bGVkKSB7CiAgICAgICAgIHZvaWQqIHJlc3VsdCA9IG51bGxwdHI7Ci0gICAgICAgIHBvc2l4X21l
bWFsaWduKCZyZXN1bHQsIGFsaWdubWVudCwgc2l6ZSk7CisgICAgICAgIGlmIChwb3NpeF9tZW1h
bGlnbigmcmVzdWx0LCBhbGlnbm1lbnQsIHNpemUpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291
cmNlL2JtYWxsb2MvYm1hbGxvYy9Bc3luY1Rhc2suaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
QXN5bmNUYXNrLmgKaW5kZXggNTA0ZGE4MTM1ZDg2NzE0Zjk3ZTA0M2YyNTM3NTA3MjgxYThhMGJh
MS4uOTUzOTIxZDFiN2FjNTc4MTNkOGQzMmJmY2Y2YTA2MWE1NDQzNmU3ZiAxMDA2NDQKLS0tIGEv
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9Bc3luY1Rhc2suaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL0FzeW5jVGFzay5oCkBAIC02NCw3ICs2NCw3IEBAIHByaXZhdGU6CiAgICAgRnVuY3Rp
b24gbV9mdW5jdGlvbjsKIH07CiAKLXRlbXBsYXRlPHR5cGVuYW1lIE9iamVjdCwgdHlwZW5hbWUg
RnVuY3Rpb24+IGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIEFzeW5jVGFzazxPYmplY3QsIEZ1
bmN0aW9uPjo6ZXhpdERlbGF5OwordGVtcGxhdGU8dHlwZW5hbWUgT2JqZWN0LCB0eXBlbmFtZSBG
dW5jdGlvbj4gY29uc3QgY29uc3RleHByIHN0ZDo6Y2hyb25vOjpzZWNvbmRzIEFzeW5jVGFzazxP
YmplY3QsIEZ1bmN0aW9uPjo6ZXhpdERlbGF5OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBPYmplY3Qs
IHR5cGVuYW1lIEZ1bmN0aW9uPgogQXN5bmNUYXNrPE9iamVjdCwgRnVuY3Rpb24+OjpBc3luY1Rh
c2soT2JqZWN0JiBvYmplY3QsIGNvbnN0IEZ1bmN0aW9uJiBmdW5jdGlvbikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQm91bmRhcnlUYWcuaCBiL1NvdXJjZS9ibWFsbG9jL2Jt
YWxsb2MvQm91bmRhcnlUYWcuaAppbmRleCA3NjFmZDNmMTgxYjIwYjcwNzE4NTg0N2Q0MGYxOWRh
Y2Y1MGM0NTcyLi5iMmVkY2UyZDkyY2JmNDJhMDUxODE2MTRlYjk5MWY5ZTI0NGM4ZGFhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0JvdW5kYXJ5VGFnLmgKKysrIGIvU291cmNl
L2JtYWxsb2MvYm1hbGxvYy9Cb3VuZGFyeVRhZy5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVk
ZSAiQkFzc2VydC5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVkZSAiU2l6ZXMuaCIKKyNp
bmNsdWRlIDxjc3RyaW5nPgogCiBuYW1lc3BhY2UgYm1hbGxvYyB7CiAKQEAgLTU0LDcgKzU1LDcg
QEAgcHVibGljOgogICAgIHZvaWQgc2V0SGFzUGh5c2ljYWxQYWdlcyhib29sIGhhc1BoeXNpY2Fs
UGFnZXMpIHsgbV9oYXNQaHlzaWNhbFBhZ2VzID0gaGFzUGh5c2ljYWxQYWdlczsgfQogCiAgICAg
Ym9vbCBpc051bGwoKSB7IHJldHVybiAhbV9zaXplOyB9Ci0gICAgdm9pZCBjbGVhcigpIHsgbWVt
c2V0KHRoaXMsIDAsIHNpemVvZigqdGhpcykpOyB9CisgICAgdm9pZCBjbGVhcigpIHsgc3RkOjpt
ZW1zZXQodGhpcywgMCwgc2l6ZW9mKCp0aGlzKSk7IH0KICAgICAKICAgICBzaXplX3Qgc2l6ZSgp
IHsgcmV0dXJuIG1fc2l6ZTsgfQogICAgIHVuc2lnbmVkIGNvbXBhY3RCZWdpbigpIHsgcmV0dXJu
IG1fY29tcGFjdEJlZ2luOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0No
dW5rLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0NodW5rLmgKaW5kZXggMGM0ZDFkMmRkOGFj
MDhlYjA4MWY4ZDVlNmEwOTU0ODY3NjdmNWMwMC4uNDFmODkyN2UxODk0YzAxMWI2YTQ2MTYxODA3
M2IyNDg2M2NjYWQzZiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9DaHVuay5o
CisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQ2h1bmsuaApAQCAtMzUsOCArMzUsOSBAQCBu
YW1lc3BhY2UgYm1hbGxvYyB7CiB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+CiBjbGFzcyBDaHVuayB7
CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6OlBhZ2UgUGFnZTsKLSAgICB0
eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6TGluZSBMaW5lOworICAgIHR5cGVkZWYgdHlwZW5hbWUg
VHJhaXRzOjpQYWdlVHlwZSBQYWdlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpMaW5l
VHlwZSBMaW5lOworCiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9IFRyYWl0czo6
bGluZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBjaHVua1NpemUgPSBUcmFpdHM6OmNo
dW5rU2l6ZTsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGNodW5rT2Zmc2V0ID0gVHJhaXRzOjpj
aHVua09mZnNldDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvRW5kVGFnLmgg
Yi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0VuZFRhZy5oCmluZGV4IDllYWU5OTc5ZTcwOGRhNTJm
MGM0YTU0NTFkOWU4ZGUzOTY3M2EwYjEuLmY5NDE1M2E5MTdkODdmZTI2MGI4Njc2MTQ4YmY0MTMw
OGEyYmQ5ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvRW5kVGFnLmgKKysr
IGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9FbmRUYWcuaApAQCAtMzcsNyArMzcsNyBAQCBwdWJs
aWM6CiAKIGlubGluZSBFbmRUYWcmIEVuZFRhZzo6b3BlcmF0b3I9KGNvbnN0IEJlZ2luVGFnJiBv
dGhlcikKIHsKLSAgICBtZW1jcHkodGhpcywgJm90aGVyLCBzaXplb2YoQm91bmRhcnlUYWcpKTsK
KyAgICBzdGQ6Om1lbWNweSh0aGlzLCAmb3RoZXIsIHNpemVvZihCb3VuZGFyeVRhZykpOwogICAg
IHNldEVuZCh0cnVlKTsKICAgICByZXR1cm4gKnRoaXM7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL0xpbmUuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5oCmlu
ZGV4IDhhOGQ3MWUxODk5MWNiNjU4ZjBiZGZmNGU4ZmQ4YTdiMWU2OTZiMmUuLjhhZjgzZWY5YWNj
ZTIxYmFjYjhlNGM3NjgwNTQ2OWVjZTBjNGU3MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvTGluZS5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5oCkBAIC0z
Niw3ICszNiw4IEBAIG5hbWVzcGFjZSBibWFsbG9jIHsKIHRlbXBsYXRlPGNsYXNzIFRyYWl0cz4K
IGNsYXNzIExpbmUgewogcHVibGljOgotICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpDaHVu
ayBDaHVuazsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6Q2h1bmtUeXBlIENodW5rOwor
CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBtaW5pbXVtT2JqZWN0U2l6ZSA9IFRyYWl0czo6bWlu
aW11bU9iamVjdFNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9IFRyYWl0
czo6bGluZVNpemU7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL01l
ZGl1bVRyYWl0cy5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9NZWRpdW1UcmFpdHMuaAppbmRl
eCBiYmNlMDFhYjMwZWQ3ZjU3YjM0ZjQ0ZTE2NWI4MjA0M2RkYjQ3YjEyLi41OWQ3OGY1MDE3NWVi
MjU5NTQxNTRkODI4MDEwOTIwNDM1YzFjY2I1IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL01lZGl1bVRyYWl0cy5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTWVkaXVt
VHJhaXRzLmgKQEAgLTM2LDkgKzM2LDkgQEAgdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPiBjbGFzcyBM
aW5lOwogdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPiBjbGFzcyBQYWdlOwogCiBzdHJ1Y3QgTWVkaXVt
VHJhaXRzIHsKLSAgICB0eXBlZGVmIENodW5rPE1lZGl1bVRyYWl0cz4gQ2h1bms7Ci0gICAgdHlw
ZWRlZiBMaW5lPE1lZGl1bVRyYWl0cz4gTGluZTsKLSAgICB0eXBlZGVmIFBhZ2U8TWVkaXVtVHJh
aXRzPiBQYWdlOworICAgIHR5cGVkZWYgQ2h1bms8TWVkaXVtVHJhaXRzPiBDaHVua1R5cGU7Cisg
ICAgdHlwZWRlZiBMaW5lPE1lZGl1bVRyYWl0cz4gTGluZVR5cGU7CisgICAgdHlwZWRlZiBQYWdl
PE1lZGl1bVRyYWl0cz4gUGFnZVR5cGU7CiAKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGxpbmVT
aXplID0gbWVkaXVtTGluZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBtaW5pbXVtT2Jq
ZWN0U2l6ZSA9IHNtYWxsTWF4ICsgYWxpZ25tZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxs
b2MvYm1hbGxvYy9QYWdlLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BhZ2UuaAppbmRleCAz
ODE0MGE1NjRhZDNiOTQ1NDUyNGRjZjkzYzVmZWU2ZDdjYzNiODNmLi5mZGZhMTU4ZDYxMjNlNDhh
NGUzZTA5MTkwNTc4Mzg4ODQ2OWExNTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFs
bG9jL1BhZ2UuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BhZ2UuaApAQCAtMzYsOCAr
MzYsOSBAQCBuYW1lc3BhY2UgYm1hbGxvYyB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUcmFpdHM+CiBj
bGFzcyBQYWdlIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6Q2h1bmsg
Q2h1bms7Ci0gICAgdHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6OkxpbmUgTGluZTsKKyAgICB0eXBl
ZGVmIHR5cGVuYW1lIFRyYWl0czo6Q2h1bmtUeXBlIENodW5rOworICAgIHR5cGVkZWYgdHlwZW5h
bWUgVHJhaXRzOjpMaW5lVHlwZSBMaW5lOworCiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5l
U2l6ZSA9IFRyYWl0czo6bGluZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lQ291
bnQgPSB2bVBhZ2VTaXplIC8gbGluZVNpemU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvUGVyVGhyZWFkLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BlclRocmVhZC5o
CmluZGV4IDAyZjA3ZTE2NTJhN2E2YTM0N2ZhODA2YzI1NmYzYTg1MTVlMGI4ZWEuLjI1NzYyOGNh
ZDVlNGY2NGRiNGU3ZjI2OWFhMjljYzllNjJlNGM4OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFs
bG9jL2JtYWxsb2MvUGVyVGhyZWFkLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QZXJU
aHJlYWQuaApAQCAtMzAsOSArMzAsMTEgQEAKICNpbmNsdWRlICJJbmxpbmUuaCIKICNpbmNsdWRl
IDxtdXRleD4KICNpbmNsdWRlIDxwdGhyZWFkLmg+Ci0jaWYgZGVmaW5lZChfX2hhc19pbmNsdWRl
KSAmJiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KQorI2lmIGRlZmlu
ZWQoX19oYXNfaW5jbHVkZSkKKyNpZiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNo
ZGVwLmg+KQogI2luY2x1ZGUgPFN5c3RlbS9wdGhyZWFkX21hY2hkZXAuaD4KICNlbmRpZgorI2Vu
ZGlmCiAKIG5hbWVzcGFjZSBibWFsbG9jIHsKIApAQCAtNTAsMjkgKzUyLDggQEAgcHJpdmF0ZToK
ICAgICBzdGF0aWMgdm9pZCBkZXN0cnVjdG9yKHZvaWQqKTsKIH07CiAKLSNpZiBkZWZpbmVkKF9f
aGFzX2luY2x1ZGUpICYmIF9faGFzX2luY2x1ZGUoPFN5c3RlbS9wdGhyZWFkX21hY2hkZXAuaD4p
Ci0KLWNsYXNzIENhY2hlOwotdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IFBlclRocmVhZFN0
b3JhZ2U7Ci0KLS8vIEZvciBub3csIHdlIG9ubHkgc3VwcG9ydCBQZXJUaHJlYWQ8Q2FjaGU+LiBX
ZSBjYW4gZXhwYW5kIHRvIG90aGVyIHR5cGVzIGJ5Ci0vLyB1c2luZyBtb3JlIGtleXMuCi10ZW1w
bGF0ZTw+IHN0cnVjdCBQZXJUaHJlYWRTdG9yYWdlPENhY2hlPiB7Ci0gICAgc3RhdGljIGNvbnN0
IHB0aHJlYWRfa2V5X3Qga2V5ID0gX19QVEtfRlJBTUVXT1JLX0pBVkFTQ1JJUFRDT1JFX0tFWTA7
Ci0KLSAgICBzdGF0aWMgdm9pZCogZ2V0KCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBfcHRocmVh
ZF9nZXRzcGVjaWZpY19kaXJlY3Qoa2V5KTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgdm9pZCBpbml0
KHZvaWQqIG9iamVjdCwgdm9pZCAoKmRlc3RydWN0b3IpKHZvaWQqKSkKLSAgICB7Ci0gICAgICAg
IF9wdGhyZWFkX3NldHNwZWNpZmljX2RpcmVjdChrZXksIG9iamVjdCk7Ci0gICAgICAgIHB0aHJl
YWRfa2V5X2luaXRfbnAoa2V5LCBkZXN0cnVjdG9yKTsKLSAgICB9Ci19OwogCi0jZWxzZQorI2lm
ICFkZWZpbmVkKF9faGFzX2luY2x1ZGUpIHx8ICFfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVh
ZF9tYWNoZGVwLmg+KQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgUGVyVGhyZWFkU3Rv
cmFnZSB7CiAgICAgc3RhdGljIGJvb2wgc19kaWRJbml0aWFsaXplOwpAQCAtMTAwLDcgKzgxLDI5
IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGJvb2wgUGVyVGhyZWFkU3RvcmFnZTxUPjo6c19kaWRJ
bml0aWFsaXplOwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gcHRocmVhZF9rZXlfdCBQZXJUaHJlYWRT
dG9yYWdlPFQ+OjpzX2tleTsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0ZDo6b25jZV9mbGFnIFBl
clRocmVhZFN0b3JhZ2U8VD46OnNfb25jZUZsYWc7CiAKLSNlbmRpZiAvLyBkZWZpbmVkKF9faGFz
X2luY2x1ZGUpICYmIF9faGFzX2luY2x1ZGUoPFN5c3RlbS9wdGhyZWFkX21hY2hkZXAuaD4pCisj
ZWxzZQorCitjbGFzcyBDYWNoZTsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBQZXJUaHJl
YWRTdG9yYWdlOworCisvLyBGb3Igbm93LCB3ZSBvbmx5IHN1cHBvcnQgUGVyVGhyZWFkPENhY2hl
Pi4gV2UgY2FuIGV4cGFuZCB0byBvdGhlciB0eXBlcyBieQorLy8gdXNpbmcgbW9yZSBrZXlzLgor
dGVtcGxhdGU8PiBzdHJ1Y3QgUGVyVGhyZWFkU3RvcmFnZTxDYWNoZT4geworICAgIHN0YXRpYyBj
b25zdCBwdGhyZWFkX2tleV90IGtleSA9IF9fUFRLX0ZSQU1FV09SS19KQVZBU0NSSVBUQ09SRV9L
RVkwOworCisgICAgc3RhdGljIHZvaWQqIGdldCgpCisgICAgeworICAgICAgICByZXR1cm4gX3B0
aHJlYWRfZ2V0c3BlY2lmaWNfZGlyZWN0KGtleSk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQg
aW5pdCh2b2lkKiBvYmplY3QsIHZvaWQgKCpkZXN0cnVjdG9yKSh2b2lkKikpCisgICAgeworICAg
ICAgICBfcHRocmVhZF9zZXRzcGVjaWZpY19kaXJlY3Qoa2V5LCBvYmplY3QpOworICAgICAgICBw
dGhyZWFkX2tleV9pbml0X25wKGtleSwgZGVzdHJ1Y3Rvcik7CisgICAgfQorfTsKKworI2VuZGlm
IC8vICFkZWZpbmVkKF9faGFzX2luY2x1ZGUpIHx8ICFfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRo
cmVhZF9tYWNoZGVwLmg+KQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogSU5MSU5FIFQqIFBlclRo
cmVhZDxUPjo6Z2V0RmFzdENhc2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9TbWFsbFRyYWl0cy5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TbWFsbFRyYWl0cy5oCmlu
ZGV4IGU0MGMxNjZlZGQwN2JjYWZlMTc1NmYxNWY2YWMxMTVjZWE5YTEzMjIuLjgwNmI3ZThjNjY1
ZGE1NDQ0MDNkZWZmODFkMzhkYjliOTBiZGE2NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvU21hbGxUcmFpdHMuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1NtYWxs
VHJhaXRzLmgKQEAgLTM1LDkgKzM1LDkgQEAgdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPiBjbGFzcyBM
aW5lOwogdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPiBjbGFzcyBQYWdlOwogCiBzdHJ1Y3QgU21hbGxU
cmFpdHMgewotICAgIHR5cGVkZWYgQ2h1bms8U21hbGxUcmFpdHM+IENodW5rOwotICAgIHR5cGVk
ZWYgTGluZTxTbWFsbFRyYWl0cz4gTGluZTsKLSAgICB0eXBlZGVmIFBhZ2U8U21hbGxUcmFpdHM+
IFBhZ2U7CisgICAgdHlwZWRlZiBDaHVuazxTbWFsbFRyYWl0cz4gQ2h1bmtUeXBlOworICAgIHR5
cGVkZWYgTGluZTxTbWFsbFRyYWl0cz4gTGluZVR5cGU7CisgICAgdHlwZWRlZiBQYWdlPFNtYWxs
VHJhaXRzPiBQYWdlVHlwZTsKIAogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbGluZVNpemUgPSBz
bWFsbExpbmVTaXplOwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbWluaW11bU9iamVjdFNpemUg
PSBhbGlnbm1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZNQWxsb2Nh
dGUuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0ZS5oCmluZGV4IDk0MDYzNThh
ZTUxZjU5YjA4ZmQ2NzU5ZDUyY2U5YTgyMjVhMzQ2NGUuLjhmM2VhNWZiZGQ1YWU1MzQyMGQ1ODYz
YjJmOTc2MmM4ZmRlYmMwN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1B
bGxvY2F0ZS5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0ZS5oCkBAIC0z
MSwxMyArMzEsMjAgQEAKICNpbmNsdWRlICJTaXplcy5oIgogI2luY2x1ZGUgIlN5c2NhbGwuaCIK
ICNpbmNsdWRlIDxhbGdvcml0aG0+Ci0jaW5jbHVkZSA8bWFjaC92bV9zdGF0aXN0aWNzLmg+CiAj
aW5jbHVkZSA8c3lzL21tYW4uaD4KICNpbmNsdWRlIDx1bmlzdGQuaD4KIAorI2lmIEJPUyhEQVJX
SU4pCisjaW5jbHVkZSA8bWFjaC92bV9zdGF0aXN0aWNzLmg+CisjZW5kaWYKKwogbmFtZXNwYWNl
IGJtYWxsb2MgewogCisjaWYgQk9TKERBUldJTikKICNkZWZpbmUgQk1BTExPQ19WTV9UQUcgVk1f
TUFLRV9UQUcoVk1fTUVNT1JZX1RDTUFMTE9DKQorI2Vsc2UKKyNkZWZpbmUgQk1BTExPQ19WTV9U
QUcgLTEKKyNlbmRpZgogCiBpbmxpbmUgc2l6ZV90IHZtU2l6ZShzaXplX3Qgc2l6ZSkKIHsKQEAg
LTEwNywxMyArMTE0LDIxIEBAIGlubGluZSB2b2lkKiB2bUFsbG9jYXRlKHNpemVfdCB2bUFsaWdu
bWVudCwgc2l6ZV90IHZtU2l6ZSkKIGlubGluZSB2b2lkIHZtRGVhbGxvY2F0ZVBoeXNpY2FsUGFn
ZXModm9pZCogcCwgc2l6ZV90IHZtU2l6ZSkKIHsKICAgICB2bVZhbGlkYXRlKHAsIHZtU2l6ZSk7
CisjaWYgQk9TKERBUldJTikKICAgICBTWVNDQUxMKG1hZHZpc2UocCwgdm1TaXplLCBNQURWX0ZS
RUVfUkVVU0FCTEUpKTsKKyNlbHNlCisgICAgU1lTQ0FMTChtYWR2aXNlKHAsIHZtU2l6ZSwgTUFE
Vl9ET05UTkVFRCkpOworI2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIHZtQWxsb2NhdGVQaHlzaWNh
bFBhZ2VzKHZvaWQqIHAsIHNpemVfdCB2bVNpemUpCiB7CiAgICAgdm1WYWxpZGF0ZShwLCB2bVNp
emUpOworI2lmIEJPUyhEQVJXSU4pCiAgICAgU1lTQ0FMTChtYWR2aXNlKHAsIHZtU2l6ZSwgTUFE
Vl9GUkVFX1JFVVNFKSk7CisjZWxzZQorICAgIFNZU0NBTEwobWFkdmlzZShwLCB2bVNpemUsIE1B
RFZfTk9STUFMKSk7CisjZW5kaWYKIH0KIAogLy8gVHJpbXMgcmVxdWVzdHMgdGhhdCBhcmUgdW4t
cGFnZS1hbGlnbmVkLiBOT1RFOiBzaXplIG11c3QgYmUgYXQgbGVhc3QgYSBwYWdlLgpkaWZmIC0t
Z2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WZWN0b3IuaCBiL1NvdXJjZS9ibWFsbG9jL2Jt
YWxsb2MvVmVjdG9yLmgKaW5kZXggNWEwNjg4ZTJkZGVlOTA0MGJiODU0MGYwMzE2MjgwYzdjZTNh
NmRmZi4uNWI0MTEyYmU2M2NjOTdmZTE0NjE0YTgwODY2YTY4OTY3MzJkNzkxNCAxMDA2NDQKLS0t
IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WZWN0b3IuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL1ZlY3Rvci5oCkBAIC0yOSw3ICsyOSw3IEBACiAjaW5jbHVkZSAiSW5saW5lLmgiCiAj
aW5jbHVkZSAiVk1BbGxvY2F0ZS5oIgogI2luY2x1ZGUgPGNzdGRkZWY+Ci0jaW5jbHVkZSA8c3Ry
aW5nPgorI2luY2x1ZGUgPGNzdHJpbmc+CiAKIG5hbWVzcGFjZSBibWFsbG9jIHsKIApAQCAtMTEy
LDcgKzExMiw3IEBAIHZvaWQgVmVjdG9yPFQ+OjpwdXNoKGNvbnN0IFQqIGJlZ2luLCBjb25zdCBU
KiBlbmQpCiAgICAgc2l6ZV90IG5ld1NpemUgPSBtX3NpemUgKyAoZW5kIC0gYmVnaW4pOwogICAg
IGlmIChuZXdTaXplID4gbV9jYXBhY2l0eSkKICAgICAgICAgZ3Jvd0NhcGFjaXR5KG5ld1NpemUp
OwotICAgIG1lbWNweSh0aGlzLT5lbmQoKSwgYmVnaW4sIChlbmQgLSBiZWdpbikgKiBzaXplb2Yo
VCkpOworICAgIHN0ZDo6bWVtY3B5KHRoaXMtPmVuZCgpLCBiZWdpbiwgKGVuZCAtIGJlZ2luKSAq
IHNpemVvZihUKSk7CiAgICAgbV9zaXplID0gbmV3U2l6ZTsKIH0KIApAQCAtMTQ4LDcgKzE0OCw3
IEBAIHZvaWQgVmVjdG9yPFQ+OjpyZWFsbG9jYXRlQnVmZmVyKHNpemVfdCBuZXdDYXBhY2l0eSkK
ICAgICBzaXplX3Qgdm1TaXplID0gYm1hbGxvYzo6dm1TaXplKG5ld0NhcGFjaXR5ICogc2l6ZW9m
KFQpKTsKICAgICBUKiBuZXdCdWZmZXIgPSBzdGF0aWNfY2FzdDxUKj4odm1BbGxvY2F0ZSh2bVNp
emUpKTsKICAgICBpZiAobV9idWZmZXIpIHsKLSAgICAgICAgbWVtY3B5KG5ld0J1ZmZlciwgbV9i
dWZmZXIsIG1fc2l6ZSAqIHNpemVvZihUKSk7CisgICAgICAgIHN0ZDo6bWVtY3B5KG5ld0J1ZmZl
ciwgbV9idWZmZXIsIG1fc2l6ZSAqIHNpemVvZihUKSk7CiAgICAgICAgIHZtRGVhbGxvY2F0ZSht
X2J1ZmZlciwgYm1hbGxvYzo6dm1TaXplKG1fY2FwYWNpdHkgKiBzaXplb2YoVCkpKTsKICAgICB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRIZWxwZXJzLmNtYWtlIGIvU291cmNl
L2NtYWtlL1dlYktpdEhlbHBlcnMuY21ha2UKaW5kZXggNDIwZWJlMTA4NDgxZGU0MTIwMjM1ODUw
MGFhZDgwNzIyY2JjOWEwMC4uM2VkZjYwMzNmMjRkOGYxNTk4OGRiYjQzMzQ4NDY2ODM1MzM0M2Ix
NCAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktpdEhlbHBlcnMuY21ha2UKKysrIGIvU291
cmNlL2NtYWtlL1dlYktpdEhlbHBlcnMuY21ha2UKQEAgLTIyLDcgKzIyLDcgQEAgbWFjcm8oV0VC
S0lUX1NFVF9FWFRSQV9DT01QSUxFUl9GTEFHUyBfdGFyZ2V0KQogCiAgICAgICAgICMgRW5hYmxl
IGVycm9ycyBvbiB3YXJuaW5nCiAgICAgICAgIGlmIChPUFRJT05fRU5BQkxFX1dFUlJPUikKLSAg
ICAgICAgICAgIHNldChPTERfQ09NUElMRV9GTEFHUyAiLVdlcnJvciAtV25vLWVycm9yPXVudXNl
ZC1wYXJhbWV0ZXIgJHtPTERfQ09NUElMRV9GTEFHU30iKQorICAgICAgICAgICAgc2V0KE9MRF9D
T01QSUxFX0ZMQUdTICItV2Vycm9yIC1Xbm8tZXJyb3I9YXR0cmlidXRlcyAtV25vLWVycm9yPXVu
dXNlZC1wYXJhbWV0ZXIgJHtPTERfQ09NUElMRV9GTEFHU30iKQogICAgICAgICBlbmRpZiAoKQog
CiAgICAgICAgIHNldF90YXJnZXRfcHJvcGVydGllcygke190YXJnZXR9IFBST1BFUlRJRVMKZGlm
ZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKaW5kZXggZWYxN2RjN2Y5
YjFjMzg2MzIxYjdjMjZkYTMwODc2M2I1YjQ4YzBhNy4uNGFmOWRkMmI1NzZhYTkxZDE4NWQwZWFm
OWRjMDNmM2YyZTE5ZmU2NiAxMDA2NDQKLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrIGIvQ01ha2VM
aXN0cy50eHQKQEAgLTQsNiArNCw3IEBAIHByb2plY3QoV2ViS2l0KQogIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQogIyBEZWZhdWx0IGxpYnJhcnkgdHlwZQogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
c2V0KEJNQUxMT0NfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9ibWFsbG9jIikKIHNl
dChXVEZfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XVEYiKQogc2V0KEpBVkFTQ1JJ
UFRDT1JFX0RJUiAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUiKQog
c2V0KFdFQkNPUkVfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJDb3JlIikKZGlm
ZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBkYjk0ZGVlMGYyNDI4NzdiYjg4
YjFkYzRmNTM4MDFkNmUzOTM0M2NhLi43NGJhYzMzMjgwNjVlZTMwZTZiMTJjNTBmYjM2M2FmOWQ3
MTIyM2E0IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMTUtMDEtMjcgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNv
bT4KKworICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGluc3RlYWQgb2YgdGNtYWxsb2MK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDE2Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBibWFs
bG9jIGRpcmVjdG9yeSB0byBidWlsZCBsaXN0LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6
IERlZmluZSBCTUFMTE9DX0RJUiBkaXJlY3RvcnkuCisgICAgICAgICogU291cmNlL0NNYWtlTGlz
dHMudHh0OiBBZGQgYm1hbGxvYyBwYXRoIHRvIHN1Yi1kaXJlY3RvcmllcyBsaXN0LgorICAgICAg
ICAqIFNvdXJjZS9jbWFrZS9XZWJLaXRIZWxwZXJzLmNtYWtlOiBUcmVhdCBhdHRyaWJ1dGUgd2Fy
bmluZyBhcyBuby1lcnJvci4KKwogMjAxNS0wMS0yNiAgTmlrb3MgQW5kcm9uaWtvcyAgPG5pa29z
LmFuZHJvbmlrb3Mtd2Via2l0QGNpc3JhLmNhbm9uLmNvbS5hdT4KIAogICAgICAgICBBcHBseSBm
ZVR1cmJ1bGVuY2Ugc3BlYyBjaGFuZ2UgdG8gZml4IHplcm8gbGVuZ3RoIHZlY3RvciBnZW5lcmF0
aW9uCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245692</attachid>
            <date>2015-01-29 21:17:04 -0800</date>
            <delta_ts>2015-01-30 17:15:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140162-20150130141710.patch</filename>
            <type>text/plain</type>
            <size>18437</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc5MzkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY0NmNkZWRhOTNlNjRjOTNhMmIyYjcy
MDMwN2ZjOThjN2IwNjA2YTEuLjhmZDgxYjExOWZiNjJhYmFiOTc3NzYzNmJjYmRmY2IzZDk1MmRk
NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMDEtMjkgIEd5dXlvdW5nIEtpbSAgPGd5dXlv
dW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGlu
c3RlYWQgb2YgdGNtYWxsb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MDE2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OiBFeGNsdWRlIFRDU3lzdGVtQWxsb2MuaC9j
cHAgZnJvbSBFRkwgYW5kIEdUSy4KKyAgICAgICAgKiB3dGYvRmFzdE1hbGxvYy5jcHA6IEVuYWJs
ZSBibWFsbG9jIG9uIEVGTCBhbmQgR1RLIHBvcnRzIGFzIHdlbGwuCisKIDIwMTUtMDEtMjkgIFNh
bnRvc2ggTWFodG8gIDxzYW50b3NoYml0MjAwN0BnbWFpbC5jb20+CiAKICAgICAgICAgUmVmYWN0
b3IgU3RyaW5nOjpmb3JtYXQgdG8gaGFuZGxlIHVucmVhY2hlZCB2YV9lbmQuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cKaW5k
ZXggOTBlMWE0ZDQ1YjEyNzc3YjU0ZTg0NTZlN2E0Nzc1MjNjZTlkNDIxZC4uZDAyOWNjZDg3OTNj
YzdmNGZlYmI3Y2YxMWU4MzM2MWZjODkxMDBlOCAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2Mv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBA
CisyMDE1LTAxLTI5ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisK
KyAgICAgICAgW0VGTF1bR1RLXSBVc2UgYm1hbGxvYyBpbnN0ZWFkIG9mIHRjbWFsbG9jCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDAxNjIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdXBwb3J0IHRvIHVz
ZSBibWFsbG9jIG9uIEVGTCBhbmQgR1RLIHBvcnRzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50
eHQ6IEFkZGVkLgorICAgICAgICAqIGJtYWxsb2MvQWxsb2NhdG9yLmNwcDoKKyAgICAgICAgKGJt
YWxsb2M6OkFsbG9jYXRvcjo6YWxsb2NhdGUpOgorICAgICAgICAgICAgRml4IHVudXNlZCByZXR1
cm4gdmFsdWUgY2F1c2VkIGJ5IHBvc2l4X21lbWFsaWduKCkuCisgICAgICAgICogYm1hbGxvYy9B
c3luY1Rhc2suaDoKKyAgICAgICAgKiBibWFsbG9jL0JvdW5kYXJ5VGFnLmg6CisgICAgICAgIChi
bWFsbG9jOjpCb3VuZGFyeVRhZzo6Y2xlYXIpOgorICAgICAgICAqIGJtYWxsb2MvQ2h1bmsuaDoK
KyAgICAgICAgICAgIENoYW5nZSBUcmFpdHM6OlBhZ2Ugd2l0aCBUcmFpdHM6OlBhZ2VUeXBlIGlu
IG9yZGVyIHRvIGZpeAorICAgICAgICAgICAgLWZwZXJtaXRpdmUgYnVpbGQgZXJyb3Igb24gRUZM
IGFuZCBHVEsgcG9ydC4gCisgICAgICAgICogYm1hbGxvYy9FbmRUYWcuaDoKKyAgICAgICAgKGJt
YWxsb2M6OkVuZFRhZzo6b3BlcmF0b3I9KToKKyAgICAgICAgKiBibWFsbG9jL0xpbmUuaDogZGl0
dG8uCisgICAgICAgICogYm1hbGxvYy9NZWRpdW1UcmFpdHMuaDoKKyAgICAgICAgKiBibWFsbG9j
L1BhZ2UuaDogZGl0dG8uCisgICAgICAgICogYm1hbGxvYy9QZXJUaHJlYWQuaDoKKyAgICAgICAg
ICAgIEVGTCBwb3J0IGRvZXNuJ3Qgc3VwcG9ydCBfX2hhc19pbmNsdWRlIGRlZmluaXRpb24geWV0
LgorICAgICAgICAgICAgTW92ZSBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVw
Lmg+KSBpbnRvICNpZiBkZWZpbmVkKF9faGFzX2luY2x1ZGUpLgorICAgICAgICAqIGJtYWxsb2Mv
U21hbGxUcmFpdHMuaDogZGl0dG8uCisgICAgICAgICogYm1hbGxvYy9WTUFsbG9jYXRlLmg6Cisg
ICAgICAgIChibWFsbG9jOjp2bURlYWxsb2NhdGVQaHlzaWNhbFBhZ2VzKToKKyAgICAgICAgKGJt
YWxsb2M6OnZtQWxsb2NhdGVQaHlzaWNhbFBhZ2VzKToKKyAgICAgICAgKiBibWFsbG9jL1ZlY3Rv
ci5oOgorICAgICAgICAoYm1hbGxvYzo6VmVjdG9yPFQ+OjpwdXNoKToKKyAgICAgICAgKGJtYWxs
b2M6OlZlY3RvcjxUPjo6cmVhbGxvY2F0ZUJ1ZmZlcik6CisKIDIwMTUtMDEtMjggIERhbmEgQnVy
a2FydCAgPGRidXJrYXJ0QGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIEFTYW4gZmxhZyBzZXR0
aW5ncyBmcm9tIERlYnVnUmVsZWFzZS54Y2NvbmZpZyB0byBCYXNlLnhjY29uZmlnCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvQ01ha2VMaXN0cy50eHQKaW5kZXgg
NTQ4NjcyMGQ3NjJiMDg3YzYyYWJlODQ3YjQxNDg4ZjU3MGJjZWYyOC4uZmFiYzVkNmI2OGY4MTRm
YThlMWQ5NGI4MmJhOWM3NjY3OGQ4M2Q5OSAxMDA2NDQKLS0tIGEvU291cmNlL0NNYWtlTGlzdHMu
dHh0CisrKyBiL1NvdXJjZS9DTWFrZUxpc3RzLnR4dApAQCAtMSw2ICsxLDggQEAKICMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KICMgQWRkIG1vZHVsZSBkaXJlY3RvcmllcwogIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorYWRkX3N1YmRpcmVjdG9yeShibWFsbG9jKQorCiBhZGRfc3ViZGlyZWN0b3J5KFdU
RikKIAogYWRkX3N1YmRpcmVjdG9yeShKYXZhU2NyaXB0Q29yZSkKQEAgLTI2LDYgKzI4LDcgQEAg
V0VCS0lUX0lOQ0xVREVfQ09ORklHX0ZJTEVTX0lGX0VYSVNUUygpCiAjIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCiAjIFNldCBjb21waWxlciBmbGFncyBmb3IgYWxsIHRhcmdldHMKICMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KK1dFQktJVF9TRVRfRVhUUkFfQ09NUElMRVJfRkxBR1MoYm1hbGxvYyAke0FE
RElUSU9OQUxfQ09NUElMRVJfRkxBR1N9KQogV0VCS0lUX1NFVF9FWFRSQV9DT01QSUxFUl9GTEFH
UyhXVEYgJHtBRERJVElPTkFMX0NPTVBJTEVSX0ZMQUdTfSkKIFdFQktJVF9TRVRfRVhUUkFfQ09N
UElMRVJfRkxBR1MoSmF2YVNjcmlwdENvcmUgJHtBRERJVElPTkFMX0NPTVBJTEVSX0ZMQUdTfSkK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV1RG
L3d0Zi9DTWFrZUxpc3RzLnR4dAppbmRleCBiOWU2NjkxNmRmMGEyYjVhZTNlOGQ5ODE1ZGUzYzBh
OWY4NzE0MmRlLi4xZGMzODUzODUxNzJhMmE2Mzg1MWNkOWY4NTZlYjMxYWY2OTkxMGM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9DTWFrZUxpc3RzLnR4dApAQCAtMTAwLDcgKzEwMCw2IEBAIHNldChXVEZfSEVBREVSUwogICAg
IFRDUGFja2VkQ2FjaGUuaAogICAgIFRDUGFnZU1hcC5oCiAgICAgVENTcGluTG9jay5oCi0gICAg
VENTeXN0ZW1BbGxvYy5oCiAgICAgVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oCiAgICAg
VGhyZWFkU2FmZVJlZkNvdW50ZWQuaAogICAgIFRocmVhZFNwZWNpZmljLmgKQEAgLTE4Myw3ICsx
ODIsNiBAQCBzZXQoV1RGX1NPVVJDRVMKICAgICBTdGFja1N0YXRzLmNwcAogICAgIFN0YWNrQm91
bmRzLmNwcAogICAgIFN0cmluZ1ByaW50U3RyZWFtLmNwcAotICAgIFRDU3lzdGVtQWxsb2MuY3Bw
CiAgICAgVGhyZWFkaW5nLmNwcAogICAgIFdURlRocmVhZERhdGEuY3BwCiAgICAgZHRvYS5jcHAK
QEAgLTIxMyw2ICsyMTEsNyBAQCBzZXQoV1RGX1NPVVJDRVMKICkKIAogc2V0KFdURl9JTkNMVURF
X0RJUkVDVE9SSUVTCisgICAgIiR7Qk1BTExPQ19ESVJ9IgogICAgICIke1dURl9ESVJ9IgogICAg
ICIke1dURl9ESVJ9L3d0ZiIKICAgICAiJHtXVEZfRElSfS93dGYvZHRvYSIKQEAgLTIyNiw2ICsy
MjUsNyBAQCBzZXQoV1RGX0lOQ0xVREVfRElSRUNUT1JJRVMKIAogc2V0KFdURl9MSUJSQVJJRVMK
ICAgICAke0NNQUtFX0RMX0xJQlN9CisgICAgYm1hbGxvYwogKQogCiBsaXN0KEFQUEVORCBXVEZf
U09VUkNFUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvRmFzdE1hbGxvYy5jcHAgYi9Tb3Vy
Y2UvV1RGL3d0Zi9GYXN0TWFsbG9jLmNwcAppbmRleCA4NDhmYzY5MmIxM2VlNWUzYzVkYzExYjI3
YzdlYjYwNDIzZGE5ZTM5Li40Yzg5MGM5NDAzZDFjOTBlNjVhZGI5ZTkzN2UzZmI3YjdmZjc3YTlm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GYXN0TWFsbG9jLmNwcAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9GYXN0TWFsbG9jLmNwcApAQCAtMTAxLDcgKzEwMSw3IEBACiAjZW5kaWYKICNlbmRp
ZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpCisjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRGT1JN
KEVGTCkgfHwgUExBVEZPUk0oR1RLKQogI2RlZmluZSBVU0VfQk1BTExPQyAxCiAjZW5kaWYKIApk
aWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvYm1hbGxv
Yy9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OWExYTc2ZmM0ZjhiZTQ5NzcwNmIwZjg0MzI0
ZWJlNzdlMmNkYTYzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL2JtYWxsb2MvQ01ha2VMaXN0
cy50eHQKQEAgLTAsMCArMSwyMiBAQAorc2V0KGJtYWxsb2NfSU5DTFVERV9ESVJFQ1RPUklFUwor
ICAgICIke0JNQUxMT0NfRElSfSIKKykKKworc2V0KGJtYWxsb2NfU09VUkNFUworICAgIGJtYWxs
b2MvQWxsb2NhdG9yLmNwcAorICAgIGJtYWxsb2MvQ2FjaGUuY3BwCisgICAgYm1hbGxvYy9EZWFs
bG9jYXRvci5jcHAKKyAgICBibWFsbG9jL0Vudmlyb25tZW50LmNwcAorICAgIGJtYWxsb2MvSGVh
cC5jcHAKKyAgICBibWFsbG9jL09iamVjdFR5cGUuY3BwCisgICAgYm1hbGxvYy9TZWdyZWdhdGVk
RnJlZUxpc3QuY3BwCisgICAgYm1hbGxvYy9TdGF0aWNNdXRleC5jcHAKKyAgICBibWFsbG9jL1ZN
SGVhcC5jcHAKKyAgICBibWFsbG9jL21ibWFsbG9jLmNwcAorKQorCitXRUJLSVRfV1JBUF9TT1VS
Q0VMSVNUKCR7Ym1hbGxvY19TT1VSQ0VTfSkKK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtibWFsbG9j
X0lOQ0xVREVfRElSRUNUT1JJRVN9KQorYWRkX2xpYnJhcnkoYm1hbGxvYyAke2JtYWxsb2NfU09V
UkNFU30pCit0YXJnZXRfbGlua19saWJyYXJpZXMoYm1hbGxvYyAke2JtYWxsb2NfTElCUkFSSUVT
fSkKK3NldF90YXJnZXRfcHJvcGVydGllcyhibWFsbG9jIFBST1BFUlRJRVMgQ09NUElMRV9ERUZJ
TklUSU9OUyAiQlVJTERJTkdfYm1hbGxvYyIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL0FsbG9jYXRvci5jcHAgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FsbG9jYXRvci5j
cHAKaW5kZXggZWQ1NzNkYzljMjY3YjljMWM5MzAxMDQxYzNiZDY4ZDMyODBhNjBiYy4uZWJmMGNm
NjIxM2FlYmZkYTkwYWE2YjA1NTNlYzFkYjBiZjMxMmQxOCAxMDA2NDQKLS0tIGEvU291cmNlL2Jt
YWxsb2MvYm1hbGxvYy9BbGxvY2F0b3IuY3BwCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
QWxsb2NhdG9yLmNwcApAQCAtNTYsNyArNTYsOCBAQCB2b2lkKiBBbGxvY2F0b3I6OmFsbG9jYXRl
KHNpemVfdCBhbGlnbm1lbnQsIHNpemVfdCBzaXplKQogCiAgICAgaWYgKCFtX2lzQm1hbGxvY0Vu
YWJsZWQpIHsKICAgICAgICAgdm9pZCogcmVzdWx0ID0gbnVsbHB0cjsKLSAgICAgICAgcG9zaXhf
bWVtYWxpZ24oJnJlc3VsdCwgYWxpZ25tZW50LCBzaXplKTsKKyAgICAgICAgaWYgKHBvc2l4X21l
bWFsaWduKCZyZXN1bHQsIGFsaWdubWVudCwgc2l6ZSkpCisgICAgICAgICAgICByZXR1cm4gbnVs
bHB0cjsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAgICAgCmRpZmYgLS1naXQgYS9T
b3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FzeW5jVGFzay5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9Bc3luY1Rhc2suaAppbmRleCA1MDRkYTgxMzVkODY3MTRmOTdlMDQzZjI1Mzc1MDcyODFhOGEw
YmExLi45NTM5MjFkMWI3YWM1NzgxM2Q4ZDMyYmZjZjZhMDYxYTU0NDM2ZTdmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FzeW5jVGFzay5oCisrKyBiL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvQXN5bmNUYXNrLmgKQEAgLTY0LDcgKzY0LDcgQEAgcHJpdmF0ZToKICAgICBGdW5j
dGlvbiBtX2Z1bmN0aW9uOwogfTsKIAotdGVtcGxhdGU8dHlwZW5hbWUgT2JqZWN0LCB0eXBlbmFt
ZSBGdW5jdGlvbj4gY29uc3Qgc3RkOjpjaHJvbm86OnNlY29uZHMgQXN5bmNUYXNrPE9iamVjdCwg
RnVuY3Rpb24+OjpleGl0RGVsYXk7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBPYmplY3QsIHR5cGVuYW1l
IEZ1bmN0aW9uPiBjb25zdCBjb25zdGV4cHIgc3RkOjpjaHJvbm86OnNlY29uZHMgQXN5bmNUYXNr
PE9iamVjdCwgRnVuY3Rpb24+OjpleGl0RGVsYXk7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIE9iamVj
dCwgdHlwZW5hbWUgRnVuY3Rpb24+CiBBc3luY1Rhc2s8T2JqZWN0LCBGdW5jdGlvbj46OkFzeW5j
VGFzayhPYmplY3QmIG9iamVjdCwgY29uc3QgRnVuY3Rpb24mIGZ1bmN0aW9uKQpkaWZmIC0tZ2l0
IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9Cb3VuZGFyeVRhZy5oIGIvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9Cb3VuZGFyeVRhZy5oCmluZGV4IDc2MWZkM2YxODFiMjBiNzA3MTg1ODQ3ZDQwZjE5
ZGFjZjUwYzQ1NzIuLmIyZWRjZTJkOTJjYmY0MmEwNTE4MTYxNGViOTkxZjllMjQ0YzhkYWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQm91bmRhcnlUYWcuaAorKysgYi9Tb3Vy
Y2UvYm1hbGxvYy9ibWFsbG9jL0JvdW5kYXJ5VGFnLmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNs
dWRlICJCQXNzZXJ0LmgiCiAjaW5jbHVkZSAiUmFuZ2UuaCIKICNpbmNsdWRlICJTaXplcy5oIgor
I2luY2x1ZGUgPGNzdHJpbmc+CiAKIG5hbWVzcGFjZSBibWFsbG9jIHsKIApAQCAtNTQsNyArNTUs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRIYXNQaHlzaWNhbFBhZ2VzKGJvb2wgaGFzUGh5c2lj
YWxQYWdlcykgeyBtX2hhc1BoeXNpY2FsUGFnZXMgPSBoYXNQaHlzaWNhbFBhZ2VzOyB9CiAKICAg
ICBib29sIGlzTnVsbCgpIHsgcmV0dXJuICFtX3NpemU7IH0KLSAgICB2b2lkIGNsZWFyKCkgeyBt
ZW1zZXQodGhpcywgMCwgc2l6ZW9mKCp0aGlzKSk7IH0KKyAgICB2b2lkIGNsZWFyKCkgeyBzdGQ6
Om1lbXNldCh0aGlzLCAwLCBzaXplb2YoKnRoaXMpKTsgfQogICAgIAogICAgIHNpemVfdCBzaXpl
KCkgeyByZXR1cm4gbV9zaXplOyB9CiAgICAgdW5zaWduZWQgY29tcGFjdEJlZ2luKCkgeyByZXR1
cm4gbV9jb21wYWN0QmVnaW47IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
Q2h1bmsuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQ2h1bmsuaAppbmRleCAwYzRkMWQyZGQ4
YWMwOGViMDgxZjhkNWU2YTA5NTQ4Njc2N2Y1YzAwLi40MWY4OTI3ZTE4OTRjMDExYjZhNDYxNjE4
MDczYjI0ODYzY2NhZDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0NodW5r
LmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9DaHVuay5oCkBAIC0zNSw4ICszNSw5IEBA
IG5hbWVzcGFjZSBibWFsbG9jIHsKIHRlbXBsYXRlPGNsYXNzIFRyYWl0cz4KIGNsYXNzIENodW5r
IHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6UGFnZSBQYWdlOwotICAg
IHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpMaW5lIExpbmU7CisgICAgdHlwZWRlZiB0eXBlbmFt
ZSBUcmFpdHM6OlBhZ2VUeXBlIFBhZ2U7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6Okxp
bmVUeXBlIExpbmU7CisKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGxpbmVTaXplID0gVHJhaXRz
OjpsaW5lU2l6ZTsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGNodW5rU2l6ZSA9IFRyYWl0czo6
Y2h1bmtTaXplOwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgY2h1bmtPZmZzZXQgPSBUcmFpdHM6
OmNodW5rT2Zmc2V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9FbmRUYWcu
aCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvRW5kVGFnLmgKaW5kZXggOWVhZTk5NzllNzA4ZGE1
MmYwYzRhNTQ1MWQ5ZThkZTM5NjczYTBiMS4uZjk0MTUzYTkxN2Q4N2ZlMjYwYjg2NzYxNDhiZjQx
MzA4YTJiZDlmYiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9FbmRUYWcuaAor
KysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0VuZFRhZy5oCkBAIC0zNyw3ICszNyw3IEBAIHB1
YmxpYzoKIAogaW5saW5lIEVuZFRhZyYgRW5kVGFnOjpvcGVyYXRvcj0oY29uc3QgQmVnaW5UYWcm
IG90aGVyKQogewotICAgIG1lbWNweSh0aGlzLCAmb3RoZXIsIHNpemVvZihCb3VuZGFyeVRhZykp
OworICAgIHN0ZDo6bWVtY3B5KHRoaXMsICZvdGhlciwgc2l6ZW9mKEJvdW5kYXJ5VGFnKSk7CiAg
ICAgc2V0RW5kKHRydWUpOwogICAgIHJldHVybiAqdGhpczsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9MaW5lLmgK
aW5kZXggOGE4ZDcxZTE4OTkxY2I2NThmMGJkZmY0ZThmZDhhN2IxZTY5NmIyZS4uOGFmODNlZjlh
Y2NlMjFiYWNiOGU0Yzc2ODA1NDY5ZWNlMGM0ZTcxOSAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxs
b2MvYm1hbGxvYy9MaW5lLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9MaW5lLmgKQEAg
LTM2LDcgKzM2LDggQEAgbmFtZXNwYWNlIGJtYWxsb2MgewogdGVtcGxhdGU8Y2xhc3MgVHJhaXRz
PgogY2xhc3MgTGluZSB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6OkNo
dW5rIENodW5rOworICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpDaHVua1R5cGUgQ2h1bms7
CisKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IG1pbmltdW1PYmplY3RTaXplID0gVHJhaXRzOjpt
aW5pbXVtT2JqZWN0U2l6ZTsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGxpbmVTaXplID0gVHJh
aXRzOjpsaW5lU2l6ZTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
TWVkaXVtVHJhaXRzLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL01lZGl1bVRyYWl0cy5oCmlu
ZGV4IGJiY2UwMWFiMzBlZDdmNTdiMzRmNDRlMTY1YjgyMDQzZGRiNDdiMTIuLjU5ZDc4ZjUwMTc1
ZWIyNTk1NDE1NGQ4MjgwMTA5MjA0MzVjMWNjYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvTWVkaXVtVHJhaXRzLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9NZWRp
dW1UcmFpdHMuaApAQCAtMzYsOSArMzYsOSBAQCB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+IGNsYXNz
IExpbmU7CiB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+IGNsYXNzIFBhZ2U7CiAKIHN0cnVjdCBNZWRp
dW1UcmFpdHMgewotICAgIHR5cGVkZWYgQ2h1bms8TWVkaXVtVHJhaXRzPiBDaHVuazsKLSAgICB0
eXBlZGVmIExpbmU8TWVkaXVtVHJhaXRzPiBMaW5lOwotICAgIHR5cGVkZWYgUGFnZTxNZWRpdW1U
cmFpdHM+IFBhZ2U7CisgICAgdHlwZWRlZiBDaHVuazxNZWRpdW1UcmFpdHM+IENodW5rVHlwZTsK
KyAgICB0eXBlZGVmIExpbmU8TWVkaXVtVHJhaXRzPiBMaW5lVHlwZTsKKyAgICB0eXBlZGVmIFBh
Z2U8TWVkaXVtVHJhaXRzPiBQYWdlVHlwZTsKIAogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbGlu
ZVNpemUgPSBtZWRpdW1MaW5lU2l6ZTsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IG1pbmltdW1P
YmplY3RTaXplID0gc21hbGxNYXggKyBhbGlnbm1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1h
bGxvYy9ibWFsbG9jL1BhZ2UuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGFnZS5oCmluZGV4
IDM4MTQwYTU2NGFkM2I5NDU0NTI0ZGNmOTNjNWZlZTZkN2NjM2I4M2YuLmZkZmExNThkNjEyM2U0
OGE0ZTNlMDkxOTA1NzgzODg4NDY5YTE1MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2Jt
YWxsb2MvUGFnZS5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGFnZS5oCkBAIC0zNiw4
ICszNiw5IEBAIG5hbWVzcGFjZSBibWFsbG9jIHsKIHRlbXBsYXRlPHR5cGVuYW1lIFRyYWl0cz4K
IGNsYXNzIFBhZ2UgewogcHVibGljOgotICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpDaHVu
ayBDaHVuazsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6TGluZSBMaW5lOworICAgIHR5
cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpDaHVua1R5cGUgQ2h1bms7CisgICAgdHlwZWRlZiB0eXBl
bmFtZSBUcmFpdHM6OkxpbmVUeXBlIExpbmU7CisKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGxp
bmVTaXplID0gVHJhaXRzOjpsaW5lU2l6ZTsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGxpbmVD
b3VudCA9IHZtUGFnZVNpemUgLyBsaW5lU2l6ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxs
b2MvYm1hbGxvYy9QZXJUaHJlYWQuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGVyVGhyZWFk
LmgKaW5kZXggMDJmMDdlMTY1MmE3YTZhMzQ3ZmE4MDZjMjU2ZjNhODUxNWUwYjhlYS4uMjU3NjI4
Y2FkNWU0ZjY0ZGI0ZTdmMjY5YWEyOWNjOWU2MmU0Yzg4YyAxMDA2NDQKLS0tIGEvU291cmNlL2Jt
YWxsb2MvYm1hbGxvYy9QZXJUaHJlYWQuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1Bl
clRocmVhZC5oCkBAIC0zMCw5ICszMCwxMSBAQAogI2luY2x1ZGUgIklubGluZS5oIgogI2luY2x1
ZGUgPG11dGV4PgogI2luY2x1ZGUgPHB0aHJlYWQuaD4KLSNpZiBkZWZpbmVkKF9faGFzX2luY2x1
ZGUpICYmIF9faGFzX2luY2x1ZGUoPFN5c3RlbS9wdGhyZWFkX21hY2hkZXAuaD4pCisjaWYgZGVm
aW5lZChfX2hhc19pbmNsdWRlKQorI2lmIF9faGFzX2luY2x1ZGUoPFN5c3RlbS9wdGhyZWFkX21h
Y2hkZXAuaD4pCiAjaW5jbHVkZSA8U3lzdGVtL3B0aHJlYWRfbWFjaGRlcC5oPgogI2VuZGlmCisj
ZW5kaWYKIAogbmFtZXNwYWNlIGJtYWxsb2MgewogCkBAIC01MCwyOSArNTIsOCBAQCBwcml2YXRl
OgogICAgIHN0YXRpYyB2b2lkIGRlc3RydWN0b3Iodm9pZCopOwogfTsKIAotI2lmIGRlZmluZWQo
X19oYXNfaW5jbHVkZSkgJiYgX19oYXNfaW5jbHVkZSg8U3lzdGVtL3B0aHJlYWRfbWFjaGRlcC5o
PikKLQotY2xhc3MgQ2FjaGU7Ci10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgUGVyVGhyZWFk
U3RvcmFnZTsKLQotLy8gRm9yIG5vdywgd2Ugb25seSBzdXBwb3J0IFBlclRocmVhZDxDYWNoZT4u
IFdlIGNhbiBleHBhbmQgdG8gb3RoZXIgdHlwZXMgYnkKLS8vIHVzaW5nIG1vcmUga2V5cy4KLXRl
bXBsYXRlPD4gc3RydWN0IFBlclRocmVhZFN0b3JhZ2U8Q2FjaGU+IHsKLSAgICBzdGF0aWMgY29u
c3QgcHRocmVhZF9rZXlfdCBrZXkgPSBfX1BUS19GUkFNRVdPUktfSkFWQVNDUklQVENPUkVfS0VZ
MDsKLQotICAgIHN0YXRpYyB2b2lkKiBnZXQoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIF9wdGhy
ZWFkX2dldHNwZWNpZmljX2RpcmVjdChrZXkpOwotICAgIH0KLQotICAgIHN0YXRpYyB2b2lkIGlu
aXQodm9pZCogb2JqZWN0LCB2b2lkICgqZGVzdHJ1Y3Rvcikodm9pZCopKQotICAgIHsKLSAgICAg
ICAgX3B0aHJlYWRfc2V0c3BlY2lmaWNfZGlyZWN0KGtleSwgb2JqZWN0KTsKLSAgICAgICAgcHRo
cmVhZF9rZXlfaW5pdF9ucChrZXksIGRlc3RydWN0b3IpOwotICAgIH0KLX07CiAKLSNlbHNlCisj
aWYgIWRlZmluZWQoX19oYXNfaW5jbHVkZSkgfHwgIV9faGFzX2luY2x1ZGUoPFN5c3RlbS9wdGhy
ZWFkX21hY2hkZXAuaD4pCiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBQZXJUaHJlYWRT
dG9yYWdlIHsKICAgICBzdGF0aWMgYm9vbCBzX2RpZEluaXRpYWxpemU7CkBAIC0xMDAsNyArODEs
MjkgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gYm9vbCBQZXJUaHJlYWRTdG9yYWdlPFQ+OjpzX2Rp
ZEluaXRpYWxpemU7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBwdGhyZWFkX2tleV90IFBlclRocmVh
ZFN0b3JhZ2U8VD46OnNfa2V5OwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RkOjpvbmNlX2ZsYWcg
UGVyVGhyZWFkU3RvcmFnZTxUPjo6c19vbmNlRmxhZzsKIAotI2VuZGlmIC8vIGRlZmluZWQoX19o
YXNfaW5jbHVkZSkgJiYgX19oYXNfaW5jbHVkZSg8U3lzdGVtL3B0aHJlYWRfbWFjaGRlcC5oPikK
KyNlbHNlCisKK2NsYXNzIENhY2hlOwordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IFBlclRo
cmVhZFN0b3JhZ2U7CisKKy8vIEZvciBub3csIHdlIG9ubHkgc3VwcG9ydCBQZXJUaHJlYWQ8Q2Fj
aGU+LiBXZSBjYW4gZXhwYW5kIHRvIG90aGVyIHR5cGVzIGJ5CisvLyB1c2luZyBtb3JlIGtleXMu
Cit0ZW1wbGF0ZTw+IHN0cnVjdCBQZXJUaHJlYWRTdG9yYWdlPENhY2hlPiB7CisgICAgc3RhdGlj
IGNvbnN0IHB0aHJlYWRfa2V5X3Qga2V5ID0gX19QVEtfRlJBTUVXT1JLX0pBVkFTQ1JJUFRDT1JF
X0tFWTA7CisKKyAgICBzdGF0aWMgdm9pZCogZ2V0KCkKKyAgICB7CisgICAgICAgIHJldHVybiBf
cHRocmVhZF9nZXRzcGVjaWZpY19kaXJlY3Qoa2V5KTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9p
ZCBpbml0KHZvaWQqIG9iamVjdCwgdm9pZCAoKmRlc3RydWN0b3IpKHZvaWQqKSkKKyAgICB7Cisg
ICAgICAgIF9wdGhyZWFkX3NldHNwZWNpZmljX2RpcmVjdChrZXksIG9iamVjdCk7CisgICAgICAg
IHB0aHJlYWRfa2V5X2luaXRfbnAoa2V5LCBkZXN0cnVjdG9yKTsKKyAgICB9Cit9OworCisjZW5k
aWYgLy8gIWRlZmluZWQoX19oYXNfaW5jbHVkZSkgfHwgIV9faGFzX2luY2x1ZGUoPFN5c3RlbS9w
dGhyZWFkX21hY2hkZXAuaD4pCiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiBJTkxJTkUgVCogUGVy
VGhyZWFkPFQ+OjpnZXRGYXN0Q2FzZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFs
bG9jL1NtYWxsVHJhaXRzLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1NtYWxsVHJhaXRzLmgK
aW5kZXggZTQwYzE2NmVkZDA3YmNhZmUxNzU2ZjE1ZjZhYzExNWNlYTlhMTMyMi4uODA2YjdlOGM2
NjVkYTU0NDQwM2RlZmY4MWQzOGRiOWI5MGJkYTY2NyAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxs
b2MvYm1hbGxvYy9TbWFsbFRyYWl0cy5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU21h
bGxUcmFpdHMuaApAQCAtMzUsOSArMzUsOSBAQCB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+IGNsYXNz
IExpbmU7CiB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+IGNsYXNzIFBhZ2U7CiAKIHN0cnVjdCBTbWFs
bFRyYWl0cyB7Ci0gICAgdHlwZWRlZiBDaHVuazxTbWFsbFRyYWl0cz4gQ2h1bms7Ci0gICAgdHlw
ZWRlZiBMaW5lPFNtYWxsVHJhaXRzPiBMaW5lOwotICAgIHR5cGVkZWYgUGFnZTxTbWFsbFRyYWl0
cz4gUGFnZTsKKyAgICB0eXBlZGVmIENodW5rPFNtYWxsVHJhaXRzPiBDaHVua1R5cGU7CisgICAg
dHlwZWRlZiBMaW5lPFNtYWxsVHJhaXRzPiBMaW5lVHlwZTsKKyAgICB0eXBlZGVmIFBhZ2U8U21h
bGxUcmFpdHM+IFBhZ2VUeXBlOwogCiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9
IHNtYWxsTGluZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBtaW5pbXVtT2JqZWN0U2l6
ZSA9IGFsaWdubWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxv
Y2F0ZS5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WTUFsbG9jYXRlLmgKaW5kZXggOTQwNjM1
OGFlNTFmNTliMDhmZDY3NTlkNTJjZTlhODIyNWEzNDY0ZS4uOGYzZWE1ZmJkZDVhZTUzNDIwZDU4
NjNiMmY5NzYyYzhmZGViYzA3ZCAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9W
TUFsbG9jYXRlLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WTUFsbG9jYXRlLmgKQEAg
LTMxLDEzICszMSwyMCBAQAogI2luY2x1ZGUgIlNpemVzLmgiCiAjaW5jbHVkZSAiU3lzY2FsbC5o
IgogI2luY2x1ZGUgPGFsZ29yaXRobT4KLSNpbmNsdWRlIDxtYWNoL3ZtX3N0YXRpc3RpY3MuaD4K
ICNpbmNsdWRlIDxzeXMvbW1hbi5oPgogI2luY2x1ZGUgPHVuaXN0ZC5oPgogCisjaWYgQk9TKERB
UldJTikKKyNpbmNsdWRlIDxtYWNoL3ZtX3N0YXRpc3RpY3MuaD4KKyNlbmRpZgorCiBuYW1lc3Bh
Y2UgYm1hbGxvYyB7CiAKKyNpZiBCT1MoREFSV0lOKQogI2RlZmluZSBCTUFMTE9DX1ZNX1RBRyBW
TV9NQUtFX1RBRyhWTV9NRU1PUllfVENNQUxMT0MpCisjZWxzZQorI2RlZmluZSBCTUFMTE9DX1ZN
X1RBRyAtMQorI2VuZGlmCiAKIGlubGluZSBzaXplX3Qgdm1TaXplKHNpemVfdCBzaXplKQogewpA
QCAtMTA3LDEzICsxMTQsMjEgQEAgaW5saW5lIHZvaWQqIHZtQWxsb2NhdGUoc2l6ZV90IHZtQWxp
Z25tZW50LCBzaXplX3Qgdm1TaXplKQogaW5saW5lIHZvaWQgdm1EZWFsbG9jYXRlUGh5c2ljYWxQ
YWdlcyh2b2lkKiBwLCBzaXplX3Qgdm1TaXplKQogewogICAgIHZtVmFsaWRhdGUocCwgdm1TaXpl
KTsKKyNpZiBCT1MoREFSV0lOKQogICAgIFNZU0NBTEwobWFkdmlzZShwLCB2bVNpemUsIE1BRFZf
RlJFRV9SRVVTQUJMRSkpOworI2Vsc2UKKyAgICBTWVNDQUxMKG1hZHZpc2UocCwgdm1TaXplLCBN
QURWX0RPTlRORUVEKSk7CisjZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgdm1BbGxvY2F0ZVBoeXNp
Y2FsUGFnZXModm9pZCogcCwgc2l6ZV90IHZtU2l6ZSkKIHsKICAgICB2bVZhbGlkYXRlKHAsIHZt
U2l6ZSk7CisjaWYgQk9TKERBUldJTikKICAgICBTWVNDQUxMKG1hZHZpc2UocCwgdm1TaXplLCBN
QURWX0ZSRUVfUkVVU0UpKTsKKyNlbHNlCisgICAgU1lTQ0FMTChtYWR2aXNlKHAsIHZtU2l6ZSwg
TUFEVl9OT1JNQUwpKTsKKyNlbmRpZgogfQogCiAvLyBUcmltcyByZXF1ZXN0cyB0aGF0IGFyZSB1
bi1wYWdlLWFsaWduZWQuIE5PVEU6IHNpemUgbXVzdCBiZSBhdCBsZWFzdCBhIHBhZ2UuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZlY3Rvci5oIGIvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9WZWN0b3IuaAppbmRleCA1YTA2ODhlMmRkZWU5MDQwYmI4NTQwZjAzMTYyODBjN2Nl
M2E2ZGZmLi41YjQxMTJiZTYzY2M5N2ZlMTQ2MTRhODA4NjZhNjg5NjczMmQ3OTE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZlY3Rvci5oCisrKyBiL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvVmVjdG9yLmgKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNsdWRlICJJbmxpbmUuaCIK
ICNpbmNsdWRlICJWTUFsbG9jYXRlLmgiCiAjaW5jbHVkZSA8Y3N0ZGRlZj4KLSNpbmNsdWRlIDxz
dHJpbmc+CisjaW5jbHVkZSA8Y3N0cmluZz4KIAogbmFtZXNwYWNlIGJtYWxsb2MgewogCkBAIC0x
MTIsNyArMTEyLDcgQEAgdm9pZCBWZWN0b3I8VD46OnB1c2goY29uc3QgVCogYmVnaW4sIGNvbnN0
IFQqIGVuZCkKICAgICBzaXplX3QgbmV3U2l6ZSA9IG1fc2l6ZSArIChlbmQgLSBiZWdpbik7CiAg
ICAgaWYgKG5ld1NpemUgPiBtX2NhcGFjaXR5KQogICAgICAgICBncm93Q2FwYWNpdHkobmV3U2l6
ZSk7Ci0gICAgbWVtY3B5KHRoaXMtPmVuZCgpLCBiZWdpbiwgKGVuZCAtIGJlZ2luKSAqIHNpemVv
ZihUKSk7CisgICAgc3RkOjptZW1jcHkodGhpcy0+ZW5kKCksIGJlZ2luLCAoZW5kIC0gYmVnaW4p
ICogc2l6ZW9mKFQpKTsKICAgICBtX3NpemUgPSBuZXdTaXplOwogfQogCkBAIC0xNDgsNyArMTQ4
LDcgQEAgdm9pZCBWZWN0b3I8VD46OnJlYWxsb2NhdGVCdWZmZXIoc2l6ZV90IG5ld0NhcGFjaXR5
KQogICAgIHNpemVfdCB2bVNpemUgPSBibWFsbG9jOjp2bVNpemUobmV3Q2FwYWNpdHkgKiBzaXpl
b2YoVCkpOwogICAgIFQqIG5ld0J1ZmZlciA9IHN0YXRpY19jYXN0PFQqPih2bUFsbG9jYXRlKHZt
U2l6ZSkpOwogICAgIGlmIChtX2J1ZmZlcikgewotICAgICAgICBtZW1jcHkobmV3QnVmZmVyLCBt
X2J1ZmZlciwgbV9zaXplICogc2l6ZW9mKFQpKTsKKyAgICAgICAgc3RkOjptZW1jcHkobmV3QnVm
ZmVyLCBtX2J1ZmZlciwgbV9zaXplICogc2l6ZW9mKFQpKTsKICAgICAgICAgdm1EZWFsbG9jYXRl
KG1fYnVmZmVyLCBibWFsbG9jOjp2bVNpemUobV9jYXBhY2l0eSAqIHNpemVvZihUKSkpOwogICAg
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktpdEhlbHBlcnMuY21ha2UgYi9Tb3Vy
Y2UvY21ha2UvV2ViS2l0SGVscGVycy5jbWFrZQppbmRleCA0MjBlYmUxMDg0ODFkZTQxMjAyMzU4
NTAwYWFkODA3MjJjYmM5YTAwLi4zZWRmNjAzM2YyNGQ4ZjE1OTg4ZGJiNDMzNDg0NjY4MzUzMzQz
YjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0SGVscGVycy5jbWFrZQorKysgYi9T
b3VyY2UvY21ha2UvV2ViS2l0SGVscGVycy5jbWFrZQpAQCAtMjIsNyArMjIsNyBAQCBtYWNybyhX
RUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTIF90YXJnZXQpCiAKICAgICAgICAgIyBFbmFi
bGUgZXJyb3JzIG9uIHdhcm5pbmcKICAgICAgICAgaWYgKE9QVElPTl9FTkFCTEVfV0VSUk9SKQot
ICAgICAgICAgICAgc2V0KE9MRF9DT01QSUxFX0ZMQUdTICItV2Vycm9yIC1Xbm8tZXJyb3I9dW51
c2VkLXBhcmFtZXRlciAke09MRF9DT01QSUxFX0ZMQUdTfSIpCisgICAgICAgICAgICBzZXQoT0xE
X0NPTVBJTEVfRkxBR1MgIi1XZXJyb3IgLVduby1lcnJvcj1hdHRyaWJ1dGVzIC1Xbm8tZXJyb3I9
dW51c2VkLXBhcmFtZXRlciAke09MRF9DT01QSUxFX0ZMQUdTfSIpCiAgICAgICAgIGVuZGlmICgp
CiAKICAgICAgICAgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKCR7X3RhcmdldH0gUFJPUEVSVElFUwpk
aWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAppbmRleCAwOGU1NDQ0
NmRjYWRhM2U0ODNhNDZkMmQ1YjI0NTk5YjE2NjY1N2JlLi4wYTk2MmUzOWYxYjI3MTUyNzk1Njcy
ZTNiNTQyNmE2YzdiZmNmNjAwIDEwMDY0NAotLS0gYS9DTWFrZUxpc3RzLnR4dAorKysgYi9DTWFr
ZUxpc3RzLnR4dApAQCAtNCw2ICs0LDcgQEAgcHJvamVjdChXZWJLaXQpCiAjIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCiAjIERlZmF1bHQgbGlicmFyeSB0eXBlCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CitzZXQoQk1BTExPQ19ESVIgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL2JtYWxsb2MiKQog
c2V0KFdURl9ESVIgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dURiIpCiBzZXQoSkFWQVND
UklQVENPUkVfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9KYXZhU2NyaXB0Q29yZSIp
CiBzZXQoV0VCQ09SRV9ESVIgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkNvcmUiKQpk
aWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGJhZmE4Njc5YjBjYjdlNWE1
NDNiNjMzOWQxZGM5YmZkMjIzYTM0NzQuLjYxOWZiMzkzMThkYzI5NzBlNTY3ZjM3NTdlNGQ1YzFk
ZDNjYWFlOGEgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAxNS0wMS0yOSAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcu
Y29tPgorCisgICAgICAgIFtFRkxdW0dUS10gVXNlIGJtYWxsb2MgaW5zdGVhZCBvZiB0Y21hbGxv
YworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMTYy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGJt
YWxsb2MgZGlyZWN0b3J5IHRvIGJ1aWxkIGxpc3QuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDogRGVmaW5lIEJNQUxMT0NfRElSIGRpcmVjdG9yeS4KKyAgICAgICAgKiBTb3VyY2UvQ01ha2VM
aXN0cy50eHQ6IEFkZCBibWFsbG9jIHBhdGggdG8gc3ViLWRpcmVjdG9yaWVzIGxpc3QuCisgICAg
ICAgICogU291cmNlL2NtYWtlL1dlYktpdEhlbHBlcnMuY21ha2U6IFRyZWF0IGF0dHJpYnV0ZSB3
YXJuaW5nIGFzIG5vLWVycm9yLgorCiAyMDE1LTAxLTI4ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQ
ZXJleiAgPGNsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtDTWFrZV0gTWluaW11bSBweXRo
b24gdmVyc2lvbiBzaG91bGQgYmUgMi43Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245763</attachid>
            <date>2015-01-30 17:15:19 -0800</date>
            <delta_ts>2015-01-30 19:19:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140162-20150131101525.patch</filename>
            <type>text/plain</type>
            <size>18420</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc5NDI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGU1ZGM5YjYwODBhZWM3ODRkZmEyNWQ2
YjJhYzA0N2Q1NmZhNWE4Y2IuLjY1NjgzZTIzN2E1NmEzYWI0NGY3ODgyOGVjZDFlY2E5MDVlMTNj
YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMDEtMzAgIEd5dXlvdW5nIEtpbSAgPGd5dXlv
dW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGlu
c3RlYWQgb2YgdGNtYWxsb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MDE2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OiBFeGNsdWRlIFRDU3lzdGVtQWxsb2MuaC9j
cHAgZnJvbSBFRkwgYW5kIEdUSy4KKyAgICAgICAgKiB3dGYvRmFzdE1hbGxvYy5jcHA6IEVuYWJs
ZSBibWFsbG9jIG9uIEVGTCBhbmQgR1RLIHBvcnRzIGFzIHdlbGwuCisKIDIwMTUtMDEtMzAgIEdl
b2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgRmFzdE1hbGxv
YyAoYm1hbGxvYykgaW5zdGVhZCBvZiBCbG9ja0FsbG9jYXRvciBmb3IgR0MgcGFnZXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZyBiL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxv
ZwppbmRleCAwY2FmZjljZGVmNDM4MTg0YzhhZTg1ZmFmZDFkMDI1NWRhYjBhMTg4Li5kZDdkNjlj
MTNiNzNiNTMzM2E1ZmE1ZTAwOTk0NDkwZDVlNGUwNjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1h
bGxvYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MzggQEAKKzIwMTUtMDEtMzAgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNv
bT4KKworICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGluc3RlYWQgb2YgdGNtYWxsb2MK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDE2Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN1cHBvcnQg
dG8gdXNlIGJtYWxsb2Mgb24gRUZMIGFuZCBHVEsgcG9ydHMuCisKKyAgICAgICAgKiBDTWFrZUxp
c3RzLnR4dDogQWRkZWQuCisgICAgICAgICogYm1hbGxvYy9BbGxvY2F0b3IuY3BwOgorICAgICAg
ICAoYm1hbGxvYzo6QWxsb2NhdG9yOjphbGxvY2F0ZSk6CisgICAgICAgICAgICBGaXggdW51c2Vk
IHJldHVybiB2YWx1ZSBjYXVzZWQgYnkgcG9zaXhfbWVtYWxpZ24oKS4KKyAgICAgICAgKiBibWFs
bG9jL0FzeW5jVGFzay5oOgorICAgICAgICAqIGJtYWxsb2MvQm91bmRhcnlUYWcuaDoKKyAgICAg
ICAgKGJtYWxsb2M6OkJvdW5kYXJ5VGFnOjpjbGVhcik6CisgICAgICAgICogYm1hbGxvYy9DaHVu
ay5oOgorICAgICAgICAgICAgQ2hhbmdlIFRyYWl0czo6UGFnZSB3aXRoIFRyYWl0czo6UGFnZVR5
cGUgaW4gb3JkZXIgdG8gZml4CisgICAgICAgICAgICAtZnBlcm1pdGl2ZSBidWlsZCBlcnJvciBv
biBFRkwgYW5kIEdUSyBwb3J0LiAKKyAgICAgICAgKiBibWFsbG9jL0VuZFRhZy5oOgorICAgICAg
ICAoYm1hbGxvYzo6RW5kVGFnOjpvcGVyYXRvcj0pOgorICAgICAgICAqIGJtYWxsb2MvTGluZS5o
OiBkaXR0by4KKyAgICAgICAgKiBibWFsbG9jL01lZGl1bVRyYWl0cy5oOgorICAgICAgICAqIGJt
YWxsb2MvUGFnZS5oOiBkaXR0by4KKyAgICAgICAgKiBibWFsbG9jL1BlclRocmVhZC5oOgorICAg
ICAgICAgICAgRUZMIHBvcnQgZG9lc24ndCBzdXBwb3J0IF9faGFzX2luY2x1ZGUgZGVmaW5pdGlv
biB5ZXQuCisgICAgICAgICAgICBNb3ZlIF9faGFzX2luY2x1ZGUoPFN5c3RlbS9wdGhyZWFkX21h
Y2hkZXAuaD4pIGludG8gI2lmIGRlZmluZWQoX19oYXNfaW5jbHVkZSkuCisgICAgICAgICogYm1h
bGxvYy9TbWFsbFRyYWl0cy5oOiBkaXR0by4KKyAgICAgICAgKiBibWFsbG9jL1ZNQWxsb2NhdGUu
aDoKKyAgICAgICAgKGJtYWxsb2M6OnZtRGVhbGxvY2F0ZVBoeXNpY2FsUGFnZXMpOgorICAgICAg
ICAoYm1hbGxvYzo6dm1BbGxvY2F0ZVBoeXNpY2FsUGFnZXMpOgorICAgICAgICAqIGJtYWxsb2Mv
VmVjdG9yLmg6CisgICAgICAgIChibWFsbG9jOjpWZWN0b3I8VD46OnB1c2gpOgorICAgICAgICAo
Ym1hbGxvYzo6VmVjdG9yPFQ+OjpyZWFsbG9jYXRlQnVmZmVyKToKKwogMjAxNS0wMS0zMCAgR2Vv
ZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEdDIG1hcmtpbmcgdGhy
ZWFkcyBzaG91bGQgY2xlYXIgbWFsbG9jIGNhY2hlcwpkaWZmIC0tZ2l0IGEvU291cmNlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL0NNYWtlTGlzdHMudHh0CmluZGV4IDU0ODY3MjBkNzYyYjA4N2M2
MmFiZTg0N2I0MTQ4OGY1NzBiY2VmMjguLmZhYmM1ZDZiNjhmODE0ZmE4ZTFkOTRiODJiYTljNzY2
NzhkODNkOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
Q01ha2VMaXN0cy50eHQKQEAgLTEsNiArMSw4IEBACiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAj
IEFkZCBtb2R1bGUgZGlyZWN0b3JpZXMKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2FkZF9zdWJk
aXJlY3RvcnkoYm1hbGxvYykKKwogYWRkX3N1YmRpcmVjdG9yeShXVEYpCiAKIGFkZF9zdWJkaXJl
Y3RvcnkoSmF2YVNjcmlwdENvcmUpCkBAIC0yNiw2ICsyOCw3IEBAIFdFQktJVF9JTkNMVURFX0NP
TkZJR19GSUxFU19JRl9FWElTVFMoKQogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBTZXQgY29t
cGlsZXIgZmxhZ3MgZm9yIGFsbCB0YXJnZXRzCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitXRUJL
SVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKGJtYWxsb2MgJHtBRERJVElPTkFMX0NPTVBJTEVS
X0ZMQUdTfSkKIFdFQktJVF9TRVRfRVhUUkFfQ09NUElMRVJfRkxBR1MoV1RGICR7QURESVRJT05B
TF9DT01QSUxFUl9GTEFHU30pCiBXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKEphdmFT
Y3JpcHRDb3JlICR7QURESVRJT05BTF9DT01QSUxFUl9GTEFHU30pCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50
eHQKaW5kZXggYjllNjY5MTZkZjBhMmI1YWUzZThkOTgxNWRlM2MwYTlmODcxNDJkZS4uMWRjMzg1
Mzg1MTcyYTJhNjM4NTFjZDlmODU2ZWIzMWFmNjk5MTBjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQK
QEAgLTEwMCw3ICsxMDAsNiBAQCBzZXQoV1RGX0hFQURFUlMKICAgICBUQ1BhY2tlZENhY2hlLmgK
ICAgICBUQ1BhZ2VNYXAuaAogICAgIFRDU3BpbkxvY2suaAotICAgIFRDU3lzdGVtQWxsb2MuaAog
ICAgIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAogICAgIFRocmVhZFNhZmVSZWZDb3Vu
dGVkLmgKICAgICBUaHJlYWRTcGVjaWZpYy5oCkBAIC0xODMsNyArMTgyLDYgQEAgc2V0KFdURl9T
T1VSQ0VTCiAgICAgU3RhY2tTdGF0cy5jcHAKICAgICBTdGFja0JvdW5kcy5jcHAKICAgICBTdHJp
bmdQcmludFN0cmVhbS5jcHAKLSAgICBUQ1N5c3RlbUFsbG9jLmNwcAogICAgIFRocmVhZGluZy5j
cHAKICAgICBXVEZUaHJlYWREYXRhLmNwcAogICAgIGR0b2EuY3BwCkBAIC0yMTMsNiArMjExLDcg
QEAgc2V0KFdURl9TT1VSQ0VTCiApCiAKIHNldChXVEZfSU5DTFVERV9ESVJFQ1RPUklFUworICAg
ICIke0JNQUxMT0NfRElSfSIKICAgICAiJHtXVEZfRElSfSIKICAgICAiJHtXVEZfRElSfS93dGYi
CiAgICAgIiR7V1RGX0RJUn0vd3RmL2R0b2EiCkBAIC0yMjYsNiArMjI1LDcgQEAgc2V0KFdURl9J
TkNMVURFX0RJUkVDVE9SSUVTCiAKIHNldChXVEZfTElCUkFSSUVTCiAgICAgJHtDTUFLRV9ETF9M
SUJTfQorICAgIGJtYWxsb2MKICkKIAogbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuY3BwIGIvU291cmNlL1dURi93dGYvRmFzdE1h
bGxvYy5jcHAKaW5kZXggYzUzMjBkMmJjM2QxMTkwY2U1YWIwMzczNTE3Mzc5ZDY2NmRmNDZlNC4u
YTdjYmFhYTI0MTAyMmVhOTY5MzA4OGUwYzQwMTkxNzQ1MTRlZGMxNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvRmFzdE1hbGxvYy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvRmFzdE1hbGxv
Yy5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQAogI2VuZGlmCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JN
KENPQ09BKQorI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JN
KEdUSykKICNkZWZpbmUgVVNFX0JNQUxMT0MgMQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL2JtYWxsb2MvQ01ha2VMaXN0cy50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTlhMWE3NmZjNGY4YmU0OTc3MDZiMGY4NDMyNGViZTc3ZTJjZGE2MwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEs
MjIgQEAKK3NldChibWFsbG9jX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAiJHtCTUFMTE9DX0RJ
Un0iCispCisKK3NldChibWFsbG9jX1NPVVJDRVMKKyAgICBibWFsbG9jL0FsbG9jYXRvci5jcHAK
KyAgICBibWFsbG9jL0NhY2hlLmNwcAorICAgIGJtYWxsb2MvRGVhbGxvY2F0b3IuY3BwCisgICAg
Ym1hbGxvYy9FbnZpcm9ubWVudC5jcHAKKyAgICBibWFsbG9jL0hlYXAuY3BwCisgICAgYm1hbGxv
Yy9PYmplY3RUeXBlLmNwcAorICAgIGJtYWxsb2MvU2VncmVnYXRlZEZyZWVMaXN0LmNwcAorICAg
IGJtYWxsb2MvU3RhdGljTXV0ZXguY3BwCisgICAgYm1hbGxvYy9WTUhlYXAuY3BwCisgICAgYm1h
bGxvYy9tYm1hbGxvYy5jcHAKKykKKworV0VCS0lUX1dSQVBfU09VUkNFTElTVCgke2JtYWxsb2Nf
U09VUkNFU30pCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7Ym1hbGxvY19JTkNMVURFX0RJUkVDVE9S
SUVTfSkKK2FkZF9saWJyYXJ5KGJtYWxsb2MgJHtibWFsbG9jX1NPVVJDRVN9KQordGFyZ2V0X2xp
bmtfbGlicmFyaWVzKGJtYWxsb2MgJHtibWFsbG9jX0xJQlJBUklFU30pCitzZXRfdGFyZ2V0X3By
b3BlcnRpZXMoYm1hbGxvYyBQUk9QRVJUSUVTIENPTVBJTEVfREVGSU5JVElPTlMgIkJVSUxESU5H
X2JtYWxsb2MiKQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxvY2F0b3Iu
Y3BwIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxvY2F0b3IuY3BwCmluZGV4IGVkNTczZGM5
YzI2N2I5YzFjOTMwMTA0MWMzYmQ2OGQzMjgwYTYwYmMuLmViZjBjZjYyMTNhZWJmZGE5MGFhNmIw
NTUzZWMxZGIwYmYzMTJkMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQWxs
b2NhdG9yLmNwcAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FsbG9jYXRvci5jcHAKQEAg
LTU2LDcgKzU2LDggQEAgdm9pZCogQWxsb2NhdG9yOjphbGxvY2F0ZShzaXplX3QgYWxpZ25tZW50
LCBzaXplX3Qgc2l6ZSkKIAogICAgIGlmICghbV9pc0JtYWxsb2NFbmFibGVkKSB7CiAgICAgICAg
IHZvaWQqIHJlc3VsdCA9IG51bGxwdHI7Ci0gICAgICAgIHBvc2l4X21lbWFsaWduKCZyZXN1bHQs
IGFsaWdubWVudCwgc2l6ZSk7CisgICAgICAgIGlmIChwb3NpeF9tZW1hbGlnbigmcmVzdWx0LCBh
bGlnbm1lbnQsIHNpemUpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgIHJl
dHVybiByZXN1bHQ7CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9Bc3luY1Rhc2suaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXN5bmNUYXNrLmgKaW5k
ZXggNTA0ZGE4MTM1ZDg2NzE0Zjk3ZTA0M2YyNTM3NTA3MjgxYThhMGJhMS4uOTUzOTIxZDFiN2Fj
NTc4MTNkOGQzMmJmY2Y2YTA2MWE1NDQzNmU3ZiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9Bc3luY1Rhc2suaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FzeW5jVGFz
ay5oCkBAIC02NCw3ICs2NCw3IEBAIHByaXZhdGU6CiAgICAgRnVuY3Rpb24gbV9mdW5jdGlvbjsK
IH07CiAKLXRlbXBsYXRlPHR5cGVuYW1lIE9iamVjdCwgdHlwZW5hbWUgRnVuY3Rpb24+IGNvbnN0
IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIEFzeW5jVGFzazxPYmplY3QsIEZ1bmN0aW9uPjo6ZXhpdERl
bGF5OwordGVtcGxhdGU8dHlwZW5hbWUgT2JqZWN0LCB0eXBlbmFtZSBGdW5jdGlvbj4gY29uc3Qg
Y29uc3RleHByIHN0ZDo6Y2hyb25vOjpzZWNvbmRzIEFzeW5jVGFzazxPYmplY3QsIEZ1bmN0aW9u
Pjo6ZXhpdERlbGF5OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBPYmplY3QsIHR5cGVuYW1lIEZ1bmN0
aW9uPgogQXN5bmNUYXNrPE9iamVjdCwgRnVuY3Rpb24+OjpBc3luY1Rhc2soT2JqZWN0JiBvYmpl
Y3QsIGNvbnN0IEZ1bmN0aW9uJiBmdW5jdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvQm91bmRhcnlUYWcuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQm91bmRhcnlU
YWcuaAppbmRleCA3NjFmZDNmMTgxYjIwYjcwNzE4NTg0N2Q0MGYxOWRhY2Y1MGM0NTcyLi5iMmVk
Y2UyZDkyY2JmNDJhMDUxODE2MTRlYjk5MWY5ZTI0NGM4ZGFhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL0JvdW5kYXJ5VGFnLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9Cb3VuZGFyeVRhZy5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQkFzc2VydC5oIgog
I2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVkZSAiU2l6ZXMuaCIKKyNpbmNsdWRlIDxjc3RyaW5n
PgogCiBuYW1lc3BhY2UgYm1hbGxvYyB7CiAKQEAgLTU0LDcgKzU1LDcgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0SGFzUGh5c2ljYWxQYWdlcyhib29sIGhhc1BoeXNpY2FsUGFnZXMpIHsgbV9oYXNQ
aHlzaWNhbFBhZ2VzID0gaGFzUGh5c2ljYWxQYWdlczsgfQogCiAgICAgYm9vbCBpc051bGwoKSB7
IHJldHVybiAhbV9zaXplOyB9Ci0gICAgdm9pZCBjbGVhcigpIHsgbWVtc2V0KHRoaXMsIDAsIHNp
emVvZigqdGhpcykpOyB9CisgICAgdm9pZCBjbGVhcigpIHsgc3RkOjptZW1zZXQodGhpcywgMCwg
c2l6ZW9mKCp0aGlzKSk7IH0KICAgICAKICAgICBzaXplX3Qgc2l6ZSgpIHsgcmV0dXJuIG1fc2l6
ZTsgfQogICAgIHVuc2lnbmVkIGNvbXBhY3RCZWdpbigpIHsgcmV0dXJuIG1fY29tcGFjdEJlZ2lu
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0NodW5rLmggYi9Tb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL0NodW5rLmgKaW5kZXggMGM0ZDFkMmRkOGFjMDhlYjA4MWY4ZDVlNmEw
OTU0ODY3NjdmNWMwMC4uNDFmODkyN2UxODk0YzAxMWI2YTQ2MTYxODA3M2IyNDg2M2NjYWQzZiAx
MDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9DaHVuay5oCisrKyBiL1NvdXJjZS9i
bWFsbG9jL2JtYWxsb2MvQ2h1bmsuaApAQCAtMzUsOCArMzUsOSBAQCBuYW1lc3BhY2UgYm1hbGxv
YyB7CiB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+CiBjbGFzcyBDaHVuayB7CiBwdWJsaWM6Ci0gICAg
dHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6OlBhZ2UgUGFnZTsKLSAgICB0eXBlZGVmIHR5cGVuYW1l
IFRyYWl0czo6TGluZSBMaW5lOworICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpQYWdlVHlw
ZSBQYWdlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpMaW5lVHlwZSBMaW5lOworCiAg
ICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9IFRyYWl0czo6bGluZVNpemU7CiAgICAg
c3RhdGljIGNvbnN0IHNpemVfdCBjaHVua1NpemUgPSBUcmFpdHM6OmNodW5rU2l6ZTsKICAgICBz
dGF0aWMgY29uc3Qgc2l6ZV90IGNodW5rT2Zmc2V0ID0gVHJhaXRzOjpjaHVua09mZnNldDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvRW5kVGFnLmggYi9Tb3VyY2UvYm1hbGxv
Yy9ibWFsbG9jL0VuZFRhZy5oCmluZGV4IDllYWU5OTc5ZTcwOGRhNTJmMGM0YTU0NTFkOWU4ZGUz
OTY3M2EwYjEuLmY5NDE1M2E5MTdkODdmZTI2MGI4Njc2MTQ4YmY0MTMwOGEyYmQ5ZmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvRW5kVGFnLmgKKysrIGIvU291cmNlL2JtYWxs
b2MvYm1hbGxvYy9FbmRUYWcuaApAQCAtMzcsNyArMzcsNyBAQCBwdWJsaWM6CiAKIGlubGluZSBF
bmRUYWcmIEVuZFRhZzo6b3BlcmF0b3I9KGNvbnN0IEJlZ2luVGFnJiBvdGhlcikKIHsKLSAgICBt
ZW1jcHkodGhpcywgJm90aGVyLCBzaXplb2YoQm91bmRhcnlUYWcpKTsKKyAgICBzdGQ6Om1lbWNw
eSh0aGlzLCAmb3RoZXIsIHNpemVvZihCb3VuZGFyeVRhZykpOwogICAgIHNldEVuZCh0cnVlKTsK
ICAgICByZXR1cm4gKnRoaXM7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9j
L0xpbmUuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5oCmluZGV4IDhhOGQ3MWUxODk5
MWNiNjU4ZjBiZGZmNGU4ZmQ4YTdiMWU2OTZiMmUuLjhhZjgzZWY5YWNjZTIxYmFjYjhlNGM3Njgw
NTQ2OWVjZTBjNGU3MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5o
CisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5oCkBAIC0zNiw3ICszNiw4IEBAIG5h
bWVzcGFjZSBibWFsbG9jIHsKIHRlbXBsYXRlPGNsYXNzIFRyYWl0cz4KIGNsYXNzIExpbmUgewog
cHVibGljOgotICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpDaHVuayBDaHVuazsKKyAgICB0
eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6Q2h1bmtUeXBlIENodW5rOworCiAgICAgc3RhdGljIGNv
bnN0IHNpemVfdCBtaW5pbXVtT2JqZWN0U2l6ZSA9IFRyYWl0czo6bWluaW11bU9iamVjdFNpemU7
CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9IFRyYWl0czo6bGluZVNpemU7CiAg
ICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL01lZGl1bVRyYWl0cy5oIGIv
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9NZWRpdW1UcmFpdHMuaAppbmRleCBiYmNlMDFhYjMwZWQ3
ZjU3YjM0ZjQ0ZTE2NWI4MjA0M2RkYjQ3YjEyLi41OWQ3OGY1MDE3NWViMjU5NTQxNTRkODI4MDEw
OTIwNDM1YzFjY2I1IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL01lZGl1bVRy
YWl0cy5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTWVkaXVtVHJhaXRzLmgKQEAgLTM2
LDkgKzM2LDkgQEAgdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPiBjbGFzcyBMaW5lOwogdGVtcGxhdGU8
Y2xhc3MgVHJhaXRzPiBjbGFzcyBQYWdlOwogCiBzdHJ1Y3QgTWVkaXVtVHJhaXRzIHsKLSAgICB0
eXBlZGVmIENodW5rPE1lZGl1bVRyYWl0cz4gQ2h1bms7Ci0gICAgdHlwZWRlZiBMaW5lPE1lZGl1
bVRyYWl0cz4gTGluZTsKLSAgICB0eXBlZGVmIFBhZ2U8TWVkaXVtVHJhaXRzPiBQYWdlOworICAg
IHR5cGVkZWYgQ2h1bms8TWVkaXVtVHJhaXRzPiBDaHVua1R5cGU7CisgICAgdHlwZWRlZiBMaW5l
PE1lZGl1bVRyYWl0cz4gTGluZVR5cGU7CisgICAgdHlwZWRlZiBQYWdlPE1lZGl1bVRyYWl0cz4g
UGFnZVR5cGU7CiAKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGxpbmVTaXplID0gbWVkaXVtTGlu
ZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBtaW5pbXVtT2JqZWN0U2l6ZSA9IHNtYWxs
TWF4ICsgYWxpZ25tZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QYWdl
LmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BhZ2UuaAppbmRleCAzODE0MGE1NjRhZDNiOTQ1
NDUyNGRjZjkzYzVmZWU2ZDdjYzNiODNmLi5mZGZhMTU4ZDYxMjNlNDhhNGUzZTA5MTkwNTc4Mzg4
ODQ2OWExNTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BhZ2UuaAorKysg
Yi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BhZ2UuaApAQCAtMzYsOCArMzYsOSBAQCBuYW1lc3Bh
Y2UgYm1hbGxvYyB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUcmFpdHM+CiBjbGFzcyBQYWdlIHsKIHB1
YmxpYzoKLSAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6Q2h1bmsgQ2h1bms7Ci0gICAgdHlw
ZWRlZiB0eXBlbmFtZSBUcmFpdHM6OkxpbmUgTGluZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFRy
YWl0czo6Q2h1bmtUeXBlIENodW5rOworICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpMaW5l
VHlwZSBMaW5lOworCiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9IFRyYWl0czo6
bGluZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lQ291bnQgPSB2bVBhZ2VTaXpl
IC8gbGluZVNpemU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGVyVGhy
ZWFkLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BlclRocmVhZC5oCmluZGV4IDAyZjA3ZTE2
NTJhN2E2YTM0N2ZhODA2YzI1NmYzYTg1MTVlMGI4ZWEuLjI1NzYyOGNhZDVlNGY2NGRiNGU3ZjI2
OWFhMjljYzllNjJlNGM4OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGVy
VGhyZWFkLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QZXJUaHJlYWQuaApAQCAtMzAs
OSArMzAsMTEgQEAKICNpbmNsdWRlICJJbmxpbmUuaCIKICNpbmNsdWRlIDxtdXRleD4KICNpbmNs
dWRlIDxwdGhyZWFkLmg+Ci0jaWYgZGVmaW5lZChfX2hhc19pbmNsdWRlKSAmJiBfX2hhc19pbmNs
dWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KQorI2lmIGRlZmluZWQoX19oYXNfaW5jbHVk
ZSkKKyNpZiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KQogI2luY2x1
ZGUgPFN5c3RlbS9wdGhyZWFkX21hY2hkZXAuaD4KICNlbmRpZgorI2VuZGlmCiAKIG5hbWVzcGFj
ZSBibWFsbG9jIHsKIApAQCAtNTAsMjkgKzUyLDggQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9p
ZCBkZXN0cnVjdG9yKHZvaWQqKTsKIH07CiAKLSNpZiBkZWZpbmVkKF9faGFzX2luY2x1ZGUpICYm
IF9faGFzX2luY2x1ZGUoPFN5c3RlbS9wdGhyZWFkX21hY2hkZXAuaD4pCi0KLWNsYXNzIENhY2hl
OwotdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IFBlclRocmVhZFN0b3JhZ2U7Ci0KLS8vIEZv
ciBub3csIHdlIG9ubHkgc3VwcG9ydCBQZXJUaHJlYWQ8Q2FjaGU+LiBXZSBjYW4gZXhwYW5kIHRv
IG90aGVyIHR5cGVzIGJ5Ci0vLyB1c2luZyBtb3JlIGtleXMuCi10ZW1wbGF0ZTw+IHN0cnVjdCBQ
ZXJUaHJlYWRTdG9yYWdlPENhY2hlPiB7Ci0gICAgc3RhdGljIGNvbnN0IHB0aHJlYWRfa2V5X3Qg
a2V5ID0gX19QVEtfRlJBTUVXT1JLX0pBVkFTQ1JJUFRDT1JFX0tFWTA7Ci0KLSAgICBzdGF0aWMg
dm9pZCogZ2V0KCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBfcHRocmVhZF9nZXRzcGVjaWZpY19k
aXJlY3Qoa2V5KTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgdm9pZCBpbml0KHZvaWQqIG9iamVjdCwg
dm9pZCAoKmRlc3RydWN0b3IpKHZvaWQqKSkKLSAgICB7Ci0gICAgICAgIF9wdGhyZWFkX3NldHNw
ZWNpZmljX2RpcmVjdChrZXksIG9iamVjdCk7Ci0gICAgICAgIHB0aHJlYWRfa2V5X2luaXRfbnAo
a2V5LCBkZXN0cnVjdG9yKTsKLSAgICB9Ci19OwogCi0jZWxzZQorI2lmICFkZWZpbmVkKF9faGFz
X2luY2x1ZGUpIHx8ICFfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KQog
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgUGVyVGhyZWFkU3RvcmFnZSB7CiAgICAgc3Rh
dGljIGJvb2wgc19kaWRJbml0aWFsaXplOwpAQCAtMTAwLDcgKzgxLDI5IEBAIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGJvb2wgUGVyVGhyZWFkU3RvcmFnZTxUPjo6c19kaWRJbml0aWFsaXplOwogdGVt
cGxhdGU8dHlwZW5hbWUgVD4gcHRocmVhZF9rZXlfdCBQZXJUaHJlYWRTdG9yYWdlPFQ+OjpzX2tl
eTsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0ZDo6b25jZV9mbGFnIFBlclRocmVhZFN0b3JhZ2U8
VD46OnNfb25jZUZsYWc7CiAKLSNlbmRpZiAvLyBkZWZpbmVkKF9faGFzX2luY2x1ZGUpICYmIF9f
aGFzX2luY2x1ZGUoPFN5c3RlbS9wdGhyZWFkX21hY2hkZXAuaD4pCisjZWxzZQorCitjbGFzcyBD
YWNoZTsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBQZXJUaHJlYWRTdG9yYWdlOworCisv
LyBGb3Igbm93LCB3ZSBvbmx5IHN1cHBvcnQgUGVyVGhyZWFkPENhY2hlPi4gV2UgY2FuIGV4cGFu
ZCB0byBvdGhlciB0eXBlcyBieQorLy8gdXNpbmcgbW9yZSBrZXlzLgordGVtcGxhdGU8PiBzdHJ1
Y3QgUGVyVGhyZWFkU3RvcmFnZTxDYWNoZT4geworICAgIHN0YXRpYyBjb25zdCBwdGhyZWFkX2tl
eV90IGtleSA9IF9fUFRLX0ZSQU1FV09SS19KQVZBU0NSSVBUQ09SRV9LRVkwOworCisgICAgc3Rh
dGljIHZvaWQqIGdldCgpCisgICAgeworICAgICAgICByZXR1cm4gX3B0aHJlYWRfZ2V0c3BlY2lm
aWNfZGlyZWN0KGtleSk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgaW5pdCh2b2lkKiBvYmpl
Y3QsIHZvaWQgKCpkZXN0cnVjdG9yKSh2b2lkKikpCisgICAgeworICAgICAgICBfcHRocmVhZF9z
ZXRzcGVjaWZpY19kaXJlY3Qoa2V5LCBvYmplY3QpOworICAgICAgICBwdGhyZWFkX2tleV9pbml0
X25wKGtleSwgZGVzdHJ1Y3Rvcik7CisgICAgfQorfTsKKworI2VuZGlmIC8vICFkZWZpbmVkKF9f
aGFzX2luY2x1ZGUpIHx8ICFfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+
KQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogSU5MSU5FIFQqIFBlclRocmVhZDxUPjo6Z2V0RmFz
dENhc2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TbWFsbFRyYWl0cy5o
IGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TbWFsbFRyYWl0cy5oCmluZGV4IGU0MGMxNjZlZGQw
N2JjYWZlMTc1NmYxNWY2YWMxMTVjZWE5YTEzMjIuLjgwNmI3ZThjNjY1ZGE1NDQ0MDNkZWZmODFk
MzhkYjliOTBiZGE2NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU21hbGxU
cmFpdHMuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1NtYWxsVHJhaXRzLmgKQEAgLTM1
LDkgKzM1LDkgQEAgdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPiBjbGFzcyBMaW5lOwogdGVtcGxhdGU8
Y2xhc3MgVHJhaXRzPiBjbGFzcyBQYWdlOwogCiBzdHJ1Y3QgU21hbGxUcmFpdHMgewotICAgIHR5
cGVkZWYgQ2h1bms8U21hbGxUcmFpdHM+IENodW5rOwotICAgIHR5cGVkZWYgTGluZTxTbWFsbFRy
YWl0cz4gTGluZTsKLSAgICB0eXBlZGVmIFBhZ2U8U21hbGxUcmFpdHM+IFBhZ2U7CisgICAgdHlw
ZWRlZiBDaHVuazxTbWFsbFRyYWl0cz4gQ2h1bmtUeXBlOworICAgIHR5cGVkZWYgTGluZTxTbWFs
bFRyYWl0cz4gTGluZVR5cGU7CisgICAgdHlwZWRlZiBQYWdlPFNtYWxsVHJhaXRzPiBQYWdlVHlw
ZTsKIAogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbGluZVNpemUgPSBzbWFsbExpbmVTaXplOwog
ICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbWluaW11bU9iamVjdFNpemUgPSBhbGlnbm1lbnQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZNQWxsb2NhdGUuaCBiL1NvdXJjZS9i
bWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0ZS5oCmluZGV4IDk0MDYzNThhZTUxZjU5YjA4ZmQ2NzU5
ZDUyY2U5YTgyMjVhMzQ2NGUuLjhmM2VhNWZiZGQ1YWU1MzQyMGQ1ODYzYjJmOTc2MmM4ZmRlYmMw
N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0ZS5oCisrKyBi
L1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0ZS5oCkBAIC0zMSwxMyArMzEsMjAgQEAK
ICNpbmNsdWRlICJTaXplcy5oIgogI2luY2x1ZGUgIlN5c2NhbGwuaCIKICNpbmNsdWRlIDxhbGdv
cml0aG0+Ci0jaW5jbHVkZSA8bWFjaC92bV9zdGF0aXN0aWNzLmg+CiAjaW5jbHVkZSA8c3lzL21t
YW4uaD4KICNpbmNsdWRlIDx1bmlzdGQuaD4KIAorI2lmIEJPUyhEQVJXSU4pCisjaW5jbHVkZSA8
bWFjaC92bV9zdGF0aXN0aWNzLmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIGJtYWxsb2MgewogCisj
aWYgQk9TKERBUldJTikKICNkZWZpbmUgQk1BTExPQ19WTV9UQUcgVk1fTUFLRV9UQUcoVk1fTUVN
T1JZX1RDTUFMTE9DKQorI2Vsc2UKKyNkZWZpbmUgQk1BTExPQ19WTV9UQUcgLTEKKyNlbmRpZgog
CiBpbmxpbmUgc2l6ZV90IHZtU2l6ZShzaXplX3Qgc2l6ZSkKIHsKQEAgLTEwNywxMyArMTE0LDIx
IEBAIGlubGluZSB2b2lkKiB2bUFsbG9jYXRlKHNpemVfdCB2bUFsaWdubWVudCwgc2l6ZV90IHZt
U2l6ZSkKIGlubGluZSB2b2lkIHZtRGVhbGxvY2F0ZVBoeXNpY2FsUGFnZXModm9pZCogcCwgc2l6
ZV90IHZtU2l6ZSkKIHsKICAgICB2bVZhbGlkYXRlKHAsIHZtU2l6ZSk7CisjaWYgQk9TKERBUldJ
TikKICAgICBTWVNDQUxMKG1hZHZpc2UocCwgdm1TaXplLCBNQURWX0ZSRUVfUkVVU0FCTEUpKTsK
KyNlbHNlCisgICAgU1lTQ0FMTChtYWR2aXNlKHAsIHZtU2l6ZSwgTUFEVl9ET05UTkVFRCkpOwor
I2VuZGlmCiB9CiAKIGlubGluZSB2b2lkIHZtQWxsb2NhdGVQaHlzaWNhbFBhZ2VzKHZvaWQqIHAs
IHNpemVfdCB2bVNpemUpCiB7CiAgICAgdm1WYWxpZGF0ZShwLCB2bVNpemUpOworI2lmIEJPUyhE
QVJXSU4pCiAgICAgU1lTQ0FMTChtYWR2aXNlKHAsIHZtU2l6ZSwgTUFEVl9GUkVFX1JFVVNFKSk7
CisjZWxzZQorICAgIFNZU0NBTEwobWFkdmlzZShwLCB2bVNpemUsIE1BRFZfTk9STUFMKSk7Cisj
ZW5kaWYKIH0KIAogLy8gVHJpbXMgcmVxdWVzdHMgdGhhdCBhcmUgdW4tcGFnZS1hbGlnbmVkLiBO
T1RFOiBzaXplIG11c3QgYmUgYXQgbGVhc3QgYSBwYWdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL2Jt
YWxsb2MvYm1hbGxvYy9WZWN0b3IuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVmVjdG9yLmgK
aW5kZXggNWEwNjg4ZTJkZGVlOTA0MGJiODU0MGYwMzE2MjgwYzdjZTNhNmRmZi4uNWI0MTEyYmU2
M2NjOTdmZTE0NjE0YTgwODY2YTY4OTY3MzJkNzkxNCAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxs
b2MvYm1hbGxvYy9WZWN0b3IuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZlY3Rvci5o
CkBAIC0yOSw3ICsyOSw3IEBACiAjaW5jbHVkZSAiSW5saW5lLmgiCiAjaW5jbHVkZSAiVk1BbGxv
Y2F0ZS5oIgogI2luY2x1ZGUgPGNzdGRkZWY+Ci0jaW5jbHVkZSA8c3RyaW5nPgorI2luY2x1ZGUg
PGNzdHJpbmc+CiAKIG5hbWVzcGFjZSBibWFsbG9jIHsKIApAQCAtMTEyLDcgKzExMiw3IEBAIHZv
aWQgVmVjdG9yPFQ+OjpwdXNoKGNvbnN0IFQqIGJlZ2luLCBjb25zdCBUKiBlbmQpCiAgICAgc2l6
ZV90IG5ld1NpemUgPSBtX3NpemUgKyAoZW5kIC0gYmVnaW4pOwogICAgIGlmIChuZXdTaXplID4g
bV9jYXBhY2l0eSkKICAgICAgICAgZ3Jvd0NhcGFjaXR5KG5ld1NpemUpOwotICAgIG1lbWNweSh0
aGlzLT5lbmQoKSwgYmVnaW4sIChlbmQgLSBiZWdpbikgKiBzaXplb2YoVCkpOworICAgIHN0ZDo6
bWVtY3B5KHRoaXMtPmVuZCgpLCBiZWdpbiwgKGVuZCAtIGJlZ2luKSAqIHNpemVvZihUKSk7CiAg
ICAgbV9zaXplID0gbmV3U2l6ZTsKIH0KIApAQCAtMTQ4LDcgKzE0OCw3IEBAIHZvaWQgVmVjdG9y
PFQ+OjpyZWFsbG9jYXRlQnVmZmVyKHNpemVfdCBuZXdDYXBhY2l0eSkKICAgICBzaXplX3Qgdm1T
aXplID0gYm1hbGxvYzo6dm1TaXplKG5ld0NhcGFjaXR5ICogc2l6ZW9mKFQpKTsKICAgICBUKiBu
ZXdCdWZmZXIgPSBzdGF0aWNfY2FzdDxUKj4odm1BbGxvY2F0ZSh2bVNpemUpKTsKICAgICBpZiAo
bV9idWZmZXIpIHsKLSAgICAgICAgbWVtY3B5KG5ld0J1ZmZlciwgbV9idWZmZXIsIG1fc2l6ZSAq
IHNpemVvZihUKSk7CisgICAgICAgIHN0ZDo6bWVtY3B5KG5ld0J1ZmZlciwgbV9idWZmZXIsIG1f
c2l6ZSAqIHNpemVvZihUKSk7CiAgICAgICAgIHZtRGVhbGxvY2F0ZShtX2J1ZmZlciwgYm1hbGxv
Yzo6dm1TaXplKG1fY2FwYWNpdHkgKiBzaXplb2YoVCkpKTsKICAgICB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9jbWFrZS9XZWJLaXRIZWxwZXJzLmNtYWtlIGIvU291cmNlL2NtYWtlL1dlYktpdEhl
bHBlcnMuY21ha2UKaW5kZXggNDIwZWJlMTA4NDgxZGU0MTIwMjM1ODUwMGFhZDgwNzIyY2JjOWEw
MC4uM2VkZjYwMzNmMjRkOGYxNTk4OGRiYjQzMzQ4NDY2ODM1MzM0M2IxNCAxMDA2NDQKLS0tIGEv
U291cmNlL2NtYWtlL1dlYktpdEhlbHBlcnMuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL1dlYktp
dEhlbHBlcnMuY21ha2UKQEAgLTIyLDcgKzIyLDcgQEAgbWFjcm8oV0VCS0lUX1NFVF9FWFRSQV9D
T01QSUxFUl9GTEFHUyBfdGFyZ2V0KQogCiAgICAgICAgICMgRW5hYmxlIGVycm9ycyBvbiB3YXJu
aW5nCiAgICAgICAgIGlmIChPUFRJT05fRU5BQkxFX1dFUlJPUikKLSAgICAgICAgICAgIHNldChP
TERfQ09NUElMRV9GTEFHUyAiLVdlcnJvciAtV25vLWVycm9yPXVudXNlZC1wYXJhbWV0ZXIgJHtP
TERfQ09NUElMRV9GTEFHU30iKQorICAgICAgICAgICAgc2V0KE9MRF9DT01QSUxFX0ZMQUdTICIt
V2Vycm9yIC1Xbm8tZXJyb3I9YXR0cmlidXRlcyAtV25vLWVycm9yPXVudXNlZC1wYXJhbWV0ZXIg
JHtPTERfQ09NUElMRV9GTEFHU30iKQogICAgICAgICBlbmRpZiAoKQogCiAgICAgICAgIHNldF90
YXJnZXRfcHJvcGVydGllcygke190YXJnZXR9IFBST1BFUlRJRVMKZGlmZiAtLWdpdCBhL0NNYWtl
TGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKaW5kZXggMDhlNTQ0NDZkY2FkYTNlNDgzYTQ2ZDJk
NWIyNDU5OWIxNjY2NTdiZS4uMGE5NjJlMzlmMWIyNzE1Mjc5NTY3MmUzYjU0MjZhNmM3YmZjZjYw
MCAxMDA2NDQKLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrIGIvQ01ha2VMaXN0cy50eHQKQEAgLTQs
NiArNCw3IEBAIHByb2plY3QoV2ViS2l0KQogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBEZWZh
dWx0IGxpYnJhcnkgdHlwZQogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorc2V0KEJNQUxMT0NfRElS
ICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9ibWFsbG9jIikKIHNldChXVEZfRElSICIke0NN
QUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XVEYiKQogc2V0KEpBVkFTQ1JJUFRDT1JFX0RJUiAiJHtD
TUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUiKQogc2V0KFdFQkNPUkVfRElS
ICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJDb3JlIikKZGlmZiAtLWdpdCBhL0NoYW5n
ZUxvZyBiL0NoYW5nZUxvZwppbmRleCBiYWZhODY3OWIwY2I3ZTVhNTQzYjYzMzlkMWRjOWJmZDIy
M2EzNDc0Li4zYTMzN2RlNzQwYTQxYWVlNDM5ZWZmMDA3ZDU5YzE0NzBiNjJkMGQ1IDEwMDY0NAot
LS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTUtMDEt
MzAgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
RUZMXVtHVEtdIFVzZSBibWFsbG9jIGluc3RlYWQgb2YgdGNtYWxsb2MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDE2MgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBibWFsbG9jIGRpcmVjdG9yeSB0
byBidWlsZCBsaXN0LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IERlZmluZSBCTUFMTE9D
X0RJUiBkaXJlY3RvcnkuCisgICAgICAgICogU291cmNlL0NNYWtlTGlzdHMudHh0OiBBZGQgYm1h
bGxvYyBwYXRoIHRvIHN1Yi1kaXJlY3RvcmllcyBsaXN0LgorICAgICAgICAqIFNvdXJjZS9jbWFr
ZS9XZWJLaXRIZWxwZXJzLmNtYWtlOiBUcmVhdCBhdHRyaWJ1dGUgd2FybmluZyBhcyBuby1lcnJv
ci4KKwogMjAxNS0wMS0yOCAgQ2FybG9zIEFsYmVydG8gTG9wZXogUGVyZXogIDxjbG9wZXpAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbQ01ha2VdIE1pbmltdW0gcHl0aG9uIHZlcnNpb24gc2hvdWxk
IGJlIDIuNy4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245766</attachid>
            <date>2015-01-30 19:19:42 -0800</date>
            <delta_ts>2015-02-01 23:17:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140162-20150131121949.patch</filename>
            <type>text/plain</type>
            <size>17264</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc5NDI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGU1ZGM5YjYwODBhZWM3ODRkZmEyNWQ2
YjJhYzA0N2Q1NmZhNWE4Y2IuLjY1NjgzZTIzN2E1NmEzYWI0NGY3ODgyOGVjZDFlY2E5MDVlMTNj
YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMDEtMzAgIEd5dXlvdW5nIEtpbSAgPGd5dXlv
dW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGlu
c3RlYWQgb2YgdGNtYWxsb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MDE2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OiBFeGNsdWRlIFRDU3lzdGVtQWxsb2MuaC9j
cHAgZnJvbSBFRkwgYW5kIEdUSy4KKyAgICAgICAgKiB3dGYvRmFzdE1hbGxvYy5jcHA6IEVuYWJs
ZSBibWFsbG9jIG9uIEVGTCBhbmQgR1RLIHBvcnRzIGFzIHdlbGwuCisKIDIwMTUtMDEtMzAgIEdl
b2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgRmFzdE1hbGxv
YyAoYm1hbGxvYykgaW5zdGVhZCBvZiBCbG9ja0FsbG9jYXRvciBmb3IgR0MgcGFnZXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZyBiL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxv
ZwppbmRleCAwY2FmZjljZGVmNDM4MTg0YzhhZTg1ZmFmZDFkMDI1NWRhYjBhMTg4Li4xZDY5ZmIy
MmJhZThiYjUzZDgzYTZjNmYzNDZjY2IyMjQyYzBkODg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1h
bGxvYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MzggQEAKKzIwMTUtMDEtMzAgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNv
bT4KKworICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGluc3RlYWQgb2YgdGNtYWxsb2MK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDE2Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN1cHBvcnQg
dG8gdXNlIGJtYWxsb2Mgb24gRUZMIGFuZCBHVEsgcG9ydHMuCisKKyAgICAgICAgKiBDTWFrZUxp
c3RzLnR4dDogQWRkZWQuCisgICAgICAgICogYm1hbGxvYy9BbGxvY2F0b3IuY3BwOgorICAgICAg
ICAoYm1hbGxvYzo6QWxsb2NhdG9yOjphbGxvY2F0ZSk6CisgICAgICAgICAgICBGaXggdW51c2Vk
IHJldHVybiB2YWx1ZSBjYXVzZWQgYnkgcG9zaXhfbWVtYWxpZ24oKS4KKyAgICAgICAgKiBibWFs
bG9jL0FzeW5jVGFzay5oOgorICAgICAgICAqIGJtYWxsb2MvQm91bmRhcnlUYWcuaDoKKyAgICAg
ICAgKGJtYWxsb2M6OkJvdW5kYXJ5VGFnOjpjbGVhcik6CisgICAgICAgICogYm1hbGxvYy9DaHVu
ay5oOgorICAgICAgICAgICAgQ2hhbmdlIFRyYWl0czo6UGFnZSB3aXRoIFRyYWl0czo6UGFnZVR5
cGUgaW4gb3JkZXIgdG8gZml4CisgICAgICAgICAgICAtZnBlcm1pdGl2ZSBidWlsZCBlcnJvciBv
biBFRkwgYW5kIEdUSyBwb3J0LiAKKyAgICAgICAgKiBibWFsbG9jL0VuZFRhZy5oOgorICAgICAg
ICAoYm1hbGxvYzo6RW5kVGFnOjpvcGVyYXRvcj0pOgorICAgICAgICAqIGJtYWxsb2MvTGluZS5o
OiBkaXR0by4KKyAgICAgICAgKiBibWFsbG9jL01lZGl1bVRyYWl0cy5oOgorICAgICAgICAqIGJt
YWxsb2MvUGFnZS5oOiBkaXR0by4KKyAgICAgICAgKiBibWFsbG9jL1BlclRocmVhZC5oOgorICAg
ICAgICAgICAgRUZMIHBvcnQgZG9lc24ndCBzdXBwb3J0IF9faGFzX2luY2x1ZGUgZGVmaW5pdGlv
biB5ZXQuCisgICAgICAgICAgICBEZWZpbmUgSEFWRV9QVEhSRUFEX01BQ0hERVBfSCBhY2NvcmRp
bmcgdG8gY2hlY2sgaWYgX19oYXNfaW5jbHVkZSBpcyBzdXBwb3J0ZWQuCisgICAgICAgICogYm1h
bGxvYy9TbWFsbFRyYWl0cy5oOiBkaXR0by4KKyAgICAgICAgKiBibWFsbG9jL1ZNQWxsb2NhdGUu
aDoKKyAgICAgICAgKGJtYWxsb2M6OnZtRGVhbGxvY2F0ZVBoeXNpY2FsUGFnZXMpOgorICAgICAg
ICAoYm1hbGxvYzo6dm1BbGxvY2F0ZVBoeXNpY2FsUGFnZXMpOgorICAgICAgICAqIGJtYWxsb2Mv
VmVjdG9yLmg6CisgICAgICAgIChibWFsbG9jOjpWZWN0b3I8VD46OnB1c2gpOgorICAgICAgICAo
Ym1hbGxvYzo6VmVjdG9yPFQ+OjpyZWFsbG9jYXRlQnVmZmVyKToKKwogMjAxNS0wMS0zMCAgR2Vv
ZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEdDIG1hcmtpbmcgdGhy
ZWFkcyBzaG91bGQgY2xlYXIgbWFsbG9jIGNhY2hlcwpkaWZmIC0tZ2l0IGEvU291cmNlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL0NNYWtlTGlzdHMudHh0CmluZGV4IDU0ODY3MjBkNzYyYjA4N2M2
MmFiZTg0N2I0MTQ4OGY1NzBiY2VmMjguLmZhYmM1ZDZiNjhmODE0ZmE4ZTFkOTRiODJiYTljNzY2
NzhkODNkOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
Q01ha2VMaXN0cy50eHQKQEAgLTEsNiArMSw4IEBACiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAj
IEFkZCBtb2R1bGUgZGlyZWN0b3JpZXMKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2FkZF9zdWJk
aXJlY3RvcnkoYm1hbGxvYykKKwogYWRkX3N1YmRpcmVjdG9yeShXVEYpCiAKIGFkZF9zdWJkaXJl
Y3RvcnkoSmF2YVNjcmlwdENvcmUpCkBAIC0yNiw2ICsyOCw3IEBAIFdFQktJVF9JTkNMVURFX0NP
TkZJR19GSUxFU19JRl9FWElTVFMoKQogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBTZXQgY29t
cGlsZXIgZmxhZ3MgZm9yIGFsbCB0YXJnZXRzCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitXRUJL
SVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKGJtYWxsb2MgJHtBRERJVElPTkFMX0NPTVBJTEVS
X0ZMQUdTfSkKIFdFQktJVF9TRVRfRVhUUkFfQ09NUElMRVJfRkxBR1MoV1RGICR7QURESVRJT05B
TF9DT01QSUxFUl9GTEFHU30pCiBXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKEphdmFT
Y3JpcHRDb3JlICR7QURESVRJT05BTF9DT01QSUxFUl9GTEFHU30pCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50
eHQKaW5kZXggYjllNjY5MTZkZjBhMmI1YWUzZThkOTgxNWRlM2MwYTlmODcxNDJkZS4uMWRjMzg1
Mzg1MTcyYTJhNjM4NTFjZDlmODU2ZWIzMWFmNjk5MTBjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQK
QEAgLTEwMCw3ICsxMDAsNiBAQCBzZXQoV1RGX0hFQURFUlMKICAgICBUQ1BhY2tlZENhY2hlLmgK
ICAgICBUQ1BhZ2VNYXAuaAogICAgIFRDU3BpbkxvY2suaAotICAgIFRDU3lzdGVtQWxsb2MuaAog
ICAgIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAogICAgIFRocmVhZFNhZmVSZWZDb3Vu
dGVkLmgKICAgICBUaHJlYWRTcGVjaWZpYy5oCkBAIC0xODMsNyArMTgyLDYgQEAgc2V0KFdURl9T
T1VSQ0VTCiAgICAgU3RhY2tTdGF0cy5jcHAKICAgICBTdGFja0JvdW5kcy5jcHAKICAgICBTdHJp
bmdQcmludFN0cmVhbS5jcHAKLSAgICBUQ1N5c3RlbUFsbG9jLmNwcAogICAgIFRocmVhZGluZy5j
cHAKICAgICBXVEZUaHJlYWREYXRhLmNwcAogICAgIGR0b2EuY3BwCkBAIC0yMTMsNiArMjExLDcg
QEAgc2V0KFdURl9TT1VSQ0VTCiApCiAKIHNldChXVEZfSU5DTFVERV9ESVJFQ1RPUklFUworICAg
ICIke0JNQUxMT0NfRElSfSIKICAgICAiJHtXVEZfRElSfSIKICAgICAiJHtXVEZfRElSfS93dGYi
CiAgICAgIiR7V1RGX0RJUn0vd3RmL2R0b2EiCkBAIC0yMjYsNiArMjI1LDcgQEAgc2V0KFdURl9J
TkNMVURFX0RJUkVDVE9SSUVTCiAKIHNldChXVEZfTElCUkFSSUVTCiAgICAgJHtDTUFLRV9ETF9M
SUJTfQorICAgIGJtYWxsb2MKICkKIAogbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuY3BwIGIvU291cmNlL1dURi93dGYvRmFzdE1h
bGxvYy5jcHAKaW5kZXggYzUzMjBkMmJjM2QxMTkwY2U1YWIwMzczNTE3Mzc5ZDY2NmRmNDZlNC4u
YTdjYmFhYTI0MTAyMmVhOTY5MzA4OGUwYzQwMTkxNzQ1MTRlZGMxNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvRmFzdE1hbGxvYy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvRmFzdE1hbGxv
Yy5jcHAKQEAgLTEwMSw3ICsxMDEsNyBAQAogI2VuZGlmCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JN
KENPQ09BKQorI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShFRkwpIHx8IFBMQVRGT1JN
KEdUSykKICNkZWZpbmUgVVNFX0JNQUxMT0MgMQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL2JtYWxsb2MvQ01ha2VMaXN0cy50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTlhMWE3NmZjNGY4YmU0OTc3MDZiMGY4NDMyNGViZTc3ZTJjZGE2MwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEs
MjIgQEAKK3NldChibWFsbG9jX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAiJHtCTUFMTE9DX0RJ
Un0iCispCisKK3NldChibWFsbG9jX1NPVVJDRVMKKyAgICBibWFsbG9jL0FsbG9jYXRvci5jcHAK
KyAgICBibWFsbG9jL0NhY2hlLmNwcAorICAgIGJtYWxsb2MvRGVhbGxvY2F0b3IuY3BwCisgICAg
Ym1hbGxvYy9FbnZpcm9ubWVudC5jcHAKKyAgICBibWFsbG9jL0hlYXAuY3BwCisgICAgYm1hbGxv
Yy9PYmplY3RUeXBlLmNwcAorICAgIGJtYWxsb2MvU2VncmVnYXRlZEZyZWVMaXN0LmNwcAorICAg
IGJtYWxsb2MvU3RhdGljTXV0ZXguY3BwCisgICAgYm1hbGxvYy9WTUhlYXAuY3BwCisgICAgYm1h
bGxvYy9tYm1hbGxvYy5jcHAKKykKKworV0VCS0lUX1dSQVBfU09VUkNFTElTVCgke2JtYWxsb2Nf
U09VUkNFU30pCitpbmNsdWRlX2RpcmVjdG9yaWVzKCR7Ym1hbGxvY19JTkNMVURFX0RJUkVDVE9S
SUVTfSkKK2FkZF9saWJyYXJ5KGJtYWxsb2MgJHtibWFsbG9jX1NPVVJDRVN9KQordGFyZ2V0X2xp
bmtfbGlicmFyaWVzKGJtYWxsb2MgJHtibWFsbG9jX0xJQlJBUklFU30pCitzZXRfdGFyZ2V0X3By
b3BlcnRpZXMoYm1hbGxvYyBQUk9QRVJUSUVTIENPTVBJTEVfREVGSU5JVElPTlMgIkJVSUxESU5H
X2JtYWxsb2MiKQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxvY2F0b3Iu
Y3BwIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxvY2F0b3IuY3BwCmluZGV4IGVkNTczZGM5
YzI2N2I5YzFjOTMwMTA0MWMzYmQ2OGQzMjgwYTYwYmMuLmViZjBjZjYyMTNhZWJmZGE5MGFhNmIw
NTUzZWMxZGIwYmYzMTJkMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQWxs
b2NhdG9yLmNwcAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FsbG9jYXRvci5jcHAKQEAg
LTU2LDcgKzU2LDggQEAgdm9pZCogQWxsb2NhdG9yOjphbGxvY2F0ZShzaXplX3QgYWxpZ25tZW50
LCBzaXplX3Qgc2l6ZSkKIAogICAgIGlmICghbV9pc0JtYWxsb2NFbmFibGVkKSB7CiAgICAgICAg
IHZvaWQqIHJlc3VsdCA9IG51bGxwdHI7Ci0gICAgICAgIHBvc2l4X21lbWFsaWduKCZyZXN1bHQs
IGFsaWdubWVudCwgc2l6ZSk7CisgICAgICAgIGlmIChwb3NpeF9tZW1hbGlnbigmcmVzdWx0LCBh
bGlnbm1lbnQsIHNpemUpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgIHJl
dHVybiByZXN1bHQ7CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9Bc3luY1Rhc2suaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXN5bmNUYXNrLmgKaW5k
ZXggNTA0ZGE4MTM1ZDg2NzE0Zjk3ZTA0M2YyNTM3NTA3MjgxYThhMGJhMS4uOTUzOTIxZDFiN2Fj
NTc4MTNkOGQzMmJmY2Y2YTA2MWE1NDQzNmU3ZiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9Bc3luY1Rhc2suaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FzeW5jVGFz
ay5oCkBAIC02NCw3ICs2NCw3IEBAIHByaXZhdGU6CiAgICAgRnVuY3Rpb24gbV9mdW5jdGlvbjsK
IH07CiAKLXRlbXBsYXRlPHR5cGVuYW1lIE9iamVjdCwgdHlwZW5hbWUgRnVuY3Rpb24+IGNvbnN0
IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIEFzeW5jVGFzazxPYmplY3QsIEZ1bmN0aW9uPjo6ZXhpdERl
bGF5OwordGVtcGxhdGU8dHlwZW5hbWUgT2JqZWN0LCB0eXBlbmFtZSBGdW5jdGlvbj4gY29uc3Qg
Y29uc3RleHByIHN0ZDo6Y2hyb25vOjpzZWNvbmRzIEFzeW5jVGFzazxPYmplY3QsIEZ1bmN0aW9u
Pjo6ZXhpdERlbGF5OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBPYmplY3QsIHR5cGVuYW1lIEZ1bmN0
aW9uPgogQXN5bmNUYXNrPE9iamVjdCwgRnVuY3Rpb24+OjpBc3luY1Rhc2soT2JqZWN0JiBvYmpl
Y3QsIGNvbnN0IEZ1bmN0aW9uJiBmdW5jdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvQm91bmRhcnlUYWcuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQm91bmRhcnlU
YWcuaAppbmRleCA3NjFmZDNmMTgxYjIwYjcwNzE4NTg0N2Q0MGYxOWRhY2Y1MGM0NTcyLi5iMmVk
Y2UyZDkyY2JmNDJhMDUxODE2MTRlYjk5MWY5ZTI0NGM4ZGFhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL0JvdW5kYXJ5VGFnLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9Cb3VuZGFyeVRhZy5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQkFzc2VydC5oIgog
I2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVkZSAiU2l6ZXMuaCIKKyNpbmNsdWRlIDxjc3RyaW5n
PgogCiBuYW1lc3BhY2UgYm1hbGxvYyB7CiAKQEAgLTU0LDcgKzU1LDcgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0SGFzUGh5c2ljYWxQYWdlcyhib29sIGhhc1BoeXNpY2FsUGFnZXMpIHsgbV9oYXNQ
aHlzaWNhbFBhZ2VzID0gaGFzUGh5c2ljYWxQYWdlczsgfQogCiAgICAgYm9vbCBpc051bGwoKSB7
IHJldHVybiAhbV9zaXplOyB9Ci0gICAgdm9pZCBjbGVhcigpIHsgbWVtc2V0KHRoaXMsIDAsIHNp
emVvZigqdGhpcykpOyB9CisgICAgdm9pZCBjbGVhcigpIHsgc3RkOjptZW1zZXQodGhpcywgMCwg
c2l6ZW9mKCp0aGlzKSk7IH0KICAgICAKICAgICBzaXplX3Qgc2l6ZSgpIHsgcmV0dXJuIG1fc2l6
ZTsgfQogICAgIHVuc2lnbmVkIGNvbXBhY3RCZWdpbigpIHsgcmV0dXJuIG1fY29tcGFjdEJlZ2lu
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0NodW5rLmggYi9Tb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL0NodW5rLmgKaW5kZXggMGM0ZDFkMmRkOGFjMDhlYjA4MWY4ZDVlNmEw
OTU0ODY3NjdmNWMwMC4uNDFmODkyN2UxODk0YzAxMWI2YTQ2MTYxODA3M2IyNDg2M2NjYWQzZiAx
MDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9DaHVuay5oCisrKyBiL1NvdXJjZS9i
bWFsbG9jL2JtYWxsb2MvQ2h1bmsuaApAQCAtMzUsOCArMzUsOSBAQCBuYW1lc3BhY2UgYm1hbGxv
YyB7CiB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+CiBjbGFzcyBDaHVuayB7CiBwdWJsaWM6Ci0gICAg
dHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6OlBhZ2UgUGFnZTsKLSAgICB0eXBlZGVmIHR5cGVuYW1l
IFRyYWl0czo6TGluZSBMaW5lOworICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpQYWdlVHlw
ZSBQYWdlOworICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpMaW5lVHlwZSBMaW5lOworCiAg
ICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9IFRyYWl0czo6bGluZVNpemU7CiAgICAg
c3RhdGljIGNvbnN0IHNpemVfdCBjaHVua1NpemUgPSBUcmFpdHM6OmNodW5rU2l6ZTsKICAgICBz
dGF0aWMgY29uc3Qgc2l6ZV90IGNodW5rT2Zmc2V0ID0gVHJhaXRzOjpjaHVua09mZnNldDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvRW5kVGFnLmggYi9Tb3VyY2UvYm1hbGxv
Yy9ibWFsbG9jL0VuZFRhZy5oCmluZGV4IDllYWU5OTc5ZTcwOGRhNTJmMGM0YTU0NTFkOWU4ZGUz
OTY3M2EwYjEuLmY5NDE1M2E5MTdkODdmZTI2MGI4Njc2MTQ4YmY0MTMwOGEyYmQ5ZmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvRW5kVGFnLmgKKysrIGIvU291cmNlL2JtYWxs
b2MvYm1hbGxvYy9FbmRUYWcuaApAQCAtMzcsNyArMzcsNyBAQCBwdWJsaWM6CiAKIGlubGluZSBF
bmRUYWcmIEVuZFRhZzo6b3BlcmF0b3I9KGNvbnN0IEJlZ2luVGFnJiBvdGhlcikKIHsKLSAgICBt
ZW1jcHkodGhpcywgJm90aGVyLCBzaXplb2YoQm91bmRhcnlUYWcpKTsKKyAgICBzdGQ6Om1lbWNw
eSh0aGlzLCAmb3RoZXIsIHNpemVvZihCb3VuZGFyeVRhZykpOwogICAgIHNldEVuZCh0cnVlKTsK
ICAgICByZXR1cm4gKnRoaXM7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9j
L0xpbmUuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5oCmluZGV4IDhhOGQ3MWUxODk5
MWNiNjU4ZjBiZGZmNGU4ZmQ4YTdiMWU2OTZiMmUuLjhhZjgzZWY5YWNjZTIxYmFjYjhlNGM3Njgw
NTQ2OWVjZTBjNGU3MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5o
CisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5oCkBAIC0zNiw3ICszNiw4IEBAIG5h
bWVzcGFjZSBibWFsbG9jIHsKIHRlbXBsYXRlPGNsYXNzIFRyYWl0cz4KIGNsYXNzIExpbmUgewog
cHVibGljOgotICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpDaHVuayBDaHVuazsKKyAgICB0
eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6Q2h1bmtUeXBlIENodW5rOworCiAgICAgc3RhdGljIGNv
bnN0IHNpemVfdCBtaW5pbXVtT2JqZWN0U2l6ZSA9IFRyYWl0czo6bWluaW11bU9iamVjdFNpemU7
CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9IFRyYWl0czo6bGluZVNpemU7CiAg
ICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL01lZGl1bVRyYWl0cy5oIGIv
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9NZWRpdW1UcmFpdHMuaAppbmRleCBiYmNlMDFhYjMwZWQ3
ZjU3YjM0ZjQ0ZTE2NWI4MjA0M2RkYjQ3YjEyLi41OWQ3OGY1MDE3NWViMjU5NTQxNTRkODI4MDEw
OTIwNDM1YzFjY2I1IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL01lZGl1bVRy
YWl0cy5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTWVkaXVtVHJhaXRzLmgKQEAgLTM2
LDkgKzM2LDkgQEAgdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPiBjbGFzcyBMaW5lOwogdGVtcGxhdGU8
Y2xhc3MgVHJhaXRzPiBjbGFzcyBQYWdlOwogCiBzdHJ1Y3QgTWVkaXVtVHJhaXRzIHsKLSAgICB0
eXBlZGVmIENodW5rPE1lZGl1bVRyYWl0cz4gQ2h1bms7Ci0gICAgdHlwZWRlZiBMaW5lPE1lZGl1
bVRyYWl0cz4gTGluZTsKLSAgICB0eXBlZGVmIFBhZ2U8TWVkaXVtVHJhaXRzPiBQYWdlOworICAg
IHR5cGVkZWYgQ2h1bms8TWVkaXVtVHJhaXRzPiBDaHVua1R5cGU7CisgICAgdHlwZWRlZiBMaW5l
PE1lZGl1bVRyYWl0cz4gTGluZVR5cGU7CisgICAgdHlwZWRlZiBQYWdlPE1lZGl1bVRyYWl0cz4g
UGFnZVR5cGU7CiAKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGxpbmVTaXplID0gbWVkaXVtTGlu
ZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBtaW5pbXVtT2JqZWN0U2l6ZSA9IHNtYWxs
TWF4ICsgYWxpZ25tZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QYWdl
LmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BhZ2UuaAppbmRleCAzODE0MGE1NjRhZDNiOTQ1
NDUyNGRjZjkzYzVmZWU2ZDdjYzNiODNmLi5mZGZhMTU4ZDYxMjNlNDhhNGUzZTA5MTkwNTc4Mzg4
ODQ2OWExNTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BhZ2UuaAorKysg
Yi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BhZ2UuaApAQCAtMzYsOCArMzYsOSBAQCBuYW1lc3Bh
Y2UgYm1hbGxvYyB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUcmFpdHM+CiBjbGFzcyBQYWdlIHsKIHB1
YmxpYzoKLSAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6Q2h1bmsgQ2h1bms7Ci0gICAgdHlw
ZWRlZiB0eXBlbmFtZSBUcmFpdHM6OkxpbmUgTGluZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFRy
YWl0czo6Q2h1bmtUeXBlIENodW5rOworICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpMaW5l
VHlwZSBMaW5lOworCiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9IFRyYWl0czo6
bGluZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lQ291bnQgPSB2bVBhZ2VTaXpl
IC8gbGluZVNpemU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGVyVGhy
ZWFkLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BlclRocmVhZC5oCmluZGV4IDAyZjA3ZTE2
NTJhN2E2YTM0N2ZhODA2YzI1NmYzYTg1MTVlMGI4ZWEuLjMwYTZiYjI4NjNjNGRmYTMwZmY4ZTdm
OTcyMDdlYjBjYjE3ZWJjMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGVy
VGhyZWFkLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QZXJUaHJlYWQuaApAQCAtMzAs
OCArMzAsMTYgQEAKICNpbmNsdWRlICJJbmxpbmUuaCIKICNpbmNsdWRlIDxtdXRleD4KICNpbmNs
dWRlIDxwdGhyZWFkLmg+Ci0jaWYgZGVmaW5lZChfX2hhc19pbmNsdWRlKSAmJiBfX2hhc19pbmNs
dWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KQorCisjaWYgZGVmaW5lZChfX2hhc19pbmNs
dWRlKQorI2lmIF9faGFzX2luY2x1ZGUoPFN5c3RlbS9wdGhyZWFkX21hY2hkZXAuaD4pCiAjaW5j
bHVkZSA8U3lzdGVtL3B0aHJlYWRfbWFjaGRlcC5oPgorI2RlZmluZSBIQVZFX1BUSFJFQURfTUFD
SERFUF9IIDEKKyNlbHNlCisjZGVmaW5lIEhBVkVfUFRIUkVBRF9NQUNIREVQX0ggMAorI2VuZGlm
CisjZWxzZQorI2RlZmluZSBIQVZFX1BUSFJFQURfTUFDSERFUF9IIDAKICNlbmRpZgogCiBuYW1l
c3BhY2UgYm1hbGxvYyB7CkBAIC01MCw3ICs1OCw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZv
aWQgZGVzdHJ1Y3Rvcih2b2lkKik7CiB9OwogCi0jaWYgZGVmaW5lZChfX2hhc19pbmNsdWRlKSAm
JiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KQorI2lmIEhBVkVfUFRI
UkVBRF9NQUNIREVQX0gKIAogY2xhc3MgQ2FjaGU7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1
Y3QgUGVyVGhyZWFkU3RvcmFnZTsKQEAgLTEwMCw3ICsxMDgsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBib29sIFBlclRocmVhZFN0b3JhZ2U8VD46OnNfZGlkSW5pdGlhbGl6ZTsKIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+IHB0aHJlYWRfa2V5X3QgUGVyVGhyZWFkU3RvcmFnZTxUPjo6c19rZXk7CiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdGQ6Om9uY2VfZmxhZyBQZXJUaHJlYWRTdG9yYWdlPFQ+Ojpz
X29uY2VGbGFnOwogCi0jZW5kaWYgLy8gZGVmaW5lZChfX2hhc19pbmNsdWRlKSAmJiBfX2hhc19p
bmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KQorI2VuZGlmCiAKIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+CiBJTkxJTkUgVCogUGVyVGhyZWFkPFQ+OjpnZXRGYXN0Q2FzZSgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1NtYWxsVHJhaXRzLmggYi9Tb3VyY2UvYm1hbGxv
Yy9ibWFsbG9jL1NtYWxsVHJhaXRzLmgKaW5kZXggZTQwYzE2NmVkZDA3YmNhZmUxNzU2ZjE1ZjZh
YzExNWNlYTlhMTMyMi4uODA2YjdlOGM2NjVkYTU0NDQwM2RlZmY4MWQzOGRiOWI5MGJkYTY2NyAx
MDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TbWFsbFRyYWl0cy5oCisrKyBiL1Nv
dXJjZS9ibWFsbG9jL2JtYWxsb2MvU21hbGxUcmFpdHMuaApAQCAtMzUsOSArMzUsOSBAQCB0ZW1w
bGF0ZTxjbGFzcyBUcmFpdHM+IGNsYXNzIExpbmU7CiB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+IGNs
YXNzIFBhZ2U7CiAKIHN0cnVjdCBTbWFsbFRyYWl0cyB7Ci0gICAgdHlwZWRlZiBDaHVuazxTbWFs
bFRyYWl0cz4gQ2h1bms7Ci0gICAgdHlwZWRlZiBMaW5lPFNtYWxsVHJhaXRzPiBMaW5lOwotICAg
IHR5cGVkZWYgUGFnZTxTbWFsbFRyYWl0cz4gUGFnZTsKKyAgICB0eXBlZGVmIENodW5rPFNtYWxs
VHJhaXRzPiBDaHVua1R5cGU7CisgICAgdHlwZWRlZiBMaW5lPFNtYWxsVHJhaXRzPiBMaW5lVHlw
ZTsKKyAgICB0eXBlZGVmIFBhZ2U8U21hbGxUcmFpdHM+IFBhZ2VUeXBlOwogCiAgICAgc3RhdGlj
IGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9IHNtYWxsTGluZVNpemU7CiAgICAgc3RhdGljIGNvbnN0
IHNpemVfdCBtaW5pbXVtT2JqZWN0U2l6ZSA9IGFsaWdubWVudDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0ZS5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9W
TUFsbG9jYXRlLmgKaW5kZXggOTQwNjM1OGFlNTFmNTliMDhmZDY3NTlkNTJjZTlhODIyNWEzNDY0
ZS4uOGYzZWE1ZmJkZDVhZTUzNDIwZDU4NjNiMmY5NzYyYzhmZGViYzA3ZCAxMDA2NDQKLS0tIGEv
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9WTUFsbG9jYXRlLmgKKysrIGIvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9WTUFsbG9jYXRlLmgKQEAgLTMxLDEzICszMSwyMCBAQAogI2luY2x1ZGUgIlNpemVz
LmgiCiAjaW5jbHVkZSAiU3lzY2FsbC5oIgogI2luY2x1ZGUgPGFsZ29yaXRobT4KLSNpbmNsdWRl
IDxtYWNoL3ZtX3N0YXRpc3RpY3MuaD4KICNpbmNsdWRlIDxzeXMvbW1hbi5oPgogI2luY2x1ZGUg
PHVuaXN0ZC5oPgogCisjaWYgQk9TKERBUldJTikKKyNpbmNsdWRlIDxtYWNoL3ZtX3N0YXRpc3Rp
Y3MuaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgYm1hbGxvYyB7CiAKKyNpZiBCT1MoREFSV0lOKQog
I2RlZmluZSBCTUFMTE9DX1ZNX1RBRyBWTV9NQUtFX1RBRyhWTV9NRU1PUllfVENNQUxMT0MpCisj
ZWxzZQorI2RlZmluZSBCTUFMTE9DX1ZNX1RBRyAtMQorI2VuZGlmCiAKIGlubGluZSBzaXplX3Qg
dm1TaXplKHNpemVfdCBzaXplKQogewpAQCAtMTA3LDEzICsxMTQsMjEgQEAgaW5saW5lIHZvaWQq
IHZtQWxsb2NhdGUoc2l6ZV90IHZtQWxpZ25tZW50LCBzaXplX3Qgdm1TaXplKQogaW5saW5lIHZv
aWQgdm1EZWFsbG9jYXRlUGh5c2ljYWxQYWdlcyh2b2lkKiBwLCBzaXplX3Qgdm1TaXplKQogewog
ICAgIHZtVmFsaWRhdGUocCwgdm1TaXplKTsKKyNpZiBCT1MoREFSV0lOKQogICAgIFNZU0NBTEwo
bWFkdmlzZShwLCB2bVNpemUsIE1BRFZfRlJFRV9SRVVTQUJMRSkpOworI2Vsc2UKKyAgICBTWVND
QUxMKG1hZHZpc2UocCwgdm1TaXplLCBNQURWX0RPTlRORUVEKSk7CisjZW5kaWYKIH0KIAogaW5s
aW5lIHZvaWQgdm1BbGxvY2F0ZVBoeXNpY2FsUGFnZXModm9pZCogcCwgc2l6ZV90IHZtU2l6ZSkK
IHsKICAgICB2bVZhbGlkYXRlKHAsIHZtU2l6ZSk7CisjaWYgQk9TKERBUldJTikKICAgICBTWVND
QUxMKG1hZHZpc2UocCwgdm1TaXplLCBNQURWX0ZSRUVfUkVVU0UpKTsKKyNlbHNlCisgICAgU1lT
Q0FMTChtYWR2aXNlKHAsIHZtU2l6ZSwgTUFEVl9OT1JNQUwpKTsKKyNlbmRpZgogfQogCiAvLyBU
cmltcyByZXF1ZXN0cyB0aGF0IGFyZSB1bi1wYWdlLWFsaWduZWQuIE5PVEU6IHNpemUgbXVzdCBi
ZSBhdCBsZWFzdCBhIHBhZ2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1Zl
Y3Rvci5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WZWN0b3IuaAppbmRleCA1YTA2ODhlMmRk
ZWU5MDQwYmI4NTQwZjAzMTYyODBjN2NlM2E2ZGZmLi41YjQxMTJiZTYzY2M5N2ZlMTQ2MTRhODA4
NjZhNjg5NjczMmQ3OTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZlY3Rv
ci5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVmVjdG9yLmgKQEAgLTI5LDcgKzI5LDcg
QEAKICNpbmNsdWRlICJJbmxpbmUuaCIKICNpbmNsdWRlICJWTUFsbG9jYXRlLmgiCiAjaW5jbHVk
ZSA8Y3N0ZGRlZj4KLSNpbmNsdWRlIDxzdHJpbmc+CisjaW5jbHVkZSA8Y3N0cmluZz4KIAogbmFt
ZXNwYWNlIGJtYWxsb2MgewogCkBAIC0xMTIsNyArMTEyLDcgQEAgdm9pZCBWZWN0b3I8VD46OnB1
c2goY29uc3QgVCogYmVnaW4sIGNvbnN0IFQqIGVuZCkKICAgICBzaXplX3QgbmV3U2l6ZSA9IG1f
c2l6ZSArIChlbmQgLSBiZWdpbik7CiAgICAgaWYgKG5ld1NpemUgPiBtX2NhcGFjaXR5KQogICAg
ICAgICBncm93Q2FwYWNpdHkobmV3U2l6ZSk7Ci0gICAgbWVtY3B5KHRoaXMtPmVuZCgpLCBiZWdp
biwgKGVuZCAtIGJlZ2luKSAqIHNpemVvZihUKSk7CisgICAgc3RkOjptZW1jcHkodGhpcy0+ZW5k
KCksIGJlZ2luLCAoZW5kIC0gYmVnaW4pICogc2l6ZW9mKFQpKTsKICAgICBtX3NpemUgPSBuZXdT
aXplOwogfQogCkBAIC0xNDgsNyArMTQ4LDcgQEAgdm9pZCBWZWN0b3I8VD46OnJlYWxsb2NhdGVC
dWZmZXIoc2l6ZV90IG5ld0NhcGFjaXR5KQogICAgIHNpemVfdCB2bVNpemUgPSBibWFsbG9jOjp2
bVNpemUobmV3Q2FwYWNpdHkgKiBzaXplb2YoVCkpOwogICAgIFQqIG5ld0J1ZmZlciA9IHN0YXRp
Y19jYXN0PFQqPih2bUFsbG9jYXRlKHZtU2l6ZSkpOwogICAgIGlmIChtX2J1ZmZlcikgewotICAg
ICAgICBtZW1jcHkobmV3QnVmZmVyLCBtX2J1ZmZlciwgbV9zaXplICogc2l6ZW9mKFQpKTsKKyAg
ICAgICAgc3RkOjptZW1jcHkobmV3QnVmZmVyLCBtX2J1ZmZlciwgbV9zaXplICogc2l6ZW9mKFQp
KTsKICAgICAgICAgdm1EZWFsbG9jYXRlKG1fYnVmZmVyLCBibWFsbG9jOjp2bVNpemUobV9jYXBh
Y2l0eSAqIHNpemVvZihUKSkpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dl
YktpdEhlbHBlcnMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0SGVscGVycy5jbWFrZQppbmRl
eCA0MjBlYmUxMDg0ODFkZTQxMjAyMzU4NTAwYWFkODA3MjJjYmM5YTAwLi4zZWRmNjAzM2YyNGQ4
ZjE1OTg4ZGJiNDMzNDg0NjY4MzUzMzQzYjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvV2Vi
S2l0SGVscGVycy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvV2ViS2l0SGVscGVycy5jbWFrZQpA
QCAtMjIsNyArMjIsNyBAQCBtYWNybyhXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTIF90
YXJnZXQpCiAKICAgICAgICAgIyBFbmFibGUgZXJyb3JzIG9uIHdhcm5pbmcKICAgICAgICAgaWYg
KE9QVElPTl9FTkFCTEVfV0VSUk9SKQotICAgICAgICAgICAgc2V0KE9MRF9DT01QSUxFX0ZMQUdT
ICItV2Vycm9yIC1Xbm8tZXJyb3I9dW51c2VkLXBhcmFtZXRlciAke09MRF9DT01QSUxFX0ZMQUdT
fSIpCisgICAgICAgICAgICBzZXQoT0xEX0NPTVBJTEVfRkxBR1MgIi1XZXJyb3IgLVduby1lcnJv
cj1hdHRyaWJ1dGVzIC1Xbm8tZXJyb3I9dW51c2VkLXBhcmFtZXRlciAke09MRF9DT01QSUxFX0ZM
QUdTfSIpCiAgICAgICAgIGVuZGlmICgpCiAKICAgICAgICAgc2V0X3RhcmdldF9wcm9wZXJ0aWVz
KCR7X3RhcmdldH0gUFJPUEVSVElFUwpkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFr
ZUxpc3RzLnR4dAppbmRleCAwOGU1NDQ0NmRjYWRhM2U0ODNhNDZkMmQ1YjI0NTk5YjE2NjY1N2Jl
Li4wYTk2MmUzOWYxYjI3MTUyNzk1NjcyZTNiNTQyNmE2YzdiZmNmNjAwIDEwMDY0NAotLS0gYS9D
TWFrZUxpc3RzLnR4dAorKysgYi9DTWFrZUxpc3RzLnR4dApAQCAtNCw2ICs0LDcgQEAgcHJvamVj
dChXZWJLaXQpCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIERlZmF1bHQgbGlicmFyeSB0eXBl
CiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitzZXQoQk1BTExPQ19ESVIgIiR7Q01BS0VfU09VUkNF
X0RJUn0vU291cmNlL2JtYWxsb2MiKQogc2V0KFdURl9ESVIgIiR7Q01BS0VfU09VUkNFX0RJUn0v
U291cmNlL1dURiIpCiBzZXQoSkFWQVNDUklQVENPUkVfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZSIpCiBzZXQoV0VCQ09SRV9ESVIgIiR7Q01BS0VfU09VUkNF
X0RJUn0vU291cmNlL1dlYkNvcmUiKQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9n
CmluZGV4IGJhZmE4Njc5YjBjYjdlNWE1NDNiNjMzOWQxZGM5YmZkMjIzYTM0NzQuLjNhMzM3ZGU3
NDBhNDFhZWU0MzllZmYwMDdkNTljMTQ3MGI2MmQwZDUgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZwor
KysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNS0wMS0zMCAgR3l1eW91bmcgS2lt
ICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW0dUS10gVXNlIGJt
YWxsb2MgaW5zdGVhZCBvZiB0Y21hbGxvYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGJtYWxsb2MgZGlyZWN0b3J5IHRvIGJ1aWxkIGxpc3QuCisK
KyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogRGVmaW5lIEJNQUxMT0NfRElSIGRpcmVjdG9yeS4K
KyAgICAgICAgKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEFkZCBibWFsbG9jIHBhdGggdG8gc3Vi
LWRpcmVjdG9yaWVzIGxpc3QuCisgICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdEhlbHBlcnMu
Y21ha2U6IFRyZWF0IGF0dHJpYnV0ZSB3YXJuaW5nIGFzIG5vLWVycm9yLgorCiAyMDE1LTAxLTI4
ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtDTWFrZV0gTWluaW11bSBweXRob24gdmVyc2lvbiBzaG91bGQgYmUgMi43Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245860</attachid>
            <date>2015-02-01 23:17:29 -0800</date>
            <delta_ts>2015-02-02 05:03:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140162-20150202161737.patch</filename>
            <type>text/plain</type>
            <size>17411</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc5NDcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGFlODQ5MzBmODRkYzE3YjQxZDk0Njc2
OGE0NTAyMzI0ZDAyNGU1MDAuLmQ5N2I4Yjk4MDI5ZmIyMmUxZjcyMDRmNmZkZjUyOWMzM2VmZDY2
NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMDItMDEgIEd5dXlvdW5nIEtpbSAgPGd5dXlv
dW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGlu
c3RlYWQgb2YgdGNtYWxsb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MDE2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OiBFeGNsdWRlIFRDU3lzdGVtQWxsb2MuaC9j
cHAgZnJvbSBFRkwgYW5kIEdUSy4KKyAgICAgICAgKiB3dGYvRmFzdE1hbGxvYy5jcHA6IEVuYWJs
ZSBibWFsbG9jIG9uIEVGTCBhbmQgR1RLIHBvcnRzIGFzIHdlbGwuCisKIDIwMTUtMDEtMzEgIFNh
bSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgZXZlbiBtb3JlIE1v
dW50YWluIExpb24gc3VwcG9ydApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9n
IGIvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCmluZGV4IDdiZDdjMDVlM2Q4ODcxZGYxMDIwYjUy
MzJkYzVkMGZjY2Q3ODM4ODQuLmU4NmVkZWRmYTE2NzcyZWQ2Y2FhMDRmMjY1NjU2YjI4OTllN2Ni
OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvYm1h
bGxvYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOCBAQAorMjAxNS0wMi0wMSAgR3l1eW91bmcgS2lt
ICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW0dUS10gVXNlIGJt
YWxsb2MgaW5zdGVhZCBvZiB0Y21hbGxvYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgU3VwcG9ydCB0byB1c2UgYm1hbGxvYyBvbiBFRkwgYW5kIEdUSyBw
b3J0cy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGRlZC4KKyAgICAgICAgKiBibWFs
bG9jL0FsbG9jYXRvci5jcHA6CisgICAgICAgIChibWFsbG9jOjpBbGxvY2F0b3I6OmFsbG9jYXRl
KToKKyAgICAgICAgICAgIEZpeCB1bnVzZWQgcmV0dXJuIHZhbHVlIGNhdXNlZCBieSBwb3NpeF9t
ZW1hbGlnbigpLgorICAgICAgICAqIGJtYWxsb2MvQXN5bmNUYXNrLmg6CisgICAgICAgICogYm1h
bGxvYy9Cb3VuZGFyeVRhZy5oOgorICAgICAgICAoYm1hbGxvYzo6Qm91bmRhcnlUYWc6OmNsZWFy
KToKKyAgICAgICAgKiBibWFsbG9jL0NodW5rLmg6CisgICAgICAgICAgICBDaGFuZ2UgVHJhaXRz
OjpQYWdlIHdpdGggVHJhaXRzOjpQYWdlVHlwZSBpbiBvcmRlciB0byBmaXgKKyAgICAgICAgICAg
IC1mcGVybWl0aXZlIGJ1aWxkIGVycm9yIG9uIEVGTCBhbmQgR1RLIHBvcnQuIAorICAgICAgICAq
IGJtYWxsb2MvRW5kVGFnLmg6CisgICAgICAgIChibWFsbG9jOjpFbmRUYWc6Om9wZXJhdG9yPSk6
CisgICAgICAgICogYm1hbGxvYy9MaW5lLmg6IGRpdHRvLgorICAgICAgICAqIGJtYWxsb2MvTWVk
aXVtVHJhaXRzLmg6CisgICAgICAgICogYm1hbGxvYy9QYWdlLmg6IGRpdHRvLgorICAgICAgICAq
IGJtYWxsb2MvUGVyVGhyZWFkLmg6CisgICAgICAgICAgICBFRkwgcG9ydCBkb2Vzbid0IHN1cHBv
cnQgX19oYXNfaW5jbHVkZSBkZWZpbml0aW9uIHlldC4KKyAgICAgICAgICAgIERlZmluZSBIQVZF
X1BUSFJFQURfTUFDSERFUF9IIGFjY29yZGluZyB0byBjaGVjayBpZiBfX2hhc19pbmNsdWRlIGlz
IHN1cHBvcnRlZC4KKyAgICAgICAgKiBibWFsbG9jL1NtYWxsVHJhaXRzLmg6IGRpdHRvLgorICAg
ICAgICAqIGJtYWxsb2MvVk1BbGxvY2F0ZS5oOgorICAgICAgICAoYm1hbGxvYzo6dm1EZWFsbG9j
YXRlUGh5c2ljYWxQYWdlcyk6CisgICAgICAgIChibWFsbG9jOjp2bUFsbG9jYXRlUGh5c2ljYWxQ
YWdlcyk6CisgICAgICAgICogYm1hbGxvYy9WZWN0b3IuaDoKKyAgICAgICAgKGJtYWxsb2M6OlZl
Y3RvcjxUPjo6cHVzaCk6CisgICAgICAgIChibWFsbG9jOjpWZWN0b3I8VD46OnJlYWxsb2NhdGVC
dWZmZXIpOgorCiAyMDE1LTAxLTMxICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmVtb3ZlIGV2ZW4gbW9yZSBNb3VudGFpbiBMaW9uIHN1cHBvcnQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9DTWFrZUxpc3RzLnR4dAppbmRleCA1NDg2
NzIwZDc2MmIwODdjNjJhYmU4NDdiNDE0ODhmNTcwYmNlZjI4Li5mYWJjNWQ2YjY4ZjgxNGZhOGUx
ZDk0YjgyYmE5Yzc2Njc4ZDgzZDk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL0NNYWtlTGlzdHMudHh0CkBAIC0xLDYgKzEsOCBAQAogIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQogIyBBZGQgbW9kdWxlIGRpcmVjdG9yaWVzCiAjIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCithZGRfc3ViZGlyZWN0b3J5KGJtYWxsb2MpCisKIGFkZF9zdWJkaXJlY3RvcnkoV1RGKQog
CiBhZGRfc3ViZGlyZWN0b3J5KEphdmFTY3JpcHRDb3JlKQpAQCAtMjYsNiArMjgsNyBAQCBXRUJL
SVRfSU5DTFVERV9DT05GSUdfRklMRVNfSUZfRVhJU1RTKCkKICMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KICMgU2V0IGNvbXBpbGVyIGZsYWdzIGZvciBhbGwgdGFyZ2V0cwogIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorV0VCS0lUX1NFVF9FWFRSQV9DT01QSUxFUl9GTEFHUyhibWFsbG9jICR7QURESVRJ
T05BTF9DT01QSUxFUl9GTEFHU30pCiBXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKFdU
RiAke0FERElUSU9OQUxfQ09NUElMRVJfRkxBR1N9KQogV0VCS0lUX1NFVF9FWFRSQV9DT01QSUxF
Ul9GTEFHUyhKYXZhU2NyaXB0Q29yZSAke0FERElUSU9OQUxfQ09NUElMRVJfRkxBR1N9KQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XVEYvd3Rm
L0NNYWtlTGlzdHMudHh0CmluZGV4IGI5ZTY2OTE2ZGYwYTJiNWFlM2U4ZDk4MTVkZTNjMGE5Zjg3
MTQyZGUuLjFkYzM4NTM4NTE3MmEyYTYzODUxY2Q5Zjg1NmViMzFhZjY5OTEwYzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XVEYvd3RmL0NN
YWtlTGlzdHMudHh0CkBAIC0xMDAsNyArMTAwLDYgQEAgc2V0KFdURl9IRUFERVJTCiAgICAgVENQ
YWNrZWRDYWNoZS5oCiAgICAgVENQYWdlTWFwLmgKICAgICBUQ1NwaW5Mb2NrLmgKLSAgICBUQ1N5
c3RlbUFsbG9jLmgKICAgICBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKICAgICBUaHJl
YWRTYWZlUmVmQ291bnRlZC5oCiAgICAgVGhyZWFkU3BlY2lmaWMuaApAQCAtMTgzLDcgKzE4Miw2
IEBAIHNldChXVEZfU09VUkNFUwogICAgIFN0YWNrU3RhdHMuY3BwCiAgICAgU3RhY2tCb3VuZHMu
Y3BwCiAgICAgU3RyaW5nUHJpbnRTdHJlYW0uY3BwCi0gICAgVENTeXN0ZW1BbGxvYy5jcHAKICAg
ICBUaHJlYWRpbmcuY3BwCiAgICAgV1RGVGhyZWFkRGF0YS5jcHAKICAgICBkdG9hLmNwcApAQCAt
MjEzLDYgKzIxMSw3IEBAIHNldChXVEZfU09VUkNFUwogKQogCiBzZXQoV1RGX0lOQ0xVREVfRElS
RUNUT1JJRVMKKyAgICAiJHtCTUFMTE9DX0RJUn0iCiAgICAgIiR7V1RGX0RJUn0iCiAgICAgIiR7
V1RGX0RJUn0vd3RmIgogICAgICIke1dURl9ESVJ9L3d0Zi9kdG9hIgpAQCAtMjI2LDYgKzIyNSw3
IEBAIHNldChXVEZfSU5DTFVERV9ESVJFQ1RPUklFUwogCiBzZXQoV1RGX0xJQlJBUklFUwogICAg
ICR7Q01BS0VfRExfTElCU30KKyAgICBibWFsbG9jCiApCiAKIGxpc3QoQVBQRU5EIFdURl9TT1VS
Q0VTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GYXN0TWFsbG9jLmNwcCBiL1NvdXJjZS9X
VEYvd3RmL0Zhc3RNYWxsb2MuY3BwCmluZGV4IGQ3NzU3YjJiMjA1MDAyMzMyNzFjNDBiNTQyMjJl
NGIwOWFhNDk4NzguLjcwYTM2ODI3YzA5ZmNjZGI2NGM5MzYxYjUwMzJmNTEyZWFlMDYzYzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuY3BwCisrKyBiL1NvdXJjZS9XVEYv
d3RmL0Zhc3RNYWxsb2MuY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAKICNlbmRpZgogI2VuZGlmCiAK
LSNpZiBQTEFURk9STShDT0NPQSkKKyNpZiBQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oRUZM
KSB8fCBQTEFURk9STShHVEspCiAjZGVmaW5lIFVTRV9CTUFMTE9DIDEKICNlbmRpZgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9ibWFsbG9jL0NN
YWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5YTFhNzZmYzRmOGJlNDk3NzA2YjBmODQzMjRlYmU3
N2UyY2RhNjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvYm1hbGxvYy9DTWFrZUxpc3RzLnR4
dApAQCAtMCwwICsxLDIyIEBACitzZXQoYm1hbGxvY19JTkNMVURFX0RJUkVDVE9SSUVTCisgICAg
IiR7Qk1BTExPQ19ESVJ9IgorKQorCitzZXQoYm1hbGxvY19TT1VSQ0VTCisgICAgYm1hbGxvYy9B
bGxvY2F0b3IuY3BwCisgICAgYm1hbGxvYy9DYWNoZS5jcHAKKyAgICBibWFsbG9jL0RlYWxsb2Nh
dG9yLmNwcAorICAgIGJtYWxsb2MvRW52aXJvbm1lbnQuY3BwCisgICAgYm1hbGxvYy9IZWFwLmNw
cAorICAgIGJtYWxsb2MvT2JqZWN0VHlwZS5jcHAKKyAgICBibWFsbG9jL1NlZ3JlZ2F0ZWRGcmVl
TGlzdC5jcHAKKyAgICBibWFsbG9jL1N0YXRpY011dGV4LmNwcAorICAgIGJtYWxsb2MvVk1IZWFw
LmNwcAorICAgIGJtYWxsb2MvbWJtYWxsb2MuY3BwCispCisKK1dFQktJVF9XUkFQX1NPVVJDRUxJ
U1QoJHtibWFsbG9jX1NPVVJDRVN9KQoraW5jbHVkZV9kaXJlY3Rvcmllcygke2JtYWxsb2NfSU5D
TFVERV9ESVJFQ1RPUklFU30pCithZGRfbGlicmFyeShibWFsbG9jICR7Ym1hbGxvY19TT1VSQ0VT
fSkKK3RhcmdldF9saW5rX2xpYnJhcmllcyhibWFsbG9jICR7Ym1hbGxvY19MSUJSQVJJRVN9KQor
c2V0X3RhcmdldF9wcm9wZXJ0aWVzKGJtYWxsb2MgUFJPUEVSVElFUyBDT01QSUxFX0RFRklOSVRJ
T05TICJCVUlMRElOR19ibWFsbG9jIikKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvQWxsb2NhdG9yLmNwcCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQWxsb2NhdG9yLmNwcApp
bmRleCBlZDU3M2RjOWMyNjdiOWMxYzkzMDEwNDFjM2JkNjhkMzI4MGE2MGJjLi5lYmYwY2Y2MjEz
YWViZmRhOTBhYTZiMDU1M2VjMWRiMGJmMzEyZDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxv
Yy9ibWFsbG9jL0FsbG9jYXRvci5jcHAKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxv
Y2F0b3IuY3BwCkBAIC01Niw3ICs1Niw4IEBAIHZvaWQqIEFsbG9jYXRvcjo6YWxsb2NhdGUoc2l6
ZV90IGFsaWdubWVudCwgc2l6ZV90IHNpemUpCiAKICAgICBpZiAoIW1faXNCbWFsbG9jRW5hYmxl
ZCkgewogICAgICAgICB2b2lkKiByZXN1bHQgPSBudWxscHRyOwotICAgICAgICBwb3NpeF9tZW1h
bGlnbigmcmVzdWx0LCBhbGlnbm1lbnQsIHNpemUpOworICAgICAgICBpZiAocG9zaXhfbWVtYWxp
Z24oJnJlc3VsdCwgYWxpZ25tZW50LCBzaXplKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9ibWFsbG9jL2JtYWxsb2MvQXN5bmNUYXNrLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0Fz
eW5jVGFzay5oCmluZGV4IDUwNGRhODEzNWQ4NjcxNGY5N2UwNDNmMjUzNzUwNzI4MWE4YTBiYTEu
Ljk1MzkyMWQxYjdhYzU3ODEzZDhkMzJiZmNmNmEwNjFhNTQ0MzZlN2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9ibWFsbG9jL2JtYWxsb2MvQXN5bmNUYXNrLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9Bc3luY1Rhc2suaApAQCAtNjQsNyArNjQsNyBAQCBwcml2YXRlOgogICAgIEZ1bmN0aW9u
IG1fZnVuY3Rpb247CiB9OwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBPYmplY3QsIHR5cGVuYW1lIEZ1
bmN0aW9uPiBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBBc3luY1Rhc2s8T2JqZWN0LCBGdW5j
dGlvbj46OmV4aXREZWxheTsKK3RlbXBsYXRlPHR5cGVuYW1lIE9iamVjdCwgdHlwZW5hbWUgRnVu
Y3Rpb24+IGNvbnN0IGNvbnN0ZXhwciBzdGQ6OmNocm9ubzo6c2Vjb25kcyBBc3luY1Rhc2s8T2Jq
ZWN0LCBGdW5jdGlvbj46OmV4aXREZWxheTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgT2JqZWN0LCB0
eXBlbmFtZSBGdW5jdGlvbj4KIEFzeW5jVGFzazxPYmplY3QsIEZ1bmN0aW9uPjo6QXN5bmNUYXNr
KE9iamVjdCYgb2JqZWN0LCBjb25zdCBGdW5jdGlvbiYgZnVuY3Rpb24pCmRpZmYgLS1naXQgYS9T
b3VyY2UvYm1hbGxvYy9ibWFsbG9jL0JvdW5kYXJ5VGFnLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFs
bG9jL0JvdW5kYXJ5VGFnLmgKaW5kZXggNzYxZmQzZjE4MWIyMGI3MDcxODU4NDdkNDBmMTlkYWNm
NTBjNDU3Mi4uYjJlZGNlMmQ5MmNiZjQyYTA1MTgxNjE0ZWI5OTFmOWUyNDRjOGRhYSAxMDA2NDQK
LS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9Cb3VuZGFyeVRhZy5oCisrKyBiL1NvdXJjZS9i
bWFsbG9jL2JtYWxsb2MvQm91bmRhcnlUYWcuaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUg
IkJBc3NlcnQuaCIKICNpbmNsdWRlICJSYW5nZS5oIgogI2luY2x1ZGUgIlNpemVzLmgiCisjaW5j
bHVkZSA8Y3N0cmluZz4KIAogbmFtZXNwYWNlIGJtYWxsb2MgewogCkBAIC01NCw3ICs1NSw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldEhhc1BoeXNpY2FsUGFnZXMoYm9vbCBoYXNQaHlzaWNhbFBh
Z2VzKSB7IG1faGFzUGh5c2ljYWxQYWdlcyA9IGhhc1BoeXNpY2FsUGFnZXM7IH0KIAogICAgIGJv
b2wgaXNOdWxsKCkgeyByZXR1cm4gIW1fc2l6ZTsgfQotICAgIHZvaWQgY2xlYXIoKSB7IG1lbXNl
dCh0aGlzLCAwLCBzaXplb2YoKnRoaXMpKTsgfQorICAgIHZvaWQgY2xlYXIoKSB7IHN0ZDo6bWVt
c2V0KHRoaXMsIDAsIHNpemVvZigqdGhpcykpOyB9CiAgICAgCiAgICAgc2l6ZV90IHNpemUoKSB7
IHJldHVybiBtX3NpemU7IH0KICAgICB1bnNpZ25lZCBjb21wYWN0QmVnaW4oKSB7IHJldHVybiBt
X2NvbXBhY3RCZWdpbjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9DaHVu
ay5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9DaHVuay5oCmluZGV4IDBjNGQxZDJkZDhhYzA4
ZWIwODFmOGQ1ZTZhMDk1NDg2NzY3ZjVjMDAuLmU1ZGYzMzcyNGMwYjBlMTAyNjQzMDQ2YTk0ZGZm
MGNlZTQxMWE0ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQ2h1bmsuaAor
KysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0NodW5rLmgKQEAgLTM1LDggKzM1LDkgQEAgbmFt
ZXNwYWNlIGJtYWxsb2MgewogdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPgogY2xhc3MgQ2h1bmsgewog
cHVibGljOgotICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpQYWdlIFBhZ2U7Ci0gICAgdHlw
ZWRlZiB0eXBlbmFtZSBUcmFpdHM6OkxpbmUgTGluZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFRy
YWl0czo6UGFnZVR5cGUgUGFnZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6TGluZVR5
cGUgTGluZTsKKwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbGluZVNpemUgPSBUcmFpdHM6Omxp
bmVTaXplOwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgY2h1bmtTaXplID0gVHJhaXRzOjpjaHVu
a1NpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBjaHVua09mZnNldCA9IFRyYWl0czo6Y2h1
bmtPZmZzZXQ7CkBAIC02Miw3ICs2MywxMSBAQCBwcml2YXRlOgogCiAgICAgLy8gQWxpZ24gdG8g
dm1QYWdlU2l6ZSB0byBhdm9pZCBzaGFyaW5nIHBoeXNpY2FsIHBhZ2VzIHdpdGggbWV0YWRhdGEu
CiAgICAgLy8gT3RoZXJ3aXNlLCB3ZSdsbCBjb25mdXNlIHRoZSBzY2F2ZW5nZXIgaW50byB0cnlp
bmcgdG8gc2NhdmVuZ2UgbWV0YWRhdGEuCisjaWYgZGVmaW5lZChfX2NsYW5nX18pCiAgICAgYWxp
Z25hcyh2bVBhZ2VTaXplKSBjaGFyIG1fbWVtb3J5W107CisjZWxzZQorICAgIGNoYXIgbV9tZW1v
cnlbdm1QYWdlU2l6ZV07CisjZW5kaWYKIH07CiAKIHRlbXBsYXRlPGNsYXNzIFRyYWl0cz4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvRW5kVGFnLmggYi9Tb3VyY2UvYm1hbGxv
Yy9ibWFsbG9jL0VuZFRhZy5oCmluZGV4IDllYWU5OTc5ZTcwOGRhNTJmMGM0YTU0NTFkOWU4ZGUz
OTY3M2EwYjEuLmY5NDE1M2E5MTdkODdmZTI2MGI4Njc2MTQ4YmY0MTMwOGEyYmQ5ZmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvRW5kVGFnLmgKKysrIGIvU291cmNlL2JtYWxs
b2MvYm1hbGxvYy9FbmRUYWcuaApAQCAtMzcsNyArMzcsNyBAQCBwdWJsaWM6CiAKIGlubGluZSBF
bmRUYWcmIEVuZFRhZzo6b3BlcmF0b3I9KGNvbnN0IEJlZ2luVGFnJiBvdGhlcikKIHsKLSAgICBt
ZW1jcHkodGhpcywgJm90aGVyLCBzaXplb2YoQm91bmRhcnlUYWcpKTsKKyAgICBzdGQ6Om1lbWNw
eSh0aGlzLCAmb3RoZXIsIHNpemVvZihCb3VuZGFyeVRhZykpOwogICAgIHNldEVuZCh0cnVlKTsK
ICAgICByZXR1cm4gKnRoaXM7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9j
L0xhcmdlQ2h1bmsuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGFyZ2VDaHVuay5oCmluZGV4
IGFhNTUyODFiMDA3NTVjYWE4YWIyYzNmMTJkZTAzN2U2OTRmMjViMzAuLjYzYjFhNjllMzgwMjI2
NTBiYzI5YjU3MTFhOTFjMjY0YjAyZWE0MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2Jt
YWxsb2MvTGFyZ2VDaHVuay5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGFyZ2VDaHVu
ay5oCkBAIC02Nyw3ICs2NywxMSBAQCBwcml2YXRlOgogCiAgICAgLy8gQWxpZ24gdG8gdm1QYWdl
U2l6ZSB0byBhdm9pZCBzaGFyaW5nIHBoeXNpY2FsIHBhZ2VzIHdpdGggbWV0YWRhdGEuCiAgICAg
Ly8gT3RoZXJ3aXNlLCB3ZSdsbCBjb25mdXNlIHRoZSBzY2F2ZW5nZXIgaW50byB0cnlpbmcgdG8g
c2NhdmVuZ2UgbWV0YWRhdGEuCisjaWYgZGVmaW5lZChfX2NsYW5nX18pCiAgICAgYWxpZ25hcyh2
bVBhZ2VTaXplKSBjaGFyIG1fbWVtb3J5W107CisjZWxzZQorICAgIGNoYXIgbV9tZW1vcnlbdm1Q
YWdlU2l6ZV07CisjZW5kaWYKIH07CiAKIGlubGluZSBMYXJnZUNodW5rKiBMYXJnZUNodW5rOjpn
ZXQodm9pZCogb2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9MaW5l
LmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0xpbmUuaAppbmRleCA4YThkNzFlMTg5OTFjYjY1
OGYwYmRmZjRlOGZkOGE3YjFlNjk2YjJlLi44YWY4M2VmOWFjY2UyMWJhY2I4ZTRjNzY4MDU0Njll
Y2UwYzRlNzE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0xpbmUuaAorKysg
Yi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0xpbmUuaApAQCAtMzYsNyArMzYsOCBAQCBuYW1lc3Bh
Y2UgYm1hbGxvYyB7CiB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+CiBjbGFzcyBMaW5lIHsKIHB1Ymxp
YzoKLSAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6Q2h1bmsgQ2h1bms7CisgICAgdHlwZWRl
ZiB0eXBlbmFtZSBUcmFpdHM6OkNodW5rVHlwZSBDaHVuazsKKwogICAgIHN0YXRpYyBjb25zdCBz
aXplX3QgbWluaW11bU9iamVjdFNpemUgPSBUcmFpdHM6Om1pbmltdW1PYmplY3RTaXplOwogICAg
IHN0YXRpYyBjb25zdCBzaXplX3QgbGluZVNpemUgPSBUcmFpdHM6OmxpbmVTaXplOwogICAgIApk
aWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9NZWRpdW1UcmFpdHMuaCBiL1NvdXJj
ZS9ibWFsbG9jL2JtYWxsb2MvTWVkaXVtVHJhaXRzLmgKaW5kZXggYmJjZTAxYWIzMGVkN2Y1N2Iz
NGY0NGUxNjViODIwNDNkZGI0N2IxMi4uNTlkNzhmNTAxNzVlYjI1OTU0MTU0ZDgyODAxMDkyMDQz
NWMxY2NiNSAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9NZWRpdW1UcmFpdHMu
aAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL01lZGl1bVRyYWl0cy5oCkBAIC0zNiw5ICsz
Niw5IEBAIHRlbXBsYXRlPGNsYXNzIFRyYWl0cz4gY2xhc3MgTGluZTsKIHRlbXBsYXRlPGNsYXNz
IFRyYWl0cz4gY2xhc3MgUGFnZTsKIAogc3RydWN0IE1lZGl1bVRyYWl0cyB7Ci0gICAgdHlwZWRl
ZiBDaHVuazxNZWRpdW1UcmFpdHM+IENodW5rOwotICAgIHR5cGVkZWYgTGluZTxNZWRpdW1UcmFp
dHM+IExpbmU7Ci0gICAgdHlwZWRlZiBQYWdlPE1lZGl1bVRyYWl0cz4gUGFnZTsKKyAgICB0eXBl
ZGVmIENodW5rPE1lZGl1bVRyYWl0cz4gQ2h1bmtUeXBlOworICAgIHR5cGVkZWYgTGluZTxNZWRp
dW1UcmFpdHM+IExpbmVUeXBlOworICAgIHR5cGVkZWYgUGFnZTxNZWRpdW1UcmFpdHM+IFBhZ2VU
eXBlOwogCiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9IG1lZGl1bUxpbmVTaXpl
OwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbWluaW11bU9iamVjdFNpemUgPSBzbWFsbE1heCAr
IGFsaWdubWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGFnZS5oIGIv
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9QYWdlLmgKaW5kZXggMzgxNDBhNTY0YWQzYjk0NTQ1MjRk
Y2Y5M2M1ZmVlNmQ3Y2MzYjgzZi4uZmRmYTE1OGQ2MTIzZTQ4YTRlM2UwOTE5MDU3ODM4ODg0Njlh
MTUzNCAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QYWdlLmgKKysrIGIvU291
cmNlL2JtYWxsb2MvYm1hbGxvYy9QYWdlLmgKQEAgLTM2LDggKzM2LDkgQEAgbmFtZXNwYWNlIGJt
YWxsb2MgewogdGVtcGxhdGU8dHlwZW5hbWUgVHJhaXRzPgogY2xhc3MgUGFnZSB7CiBwdWJsaWM6
Ci0gICAgdHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6OkNodW5rIENodW5rOwotICAgIHR5cGVkZWYg
dHlwZW5hbWUgVHJhaXRzOjpMaW5lIExpbmU7CisgICAgdHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6
OkNodW5rVHlwZSBDaHVuazsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6TGluZVR5cGUg
TGluZTsKKwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbGluZVNpemUgPSBUcmFpdHM6OmxpbmVT
aXplOwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbGluZUNvdW50ID0gdm1QYWdlU2l6ZSAvIGxp
bmVTaXplOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BlclRocmVhZC5o
IGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QZXJUaHJlYWQuaAppbmRleCAwMmYwN2UxNjUyYTdh
NmEzNDdmYTgwNmMyNTZmM2E4NTE1ZTBiOGVhLi4zMGE2YmIyODYzYzRkZmEzMGZmOGU3Zjk3MjA3
ZWIwY2IxN2ViYzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BlclRocmVh
ZC5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGVyVGhyZWFkLmgKQEAgLTMwLDggKzMw
LDE2IEBACiAjaW5jbHVkZSAiSW5saW5lLmgiCiAjaW5jbHVkZSA8bXV0ZXg+CiAjaW5jbHVkZSA8
cHRocmVhZC5oPgotI2lmIGRlZmluZWQoX19oYXNfaW5jbHVkZSkgJiYgX19oYXNfaW5jbHVkZSg8
U3lzdGVtL3B0aHJlYWRfbWFjaGRlcC5oPikKKworI2lmIGRlZmluZWQoX19oYXNfaW5jbHVkZSkK
KyNpZiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KQogI2luY2x1ZGUg
PFN5c3RlbS9wdGhyZWFkX21hY2hkZXAuaD4KKyNkZWZpbmUgSEFWRV9QVEhSRUFEX01BQ0hERVBf
SCAxCisjZWxzZQorI2RlZmluZSBIQVZFX1BUSFJFQURfTUFDSERFUF9IIDAKKyNlbmRpZgorI2Vs
c2UKKyNkZWZpbmUgSEFWRV9QVEhSRUFEX01BQ0hERVBfSCAwCiAjZW5kaWYKIAogbmFtZXNwYWNl
IGJtYWxsb2MgewpAQCAtNTAsNyArNTgsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGRl
c3RydWN0b3Iodm9pZCopOwogfTsKIAotI2lmIGRlZmluZWQoX19oYXNfaW5jbHVkZSkgJiYgX19o
YXNfaW5jbHVkZSg8U3lzdGVtL3B0aHJlYWRfbWFjaGRlcC5oPikKKyNpZiBIQVZFX1BUSFJFQURf
TUFDSERFUF9ICiAKIGNsYXNzIENhY2hlOwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IFBl
clRocmVhZFN0b3JhZ2U7CkBAIC0xMDAsNyArMTA4LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4g
Ym9vbCBQZXJUaHJlYWRTdG9yYWdlPFQ+OjpzX2RpZEluaXRpYWxpemU7CiB0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBwdGhyZWFkX2tleV90IFBlclRocmVhZFN0b3JhZ2U8VD46OnNfa2V5OwogdGVtcGxh
dGU8dHlwZW5hbWUgVD4gc3RkOjpvbmNlX2ZsYWcgUGVyVGhyZWFkU3RvcmFnZTxUPjo6c19vbmNl
RmxhZzsKIAotI2VuZGlmIC8vIGRlZmluZWQoX19oYXNfaW5jbHVkZSkgJiYgX19oYXNfaW5jbHVk
ZSg8U3lzdGVtL3B0aHJlYWRfbWFjaGRlcC5oPikKKyNlbmRpZgogCiB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPgogSU5MSU5FIFQqIFBlclRocmVhZDxUPjo6Z2V0RmFzdENhc2UoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9TbWFsbFRyYWl0cy5oIGIvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9TbWFsbFRyYWl0cy5oCmluZGV4IGU0MGMxNjZlZGQwN2JjYWZlMTc1NmYxNWY2YWMxMTVj
ZWE5YTEzMjIuLjgwNmI3ZThjNjY1ZGE1NDQ0MDNkZWZmODFkMzhkYjliOTBiZGE2NjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU21hbGxUcmFpdHMuaAorKysgYi9Tb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL1NtYWxsVHJhaXRzLmgKQEAgLTM1LDkgKzM1LDkgQEAgdGVtcGxhdGU8
Y2xhc3MgVHJhaXRzPiBjbGFzcyBMaW5lOwogdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPiBjbGFzcyBQ
YWdlOwogCiBzdHJ1Y3QgU21hbGxUcmFpdHMgewotICAgIHR5cGVkZWYgQ2h1bms8U21hbGxUcmFp
dHM+IENodW5rOwotICAgIHR5cGVkZWYgTGluZTxTbWFsbFRyYWl0cz4gTGluZTsKLSAgICB0eXBl
ZGVmIFBhZ2U8U21hbGxUcmFpdHM+IFBhZ2U7CisgICAgdHlwZWRlZiBDaHVuazxTbWFsbFRyYWl0
cz4gQ2h1bmtUeXBlOworICAgIHR5cGVkZWYgTGluZTxTbWFsbFRyYWl0cz4gTGluZVR5cGU7Cisg
ICAgdHlwZWRlZiBQYWdlPFNtYWxsVHJhaXRzPiBQYWdlVHlwZTsKIAogICAgIHN0YXRpYyBjb25z
dCBzaXplX3QgbGluZVNpemUgPSBzbWFsbExpbmVTaXplOwogICAgIHN0YXRpYyBjb25zdCBzaXpl
X3QgbWluaW11bU9iamVjdFNpemUgPSBhbGlnbm1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1h
bGxvYy9ibWFsbG9jL1ZNQWxsb2NhdGUuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxv
Y2F0ZS5oCmluZGV4IDk0MDYzNThhZTUxZjU5YjA4ZmQ2NzU5ZDUyY2U5YTgyMjVhMzQ2NGUuLjhm
M2VhNWZiZGQ1YWU1MzQyMGQ1ODYzYjJmOTc2MmM4ZmRlYmMwN2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0ZS5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvVk1BbGxvY2F0ZS5oCkBAIC0zMSwxMyArMzEsMjAgQEAKICNpbmNsdWRlICJTaXplcy5oIgog
I2luY2x1ZGUgIlN5c2NhbGwuaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+Ci0jaW5jbHVkZSA8bWFj
aC92bV9zdGF0aXN0aWNzLmg+CiAjaW5jbHVkZSA8c3lzL21tYW4uaD4KICNpbmNsdWRlIDx1bmlz
dGQuaD4KIAorI2lmIEJPUyhEQVJXSU4pCisjaW5jbHVkZSA8bWFjaC92bV9zdGF0aXN0aWNzLmg+
CisjZW5kaWYKKwogbmFtZXNwYWNlIGJtYWxsb2MgewogCisjaWYgQk9TKERBUldJTikKICNkZWZp
bmUgQk1BTExPQ19WTV9UQUcgVk1fTUFLRV9UQUcoVk1fTUVNT1JZX1RDTUFMTE9DKQorI2Vsc2UK
KyNkZWZpbmUgQk1BTExPQ19WTV9UQUcgLTEKKyNlbmRpZgogCiBpbmxpbmUgc2l6ZV90IHZtU2l6
ZShzaXplX3Qgc2l6ZSkKIHsKQEAgLTEwNywxMyArMTE0LDIxIEBAIGlubGluZSB2b2lkKiB2bUFs
bG9jYXRlKHNpemVfdCB2bUFsaWdubWVudCwgc2l6ZV90IHZtU2l6ZSkKIGlubGluZSB2b2lkIHZt
RGVhbGxvY2F0ZVBoeXNpY2FsUGFnZXModm9pZCogcCwgc2l6ZV90IHZtU2l6ZSkKIHsKICAgICB2
bVZhbGlkYXRlKHAsIHZtU2l6ZSk7CisjaWYgQk9TKERBUldJTikKICAgICBTWVNDQUxMKG1hZHZp
c2UocCwgdm1TaXplLCBNQURWX0ZSRUVfUkVVU0FCTEUpKTsKKyNlbHNlCisgICAgU1lTQ0FMTCht
YWR2aXNlKHAsIHZtU2l6ZSwgTUFEVl9ET05UTkVFRCkpOworI2VuZGlmCiB9CiAKIGlubGluZSB2
b2lkIHZtQWxsb2NhdGVQaHlzaWNhbFBhZ2VzKHZvaWQqIHAsIHNpemVfdCB2bVNpemUpCiB7CiAg
ICAgdm1WYWxpZGF0ZShwLCB2bVNpemUpOworI2lmIEJPUyhEQVJXSU4pCiAgICAgU1lTQ0FMTCht
YWR2aXNlKHAsIHZtU2l6ZSwgTUFEVl9GUkVFX1JFVVNFKSk7CisjZWxzZQorICAgIFNZU0NBTEwo
bWFkdmlzZShwLCB2bVNpemUsIE1BRFZfTk9STUFMKSk7CisjZW5kaWYKIH0KIAogLy8gVHJpbXMg
cmVxdWVzdHMgdGhhdCBhcmUgdW4tcGFnZS1hbGlnbmVkLiBOT1RFOiBzaXplIG11c3QgYmUgYXQg
bGVhc3QgYSBwYWdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WZWN0b3Iu
aCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVmVjdG9yLmgKaW5kZXggNWEwNjg4ZTJkZGVlOTA0
MGJiODU0MGYwMzE2MjgwYzdjZTNhNmRmZi4uNWI0MTEyYmU2M2NjOTdmZTE0NjE0YTgwODY2YTY4
OTY3MzJkNzkxNCAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WZWN0b3IuaAor
KysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZlY3Rvci5oCkBAIC0yOSw3ICsyOSw3IEBACiAj
aW5jbHVkZSAiSW5saW5lLmgiCiAjaW5jbHVkZSAiVk1BbGxvY2F0ZS5oIgogI2luY2x1ZGUgPGNz
dGRkZWY+Ci0jaW5jbHVkZSA8c3RyaW5nPgorI2luY2x1ZGUgPGNzdHJpbmc+CiAKIG5hbWVzcGFj
ZSBibWFsbG9jIHsKIApAQCAtMTEyLDcgKzExMiw3IEBAIHZvaWQgVmVjdG9yPFQ+OjpwdXNoKGNv
bnN0IFQqIGJlZ2luLCBjb25zdCBUKiBlbmQpCiAgICAgc2l6ZV90IG5ld1NpemUgPSBtX3NpemUg
KyAoZW5kIC0gYmVnaW4pOwogICAgIGlmIChuZXdTaXplID4gbV9jYXBhY2l0eSkKICAgICAgICAg
Z3Jvd0NhcGFjaXR5KG5ld1NpemUpOwotICAgIG1lbWNweSh0aGlzLT5lbmQoKSwgYmVnaW4sIChl
bmQgLSBiZWdpbikgKiBzaXplb2YoVCkpOworICAgIHN0ZDo6bWVtY3B5KHRoaXMtPmVuZCgpLCBi
ZWdpbiwgKGVuZCAtIGJlZ2luKSAqIHNpemVvZihUKSk7CiAgICAgbV9zaXplID0gbmV3U2l6ZTsK
IH0KIApAQCAtMTQ4LDcgKzE0OCw3IEBAIHZvaWQgVmVjdG9yPFQ+OjpyZWFsbG9jYXRlQnVmZmVy
KHNpemVfdCBuZXdDYXBhY2l0eSkKICAgICBzaXplX3Qgdm1TaXplID0gYm1hbGxvYzo6dm1TaXpl
KG5ld0NhcGFjaXR5ICogc2l6ZW9mKFQpKTsKICAgICBUKiBuZXdCdWZmZXIgPSBzdGF0aWNfY2Fz
dDxUKj4odm1BbGxvY2F0ZSh2bVNpemUpKTsKICAgICBpZiAobV9idWZmZXIpIHsKLSAgICAgICAg
bWVtY3B5KG5ld0J1ZmZlciwgbV9idWZmZXIsIG1fc2l6ZSAqIHNpemVvZihUKSk7CisgICAgICAg
IHN0ZDo6bWVtY3B5KG5ld0J1ZmZlciwgbV9idWZmZXIsIG1fc2l6ZSAqIHNpemVvZihUKSk7CiAg
ICAgICAgIHZtRGVhbGxvY2F0ZShtX2J1ZmZlciwgYm1hbGxvYzo6dm1TaXplKG1fY2FwYWNpdHkg
KiBzaXplb2YoVCkpKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01h
a2VMaXN0cy50eHQKaW5kZXggMDhlNTQ0NDZkY2FkYTNlNDgzYTQ2ZDJkNWIyNDU5OWIxNjY2NTdi
ZS4uMGE5NjJlMzlmMWIyNzE1Mjc5NTY3MmUzYjU0MjZhNmM3YmZjZjYwMCAxMDA2NDQKLS0tIGEv
Q01ha2VMaXN0cy50eHQKKysrIGIvQ01ha2VMaXN0cy50eHQKQEAgLTQsNiArNCw3IEBAIHByb2pl
Y3QoV2ViS2l0KQogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBEZWZhdWx0IGxpYnJhcnkgdHlw
ZQogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorc2V0KEJNQUxMT0NfRElSICIke0NNQUtFX1NPVVJD
RV9ESVJ9L1NvdXJjZS9ibWFsbG9jIikKIHNldChXVEZfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9
L1NvdXJjZS9XVEYiKQogc2V0KEpBVkFTQ1JJUFRDT1JFX0RJUiAiJHtDTUFLRV9TT1VSQ0VfRElS
fS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUiKQogc2V0KFdFQkNPUkVfRElSICIke0NNQUtFX1NPVVJD
RV9ESVJ9L1NvdXJjZS9XZWJDb3JlIikKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxv
ZwppbmRleCBiYWZhODY3OWIwY2I3ZTVhNTQzYjYzMzlkMWRjOWJmZDIyM2EzNDc0Li45M2E3OGNj
ZTg0ZWEwMGRhNjRhZjc3OTU3NDc4OTQ2MTg1NTQ4Njk5IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cK
KysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDItMDEgIEd5dXlvdW5nIEtp
bSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtHVEtdIFVzZSBi
bWFsbG9jIGluc3RlYWQgb2YgdGNtYWxsb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE0MDE2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCBibWFsbG9jIGRpcmVjdG9yeSB0byBidWlsZCBsaXN0Lgor
CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IERlZmluZSBCTUFMTE9DX0RJUiBkaXJlY3Rvcnku
CisgICAgICAgICogU291cmNlL0NNYWtlTGlzdHMudHh0OiBBZGQgYm1hbGxvYyBwYXRoIHRvIHN1
Yi1kaXJlY3RvcmllcyBsaXN0LgorCiAyMDE1LTAxLTI4ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQ
ZXJleiAgPGNsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtDTWFrZV0gTWluaW11bSBweXRo
b24gdmVyc2lvbiBzaG91bGQgYmUgMi43Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245869</attachid>
            <date>2015-02-02 05:04:00 -0800</date>
            <delta_ts>2015-02-03 17:06:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140162-20150202220409.patch</filename>
            <type>text/plain</type>
            <size>17539</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc5NDc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGFlODQ5MzBmODRkYzE3YjQxZDk0Njc2
OGE0NTAyMzI0ZDAyNGU1MDAuLjJjOTIyZTVhODkyMTU2MmFiODU2OWI4Y2Q1YTQ2OTAzOGY2NjQ3
OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMDItMDIgIEd5dXlvdW5nIEtpbSAgPGd5dXlv
dW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGlu
c3RlYWQgb2YgdGNtYWxsb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MDE2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OiBFeGNsdWRlIFRDU3lzdGVtQWxsb2MuaC9j
cHAgZnJvbSBFRkwgYW5kIEdUSy4KKyAgICAgICAgKiB3dGYvRmFzdE1hbGxvYy5jcHA6IEVuYWJs
ZSBibWFsbG9jIG9uIEVGTCBhbmQgR1RLIHBvcnRzIGFzIHdlbGwuCisKIDIwMTUtMDEtMzEgIFNh
bSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgZXZlbiBtb3JlIE1v
dW50YWluIExpb24gc3VwcG9ydApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9n
IGIvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCmluZGV4IDdiZDdjMDVlM2Q4ODcxZGYxMDIwYjUy
MzJkYzVkMGZjY2Q3ODM4ODQuLjE1YzMyNzk1NDRhZGMyYTNiYzlmZjA4ODNmMjkwZjFjODE1NDdm
OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvYm1h
bGxvYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOCBAQAorMjAxNS0wMi0wMiAgR3l1eW91bmcgS2lt
ICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW0dUS10gVXNlIGJt
YWxsb2MgaW5zdGVhZCBvZiB0Y21hbGxvYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgU3VwcG9ydCB0byB1c2UgYm1hbGxvYyBvbiBFRkwgYW5kIEdUSyBw
b3J0cy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGRlZC4KKyAgICAgICAgKiBibWFs
bG9jL0FsbG9jYXRvci5jcHA6CisgICAgICAgIChibWFsbG9jOjpBbGxvY2F0b3I6OmFsbG9jYXRl
KToKKyAgICAgICAgICAgIEZpeCB1bnVzZWQgcmV0dXJuIHZhbHVlIGNhdXNlZCBieSBwb3NpeF9t
ZW1hbGlnbigpLgorICAgICAgICAqIGJtYWxsb2MvQXN5bmNUYXNrLmg6CisgICAgICAgICogYm1h
bGxvYy9Cb3VuZGFyeVRhZy5oOgorICAgICAgICAoYm1hbGxvYzo6Qm91bmRhcnlUYWc6OmNsZWFy
KToKKyAgICAgICAgKiBibWFsbG9jL0NodW5rLmg6CisgICAgICAgICAgICBDaGFuZ2UgVHJhaXRz
OjpQYWdlIHdpdGggVHJhaXRzOjpQYWdlVHlwZSBpbiBvcmRlciB0byBmaXgKKyAgICAgICAgICAg
IC1mcGVybWl0aXZlIGJ1aWxkIGVycm9yIG9uIEVGTCBhbmQgR1RLIHBvcnQuIAorICAgICAgICAq
IGJtYWxsb2MvRW5kVGFnLmg6CisgICAgICAgIChibWFsbG9jOjpFbmRUYWc6Om9wZXJhdG9yPSk6
CisgICAgICAgICogYm1hbGxvYy9MaW5lLmg6IGRpdHRvLgorICAgICAgICAqIGJtYWxsb2MvTWVk
aXVtVHJhaXRzLmg6CisgICAgICAgICogYm1hbGxvYy9QYWdlLmg6IGRpdHRvLgorICAgICAgICAq
IGJtYWxsb2MvUGVyVGhyZWFkLmg6CisgICAgICAgICAgICBFRkwgcG9ydCBkb2Vzbid0IHN1cHBv
cnQgX19oYXNfaW5jbHVkZSBkZWZpbml0aW9uIHlldC4KKyAgICAgICAgICAgIERlZmluZSBIQVZF
X1BUSFJFQURfTUFDSERFUF9IIGFjY29yZGluZyB0byBjaGVjayBpZiBfX2hhc19pbmNsdWRlIGlz
IHN1cHBvcnRlZC4KKyAgICAgICAgKiBibWFsbG9jL1NtYWxsVHJhaXRzLmg6IGRpdHRvLgorICAg
ICAgICAqIGJtYWxsb2MvVk1BbGxvY2F0ZS5oOgorICAgICAgICAoYm1hbGxvYzo6dm1EZWFsbG9j
YXRlUGh5c2ljYWxQYWdlcyk6CisgICAgICAgIChibWFsbG9jOjp2bUFsbG9jYXRlUGh5c2ljYWxQ
YWdlcyk6CisgICAgICAgICogYm1hbGxvYy9WZWN0b3IuaDoKKyAgICAgICAgKGJtYWxsb2M6OlZl
Y3RvcjxUPjo6cHVzaCk6CisgICAgICAgIChibWFsbG9jOjpWZWN0b3I8VD46OnJlYWxsb2NhdGVC
dWZmZXIpOgorCiAyMDE1LTAxLTMxICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmVtb3ZlIGV2ZW4gbW9yZSBNb3VudGFpbiBMaW9uIHN1cHBvcnQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9DTWFrZUxpc3RzLnR4dAppbmRleCA1NDg2
NzIwZDc2MmIwODdjNjJhYmU4NDdiNDE0ODhmNTcwYmNlZjI4Li5mYWJjNWQ2YjY4ZjgxNGZhOGUx
ZDk0YjgyYmE5Yzc2Njc4ZDgzZDk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL0NNYWtlTGlzdHMudHh0CkBAIC0xLDYgKzEsOCBAQAogIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQogIyBBZGQgbW9kdWxlIGRpcmVjdG9yaWVzCiAjIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCithZGRfc3ViZGlyZWN0b3J5KGJtYWxsb2MpCisKIGFkZF9zdWJkaXJlY3RvcnkoV1RGKQog
CiBhZGRfc3ViZGlyZWN0b3J5KEphdmFTY3JpcHRDb3JlKQpAQCAtMjYsNiArMjgsNyBAQCBXRUJL
SVRfSU5DTFVERV9DT05GSUdfRklMRVNfSUZfRVhJU1RTKCkKICMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KICMgU2V0IGNvbXBpbGVyIGZsYWdzIGZvciBhbGwgdGFyZ2V0cwogIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorV0VCS0lUX1NFVF9FWFRSQV9DT01QSUxFUl9GTEFHUyhibWFsbG9jICR7QURESVRJ
T05BTF9DT01QSUxFUl9GTEFHU30pCiBXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKFdU
RiAke0FERElUSU9OQUxfQ09NUElMRVJfRkxBR1N9KQogV0VCS0lUX1NFVF9FWFRSQV9DT01QSUxF
Ul9GTEFHUyhKYXZhU2NyaXB0Q29yZSAke0FERElUSU9OQUxfQ09NUElMRVJfRkxBR1N9KQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XVEYvd3Rm
L0NNYWtlTGlzdHMudHh0CmluZGV4IGI5ZTY2OTE2ZGYwYTJiNWFlM2U4ZDk4MTVkZTNjMGE5Zjg3
MTQyZGUuLjFkYzM4NTM4NTE3MmEyYTYzODUxY2Q5Zjg1NmViMzFhZjY5OTEwYzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XVEYvd3RmL0NN
YWtlTGlzdHMudHh0CkBAIC0xMDAsNyArMTAwLDYgQEAgc2V0KFdURl9IRUFERVJTCiAgICAgVENQ
YWNrZWRDYWNoZS5oCiAgICAgVENQYWdlTWFwLmgKICAgICBUQ1NwaW5Mb2NrLmgKLSAgICBUQ1N5
c3RlbUFsbG9jLmgKICAgICBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKICAgICBUaHJl
YWRTYWZlUmVmQ291bnRlZC5oCiAgICAgVGhyZWFkU3BlY2lmaWMuaApAQCAtMTgzLDcgKzE4Miw2
IEBAIHNldChXVEZfU09VUkNFUwogICAgIFN0YWNrU3RhdHMuY3BwCiAgICAgU3RhY2tCb3VuZHMu
Y3BwCiAgICAgU3RyaW5nUHJpbnRTdHJlYW0uY3BwCi0gICAgVENTeXN0ZW1BbGxvYy5jcHAKICAg
ICBUaHJlYWRpbmcuY3BwCiAgICAgV1RGVGhyZWFkRGF0YS5jcHAKICAgICBkdG9hLmNwcApAQCAt
MjEzLDYgKzIxMSw3IEBAIHNldChXVEZfU09VUkNFUwogKQogCiBzZXQoV1RGX0lOQ0xVREVfRElS
RUNUT1JJRVMKKyAgICAiJHtCTUFMTE9DX0RJUn0iCiAgICAgIiR7V1RGX0RJUn0iCiAgICAgIiR7
V1RGX0RJUn0vd3RmIgogICAgICIke1dURl9ESVJ9L3d0Zi9kdG9hIgpAQCAtMjI2LDYgKzIyNSw3
IEBAIHNldChXVEZfSU5DTFVERV9ESVJFQ1RPUklFUwogCiBzZXQoV1RGX0xJQlJBUklFUwogICAg
ICR7Q01BS0VfRExfTElCU30KKyAgICBibWFsbG9jCiApCiAKIGxpc3QoQVBQRU5EIFdURl9TT1VS
Q0VTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GYXN0TWFsbG9jLmNwcCBiL1NvdXJjZS9X
VEYvd3RmL0Zhc3RNYWxsb2MuY3BwCmluZGV4IGQ3NzU3YjJiMjA1MDAyMzMyNzFjNDBiNTQyMjJl
NGIwOWFhNDk4NzguLjcwYTM2ODI3YzA5ZmNjZGI2NGM5MzYxYjUwMzJmNTEyZWFlMDYzYzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuY3BwCisrKyBiL1NvdXJjZS9XVEYv
d3RmL0Zhc3RNYWxsb2MuY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAKICNlbmRpZgogI2VuZGlmCiAK
LSNpZiBQTEFURk9STShDT0NPQSkKKyNpZiBQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oRUZM
KSB8fCBQTEFURk9STShHVEspCiAjZGVmaW5lIFVTRV9CTUFMTE9DIDEKICNlbmRpZgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9ibWFsbG9jL0NN
YWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5YTFhNzZmYzRmOGJlNDk3NzA2YjBmODQzMjRlYmU3
N2UyY2RhNjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvYm1hbGxvYy9DTWFrZUxpc3RzLnR4
dApAQCAtMCwwICsxLDIyIEBACitzZXQoYm1hbGxvY19JTkNMVURFX0RJUkVDVE9SSUVTCisgICAg
IiR7Qk1BTExPQ19ESVJ9IgorKQorCitzZXQoYm1hbGxvY19TT1VSQ0VTCisgICAgYm1hbGxvYy9B
bGxvY2F0b3IuY3BwCisgICAgYm1hbGxvYy9DYWNoZS5jcHAKKyAgICBibWFsbG9jL0RlYWxsb2Nh
dG9yLmNwcAorICAgIGJtYWxsb2MvRW52aXJvbm1lbnQuY3BwCisgICAgYm1hbGxvYy9IZWFwLmNw
cAorICAgIGJtYWxsb2MvT2JqZWN0VHlwZS5jcHAKKyAgICBibWFsbG9jL1NlZ3JlZ2F0ZWRGcmVl
TGlzdC5jcHAKKyAgICBibWFsbG9jL1N0YXRpY011dGV4LmNwcAorICAgIGJtYWxsb2MvVk1IZWFw
LmNwcAorICAgIGJtYWxsb2MvbWJtYWxsb2MuY3BwCispCisKK1dFQktJVF9XUkFQX1NPVVJDRUxJ
U1QoJHtibWFsbG9jX1NPVVJDRVN9KQoraW5jbHVkZV9kaXJlY3Rvcmllcygke2JtYWxsb2NfSU5D
TFVERV9ESVJFQ1RPUklFU30pCithZGRfbGlicmFyeShibWFsbG9jICR7Ym1hbGxvY19TT1VSQ0VT
fSkKK3RhcmdldF9saW5rX2xpYnJhcmllcyhibWFsbG9jICR7Ym1hbGxvY19MSUJSQVJJRVN9KQor
c2V0X3RhcmdldF9wcm9wZXJ0aWVzKGJtYWxsb2MgUFJPUEVSVElFUyBDT01QSUxFX0RFRklOSVRJ
T05TICJCVUlMRElOR19ibWFsbG9jIikKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvQWxsb2NhdG9yLmNwcCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQWxsb2NhdG9yLmNwcApp
bmRleCBlZDU3M2RjOWMyNjdiOWMxYzkzMDEwNDFjM2JkNjhkMzI4MGE2MGJjLi5lYmYwY2Y2MjEz
YWViZmRhOTBhYTZiMDU1M2VjMWRiMGJmMzEyZDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxv
Yy9ibWFsbG9jL0FsbG9jYXRvci5jcHAKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxv
Y2F0b3IuY3BwCkBAIC01Niw3ICs1Niw4IEBAIHZvaWQqIEFsbG9jYXRvcjo6YWxsb2NhdGUoc2l6
ZV90IGFsaWdubWVudCwgc2l6ZV90IHNpemUpCiAKICAgICBpZiAoIW1faXNCbWFsbG9jRW5hYmxl
ZCkgewogICAgICAgICB2b2lkKiByZXN1bHQgPSBudWxscHRyOwotICAgICAgICBwb3NpeF9tZW1h
bGlnbigmcmVzdWx0LCBhbGlnbm1lbnQsIHNpemUpOworICAgICAgICBpZiAocG9zaXhfbWVtYWxp
Z24oJnJlc3VsdCwgYWxpZ25tZW50LCBzaXplKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9ibWFsbG9jL2JtYWxsb2MvQXN5bmNUYXNrLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0Fz
eW5jVGFzay5oCmluZGV4IDUwNGRhODEzNWQ4NjcxNGY5N2UwNDNmMjUzNzUwNzI4MWE4YTBiYTEu
Ljk1MzkyMWQxYjdhYzU3ODEzZDhkMzJiZmNmNmEwNjFhNTQ0MzZlN2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9ibWFsbG9jL2JtYWxsb2MvQXN5bmNUYXNrLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9Bc3luY1Rhc2suaApAQCAtNjQsNyArNjQsNyBAQCBwcml2YXRlOgogICAgIEZ1bmN0aW9u
IG1fZnVuY3Rpb247CiB9OwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBPYmplY3QsIHR5cGVuYW1lIEZ1
bmN0aW9uPiBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBBc3luY1Rhc2s8T2JqZWN0LCBGdW5j
dGlvbj46OmV4aXREZWxheTsKK3RlbXBsYXRlPHR5cGVuYW1lIE9iamVjdCwgdHlwZW5hbWUgRnVu
Y3Rpb24+IGNvbnN0IGNvbnN0ZXhwciBzdGQ6OmNocm9ubzo6c2Vjb25kcyBBc3luY1Rhc2s8T2Jq
ZWN0LCBGdW5jdGlvbj46OmV4aXREZWxheTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgT2JqZWN0LCB0
eXBlbmFtZSBGdW5jdGlvbj4KIEFzeW5jVGFzazxPYmplY3QsIEZ1bmN0aW9uPjo6QXN5bmNUYXNr
KE9iamVjdCYgb2JqZWN0LCBjb25zdCBGdW5jdGlvbiYgZnVuY3Rpb24pCmRpZmYgLS1naXQgYS9T
b3VyY2UvYm1hbGxvYy9ibWFsbG9jL0JvdW5kYXJ5VGFnLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFs
bG9jL0JvdW5kYXJ5VGFnLmgKaW5kZXggNzYxZmQzZjE4MWIyMGI3MDcxODU4NDdkNDBmMTlkYWNm
NTBjNDU3Mi4uYjJlZGNlMmQ5MmNiZjQyYTA1MTgxNjE0ZWI5OTFmOWUyNDRjOGRhYSAxMDA2NDQK
LS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9Cb3VuZGFyeVRhZy5oCisrKyBiL1NvdXJjZS9i
bWFsbG9jL2JtYWxsb2MvQm91bmRhcnlUYWcuaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUg
IkJBc3NlcnQuaCIKICNpbmNsdWRlICJSYW5nZS5oIgogI2luY2x1ZGUgIlNpemVzLmgiCisjaW5j
bHVkZSA8Y3N0cmluZz4KIAogbmFtZXNwYWNlIGJtYWxsb2MgewogCkBAIC01NCw3ICs1NSw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldEhhc1BoeXNpY2FsUGFnZXMoYm9vbCBoYXNQaHlzaWNhbFBh
Z2VzKSB7IG1faGFzUGh5c2ljYWxQYWdlcyA9IGhhc1BoeXNpY2FsUGFnZXM7IH0KIAogICAgIGJv
b2wgaXNOdWxsKCkgeyByZXR1cm4gIW1fc2l6ZTsgfQotICAgIHZvaWQgY2xlYXIoKSB7IG1lbXNl
dCh0aGlzLCAwLCBzaXplb2YoKnRoaXMpKTsgfQorICAgIHZvaWQgY2xlYXIoKSB7IHN0ZDo6bWVt
c2V0KHRoaXMsIDAsIHNpemVvZigqdGhpcykpOyB9CiAgICAgCiAgICAgc2l6ZV90IHNpemUoKSB7
IHJldHVybiBtX3NpemU7IH0KICAgICB1bnNpZ25lZCBjb21wYWN0QmVnaW4oKSB7IHJldHVybiBt
X2NvbXBhY3RCZWdpbjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9DaHVu
ay5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9DaHVuay5oCmluZGV4IDBjNGQxZDJkZDhhYzA4
ZWIwODFmOGQ1ZTZhMDk1NDg2NzY3ZjVjMDAuLjdmYWRiMzJjOTFlZmU0ZGZkYzE5ODMwNzdhZDgy
M2QzMzFkZGU3NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQ2h1bmsuaAor
KysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0NodW5rLmgKQEAgLTM1LDggKzM1LDkgQEAgbmFt
ZXNwYWNlIGJtYWxsb2MgewogdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPgogY2xhc3MgQ2h1bmsgewog
cHVibGljOgotICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpQYWdlIFBhZ2U7Ci0gICAgdHlw
ZWRlZiB0eXBlbmFtZSBUcmFpdHM6OkxpbmUgTGluZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFRy
YWl0czo6UGFnZVR5cGUgUGFnZTsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6TGluZVR5
cGUgTGluZTsKKwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbGluZVNpemUgPSBUcmFpdHM6Omxp
bmVTaXplOwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgY2h1bmtTaXplID0gVHJhaXRzOjpjaHVu
a1NpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBjaHVua09mZnNldCA9IFRyYWl0czo6Y2h1
bmtPZmZzZXQ7CkBAIC02Miw3ICs2MywxMiBAQCBwcml2YXRlOgogCiAgICAgLy8gQWxpZ24gdG8g
dm1QYWdlU2l6ZSB0byBhdm9pZCBzaGFyaW5nIHBoeXNpY2FsIHBhZ2VzIHdpdGggbWV0YWRhdGEu
CiAgICAgLy8gT3RoZXJ3aXNlLCB3ZSdsbCBjb25mdXNlIHRoZSBzY2F2ZW5nZXIgaW50byB0cnlp
bmcgdG8gc2NhdmVuZ2UgbWV0YWRhdGEuCisjaWYgZGVmaW5lZChfX0dOVUNfXykKKyNwcmFnbWEg
R0NDIGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2F0
dHJpYnV0ZXMiCiAgICAgYWxpZ25hcyh2bVBhZ2VTaXplKSBjaGFyIG1fbWVtb3J5W107CisjcHJh
Z21hIEdDQyBkaWFnbm9zdGljIHBvcAorI2VuZGlmCiB9OwogCiB0ZW1wbGF0ZTxjbGFzcyBUcmFp
dHM+CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0VuZFRhZy5oIGIvU291cmNl
L2JtYWxsb2MvYm1hbGxvYy9FbmRUYWcuaAppbmRleCA5ZWFlOTk3OWU3MDhkYTUyZjBjNGE1NDUx
ZDllOGRlMzk2NzNhMGIxLi5mOTQxNTNhOTE3ZDg3ZmUyNjBiODY3NjE0OGJmNDEzMDhhMmJkOWZi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0VuZFRhZy5oCisrKyBiL1NvdXJj
ZS9ibWFsbG9jL2JtYWxsb2MvRW5kVGFnLmgKQEAgLTM3LDcgKzM3LDcgQEAgcHVibGljOgogCiBp
bmxpbmUgRW5kVGFnJiBFbmRUYWc6Om9wZXJhdG9yPShjb25zdCBCZWdpblRhZyYgb3RoZXIpCiB7
Ci0gICAgbWVtY3B5KHRoaXMsICZvdGhlciwgc2l6ZW9mKEJvdW5kYXJ5VGFnKSk7CisgICAgc3Rk
OjptZW1jcHkodGhpcywgJm90aGVyLCBzaXplb2YoQm91bmRhcnlUYWcpKTsKICAgICBzZXRFbmQo
dHJ1ZSk7CiAgICAgcmV0dXJuICp0aGlzOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9MYXJnZUNodW5rLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0xhcmdlQ2h1bmsu
aAppbmRleCBhYTU1MjgxYjAwNzU1Y2FhOGFiMmMzZjEyZGUwMzdlNjk0ZjI1YjMwLi41Mjc1ODRi
NDRlOTRkNDUxNDBlMjdmYzA3ZTBmOTAxMGRjN2VhNzcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1h
bGxvYy9ibWFsbG9jL0xhcmdlQ2h1bmsuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0xh
cmdlQ2h1bmsuaApAQCAtNjcsNyArNjcsMTIgQEAgcHJpdmF0ZToKIAogICAgIC8vIEFsaWduIHRv
IHZtUGFnZVNpemUgdG8gYXZvaWQgc2hhcmluZyBwaHlzaWNhbCBwYWdlcyB3aXRoIG1ldGFkYXRh
LgogICAgIC8vIE90aGVyd2lzZSwgd2UnbGwgY29uZnVzZSB0aGUgc2NhdmVuZ2VyIGludG8gdHJ5
aW5nIHRvIHNjYXZlbmdlIG1ldGFkYXRhLgorI2lmIGRlZmluZWQoX19HTlVDX18pCisjcHJhZ21h
IEdDQyBkaWFnbm9zdGljIHB1c2gKKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdh
dHRyaWJ1dGVzIgogICAgIGFsaWduYXModm1QYWdlU2l6ZSkgY2hhciBtX21lbW9yeVtdOworI3By
YWdtYSBHQ0MgZGlhZ25vc3RpYyBwb3AKKyNlbmRpZgogfTsKIAogaW5saW5lIExhcmdlQ2h1bmsq
IExhcmdlQ2h1bms6OmdldCh2b2lkKiBvYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxv
Yy9ibWFsbG9jL0xpbmUuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5oCmluZGV4IDhh
OGQ3MWUxODk5MWNiNjU4ZjBiZGZmNGU4ZmQ4YTdiMWU2OTZiMmUuLjhhZjgzZWY5YWNjZTIxYmFj
YjhlNGM3NjgwNTQ2OWVjZTBjNGU3MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvTGluZS5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5oCkBAIC0zNiw3ICsz
Niw4IEBAIG5hbWVzcGFjZSBibWFsbG9jIHsKIHRlbXBsYXRlPGNsYXNzIFRyYWl0cz4KIGNsYXNz
IExpbmUgewogcHVibGljOgotICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpDaHVuayBDaHVu
azsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6Q2h1bmtUeXBlIENodW5rOworCiAgICAg
c3RhdGljIGNvbnN0IHNpemVfdCBtaW5pbXVtT2JqZWN0U2l6ZSA9IFRyYWl0czo6bWluaW11bU9i
amVjdFNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9IFRyYWl0czo6bGlu
ZVNpemU7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL01lZGl1bVRy
YWl0cy5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9NZWRpdW1UcmFpdHMuaAppbmRleCBiYmNl
MDFhYjMwZWQ3ZjU3YjM0ZjQ0ZTE2NWI4MjA0M2RkYjQ3YjEyLi41OWQ3OGY1MDE3NWViMjU5NTQx
NTRkODI4MDEwOTIwNDM1YzFjY2I1IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9j
L01lZGl1bVRyYWl0cy5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTWVkaXVtVHJhaXRz
LmgKQEAgLTM2LDkgKzM2LDkgQEAgdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPiBjbGFzcyBMaW5lOwog
dGVtcGxhdGU8Y2xhc3MgVHJhaXRzPiBjbGFzcyBQYWdlOwogCiBzdHJ1Y3QgTWVkaXVtVHJhaXRz
IHsKLSAgICB0eXBlZGVmIENodW5rPE1lZGl1bVRyYWl0cz4gQ2h1bms7Ci0gICAgdHlwZWRlZiBM
aW5lPE1lZGl1bVRyYWl0cz4gTGluZTsKLSAgICB0eXBlZGVmIFBhZ2U8TWVkaXVtVHJhaXRzPiBQ
YWdlOworICAgIHR5cGVkZWYgQ2h1bms8TWVkaXVtVHJhaXRzPiBDaHVua1R5cGU7CisgICAgdHlw
ZWRlZiBMaW5lPE1lZGl1bVRyYWl0cz4gTGluZVR5cGU7CisgICAgdHlwZWRlZiBQYWdlPE1lZGl1
bVRyYWl0cz4gUGFnZVR5cGU7CiAKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGxpbmVTaXplID0g
bWVkaXVtTGluZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBtaW5pbXVtT2JqZWN0U2l6
ZSA9IHNtYWxsTWF4ICsgYWxpZ25tZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9QYWdlLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BhZ2UuaAppbmRleCAzODE0MGE1
NjRhZDNiOTQ1NDUyNGRjZjkzYzVmZWU2ZDdjYzNiODNmLi5mZGZhMTU4ZDYxMjNlNDhhNGUzZTA5
MTkwNTc4Mzg4ODQ2OWExNTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1Bh
Z2UuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BhZ2UuaApAQCAtMzYsOCArMzYsOSBA
QCBuYW1lc3BhY2UgYm1hbGxvYyB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUcmFpdHM+CiBjbGFzcyBQ
YWdlIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6Q2h1bmsgQ2h1bms7
Ci0gICAgdHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6OkxpbmUgTGluZTsKKyAgICB0eXBlZGVmIHR5
cGVuYW1lIFRyYWl0czo6Q2h1bmtUeXBlIENodW5rOworICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJh
aXRzOjpMaW5lVHlwZSBMaW5lOworCiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9
IFRyYWl0czo6bGluZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lQ291bnQgPSB2
bVBhZ2VTaXplIC8gbGluZVNpemU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvUGVyVGhyZWFkLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BlclRocmVhZC5oCmluZGV4
IDAyZjA3ZTE2NTJhN2E2YTM0N2ZhODA2YzI1NmYzYTg1MTVlMGI4ZWEuLjMwYTZiYjI4NjNjNGRm
YTMwZmY4ZTdmOTcyMDdlYjBjYjE3ZWJjMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2Jt
YWxsb2MvUGVyVGhyZWFkLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QZXJUaHJlYWQu
aApAQCAtMzAsOCArMzAsMTYgQEAKICNpbmNsdWRlICJJbmxpbmUuaCIKICNpbmNsdWRlIDxtdXRl
eD4KICNpbmNsdWRlIDxwdGhyZWFkLmg+Ci0jaWYgZGVmaW5lZChfX2hhc19pbmNsdWRlKSAmJiBf
X2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KQorCisjaWYgZGVmaW5lZChf
X2hhc19pbmNsdWRlKQorI2lmIF9faGFzX2luY2x1ZGUoPFN5c3RlbS9wdGhyZWFkX21hY2hkZXAu
aD4pCiAjaW5jbHVkZSA8U3lzdGVtL3B0aHJlYWRfbWFjaGRlcC5oPgorI2RlZmluZSBIQVZFX1BU
SFJFQURfTUFDSERFUF9IIDEKKyNlbHNlCisjZGVmaW5lIEhBVkVfUFRIUkVBRF9NQUNIREVQX0gg
MAorI2VuZGlmCisjZWxzZQorI2RlZmluZSBIQVZFX1BUSFJFQURfTUFDSERFUF9IIDAKICNlbmRp
ZgogCiBuYW1lc3BhY2UgYm1hbGxvYyB7CkBAIC01MCw3ICs1OCw3IEBAIHByaXZhdGU6CiAgICAg
c3RhdGljIHZvaWQgZGVzdHJ1Y3Rvcih2b2lkKik7CiB9OwogCi0jaWYgZGVmaW5lZChfX2hhc19p
bmNsdWRlKSAmJiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KQorI2lm
IEhBVkVfUFRIUkVBRF9NQUNIREVQX0gKIAogY2xhc3MgQ2FjaGU7CiB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBzdHJ1Y3QgUGVyVGhyZWFkU3RvcmFnZTsKQEAgLTEwMCw3ICsxMDgsNyBAQCB0ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBib29sIFBlclRocmVhZFN0b3JhZ2U8VD46OnNfZGlkSW5pdGlhbGl6ZTsK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHB0aHJlYWRfa2V5X3QgUGVyVGhyZWFkU3RvcmFnZTxUPjo6
c19rZXk7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdGQ6Om9uY2VfZmxhZyBQZXJUaHJlYWRTdG9y
YWdlPFQ+OjpzX29uY2VGbGFnOwogCi0jZW5kaWYgLy8gZGVmaW5lZChfX2hhc19pbmNsdWRlKSAm
JiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KQorI2VuZGlmCiAKIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+CiBJTkxJTkUgVCogUGVyVGhyZWFkPFQ+OjpnZXRGYXN0Q2FzZSgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1NtYWxsVHJhaXRzLmggYi9Tb3Vy
Y2UvYm1hbGxvYy9ibWFsbG9jL1NtYWxsVHJhaXRzLmgKaW5kZXggZTQwYzE2NmVkZDA3YmNhZmUx
NzU2ZjE1ZjZhYzExNWNlYTlhMTMyMi4uODA2YjdlOGM2NjVkYTU0NDQwM2RlZmY4MWQzOGRiOWI5
MGJkYTY2NyAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TbWFsbFRyYWl0cy5o
CisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU21hbGxUcmFpdHMuaApAQCAtMzUsOSArMzUs
OSBAQCB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+IGNsYXNzIExpbmU7CiB0ZW1wbGF0ZTxjbGFzcyBU
cmFpdHM+IGNsYXNzIFBhZ2U7CiAKIHN0cnVjdCBTbWFsbFRyYWl0cyB7Ci0gICAgdHlwZWRlZiBD
aHVuazxTbWFsbFRyYWl0cz4gQ2h1bms7Ci0gICAgdHlwZWRlZiBMaW5lPFNtYWxsVHJhaXRzPiBM
aW5lOwotICAgIHR5cGVkZWYgUGFnZTxTbWFsbFRyYWl0cz4gUGFnZTsKKyAgICB0eXBlZGVmIENo
dW5rPFNtYWxsVHJhaXRzPiBDaHVua1R5cGU7CisgICAgdHlwZWRlZiBMaW5lPFNtYWxsVHJhaXRz
PiBMaW5lVHlwZTsKKyAgICB0eXBlZGVmIFBhZ2U8U21hbGxUcmFpdHM+IFBhZ2VUeXBlOwogCiAg
ICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9IHNtYWxsTGluZVNpemU7CiAgICAgc3Rh
dGljIGNvbnN0IHNpemVfdCBtaW5pbXVtT2JqZWN0U2l6ZSA9IGFsaWdubWVudDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0ZS5oIGIvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9WTUFsbG9jYXRlLmgKaW5kZXggOTQwNjM1OGFlNTFmNTliMDhmZDY3NTlkNTJjZTlh
ODIyNWEzNDY0ZS4uOGYzZWE1ZmJkZDVhZTUzNDIwZDU4NjNiMmY5NzYyYzhmZGViYzA3ZCAxMDA2
NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WTUFsbG9jYXRlLmgKKysrIGIvU291cmNl
L2JtYWxsb2MvYm1hbGxvYy9WTUFsbG9jYXRlLmgKQEAgLTMxLDEzICszMSwyMCBAQAogI2luY2x1
ZGUgIlNpemVzLmgiCiAjaW5jbHVkZSAiU3lzY2FsbC5oIgogI2luY2x1ZGUgPGFsZ29yaXRobT4K
LSNpbmNsdWRlIDxtYWNoL3ZtX3N0YXRpc3RpY3MuaD4KICNpbmNsdWRlIDxzeXMvbW1hbi5oPgog
I2luY2x1ZGUgPHVuaXN0ZC5oPgogCisjaWYgQk9TKERBUldJTikKKyNpbmNsdWRlIDxtYWNoL3Zt
X3N0YXRpc3RpY3MuaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgYm1hbGxvYyB7CiAKKyNpZiBCT1Mo
REFSV0lOKQogI2RlZmluZSBCTUFMTE9DX1ZNX1RBRyBWTV9NQUtFX1RBRyhWTV9NRU1PUllfVENN
QUxMT0MpCisjZWxzZQorI2RlZmluZSBCTUFMTE9DX1ZNX1RBRyAtMQorI2VuZGlmCiAKIGlubGlu
ZSBzaXplX3Qgdm1TaXplKHNpemVfdCBzaXplKQogewpAQCAtMTA3LDEzICsxMTQsMjEgQEAgaW5s
aW5lIHZvaWQqIHZtQWxsb2NhdGUoc2l6ZV90IHZtQWxpZ25tZW50LCBzaXplX3Qgdm1TaXplKQog
aW5saW5lIHZvaWQgdm1EZWFsbG9jYXRlUGh5c2ljYWxQYWdlcyh2b2lkKiBwLCBzaXplX3Qgdm1T
aXplKQogewogICAgIHZtVmFsaWRhdGUocCwgdm1TaXplKTsKKyNpZiBCT1MoREFSV0lOKQogICAg
IFNZU0NBTEwobWFkdmlzZShwLCB2bVNpemUsIE1BRFZfRlJFRV9SRVVTQUJMRSkpOworI2Vsc2UK
KyAgICBTWVNDQUxMKG1hZHZpc2UocCwgdm1TaXplLCBNQURWX0RPTlRORUVEKSk7CisjZW5kaWYK
IH0KIAogaW5saW5lIHZvaWQgdm1BbGxvY2F0ZVBoeXNpY2FsUGFnZXModm9pZCogcCwgc2l6ZV90
IHZtU2l6ZSkKIHsKICAgICB2bVZhbGlkYXRlKHAsIHZtU2l6ZSk7CisjaWYgQk9TKERBUldJTikK
ICAgICBTWVNDQUxMKG1hZHZpc2UocCwgdm1TaXplLCBNQURWX0ZSRUVfUkVVU0UpKTsKKyNlbHNl
CisgICAgU1lTQ0FMTChtYWR2aXNlKHAsIHZtU2l6ZSwgTUFEVl9OT1JNQUwpKTsKKyNlbmRpZgog
fQogCiAvLyBUcmltcyByZXF1ZXN0cyB0aGF0IGFyZSB1bi1wYWdlLWFsaWduZWQuIE5PVEU6IHNp
emUgbXVzdCBiZSBhdCBsZWFzdCBhIHBhZ2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL1ZlY3Rvci5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WZWN0b3IuaAppbmRleCA1
YTA2ODhlMmRkZWU5MDQwYmI4NTQwZjAzMTYyODBjN2NlM2E2ZGZmLi41YjQxMTJiZTYzY2M5N2Zl
MTQ2MTRhODA4NjZhNjg5NjczMmQ3OTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFs
bG9jL1ZlY3Rvci5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVmVjdG9yLmgKQEAgLTI5
LDcgKzI5LDcgQEAKICNpbmNsdWRlICJJbmxpbmUuaCIKICNpbmNsdWRlICJWTUFsbG9jYXRlLmgi
CiAjaW5jbHVkZSA8Y3N0ZGRlZj4KLSNpbmNsdWRlIDxzdHJpbmc+CisjaW5jbHVkZSA8Y3N0cmlu
Zz4KIAogbmFtZXNwYWNlIGJtYWxsb2MgewogCkBAIC0xMTIsNyArMTEyLDcgQEAgdm9pZCBWZWN0
b3I8VD46OnB1c2goY29uc3QgVCogYmVnaW4sIGNvbnN0IFQqIGVuZCkKICAgICBzaXplX3QgbmV3
U2l6ZSA9IG1fc2l6ZSArIChlbmQgLSBiZWdpbik7CiAgICAgaWYgKG5ld1NpemUgPiBtX2NhcGFj
aXR5KQogICAgICAgICBncm93Q2FwYWNpdHkobmV3U2l6ZSk7Ci0gICAgbWVtY3B5KHRoaXMtPmVu
ZCgpLCBiZWdpbiwgKGVuZCAtIGJlZ2luKSAqIHNpemVvZihUKSk7CisgICAgc3RkOjptZW1jcHko
dGhpcy0+ZW5kKCksIGJlZ2luLCAoZW5kIC0gYmVnaW4pICogc2l6ZW9mKFQpKTsKICAgICBtX3Np
emUgPSBuZXdTaXplOwogfQogCkBAIC0xNDgsNyArMTQ4LDcgQEAgdm9pZCBWZWN0b3I8VD46OnJl
YWxsb2NhdGVCdWZmZXIoc2l6ZV90IG5ld0NhcGFjaXR5KQogICAgIHNpemVfdCB2bVNpemUgPSBi
bWFsbG9jOjp2bVNpemUobmV3Q2FwYWNpdHkgKiBzaXplb2YoVCkpOwogICAgIFQqIG5ld0J1ZmZl
ciA9IHN0YXRpY19jYXN0PFQqPih2bUFsbG9jYXRlKHZtU2l6ZSkpOwogICAgIGlmIChtX2J1ZmZl
cikgewotICAgICAgICBtZW1jcHkobmV3QnVmZmVyLCBtX2J1ZmZlciwgbV9zaXplICogc2l6ZW9m
KFQpKTsKKyAgICAgICAgc3RkOjptZW1jcHkobmV3QnVmZmVyLCBtX2J1ZmZlciwgbV9zaXplICog
c2l6ZW9mKFQpKTsKICAgICAgICAgdm1EZWFsbG9jYXRlKG1fYnVmZmVyLCBibWFsbG9jOjp2bVNp
emUobV9jYXBhY2l0eSAqIHNpemVvZihUKSkpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvQ01ha2VM
aXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAppbmRleCAwOGU1NDQ0NmRjYWRhM2U0ODNhNDZkMmQ1
YjI0NTk5YjE2NjY1N2JlLi4wYTk2MmUzOWYxYjI3MTUyNzk1NjcyZTNiNTQyNmE2YzdiZmNmNjAw
IDEwMDY0NAotLS0gYS9DTWFrZUxpc3RzLnR4dAorKysgYi9DTWFrZUxpc3RzLnR4dApAQCAtNCw2
ICs0LDcgQEAgcHJvamVjdChXZWJLaXQpCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIERlZmF1
bHQgbGlicmFyeSB0eXBlCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitzZXQoQk1BTExPQ19ESVIg
IiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL2JtYWxsb2MiKQogc2V0KFdURl9ESVIgIiR7Q01B
S0VfU09VUkNFX0RJUn0vU291cmNlL1dURiIpCiBzZXQoSkFWQVNDUklQVENPUkVfRElSICIke0NN
QUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9KYXZhU2NyaXB0Q29yZSIpCiBzZXQoV0VCQ09SRV9ESVIg
IiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkNvcmUiKQpkaWZmIC0tZ2l0IGEvQ2hhbmdl
TG9nIGIvQ2hhbmdlTG9nCmluZGV4IGJhZmE4Njc5YjBjYjdlNWE1NDNiNjMzOWQxZGM5YmZkMjIz
YTM0NzQuLjk1MzdjZGJlOTkzNTc4MDBmNWFiYTE4MjY3M2U5M2Y0M2FiYjZkYTggMTAwNjQ0Ci0t
LSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNS0wMi0w
MiAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtF
RkxdW0dUS10gVXNlIGJtYWxsb2MgaW5zdGVhZCBvZiB0Y21hbGxvYworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMTYyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGJtYWxsb2MgZGlyZWN0b3J5IHRv
IGJ1aWxkIGxpc3QuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogRGVmaW5lIEJNQUxMT0Nf
RElSIGRpcmVjdG9yeS4KKyAgICAgICAgKiBTb3VyY2UvQ01ha2VMaXN0cy50eHQ6IEFkZCBibWFs
bG9jIHBhdGggdG8gc3ViLWRpcmVjdG9yaWVzIGxpc3QuCisKIDIwMTUtMDEtMjggIENhcmxvcyBB
bGJlcnRvIExvcGV6IFBlcmV6ICA8Y2xvcGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NNYWtl
XSBNaW5pbXVtIHB5dGhvbiB2ZXJzaW9uIHNob3VsZCBiZSAyLjcuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245989</attachid>
            <date>2015-02-03 17:06:59 -0800</date>
            <delta_ts>2015-02-09 04:12:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140162-20150204100657.patch</filename>
            <type>text/plain</type>
            <size>17366</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc5NTgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDQ1ZjZlYWZiMWJlMjgwODY1ZGI5NDJk
NTI5MjBhZDA0MjhjMzM5ZTYuLmFjNDkyYmMxZDhjZWQwNGM0OTU3NzczNjUyNTJiMmFlOTM1NzUx
ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMDItMDMgIEd5dXlvdW5nIEtpbSAgPGd5dXlv
dW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGlu
c3RlYWQgb2YgdGNtYWxsb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MDE2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OiBFeGNsdWRlIFRDU3lzdGVtQWxsb2MuaC9j
cHAgZnJvbSBFRkwgYW5kIEdUSy4KKyAgICAgICAgKiB3dGYvRmFzdE1hbGxvYy5jcHA6IEVuYWJs
ZSBibWFsbG9jIG9uIEVGTCBhbmQgR1RLIHBvcnRzIGFzIHdlbGwuCisKIDIwMTUtMDItMDIgIERo
aSBBdXJyYWhtYW4gIDxkaW9yYWhtYW5Acm9ja3liYXJzLmNvbT4KIAogICAgICAgICBPcHRpbWl6
ZSBtYXRjaGVzTGFuZ1BzZXVkb0NsYXNzKCkgb2YgOmxhbmcoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L2JtYWxsb2MvQ2hhbmdlTG9nIGIvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCmluZGV4IDdiZDdj
MDVlM2Q4ODcxZGYxMDIwYjUyMzJkYzVkMGZjY2Q3ODM4ODQuLmE1MmJkMWVmYmI5ZDViOWRkOTJh
NWI2ODhlNDAwYzk4YjI5OWVjN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOCBAQAorMjAxNS0w
Mi0wMyAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAg
IFtFRkxdW0dUS10gVXNlIGJtYWxsb2MgaW5zdGVhZCBvZiB0Y21hbGxvYworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMTYyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3VwcG9ydCB0byB1c2UgYm1hbGxv
YyBvbiBFRkwgYW5kIEdUSyBwb3J0cy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBibWFsbG9jL0FsbG9jYXRvci5jcHA6CisgICAgICAgIChibWFsbG9jOjpB
bGxvY2F0b3I6OmFsbG9jYXRlKToKKyAgICAgICAgICAgIEZpeCB1bnVzZWQgcmV0dXJuIHZhbHVl
IGNhdXNlZCBieSBwb3NpeF9tZW1hbGlnbigpLgorICAgICAgICAqIGJtYWxsb2MvQXN5bmNUYXNr
Lmg6CisgICAgICAgICogYm1hbGxvYy9Cb3VuZGFyeVRhZy5oOgorICAgICAgICAoYm1hbGxvYzo6
Qm91bmRhcnlUYWc6OmNsZWFyKToKKyAgICAgICAgKiBibWFsbG9jL0NodW5rLmg6CisgICAgICAg
ICAgICBDaGFuZ2UgVHJhaXRzOjpQYWdlIHdpdGggVHJhaXRzOjpQYWdlVHlwZSBpbiBvcmRlciB0
byBmaXgKKyAgICAgICAgICAgIC1mcGVybWl0aXZlIGJ1aWxkIGVycm9yIG9uIEVGTCBhbmQgR1RL
IHBvcnQuIAorICAgICAgICAqIGJtYWxsb2MvRW5kVGFnLmg6CisgICAgICAgIChibWFsbG9jOjpF
bmRUYWc6Om9wZXJhdG9yPSk6CisgICAgICAgICogYm1hbGxvYy9MaW5lLmg6IGRpdHRvLgorICAg
ICAgICAqIGJtYWxsb2MvTWVkaXVtVHJhaXRzLmg6CisgICAgICAgICogYm1hbGxvYy9QYWdlLmg6
IGRpdHRvLgorICAgICAgICAqIGJtYWxsb2MvUGVyVGhyZWFkLmg6CisgICAgICAgICAgICBFRkwg
cG9ydCBkb2Vzbid0IHN1cHBvcnQgX19oYXNfaW5jbHVkZSBkZWZpbml0aW9uIHlldC4KKyAgICAg
ICAgICAgIERlZmluZSBIQVZFX1BUSFJFQURfTUFDSERFUF9IIGFjY29yZGluZyB0byBjaGVjayBp
ZiBfX2hhc19pbmNsdWRlIGlzIHN1cHBvcnRlZC4KKyAgICAgICAgKiBibWFsbG9jL1NtYWxsVHJh
aXRzLmg6IGRpdHRvLgorICAgICAgICAqIGJtYWxsb2MvVk1BbGxvY2F0ZS5oOgorICAgICAgICAo
Ym1hbGxvYzo6dm1EZWFsbG9jYXRlUGh5c2ljYWxQYWdlcyk6CisgICAgICAgIChibWFsbG9jOjp2
bUFsbG9jYXRlUGh5c2ljYWxQYWdlcyk6CisgICAgICAgICogYm1hbGxvYy9WZWN0b3IuaDoKKyAg
ICAgICAgKGJtYWxsb2M6OlZlY3RvcjxUPjo6cHVzaCk6CisgICAgICAgIChibWFsbG9jOjpWZWN0
b3I8VD46OnJlYWxsb2NhdGVCdWZmZXIpOgorCiAyMDE1LTAxLTMxICBTYW0gV2VpbmlnICA8c2Ft
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIGV2ZW4gbW9yZSBNb3VudGFpbiBMaW9uIHN1
cHBvcnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9DTWFrZUxp
c3RzLnR4dAppbmRleCA1NDg2NzIwZDc2MmIwODdjNjJhYmU4NDdiNDE0ODhmNTcwYmNlZjI4Li5m
YWJjNWQ2YjY4ZjgxNGZhOGUxZDk0YjgyYmE5Yzc2Njc4ZDgzZDk5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL0NNYWtlTGlzdHMudHh0CkBAIC0xLDYgKzEs
OCBAQAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBBZGQgbW9kdWxlIGRpcmVjdG9yaWVzCiAj
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCithZGRfc3ViZGlyZWN0b3J5KGJtYWxsb2MpCisKIGFkZF9z
dWJkaXJlY3RvcnkoV1RGKQogCiBhZGRfc3ViZGlyZWN0b3J5KEphdmFTY3JpcHRDb3JlKQpAQCAt
MjYsNiArMjgsNyBAQCBXRUJLSVRfSU5DTFVERV9DT05GSUdfRklMRVNfSUZfRVhJU1RTKCkKICMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgU2V0IGNvbXBpbGVyIGZsYWdzIGZvciBhbGwgdGFyZ2V0
cwogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorV0VCS0lUX1NFVF9FWFRSQV9DT01QSUxFUl9GTEFH
UyhibWFsbG9jICR7QURESVRJT05BTF9DT01QSUxFUl9GTEFHU30pCiBXRUJLSVRfU0VUX0VYVFJB
X0NPTVBJTEVSX0ZMQUdTKFdURiAke0FERElUSU9OQUxfQ09NUElMRVJfRkxBR1N9KQogV0VCS0lU
X1NFVF9FWFRSQV9DT01QSUxFUl9GTEFHUyhKYXZhU2NyaXB0Q29yZSAke0FERElUSU9OQUxfQ09N
UElMRVJfRkxBR1N9KQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CmluZGV4IGI5ZTY2OTE2ZGYwYTJiNWFl
M2U4ZDk4MTVkZTNjMGE5Zjg3MTQyZGUuLjFkYzM4NTM4NTE3MmEyYTYzODUxY2Q5Zjg1NmViMzFh
ZjY5OTEwYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBi
L1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CkBAIC0xMDAsNyArMTAwLDYgQEAgc2V0KFdU
Rl9IRUFERVJTCiAgICAgVENQYWNrZWRDYWNoZS5oCiAgICAgVENQYWdlTWFwLmgKICAgICBUQ1Nw
aW5Mb2NrLmgKLSAgICBUQ1N5c3RlbUFsbG9jLmgKICAgICBUaHJlYWRJZGVudGlmaWVyRGF0YVB0
aHJlYWRzLmgKICAgICBUaHJlYWRTYWZlUmVmQ291bnRlZC5oCiAgICAgVGhyZWFkU3BlY2lmaWMu
aApAQCAtMTgzLDcgKzE4Miw2IEBAIHNldChXVEZfU09VUkNFUwogICAgIFN0YWNrU3RhdHMuY3Bw
CiAgICAgU3RhY2tCb3VuZHMuY3BwCiAgICAgU3RyaW5nUHJpbnRTdHJlYW0uY3BwCi0gICAgVENT
eXN0ZW1BbGxvYy5jcHAKICAgICBUaHJlYWRpbmcuY3BwCiAgICAgV1RGVGhyZWFkRGF0YS5jcHAK
ICAgICBkdG9hLmNwcApAQCAtMjEzLDYgKzIxMSw3IEBAIHNldChXVEZfU09VUkNFUwogKQogCiBz
ZXQoV1RGX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAiJHtCTUFMTE9DX0RJUn0iCiAgICAgIiR7
V1RGX0RJUn0iCiAgICAgIiR7V1RGX0RJUn0vd3RmIgogICAgICIke1dURl9ESVJ9L3d0Zi9kdG9h
IgpAQCAtMjI2LDYgKzIyNSw3IEBAIHNldChXVEZfSU5DTFVERV9ESVJFQ1RPUklFUwogCiBzZXQo
V1RGX0xJQlJBUklFUwogICAgICR7Q01BS0VfRExfTElCU30KKyAgICBibWFsbG9jCiApCiAKIGxp
c3QoQVBQRU5EIFdURl9TT1VSQ0VTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GYXN0TWFs
bG9jLmNwcCBiL1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuY3BwCmluZGV4IGM1MzIwZDJiYzNk
MTE5MGNlNWFiMDM3MzUxNzM3OWQ2NjZkZjQ2ZTQuLmE3Y2JhYWEyNDEwMjJlYTk2OTMwODhlMGM0
MDE5MTc0NTE0ZWRjMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuY3Bw
CisrKyBiL1NvdXJjZS9XVEYvd3RmL0Zhc3RNYWxsb2MuY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAK
ICNlbmRpZgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkKKyNpZiBQTEFURk9STShDT0NP
QSkgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShHVEspCiAjZGVmaW5lIFVTRV9CTUFMTE9D
IDEKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9DTWFrZUxpc3RzLnR4dCBi
L1NvdXJjZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5YTFhNzZmYzRmOGJl
NDk3NzA2YjBmODQzMjRlYmU3N2UyY2RhNjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvYm1h
bGxvYy9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDIyIEBACitzZXQoYm1hbGxvY19JTkNMVURF
X0RJUkVDVE9SSUVTCisgICAgIiR7Qk1BTExPQ19ESVJ9IgorKQorCitzZXQoYm1hbGxvY19TT1VS
Q0VTCisgICAgYm1hbGxvYy9BbGxvY2F0b3IuY3BwCisgICAgYm1hbGxvYy9DYWNoZS5jcHAKKyAg
ICBibWFsbG9jL0RlYWxsb2NhdG9yLmNwcAorICAgIGJtYWxsb2MvRW52aXJvbm1lbnQuY3BwCisg
ICAgYm1hbGxvYy9IZWFwLmNwcAorICAgIGJtYWxsb2MvT2JqZWN0VHlwZS5jcHAKKyAgICBibWFs
bG9jL1NlZ3JlZ2F0ZWRGcmVlTGlzdC5jcHAKKyAgICBibWFsbG9jL1N0YXRpY011dGV4LmNwcAor
ICAgIGJtYWxsb2MvVk1IZWFwLmNwcAorICAgIGJtYWxsb2MvbWJtYWxsb2MuY3BwCispCisKK1dF
QktJVF9XUkFQX1NPVVJDRUxJU1QoJHtibWFsbG9jX1NPVVJDRVN9KQoraW5jbHVkZV9kaXJlY3Rv
cmllcygke2JtYWxsb2NfSU5DTFVERV9ESVJFQ1RPUklFU30pCithZGRfbGlicmFyeShibWFsbG9j
ICR7Ym1hbGxvY19TT1VSQ0VTfSkKK3RhcmdldF9saW5rX2xpYnJhcmllcyhibWFsbG9jICR7Ym1h
bGxvY19MSUJSQVJJRVN9KQorc2V0X3RhcmdldF9wcm9wZXJ0aWVzKGJtYWxsb2MgUFJPUEVSVElF
UyBDT01QSUxFX0RFRklOSVRJT05TICJCVUlMRElOR19ibWFsbG9jIikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9ibWFsbG9jL2JtYWxsb2MvQWxsb2NhdG9yLmNwcCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvQWxsb2NhdG9yLmNwcAppbmRleCBlZDU3M2RjOWMyNjdiOWMxYzkzMDEwNDFjM2JkNjhkMzI4
MGE2MGJjLi5lYmYwY2Y2MjEzYWViZmRhOTBhYTZiMDU1M2VjMWRiMGJmMzEyZDE4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FsbG9jYXRvci5jcHAKKysrIGIvU291cmNlL2Jt
YWxsb2MvYm1hbGxvYy9BbGxvY2F0b3IuY3BwCkBAIC01Niw3ICs1Niw4IEBAIHZvaWQqIEFsbG9j
YXRvcjo6YWxsb2NhdGUoc2l6ZV90IGFsaWdubWVudCwgc2l6ZV90IHNpemUpCiAKICAgICBpZiAo
IW1faXNCbWFsbG9jRW5hYmxlZCkgewogICAgICAgICB2b2lkKiByZXN1bHQgPSBudWxscHRyOwot
ICAgICAgICBwb3NpeF9tZW1hbGlnbigmcmVzdWx0LCBhbGlnbm1lbnQsIHNpemUpOworICAgICAg
ICBpZiAocG9zaXhfbWVtYWxpZ24oJnJlc3VsdCwgYWxpZ25tZW50LCBzaXplKSkKKyAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXN5bmNUYXNrLmggYi9Tb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL0FzeW5jVGFzay5oCmluZGV4IDUwNGRhODEzNWQ4NjcxNGY5N2UwNDNm
MjUzNzUwNzI4MWE4YTBiYTEuLjk1MzkyMWQxYjdhYzU3ODEzZDhkMzJiZmNmNmEwNjFhNTQ0MzZl
N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXN5bmNUYXNrLmgKKysrIGIv
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9Bc3luY1Rhc2suaApAQCAtNjQsNyArNjQsNyBAQCBwcml2
YXRlOgogICAgIEZ1bmN0aW9uIG1fZnVuY3Rpb247CiB9OwogCi10ZW1wbGF0ZTx0eXBlbmFtZSBP
YmplY3QsIHR5cGVuYW1lIEZ1bmN0aW9uPiBjb25zdCBzdGQ6OmNocm9ubzo6c2Vjb25kcyBBc3lu
Y1Rhc2s8T2JqZWN0LCBGdW5jdGlvbj46OmV4aXREZWxheTsKK3RlbXBsYXRlPHR5cGVuYW1lIE9i
amVjdCwgdHlwZW5hbWUgRnVuY3Rpb24+IGNvbnN0IGNvbnN0ZXhwciBzdGQ6OmNocm9ubzo6c2Vj
b25kcyBBc3luY1Rhc2s8T2JqZWN0LCBGdW5jdGlvbj46OmV4aXREZWxheTsKIAogdGVtcGxhdGU8
dHlwZW5hbWUgT2JqZWN0LCB0eXBlbmFtZSBGdW5jdGlvbj4KIEFzeW5jVGFzazxPYmplY3QsIEZ1
bmN0aW9uPjo6QXN5bmNUYXNrKE9iamVjdCYgb2JqZWN0LCBjb25zdCBGdW5jdGlvbiYgZnVuY3Rp
b24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0JvdW5kYXJ5VGFnLmggYi9T
b3VyY2UvYm1hbGxvYy9ibWFsbG9jL0JvdW5kYXJ5VGFnLmgKaW5kZXggNzYxZmQzZjE4MWIyMGI3
MDcxODU4NDdkNDBmMTlkYWNmNTBjNDU3Mi4uYjJlZGNlMmQ5MmNiZjQyYTA1MTgxNjE0ZWI5OTFm
OWUyNDRjOGRhYSAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9Cb3VuZGFyeVRh
Zy5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQm91bmRhcnlUYWcuaApAQCAtMjksNiAr
MjksNyBAQAogI2luY2x1ZGUgIkJBc3NlcnQuaCIKICNpbmNsdWRlICJSYW5nZS5oIgogI2luY2x1
ZGUgIlNpemVzLmgiCisjaW5jbHVkZSA8Y3N0cmluZz4KIAogbmFtZXNwYWNlIGJtYWxsb2Mgewog
CkBAIC01NCw3ICs1NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEhhc1BoeXNpY2FsUGFnZXMo
Ym9vbCBoYXNQaHlzaWNhbFBhZ2VzKSB7IG1faGFzUGh5c2ljYWxQYWdlcyA9IGhhc1BoeXNpY2Fs
UGFnZXM7IH0KIAogICAgIGJvb2wgaXNOdWxsKCkgeyByZXR1cm4gIW1fc2l6ZTsgfQotICAgIHZv
aWQgY2xlYXIoKSB7IG1lbXNldCh0aGlzLCAwLCBzaXplb2YoKnRoaXMpKTsgfQorICAgIHZvaWQg
Y2xlYXIoKSB7IHN0ZDo6bWVtc2V0KHRoaXMsIDAsIHNpemVvZigqdGhpcykpOyB9CiAgICAgCiAg
ICAgc2l6ZV90IHNpemUoKSB7IHJldHVybiBtX3NpemU7IH0KICAgICB1bnNpZ25lZCBjb21wYWN0
QmVnaW4oKSB7IHJldHVybiBtX2NvbXBhY3RCZWdpbjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL2Jt
YWxsb2MvYm1hbGxvYy9DaHVuay5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9DaHVuay5oCmlu
ZGV4IDBjNGQxZDJkZDhhYzA4ZWIwODFmOGQ1ZTZhMDk1NDg2NzY3ZjVjMDAuLmVhM2Q4MDM2ZDJk
MDg4NWM5YjQ1ZjBhZWQ0YTI5N2FmYWE2OWFiOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvQ2h1bmsuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0NodW5rLmgKQEAg
LTM1LDggKzM1LDkgQEAgbmFtZXNwYWNlIGJtYWxsb2MgewogdGVtcGxhdGU8Y2xhc3MgVHJhaXRz
PgogY2xhc3MgQ2h1bmsgewogcHVibGljOgotICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpQ
YWdlIFBhZ2U7Ci0gICAgdHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6OkxpbmUgTGluZTsKKyAgICB0
eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6UGFnZVR5cGUgUGFnZTsKKyAgICB0eXBlZGVmIHR5cGVu
YW1lIFRyYWl0czo6TGluZVR5cGUgTGluZTsKKwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbGlu
ZVNpemUgPSBUcmFpdHM6OmxpbmVTaXplOwogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgY2h1bmtT
aXplID0gVHJhaXRzOjpjaHVua1NpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBjaHVua09m
ZnNldCA9IFRyYWl0czo6Y2h1bmtPZmZzZXQ7CkBAIC02Miw3ICs2Myw3IEBAIHByaXZhdGU6CiAK
ICAgICAvLyBBbGlnbiB0byB2bVBhZ2VTaXplIHRvIGF2b2lkIHNoYXJpbmcgcGh5c2ljYWwgcGFn
ZXMgd2l0aCBtZXRhZGF0YS4KICAgICAvLyBPdGhlcndpc2UsIHdlJ2xsIGNvbmZ1c2UgdGhlIHNj
YXZlbmdlciBpbnRvIHRyeWluZyB0byBzY2F2ZW5nZSBtZXRhZGF0YS4KLSAgICBhbGlnbmFzKHZt
UGFnZVNpemUpIGNoYXIgbV9tZW1vcnlbXTsKKyAgICBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDQw
OTYpKSkgY2hhciBtX21lbW9yeVtdOwogfTsKIAogdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPgpkaWZm
IC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9FbmRUYWcuaCBiL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvRW5kVGFnLmgKaW5kZXggOWVhZTk5NzllNzA4ZGE1MmYwYzRhNTQ1MWQ5ZThkZTM5
NjczYTBiMS4uZjk0MTUzYTkxN2Q4N2ZlMjYwYjg2NzYxNDhiZjQxMzA4YTJiZDlmYiAxMDA2NDQK
LS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9FbmRUYWcuaAorKysgYi9Tb3VyY2UvYm1hbGxv
Yy9ibWFsbG9jL0VuZFRhZy5oCkBAIC0zNyw3ICszNyw3IEBAIHB1YmxpYzoKIAogaW5saW5lIEVu
ZFRhZyYgRW5kVGFnOjpvcGVyYXRvcj0oY29uc3QgQmVnaW5UYWcmIG90aGVyKQogewotICAgIG1l
bWNweSh0aGlzLCAmb3RoZXIsIHNpemVvZihCb3VuZGFyeVRhZykpOworICAgIHN0ZDo6bWVtY3B5
KHRoaXMsICZvdGhlciwgc2l6ZW9mKEJvdW5kYXJ5VGFnKSk7CiAgICAgc2V0RW5kKHRydWUpOwog
ICAgIHJldHVybiAqdGhpczsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
TGFyZ2VDaHVuay5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9MYXJnZUNodW5rLmgKaW5kZXgg
YWE1NTI4MWIwMDc1NWNhYThhYjJjM2YxMmRlMDM3ZTY5NGYyNWIzMC4uOTNiMGJjOTQxMTdkNWQ4
ZjM0OTgzM2ZlMjk4ZDI3MzBhYTY4MmUyZiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9MYXJnZUNodW5rLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9MYXJnZUNodW5r
LmgKQEAgLTY3LDcgKzY3LDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIEFsaWduIHRvIHZtUGFnZVNp
emUgdG8gYXZvaWQgc2hhcmluZyBwaHlzaWNhbCBwYWdlcyB3aXRoIG1ldGFkYXRhLgogICAgIC8v
IE90aGVyd2lzZSwgd2UnbGwgY29uZnVzZSB0aGUgc2NhdmVuZ2VyIGludG8gdHJ5aW5nIHRvIHNj
YXZlbmdlIG1ldGFkYXRhLgotICAgIGFsaWduYXModm1QYWdlU2l6ZSkgY2hhciBtX21lbW9yeVtd
OworICAgIF9fYXR0cmlidXRlX18oKGFsaWduZWQoNDA5NikpKSBjaGFyIG1fbWVtb3J5W107CiB9
OwogCiBpbmxpbmUgTGFyZ2VDaHVuayogTGFyZ2VDaHVuazo6Z2V0KHZvaWQqIG9iamVjdCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5oIGIvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9MaW5lLmgKaW5kZXggOGE4ZDcxZTE4OTkxY2I2NThmMGJkZmY0ZThmZDhhN2IxZTY5
NmIyZS4uOGFmODNlZjlhY2NlMjFiYWNiOGU0Yzc2ODA1NDY5ZWNlMGM0ZTcxOSAxMDA2NDQKLS0t
IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9MaW5lLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9MaW5lLmgKQEAgLTM2LDcgKzM2LDggQEAgbmFtZXNwYWNlIGJtYWxsb2MgewogdGVtcGxh
dGU8Y2xhc3MgVHJhaXRzPgogY2xhc3MgTGluZSB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiB0eXBl
bmFtZSBUcmFpdHM6OkNodW5rIENodW5rOworICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpD
aHVua1R5cGUgQ2h1bms7CisKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IG1pbmltdW1PYmplY3RT
aXplID0gVHJhaXRzOjptaW5pbXVtT2JqZWN0U2l6ZTsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90
IGxpbmVTaXplID0gVHJhaXRzOjpsaW5lU2l6ZTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9i
bWFsbG9jL2JtYWxsb2MvTWVkaXVtVHJhaXRzLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL01l
ZGl1bVRyYWl0cy5oCmluZGV4IGJiY2UwMWFiMzBlZDdmNTdiMzRmNDRlMTY1YjgyMDQzZGRiNDdi
MTIuLjU5ZDc4ZjUwMTc1ZWIyNTk1NDE1NGQ4MjgwMTA5MjA0MzVjMWNjYjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTWVkaXVtVHJhaXRzLmgKKysrIGIvU291cmNlL2JtYWxs
b2MvYm1hbGxvYy9NZWRpdW1UcmFpdHMuaApAQCAtMzYsOSArMzYsOSBAQCB0ZW1wbGF0ZTxjbGFz
cyBUcmFpdHM+IGNsYXNzIExpbmU7CiB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+IGNsYXNzIFBhZ2U7
CiAKIHN0cnVjdCBNZWRpdW1UcmFpdHMgewotICAgIHR5cGVkZWYgQ2h1bms8TWVkaXVtVHJhaXRz
PiBDaHVuazsKLSAgICB0eXBlZGVmIExpbmU8TWVkaXVtVHJhaXRzPiBMaW5lOwotICAgIHR5cGVk
ZWYgUGFnZTxNZWRpdW1UcmFpdHM+IFBhZ2U7CisgICAgdHlwZWRlZiBDaHVuazxNZWRpdW1UcmFp
dHM+IENodW5rVHlwZTsKKyAgICB0eXBlZGVmIExpbmU8TWVkaXVtVHJhaXRzPiBMaW5lVHlwZTsK
KyAgICB0eXBlZGVmIFBhZ2U8TWVkaXVtVHJhaXRzPiBQYWdlVHlwZTsKIAogICAgIHN0YXRpYyBj
b25zdCBzaXplX3QgbGluZVNpemUgPSBtZWRpdW1MaW5lU2l6ZTsKICAgICBzdGF0aWMgY29uc3Qg
c2l6ZV90IG1pbmltdW1PYmplY3RTaXplID0gc21hbGxNYXggKyBhbGlnbm1lbnQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BhZ2UuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvUGFnZS5oCmluZGV4IDM4MTQwYTU2NGFkM2I5NDU0NTI0ZGNmOTNjNWZlZTZkN2NjM2I4M2Yu
LmZkZmExNThkNjEyM2U0OGE0ZTNlMDkxOTA1NzgzODg4NDY5YTE1MzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9ibWFsbG9jL2JtYWxsb2MvUGFnZS5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
UGFnZS5oCkBAIC0zNiw4ICszNiw5IEBAIG5hbWVzcGFjZSBibWFsbG9jIHsKIHRlbXBsYXRlPHR5
cGVuYW1lIFRyYWl0cz4KIGNsYXNzIFBhZ2UgewogcHVibGljOgotICAgIHR5cGVkZWYgdHlwZW5h
bWUgVHJhaXRzOjpDaHVuayBDaHVuazsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6TGlu
ZSBMaW5lOworICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpDaHVua1R5cGUgQ2h1bms7Cisg
ICAgdHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6OkxpbmVUeXBlIExpbmU7CisKICAgICBzdGF0aWMg
Y29uc3Qgc2l6ZV90IGxpbmVTaXplID0gVHJhaXRzOjpsaW5lU2l6ZTsKICAgICBzdGF0aWMgY29u
c3Qgc2l6ZV90IGxpbmVDb3VudCA9IHZtUGFnZVNpemUgLyBsaW5lU2l6ZTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QZXJUaHJlYWQuaCBiL1NvdXJjZS9ibWFsbG9jL2Jt
YWxsb2MvUGVyVGhyZWFkLmgKaW5kZXggMDJmMDdlMTY1MmE3YTZhMzQ3ZmE4MDZjMjU2ZjNhODUx
NWUwYjhlYS4uMzBhNmJiMjg2M2M0ZGZhMzBmZjhlN2Y5NzIwN2ViMGNiMTdlYmMyMCAxMDA2NDQK
LS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QZXJUaHJlYWQuaAorKysgYi9Tb3VyY2UvYm1h
bGxvYy9ibWFsbG9jL1BlclRocmVhZC5oCkBAIC0zMCw4ICszMCwxNiBAQAogI2luY2x1ZGUgIklu
bGluZS5oIgogI2luY2x1ZGUgPG11dGV4PgogI2luY2x1ZGUgPHB0aHJlYWQuaD4KLSNpZiBkZWZp
bmVkKF9faGFzX2luY2x1ZGUpICYmIF9faGFzX2luY2x1ZGUoPFN5c3RlbS9wdGhyZWFkX21hY2hk
ZXAuaD4pCisKKyNpZiBkZWZpbmVkKF9faGFzX2luY2x1ZGUpCisjaWYgX19oYXNfaW5jbHVkZSg8
U3lzdGVtL3B0aHJlYWRfbWFjaGRlcC5oPikKICNpbmNsdWRlIDxTeXN0ZW0vcHRocmVhZF9tYWNo
ZGVwLmg+CisjZGVmaW5lIEhBVkVfUFRIUkVBRF9NQUNIREVQX0ggMQorI2Vsc2UKKyNkZWZpbmUg
SEFWRV9QVEhSRUFEX01BQ0hERVBfSCAwCisjZW5kaWYKKyNlbHNlCisjZGVmaW5lIEhBVkVfUFRI
UkVBRF9NQUNIREVQX0ggMAogI2VuZGlmCiAKIG5hbWVzcGFjZSBibWFsbG9jIHsKQEAgLTUwLDcg
KzU4LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBkZXN0cnVjdG9yKHZvaWQqKTsKIH07
CiAKLSNpZiBkZWZpbmVkKF9faGFzX2luY2x1ZGUpICYmIF9faGFzX2luY2x1ZGUoPFN5c3RlbS9w
dGhyZWFkX21hY2hkZXAuaD4pCisjaWYgSEFWRV9QVEhSRUFEX01BQ0hERVBfSAogCiBjbGFzcyBD
YWNoZTsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBQZXJUaHJlYWRTdG9yYWdlOwpAQCAt
MTAwLDcgKzEwOCw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGJvb2wgUGVyVGhyZWFkU3RvcmFn
ZTxUPjo6c19kaWRJbml0aWFsaXplOwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gcHRocmVhZF9rZXlf
dCBQZXJUaHJlYWRTdG9yYWdlPFQ+OjpzX2tleTsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0ZDo6
b25jZV9mbGFnIFBlclRocmVhZFN0b3JhZ2U8VD46OnNfb25jZUZsYWc7CiAKLSNlbmRpZiAvLyBk
ZWZpbmVkKF9faGFzX2luY2x1ZGUpICYmIF9faGFzX2luY2x1ZGUoPFN5c3RlbS9wdGhyZWFkX21h
Y2hkZXAuaD4pCisjZW5kaWYKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4KIElOTElORSBUKiBQZXJU
aHJlYWQ8VD46OmdldEZhc3RDYXNlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvU21hbGxUcmFpdHMuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU21hbGxUcmFpdHMuaApp
bmRleCBlNDBjMTY2ZWRkMDdiY2FmZTE3NTZmMTVmNmFjMTE1Y2VhOWExMzIyLi44MDZiN2U4YzY2
NWRhNTQ0NDAzZGVmZjgxZDM4ZGI5YjkwYmRhNjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxv
Yy9ibWFsbG9jL1NtYWxsVHJhaXRzLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TbWFs
bFRyYWl0cy5oCkBAIC0zNSw5ICszNSw5IEBAIHRlbXBsYXRlPGNsYXNzIFRyYWl0cz4gY2xhc3Mg
TGluZTsKIHRlbXBsYXRlPGNsYXNzIFRyYWl0cz4gY2xhc3MgUGFnZTsKIAogc3RydWN0IFNtYWxs
VHJhaXRzIHsKLSAgICB0eXBlZGVmIENodW5rPFNtYWxsVHJhaXRzPiBDaHVuazsKLSAgICB0eXBl
ZGVmIExpbmU8U21hbGxUcmFpdHM+IExpbmU7Ci0gICAgdHlwZWRlZiBQYWdlPFNtYWxsVHJhaXRz
PiBQYWdlOworICAgIHR5cGVkZWYgQ2h1bms8U21hbGxUcmFpdHM+IENodW5rVHlwZTsKKyAgICB0
eXBlZGVmIExpbmU8U21hbGxUcmFpdHM+IExpbmVUeXBlOworICAgIHR5cGVkZWYgUGFnZTxTbWFs
bFRyYWl0cz4gUGFnZVR5cGU7CiAKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGxpbmVTaXplID0g
c21hbGxMaW5lU2l6ZTsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IG1pbmltdW1PYmplY3RTaXpl
ID0gYWxpZ25tZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WTUFsbG9j
YXRlLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZNQWxsb2NhdGUuaAppbmRleCA5NDA2MzU4
YWU1MWY1OWIwOGZkNjc1OWQ1MmNlOWE4MjI1YTM0NjRlLi44ZjNlYTVmYmRkNWFlNTM0MjBkNTg2
M2IyZjk3NjJjOGZkZWJjMDdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZN
QWxsb2NhdGUuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZNQWxsb2NhdGUuaApAQCAt
MzEsMTMgKzMxLDIwIEBACiAjaW5jbHVkZSAiU2l6ZXMuaCIKICNpbmNsdWRlICJTeXNjYWxsLmgi
CiAjaW5jbHVkZSA8YWxnb3JpdGhtPgotI2luY2x1ZGUgPG1hY2gvdm1fc3RhdGlzdGljcy5oPgog
I2luY2x1ZGUgPHN5cy9tbWFuLmg+CiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAKKyNpZiBCT1MoREFS
V0lOKQorI2luY2x1ZGUgPG1hY2gvdm1fc3RhdGlzdGljcy5oPgorI2VuZGlmCisKIG5hbWVzcGFj
ZSBibWFsbG9jIHsKIAorI2lmIEJPUyhEQVJXSU4pCiAjZGVmaW5lIEJNQUxMT0NfVk1fVEFHIFZN
X01BS0VfVEFHKFZNX01FTU9SWV9UQ01BTExPQykKKyNlbHNlCisjZGVmaW5lIEJNQUxMT0NfVk1f
VEFHIC0xCisjZW5kaWYKIAogaW5saW5lIHNpemVfdCB2bVNpemUoc2l6ZV90IHNpemUpCiB7CkBA
IC0xMDcsMTMgKzExNCwyMSBAQCBpbmxpbmUgdm9pZCogdm1BbGxvY2F0ZShzaXplX3Qgdm1BbGln
bm1lbnQsIHNpemVfdCB2bVNpemUpCiBpbmxpbmUgdm9pZCB2bURlYWxsb2NhdGVQaHlzaWNhbFBh
Z2VzKHZvaWQqIHAsIHNpemVfdCB2bVNpemUpCiB7CiAgICAgdm1WYWxpZGF0ZShwLCB2bVNpemUp
OworI2lmIEJPUyhEQVJXSU4pCiAgICAgU1lTQ0FMTChtYWR2aXNlKHAsIHZtU2l6ZSwgTUFEVl9G
UkVFX1JFVVNBQkxFKSk7CisjZWxzZQorICAgIFNZU0NBTEwobWFkdmlzZShwLCB2bVNpemUsIE1B
RFZfRE9OVE5FRUQpKTsKKyNlbmRpZgogfQogCiBpbmxpbmUgdm9pZCB2bUFsbG9jYXRlUGh5c2lj
YWxQYWdlcyh2b2lkKiBwLCBzaXplX3Qgdm1TaXplKQogewogICAgIHZtVmFsaWRhdGUocCwgdm1T
aXplKTsKKyNpZiBCT1MoREFSV0lOKQogICAgIFNZU0NBTEwobWFkdmlzZShwLCB2bVNpemUsIE1B
RFZfRlJFRV9SRVVTRSkpOworI2Vsc2UKKyAgICBTWVNDQUxMKG1hZHZpc2UocCwgdm1TaXplLCBN
QURWX05PUk1BTCkpOworI2VuZGlmCiB9CiAKIC8vIFRyaW1zIHJlcXVlc3RzIHRoYXQgYXJlIHVu
LXBhZ2UtYWxpZ25lZC4gTk9URTogc2l6ZSBtdXN0IGJlIGF0IGxlYXN0IGEgcGFnZS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVmVjdG9yLmggYi9Tb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL1ZlY3Rvci5oCmluZGV4IDVhMDY4OGUyZGRlZTkwNDBiYjg1NDBmMDMxNjI4MGM3Y2Uz
YTZkZmYuLjViNDExMmJlNjNjYzk3ZmUxNDYxNGE4MDg2NmE2ODk2NzMyZDc5MTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVmVjdG9yLmgKKysrIGIvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9WZWN0b3IuaApAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgIklubGluZS5oIgog
I2luY2x1ZGUgIlZNQWxsb2NhdGUuaCIKICNpbmNsdWRlIDxjc3RkZGVmPgotI2luY2x1ZGUgPHN0
cmluZz4KKyNpbmNsdWRlIDxjc3RyaW5nPgogCiBuYW1lc3BhY2UgYm1hbGxvYyB7CiAKQEAgLTEx
Miw3ICsxMTIsNyBAQCB2b2lkIFZlY3RvcjxUPjo6cHVzaChjb25zdCBUKiBiZWdpbiwgY29uc3Qg
VCogZW5kKQogICAgIHNpemVfdCBuZXdTaXplID0gbV9zaXplICsgKGVuZCAtIGJlZ2luKTsKICAg
ICBpZiAobmV3U2l6ZSA+IG1fY2FwYWNpdHkpCiAgICAgICAgIGdyb3dDYXBhY2l0eShuZXdTaXpl
KTsKLSAgICBtZW1jcHkodGhpcy0+ZW5kKCksIGJlZ2luLCAoZW5kIC0gYmVnaW4pICogc2l6ZW9m
KFQpKTsKKyAgICBzdGQ6Om1lbWNweSh0aGlzLT5lbmQoKSwgYmVnaW4sIChlbmQgLSBiZWdpbikg
KiBzaXplb2YoVCkpOwogICAgIG1fc2l6ZSA9IG5ld1NpemU7CiB9CiAKQEAgLTE0OCw3ICsxNDgs
NyBAQCB2b2lkIFZlY3RvcjxUPjo6cmVhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkp
CiAgICAgc2l6ZV90IHZtU2l6ZSA9IGJtYWxsb2M6OnZtU2l6ZShuZXdDYXBhY2l0eSAqIHNpemVv
ZihUKSk7CiAgICAgVCogbmV3QnVmZmVyID0gc3RhdGljX2Nhc3Q8VCo+KHZtQWxsb2NhdGUodm1T
aXplKSk7CiAgICAgaWYgKG1fYnVmZmVyKSB7Ci0gICAgICAgIG1lbWNweShuZXdCdWZmZXIsIG1f
YnVmZmVyLCBtX3NpemUgKiBzaXplb2YoVCkpOworICAgICAgICBzdGQ6Om1lbWNweShuZXdCdWZm
ZXIsIG1fYnVmZmVyLCBtX3NpemUgKiBzaXplb2YoVCkpOwogICAgICAgICB2bURlYWxsb2NhdGUo
bV9idWZmZXIsIGJtYWxsb2M6OnZtU2l6ZShtX2NhcGFjaXR5ICogc2l6ZW9mKFQpKSk7CiAgICAg
fQogCmRpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CmluZGV4IDA4
ZTU0NDQ2ZGNhZGEzZTQ4M2E0NmQyZDViMjQ1OTliMTY2NjU3YmUuLjBhOTYyZTM5ZjFiMjcxNTI3
OTU2NzJlM2I1NDI2YTZjN2JmY2Y2MDAgMTAwNjQ0Ci0tLSBhL0NNYWtlTGlzdHMudHh0CisrKyBi
L0NNYWtlTGlzdHMudHh0CkBAIC00LDYgKzQsNyBAQCBwcm9qZWN0KFdlYktpdCkKICMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KICMgRGVmYXVsdCBsaWJyYXJ5IHR5cGUKICMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KK3NldChCTUFMTE9DX0RJUiAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvYm1hbGxv
YyIpCiBzZXQoV1RGX0RJUiAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV1RGIikKIHNldChK
QVZBU0NSSVBUQ09SRV9ESVIgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL0phdmFTY3JpcHRD
b3JlIikKIHNldChXRUJDT1JFX0RJUiAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViQ29y
ZSIpCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggYTk2MzE0ZTlkYWRj
MzNjNGMzYjQ0YWU4MDlkMWZlMWY3OTM3NDdjMi4uM2VhODcyMGU3NWU3NzhmYzBiMDFjYzA1OWUw
NGY4OThlMDVmMGVlZSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDE1LTAyLTAzICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ft
c3VuZy5jb20+CisKKyAgICAgICAgW0VGTF1bR1RLXSBVc2UgYm1hbGxvYyBpbnN0ZWFkIG9mIHRj
bWFsbG9jCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDAxNjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgYm1hbGxvYyBkaXJlY3RvcnkgdG8gYnVpbGQgbGlzdC4KKworICAgICAgICAqIENNYWtlTGlz
dHMudHh0OiBEZWZpbmUgQk1BTExPQ19ESVIgZGlyZWN0b3J5LgorICAgICAgICAqIFNvdXJjZS9D
TWFrZUxpc3RzLnR4dDogQWRkIGJtYWxsb2MgcGF0aCB0byBzdWItZGlyZWN0b3JpZXMgbGlzdC4K
KwogMjAxNS0wMi0wMiAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAg
IFJldmVydCBhY2NpZGVudGFsIGNoYW5nZSBpbiByMTc5NDkwLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246265</attachid>
            <date>2015-02-09 04:12:57 -0800</date>
            <delta_ts>2015-02-11 04:15:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140162-20150209211256.patch</filename>
            <type>text/plain</type>
            <size>17614</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc5ODI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY3YWJiYmM0ZDRjY2VjNDAxOTNhNTFl
NGY1ZTI1ZmMzOTYyY2E2MDIuLjY4N2MwZGE3YTJlNmJmYmI3OWUzMGQ3M2IxZTlmNGQxZGJhNmJk
MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDItMDkgIEd5dXlvdW5nIEtpbSAgPGd5dXlv
dW5nLmtpbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtHVEtdIFVzZSBibWFsbG9jIGlu
c3RlYWQgb2YgdGNtYWxsb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MDE2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OgorICAgICAgICAqIHd0Zi9GYXN0TWFsbG9j
LmNwcDoKKyAgICAgICAgICAgIEVuYWJsZSBibWFsbG9jIG9uIEdUSyBwb3J0cywgYnV0IEVGTCBw
b3J0IHdpbGwgZW5hYmxlIGl0IHdoZW4gYm1hbGxvYyBzdXBwb3J0cworICAgICAgICAgICAgbWVt
b3J5IHN0YXRpc3RpY3MuCisKIDIwMTUtMDItMDcgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lA
d2Via2l0Lm9yZz4KIAogICAgICAgICBbQVJNXSBHQyBzb21ldGltZXMgc3R1Y2sgaW4gYW4gaW5m
aW5pdGUgbG9vcCBpZiBwYXJhbGxlbCBHQyBpcyBlbmFibGVkCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
Ym1hbGxvYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cKaW5kZXggN2JkN2Mw
NWUzZDg4NzFkZjEwMjBiNTIzMmRjNWQwZmNjZDc4Mzg4NC4uNzIxYjY1ZThlNGRmM2U1YjU2Yzgz
NGE2NzIyOGMyMGVlNTBhMDMxMiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE1LTAy
LTA5ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAg
W0VGTF1bR1RLXSBVc2UgYm1hbGxvYyBpbnN0ZWFkIG9mIHRjbWFsbG9jCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDAxNjIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdXBwb3J0IHRvIHVzZSBibWFsbG9j
IG9uIEVGTCBhbmQgR1RLIHBvcnRzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IEFkZGVk
LgorICAgICAgICAqIGJtYWxsb2MvQWxsb2NhdG9yLmNwcDoKKyAgICAgICAgKGJtYWxsb2M6OkFs
bG9jYXRvcjo6YWxsb2NhdGUpOgorICAgICAgICAgICAgRml4IHVudXNlZCByZXR1cm4gdmFsdWUg
Y2F1c2VkIGJ5IHBvc2l4X21lbWFsaWduKCkuCisgICAgICAgICogYm1hbGxvYy9Bc3luY1Rhc2su
aDoKKyAgICAgICAgKiBibWFsbG9jL0JvdW5kYXJ5VGFnLmg6CisgICAgICAgIChibWFsbG9jOjpC
b3VuZGFyeVRhZzo6Y2xlYXIpOgorICAgICAgICAqIGJtYWxsb2MvQ2h1bmsuaDoKKyAgICAgICAg
ICAgIENoYW5nZSBUcmFpdHM6OlBhZ2Ugd2l0aCBUcmFpdHM6OlBhZ2VUeXBlIGluIG9yZGVyIHRv
IGZpeAorICAgICAgICAgICAgLWZwZXJtaXRpdmUgYnVpbGQgZXJyb3Igb24gRUZMIGFuZCBHVEsg
cG9ydC4gCisgICAgICAgICogYm1hbGxvYy9FbmRUYWcuaDoKKyAgICAgICAgKGJtYWxsb2M6OkVu
ZFRhZzo6b3BlcmF0b3I9KToKKyAgICAgICAgKiBibWFsbG9jL0xpbmUuaDogZGl0dG8uCisgICAg
ICAgICogYm1hbGxvYy9NZWRpdW1UcmFpdHMuaDoKKyAgICAgICAgKiBibWFsbG9jL1BhZ2UuaDog
ZGl0dG8uCisgICAgICAgICogYm1hbGxvYy9QZXJUaHJlYWQuaDoKKyAgICAgICAgICAgIEVGTCBw
b3J0IGRvZXNuJ3Qgc3VwcG9ydCBfX2hhc19pbmNsdWRlIGRlZmluaXRpb24geWV0LgorICAgICAg
ICAgICAgRGVmaW5lIEhBVkVfUFRIUkVBRF9NQUNIREVQX0ggYWNjb3JkaW5nIHRvIGNoZWNrIGlm
IF9faGFzX2luY2x1ZGUgaXMgc3VwcG9ydGVkLgorICAgICAgICAqIGJtYWxsb2MvU21hbGxUcmFp
dHMuaDogZGl0dG8uCisgICAgICAgICogYm1hbGxvYy9WTUFsbG9jYXRlLmg6CisgICAgICAgIChi
bWFsbG9jOjp2bURlYWxsb2NhdGVQaHlzaWNhbFBhZ2VzKToKKyAgICAgICAgKGJtYWxsb2M6OnZt
QWxsb2NhdGVQaHlzaWNhbFBhZ2VzKToKKyAgICAgICAgKiBibWFsbG9jL1ZlY3Rvci5oOgorICAg
ICAgICAoYm1hbGxvYzo6VmVjdG9yPFQ+OjpwdXNoKToKKyAgICAgICAgKGJtYWxsb2M6OlZlY3Rv
cjxUPjo6cmVhbGxvY2F0ZUJ1ZmZlcik6CisKIDIwMTUtMDEtMzEgIFNhbSBXZWluaWcgIDxzYW1A
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgZXZlbiBtb3JlIE1vdW50YWluIExpb24gc3Vw
cG9ydApkaWZmIC0tZ2l0IGEvU291cmNlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0NNYWtlTGlz
dHMudHh0CmluZGV4IDU0ODY3MjBkNzYyYjA4N2M2MmFiZTg0N2I0MTQ4OGY1NzBiY2VmMjguLmZh
YmM1ZDZiNjhmODE0ZmE4ZTFkOTRiODJiYTljNzY2NzhkODNkOTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvQ01ha2VMaXN0cy50eHQKQEAgLTEsNiArMSw4
IEBACiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIEFkZCBtb2R1bGUgZGlyZWN0b3JpZXMKICMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KK2FkZF9zdWJkaXJlY3RvcnkoYm1hbGxvYykKKwogYWRkX3N1
YmRpcmVjdG9yeShXVEYpCiAKIGFkZF9zdWJkaXJlY3RvcnkoSmF2YVNjcmlwdENvcmUpCkBAIC0y
Niw2ICsyOCw3IEBAIFdFQktJVF9JTkNMVURFX0NPTkZJR19GSUxFU19JRl9FWElTVFMoKQogIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQogIyBTZXQgY29tcGlsZXIgZmxhZ3MgZm9yIGFsbCB0YXJnZXRz
CiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdT
KGJtYWxsb2MgJHtBRERJVElPTkFMX0NPTVBJTEVSX0ZMQUdTfSkKIFdFQktJVF9TRVRfRVhUUkFf
Q09NUElMRVJfRkxBR1MoV1RGICR7QURESVRJT05BTF9DT01QSUxFUl9GTEFHU30pCiBXRUJLSVRf
U0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKEphdmFTY3JpcHRDb3JlICR7QURESVRJT05BTF9DT01Q
SUxFUl9GTEFHU30pCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0
IGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKaW5kZXggYjllNjY5MTZkZjBhMmI1YWUz
ZThkOTgxNWRlM2MwYTlmODcxNDJkZS4uYjMzNTAxNWJjNmEzMzExYjBhOGEyOTQ5NjQ0YmVlODUy
NmZhZjI4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKKysrIGIv
U291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKQEAgLTIxMyw2ICsyMTMsNyBAQCBzZXQoV1RG
X1NPVVJDRVMKICkKIAogc2V0KFdURl9JTkNMVURFX0RJUkVDVE9SSUVTCisgICAgIiR7Qk1BTExP
Q19ESVJ9IgogICAgICIke1dURl9ESVJ9IgogICAgICIke1dURl9ESVJ9L3d0ZiIKICAgICAiJHtX
VEZfRElSfS93dGYvZHRvYSIKQEAgLTIyNiw2ICsyMjcsNyBAQCBzZXQoV1RGX0lOQ0xVREVfRElS
RUNUT1JJRVMKIAogc2V0KFdURl9MSUJSQVJJRVMKICAgICAke0NNQUtFX0RMX0xJQlN9CisgICAg
Ym1hbGxvYwogKQogCiBsaXN0KEFQUEVORCBXVEZfU09VUkNFUwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvRmFzdE1hbGxvYy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9GYXN0TWFsbG9jLmNwcApp
bmRleCBjNTMyMGQyYmMzZDExOTBjZTVhYjAzNzM1MTczNzlkNjY2ZGY0NmU0Li40ZDZjZmZmZThi
MDZhNTg4NzU4OTgwMTY1MTcxMGY0NDQ2YzdjNzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9GYXN0TWFsbG9jLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GYXN0TWFsbG9jLmNwcApAQCAt
MTAxLDcgKzEwMSw3IEBACiAjZW5kaWYKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpCisj
aWYgUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRGT1JNKEdUSykKICNkZWZpbmUgVVNFX0JNQUxMT0Mg
MQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL2JtYWxsb2MvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTlhMWE3NmZjNGY4YmU0
OTc3MDZiMGY4NDMyNGViZTc3ZTJjZGE2MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9ibWFs
bG9jL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsMjIgQEAKK3NldChibWFsbG9jX0lOQ0xVREVf
RElSRUNUT1JJRVMKKyAgICAiJHtCTUFMTE9DX0RJUn0iCispCisKK3NldChibWFsbG9jX1NPVVJD
RVMKKyAgICBibWFsbG9jL0FsbG9jYXRvci5jcHAKKyAgICBibWFsbG9jL0NhY2hlLmNwcAorICAg
IGJtYWxsb2MvRGVhbGxvY2F0b3IuY3BwCisgICAgYm1hbGxvYy9FbnZpcm9ubWVudC5jcHAKKyAg
ICBibWFsbG9jL0hlYXAuY3BwCisgICAgYm1hbGxvYy9PYmplY3RUeXBlLmNwcAorICAgIGJtYWxs
b2MvU2VncmVnYXRlZEZyZWVMaXN0LmNwcAorICAgIGJtYWxsb2MvU3RhdGljTXV0ZXguY3BwCisg
ICAgYm1hbGxvYy9WTUhlYXAuY3BwCisgICAgYm1hbGxvYy9tYm1hbGxvYy5jcHAKKykKKworV0VC
S0lUX1dSQVBfU09VUkNFTElTVCgke2JtYWxsb2NfU09VUkNFU30pCitpbmNsdWRlX2RpcmVjdG9y
aWVzKCR7Ym1hbGxvY19JTkNMVURFX0RJUkVDVE9SSUVTfSkKK2FkZF9saWJyYXJ5KGJtYWxsb2Mg
JHtibWFsbG9jX1NPVVJDRVN9KQordGFyZ2V0X2xpbmtfbGlicmFyaWVzKGJtYWxsb2MgJHtibWFs
bG9jX0xJQlJBUklFU30pCitzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoYm1hbGxvYyBQUk9QRVJUSUVT
IENPTVBJTEVfREVGSU5JVElPTlMgIkJVSUxESU5HX2JtYWxsb2MiKQpkaWZmIC0tZ2l0IGEvU291
cmNlL2JtYWxsb2MvYm1hbGxvYy9BbGxvY2F0b3IuY3BwIGIvU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9BbGxvY2F0b3IuY3BwCmluZGV4IGVkNTczZGM5YzI2N2I5YzFjOTMwMTA0MWMzYmQ2OGQzMjgw
YTYwYmMuLmViZjBjZjYyMTNhZWJmZGE5MGFhNmIwNTUzZWMxZGIwYmYzMTJkMTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQWxsb2NhdG9yLmNwcAorKysgYi9Tb3VyY2UvYm1h
bGxvYy9ibWFsbG9jL0FsbG9jYXRvci5jcHAKQEAgLTU2LDcgKzU2LDggQEAgdm9pZCogQWxsb2Nh
dG9yOjphbGxvY2F0ZShzaXplX3QgYWxpZ25tZW50LCBzaXplX3Qgc2l6ZSkKIAogICAgIGlmICgh
bV9pc0JtYWxsb2NFbmFibGVkKSB7CiAgICAgICAgIHZvaWQqIHJlc3VsdCA9IG51bGxwdHI7Ci0g
ICAgICAgIHBvc2l4X21lbWFsaWduKCZyZXN1bHQsIGFsaWdubWVudCwgc2l6ZSk7CisgICAgICAg
IGlmIChwb3NpeF9tZW1hbGlnbigmcmVzdWx0LCBhbGlnbm1lbnQsIHNpemUpKQorICAgICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogICAgIApk
aWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9Bc3luY1Rhc2suaCBiL1NvdXJjZS9i
bWFsbG9jL2JtYWxsb2MvQXN5bmNUYXNrLmgKaW5kZXggNTA0ZGE4MTM1ZDg2NzE0Zjk3ZTA0M2Yy
NTM3NTA3MjgxYThhMGJhMS4uOTUzOTIxZDFiN2FjNTc4MTNkOGQzMmJmY2Y2YTA2MWE1NDQzNmU3
ZiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9Bc3luY1Rhc2suaAorKysgYi9T
b3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FzeW5jVGFzay5oCkBAIC02NCw3ICs2NCw3IEBAIHByaXZh
dGU6CiAgICAgRnVuY3Rpb24gbV9mdW5jdGlvbjsKIH07CiAKLXRlbXBsYXRlPHR5cGVuYW1lIE9i
amVjdCwgdHlwZW5hbWUgRnVuY3Rpb24+IGNvbnN0IHN0ZDo6Y2hyb25vOjpzZWNvbmRzIEFzeW5j
VGFzazxPYmplY3QsIEZ1bmN0aW9uPjo6ZXhpdERlbGF5OwordGVtcGxhdGU8dHlwZW5hbWUgT2Jq
ZWN0LCB0eXBlbmFtZSBGdW5jdGlvbj4gY29uc3QgY29uc3RleHByIHN0ZDo6Y2hyb25vOjpzZWNv
bmRzIEFzeW5jVGFzazxPYmplY3QsIEZ1bmN0aW9uPjo6ZXhpdERlbGF5OwogCiB0ZW1wbGF0ZTx0
eXBlbmFtZSBPYmplY3QsIHR5cGVuYW1lIEZ1bmN0aW9uPgogQXN5bmNUYXNrPE9iamVjdCwgRnVu
Y3Rpb24+OjpBc3luY1Rhc2soT2JqZWN0JiBvYmplY3QsIGNvbnN0IEZ1bmN0aW9uJiBmdW5jdGlv
bikKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQm91bmRhcnlUYWcuaCBiL1Nv
dXJjZS9ibWFsbG9jL2JtYWxsb2MvQm91bmRhcnlUYWcuaAppbmRleCA3NjFmZDNmMTgxYjIwYjcw
NzE4NTg0N2Q0MGYxOWRhY2Y1MGM0NTcyLi5iMmVkY2UyZDkyY2JmNDJhMDUxODE2MTRlYjk5MWY5
ZTI0NGM4ZGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0JvdW5kYXJ5VGFn
LmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9Cb3VuZGFyeVRhZy5oCkBAIC0yOSw2ICsy
OSw3IEBACiAjaW5jbHVkZSAiQkFzc2VydC5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVk
ZSAiU2l6ZXMuaCIKKyNpbmNsdWRlIDxjc3RyaW5nPgogCiBuYW1lc3BhY2UgYm1hbGxvYyB7CiAK
QEAgLTU0LDcgKzU1LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SGFzUGh5c2ljYWxQYWdlcyhi
b29sIGhhc1BoeXNpY2FsUGFnZXMpIHsgbV9oYXNQaHlzaWNhbFBhZ2VzID0gaGFzUGh5c2ljYWxQ
YWdlczsgfQogCiAgICAgYm9vbCBpc051bGwoKSB7IHJldHVybiAhbV9zaXplOyB9Ci0gICAgdm9p
ZCBjbGVhcigpIHsgbWVtc2V0KHRoaXMsIDAsIHNpemVvZigqdGhpcykpOyB9CisgICAgdm9pZCBj
bGVhcigpIHsgc3RkOjptZW1zZXQodGhpcywgMCwgc2l6ZW9mKCp0aGlzKSk7IH0KICAgICAKICAg
ICBzaXplX3Qgc2l6ZSgpIHsgcmV0dXJuIG1fc2l6ZTsgfQogICAgIHVuc2lnbmVkIGNvbXBhY3RC
ZWdpbigpIHsgcmV0dXJuIG1fY29tcGFjdEJlZ2luOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1h
bGxvYy9ibWFsbG9jL0NodW5rLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0NodW5rLmgKaW5k
ZXggMGM0ZDFkMmRkOGFjMDhlYjA4MWY4ZDVlNmEwOTU0ODY3NjdmNWMwMC4uZGUxYmRmZmVjMmNj
YjRjNTJkYzA3Y2I1YjZiNTJmOWQ0OWMwN2U3NCAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9DaHVuay5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQ2h1bmsuaApAQCAt
MzUsOCArMzUsOSBAQCBuYW1lc3BhY2UgYm1hbGxvYyB7CiB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+
CiBjbGFzcyBDaHVuayB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6OlBh
Z2UgUGFnZTsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6TGluZSBMaW5lOworICAgIHR5
cGVkZWYgdHlwZW5hbWUgVHJhaXRzOjpQYWdlVHlwZSBQYWdlOworICAgIHR5cGVkZWYgdHlwZW5h
bWUgVHJhaXRzOjpMaW5lVHlwZSBMaW5lOworCiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5l
U2l6ZSA9IFRyYWl0czo6bGluZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBjaHVua1Np
emUgPSBUcmFpdHM6OmNodW5rU2l6ZTsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGNodW5rT2Zm
c2V0ID0gVHJhaXRzOjpjaHVua09mZnNldDsKQEAgLTYyLDcgKzYzLDEzIEBAIHByaXZhdGU6CiAK
ICAgICAvLyBBbGlnbiB0byB2bVBhZ2VTaXplIHRvIGF2b2lkIHNoYXJpbmcgcGh5c2ljYWwgcGFn
ZXMgd2l0aCBtZXRhZGF0YS4KICAgICAvLyBPdGhlcndpc2UsIHdlJ2xsIGNvbmZ1c2UgdGhlIHNj
YXZlbmdlciBpbnRvIHRyeWluZyB0byBzY2F2ZW5nZSBtZXRhZGF0YS4KLSAgICBhbGlnbmFzKHZt
UGFnZVNpemUpIGNoYXIgbV9tZW1vcnlbXTsKKyNpZiBCUExBVEZPUk0oSU9TKQorICAgIGNoYXIg
bV9tZW1vcnlbXSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDE2Mzg0KSkpOworICAgIHN0YXRpY19h
c3NlcnQodm1QYWdlU2l6ZSA9PSAxNjM4NCwgInZtUGFnZVNpemUgYW5kIGFsaWdubWVudCBtdXN0
IGJlIHNhbWUiKTsKKyNlbHNlCisgICAgY2hhciBtX21lbW9yeVtdIF9fYXR0cmlidXRlX18oKGFs
aWduZWQoNDA5NikpKTsKKyAgICBzdGF0aWNfYXNzZXJ0KHZtUGFnZVNpemUgPT0gNDA5NiwgInZt
UGFnZVNpemUgYW5kIGFsaWdubWVudCBtdXN0IGJlIHNhbWUiKTsKKyNlbmRpZgogfTsKIAogdGVt
cGxhdGU8Y2xhc3MgVHJhaXRzPgpkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9F
bmRUYWcuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvRW5kVGFnLmgKaW5kZXggOWVhZTk5Nzll
NzA4ZGE1MmYwYzRhNTQ1MWQ5ZThkZTM5NjczYTBiMS4uZjk0MTUzYTkxN2Q4N2ZlMjYwYjg2NzYx
NDhiZjQxMzA4YTJiZDlmYiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9FbmRU
YWcuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0VuZFRhZy5oCkBAIC0zNyw3ICszNyw3
IEBAIHB1YmxpYzoKIAogaW5saW5lIEVuZFRhZyYgRW5kVGFnOjpvcGVyYXRvcj0oY29uc3QgQmVn
aW5UYWcmIG90aGVyKQogewotICAgIG1lbWNweSh0aGlzLCAmb3RoZXIsIHNpemVvZihCb3VuZGFy
eVRhZykpOworICAgIHN0ZDo6bWVtY3B5KHRoaXMsICZvdGhlciwgc2l6ZW9mKEJvdW5kYXJ5VGFn
KSk7CiAgICAgc2V0RW5kKHRydWUpOwogICAgIHJldHVybiAqdGhpczsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGFyZ2VDaHVuay5oIGIvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9MYXJnZUNodW5rLmgKaW5kZXggYWE1NTI4MWIwMDc1NWNhYThhYjJjM2YxMmRlMDM3ZTY5
NGYyNWIzMC4uYTY1MTVjOTViMDcxMTVjY2UxZWM0NmMzNTBhNWEwZmVkM2YwZjJjNCAxMDA2NDQK
LS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9MYXJnZUNodW5rLmgKKysrIGIvU291cmNlL2Jt
YWxsb2MvYm1hbGxvYy9MYXJnZUNodW5rLmgKQEAgLTY3LDcgKzY3LDEzIEBAIHByaXZhdGU6CiAK
ICAgICAvLyBBbGlnbiB0byB2bVBhZ2VTaXplIHRvIGF2b2lkIHNoYXJpbmcgcGh5c2ljYWwgcGFn
ZXMgd2l0aCBtZXRhZGF0YS4KICAgICAvLyBPdGhlcndpc2UsIHdlJ2xsIGNvbmZ1c2UgdGhlIHNj
YXZlbmdlciBpbnRvIHRyeWluZyB0byBzY2F2ZW5nZSBtZXRhZGF0YS4KLSAgICBhbGlnbmFzKHZt
UGFnZVNpemUpIGNoYXIgbV9tZW1vcnlbXTsKKyNpZiBCUExBVEZPUk0oSU9TKQorICAgIGNoYXIg
bV9tZW1vcnlbXSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDE2Mzg0KSkpOworICAgIHN0YXRpY19h
c3NlcnQodm1QYWdlU2l6ZSA9PSAxNjM4NCwgInZtUGFnZVNpemUgYW5kIGFsaWdubWVudCBtdXN0
IGJlIHNhbWUiKTsKKyNlbHNlCisgICAgY2hhciBtX21lbW9yeVtdIF9fYXR0cmlidXRlX18oKGFs
aWduZWQoNDA5NikpKTsKKyAgICBzdGF0aWNfYXNzZXJ0KHZtUGFnZVNpemUgPT0gNDA5NiwgInZt
UGFnZVNpemUgYW5kIGFsaWdubWVudCBtdXN0IGJlIHNhbWUiKTsKKyNlbmRpZgogfTsKIAogaW5s
aW5lIExhcmdlQ2h1bmsqIExhcmdlQ2h1bms6OmdldCh2b2lkKiBvYmplY3QpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0xpbmUuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
TGluZS5oCmluZGV4IDhhOGQ3MWUxODk5MWNiNjU4ZjBiZGZmNGU4ZmQ4YTdiMWU2OTZiMmUuLjhh
ZjgzZWY5YWNjZTIxYmFjYjhlNGM3NjgwNTQ2OWVjZTBjNGU3MTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9ibWFsbG9jL2JtYWxsb2MvTGluZS5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGlu
ZS5oCkBAIC0zNiw3ICszNiw4IEBAIG5hbWVzcGFjZSBibWFsbG9jIHsKIHRlbXBsYXRlPGNsYXNz
IFRyYWl0cz4KIGNsYXNzIExpbmUgewogcHVibGljOgotICAgIHR5cGVkZWYgdHlwZW5hbWUgVHJh
aXRzOjpDaHVuayBDaHVuazsKKyAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6Q2h1bmtUeXBl
IENodW5rOworCiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBtaW5pbXVtT2JqZWN0U2l6ZSA9IFRy
YWl0czo6bWluaW11bU9iamVjdFNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6
ZSA9IFRyYWl0czo6bGluZVNpemU7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL01lZGl1bVRyYWl0cy5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9NZWRpdW1UcmFp
dHMuaAppbmRleCBiYmNlMDFhYjMwZWQ3ZjU3YjM0ZjQ0ZTE2NWI4MjA0M2RkYjQ3YjEyLi41OWQ3
OGY1MDE3NWViMjU5NTQxNTRkODI4MDEwOTIwNDM1YzFjY2I1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL01lZGl1bVRyYWl0cy5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvTWVkaXVtVHJhaXRzLmgKQEAgLTM2LDkgKzM2LDkgQEAgdGVtcGxhdGU8Y2xhc3MgVHJhaXRz
PiBjbGFzcyBMaW5lOwogdGVtcGxhdGU8Y2xhc3MgVHJhaXRzPiBjbGFzcyBQYWdlOwogCiBzdHJ1
Y3QgTWVkaXVtVHJhaXRzIHsKLSAgICB0eXBlZGVmIENodW5rPE1lZGl1bVRyYWl0cz4gQ2h1bms7
Ci0gICAgdHlwZWRlZiBMaW5lPE1lZGl1bVRyYWl0cz4gTGluZTsKLSAgICB0eXBlZGVmIFBhZ2U8
TWVkaXVtVHJhaXRzPiBQYWdlOworICAgIHR5cGVkZWYgQ2h1bms8TWVkaXVtVHJhaXRzPiBDaHVu
a1R5cGU7CisgICAgdHlwZWRlZiBMaW5lPE1lZGl1bVRyYWl0cz4gTGluZVR5cGU7CisgICAgdHlw
ZWRlZiBQYWdlPE1lZGl1bVRyYWl0cz4gUGFnZVR5cGU7CiAKICAgICBzdGF0aWMgY29uc3Qgc2l6
ZV90IGxpbmVTaXplID0gbWVkaXVtTGluZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBt
aW5pbXVtT2JqZWN0U2l6ZSA9IHNtYWxsTWF4ICsgYWxpZ25tZW50OwpkaWZmIC0tZ2l0IGEvU291
cmNlL2JtYWxsb2MvYm1hbGxvYy9QYWdlLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BhZ2Uu
aAppbmRleCAzODE0MGE1NjRhZDNiOTQ1NDUyNGRjZjkzYzVmZWU2ZDdjYzNiODNmLi5mZGZhMTU4
ZDYxMjNlNDhhNGUzZTA5MTkwNTc4Mzg4ODQ2OWExNTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvYm1h
bGxvYy9ibWFsbG9jL1BhZ2UuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1BhZ2UuaApA
QCAtMzYsOCArMzYsOSBAQCBuYW1lc3BhY2UgYm1hbGxvYyB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBU
cmFpdHM+CiBjbGFzcyBQYWdlIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0
czo6Q2h1bmsgQ2h1bms7Ci0gICAgdHlwZWRlZiB0eXBlbmFtZSBUcmFpdHM6OkxpbmUgTGluZTsK
KyAgICB0eXBlZGVmIHR5cGVuYW1lIFRyYWl0czo6Q2h1bmtUeXBlIENodW5rOworICAgIHR5cGVk
ZWYgdHlwZW5hbWUgVHJhaXRzOjpMaW5lVHlwZSBMaW5lOworCiAgICAgc3RhdGljIGNvbnN0IHNp
emVfdCBsaW5lU2l6ZSA9IFRyYWl0czo6bGluZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVf
dCBsaW5lQ291bnQgPSB2bVBhZ2VTaXplIC8gbGluZVNpemU7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9ibWFsbG9jL2JtYWxsb2MvUGVyVGhyZWFkLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1Bl
clRocmVhZC5oCmluZGV4IDAyZjA3ZTE2NTJhN2E2YTM0N2ZhODA2YzI1NmYzYTg1MTVlMGI4ZWEu
LjMwYTZiYjI4NjNjNGRmYTMwZmY4ZTdmOTcyMDdlYjBjYjE3ZWJjMjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9ibWFsbG9jL2JtYWxsb2MvUGVyVGhyZWFkLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9QZXJUaHJlYWQuaApAQCAtMzAsOCArMzAsMTYgQEAKICNpbmNsdWRlICJJbmxpbmUuaCIK
ICNpbmNsdWRlIDxtdXRleD4KICNpbmNsdWRlIDxwdGhyZWFkLmg+Ci0jaWYgZGVmaW5lZChfX2hh
c19pbmNsdWRlKSAmJiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+KQor
CisjaWYgZGVmaW5lZChfX2hhc19pbmNsdWRlKQorI2lmIF9faGFzX2luY2x1ZGUoPFN5c3RlbS9w
dGhyZWFkX21hY2hkZXAuaD4pCiAjaW5jbHVkZSA8U3lzdGVtL3B0aHJlYWRfbWFjaGRlcC5oPgor
I2RlZmluZSBIQVZFX1BUSFJFQURfTUFDSERFUF9IIDEKKyNlbHNlCisjZGVmaW5lIEhBVkVfUFRI
UkVBRF9NQUNIREVQX0ggMAorI2VuZGlmCisjZWxzZQorI2RlZmluZSBIQVZFX1BUSFJFQURfTUFD
SERFUF9IIDAKICNlbmRpZgogCiBuYW1lc3BhY2UgYm1hbGxvYyB7CkBAIC01MCw3ICs1OCw3IEBA
IHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgZGVzdHJ1Y3Rvcih2b2lkKik7CiB9OwogCi0jaWYg
ZGVmaW5lZChfX2hhc19pbmNsdWRlKSAmJiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9t
YWNoZGVwLmg+KQorI2lmIEhBVkVfUFRIUkVBRF9NQUNIREVQX0gKIAogY2xhc3MgQ2FjaGU7CiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgUGVyVGhyZWFkU3RvcmFnZTsKQEAgLTEwMCw3ICsx
MDgsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBib29sIFBlclRocmVhZFN0b3JhZ2U8VD46OnNf
ZGlkSW5pdGlhbGl6ZTsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHB0aHJlYWRfa2V5X3QgUGVyVGhy
ZWFkU3RvcmFnZTxUPjo6c19rZXk7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdGQ6Om9uY2VfZmxh
ZyBQZXJUaHJlYWRTdG9yYWdlPFQ+OjpzX29uY2VGbGFnOwogCi0jZW5kaWYgLy8gZGVmaW5lZChf
X2hhc19pbmNsdWRlKSAmJiBfX2hhc19pbmNsdWRlKDxTeXN0ZW0vcHRocmVhZF9tYWNoZGVwLmg+
KQorI2VuZGlmCiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiBJTkxJTkUgVCogUGVyVGhyZWFkPFQ+
OjpnZXRGYXN0Q2FzZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1NtYWxs
VHJhaXRzLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1NtYWxsVHJhaXRzLmgKaW5kZXggZTQw
YzE2NmVkZDA3YmNhZmUxNzU2ZjE1ZjZhYzExNWNlYTlhMTMyMi4uODA2YjdlOGM2NjVkYTU0NDQw
M2RlZmY4MWQzOGRiOWI5MGJkYTY2NyAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9TbWFsbFRyYWl0cy5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU21hbGxUcmFpdHMu
aApAQCAtMzUsOSArMzUsOSBAQCB0ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+IGNsYXNzIExpbmU7CiB0
ZW1wbGF0ZTxjbGFzcyBUcmFpdHM+IGNsYXNzIFBhZ2U7CiAKIHN0cnVjdCBTbWFsbFRyYWl0cyB7
Ci0gICAgdHlwZWRlZiBDaHVuazxTbWFsbFRyYWl0cz4gQ2h1bms7Ci0gICAgdHlwZWRlZiBMaW5l
PFNtYWxsVHJhaXRzPiBMaW5lOwotICAgIHR5cGVkZWYgUGFnZTxTbWFsbFRyYWl0cz4gUGFnZTsK
KyAgICB0eXBlZGVmIENodW5rPFNtYWxsVHJhaXRzPiBDaHVua1R5cGU7CisgICAgdHlwZWRlZiBM
aW5lPFNtYWxsVHJhaXRzPiBMaW5lVHlwZTsKKyAgICB0eXBlZGVmIFBhZ2U8U21hbGxUcmFpdHM+
IFBhZ2VUeXBlOwogCiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBsaW5lU2l6ZSA9IHNtYWxsTGlu
ZVNpemU7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBtaW5pbXVtT2JqZWN0U2l6ZSA9IGFsaWdu
bWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvVk1BbGxvY2F0ZS5oIGIv
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9WTUFsbG9jYXRlLmgKaW5kZXggOTQwNjM1OGFlNTFmNTli
MDhmZDY3NTlkNTJjZTlhODIyNWEzNDY0ZS4uOGYzZWE1ZmJkZDVhZTUzNDIwZDU4NjNiMmY5NzYy
YzhmZGViYzA3ZCAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WTUFsbG9jYXRl
LmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WTUFsbG9jYXRlLmgKQEAgLTMxLDEzICsz
MSwyMCBAQAogI2luY2x1ZGUgIlNpemVzLmgiCiAjaW5jbHVkZSAiU3lzY2FsbC5oIgogI2luY2x1
ZGUgPGFsZ29yaXRobT4KLSNpbmNsdWRlIDxtYWNoL3ZtX3N0YXRpc3RpY3MuaD4KICNpbmNsdWRl
IDxzeXMvbW1hbi5oPgogI2luY2x1ZGUgPHVuaXN0ZC5oPgogCisjaWYgQk9TKERBUldJTikKKyNp
bmNsdWRlIDxtYWNoL3ZtX3N0YXRpc3RpY3MuaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgYm1hbGxv
YyB7CiAKKyNpZiBCT1MoREFSV0lOKQogI2RlZmluZSBCTUFMTE9DX1ZNX1RBRyBWTV9NQUtFX1RB
RyhWTV9NRU1PUllfVENNQUxMT0MpCisjZWxzZQorI2RlZmluZSBCTUFMTE9DX1ZNX1RBRyAtMQor
I2VuZGlmCiAKIGlubGluZSBzaXplX3Qgdm1TaXplKHNpemVfdCBzaXplKQogewpAQCAtMTA3LDEz
ICsxMTQsMjEgQEAgaW5saW5lIHZvaWQqIHZtQWxsb2NhdGUoc2l6ZV90IHZtQWxpZ25tZW50LCBz
aXplX3Qgdm1TaXplKQogaW5saW5lIHZvaWQgdm1EZWFsbG9jYXRlUGh5c2ljYWxQYWdlcyh2b2lk
KiBwLCBzaXplX3Qgdm1TaXplKQogewogICAgIHZtVmFsaWRhdGUocCwgdm1TaXplKTsKKyNpZiBC
T1MoREFSV0lOKQogICAgIFNZU0NBTEwobWFkdmlzZShwLCB2bVNpemUsIE1BRFZfRlJFRV9SRVVT
QUJMRSkpOworI2Vsc2UKKyAgICBTWVNDQUxMKG1hZHZpc2UocCwgdm1TaXplLCBNQURWX0RPTlRO
RUVEKSk7CisjZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgdm1BbGxvY2F0ZVBoeXNpY2FsUGFnZXMo
dm9pZCogcCwgc2l6ZV90IHZtU2l6ZSkKIHsKICAgICB2bVZhbGlkYXRlKHAsIHZtU2l6ZSk7Cisj
aWYgQk9TKERBUldJTikKICAgICBTWVNDQUxMKG1hZHZpc2UocCwgdm1TaXplLCBNQURWX0ZSRUVf
UkVVU0UpKTsKKyNlbHNlCisgICAgU1lTQ0FMTChtYWR2aXNlKHAsIHZtU2l6ZSwgTUFEVl9OT1JN
QUwpKTsKKyNlbmRpZgogfQogCiAvLyBUcmltcyByZXF1ZXN0cyB0aGF0IGFyZSB1bi1wYWdlLWFs
aWduZWQuIE5PVEU6IHNpemUgbXVzdCBiZSBhdCBsZWFzdCBhIHBhZ2UuCmRpZmYgLS1naXQgYS9T
b3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZlY3Rvci5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9W
ZWN0b3IuaAppbmRleCA1YTA2ODhlMmRkZWU5MDQwYmI4NTQwZjAzMTYyODBjN2NlM2E2ZGZmLi41
YjQxMTJiZTYzY2M5N2ZlMTQ2MTRhODA4NjZhNjg5NjczMmQ3OTE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvYm1hbGxvYy9ibWFsbG9jL1ZlY3Rvci5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
VmVjdG9yLmgKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNsdWRlICJJbmxpbmUuaCIKICNpbmNsdWRl
ICJWTUFsbG9jYXRlLmgiCiAjaW5jbHVkZSA8Y3N0ZGRlZj4KLSNpbmNsdWRlIDxzdHJpbmc+Cisj
aW5jbHVkZSA8Y3N0cmluZz4KIAogbmFtZXNwYWNlIGJtYWxsb2MgewogCkBAIC0xMTIsNyArMTEy
LDcgQEAgdm9pZCBWZWN0b3I8VD46OnB1c2goY29uc3QgVCogYmVnaW4sIGNvbnN0IFQqIGVuZCkK
ICAgICBzaXplX3QgbmV3U2l6ZSA9IG1fc2l6ZSArIChlbmQgLSBiZWdpbik7CiAgICAgaWYgKG5l
d1NpemUgPiBtX2NhcGFjaXR5KQogICAgICAgICBncm93Q2FwYWNpdHkobmV3U2l6ZSk7Ci0gICAg
bWVtY3B5KHRoaXMtPmVuZCgpLCBiZWdpbiwgKGVuZCAtIGJlZ2luKSAqIHNpemVvZihUKSk7Cisg
ICAgc3RkOjptZW1jcHkodGhpcy0+ZW5kKCksIGJlZ2luLCAoZW5kIC0gYmVnaW4pICogc2l6ZW9m
KFQpKTsKICAgICBtX3NpemUgPSBuZXdTaXplOwogfQogCkBAIC0xNDgsNyArMTQ4LDcgQEAgdm9p
ZCBWZWN0b3I8VD46OnJlYWxsb2NhdGVCdWZmZXIoc2l6ZV90IG5ld0NhcGFjaXR5KQogICAgIHNp
emVfdCB2bVNpemUgPSBibWFsbG9jOjp2bVNpemUobmV3Q2FwYWNpdHkgKiBzaXplb2YoVCkpOwog
ICAgIFQqIG5ld0J1ZmZlciA9IHN0YXRpY19jYXN0PFQqPih2bUFsbG9jYXRlKHZtU2l6ZSkpOwog
ICAgIGlmIChtX2J1ZmZlcikgewotICAgICAgICBtZW1jcHkobmV3QnVmZmVyLCBtX2J1ZmZlciwg
bV9zaXplICogc2l6ZW9mKFQpKTsKKyAgICAgICAgc3RkOjptZW1jcHkobmV3QnVmZmVyLCBtX2J1
ZmZlciwgbV9zaXplICogc2l6ZW9mKFQpKTsKICAgICAgICAgdm1EZWFsbG9jYXRlKG1fYnVmZmVy
LCBibWFsbG9jOjp2bVNpemUobV9jYXBhY2l0eSAqIHNpemVvZihUKSkpOwogICAgIH0KIApkaWZm
IC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAppbmRleCAwOGU1NDQ0NmRj
YWRhM2U0ODNhNDZkMmQ1YjI0NTk5YjE2NjY1N2JlLi4wYTk2MmUzOWYxYjI3MTUyNzk1NjcyZTNi
NTQyNmE2YzdiZmNmNjAwIDEwMDY0NAotLS0gYS9DTWFrZUxpc3RzLnR4dAorKysgYi9DTWFrZUxp
c3RzLnR4dApAQCAtNCw2ICs0LDcgQEAgcHJvamVjdChXZWJLaXQpCiAjIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCiAjIERlZmF1bHQgbGlicmFyeSB0eXBlCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitz
ZXQoQk1BTExPQ19ESVIgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL2JtYWxsb2MiKQogc2V0
KFdURl9ESVIgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dURiIpCiBzZXQoSkFWQVNDUklQ
VENPUkVfRElSICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9KYXZhU2NyaXB0Q29yZSIpCiBz
ZXQoV0VCQ09SRV9ESVIgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYkNvcmUiKQpkaWZm
IC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDJkMWI4MGYxNGM1MDViZjVkMTBm
NmM1MDExMWQyOGI3MDIzNDMwOTguLjQ5NmQwNDUyM2UxNGMwYWIwZGMzNmI1ZDhlNmQ0YmEyNDAy
NDBkZjkgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAxNS0wMi0wOSAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29t
PgorCisgICAgICAgIFtFRkxdW0dUS10gVXNlIGJtYWxsb2MgaW5zdGVhZCBvZiB0Y21hbGxvYwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMTYyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGJtYWxs
b2MgZGlyZWN0b3J5IHRvIGJ1aWxkIGxpc3QuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDog
RGVmaW5lIEJNQUxMT0NfRElSIGRpcmVjdG9yeS4KKyAgICAgICAgKiBTb3VyY2UvQ01ha2VMaXN0
cy50eHQ6IEFkZCBibWFsbG9jIHBhdGggdG8gc3ViLWRpcmVjdG9yaWVzIGxpc3QuCisKIDIwMTUt
MDItMDUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4gYW5kIFhh
YmllciBSb2RyaWd1ZXogQ2FsdmFyIDxjYWx2YXJpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtT
dHJlYW1zIEFQSV0gSW1wbGVtZW50IGEgYmFyZWJvbmUgUmVhZGFibGVTdHJlYW0gaW50ZXJmYWNl
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>