<?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>89840</bug_id>
          
          <creation_ts>2012-06-24 17:28:56 -0700</creation_ts>
          <short_desc>[WK2][EFL]  Implement accelerated compositing on WK2 Efl port</short_desc>
          <delta_ts>2012-08-08 17:34:11 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</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>89837</dependson>
    
    <dependson>89838</dependson>
    
    <dependson>89839</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="YoungTaeck Song">youngtaeck.song</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hausmann</cc>
    
    <cc>igor.oliveira</cc>
    
    <cc>joone</cc>
    
    <cc>kenneth</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>noam</cc>
    
    <cc>rakuco</cc>
    
    <cc>sw0524.lee</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yoon</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>656283</commentid>
    <comment_count>0</comment_count>
    <who name="YoungTaeck Song">youngtaeck.song</who>
    <bug_when>2012-06-24 17:28:56 -0700</bug_when>
    <thetext>Implement accelerated composition with TiledBackingStore on WK2 Efl port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>656287</commentid>
    <comment_count>1</comment_count>
      <attachid>149213</attachid>
    <who name="YoungTaeck Song">youngtaeck.song</who>
    <bug_when>2012-06-24 17:30:05 -0700</bug_when>
    <thetext>Created attachment 149213
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>656301</commentid>
    <comment_count>2</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-06-24 17:54:54 -0700</bug_when>
    <thetext>What a huge patch. It&apos;d be good if Igor could take a look at the AC-specific parts. As for the rest, you shouldn&apos;t need to add those new files to the build system conditionally, as their code should already be protected by #ifdefs. Plus, isn&apos;t it possible to make all this conditional and not require OpenGL and the rest?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>656305</commentid>
    <comment_count>3</comment_count>
      <attachid>149213</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-06-24 18:07:24 -0700</bug_when>
    <thetext>Comment on attachment 149213
patch

Attachment 149213 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13029940</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>656321</commentid>
    <comment_count>4</comment_count>
      <attachid>149213</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-06-24 18:49:42 -0700</bug_when>
    <thetext>Comment on attachment 149213
patch

It depends other bugs.
So clear the flags.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658209</commentid>
    <comment_count>5</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-06-26 18:28:35 -0700</bug_when>
    <thetext>Though it seems this patch is to support accelerated compositing, this patch touches many files. I think this patch is able to be separated into more smaller patches in order to be reviewed by us. If possible, it would good to file a meta bug for this feature.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658980</commentid>
    <comment_count>6</comment_count>
      <attachid>149213</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-06-27 16:54:12 -0700</bug_when>
    <thetext>Comment on attachment 149213
patch

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

I agree with gyuyoung. But I write some comment for this patch.

&gt; Source/WebKit2/PlatformEfl.cmake:98
&gt; +    &quot;${WTF_DIR}/wtf&quot;

IS it already in WebKit2/CMakeLists.txt ?

&gt; Source/WebKit2/PlatformEfl.cmake:161
&gt; +    LIST(APPEND WebKit2_INCLUDE_DIRECTORIES
&gt; +        &quot;${WEBCORE_DIR}/platform/graphics/surfaces&quot;
&gt; +        &quot;${WEBCORE_DIR}/platform/graphics/texmap&quot;
&gt; +        &quot;${WEBKIT2_DIR}/WebProcess/WebPage/web&quot;
&gt; +        &quot;${WEBKIT2_DIR}/WebProcess/WebPage/web/efl&quot;
&gt; +        ${OPENGL_INCLUDE_DIR}
&gt; +    )
&gt; +    LIST (APPEND WebKit2_LIBRARIES
&gt; +        ${OPENGL_LIBRARIES}
&gt; +    )
&gt; +    LIST (APPEND WebProcess_LIBRARIES
&gt; +        ${OPENGL_LIBRARIES}
&gt; +    )

Some of them looks not platform specific. so can we move them to CMakeLists.txt

&gt; Source/WebKit2/UIProcess/API/efl/PageClientImpl.cpp:306
&gt; +    ewk_view_did_change_contents_size(m_viewWidget, size);

I am bad with naming.
But WebKit/Efl is using XXX_changed such as ewk_view_load progress_changed.

&gt; Source/WebKit2/UIProcess/API/efl/PageClientImpl.h:46
&gt; -private:
&gt; -    PageClientImpl(WebContext*, WebPageGroup*, Evas_Object*);
&gt; -
&gt;      // PageClient
&gt;      virtual PassOwnPtr&lt;DrawingAreaProxy&gt; createDrawingAreaProxy();

Why do you move many APIs including createDrawingAreaProxy to public section?

&gt; Source/WebKit2/UIProcess/PageClient.h:136
&gt; +#if PLATFORM(QT) || PLATFORM(EFL)
&gt; +    virtual void didChangeContentsSize(const WebCore::IntSize&amp;) = 0;
&gt; +#endif

Is this for UI_SIDDE_COMPOSITING or platform specific codes?

&gt; Source/WebKit2/WebProcess/WebPage/web/efl/LayerTreeHostEfl.cpp:21
&gt; +

Unnecessary empty line.

&gt; Source/cmake/FindOpenGL.cmake:2
&gt; +# - Try to find OpenGL
&gt; +# Once done this will define

I am not sure, but at least, cmake 2.8.7 have FindOpenGl.cmake as default.

Should we really have this?

&gt; Source/cmake/OptionsEfl.cmake:153
&gt; +IF (ENABLE_WEBKIT2)
&gt; +  SET(WTF_USE_TILED_BACKING_STORE 1)
&gt; +  ADD_DEFINITIONS(-DWTF_USE_TILED_BACKING_STORE=1)

We should not have webkit2 specific options.

Now we build both webkit1 and webkit2 as a default.

&gt; Source/cmake/OptionsEfl.cmake:174
&gt; +  FIND_PACKAGE(OpenGL REQUIRED)

Indeed, I am not sure whether we should have opengl dependency as a default.

&gt; Tools/MiniBrowser/efl/main.c:102
&gt; -    app-&gt;ee = ecore_evas_new(0, 0, 0, DEFAULT_WIDTH, DEFAULT_HEIGHT, 0);
&gt; +    app-&gt;ee = ecore_evas_new(&quot;opengl_x11&quot;, 0, 0, DEFAULT_WIDTH, DEFAULT_HEIGHT, 0);

We should not fix the engine to opengl_x11.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>661229</commentid>
    <comment_count>7</comment_count>
      <attachid>149213</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-01 19:15:20 -0700</bug_when>
    <thetext>Comment on attachment 149213
patch

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

Set r- because of mentioned comments.

&gt; Source/WebKit2/UIProcess/API/efl/ViewportProcessor.cpp:33
&gt; +    , m_scaleFactor(1)

Is 1.0 correct ?

&gt; Source/cmake/FindOpenGL.cmake:41
&gt; +  IF (APPLE)

Is this correct macro ? I didn&apos;t see (APPLE) macro in CMake before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>661460</commentid>
    <comment_count>8</comment_count>
      <attachid>149213</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-07-02 06:58:27 -0700</bug_when>
    <thetext>Comment on attachment 149213
patch

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

&gt;&gt; Source/cmake/FindOpenGL.cmake:41
&gt;&gt; +  IF (APPLE)
&gt; 
&gt; Is this correct macro ? I didn&apos;t see (APPLE) macro in CMake before.

Yes, it&apos;s defined by CMake itself. See `cmake --help-variables&apos; or cmakevars(1).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671996</commentid>
    <comment_count>9</comment_count>
      <attachid>152931</attachid>
    <who name="YoungTaeck Song">youngtaeck.song</who>
    <bug_when>2012-07-17 22:46:53 -0700</bug_when>
    <thetext>Created attachment 152931
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672023</commentid>
    <comment_count>10</comment_count>
    <who name="YoungTaeck Song">youngtaeck.song</who>
    <bug_when>2012-07-17 23:27:45 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; What a huge patch. It&apos;d be good if Igor could take a look at the AC-specific parts. As for the rest, you shouldn&apos;t need to add those new files to the build system conditionally, as their code should already be protected by #ifdefs. Plus, isn&apos;t it possible to make all this conditional and not require OpenGL and the rest?

I&apos;m Sorry about a huge patch. 
I splited this patch into 6 patches.
New patch 152931 is still big.
But Most are definitions or cmake work.
And removed conditional code in cmake files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672024</commentid>
    <comment_count>11</comment_count>
    <who name="YoungTaeck Song">youngtaeck.song</who>
    <bug_when>2012-07-17 23:28:35 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Though it seems this patch is to support accelerated compositing, this patch touches many files. I think this patch is able to be separated into more smaller patches in order to be reviewed by us. If possible, it would good to file a meta bug for this feature.

I&apos;m Sorry about a huge patch. 
I splited this patch into 6 patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672028</commentid>
    <comment_count>12</comment_count>
    <who name="YoungTaeck Song">youngtaeck.song</who>
    <bug_when>2012-07-17 23:38:18 -0700</bug_when>
    <thetext>(In reply to comment #6)
Thank you for kind review.

&gt; (From update of attachment 149213 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=149213&amp;action=review
&gt; 
&gt; I agree with gyuyoung. But I write some comment for this patch.
&gt; 
&gt; &gt; Source/WebKit2/PlatformEfl.cmake:98
&gt; &gt; +    &quot;${WTF_DIR}/wtf&quot;
&gt; 
&gt; IS it already in WebKit2/CMakeLists.txt ?

removed.

&gt; 
&gt; &gt; Source/WebKit2/PlatformEfl.cmake:161
&gt; &gt; +    LIST(APPEND WebKit2_INCLUDE_DIRECTORIES
&gt; &gt; +        &quot;${WEBCORE_DIR}/platform/graphics/surfaces&quot;
&gt; &gt; +        &quot;${WEBCORE_DIR}/platform/graphics/texmap&quot;
&gt; &gt; +        &quot;${WEBKIT2_DIR}/WebProcess/WebPage/web&quot;
&gt; &gt; +        &quot;${WEBKIT2_DIR}/WebProcess/WebPage/web/efl&quot;
&gt; &gt; +        ${OPENGL_INCLUDE_DIR}
&gt; &gt; +    )
&gt; &gt; +    LIST (APPEND WebKit2_LIBRARIES
&gt; &gt; +        ${OPENGL_LIBRARIES}
&gt; &gt; +    )
&gt; &gt; +    LIST (APPEND WebProcess_LIBRARIES
&gt; &gt; +        ${OPENGL_LIBRARIES}
&gt; &gt; +    )
&gt; 
&gt; Some of them looks not platform specific. so can we move them to CMakeLists.txt

fixed.

&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/PageClientImpl.cpp:306
&gt; &gt; +    ewk_view_did_change_contents_size(m_viewWidget, size);
&gt; 
&gt; I am bad with naming.
&gt; But WebKit/Efl is using XXX_changed such as ewk_view_load progress_changed.
&gt; 

fixed.

&gt; &gt; Source/WebKit2/UIProcess/API/efl/PageClientImpl.h:46
&gt; &gt; -private:
&gt; &gt; -    PageClientImpl(WebContext*, WebPageGroup*, Evas_Object*);
&gt; &gt; -
&gt; &gt;      // PageClient
&gt; &gt;      virtual PassOwnPtr&lt;DrawingAreaProxy&gt; createDrawingAreaProxy();
&gt; 
&gt; Why do you move many APIs including createDrawingAreaProxy to public section?
&gt; 

I followed Qt ports. But I removed this code in patch 152931.

&gt; &gt; Source/WebKit2/UIProcess/PageClient.h:136
&gt; &gt; +#if PLATFORM(QT) || PLATFORM(EFL)
&gt; &gt; +    virtual void didChangeContentsSize(const WebCore::IntSize&amp;) = 0;
&gt; &gt; +#endif
&gt; 
&gt; Is this for UI_SIDDE_COMPOSITING or platform specific codes?
&gt; 

Qt port is using this code for UI_SIDDE_COMPOSITING and platform specific purpose.
Efl is just using for UI_SIDDE_COMPOSITING.

&gt; &gt; Source/WebKit2/WebProcess/WebPage/web/efl/LayerTreeHostEfl.cpp:21
&gt; &gt; +
&gt; 
&gt; Unnecessary empty line.

fixed.

&gt; 
&gt; &gt; Source/cmake/FindOpenGL.cmake:2
&gt; &gt; +# - Try to find OpenGL
&gt; &gt; +# Once done this will define
&gt; 
&gt; I am not sure, but at least, cmake 2.8.7 have FindOpenGl.cmake as default.
&gt; 
&gt; Should we really have this?

Thank. I didn&apos;t know that cmake has FindOpenGl.cmake as default.
removed this code.

&gt; 
&gt; &gt; Source/cmake/OptionsEfl.cmake:153
&gt; &gt; +IF (ENABLE_WEBKIT2)
&gt; &gt; +  SET(WTF_USE_TILED_BACKING_STORE 1)
&gt; &gt; +  ADD_DEFINITIONS(-DWTF_USE_TILED_BACKING_STORE=1)
&gt; 
&gt; We should not have webkit2 specific options.
&gt; 
&gt; Now we build both webkit1 and webkit2 as a default.
&gt; 

fixed

&gt; &gt; Source/cmake/OptionsEfl.cmake:174
&gt; &gt; +  FIND_PACKAGE(OpenGL REQUIRED)
&gt; 
&gt; Indeed, I am not sure whether we should have opengl dependency as a default.

I moved this code inside WTF_USE_UI_SIDE_COMPOSITING.
&gt; 
&gt; &gt; Tools/MiniBrowser/efl/main.c:102
&gt; &gt; -    app-&gt;ee = ecore_evas_new(0, 0, 0, DEFAULT_WIDTH, DEFAULT_HEIGHT, 0);
&gt; &gt; +    app-&gt;ee = ecore_evas_new(&quot;opengl_x11&quot;, 0, 0, DEFAULT_WIDTH, DEFAULT_HEIGHT, 0);
&gt; 
&gt; We should not fix the engine to opengl_x11.

I added a MiniBrowser&apos;s option for evas engine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672033</commentid>
    <comment_count>13</comment_count>
    <who name="YoungTaeck Song">youngtaeck.song</who>
    <bug_when>2012-07-17 23:41:11 -0700</bug_when>
    <thetext>(In reply to comment #7)

Thank you for kind review.

&gt; (From update of attachment 149213 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=149213&amp;action=review
&gt; 
&gt; Set r- because of mentioned comments.
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/ViewportProcessor.cpp:33
&gt; &gt; +    , m_scaleFactor(1)
&gt; 
&gt; Is 1.0 correct ?
&gt; 

Yes, it is.

&gt; &gt; Source/cmake/FindOpenGL.cmake:41
&gt; &gt; +  IF (APPLE)
&gt; 
&gt; Is this correct macro ? I didn&apos;t see (APPLE) macro in CMake before.
I removed this file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672204</commentid>
    <comment_count>14</comment_count>
      <attachid>152931</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-18 03:41:33 -0700</bug_when>
    <thetext>Comment on attachment 152931
patch

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

&gt; Source/WebKit2/PlatformEfl.cmake:51
&gt; +    UIProcess/API/efl/ViewportProcessor.cpp

Nit: Upper-case file has placed above lower-case file.

&gt; Source/WebKit2/PlatformEfl.cmake:145
&gt; +    ${OPENGL_LIBRARIES}

Nit : It looks OPENGL_LIBRARIES needs to be moved to above SQLITE_LIBRARIES for alphabetical order.

&gt; Source/WebKit2/PlatformEfl.cmake:161
&gt; +    ${OPENGL_LIBRARIES}

ditto.

&gt; Source/WebKit2/UIProcess/API/efl/PageClientImpl.cpp:54
&gt; +    page()-&gt;pageGroup()-&gt;preferences()-&gt;setAcceleratedDrawingEnabled(true);

Is it better to use m_page instead of page() ? Is there any reason ?

&gt; Source/WebKit2/UIProcess/API/efl/PageClientImpl.cpp:296
&gt; +#if USE(UI_SIDE_COMPOSITING)

Why do you use this macro function inside? Is this public API? I think we have to use macro function outside except for public APIs.

&gt; Source/WebKit2/UIProcess/API/efl/PageClientImpl.h:109
&gt; +    virtual void didChangeContentsSize(const WebCore::IntSize&amp;);

Don&apos;t you need to use USE(UI_SIDE_COMPOSITING) as well ?

&gt; Source/WebKit2/UIProcess/API/efl/ViewportProcessor.cpp:67
&gt; +    // adjust VisibleContentRect

Nit : s/adjust/Adjust/g

&gt; Source/WebKit2/UIProcess/API/efl/ViewportProcessor.h:47
&gt; +    ViewportProcessor(PageClientImpl*);

Use *explicit* keyword.

&gt; Source/WebKit2/UIProcess/API/efl/ViewportProcessor.h:51
&gt; +    float m_scaleFactor;

Nit : I think it is better to move to below m_viewportSize because of gathering similar type variables.

&gt; Tools/MiniBrowser/efl/CMakeLists.txt:33
&gt; +    ${OPENGL_LIBRARIES}

ditto.

&gt; Tools/WebKitTestRunner/PlatformEfl.cmake:46
&gt; +    ${OPENGL_LIBRARIES}

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673099</commentid>
    <comment_count>15</comment_count>
      <attachid>153162</attachid>
    <who name="YoungTaeck Song">youngtaeck.song</who>
    <bug_when>2012-07-18 19:40:31 -0700</bug_when>
    <thetext>Created attachment 153162
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673110</commentid>
    <comment_count>16</comment_count>
    <who name="YoungTaeck Song">youngtaeck.song</who>
    <bug_when>2012-07-18 19:52:30 -0700</bug_when>
    <thetext>(In reply to comment #14)

Thanks for your review.

&gt; (From update of attachment 152931 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=152931&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/PlatformEfl.cmake:51
&gt; &gt; +    UIProcess/API/efl/ViewportProcessor.cpp
&gt; 
&gt; Nit: Upper-case file has placed above lower-case file.
&gt; 

fixed.

&gt; &gt; Source/WebKit2/PlatformEfl.cmake:145
&gt; &gt; +    ${OPENGL_LIBRARIES}
&gt; 
&gt; Nit : It looks OPENGL_LIBRARIES needs to be moved to above SQLITE_LIBRARIES for alphabetical order.
&gt; 
&gt; &gt; Source/WebKit2/PlatformEfl.cmake:161
&gt; &gt; +    ${OPENGL_LIBRARIES}
&gt; 
&gt; ditto.
&gt; 

fixed.

&gt; &gt; Source/WebKit2/UIProcess/API/efl/PageClientImpl.cpp:54
&gt; &gt; +    page()-&gt;pageGroup()-&gt;preferences()-&gt;setAcceleratedDrawingEnabled(true);
&gt; 
&gt; Is it better to use m_page instead of page() ? Is there any reason ?
&gt; 

fixed.

&gt; &gt; Source/WebKit2/UIProcess/API/efl/PageClientImpl.cpp:296
&gt; &gt; +#if USE(UI_SIDE_COMPOSITING)
&gt; 
&gt; Why do you use this macro function inside? Is this public API? I think we have to use macro function outside except for public APIs.
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/PageClientImpl.h:109
&gt; &gt; +    virtual void didChangeContentsSize(const WebCore::IntSize&amp;);
&gt; 
&gt; Don&apos;t you need to use USE(UI_SIDE_COMPOSITING) as well ?
&gt; 

didChangeContentsSize is port specific and not just for USE(UI_SIDE_COMPOSITING). 
We shared Qt&apos;s didChangeContentsSize, and Qt&apos;s didChangeContentsSize has both  UI_SIDE_COMPOSITING and port specific.
So I removed  USE(UI_SIDE_COMPOSITING) at PageClientImpl.cpp:296 and outside ewk_view_contents_size_changed.

&gt; &gt; Source/WebKit2/UIProcess/API/efl/ViewportProcessor.cpp:67
&gt; &gt; +    // adjust VisibleContentRect
&gt; 
&gt; Nit : s/adjust/Adjust/g
&gt; 

fixed.

&gt; &gt; Source/WebKit2/UIProcess/API/efl/ViewportProcessor.h:47
&gt; &gt; +    ViewportProcessor(PageClientImpl*);
&gt; 
&gt; Use *explicit* keyword.
&gt; 

fixed.

&gt; &gt; Source/WebKit2/UIProcess/API/efl/ViewportProcessor.h:51
&gt; &gt; +    float m_scaleFactor;
&gt; 
&gt; Nit : I think it is better to move to below m_viewportSize because of gathering similar type variables.

fixed.

&gt; 
&gt; &gt; Tools/MiniBrowser/efl/CMakeLists.txt:33
&gt; &gt; +    ${OPENGL_LIBRARIES}
&gt; 
&gt; ditto.
&gt; 
&gt; &gt; Tools/WebKitTestRunner/PlatformEfl.cmake:46
&gt; &gt; +    ${OPENGL_LIBRARIES}
&gt; 
&gt; ditto.

fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673312</commentid>
    <comment_count>17</comment_count>
      <attachid>153162</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-07-19 01:56:21 -0700</bug_when>
    <thetext>Comment on attachment 153162
Patch

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

&gt; Source/WebKit2/Shared/WebCoreArgumentCoders.h:70
&gt; +#if PLATFORM(QT) || PLATFORM(EFL)

It looks like the en/de-coders for types like FloatPoint3D that this section forward-declares are wrapped in #if USE(UI_SIDE_COMPOSITING), so perhaps
this #if PLATFORM(QT) should also be changed to use UI_SIDE_COMPOSITING instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673409</commentid>
    <comment_count>18</comment_count>
      <attachid>153234</attachid>
    <who name="YoungTaeck Song">youngtaeck.song</who>
    <bug_when>2012-07-19 05:34:31 -0700</bug_when>
    <thetext>Created attachment 153234
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673413</commentid>
    <comment_count>19</comment_count>
    <who name="YoungTaeck Song">youngtaeck.song</who>
    <bug_when>2012-07-19 05:39:46 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 153162 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=153162&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/Shared/WebCoreArgumentCoders.h:70
&gt; &gt; +#if PLATFORM(QT) || PLATFORM(EFL)
&gt; 
&gt; It looks like the en/de-coders for types like FloatPoint3D that this section forward-declares are wrapped in #if USE(UI_SIDE_COMPOSITING), so perhaps
&gt; this #if PLATFORM(QT) should also be changed to use UI_SIDE_COMPOSITING instead?

Thank you for kind review.
I changed PLATFORM(QT) to UI_SIDE_COMPOSITING.
And removed some classes that don&apos;t be used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674410</commentid>
    <comment_count>20</comment_count>
      <attachid>153234</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-07-20 03:18:15 -0700</bug_when>
    <thetext>Comment on attachment 153234
Patch

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

&gt; Source/WebKit2/UIProcess/API/efl/ViewportProcessor.cpp:33
&gt; +ViewportProcessor::ViewportProcessor(PageClientImpl* pageClientImpl)

I don&apos;t like the name :-) plus it seems to be slightly related to the QtViewportHandler which though does much more. Anyway there are plans to make the QtViewportHandler cross platform</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674412</commentid>
    <comment_count>21</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-07-20 03:19:31 -0700</bug_when>
    <thetext>Noam can you please look at this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>674589</commentid>
    <comment_count>22</comment_count>
      <attachid>153234</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-07-20 08:20:48 -0700</bug_when>
    <thetext>Comment on attachment 153234
Patch

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

the changes to UI-side compositing look good to me. If this was peer reviewed you can have my r+ (minus the nitpicks), or kenneth can r+ it :)

&gt; Source/WebKit2/UIProcess/API/efl/PageClientImpl.cpp:54
&gt; +    m_page-&gt;pageGroup()-&gt;preferences()-&gt;setAcceleratedDrawingEnabled(true);

I don&apos;t think this is right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676335</commentid>
    <comment_count>23</comment_count>
      <attachid>153940</attachid>
    <who name="YoungTaeck Song">youngtaeck.song</who>
    <bug_when>2012-07-23 19:39:34 -0700</bug_when>
    <thetext>Created attachment 153940
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676344</commentid>
    <comment_count>24</comment_count>
    <who name="YoungTaeck Song">youngtaeck.song</who>
    <bug_when>2012-07-23 19:58:57 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; (From update of attachment 153234 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=153234&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/ViewportProcessor.cpp:33
&gt; &gt; +ViewportProcessor::ViewportProcessor(PageClientImpl* pageClientImpl)
&gt; 
&gt; I don&apos;t like the name :-) plus it seems to be slightly related to the QtViewportHandler which though does much more. Anyway there are plans to make the QtViewportHandler cross platform

Thank you for kind review.
And sorry too late.

I changed this class name to EflViewportProcessor.
About making the QtViewportHandler cross platform, Almost are filled with Qt specific code and Qt related codes in QtViewportHandler.cpp.
So I think it is good to do not extracting common code from QtViewportHandler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676345</commentid>
    <comment_count>25</comment_count>
    <who name="YoungTaeck Song">youngtaeck.song</who>
    <bug_when>2012-07-23 19:59:43 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; (From update of attachment 153234 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=153234&amp;action=review
&gt; 
&gt; the changes to UI-side compositing look good to me. If this was peer reviewed you can have my r+ (minus the nitpicks), or kenneth can r+ it :)
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/PageClientImpl.cpp:54
&gt; &gt; +    m_page-&gt;pageGroup()-&gt;preferences()-&gt;setAcceleratedDrawingEnabled(true);
&gt; 
&gt; I don&apos;t think this is right.

Thank you for kind review.
And sorry too late.

I removed this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676350</commentid>
    <comment_count>26</comment_count>
      <attachid>153940</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-23 20:30:31 -0700</bug_when>
    <thetext>Comment on attachment 153940
Patch

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

&gt; Source/WebKit2/UIProcess/API/efl/EflViewportHandler.cpp:18
&gt; + */

It looks UIProcess/API/efl/ has used Apple BSD license.

&gt; Source/WebKit2/UIProcess/API/efl/EflViewportHandler.h:4
&gt; +    This library is free software; you can redistribute it and/or

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676417</commentid>
    <comment_count>27</comment_count>
    <who name="YoungTaeck Song">youngtaeck.song</who>
    <bug_when>2012-07-23 23:11:17 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; (From update of attachment 153940 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=153940&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/EflViewportHandler.cpp:18
&gt; &gt; + */
&gt; 
&gt; It looks UIProcess/API/efl/ has used Apple BSD license.
We decided that use this licence to new file.
Please see ewk_view.cpp.

&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/EflViewportHandler.h:4
&gt; &gt; +    This library is free software; you can redistribute it and/or
&gt; 
&gt; ditto.
ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681640</commentid>
    <comment_count>28</comment_count>
      <attachid>155194</attachid>
    <who name="YoungTaeck Song">youngtaeck.song</who>
    <bug_when>2012-07-29 18:52:30 -0700</bug_when>
    <thetext>Created attachment 155194
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681698</commentid>
    <comment_count>29</comment_count>
      <attachid>155194</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-07-29 23:01:46 -0700</bug_when>
    <thetext>Comment on attachment 155194
Patch

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

&gt; Source/WebKit2/UIProcess/API/efl/EflViewportHandler.cpp:83
&gt; +    if (m_visibleContentRect.x() &gt; contentsSize.width() - m_visibleContentRect.width())
&gt; +        m_visibleContentRect.setX(contentsSize.width() - m_visibleContentRect.width());
&gt; +    if (m_visibleContentRect.x() &lt; 0)
&gt; +        m_visibleContentRect.setX(0);
&gt; +    if (m_visibleContentRect.y() &gt; contentsSize.height() - m_visibleContentRect.height())
&gt; +        m_visibleContentRect.setY(contentsSize.height() - m_visibleContentRect.height());
&gt; +    if (m_visibleContentRect.y() &lt; 0)
&gt; +        m_visibleContentRect.setY(0);

This code is hard to read. Is this an intersect? Or is this a copy from some Qt code?
If it&apos;s an intersection, please use IntRect::intersect. If not, please add some comments to clarify.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682768</commentid>
    <comment_count>30</comment_count>
    <who name="YoungTaeck Song">youngtaeck.song</who>
    <bug_when>2012-07-30 23:57:53 -0700</bug_when>
    <thetext>(In reply to comment #29)
&gt; (From update of attachment 155194 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=155194&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/EflViewportHandler.cpp:83
&gt; &gt; +    if (m_visibleContentRect.x() &gt; contentsSize.width() - m_visibleContentRect.width())
&gt; &gt; +        m_visibleContentRect.setX(contentsSize.width() - m_visibleContentRect.width());
&gt; &gt; +    if (m_visibleContentRect.x() &lt; 0)
&gt; &gt; +        m_visibleContentRect.setX(0);
&gt; &gt; +    if (m_visibleContentRect.y() &gt; contentsSize.height() - m_visibleContentRect.height())
&gt; &gt; +        m_visibleContentRect.setY(contentsSize.height() - m_visibleContentRect.height());
&gt; &gt; +    if (m_visibleContentRect.y() &lt; 0)
&gt; &gt; +        m_visibleContentRect.setY(0);
&gt; 
&gt; This code is hard to read. Is this an intersect? Or is this a copy from some Qt code?
&gt; If it&apos;s an intersection, please use IntRect::intersect. If not, please add some comments to clarify.

Thanks for kind review.
And I&apos;m very sorry too late.

This code is for moving visibleContentRect inside content rect when visibleContentRect is out of the content rect.
Efl&apos;s webview doesn&apos;t know contents size, so We have to use this code.

I&apos;ll use more clear comments at next patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687708</commentid>
    <comment_count>31</comment_count>
      <attachid>155194</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-08-05 19:01:47 -0700</bug_when>
    <thetext>Comment on attachment 155194
Patch

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

&gt; Source/WebKit2/UIProcess/API/efl/EflViewportHandler.cpp:58
&gt; +    renderer-&gt;paintToCurrentGLContext(matrix, 1.0f, rect);

Though there was a little argument in EFL port, webkit coding style guides that floating point literals aren&apos;t appeneded .0, .f and .0f to .

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1328
&gt; +    EWK_VIEW_PRIV_GET(smartData, priv);

To prevent crash, I think you need to use &quot;EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv)&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687804</commentid>
    <comment_count>32</comment_count>
      <attachid>156606</attachid>
    <who name="YoungTaeck Song">youngtaeck.song</who>
    <bug_when>2012-08-05 23:55:07 -0700</bug_when>
    <thetext>Created attachment 156606
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687810</commentid>
    <comment_count>33</comment_count>
    <who name="YoungTaeck Song">youngtaeck.song</who>
    <bug_when>2012-08-06 00:06:11 -0700</bug_when>
    <thetext>(In reply to comment #31)
Thanks for kind review.
&gt; (From update of attachment 155194 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=155194&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/EflViewportHandler.cpp:58
&gt; &gt; +    renderer-&gt;paintToCurrentGLContext(matrix, 1.0f, rect);
&gt; 
&gt; Though there was a little argument in EFL port, webkit coding style guides that floating point literals aren&apos;t appeneded .0, .f and .0f to .
fixed.
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:1328
&gt; &gt; +    EWK_VIEW_PRIV_GET(smartData, priv);
&gt; 
&gt; To prevent crash, I think you need to use &quot;EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv)&quot;
fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687814</commentid>
    <comment_count>34</comment_count>
      <attachid>156606</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-08-06 00:11:45 -0700</bug_when>
    <thetext>Comment on attachment 156606
Patch

Attachment 156606 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13435704</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687930</commentid>
    <comment_count>35</comment_count>
      <attachid>156639</attachid>
    <who name="YoungTaeck Song">youngtaeck.song</who>
    <bug_when>2012-08-06 02:47:45 -0700</bug_when>
    <thetext>Created attachment 156639
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688655</commentid>
    <comment_count>36</comment_count>
      <attachid>156639</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-08-06 18:38:36 -0700</bug_when>
    <thetext>Comment on attachment 156639
Patch

As a basic implementation for accelerated compositing for WK2, looks good to me. But, I think this patch needs to be reviewed by proper reviewers again. I think Kenneth and Noam are them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689127</commentid>
    <comment_count>37</comment_count>
      <attachid>156639</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-08-07 07:25:16 -0700</bug_when>
    <thetext>Comment on attachment 156639
Patch

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

Looks good! Please fix Changelog wording before landing.

&gt; Source/WebKit2/ChangeLog:9
&gt; +        These codes are based on COORDINATED_GRAPHICS.

These codes -&gt; This implementation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689795</commentid>
    <comment_count>38</comment_count>
      <attachid>157093</attachid>
    <who name="YoungTaeck Song">youngtaeck.song</who>
    <bug_when>2012-08-07 20:06:15 -0700</bug_when>
    <thetext>Created attachment 157093
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689801</commentid>
    <comment_count>39</comment_count>
    <who name="YoungTaeck Song">youngtaeck.song</who>
    <bug_when>2012-08-07 20:12:25 -0700</bug_when>
    <thetext>(In reply to comment #37)
Thank you for everything you&apos;ve done for me. :)

&gt; (From update of attachment 156639 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=156639&amp;action=review
&gt; 
&gt; Looks good! Please fix Changelog wording before landing.
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:9
&gt; &gt; +        These codes are based on COORDINATED_GRAPHICS.
&gt; 
&gt; These codes -&gt; This implementation
fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689804</commentid>
    <comment_count>40</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-08-07 20:23:24 -0700</bug_when>
    <thetext>(In reply to comment #39)
&gt; (In reply to comment #37)
&gt; Thank you for everything you&apos;ve done for me. :)
Thanks for considering to use coordinated graphics and making it work for EFL!
The more code we share the better, and if what it takes is a couple of reviews I&apos;m fine with it...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689906</commentid>
    <comment_count>41</comment_count>
      <attachid>157093</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-07 22:38:44 -0700</bug_when>
    <thetext>Comment on attachment 157093
Patch

Clearing flags on attachment: 157093

Committed r124989: &lt;http://trac.webkit.org/changeset/124989&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689908</commentid>
    <comment_count>42</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-07 22:38:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689939</commentid>
    <comment_count>43</comment_count>
    <who name="YoungTaeck Song">youngtaeck.song</who>
    <bug_when>2012-08-07 23:01:15 -0700</bug_when>
    <thetext>(In reply to comment #40)
&gt; (In reply to comment #39)
&gt; &gt; (In reply to comment #37)
&gt; &gt; Thank you for everything you&apos;ve done for me. :)
&gt; Thanks for considering to use coordinated graphics and making it work for EFL!
&gt; The more code we share the better, and if what it takes is a couple of reviews I&apos;m fine with it...

It is a pleasure and honor for me to use your great work!
This patch is first step of WK2 EFL COORDINATED_GRAPHICS.
I&apos;ll advance this feature step by step.

And I&apos;ll request your review about new patches after I accept r+ from Efl committers, :)

Thank you again!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690189</commentid>
    <comment_count>44</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-08-08 05:28:08 -0700</bug_when>
    <thetext>(In reply to comment #43)
&gt; (In reply to comment #40)
&gt; &gt; (In reply to comment #39)
&gt; &gt; &gt; (In reply to comment #37)
&gt; &gt; &gt; Thank you for everything you&apos;ve done for me. :)
&gt; &gt; Thanks for considering to use coordinated graphics and making it work for EFL!
&gt; &gt; The more code we share the better, and if what it takes is a couple of reviews I&apos;m fine with it...
&gt; 
&gt; It is a pleasure and honor for me to use your great work!
&gt; This patch is first step of WK2 EFL COORDINATED_GRAPHICS.
&gt; I&apos;ll advance this feature step by step.
&gt; 
&gt; And I&apos;ll request your review about new patches after I accept r+ from Efl committers, :)
&gt; 
&gt; Thank you again!

Did you see the nice documentation? http://trac.webkit.org/wiki/CoordinatedGraphicsSystem

Kenneth</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691003</commentid>
    <comment_count>45</comment_count>
    <who name="YoungTaeck Song">youngtaeck.song</who>
    <bug_when>2012-08-08 17:34:11 -0700</bug_when>
    <thetext>(In reply to comment #44)
&gt; (In reply to comment #43)
&gt; &gt; (In reply to comment #40)
&gt; &gt; &gt; (In reply to comment #39)
&gt; &gt; &gt; &gt; (In reply to comment #37)
&gt; &gt; &gt; &gt; Thank you for everything you&apos;ve done for me. :)
&gt; &gt; &gt; Thanks for considering to use coordinated graphics and making it work for EFL!
&gt; &gt; &gt; The more code we share the better, and if what it takes is a couple of reviews I&apos;m fine with it...
&gt; &gt; 
&gt; &gt; It is a pleasure and honor for me to use your great work!
&gt; &gt; This patch is first step of WK2 EFL COORDINATED_GRAPHICS.
&gt; &gt; I&apos;ll advance this feature step by step.
&gt; &gt; 
&gt; &gt; And I&apos;ll request your review about new patches after I accept r+ from Efl committers, :)
&gt; &gt; 
&gt; &gt; Thank you again!
&gt; 
&gt; Did you see the nice documentation? http://trac.webkit.org/wiki/CoordinatedGraphicsSystem
&gt; 
&gt; Kenneth

Yes! I already saw it.
Thanks for the great documentation.
My co-workers also read with effect.
If we have some questions or suggestions, we will attach this documentation soon.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149213</attachid>
            <date>2012-06-24 17:30:05 -0700</date>
            <delta_ts>2012-07-02 06:58:27 -0700</delta_ts>
            <desc>patch</desc>
            <filename>Implement-accelerated-compositing.diff</filename>
            <type>text/plain</type>
            <size>49540</size>
            <attacher name="YoungTaeck Song">youngtaeck.song</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA3Mzk1YWUwLi44MTcwNDVh
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTItMDYtMjQgIFlvdW5nVGFlY2sgU29uZyAgPHlvdW5ndGFlY2suc29uZ0BzYW1zdW5nLmNv
bT4KKworICAgICAgICBbV0syXVtFRkxdICBJbXBsZW1lbnQgYWNjZWxlcmF0ZWQgY29tcG9zaXRp
bmcgb24gV0syIEVmbCBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04OTg0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEltcGxlbWVudCBhY2NlbGVyYXRlZCBjb21wb3NpdGlvbiB3aXRoIFRpbGVkQmFj
a2luZ1N0b3JlIG9uIFdLMiBFZmwgcG9ydC4KKyAgICAgICAgVGhlc2UgY29kZXMgYXJlIGJhc2Vk
IG9uIFF0IFBvcnTigJlzIFVJX1NJREVfQ09NUE9TSVRJTkcuCisKKyAgICAgICAgKiBTb3VyY2Uv
Y21ha2UvRmluZE9wZW5HTC5jbWFrZTogQWRkZWQuCisgICAgICAgICogU291cmNlL2NtYWtlL09w
dGlvbnNFZmwuY21ha2U6CisKIDIwMTItMDYtMjIgIEpvc2h1YSBOZXR0ZXJmaWVsZCAgPGpuZXR0
ZXJmaWVsZEByaW0uY29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBTYW5pdGl6ZSBHTFNMIGNv
ZGUgdXNpbmcgQU5HTEUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGZjZGVhYmEuLmY3MjIyYTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yNjMwLDYgKzI2MzAsMzIgQEAgaWYgKEVOQUJMRV9R
VU9UQSkKICAgICApCiBFTkRJRiAoKQogCitJRiAoV1RGX1VTRV9USUxFRF9CQUNLSU5HX1NUT1JF
KQorICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUworICAgICAgICBwbGF0Zm9ybS9ncmFw
aGljcy9UaWxlZEJhY2tpbmdTdG9yZS5jcHAKKyAgICApCitFTkRJRiAoKQorCitJRiAoV1RGX1VT
RV9URVhUVVJFX01BUFBFUikKKyAgICBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKKyAgICAg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmNw
cAorICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvTGF5ZXJUcmFuc2Zvcm0uY3BwCisg
ICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyLmNwcAorICAgICAg
ICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckFuaW1hdGlvbi5jcHAKKyAg
ICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJCYWNraW5nU3RvcmUu
Y3BwCisgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVySW1hZ2VC
dWZmZXIuY3BwCisgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
TGF5ZXIuY3BwCisgICAgKQorRU5ESUYgKCkKKworSUYgKFdURl9VU0VfVEVYVFVSRV9NQVBQRVJf
R0wpCisgICAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCisgICAgICAgIHBsYXRmb3JtL2dy
YXBoaWNzL09wZW5HTFNoaW1zLmNwcAorICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
VGV4dHVyZU1hcHBlckdMLmNwcAorICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4
dHVyZU1hcHBlclNoYWRlck1hbmFnZXIuY3BwCisgICAgKQorRU5ESUYgKCkKKwogIyBNb2R1bGVz
IHRoYXQgdGhlIGJpbmRpbmdzIGdlbmVyYXRvciBzY3JpcHRzIG1heSB1c2UKIFNFVChTQ1JJUFRT
X1JFU09MVkVfU1VQUExFTUVOVEFMCiAgICAgJHtXRUJDT1JFX0RJUn0vYmluZGluZ3Mvc2NyaXB0
cy9JRExQYXJzZXIucG0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhN2I0MzNkLi4zMjg1NWE0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMDYtMjQgIFlvdW5nVGFlY2sgU29uZyAgPHlvdW5ndGFl
Y2suc29uZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBbV0syXVtFRkxdICBJbXBsZW1lbnQgYWNj
ZWxlcmF0ZWQgY29tcG9zaXRpbmcgb24gV0syIEVmbCBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTg0MAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBhY2NlbGVyYXRlZCBjb21wb3Np
dGlvbiB3aXRoIFRpbGVkQmFja2luZ1N0b3JlIG9uIFdLMiBFZmwgcG9ydC4KKyAgICAgICAgVGhl
c2UgY29kZXMgYXJlIGJhc2VkIG9uIFF0IFBvcnTigJlzIFVJX1NJREVfQ09NUE9TSVRJTkcuCisK
KyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaDoK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoR3JhcGhpY3NMYXllcik6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5jcHA6CisKIDIwMTIt
MDYtMjQgIE9saSBMYW4gIDxvbGlsYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFmdGVyIEVk
aXRvcjo6c2V0Q29tcG9zaXRpb24gaXMgY2FsbGVkLCBpbnB1dCBzaG91bGQgc2Nyb2xsIHRvIHRo
ZSBlbmQgb2YgdGhlIGNvbXBvc2l0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxh
dGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCAw
YzE5ZGQyLi4zNTkwMTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5j
bWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtNTksNyArNTks
NiBAQCBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgcGxhdGZvcm0vZWZsL1RlbXBvcmFy
eUxpbmtTdHVicy5jcHAKICAgcGxhdGZvcm0vZWZsL1dpZGdldEVmbC5jcHAKICAgcGxhdGZvcm0v
Z3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwCi0gIHBsYXRmb3JtL2dyYXBoaWNzL2VmbC9HcmFwaGlj
c0xheWVyRWZsLmNwcAogICBwbGF0Zm9ybS9ncmFwaGljcy9lZmwvSWNvbkVmbC5jcHAKICAgcGxh
dGZvcm0vZ3JhcGhpY3MvZWZsL0ltYWdlRWZsLmNwcAogICBwbGF0Zm9ybS9ncmFwaGljcy9lZmwv
SW50UG9pbnRFZmwuY3BwCkBAIC0xODIsNiArMTgxLDIwIEBAIElGIChXVEZfVVNFX0lDVV9VTklD
T0RFKQogICApCiBFTkRJRiAoKQogCitJRihOT1QgREVGSU5FRCBXVEZfVVNFX1VJX1NJREVfQ09N
UE9TSVRJTkcpCisgIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUworICAgIHBsYXRmb3JtL2dy
YXBoaWNzL2VmbC9HcmFwaGljc0xheWVyRWZsLmNwcAorICApCitFTkRJRiAoKQorCitJRiAoV1RG
X1VTRV9USUxFRF9CQUNLSU5HX1NUT1JFKQorICBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMK
KyAgICBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbnRSZWN0Q2Fpcm8uY3BwCisgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vVGlsZUNhaXJvLmNwcAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Nh
aXJvL1RpbGVkQmFja2luZ1N0b3JlQmFja2VuZENhaXJvLmNwcAorICApCitFTkRJRiAoKQorCiBM
SVNUKEFQUEVORCBXZWJDb3JlX0xJQlJBUklFUwogICAke0NBSVJPX0xJQlJBUklFU30KICAgJHtF
Q09SRV9YX0xJQlJBUklFU30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NMYXllci5jcHAKaW5kZXggMTBkN2I3Zi4uMTdhNGVkYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAKQEAgLTM4
NSw3ICszODUsNyBAQCB2b2lkIEdyYXBoaWNzTGF5ZXI6OmRpc3RyaWJ1dGVPcGFjaXR5KGZsb2F0
IGFjY3VtdWxhdGVkT3BhY2l0eSkKICAgICB9CiB9CiAKLSNpZiBQTEFURk9STShRVCkgfHwgUExB
VEZPUk0oR1RLKQorI2lmIFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JN
KEVGTCkKIEdyYXBoaWNzTGF5ZXI6OkdyYXBoaWNzTGF5ZXJGYWN0b3J5KiBHcmFwaGljc0xheWVy
OjpzX2dyYXBoaWNzTGF5ZXJGYWN0b3J5ID0gMDsKIAogdm9pZCBHcmFwaGljc0xheWVyOjpzZXRH
cmFwaGljc0xheWVyRmFjdG9yeShHcmFwaGljc0xheWVyOjpHcmFwaGljc0xheWVyRmFjdG9yeSBm
YWN0b3J5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NM
YXllci5oCmluZGV4IDE2YzczYTQuLmYzNjE1ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKQEAgLTc5LDYgKzc5LDExIEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIHR5cGVkZWYgQ2x1dHRlckFjdG9yIFBsYXRmb3JtTGF5ZXI7CiB9Owog
I2VuZGlmCisjZWxpZiBQTEFURk9STShFRkwpICYmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQor
bmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXI7Cit0
eXBlZGVmIFRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyIFBsYXRmb3JtTGF5ZXI7Cit9OwogI2Vs
c2UKIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1MYXllcjsKICNlbmRpZgpAQCAtNDMzLDcgKzQzOCw3
IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgVGlsZWRCYWNraW5nKiB0aWxlZEJhY2tpbmcoKSB7
IHJldHVybiAwOyB9CiAKLSNpZiBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RLKQorI2lmIFBM
QVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkKICAgICAvLyBUaGlz
IGFsbG93cyBzZXZlcmFsIGFsdGVybmF0aXZlIEdyYXBoaWNzTGF5ZXIgaW1wbGVtZW50YXRpb25z
IGluIHRoZSBzYW1lIHBvcnQsCiAgICAgLy8gZS5nLiBpZiBhIGRpZmZlcmVudCBHcmFwaGljc0xh
eWVyIGltcGxlbWVudGF0aW9uIGlzIG5lZWRlZCBpbiBXZWJLaXQxIHZzLiBXZWJLaXQyLgogICAg
IHR5cGVkZWYgUGFzc093blB0cjxHcmFwaGljc0xheWVyPiBHcmFwaGljc0xheWVyRmFjdG9yeShH
cmFwaGljc0xheWVyQ2xpZW50Kik7CkBAIC01MjMsNyArNTI4LDcgQEAgcHJvdGVjdGVkOgogCiAg
ICAgaW50IG1fcmVwYWludENvdW50OwogCi0jaWYgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEdU
SykKKyNpZiBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShFRkwpCiAg
ICAgc3RhdGljIEdyYXBoaWNzTGF5ZXI6OkdyYXBoaWNzTGF5ZXJGYWN0b3J5KiBzX2dyYXBoaWNz
TGF5ZXJGYWN0b3J5OwogI2VuZGlmCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcAppbmRl
eCBjMTM4OTEyLi4zODJkNDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcApAQCAtMjgs
NiArMjgsNyBAQAogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVt
ZW50ZWQuaCIKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0
L0NTdHJpbmcuaD4KIAogI2lmIFVTRShDQUlSTykKICNpbmNsdWRlICJDYWlyb1V0aWxpdGllcy5o
IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2Vi
S2l0Mi9DTWFrZUxpc3RzLnR4dAppbmRleCA1MWY3ZWMxLi44ZTY0ODI2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxp
c3RzLnR4dApAQCAtNDM3LDYgKzQzNywyMCBAQCBTRVQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAgV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlVuZG9TdGVwLmNwcAogKQogCitJRiAoV1RGX1VTRV9USUxFRF9C
QUNLSU5HX1NUT1JFKQorICAgIExJU1QoQVBQRU5EIFdlYktpdDJfU09VUkNFUworICAgICAgICBT
aGFyZWQvU2hhcmVhYmxlU3VyZmFjZS5jcHAKKyAgICAgICAgU2hhcmVkL1N1cmZhY2VVcGRhdGVJ
bmZvLmNwcAorICAgICkKK0VORElGICgpCisKK0lGIChXVEZfVVNFX1VJX1NJREVfQ09NUE9TSVRJ
TkcpCisgICAgTElTVChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCisgICAgICAgIFVJUHJvY2Vzcy9M
YXllckJhY2tpbmdTdG9yZS5jcHAKKyAgICAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL1VwZGF0ZUF0
bGFzLmNwcAorICAgICkKK0VORElGICgpCisKIFNFVChXZWJLaXQyX01FU1NBR0VTX0lOX0ZJTEVT
CiAgICAgUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkubWVzc2FnZXMuaW4KICAg
ICBQbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MubWVzc2FnZXMuaW4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA3
NmY0OGZkLi5jNTA0YjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODkgQEAKKzIwMTItMDYtMjQg
IFlvdW5nVGFlY2sgU29uZyAgPHlvdW5ndGFlY2suc29uZ0BzYW1zdW5nLmNvbT4KKworICAgICAg
ICBbV0syXVtFRkxdICBJbXBsZW1lbnQgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgb24gV0syIEVm
bCBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
OTg0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElt
cGxlbWVudCBhY2NlbGVyYXRlZCBjb21wb3NpdGlvbiB3aXRoIFRpbGVkQmFja2luZ1N0b3JlIG9u
IFdLMiBFZmwgcG9ydC4KKyAgICAgICAgVGhlc2UgY29kZXMgYXJlIGJhc2VkIG9uIFF0IFBvcnTi
gJlzIFVJX1NJREVfQ09NUE9TSVRJTkcuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAg
ICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBTaGFyZWQvTGF5ZXJUcmVlQ29u
dGV4dC5oOgorICAgICAgICAoTGF5ZXJUcmVlQ29udGV4dCk6CisgICAgICAgICogU2hhcmVkL1No
YXJlYWJsZVN1cmZhY2UuY3BwOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnMuY3BwOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAg
ICAgKiBTaGFyZWQvZWZsL0xheWVyVHJlZUNvbnRleHRFZmwuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUNvbnRleHQ6OkxheWVyVHJlZUNv
bnRleHQpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVDb250ZXh0Ojp+TGF5ZXJUcmVlQ29u
dGV4dCk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUNvbnRleHQ6OmVuY29kZSk6CisgICAg
ICAgIChXZWJLaXQ6OkxheWVyVHJlZUNvbnRleHQ6OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6
OkxheWVyVHJlZUNvbnRleHQ6OmlzRW1wdHkpOgorICAgICAgICAoV2ViS2l0OjpvcGVyYXRvcj09
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpQYWdlQ2xpZW50SW1wbCk6CisgICAgICAgIChX
ZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjp2aWV3U2l6ZSk6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VD
bGllbnRJbXBsOjplbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKToKKyAgICAgICAgKFdl
YktpdDo6UGFnZUNsaWVudEltcGw6OmV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSk6Cisg
ICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6cGFnZURp
ZFJlcXVlc3RTY3JvbGwpOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6ZGlkQ2hh
bmdlQ29udGVudHNTaXplKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50
SW1wbC5oOgorICAgICAgICAoUGFnZUNsaWVudEltcGwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZWZsL1ZpZXdwb3J0UHJvY2Vzc29yLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgor
ICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6Vmlld3BvcnRQcm9jZXNzb3IpOgor
ICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6flZpZXdwb3J0UHJvY2Vzc29yKToK
KyAgICAgICAgKFdlYktpdDo6Vmlld3BvcnRQcm9jZXNzb3I6OmRpc3BsYXkpOgorICAgICAgICAo
V2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6dXBkYXRlVmlld3BvcnRTaXplKToKKyAgICAgICAg
KFdlYktpdDo6Vmlld3BvcnRQcm9jZXNzb3I6OnNldFZpc2libGVDb250ZW50c1JlY3QpOgorICAg
ICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6ZGlkQ2hhbmdlQ29udGVudHNTaXplKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9WaWV3cG9ydFByb2Nlc3Nvci5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChWaWV3cG9ydFByb2Nlc3Nvcik6CisgICAgICAg
IChXZWJLaXQ6OlZpZXdwb3J0UHJvY2Vzc29yOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpW
aWV3cG9ydFByb2Nlc3Nvcjo6ZHJhd2luZ0FyZWEpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9y
dFByb2Nlc3Nvcjo6dmlld1NpemUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a192
aWV3LmNwcDoKKyAgICAgICAgKF9Fd2tfVmlld19Qcml2YXRlX0RhdGEpOgorICAgICAgICAoX2V3
a192aWV3X3ByaXZfZGVsKToKKyAgICAgICAgKGV3a192aWV3X3NpemVfZ2V0KToKKyAgICAgICAg
KGV3a192aWV3X2ltYWdlX25hdGl2ZV9zdXJmYWNlX3NldCk6CisgICAgICAgIChld2tfdmlld19j
cmVhdGVfZ2xfc3VyZmFjZSk6CisgICAgICAgIChld2tfdmlld19lbnRlcl9hY2NlbGVyYXRlZF9j
b21wb3NpdGluZ19tb2RlKToKKyAgICAgICAgKGV3a192aWV3X2V4aXRfYWNjZWxlcmF0ZWRfY29t
cG9zaXRpbmdfbW9kZSk6CisgICAgICAgIChld2tfdmlld19kaWRfY2hhbmdlX2NvbnRlbnRzX3Np
emUpOgorICAgICAgICAoX2V3a192aWV3X3NtYXJ0X2NhbGN1bGF0ZSk6CisgICAgICAgIChld2tf
dmlld19iYXNlX2FkZCk6CisgICAgICAgIChld2tfdmlld19kaXNwbGF5KToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlld19wcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNz
L1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKFBhZ2VDbGllbnQpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJD
aHJvbWVDbGllbnQ6OmNvbnRlbnRzU2l6ZUNoYW5nZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9MYXllclRyZWVIb3N0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9z
dDo6Y3JlYXRlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5t
ZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uvd2ViL2VmbC9MYXllclRy
ZWVIb3N0RWZsLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0
OjpMYXllclRyZWVIb3N0RWZsOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVI
b3N0RWZsOjp+TGF5ZXJUcmVlSG9zdEVmbCk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhv
c3RFZmw6OkxheWVyVHJlZUhvc3RFZmwpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0
RWZsOjpkaXJlY3RseUNvbXBvc2l0ZWRJbWFnZUtleSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL3dlYi9lZmwvTGF5ZXJUcmVlSG9zdEVmbC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktp
dCk6CisgICAgICAgIChMYXllclRyZWVIb3N0RWZsKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2Vm
bC9XZWJQcm9jZXNzTWFpbkVmbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NNYWlu
RWZsKToKKwogMjAxMi0wNi0yNCAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUkVHUkVTU0lPTihyMTIwMzI5KTogSW50ZXJtaXR0ZW50IFdlYlByb2Nlc3Mgc2h1
dGRvd25zIGR1ZSB0byBvdXQtb2YtbGluZSBEaWRSZWNlaXZlRXZlbnQgbWVzc2FnZXMuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDVmNmUwOWUuLjM2ZWQ0NWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtRWZsLmNtYWtlCkBAIC0xNiw5ICsxNiw5IEBAIExJU1QoQVBQRU5EIFdlYktpdDJfU09VUkNF
UwogCiAgICAgU2hhcmVkL0FQSS9jL2d0ay9XS0dyYXBoaWNzQ29udGV4dEd0ay5jcHAKIAotICAg
IFNoYXJlZC9jYWlyby9MYXllclRyZWVDb250ZXh0Q2Fpcm8uY3BwCiAgICAgU2hhcmVkL2NhaXJv
L1NoYXJlYWJsZUJpdG1hcENhaXJvLmNwcAogCisgICAgU2hhcmVkL2VmbC9MYXllclRyZWVDb250
ZXh0RWZsLmNwcAogICAgIFNoYXJlZC9lZmwvTmF0aXZlV2ViS2V5Ym9hcmRFdmVudEVmbC5jcHAK
ICAgICBTaGFyZWQvZWZsL05hdGl2ZVdlYldoZWVsRXZlbnRFZmwuY3BwCiAgICAgU2hhcmVkL2Vm
bC9OYXRpdmVXZWJNb3VzZUV2ZW50RWZsLmNwcApAQCAtOTUsNiArOTUsNyBAQCBMSVNUKEFQUEVO
RCBXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJv
Y2Vzcy9lZmwiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3Mvc291cCIKICAgICAiJHtX
RUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9lZmwiCisgICAgIiR7V1RGX0RJ
Un0vd3RmIgogICAgICIke1dURl9ESVJ9L3d0Zi9nb2JqZWN0IgogICAgICR7Q0FJUk9fSU5DTFVE
RV9ESVJTfQogICAgICR7RUNPUkVfWF9JTkNMVURFX0RJUlN9CkBAIC0xMzksNiArMTQwLDI3IEBA
IExJU1QgKEFQUEVORCBXZWJQcm9jZXNzX0xJQlJBUklFUwogICAgICR7U1FMSVRFX0xJQlJBUklF
U30KICkKIAorSUYgKFdURl9VU0VfVUlfU0lERV9DT01QT1NJVElORykKKyAgICBMSVNUKEFQUEVO
RCBXZWJLaXQyX1NPVVJDRVMKKyAgICAgICAgVUlQcm9jZXNzL0FQSS9lZmwvVmlld3BvcnRQcm9j
ZXNzb3IuY3BwCisgICAgICAgIFdlYlByb2Nlc3MvV2ViUGFnZS93ZWIvTGF5ZXJUcmVlSG9zdFdl
Yi5jcHAKKyAgICAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL3dlYi9lZmwvTGF5ZXJUcmVlSG9zdEVm
bC5jcHAKKyAgICApCisgICAgTElTVChBUFBFTkQgV2ViS2l0Ml9JTkNMVURFX0RJUkVDVE9SSUVT
CisgICAgICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNlcyIKKyAg
ICAgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcCIKKyAgICAgICAg
IiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvV2ViUGFnZS93ZWIiCisgICAgICAgICIke1dFQktJ
VDJfRElSfS9XZWJQcm9jZXNzL1dlYlBhZ2Uvd2ViL2VmbCIKKyAgICAgICAgJHtPUEVOR0xfSU5D
TFVERV9ESVJ9CisgICAgKQorICAgIExJU1QgKEFQUEVORCBXZWJLaXQyX0xJQlJBUklFUworICAg
ICAgICAke09QRU5HTF9MSUJSQVJJRVN9CisgICAgKQorICAgIExJU1QgKEFQUEVORCBXZWJQcm9j
ZXNzX0xJQlJBUklFUworICAgICAgICAke09QRU5HTF9MSUJSQVJJRVN9CisgICAgKQorRU5ESUYg
KCkKKwogQUREX0NVU1RPTV9UQVJHRVQoZm9yd2FyZGluZy1oZWFkZXJFZmwKICAgICBDT01NQU5E
ICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQktJVDJfRElSfS9TY3JpcHRzL2dlbmVyYXRlLWZvcndh
cmRpbmctaGVhZGVycy5wbCAke1dFQktJVDJfRElSfSAke0RFUklWRURfU09VUkNFU19XRUJLSVQy
X0RJUn0vaW5jbHVkZSBlZmwKICkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9M
YXllclRyZWVDb250ZXh0LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTGF5ZXJUcmVlQ29udGV4
dC5oCmluZGV4IDcxMGQ5ZGEuLjM4ODUxNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9MYXllclRyZWVDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0xheWVy
VHJlZUNvbnRleHQuaApAQCAtNTgsNiArNTgsOCBAQCBwdWJsaWM6CiAgICAgdWludDMyX3Qgd2Vi
TGF5ZXJJRDsKICNlbGlmIFBMQVRGT1JNKEdUSykKICAgICB1aW50NjRfdCB3aW5kb3dIYW5kbGU7
CisjZWxpZiBQTEFURk9STShFRkwpCisgICAgdWludDMyX3Qgd2ViTGF5ZXJJRDsKICNlbmRpZgog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1NoYXJlYWJsZVN1cmZhY2Uu
Y3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1NoYXJlYWJsZVN1cmZhY2UuY3BwCmluZGV4IGNm
MTBlMTYuLjRmNTZjMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9TaGFyZWFi
bGVTdXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2hhcmVhYmxlU3VyZmFj
ZS5jcHAKQEAgLTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJT
aGFyZWFibGVTdXJmYWNlLmgiCiAKKyNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNs
dWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKIAogI2lmIFVTRShURVhUVVJFX01BUFBFUikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMu
Y3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKaW5k
ZXggNTQyZmQzZi4uYTBiMDBhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5jcHAKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpZiBVU0UoVUlfU0lERV9D
T01QT1NJVElORykKICNpbmNsdWRlIDxXZWJDb3JlL0FuaW1hdGlvbi5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvRmxvYXRQb2ludDNELmg+CisjaW5jbHVkZSA8V2ViQ29yZS9MZW5ndGguaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1RyYW5zZm9ybWF0aW9uTWF0cml4Lmg+CiAKICNpZiBFTkFCTEUoQ1NTX0ZJ
TFRFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgK
aW5kZXggZGIyYjhmNy4uOTk1ZGYwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuaApAQCAtNjcsNyArNjcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiB9CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKFFUKQorI2lmIFBMQVRGT1JNKFFUKSB8fCBQTEFU
Rk9STShFRkwpCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQW5pbWF0aW9uOwogICAg
IGNsYXNzIEZsb2F0UG9pbnQzRDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9l
ZmwvTGF5ZXJUcmVlQ29udGV4dEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZWZsL0xh
eWVyVHJlZUNvbnRleHRFZmwuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LmNlNDAwMTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZWZsL0xh
eWVyVHJlZUNvbnRleHRFZmwuY3BwCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgICAgQ29weXJpZ2h0
IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MKKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAg
ICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAg
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBm
aWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAg
Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIkxheWVyVHJlZUNvbnRleHQuaCIKKworI2luY2x1ZGUgIkFyZ3VtZW50RGVjb2Rl
ci5oIgorI2luY2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsK
KworTGF5ZXJUcmVlQ29udGV4dDo6TGF5ZXJUcmVlQ29udGV4dCgpCisgICAgOiB3ZWJMYXllcklE
KDApCit7Cit9CisKK0xheWVyVHJlZUNvbnRleHQ6On5MYXllclRyZWVDb250ZXh0KCkKK3sKK30K
Kwordm9pZCBMYXllclRyZWVDb250ZXh0OjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVy
KiBlbmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXItPmVuY29kZSh3ZWJMYXllcklEKTsKK30K
KworYm9vbCBMYXllclRyZWVDb250ZXh0OjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVy
KiBkZWNvZGVyLCBMYXllclRyZWVDb250ZXh0JiBjb250ZXh0KQoreworICAgIHJldHVybiBkZWNv
ZGVyLT5kZWNvZGUoY29udGV4dC53ZWJMYXllcklEKTsKK30KKworYm9vbCBMYXllclRyZWVDb250
ZXh0Ojppc0VtcHR5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gIXdlYkxheWVySUQ7Cit9CisKK2Jv
b2wgb3BlcmF0b3I9PShjb25zdCBMYXllclRyZWVDb250ZXh0JiBhLCBjb25zdCBMYXllclRyZWVD
b250ZXh0JiBiKQoreworICAgIHJldHVybiBhLndlYkxheWVySUQgPT0gYi53ZWJMYXllcklEOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL1BhZ2VDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL1BhZ2VDbGllbnRJbXBsLmNwcAppbmRleCBlNjlmODdkLi41NDk1Zjc5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1w
bC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNsaWVudElt
cGwuY3BwCkBAIC0zMSw5ICszMSwxNiBAQAogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAj
aW5jbHVkZSAiV2ViQ29udGV4dC5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51UHJveHkuaCIK
KyNpbmNsdWRlICJXZWJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKKyNp
bmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgogI2luY2x1ZGUgImV3a192aWV3X3ByaXZhdGUuaCIK
IAorI2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQorI2luY2x1ZGUgIkxheWVyVHJlZUhvc3RQ
cm94eS5oIgorI2luY2x1ZGUgIldlYkxheWVyVHJlZVJlbmRlcmVyLmgiCisjZW5kaWYKKwogdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDIsNiArNDks
MTQgQEAgUGFnZUNsaWVudEltcGw6OlBhZ2VDbGllbnRJbXBsKFdlYkNvbnRleHQqIGNvbnRleHQs
IFdlYlBhZ2VHcm91cCogcGFnZUdyb3VwLCBFdmEKICAgICA6IG1fdmlld1dpZGdldCh2aWV3V2lk
Z2V0KQogewogICAgIG1fcGFnZSA9IGNvbnRleHQtPmNyZWF0ZVdlYlBhZ2UodGhpcywgcGFnZUdy
b3VwKTsKKworI2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQorICAgIHBhZ2UoKS0+cGFnZUdy
b3VwKCktPnByZWZlcmVuY2VzKCktPnNldEFjY2VsZXJhdGVkRHJhd2luZ0VuYWJsZWQodHJ1ZSk7
CisgICAgcGFnZSgpLT5wYWdlR3JvdXAoKS0+cHJlZmVyZW5jZXMoKS0+c2V0QWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgcGFnZSgpLT5wYWdlR3JvdXAoKS0+cHJlZmVy
ZW5jZXMoKS0+c2V0Rm9yY2VDb21wb3NpdGluZ01vZGUodHJ1ZSk7CisgICAgcGFnZSgpLT5zZXRV
c2VGaXhlZExheW91dCh0cnVlKTsKKyNlbmRpZgorCiAgICAgbV9wYWdlLT5pbml0aWFsaXplV2Vi
UGFnZSgpOwogfQogCkBAIC03Miw5ICs4Nyw3IEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OnNjcm9s
bFZpZXcoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc2Nyb2xsUmVjdCwgY29uc3QgV2ViQ29yCiAK
IFdlYkNvcmU6OkludFNpemUgUGFnZUNsaWVudEltcGw6OnZpZXdTaXplKCkKIHsKLSAgICBpbnQg
d2lkdGgsIGhlaWdodDsKLSAgICBldmFzX29iamVjdF9nZW9tZXRyeV9nZXQobV92aWV3V2lkZ2V0
LCAwLCAwLCAmd2lkdGgsICZoZWlnaHQpOwotICAgIHJldHVybiBJbnRTaXplKHdpZHRoLCBoZWln
aHQpOworICAgIHJldHVybiBld2tfdmlld19zaXplX2dldChtX3ZpZXdXaWRnZXQpOwogfQogCiBi
b29sIFBhZ2VDbGllbnRJbXBsOjppc1ZpZXdXaW5kb3dBY3RpdmUoKQpAQCAtMjIxLDEyICsyMzQs
MTYgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6c2V0RmluZEluZGljYXRvcihQYXNzUmVmUHRyPEZp
bmRJbmRpY2F0b3I+LCBib29sLCBib29sKQogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElO
RykKIHZvaWQgUGFnZUNsaWVudEltcGw6OmVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUo
Y29uc3QgTGF5ZXJUcmVlQ29udGV4dCYpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyNpZiBV
U0UoVUlfU0lERV9DT01QT1NJVElORykKKyAgICBld2tfdmlld19lbnRlcl9hY2NlbGVyYXRlZF9j
b21wb3NpdGluZ19tb2RlKG1fdmlld1dpZGdldCk7CisjZW5kaWYKIH0KIAogdm9pZCBQYWdlQ2xp
ZW50SW1wbDo6ZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCkKIHsKLSAgICBub3RJbXBs
ZW1lbnRlZCgpOworI2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQorICAgIGV3a192aWV3X2V4
aXRfYWNjZWxlcmF0ZWRfY29tcG9zaXRpbmdfbW9kZShtX3ZpZXdXaWRnZXQpOworI2VuZGlmCiB9
CiAKIHZvaWQgUGFnZUNsaWVudEltcGw6OnVwZGF0ZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2Rl
KGNvbnN0IExheWVyVHJlZUNvbnRleHQmKQpAQCAtMjc2LDQgKzI5MywxOCBAQCB2b2lkIFBhZ2VD
bGllbnRJbXBsOjpjb3VudFN0cmluZ01hdGNoZXNJbkN1c3RvbVJlcHJlc2VudGF0aW9uKGNvbnN0
IFN0cmluZyYsIEZpbgogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKKyNpZiBVU0UoVElMRURf
QkFDS0lOR19TVE9SRSkKK3ZvaWQgUGFnZUNsaWVudEltcGw6OnBhZ2VEaWRSZXF1ZXN0U2Nyb2xs
KGNvbnN0IEludFBvaW50JikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorI2VuZGlmCisK
K3ZvaWQgUGFnZUNsaWVudEltcGw6OmRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3Jl
OjpJbnRTaXplJiBzaXplKQoreworI2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQorICAgIGV3
a192aWV3X2RpZF9jaGFuZ2VfY29udGVudHNfc2l6ZShtX3ZpZXdXaWRnZXQsIHNpemUpOworI2Vu
ZGlmCit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL1BhZ2VDbGllbnRJbXBsLmgKaW5kZXggNDI3ZWY1Mi4uMjViY2NjYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNsaWVudElt
cGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1w
bC5oCkBAIC00MCwxMiArNDAsOCBAQCBwdWJsaWM6CiAgICAgflBhZ2VDbGllbnRJbXBsKCk7CiAK
ICAgICBFdmFzX09iamVjdCogdmlld1dpZGdldCgpIGNvbnN0IHsgcmV0dXJuIG1fdmlld1dpZGdl
dDsgfQotCiAgICAgV2ViUGFnZVByb3h5KiBwYWdlKCkgY29uc3QgeyByZXR1cm4gbV9wYWdlLmdl
dCgpOyB9CgotcHJpdmF0ZToKLSAgICBQYWdlQ2xpZW50SW1wbChXZWJDb250ZXh0KiwgV2ViUGFn
ZUdyb3VwKiwgRXZhc19PYmplY3QqKTsKLQogICAgIC8vIFBhZ2VDbGllbnQKICAgICB2aXJ0dWFs
IFBhc3NPd25QdHI8RHJhd2luZ0FyZWFQcm94eT4gY3JlYXRlRHJhd2luZ0FyZWFQcm94eSgpOwog
ICAgIHZpcnR1YWwgdm9pZCBzZXRWaWV3TmVlZHNEaXNwbGF5KGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmKTsKQEAgLTEwNiw3ICsxMDIsMTUgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZmlu
ZFN0cmluZ0luQ3VzdG9tUmVwcmVzZW50YXRpb24oY29uc3QgU3RyaW5nJiwgRmluZE9wdGlvbnMs
IHVuc2lnbmVkKTsKICAgICB2aXJ0dWFsIHZvaWQgY291bnRTdHJpbmdNYXRjaGVzSW5DdXN0b21S
ZXByZXNlbnRhdGlvbihjb25zdCBTdHJpbmcmLCBGaW5kT3B0aW9ucywgdW5zaWduZWQpOwogCisj
aWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCisgICAgdmlydHVhbCB2b2lkIHBhZ2VEaWRSZXF1
ZXN0U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkludFBvaW50Jik7CisjZW5kaWYKKworICAgIHZpcnR1
YWwgdm9pZCBkaWRDaGFuZ2VDb250ZW50c1NpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOwor
CiBwcml2YXRlOgorICAgIFBhZ2VDbGllbnRJbXBsKFdlYkNvbnRleHQqLCBXZWJQYWdlR3JvdXAq
LCBFdmFzX09iamVjdCopOworCiAgICAgUmVmUHRyPFdlYlBhZ2VQcm94eT4gbV9wYWdlOwogICAg
IEV2YXNfT2JqZWN0KiBtX3ZpZXdXaWRnZXQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvVmlld3BvcnRQcm9jZXNzb3IuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvVmlld3BvcnRQcm9jZXNzb3IuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1MTA0NjQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9WaWV3cG9ydFByb2Nlc3Nvci5jcHAKQEAgLTAsMCAr
MSw4OSBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcwor
CisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICAgVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisg
ICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRl
IHRvCisgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiVmlld3BvcnRQcm9jZXNzb3IuaCIK
KworI2luY2x1ZGUgIkxheWVyVHJlZUhvc3RQcm94eS5oIgorI2luY2x1ZGUgIlRyYW5zZm9ybWF0
aW9uTWF0cml4LmgiCisjaW5jbHVkZSAiV2ViTGF5ZXJUcmVlUmVuZGVyZXIuaCIKKwordXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitWaWV3cG9ydFByb2Nl
c3Nvcjo6Vmlld3BvcnRQcm9jZXNzb3IoUGFnZUNsaWVudEltcGwqIHBhZ2VDbGllbnRJbXBsKQor
ICAgIDogbV9wYWdlQ2xpZW50SW1wbChwYWdlQ2xpZW50SW1wbCkKKyAgICAsIG1fc2NhbGVGYWN0
b3IoMSkKK3sKKyAgICBBU1NFUlQobV9wYWdlQ2xpZW50SW1wbCk7Cit9CisKK1ZpZXdwb3J0UHJv
Y2Vzc29yOjp+Vmlld3BvcnRQcm9jZXNzb3IoKQoreworfQorCit2b2lkIFZpZXdwb3J0UHJvY2Vz
c29yOjpkaXNwbGF5KGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgV2ViQ29yZTo6VHJhbnNm
b3JtYXRpb25NYXRyaXggbWF0cml4OworICAgIG1hdHJpeC5zZXRNYXRyaXgobV9zY2FsZUZhY3Rv
ciwgMCwgMCwgbV9zY2FsZUZhY3RvciwgLW1fdmlzaWJsZUNvbnRlbnRSZWN0LngoKSwgLW1fdmlz
aWJsZUNvbnRlbnRSZWN0LnkoKSk7CisKKyAgICBXZWJMYXllclRyZWVSZW5kZXJlciogcmVuZGVy
ZXIgPSBkcmF3aW5nQXJlYSgpLT5sYXllclRyZWVIb3N0UHJveHkoKS0+bGF5ZXJUcmVlUmVuZGVy
ZXIoKTsKKyAgICByZW5kZXJlci0+c2V0QWN0aXZlKHRydWUpOworICAgIHJlbmRlcmVyLT5zeW5j
UmVtb3RlQ29udGVudCgpOworICAgIHJlbmRlcmVyLT5wYWludFRvQ3VycmVudEdMQ29udGV4dCht
YXRyaXgsIDEuMGYsIHJlY3QpOworfQorCit2b2lkIFZpZXdwb3J0UHJvY2Vzc29yOjp1cGRhdGVW
aWV3cG9ydFNpemUoY29uc3QgSW50U2l6ZSYgdmlld3BvcnRTaXplKQoreworICAgIG1fdmlld3Bv
cnRTaXplID0gdmlld3BvcnRTaXplOworICAgIG1fcGFnZUNsaWVudEltcGwtPnBhZ2UoKS0+c2V0
Vmlld3BvcnRTaXplKHZpZXdwb3J0U2l6ZSk7CisgICAgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdCht
X3Zpc2libGVDb250ZW50UmVjdC5sb2NhdGlvbigpLCBtX3NjYWxlRmFjdG9yLCBGbG9hdFBvaW50
KCkpOworfQorCit2b2lkIFZpZXdwb3J0UHJvY2Vzc29yOjpzZXRWaXNpYmxlQ29udGVudHNSZWN0
KGNvbnN0IEludFBvaW50JiBuZXdTY3JvbGxQb3NpdGlvbiwgZmxvYXQgbmV3U2NhbGUsIGNvbnN0
IEZsb2F0UG9pbnQmIHRyYWplY3RvcnkpCit7CisgICAgbV9zY2FsZUZhY3RvciA9IG5ld1NjYWxl
OworICAgIG1fdmlzaWJsZUNvbnRlbnRSZWN0ID0gSW50UmVjdChuZXdTY3JvbGxQb3NpdGlvbiwg
bV92aWV3cG9ydFNpemUpOworCisgICAgLy8gYWRqdXN0IFZpc2libGVDb250ZW50UmVjdAorICAg
IEludFNpemUgY29udGVudHNTaXplID0gbV9jb250ZW50c1NpemU7CisgICAgY29udGVudHNTaXpl
LnNjYWxlKG1fc2NhbGVGYWN0b3IpOworICAgIGlmIChtX3Zpc2libGVDb250ZW50UmVjdC54KCkg
PiBjb250ZW50c1NpemUud2lkdGgoKSAtIG1fdmlzaWJsZUNvbnRlbnRSZWN0LndpZHRoKCkpCisg
ICAgICAgIG1fdmlzaWJsZUNvbnRlbnRSZWN0LnNldFgoY29udGVudHNTaXplLndpZHRoKCkgLSBt
X3Zpc2libGVDb250ZW50UmVjdC53aWR0aCgpKTsKKyAgICBpZiAobV92aXNpYmxlQ29udGVudFJl
Y3QueCgpIDwgMCkKKyAgICAgICAgbV92aXNpYmxlQ29udGVudFJlY3Quc2V0WCgwKTsKKyAgICBp
ZiAobV92aXNpYmxlQ29udGVudFJlY3QueSgpID4gY29udGVudHNTaXplLmhlaWdodCgpIC0gbV92
aXNpYmxlQ29udGVudFJlY3QuaGVpZ2h0KCkpCisgICAgICAgIG1fdmlzaWJsZUNvbnRlbnRSZWN0
LnNldFkoY29udGVudHNTaXplLmhlaWdodCgpIC0gbV92aXNpYmxlQ29udGVudFJlY3QuaGVpZ2h0
KCkpOworICAgIGlmIChtX3Zpc2libGVDb250ZW50UmVjdC55KCkgPCAwKQorICAgICAgICBtX3Zp
c2libGVDb250ZW50UmVjdC5zZXRZKDApOworCisgICAgRmxvYXRSZWN0IG1hcFJlY3RUb1dlYkNv
bnRlbnQgPSBtX3Zpc2libGVDb250ZW50UmVjdDsKKyAgICBtYXBSZWN0VG9XZWJDb250ZW50LnNj
YWxlKDEgLyBtX3NjYWxlRmFjdG9yKTsKKyAgICBkcmF3aW5nQXJlYSgpLT5zZXRWaXNpYmxlQ29u
dGVudHNSZWN0KGVuY2xvc2luZ0ludFJlY3QobWFwUmVjdFRvV2ViQ29udGVudCksIG1fc2NhbGVG
YWN0b3IsIHRyYWplY3RvcnkpOworfQorCit2b2lkIFZpZXdwb3J0UHJvY2Vzc29yOjpkaWRDaGFu
Z2VDb250ZW50c1NpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2l6ZSkKK3sKKyAgICBtX2Nv
bnRlbnRzU2l6ZSA9IHNpemU7CisgICAgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdChtX3Zpc2libGVD
b250ZW50UmVjdC5sb2NhdGlvbigpLCBtX3NjYWxlRmFjdG9yLCBGbG9hdFBvaW50KCkpOworICAg
IGRyYXdpbmdBcmVhKCktPmxheWVyVHJlZUhvc3RQcm94eSgpLT5zZXRDb250ZW50c1NpemUoV2Vi
Q29yZTo6RmxvYXRTaXplKHNpemUud2lkdGgoKSwgc2l6ZS5oZWlnaHQoKSkpOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL1ZpZXdwb3J0UHJvY2Vzc29yLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9WaWV3cG9ydFByb2Nlc3Nvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjc2NmIwNDgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9WaWV3cG9ydFByb2Nlc3Nvci5oCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgICAgQ29w
eXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MKKworICAgIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwor
ICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3Is
CisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBWaWV3cG9y
dFByb2Nlc3Nvcl9oCisjZGVmaW5lIFZpZXdwb3J0UHJvY2Vzc29yX2gKKworI2luY2x1ZGUgIlBh
Z2VDbGllbnRJbXBsLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKworbmFtZXNwYWNl
IFdlYktpdCB7CisKK2NsYXNzIFZpZXdwb3J0UHJvY2Vzc29yIHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUGFzc093blB0cjxWaWV3cG9ydFByb2Nlc3Nvcj4gY3JlYXRlKFBhZ2VDbGllbnRJbXBsKiBw
YWdlQ2xpZW50SW1wbCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgVmlld3Bv
cnRQcm9jZXNzb3IocGFnZUNsaWVudEltcGwpKTsKKyAgICB9CisgICAgflZpZXdwb3J0UHJvY2Vz
c29yKCk7CisKKyAgICBEcmF3aW5nQXJlYVByb3h5KiBkcmF3aW5nQXJlYSgpIGNvbnN0IHsgcmV0
dXJuIG1fcGFnZUNsaWVudEltcGwtPnBhZ2UoKS0+ZHJhd2luZ0FyZWEoKTsgfQorICAgIFdlYkNv
cmU6OkludFNpemUgdmlld1NpemUoKSB7IHJldHVybiBtX3ZpZXdwb3J0U2l6ZTsgfQorCisgICAg
dm9pZCBkaXNwbGF5KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3QpOworICAgIHZvaWQgdXBk
YXRlVmlld3BvcnRTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHZpZXdwb3J0U2l6ZSk7Cisg
ICAgdm9pZCBzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IFdlYkNvcmU6OkludFBvaW50Jiwg
ZmxvYXQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsKKyAgICB2b2lkIGRpZENoYW5nZUNv
bnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXplKTsKKworcHJpdmF0ZToKKyAg
ICBWaWV3cG9ydFByb2Nlc3NvcihQYWdlQ2xpZW50SW1wbCopOworCisgICAgUGFnZUNsaWVudElt
cGwqIG1fcGFnZUNsaWVudEltcGw7CisgICAgV2ViQ29yZTo6SW50UmVjdCBtX3Zpc2libGVDb250
ZW50UmVjdDsKKyAgICBmbG9hdCBtX3NjYWxlRmFjdG9yOworICAgIFdlYkNvcmU6OkludFNpemUg
bV9jb250ZW50c1NpemU7CisgICAgV2ViQ29yZTo6SW50U2l6ZSBtX3ZpZXdwb3J0U2l6ZTsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVmlld3BvcnRQcm9jZXNzb3Jf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCmluZGV4
IGZlMzg0ZTMuLjQ3Y2VmN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a192aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfdmlldy5jcHAKQEAgLTM0LDYgKzM0LDExIEBACiAjaW5jbHVkZSAiZXdrX3ZpZXdfcHJp
dmF0ZS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAorI2lmIFVTRShVSV9TSURF
X0NPTVBPU0lUSU5HKQorI2luY2x1ZGUgIlZpZXdwb3J0UHJvY2Vzc29yLmgiCisjaW5jbHVkZSA8
RXZhc19HTC5oPgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIApAQCAtNDMsNiArNDgsMTMgQEAgc3RydWN0IF9Fd2tfVmlld19Qcml2
YXRlX0RhdGEgewogICAgIE93blB0cjxQYWdlQ2xpZW50SW1wbD4gcGFnZUNsaWVudDsKICAgICBj
b25zdCBjaGFyKiB1cmk7CiAgICAgY29uc3QgY2hhciogdGl0bGU7CisKKyNpZiBVU0UoVUlfU0lE
RV9DT01QT1NJVElORykKKyAgICBPd25QdHI8Vmlld3BvcnRQcm9jZXNzb3I+IHZpZXdwb3J0UHJv
Y2Vzc29yOworICAgIEV2YXNfR0wqIGV2YXNHbDsKKyAgICBFdmFzX0dMX0NvbnRleHQqIGV2YXNH
bENvbnRleHQ7CisgICAgRXZhc19HTF9TdXJmYWNlKiBldmFzR2xTdXJmYWNlOworI2VuZGlmCiB9
OwogCiAjZGVmaW5lIEVXS19WSUVXX1RZUEVfQ0hFQ0soZXdrVmlldywgcmVzdWx0KSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtMjY4LDYgKzI4MCwxMCBAQCBzdGF0aWMg
dm9pZCBfZXdrX3ZpZXdfcHJpdl9kZWwoRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKiBwcml2KQogICAg
IGlmICghcHJpdikKICAgICAgICAgcmV0dXJuOwogCisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJ
TkcpCisgICAgcHJpdi0+dmlld3BvcnRQcm9jZXNzb3IgPSBudWxscHRyOworI2VuZGlmCisKICAg
ICBwcml2LT5wYWdlQ2xpZW50ID0gbnVsbHB0cjsKICAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChw
cml2LT51cmkpOwogICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKHByaXYtPnRpdGxlKTsKQEAgLTM1
MSw2ICszNjcsMTAxIEBAIHN0YXRpYyB2b2lkIF9ld2tfdmlld19zbWFydF9tb3ZlKEV2YXNfT2Jq
ZWN0KiBld2tWaWV3LCBFdmFzX0Nvb3JkIHgsIEV2YXNfQ29vcmQKICAgICBfZXdrX3ZpZXdfc21h
cnRfY2hhbmdlZChzbWFydERhdGEpOwogfQogCitJbnRTaXplIGV3a192aWV3X3NpemVfZ2V0KEV2
YXNfT2JqZWN0KiBld2tWaWV3KQoreworICAgIGludCB3aWR0aCwgaGVpZ2h0OworICAgIGV2YXNf
b2JqZWN0X2dlb21ldHJ5X2dldChld2tWaWV3LCAwLCAwLCAmd2lkdGgsICZoZWlnaHQpOworICAg
IHJldHVybiBJbnRTaXplKHdpZHRoLCBoZWlnaHQpOworfQorCisjaWYgVVNFKFVJX1NJREVfQ09N
UE9TSVRJTkcpCitzdGF0aWMgdm9pZCBld2tfdmlld19pbWFnZV9uYXRpdmVfc3VyZmFjZV9zZXQo
RXZhc19PYmplY3QqIGV3a1ZpZXcsIEV2YXNfTmF0aXZlX1N1cmZhY2UqIG5hdGl2ZVN1cmZhY2Up
Cit7CisgICAgRVdLX1ZJRVdfU0RfR0VUKGV3a1ZpZXcsIHNtYXJ0RGF0YSk7CisKKyAgICBldmFz
X29iamVjdF9pbWFnZV9uYXRpdmVfc3VyZmFjZV9zZXQoc21hcnREYXRhLT5pbWFnZSwgbmF0aXZl
U3VyZmFjZSk7Cit9CisKK3N0YXRpYyBib29sIGV3a192aWV3X2NyZWF0ZV9nbF9zdXJmYWNlKEV2
YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBJbnRTaXplJiB2aWV3U2l6ZSkKK3sKKyAgICBFV0tf
VklFV19TRF9HRVQoZXdrVmlldywgc21hcnREYXRhKTsKKyAgICBFV0tfVklFV19QUklWX0dFVChz
bWFydERhdGEsIHByaXYpOworCisgICAgRXZhc19HTF9Db25maWcgZXZhc0dsQ29uZmlnID0gewor
ICAgICAgICBFVkFTX0dMX1JHQkFfODg4OCwKKyAgICAgICAgRVZBU19HTF9ERVBUSF9CSVRfOCwK
KyAgICAgICAgRVZBU19HTF9TVEVOQ0lMX05PTkUsCisgICAgICAgIEVWQVNfR0xfT1BUSU9OU19O
T05FCisgICAgfTsKKworICAgIHByaXYtPmV2YXNHbFN1cmZhY2UgPSBldmFzX2dsX3N1cmZhY2Vf
Y3JlYXRlKHByaXYtPmV2YXNHbCwgJmV2YXNHbENvbmZpZywgdmlld1NpemUud2lkdGgoKSwgdmll
d1NpemUuaGVpZ2h0KCkpOworICAgIGlmICghcHJpdi0+ZXZhc0dsU3VyZmFjZSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgRXZhc19OYXRpdmVfU3VyZmFjZSBuYXRpdmVTdXJmYWNlOwor
ICAgIGV2YXNfZ2xfbmF0aXZlX3N1cmZhY2VfZ2V0KHByaXYtPmV2YXNHbCwgcHJpdi0+ZXZhc0ds
U3VyZmFjZSwgJm5hdGl2ZVN1cmZhY2UpOworICAgIGV3a192aWV3X2ltYWdlX25hdGl2ZV9zdXJm
YWNlX3NldChld2tWaWV3LCAmbmF0aXZlU3VyZmFjZSk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30K
Kwordm9pZCBld2tfdmlld19lbnRlcl9hY2NlbGVyYXRlZF9jb21wb3NpdGluZ19tb2RlKEV2YXNf
T2JqZWN0KiBld2tWaWV3KQoreworICAgIEVXS19WSUVXX1NEX0dFVChld2tWaWV3LCBzbWFydERh
dGEpOworICAgIEVXS19WSUVXX1BSSVZfR0VUKHNtYXJ0RGF0YSwgcHJpdik7CisKKyAgICBFdmFz
KiBldmFzID0gZXZhc19vYmplY3RfZXZhc19nZXQoZXdrVmlldyk7CisgICAgcHJpdi0+ZXZhc0ds
ID0gZXZhc19nbF9uZXcoZXZhcyk7CisgICAgaWYgKCFwcml2LT5ldmFzR2wpCisgICAgICAgIHJl
dHVybjsKKworICAgIHByaXYtPmV2YXNHbENvbnRleHQgPSBldmFzX2dsX2NvbnRleHRfY3JlYXRl
KHByaXYtPmV2YXNHbCwgMCk7CisgICAgaWYgKCFwcml2LT5ldmFzR2xDb250ZXh0KSB7CisgICAg
ICAgIGV2YXNfZ2xfZnJlZShwcml2LT5ldmFzR2wpOworICAgICAgICBwcml2LT5ldmFzR2wgPSAw
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKCFld2tfdmlld19jcmVhdGVfZ2xf
c3VyZmFjZShld2tWaWV3LCBld2tfdmlld19zaXplX2dldChld2tWaWV3KSkpIHsKKyAgICAgICAg
ZXZhc19nbF9jb250ZXh0X2Rlc3Ryb3kocHJpdi0+ZXZhc0dsLCBwcml2LT5ldmFzR2xDb250ZXh0
KTsKKyAgICAgICAgcHJpdi0+ZXZhc0dsQ29udGV4dCA9IDA7CisKKyAgICAgICAgZXZhc19nbF9m
cmVlKHByaXYtPmV2YXNHbCk7CisgICAgICAgIHByaXYtPmV2YXNHbCA9IDA7CisgICAgfQorfQor
Cit2b2lkIGV3a192aWV3X2V4aXRfYWNjZWxlcmF0ZWRfY29tcG9zaXRpbmdfbW9kZShFdmFzX09i
amVjdCogZXdrVmlldykKK3sKKyAgICBFV0tfVklFV19TRF9HRVQoZXdrVmlldywgc21hcnREYXRh
KTsKKyAgICBFV0tfVklFV19QUklWX0dFVChzbWFydERhdGEsIHByaXYpOworCisgICAgaWYgKCFw
cml2LT5ldmFzR2wpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChwcml2LT5ldmFzR2xTdXJm
YWNlKSB7CisgICAgICAgIGV2YXNfZ2xfc3VyZmFjZV9kZXN0cm95KHByaXYtPmV2YXNHbCwgcHJp
di0+ZXZhc0dsU3VyZmFjZSk7CisgICAgICAgIHByaXYtPmV2YXNHbFN1cmZhY2UgPSAwOworICAg
IH0KKworICAgIGlmIChwcml2LT5ldmFzR2xDb250ZXh0KSB7CisgICAgICAgIGV2YXNfZ2xfY29u
dGV4dF9kZXN0cm95KHByaXYtPmV2YXNHbCwgcHJpdi0+ZXZhc0dsQ29udGV4dCk7CisgICAgICAg
IHByaXYtPmV2YXNHbENvbnRleHQgPSAwOworICAgIH0KKworICAgIGV2YXNfZ2xfZnJlZShwcml2
LT5ldmFzR2wpOworICAgIHByaXYtPmV2YXNHbCA9IDA7Cit9CisKK3ZvaWQgZXdrX3ZpZXdfZGlk
X2NoYW5nZV9jb250ZW50c19zaXplKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBJbnRTaXpl
JiBzaXplKQoreworICAgIEVXS19WSUVXX1NEX0dFVChld2tWaWV3LCBzbWFydERhdGEpOworICAg
IEVXS19WSUVXX1BSSVZfR0VUKHNtYXJ0RGF0YSwgcHJpdik7CisKKyAgICBwcml2LT52aWV3cG9y
dFByb2Nlc3Nvci0+ZGlkQ2hhbmdlQ29udGVudHNTaXplKHNpemUpOworfQorI2VuZGlmCisKIHN0
YXRpYyB2b2lkIF9ld2tfdmlld19zbWFydF9jYWxjdWxhdGUoRXZhc19PYmplY3QqIGV3a1ZpZXcp
CiB7CiAgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEpOwpA
QCAtMzYyLDggKzQ3MywyMCBAQCBzdGF0aWMgdm9pZCBfZXdrX3ZpZXdfc21hcnRfY2FsY3VsYXRl
KEV2YXNfT2JqZWN0KiBld2tWaWV3KQogICAgIGV2YXNfb2JqZWN0X2dlb21ldHJ5X2dldChld2tW
aWV3LCAmeCwgJnksICZ3aWR0aCwgJmhlaWdodCk7CiAKICAgICBpZiAoc21hcnREYXRhLT5jaGFu
Z2VkLnNpemUpIHsKLSAgICAgICAgaWYgKHByaXYtPnBhZ2VDbGllbnQtPnBhZ2UoKS0+ZHJhd2lu
Z0FyZWEoKSkKKyAgICAgICAgaWYgKHByaXYtPnBhZ2VDbGllbnQtPnBhZ2UoKS0+ZHJhd2luZ0Fy
ZWEoKSkgewogICAgICAgICAgICAgcHJpdi0+cGFnZUNsaWVudC0+cGFnZSgpLT5kcmF3aW5nQXJl
YSgpLT5zZXRTaXplKEludFNpemUod2lkdGgsIGhlaWdodCksIEludFNpemUoKSk7CisKKyNpZiBV
U0UoVUlfU0lERV9DT01QT1NJVElORykKKyAgICAgICAgICAgIEludFNpemUgbmV3Vmlld1NpemUo
d2lkdGgsIGhlaWdodCk7CisgICAgICAgICAgICBwcml2LT52aWV3cG9ydFByb2Nlc3Nvci0+dXBk
YXRlVmlld3BvcnRTaXplKG5ld1ZpZXdTaXplKTsKKworICAgICAgICAgICAgaWYgKCFwcml2LT5l
dmFzR2xTdXJmYWNlKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIGV2YXNf
Z2xfc3VyZmFjZV9kZXN0cm95KHByaXYtPmV2YXNHbCwgcHJpdi0+ZXZhc0dsU3VyZmFjZSk7Cisg
ICAgICAgICAgICBld2tfdmlld19jcmVhdGVfZ2xfc3VyZmFjZShld2tWaWV3LCBuZXdWaWV3U2l6
ZSk7CisgICAgICAgICAgICBld2tfdmlld19kaXNwbGF5KGV3a1ZpZXcsIEludFJlY3QoSW50UG9p
bnQoKSwgbmV3Vmlld1NpemUpKTsKKyNlbmRpZgorICAgICAgICB9CiAgICAgICAgIHNtYXJ0RGF0
YS0+dmlldy53ID0gd2lkdGg7CiAgICAgICAgIHNtYXJ0RGF0YS0+dmlldy5oID0gaGVpZ2h0Owog
ICAgICAgICBzbWFydERhdGEtPmNoYW5nZWQuc2l6ZSA9IGZhbHNlOwpAQCAtNDk0LDYgKzYxNywx
MCBAQCBFdmFzX09iamVjdCogZXdrX3ZpZXdfYmFzZV9hZGQoRXZhcyogY2FudmFzLCBXS0NvbnRl
eHRSZWYgY29udGV4dFJlZiwgV0tQYWdlR3JvdQogICAgIHByaXYtPnBhZ2VDbGllbnQgPSBQYWdl
Q2xpZW50SW1wbDo6Y3JlYXRlKHRvSW1wbChjb250ZXh0UmVmKSwgdG9JbXBsKHBhZ2VHcm91cFJl
ZiksIGV3a1ZpZXcpOwogICAgIGV3a192aWV3X2xvYWRlcl9jbGllbnRfYXR0YWNoKHRvQVBJKHBy
aXYtPnBhZ2VDbGllbnQtPnBhZ2UoKSksIGV3a1ZpZXcpOwogCisjaWYgVVNFKFVJX1NJREVfQ09N
UE9TSVRJTkcpCisgICAgcHJpdi0+dmlld3BvcnRQcm9jZXNzb3IgPSBWaWV3cG9ydFByb2Nlc3Nv
cjo6Y3JlYXRlKHByaXYtPnBhZ2VDbGllbnQuZ2V0KCkpOworI2VuZGlmCisKICAgICByZXR1cm4g
ZXdrVmlldzsKIH0KIApAQCAtNTc0LDYgKzcwMSwxMyBAQCB2b2lkIGV3a192aWV3X2Rpc3BsYXko
RXZhc19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IEludFJlY3QmIHJlY3QpCiAgICAgaWYgKCFzbWFy
dERhdGEtPmltYWdlKQogICAgICAgICByZXR1cm47CiAKKyNpZiBVU0UoVUlfU0lERV9DT01QT1NJ
VElORykKKyAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBwcml2KTsK
KworICAgIGV2YXNfZ2xfbWFrZV9jdXJyZW50KHByaXYtPmV2YXNHbCwgcHJpdi0+ZXZhc0dsU3Vy
ZmFjZSwgcHJpdi0+ZXZhc0dsQ29udGV4dCk7CisgICAgcHJpdi0+dmlld3BvcnRQcm9jZXNzb3It
PmRpc3BsYXkocmVjdCk7CisjZW5kaWYKKwogICAgIGV2YXNfb2JqZWN0X2ltYWdlX2RhdGFfdXBk
YXRlX2FkZChzbWFydERhdGEtPmltYWdlLCByZWN0LngoKSwgcmVjdC55KCksIHJlY3Qud2lkdGgo
KSwgcmVjdC5oZWlnaHQoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL2V3a192aWV3X3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a192aWV3X3ByaXZhdGUuaAppbmRleCA2MjU5OGU0Li5iNzVkNTI3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlld19wcml2YXRl
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXdfcHJpdmF0
ZS5oCkBAIC0zOCw0ICszOCwxMiBAQCBFdmFzX09iamVjdCogZXdrX3ZpZXdfYmFzZV9hZGQoRXZh
cyogY2FudmFzLCBXS0NvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmKTsKIAogV2ViS2l0OjpXZWJQ
YWdlUHJveHkqIGV3a192aWV3X3BhZ2VfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3KTsK
IAorV2ViQ29yZTo6SW50U2l6ZSBld2tfdmlld19zaXplX2dldChFdmFzX09iamVjdCogZXdrVmll
dyk7CisKKyNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElORykKK3ZvaWQgZXdrX3ZpZXdfZW50ZXJf
YWNjZWxlcmF0ZWRfY29tcG9zaXRpbmdfbW9kZShFdmFzX09iamVjdCogZXdrVmlldyk7Cit2b2lk
IGV3a192aWV3X2V4aXRfYWNjZWxlcmF0ZWRfY29tcG9zaXRpbmdfbW9kZShFdmFzX09iamVjdCog
ZXdrVmlldyk7Cit2b2lkIGV3a192aWV3X2RpZF9jaGFuZ2VfY29udGVudHNfc2l6ZShFdmFzX09i
amVjdCogZXdrVmlldywgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOworI2VuZGlmCisKICNlbmRp
ZiAvLyBld2tfdmlld19wcml2YXRlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5o
CmluZGV4IGZjNWQ3NDcuLjc3MDA4N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGll
bnQuaApAQCAtMTE4LDcgKzExOCw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcGFnZURp
ZFJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKSA9IDA7CiAjZW5kaWYKICNp
ZiBQTEFURk9STShRVCkKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQ29udGVudHNTaXplKGNv
bnN0IFdlYkNvcmU6OkludFNpemUmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZEZpbmRab29t
YWJsZUFyZWEoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0
JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZUZyb21OYXZpZ2F0b3JR
dE9iamVjdChjb25zdCBTdHJpbmcmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZURvd25s
b2FkUmVxdWVzdChEb3dubG9hZFByb3h5KikgPSAwOwpAQCAtMTMyLDYgKzEzMSwxMCBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0RHJhZyhjb25zdCBXZWJDb3JlOjpEcmFnRGF0YSYs
IFBhc3NSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBkcmFnSW1hZ2UpID0gMDsKICNlbmRpZgogCisj
aWYgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hh
bmdlQ29udGVudHNTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSA9IDA7CisjZW5kaWYKKwog
ICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJzb3IoY29uc3QgV2ViQ29yZTo6Q3Vyc29yJikgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMoYm9vbCkgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRpZXMoY29uc3QgV2Vi
Q29yZTo6Vmlld3BvcnRBdHRyaWJ1dGVzJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAppbmRleCA3YmZlNjE0Li44MWZiOTEzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMjU5OCwxMiArMjU5OCwxNCBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6c2V0TWVkaWFWb2x1bWUoZmxvYXQgdm9sdW1lKQogICAgIHByb2Nlc3Mo
KS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0TWVkaWFWb2x1bWUodm9sdW1lKSwgbV9wYWdl
SUQpOyAgICAKIH0KIAotI2lmIFBMQVRGT1JNKFFUKQorI2lmIFBMQVRGT1JNKFFUKSB8fCBQTEFU
Rk9STShFRkwpCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ2hhbmdlQ29udGVudHNTaXplKGNvbnN0
IEludFNpemUmIHNpemUpCiB7CiAgICAgbV9wYWdlQ2xpZW50LT5kaWRDaGFuZ2VDb250ZW50c1Np
emUoc2l6ZSk7CiB9CisjZW5kaWYKIAorI2lmIFBMQVRGT1JNKFFUKQogdm9pZCBXZWJQYWdlUHJv
eHk6OmRpZEZpbmRab29tYWJsZUFyZWEoY29uc3QgSW50UG9pbnQmIHRhcmdldCwgY29uc3QgSW50
UmVjdCYgYXJlYSkKIHsKICAgICBtX3BhZ2VDbGllbnQtPmRpZEZpbmRab29tYWJsZUFyZWEodGFy
Z2V0LCBhcmVhKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBl
ZDk5ZDBkLi44YzViNDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CkBAIC04MTMsOSArODEzLDEzIEBAIHByaXZhdGU6CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKFFU
KQotICAgIHZvaWQgZGlkQ2hhbmdlQ29udGVudHNTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUm
KTsKICAgICB2b2lkIGRpZEZpbmRab29tYWJsZUFyZWEoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQm
LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7CiAjZW5kaWYKKworI2lmIFBMQVRGT1JNKFFUKSB8
fCBQTEFURk9STShFRkwpCisgICAgdm9pZCBkaWRDaGFuZ2VDb250ZW50c1NpemUoY29uc3QgV2Vi
Q29yZTo6SW50U2l6ZSYpOworI2VuZGlmCisKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogICAg
IHZvaWQgbmVlZFRvdWNoRXZlbnRzKGJvb2wpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBhMDk4ZWE2Li5hM2Zk
OGRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVz
c2FnZXMuaW4KQEAgLTczLDggKzczLDEyIEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAj
aWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCiAgICAgUGFnZURpZFJlcXVlc3RTY3JvbGwoV2Vi
Q29yZTo6SW50UG9pbnQgcG9pbnQpCiAjZW5kaWYKLSNpZiBQTEFURk9STShRVCkKKworI2lmIFBM
QVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpCiAgICAgRGlkQ2hhbmdlQ29udGVudHNTaXplKFdl
YkNvcmU6OkludFNpemUgbmV3U2l6ZSkKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oUVQpCiAgICAg
RGlkRmluZFpvb21hYmxlQXJlYShXZWJDb3JlOjpJbnRQb2ludCB0YXJnZXQsIFdlYkNvcmU6Oklu
dFJlY3QgYXJlYSkKICAgICBBdXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChXVEY6OlN0cmlu
ZyBob3N0bmFtZSwgV1RGOjpTdHJpbmcgcmVhbG0sIFdURjo6U3RyaW5nIHByZWZpbGxlZFVzZXJu
YW1lKSAtPiAoV1RGOjpTdHJpbmcgdXNlcm5hbWUsIFdURjo6U3RyaW5nIHBhc3N3b3JkKQogICAg
IENlcnRpZmljYXRlVmVyaWZpY2F0aW9uUmVxdWVzdChXVEY6OlN0cmluZyBob3N0bmFtZSkgLT4g
KGJvb2wgaWdub3JlRXJyb3JzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDcyOWZjMTEu
LmZiZTdlMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTQ0MCw3ICs0NDAsNyBAQCB2
b2lkIFdlYkNocm9tZUNsaWVudDo6Y29udGVudHNTaXplQ2hhbmdlZChGcmFtZSogZnJhbWUsIGNv
bnN0IEludFNpemUmIHNpemUpIGNvbgogICAgIGlmIChmcmFtZS0+cGFnZSgpLT5tYWluRnJhbWUo
KSAhPSBmcmFtZSkKICAgICAgICAgcmV0dXJuOwogCi0jaWYgUExBVEZPUk0oUVQpCisjaWYgKFBM
QVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpKSAmJiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkK
ICAgICBpZiAobV9wYWdlLT51c2VGaXhlZExheW91dCgpKSB7CiAgICAgICAgIC8vIFRoZSBiZWxv
dyBtZXRob2QgdXBkYXRlcyB0aGUgc2l6ZSgpLgogICAgICAgICBtX3BhZ2UtPnJlc2l6ZVRvQ29u
dGVudHNJZk5lZWRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0xheWVyVHJlZUhvc3QuY3BwCmluZGV4IDQ0MDYxNGQuLjkzYjk1MzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5jcHAKQEAg
LTQyLDYgKzQyLDEwIEBACiAjaW5jbHVkZSAiTGF5ZXJUcmVlSG9zdEd0ay5oIgogI2VuZGlmCiAK
KyNpZiBQTEFURk9STShFRkwpICYmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQorI2luY2x1ZGUg
IkxheWVyVHJlZUhvc3RFZmwuaCIKKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC01Niw2ICs2MCw4IEBAIFBhc3NSZWZQdHI8TGF5ZXJU
cmVlSG9zdD4gTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlKFdlYlBhZ2UqIHdlYlBhZ2UpCiAgICAgcmV0
dXJuIExheWVyVHJlZUhvc3RRdDo6Y3JlYXRlKHdlYlBhZ2UpOwogI2VsaWYgUExBVEZPUk0oR1RL
KSAmJiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpCiAgICAgcmV0dXJuIExheWVyVHJlZUhvc3RHdGs6
OmNyZWF0ZSh3ZWJQYWdlKTsKKyNlbGlmIFBMQVRGT1JNKEVGTCkgJiYgVVNFKFVJX1NJREVfQ09N
UE9TSVRJTkcpCisgICAgcmV0dXJuIExheWVyVHJlZUhvc3RFZmw6OmNyZWF0ZSh3ZWJQYWdlKTsK
ICNlbHNlCiAgICAgcmV0dXJuIDA7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QubWVzc2FnZXMuaW4KaW5kZXgg
ODkyMGRlMi4uMzI2NmYwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0xheWVyVHJlZUhvc3QubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QubWVzc2FnZXMuaW4KQEAgLTE4LDcgKzE4LDcg
QEAKICMKIAogCi0jaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCisjaWYgVVNFKFVJX1NJREVf
Q09NUE9TSVRJTkcpCiBtZXNzYWdlcyAtPiBMYXllclRyZWVIb3N0IHsKICAgICBTZXRWaXNpYmxl
Q29udGVudHNSZWN0KFdlYkNvcmU6OkludFJlY3QgdmlzaWJsZUNvbnRlbnRzUmVjdCwgZmxvYXQg
c2NhbGUsIFdlYkNvcmU6OkZsb2F0UG9pbnQgdHJhamVjdG9yeVZlY3RvcnkpCiAgICAgUmVuZGVy
TmV4dEZyYW1lKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS93ZWIvZWZsL0xheWVyVHJlZUhvc3RFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL3dlYi9lZmwvTGF5ZXJUcmVlSG9zdEVmbC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uZTkyZTdlZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS93ZWIvZWZsL0xheWVyVHJlZUhvc3RFZmwuY3BwCkBAIC0w
LDAgKzEsNTYgQEAKKy8qCisgICAgQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25p
Y3MKKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0Eu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAiTGF5ZXJUcmVlSG9zdEVm
bC5oIgorCisjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCisjaW5jbHVkZSAiTGF5ZXJUcmVl
SG9zdFByb3h5TWVzc2FnZXMuaCIKKyNpbmNsdWRlICJNZXNzYWdlSUQuaCIKKyNpbmNsdWRlICJX
ZWJQYWdlLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0
IHsKKworUGFzc1JlZlB0cjxMYXllclRyZWVIb3N0RWZsPiBMYXllclRyZWVIb3N0RWZsOjpjcmVh
dGUoV2ViUGFnZSogd2ViUGFnZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IExheWVyVHJl
ZUhvc3RFZmwod2ViUGFnZSkpOworfQorCitMYXllclRyZWVIb3N0RWZsOjp+TGF5ZXJUcmVlSG9z
dEVmbCgpCit7Cit9CisKK0xheWVyVHJlZUhvc3RFZmw6OkxheWVyVHJlZUhvc3RFZmwoV2ViUGFn
ZSogd2ViUGFnZSkKKyAgICA6IExheWVyVHJlZUhvc3RXZWIod2ViUGFnZSkKK3sKK30KKworaW50
NjRfdCBMYXllclRyZWVIb3N0RWZsOjpkaXJlY3RseUNvbXBvc2l0ZWRJbWFnZUtleShJbWFnZSog
aW1hZ2UpCit7CisgICAgY2Fpcm9fc3VyZmFjZV90KiBzdXJmYWNlID0gaW1hZ2UtPm5hdGl2ZUlt
YWdlRm9yQ3VycmVudEZyYW1lKCktPnN1cmZhY2UoKTsKKyAgICBpZiAoIXN1cmZhY2UpCisgICAg
ICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8aW50NjRfdD4oY2Fp
cm9faW1hZ2Vfc3VyZmFjZV9nZXRfZGF0YShzdXJmYWNlKSk7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3dl
Yi9lZmwvTGF5ZXJUcmVlSG9zdEVmbC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL3dlYi9lZmwvTGF5ZXJUcmVlSG9zdEVmbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmZjZWQwMGIwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL3dlYi9lZmwvTGF5ZXJUcmVlSG9zdEVmbC5oCkBAIC0wLDAgKzEsNDIg
QEAKKy8qCisgICAgQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MKKworICAg
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
ICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKwor
I2lmbmRlZiBMYXllclRyZWVIb3N0RWZsX2gKKyNkZWZpbmUgTGF5ZXJUcmVlSG9zdEVmbF9oCisK
KyNpbmNsdWRlICJMYXllclRyZWVIb3N0V2ViLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitj
bGFzcyBXZWJQYWdlOworCitjbGFzcyBMYXllclRyZWVIb3N0RWZsIDogcHVibGljIExheWVyVHJl
ZUhvc3RXZWIgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPExheWVyVHJlZUhvc3RF
Zmw+IGNyZWF0ZShXZWJQYWdlKik7CisgICAgdmlydHVhbCB+TGF5ZXJUcmVlSG9zdEVmbCgpOwor
CisgICAgdmlydHVhbCBpbnQ2NF90IGRpcmVjdGx5Q29tcG9zaXRlZEltYWdlS2V5KFdlYkNvcmU6
OkltYWdlKik7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgTGF5ZXJUcmVlSG9zdEVmbChXZWJQ
YWdlKik7Cit9OworCit9CisKKyNlbmRpZiAvLyBMYXllclRyZWVIb3N0RWZsX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvZWZsL1dlYlByb2Nlc3NNYWluRWZsLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvZWZsL1dlYlByb2Nlc3NNYWluRWZsLmNwcAppbmRl
eCAwOGYzYmI1Li45N2ZjMDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L2VmbC9XZWJQcm9jZXNzTWFpbkVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9lZmwvV2ViUHJvY2Vzc01haW5FZmwuY3BwCkBAIC0zNSw2ICszNSwxMCBAQAogI2luY2x1ZGUg
PHVuaXN0ZC5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAKKyNpZiBVU0UoVUlfU0lE
RV9DT01QT1NJVElORykKKyNpbmNsdWRlICJXZWJHcmFwaGljc0xheWVyLmgiCisjZW5kaWYKKwog
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNzcsNiAr
ODEsMTAgQEAgV0tfRVhQT1JUIGludCBXZWJQcm9jZXNzTWFpbkVmbChpbnQgYXJnYywgY2hhciog
YXJndltdKQogICAgIHNvdXBfc2Vzc2lvbl9hZGRfZmVhdHVyZV9ieV90eXBlKHNlc3Npb24sIFNP
VVBfVFlQRV9DT05URU5UX1NOSUZGRVIpOwogICAgIHNvdXBfc2Vzc2lvbl9hZGRfZmVhdHVyZV9i
eV90eXBlKHNlc3Npb24sIFNPVVBfVFlQRV9DT05URU5UX0RFQ09ERVIpOwogCisjaWYgVVNFKFVJ
X1NJREVfQ09NUE9TSVRJTkcpCisgICAgV2ViR3JhcGhpY3NMYXllcjo6aW5pdEZhY3RvcnkoKTsK
KyNlbmRpZgorCiAgICAgaW50IHNvY2tldCA9IGF0b2koYXJndlsxXSk7CiAgICAgV2ViUHJvY2Vz
czo6c2hhcmVkKCkuaW5pdGlhbGl6ZShzb2NrZXQsIFJ1bkxvb3A6Om1haW4oKSk7CiAgICAgUnVu
TG9vcDo6cnVuKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvRmluZE9wZW5HTC5jbWFrZSBi
L1NvdXJjZS9jbWFrZS9GaW5kT3BlbkdMLmNtYWtlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmQxZDg5YmQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvY21ha2UvRmluZE9w
ZW5HTC5jbWFrZQpAQCAtMCwwICsxLDEzOSBAQAorIyAtIFRyeSB0byBmaW5kIE9wZW5HTAorIyBP
bmNlIGRvbmUgdGhpcyB3aWxsIGRlZmluZQorIworIyAgT1BFTkdMX0ZPVU5EICAgICAgICAtIHN5
c3RlbSBoYXMgT3BlbkdMCisjICBPUEVOR0xfWE1FU0FfRk9VTkQgIC0gc3lzdGVtIGhhcyBYTUVT
QQorIyAgT1BFTkdMX0dMVV9GT1VORCAgICAtIHN5c3RlbSBoYXMgR0xVCisjICBPUEVOR0xfSU5D
TFVERV9ESVIgIC0gdGhlIEdMIGluY2x1ZGUgZGlyZWN0b3J5CisjICBPUEVOR0xfTElCUkFSSUVT
ICAgIC0gTGluayB0aGVzZSB0byB1c2UgT3BlbkdMIGFuZCBHTFUKKyMKKyMgSWYgeW91IHdhbnQg
dG8gdXNlIGp1c3QgR0wgeW91IGNhbiB1c2UgdGhlc2UgdmFsdWVzCisjICBPUEVOR0xfZ2xfTElC
UkFSWSAgIC0gUGF0aCB0byBPcGVuR0wgTGlicmFyeQorIyAgT1BFTkdMX2dsdV9MSUJSQVJZICAt
IFBhdGggdG8gR0xVIExpYnJhcnkKKyMKKyMgT24gT1NYIGRlZmF1bHQgdG8gdXNpbmcgdGhlIGZy
YW1ld29yayB2ZXJzaW9uIG9mIG9wZW5nbAorIyBQZW9wbGUgd2lsbCBoYXZlIHRvIGNoYW5nZSB0
aGUgY2FjaGUgdmFsdWVzIG9mIE9QRU5HTF9nbHVfTElCUkFSWQorIyBhbmQgT1BFTkdMX2dsX0xJ
QlJBUlkgdG8gdXNlIE9wZW5HTCB3aXRoIFgxMSBvbiBPU1gKKworSUYgKFdJTjMyKQorICBJRiAo
Q1lHV0lOKQorCisgICAgRklORF9QQVRIKE9QRU5HTF9JTkNMVURFX0RJUiBHTC9nbC5oICkKKwor
ICAgIEZJTkRfTElCUkFSWShPUEVOR0xfZ2xfTElCUkFSWSBvcGVuZ2wzMiApCisKKyAgICBGSU5E
X0xJQlJBUlkoT1BFTkdMX2dsdV9MSUJSQVJZIGdsdTMyICkKKworICBFTFNFIChDWUdXSU4pCisK
KyAgICBJRihCT1JMQU5EKQorICAgICAgU0VUIChPUEVOR0xfZ2xfTElCUkFSWSBpbXBvcnQzMiBD
QUNIRSBTVFJJTkcgIk9wZW5HTCBsaWJyYXJ5IGZvciB3aW4zMiIpCisgICAgICBTRVQgKE9QRU5H
TF9nbHVfTElCUkFSWSBpbXBvcnQzMiBDQUNIRSBTVFJJTkcgIkdMVSBsaWJyYXJ5IGZvciB3aW4z
MiIpCisgICAgRUxTRShCT1JMQU5EKQorICAgICAgU0VUIChPUEVOR0xfZ2xfTElCUkFSWSBvcGVu
Z2wzMiBDQUNIRSBTVFJJTkcgIk9wZW5HTCBsaWJyYXJ5IGZvciB3aW4zMiIpCisgICAgICBTRVQg
KE9QRU5HTF9nbHVfTElCUkFSWSBnbHUzMiBDQUNIRSBTVFJJTkcgIkdMVSBsaWJyYXJ5IGZvciB3
aW4zMiIpCisgICAgRU5ESUYoQk9STEFORCkKKworICBFTkRJRiAoQ1lHV0lOKQorCitFTFNFIChX
SU4zMikKKworICBJRiAoQVBQTEUpCisKKyAgICBGSU5EX0xJQlJBUlkoT1BFTkdMX2dsX0xJQlJB
UlkgT3BlbkdMIERPQyAiT3BlbkdMIGxpYiBmb3IgT1NYIikKKyAgICBGSU5EX0xJQlJBUlkoT1BF
TkdMX2dsdV9MSUJSQVJZIEFHTCBET0MgIkFHTCBsaWIgZm9yIE9TWCIpCisgICAgRklORF9QQVRI
KE9QRU5HTF9JTkNMVURFX0RJUiBPcGVuR0wvZ2wuaCBET0MgIkluY2x1ZGUgZm9yIE9wZW5HTCBv
biBPU1giKQorCisgIEVMU0UoQVBQTEUpCisKKyAgICAjIFRoZSBmaXJzdCBsaW5lIGJlbG93IGlz
IHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBwcm9wZXIgaGVhZGVycworICAgICMgYXJlIHVzZWQgb24g
YSBMaW51eCBtYWNoaW5lIHdpdGggdGhlIE5WaWRpYSBkcml2ZXJzIGluc3RhbGxlZC4KKyAgICAj
IFRoZXkgcmVwbGFjZSBNZXNhIHdpdGggTlZpZGlhJ3Mgb3duIGxpYnJhcnkgYnV0IG5vcm1hbGx5
IGRvIG5vdAorICAgICMgaW5zdGFsbCBoZWFkZXJzIGFuZCB0aGF0IGNhdXNlcyB0aGUgbGlua2lu
ZyB0bworICAgICMgZmFpbCBzaW5jZSB0aGUgY29tcGlsZXIgZmluZHMgdGhlIE1lc2EgaGVhZGVy
cyBidXQgTlZpZGlhJ3MgbGlicmFyeS4KKyAgICAjIE1ha2Ugc3VyZSB0aGUgTlZJRElBIGRpcmVj
dG9yeSBjb21lcyBCRUZPUkUgdGhlIG90aGVycy4KKyAgICAjICAtIEF0YW5hcyBHZW9yZ2lldiA8
YXRhbmFzQGNzLmNvbHVtYmlhLmVkdT4KKworICAgIEZJTkRfUEFUSChPUEVOR0xfSU5DTFVERV9E
SVIgR0wvZ2wuaAorICAgICAgL3Vzci9pbmNsdWRlCisgICAgICAvdXNyL3NoYXJlL2RvYy9OVklE
SUFfR0xYLTEuMC9pbmNsdWRlCisgICAgICAvdXNyL29wZW53aW4vc2hhcmUvaW5jbHVkZQorICAg
ICAgL29wdC9ncmFwaGljcy9PcGVuR0wvaW5jbHVkZSAvdXNyL1gxMVI2L2luY2x1ZGUKKyAgICAp
CisKKyAgICBGSU5EX1BBVEgoT1BFTkdMX3htZXNhX0lOQ0xVREVfRElSIEdML3htZXNhLmgKKyAg
ICAgIC91c3IvaW5jbHVkZQorICAgICAgL3Vzci9zaGFyZS9kb2MvTlZJRElBX0dMWC0xLjAvaW5j
bHVkZQorICAgICAgL3Vzci9vcGVud2luL3NoYXJlL2luY2x1ZGUKKyAgICAgIC9vcHQvZ3JhcGhp
Y3MvT3BlbkdML2luY2x1ZGUgL3Vzci9YMTFSNi9pbmNsdWRlCisgICAgKQorCisgICAgRklORF9M
SUJSQVJZKE9QRU5HTF9nbF9MSUJSQVJZCisgICAgICBOQU1FUyBHTCBNZXNhR0wKKyAgICAgIFBB
VEhTIC91c3IvbGliCisgICAgICAgICAgICAvb3B0L2dyYXBoaWNzL09wZW5HTC9saWIKKyAgICAg
ICAgICAgIC91c3Ivb3Blbndpbi9saWIKKyAgICAgICAgICAgIC91c3Ivc2hsaWIgL3Vzci9YMTFS
Ni9saWIKKyAgICApCisKKyAgICAjIE9uIFVuaXggT3BlbkdMIG1vc3QgY2VydGFpbmx5IGFsd2F5
cyByZXF1aXJlcyBYMTEuCisgICAgIyBGZWVsIGZyZWUgdG8gdGlnaHRlbiB1cCB0aGVzZSBjb25k
aXRpb25zIGlmIHlvdSBkb24ndAorICAgICMgdGhpbmsgdGhpcyBpcyBhbHdheXMgdHJ1ZS4KKyAg
ICAjIEl0J3Mgbm90IHRydWUgb24gT1NYLgorCisgICAgSUYgKE9QRU5HTF9nbF9MSUJSQVJZKQor
ICAgICAgSUYoTk9UIFgxMV9GT1VORCkKKyAgICAgICAgSU5DTFVERShGaW5kWDExKQorICAgICAg
RU5ESUYoTk9UIFgxMV9GT1VORCkKKyAgICAgIElGIChYMTFfRk9VTkQpCisgICAgICAgIElGIChO
T1QgQVBQTEUpCisgICAgICAgICAgU0VUIChPUEVOR0xfTElCUkFSSUVTICR7WDExX0xJQlJBUklF
U30pCisgICAgICAgIEVORElGIChOT1QgQVBQTEUpCisgICAgICBFTkRJRiAoWDExX0ZPVU5EKQor
ICAgIEVORElGIChPUEVOR0xfZ2xfTElCUkFSWSkKKworICAgIEZJTkRfTElCUkFSWShPUEVOR0xf
Z2x1X0xJQlJBUlkKKyAgICAgIE5BTUVTIEdMVSBNZXNhR0xVCisgICAgICBQQVRIUyAke09QRU5H
TF9nbF9MSUJSQVJZfQorICAgICAgICAgICAgL29wdC9ncmFwaGljcy9PcGVuR0wvbGliCisgICAg
ICAgICAgICAvdXNyL29wZW53aW4vbGliCisgICAgICAgICAgICAvdXNyL3NobGliIC91c3IvWDEx
UjYvbGliCisgICAgKQorCisgIEVORElGKEFQUExFKQorRU5ESUYgKFdJTjMyKQorCitTRVQoIE9Q
RU5HTF9GT1VORCAiTk8iICkKK0lGKE9QRU5HTF9nbF9MSUJSQVJZKQorCisgICAgSUYoT1BFTkdM
X3htZXNhX0lOQ0xVREVfRElSKQorICAgICAgU0VUKCBPUEVOR0xfWE1FU0FfRk9VTkQgIllFUyIg
KQorICAgIEVMU0UoT1BFTkdMX3htZXNhX0lOQ0xVREVfRElSKQorICAgICAgU0VUKCBPUEVOR0xf
WE1FU0FfRk9VTkQgIk5PIiApCisgICAgRU5ESUYoT1BFTkdMX3htZXNhX0lOQ0xVREVfRElSKQor
CisgICAgU0VUKCBPUEVOR0xfTElCUkFSSUVTICAke09QRU5HTF9MSUJSQVJJRVN9ICR7T1BFTkdM
X2dsX0xJQlJBUll9KQorICAgIElGKE9QRU5HTF9nbHVfTElCUkFSWSkKKyAgICAgIFNFVCggT1BF
TkdMX0dMVV9GT1VORCAiWUVTIiApCisgICAgICBTRVQoIE9QRU5HTF9MSUJSQVJJRVMgJHtPUEVO
R0xfTElCUkFSSUVTfSAke09QRU5HTF9nbHVfTElCUkFSWX0pCisgICAgRUxTRShPUEVOR0xfZ2x1
X0xJQlJBUlkpCisgICAgICBTRVQoIE9QRU5HTF9HTFVfRk9VTkQgIk5PIiApCisgICAgRU5ESUYo
T1BFTkdMX2dsdV9MSUJSQVJZKQorCisgICAgU0VUKCBPUEVOR0xfRk9VTkQgIllFUyIgKQorCisg
ICAgIyBUaGlzIGRlcHJlY2F0ZWQgc2V0dGluZyBpcyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0
eSB3aXRoIENNYWtlMS40CisKKyAgICBTRVQgKE9QRU5HTF9MSUJSQVJZICR7T1BFTkdMX0xJQlJB
UklFU30pCisKK0VORElGKE9QRU5HTF9nbF9MSUJSQVJZKQorCisjIFRoaXMgZGVwcmVjYXRlZCBz
ZXR0aW5nIGlzIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpdGggQ01ha2UxLjQKK1NFVChP
UEVOR0xfSU5DTFVERV9QQVRIICR7T1BFTkdMX0lOQ0xVREVfRElSfSkKKworTUFSS19BU19BRFZB
TkNFRCgKKyAgT1BFTkdMX0lOQ0xVREVfRElSCisgIE9QRU5HTF94bWVzYV9JTkNMVURFX0RJUgor
ICBPUEVOR0xfZ2x1X0xJQlJBUlkKKyAgT1BFTkdMX2dsX0xJQlJBUlkKKykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNFZmwu
Y21ha2UKaW5kZXggM2IyNmU1Mi4uNzY4NWM2NyAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09w
dGlvbnNFZmwuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKQEAgLTE0
NywzICsxNDcsMjkgQEAgSUYgKEVOQUJMRV9XRUJHTCkKIEVORElGICgpCiAKIFNFVChDUEFDS19T
T1VSQ0VfR0VORVJBVE9SIFRCWjIpCisKK0lGIChFTkFCTEVfV0VCS0lUMikKKyAgU0VUKFdURl9V
U0VfVElMRURfQkFDS0lOR19TVE9SRSAxKQorICBBRERfREVGSU5JVElPTlMoLURXVEZfVVNFX1RJ
TEVEX0JBQ0tJTkdfU1RPUkU9MSkKKworICBTRVQoV1RGX1VTRV9BQ0NFTEVSQVRFRF9DT01QT1NJ
VElORyAxKQorICBBRERfREVGSU5JVElPTlMoLURXVEZfVVNFX0FDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HPTEpCisKKyAgSUYgKFdURl9VU0VfVElMRURfQkFDS0lOR19TVE9SRSBBTkQgV1RGX1VTRV9B
Q0NFTEVSQVRFRF9DT01QT1NJVElORykKKyAgICBTRVQoV1RGX1VTRV9VSV9TSURFX0NPTVBPU0lU
SU5HIDEpCisgICAgQUREX0RFRklOSVRJT05TKC1EV1RGX1VTRV9VSV9TSURFX0NPTVBPU0lUSU5H
PTEpCisKKyAgICBTRVQoV1RGX1VTRV9URVhUVVJFX01BUFBFUiAxKQorICAgIEFERF9ERUZJTklU
SU9OUygtRFdURl9VU0VfVEVYVFVSRV9NQVBQRVI9MSkKKworICAgIFNFVChXVEZfVVNFX1RFWFRV
UkVfTUFQUEVSX0dMIDEpCisgICAgQUREX0RFRklOSVRJT05TKC1EV1RGX1VTRV9URVhUVVJFX01B
UFBFUl9HTD0xKQorCisgICAgSUYgKE5PVCBFTkFCTEVfV0VCR0wpCisgICAgICBTRVQoUVRfT1BF
TkdMX1NISU1TIDEpCisgICAgICBBRERfREVGSU5JVElPTlMoLURRVF9PUEVOR0xfU0hJTVM9MSkK
KyAgICBFTkRJRigpCisgIEVORElGKCkKKworICBGSU5EX1BBQ0tBR0UoT3BlbkdMIFJFUVVJUkVE
KQorRU5ESUYoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9n
CmluZGV4IDg4M2M3OTIuLjNlOWZjOTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNi0yNCAgWW91bmdUYWVj
ayBTb25nICA8eW91bmd0YWVjay5zb25nQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtXSzJdW0VG
TF0gSW1wbGVtZW50IGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIG9uIFdLMiBFZmwgcG9ydAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODk4NDAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb2RpZnkgZWNvcmVf
ZXZhcyBlbmdpbmUgdG8gdXNlICdvcGVuZ2xfeDExJyBmb3IgYWNjZWxlcmF0ZWQgY29tcG9zaXRp
bmcuCisKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogTWluaUJyb3dzZXIvZWZsL21haW4uYzoKKyAgICAgICAgKGJyb3dzZXJDcmVhdGUpOgorCiAy
MDEyLTA2LTI0ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0No
cm9taXVtXSBSZWxlYXNlIG1lZGlhIHJlc291cmNlcyBhZnRlciBlYWNoIExheW91dFRlc3Qgb24g
QW5kcm9pZApkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0
IGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0CmluZGV4IGE2ZmQyZDUuLjAz
MjRjYmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dAor
KysgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKQEAgLTMwLDYgKzMwLDcg
QEAgU0VUKE1pbmlCcm93c2VyX0xJQlJBUklFUwogICAgICR7TElCWE1MMl9MSUJSQVJJRVN9CiAg
ICAgJHtMSUJYU0xUX0xJQlJBUklFU30KICAgICAke1NRTElURV9MSUJSQVJJRVN9CisgICAgJHtP
UEVOR0xfTElCUkFSSUVTfQogKQogCiBTRVQoTWluaUJyb3dzZXJfTElOS19GTEFHUwpkaWZmIC0t
Z2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYyBiL1Rvb2xzL01pbmlCcm93c2VyL2Vm
bC9tYWluLmMKaW5kZXggNzNjMjUzYi4uNzBmMTA2OSAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJy
b3dzZXIvZWZsL21haW4uYworKysgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCkBAIC05
OSw3ICs5OSw3IEBAIHN0YXRpYyBNaW5pQnJvd3NlciAqYnJvd3NlckNyZWF0ZShjb25zdCBjaGFy
ICp1cmwpCiB7CiAgICAgTWluaUJyb3dzZXIgKmFwcCA9IG1hbGxvYyhzaXplb2YoTWluaUJyb3dz
ZXIpKTsKIAotICAgIGFwcC0+ZWUgPSBlY29yZV9ldmFzX25ldygwLCAwLCAwLCBERUZBVUxUX1dJ
RFRILCBERUZBVUxUX0hFSUdIVCwgMCk7CisgICAgYXBwLT5lZSA9IGVjb3JlX2V2YXNfbmV3KCJv
cGVuZ2xfeDExIiwgMCwgMCwgREVGQVVMVF9XSURUSCwgREVGQVVMVF9IRUlHSFQsIDApOwogCiAg
ICAgZWNvcmVfZXZhc190aXRsZV9zZXQoYXBwLT5lZSwgIkVGTCBNaW5pQnJvd3NlciIpOwogICAg
IGVjb3JlX2V2YXNfY2FsbGJhY2tfcmVzaXplX3NldChhcHAtPmVlLCBvbl9lY29yZV9ldmFzX3Jl
c2l6ZSk7Cg==
</data>
<flag name="review"
          id="158590"
          type_id="1"
          status="-"
          setter="gyuyoung.kim"
    />
    <flag name="commit-queue"
          id="158591"
          type_id="3"
          status="-"
          setter="gyuyoung.kim"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152931</attachid>
            <date>2012-07-17 22:46:53 -0700</date>
            <delta_ts>2012-07-18 19:40:22 -0700</delta_ts>
            <desc>patch</desc>
            <filename>uiside.diff</filename>
            <type>text/plain</type>
            <size>29064</size>
            <attacher name="YoungTaeck Song">youngtaeck.song</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBmOGQ0Y2ExLi5mMGE1MDU2
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTItMDctMTcgIFlvdW5nVGFlY2sgU29uZyAgPHlvdW5ndGFlY2suc29uZ0BzYW1zdW5nLmNv
bT4KKworICAgICAgICBbV0syXVtFRkxdIEltcGxlbWVudCBhY2NlbGVyYXRlZCBjb21wb3NpdGlu
ZyBvbiBXSzIgRWZsIHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg5ODQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgSW1wbGVtZW50IGFjY2VsZXJhdGVkIGNvbXBvc2l0aW9uIHdpdGggVGlsZWRCYWNr
aW5nU3RvcmUgb24gV0syIEVmbCBwb3J0LgorICAgICAgICBUaGVzZSBjb2RlcyBhcmUgYmFzZWQg
b24gUXQgUG9ydCdzIFVJX1NJREVfQ09NUE9TSVRJTkcuCisgICAgICAgIEFkZCBVSV9TSURFX0NP
TVBPU0lUSU5HIHJlbGF0ZWQgZGVmaW5pdGlvbnMgaW4gT3B0aW9uc0VmbC5jbWFrZS4KKworICAg
ICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlOgorCiAyMDEyLTA3LTE3ICBHYWJv
ciBCYWxsYWJhcyAgPGdhYm9yYkBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgW1F0XVtWOF0g
UmVtb3ZlIHRoZSBWOCByZWxhdGVkIGNvZGVwYXRocyBhbmQgY29uZmlndXJhdGlvbgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFr
ZUxpc3RzLnR4dAppbmRleCBjOGQxYzM1Li44NTdmMzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dApA
QCAtMTksNiArMTksNyBAQCBTRVQoV2ViS2l0Ml9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7
V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9MYXVuY2hlciIKICAgICAiJHtXRUJLSVQyX0RJUn0vVUlQ
cm9jZXNzL05vdGlmaWNhdGlvbnMiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9QbHVn
aW5zIgorICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvdGV4bWFwIgogICAgICIke1dFQktJ
VDJfRElSfS9XZWJQcm9jZXNzIgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0FwcGxp
Y2F0aW9uQ2FjaGUiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvQXV0aGVudGljYXRp
b24iCkBAIC02Nyw2ICs2OCw4IEBAIFNFVChXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAg
ICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vYW5pbWF0aW9uIgogICAgICIke1dFQkNPUkVfRElS
fS9wbGF0Zm9ybS9ncmFwaGljcyIKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycyIKKyAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFj
ZXMiCisgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcCIKICAgICAi
JHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3JtcyIKICAgICAiJHtXRUJD
T1JFX0RJUn0vcGxhdGZvcm0vbmV0d29yayIKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0v
c3FsIgpAQCAtMTM3LDcgKzE0MCw5IEBAIFNFVChXZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQv
U2VjdXJpdHlPcmlnaW5EYXRhLmNwcAogICAgIFNoYXJlZC9TZXNzaW9uU3RhdGUuY3BwCiAgICAg
U2hhcmVkL1NoYXJlYWJsZUJpdG1hcC5jcHAKKyAgICBTaGFyZWQvU2hhcmVhYmxlU3VyZmFjZS5j
cHAKICAgICBTaGFyZWQvU3RhdGlzdGljc0RhdGEuY3BwCisgICAgU2hhcmVkL1N1cmZhY2VVcGRh
dGVJbmZvLmNwcAogICAgIFNoYXJlZC9VcGRhdGVJbmZvLmNwcAogICAgIFNoYXJlZC9WaXNpdGVk
TGlua1RhYmxlLmNwcAogICAgIFNoYXJlZC9XZWJCYWNrRm9yd2FyZExpc3RJdGVtLmNwcApAQCAt
MzM4LDYgKzM0Myw4IEBAIFNFVChXZWJLaXQyX1NPVVJDRVMKICAgICBVSVByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwCiAgICAgVUlQcm9jZXNzL1BsdWdpbnMvV2ViUGx1Z2lu
U2l0ZURhdGFNYW5hZ2VyLmNwcAogCisgICAgVUlQcm9jZXNzL3RleG1hcC9MYXllckJhY2tpbmdT
dG9yZS5jcHAKKwogICAgIFdlYlByb2Nlc3MvV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzLmNwcAog
ICAgIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKIApAQCAtNDUxLDYgKzQ1OCw3IEBAIFNFVChX
ZWJLaXQyX1NPVVJDRVMKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXkuY3BwCiAg
ICAgV2ViUHJvY2Vzcy9XZWJQYWdlL1RhcEhpZ2hsaWdodENvbnRyb2xsZXIuY3BwCiAgICAgV2Vi
UHJvY2Vzcy9XZWJQYWdlL1RpbGVkQmFja2luZ1N0b3JlUmVtb3RlVGlsZS5jcHAKKyAgICBXZWJQ
cm9jZXNzL1dlYlBhZ2UvVXBkYXRlQXRsYXMuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YkJhY2tGb3J3YXJkTGlzdFByb3h5LmNwcAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250
ZXh0TWVudS5jcHAKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
aW5kZXggZDJhOWM0NC4uYmI5YWE5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDEy
LTA3LTE3ICBZb3VuZ1RhZWNrIFNvbmcgIDx5b3VuZ3RhZWNrLnNvbmdAc2Ftc3VuZy5jb20+CisK
KyAgICAgICAgW1dLMl1bRUZMXSBJbXBsZW1lbnQgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgb24g
V0syIEVmbCBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04OTg0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEltcGxlbWVudCBhY2NlbGVyYXRlZCBjb21wb3NpdGlvbiB3aXRoIFRpbGVkQmFja2luZ1N0
b3JlIG9uIFdLMiBFZmwgcG9ydC4KKyAgICAgICAgVGhlc2UgY29kZXMgYXJlIGJhc2VkIG9uIFF0
IFBvcnQncyBVSV9TSURFX0NPTVBPU0lUSU5HLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6
CisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogU2hhcmVkL1NoYXJlYWJs
ZVN1cmZhY2UuY3BwOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3Bw
OgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBh
Z2VDbGllbnRJbXBsOjpQYWdlQ2xpZW50SW1wbCk6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGll
bnRJbXBsOjpkaWRDaGFuZ2VDb250ZW50c1NpemUpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5oOgorICAgICAgICAoUGFnZUNs
aWVudEltcGwpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL1ZpZXdwb3J0UHJvY2Vzc29y
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9y
dFByb2Nlc3Nvcjo6Vmlld3BvcnRQcm9jZXNzb3IpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9y
dFByb2Nlc3Nvcjo6flZpZXdwb3J0UHJvY2Vzc29yKToKKyAgICAgICAgKFdlYktpdDo6Vmlld3Bv
cnRQcm9jZXNzb3I6OmRpc3BsYXkpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nv
cjo6dXBkYXRlVmlld3BvcnRTaXplKToKKyAgICAgICAgKFdlYktpdDo6Vmlld3BvcnRQcm9jZXNz
b3I6OnNldFZpc2libGVDb250ZW50c1JlY3QpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFBy
b2Nlc3Nvcjo6ZGlkQ2hhbmdlQ29udGVudHNTaXplKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2VmbC9WaWV3cG9ydFByb2Nlc3Nvci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAg
ICAgIChWaWV3cG9ydFByb2Nlc3Nvcik6CisgICAgICAgIChXZWJLaXQ6OlZpZXdwb3J0UHJvY2Vz
c29yOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6ZHJhd2lu
Z0FyZWEpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6dmlld1NpemUpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcDoKKyAgICAgICAgKF9Fd2tf
Vmlld19Qcml2YXRlX0RhdGEpOgorICAgICAgICAoX2V3a192aWV3X3NtYXJ0X2NhbGN1bGF0ZSk6
CisgICAgICAgIChld2tfdmlld19iYXNlX2FkZCk6CisgICAgICAgIChld2tfdmlld19kaXNwbGF5
KToKKyAgICAgICAgKGV3a192aWV3X2NvbnRlbnRzX3NpemVfY2hhbmdlZCk6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXdfcHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9QYWdlQ2xpZW50Lmg6CisgICAgICAgIChQYWdlQ2xpZW50KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6ZGlkQ2hhbmdlQ29udGVudHNTaXplKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL0xheWVyVHJlZUNvb3JkaW5hdG9yL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlQ29vcmRpbmF0b3IvTGF5ZXJUcmVl
Q29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9z
dC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3Q6OmNyZWF0ZSk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKFdlYktpdCk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc01haW5FZmwuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzTWFpbkVmbCk6CisKIDIwMTItMDctMTcgIENocmlzdG9waGUg
RHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXSBSZXBs
YWNlIDAgYnkgTlVMTCBpbiBwdWJsaWMgaGVhZGVycyBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtRWZsLmNtYWtlCmluZGV4IGYzMjdlMjYuLjg0NWNiY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZs
LmNtYWtlCkBAIC00OCw2ICs0OCw3IEBAIExJU1QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAg
IFVJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3X3Jlc291cmNlX2xvYWRfY2xpZW50LmNwcAogICAg
IFVJUHJvY2Vzcy9BUEkvZWZsL2V3a193ZWJfZXJyb3IuY3BwCiAgICAgVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX3dlYl9yZXNvdXJjZS5jcHAKKyAgICBVSVByb2Nlc3MvQVBJL2VmbC9WaWV3cG9ydFBy
b2Nlc3Nvci5jcHAKIAogICAgIFVJUHJvY2Vzcy9jYWlyby9CYWNraW5nU3RvcmVDYWlyby5jcHAK
IApAQCAtODMsNiArODQsNyBAQCBMSVNUKEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBXZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L2VmbC9XZWJFcnJvcnNFZmwuY3BwCiAgICAgV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9lZmwvV2ViUG9wdXBNZW51RWZsLmNwcAogCisgICAgV2ViUHJvY2Vz
cy9XZWJQYWdlL0xheWVyVHJlZUNvb3JkaW5hdG9yL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcAog
ICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9lZmwvV2ViSW5zcGVjdG9yRWZsLmNwcAogICAgIFdlYlBy
b2Nlc3MvV2ViUGFnZS9lZmwvV2ViUGFnZUVmbC5jcHAKIApAQCAtMTEyLDYgKzExNCw3IEBAIExJ
U1QoQVBQRU5EIFdlYktpdDJfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQktJVDJfRElS
fS9XZWJQcm9jZXNzL2VmbCIKICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9zb3VwIgog
ICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2VmbCIKKyAgICAi
JHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUNvb3JkaW5hdG9yIgog
ICAgICIke1dURl9ESVJ9L3d0Zi9nb2JqZWN0IgogICAgICR7Q0FJUk9fSU5DTFVERV9ESVJTfQog
ICAgICR7RUNPUkVfWF9JTkNMVURFX0RJUlN9CkBAIC0xMzksNiArMTQyLDcgQEAgTElTVChBUFBF
TkQgV2ViS2l0Ml9MSUJSQVJJRVMKICAgICAke0NNQUtFX0RMX0xJQlN9CiAgICAgJHtHbGliX0xJ
QlJBUklFU30KICAgICAke0xJQlNPVVAyNF9MSUJSQVJJRVN9CisgICAgJHtPUEVOR0xfTElCUkFS
SUVTfQogKQogCiBMSVNUIChBUFBFTkQgV2ViUHJvY2Vzc19TT1VSQ0VTCkBAIC0xNTQsNiArMTU4
LDcgQEAgTElTVCAoQVBQRU5EIFdlYlByb2Nlc3NfTElCUkFSSUVTCiAgICAgJHtMSUJYTUwyX0xJ
QlJBUklFU30KICAgICAke0xJQlhTTFRfTElCUkFSSUVTfQogICAgICR7U1FMSVRFX0xJQlJBUklF
U30KKyAgICAke09QRU5HTF9MSUJSQVJJRVN9CiApCiAKIEFERF9ERUZJTklUSU9OUygtRERFRkFV
TFRfVEhFTUVfUEFUSD1cIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9LyR7REFUQV9JTlNUQUxMX0RJ
Un0vdGhlbWVzXCIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2hhcmVhYmxl
U3VyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2hhcmVhYmxlU3VyZmFjZS5jcHAK
aW5kZXggMmVmNWE0Yi4uMjI4YzBlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1NoYXJlYWJsZVN1cmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9TaGFyZWFi
bGVTdXJmYWNlLmNwcApAQCAtMjAsNiArMjAsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIlNoYXJlYWJsZVN1cmZhY2UuaCIKIAorI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5o
IgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogCiAjaWYgVVNFKFRFWFRVUkVf
TUFQUEVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVu
dENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmNwcAppbmRleCA1NDJmZDNmLi5hMGIwMGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtNDksNiArNDksNyBAQAogI2lmIFVTRShV
SV9TSURFX0NPTVBPU0lUSU5HKQogI2luY2x1ZGUgPFdlYkNvcmUvQW5pbWF0aW9uLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9GbG9hdFBvaW50M0QuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0xlbmd0aC5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvVHJhbnNmb3JtYXRpb25NYXRyaXguaD4KIAogI2lmIEVOQUJM
RShDU1NfRklMVEVSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuaAppbmRleCBkYjJiOGY3Li45OTVkZjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCkBAIC02Nyw3ICs2Nyw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIH0KICNlbmRpZgogCi0jaWYgUExBVEZPUk0oUVQpCisjaWYgUExBVEZPUk0oUVQp
IHx8IFBMQVRGT1JNKEVGTCkKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBBbmltYXRp
b247CiAgICAgY2xhc3MgRmxvYXRQb2ludDNEOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvUGFnZUNsaWVudEltcGwuY3BwCmluZGV4IGU2OWY4N2QuLjFiY2IzMzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1BhZ2VDbGllbnRJ
bXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50
SW1wbC5jcHAKQEAgLTMxLDkgKzMxLDE2IEBACiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIK
ICNpbmNsdWRlICJXZWJDb250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVQcm94eS5o
IgorI2luY2x1ZGUgIldlYlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgor
I2luY2x1ZGUgIldlYlByZWZlcmVuY2VzLmgiCiAjaW5jbHVkZSAiZXdrX3ZpZXdfcHJpdmF0ZS5o
IgogCisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCisjaW5jbHVkZSAiTGF5ZXJUcmVlQ29v
cmRpbmF0b3JQcm94eS5oIgorI2luY2x1ZGUgIldlYkxheWVyVHJlZVJlbmRlcmVyLmgiCisjZW5k
aWYKKwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAt
NDIsNiArNDksMTQgQEAgUGFnZUNsaWVudEltcGw6OlBhZ2VDbGllbnRJbXBsKFdlYkNvbnRleHQq
IGNvbnRleHQsIFdlYlBhZ2VHcm91cCogcGFnZUdyb3VwLCBFdmEKICAgICA6IG1fdmlld1dpZGdl
dCh2aWV3V2lkZ2V0KQogewogICAgIG1fcGFnZSA9IGNvbnRleHQtPmNyZWF0ZVdlYlBhZ2UodGhp
cywgcGFnZUdyb3VwKTsKKworI2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQorICAgIHBhZ2Uo
KS0+cGFnZUdyb3VwKCktPnByZWZlcmVuY2VzKCktPnNldEFjY2VsZXJhdGVkRHJhd2luZ0VuYWJs
ZWQodHJ1ZSk7CisgICAgcGFnZSgpLT5wYWdlR3JvdXAoKS0+cHJlZmVyZW5jZXMoKS0+c2V0QWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgcGFnZSgpLT5wYWdlR3JvdXAo
KS0+cHJlZmVyZW5jZXMoKS0+c2V0Rm9yY2VDb21wb3NpdGluZ01vZGUodHJ1ZSk7CisgICAgcGFn
ZSgpLT5zZXRVc2VGaXhlZExheW91dCh0cnVlKTsKKyNlbmRpZgorCiAgICAgbV9wYWdlLT5pbml0
aWFsaXplV2ViUGFnZSgpOwogfQogCkBAIC0yNzYsNCArMjkxLDExIEBAIHZvaWQgUGFnZUNsaWVu
dEltcGw6OmNvdW50U3RyaW5nTWF0Y2hlc0luQ3VzdG9tUmVwcmVzZW50YXRpb24oY29uc3QgU3Ry
aW5nJiwgRmluCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1w
bDo6ZGlkQ2hhbmdlQ29udGVudHNTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNpemUpCit7
CisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCisgICAgZXdrX3ZpZXdfY29udGVudHNfc2l6
ZV9jaGFuZ2VkKG1fdmlld1dpZGdldCwgc2l6ZSk7CisjZW5kaWYKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Q
YWdlQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNs
aWVudEltcGwuaAppbmRleCA0MjdlZjUyLi5lMGQ0NzQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1BhZ2VDbGllbnRJbXBsLmgKQEAgLTEwNiw2ICsxMDYsOCBA
QCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBmaW5kU3RyaW5nSW5DdXN0b21SZXByZXNlbnRh
dGlvbihjb25zdCBTdHJpbmcmLCBGaW5kT3B0aW9ucywgdW5zaWduZWQpOwogICAgIHZpcnR1YWwg
dm9pZCBjb3VudFN0cmluZ01hdGNoZXNJbkN1c3RvbVJlcHJlc2VudGF0aW9uKGNvbnN0IFN0cmlu
ZyYsIEZpbmRPcHRpb25zLCB1bnNpZ25lZCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdl
Q29udGVudHNTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsKKwogcHJpdmF0ZToKICAgICBS
ZWZQdHI8V2ViUGFnZVByb3h5PiBtX3BhZ2U7CiAgICAgRXZhc19PYmplY3QqIG1fdmlld1dpZGdl
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1ZpZXdwb3J0
UHJvY2Vzc29yLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1ZpZXdwb3J0
UHJvY2Vzc29yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjQ5NDEy
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvVmll
d3BvcnRQcm9jZXNzb3IuY3BwCkBAIC0wLDAgKzEsOTMgQEAKKy8qCisgICAgQ29weXJpZ2h0IChD
KSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MKKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl
IENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIlZpZXdwb3J0UHJvY2Vzc29yLmgiCisKKyNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElO
RykKKworI2luY2x1ZGUgIkxheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkuaCIKKyNpbmNsdWRlICJU
cmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgorI2luY2x1ZGUgIldlYkxheWVyVHJlZVJlbmRlcmVyLmgi
CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworVmll
d3BvcnRQcm9jZXNzb3I6OlZpZXdwb3J0UHJvY2Vzc29yKFBhZ2VDbGllbnRJbXBsKiBwYWdlQ2xp
ZW50SW1wbCkKKyAgICA6IG1fcGFnZUNsaWVudEltcGwocGFnZUNsaWVudEltcGwpCisgICAgLCBt
X3NjYWxlRmFjdG9yKDEpCit7CisgICAgQVNTRVJUKG1fcGFnZUNsaWVudEltcGwpOworfQorCitW
aWV3cG9ydFByb2Nlc3Nvcjo6flZpZXdwb3J0UHJvY2Vzc29yKCkKK3sKK30KKwordm9pZCBWaWV3
cG9ydFByb2Nlc3Nvcjo6ZGlzcGxheShjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIFdlYkNv
cmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4IG1hdHJpeDsKKyAgICBtYXRyaXguc2V0TWF0cml4KG1f
c2NhbGVGYWN0b3IsIDAsIDAsIG1fc2NhbGVGYWN0b3IsIC1tX3Zpc2libGVDb250ZW50UmVjdC54
KCksIC1tX3Zpc2libGVDb250ZW50UmVjdC55KCkpOworCisgICAgV2ViTGF5ZXJUcmVlUmVuZGVy
ZXIqIHJlbmRlcmVyID0gZHJhd2luZ0FyZWEoKS0+bGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eSgp
LT5sYXllclRyZWVSZW5kZXJlcigpOworICAgIHJlbmRlcmVyLT5zZXRBY3RpdmUodHJ1ZSk7Cisg
ICAgcmVuZGVyZXItPnN5bmNSZW1vdGVDb250ZW50KCk7CisgICAgcmVuZGVyZXItPnBhaW50VG9D
dXJyZW50R0xDb250ZXh0KG1hdHJpeCwgMS4wZiwgcmVjdCk7Cit9CisKK3ZvaWQgVmlld3BvcnRQ
cm9jZXNzb3I6OnVwZGF0ZVZpZXdwb3J0U2l6ZShjb25zdCBJbnRTaXplJiB2aWV3cG9ydFNpemUp
Cit7CisgICAgbV92aWV3cG9ydFNpemUgPSB2aWV3cG9ydFNpemU7CisgICAgbV9wYWdlQ2xpZW50
SW1wbC0+cGFnZSgpLT5zZXRWaWV3cG9ydFNpemUodmlld3BvcnRTaXplKTsKKyAgICBzZXRWaXNp
YmxlQ29udGVudHNSZWN0KG1fdmlzaWJsZUNvbnRlbnRSZWN0LmxvY2F0aW9uKCksIG1fc2NhbGVG
YWN0b3IsIEZsb2F0UG9pbnQoKSk7Cit9CisKK3ZvaWQgVmlld3BvcnRQcm9jZXNzb3I6OnNldFZp
c2libGVDb250ZW50c1JlY3QoY29uc3QgSW50UG9pbnQmIG5ld1Njcm9sbFBvc2l0aW9uLCBmbG9h
dCBuZXdTY2FsZSwgY29uc3QgRmxvYXRQb2ludCYgdHJhamVjdG9yeSkKK3sKKyAgICBtX3NjYWxl
RmFjdG9yID0gbmV3U2NhbGU7CisgICAgbV92aXNpYmxlQ29udGVudFJlY3QgPSBJbnRSZWN0KG5l
d1Njcm9sbFBvc2l0aW9uLCBtX3ZpZXdwb3J0U2l6ZSk7CisKKyAgICAvLyBhZGp1c3QgVmlzaWJs
ZUNvbnRlbnRSZWN0CisgICAgSW50U2l6ZSBjb250ZW50c1NpemUgPSBtX2NvbnRlbnRzU2l6ZTsK
KyAgICBjb250ZW50c1NpemUuc2NhbGUobV9zY2FsZUZhY3Rvcik7CisgICAgaWYgKG1fdmlzaWJs
ZUNvbnRlbnRSZWN0LngoKSA+IGNvbnRlbnRzU2l6ZS53aWR0aCgpIC0gbV92aXNpYmxlQ29udGVu
dFJlY3Qud2lkdGgoKSkKKyAgICAgICAgbV92aXNpYmxlQ29udGVudFJlY3Quc2V0WChjb250ZW50
c1NpemUud2lkdGgoKSAtIG1fdmlzaWJsZUNvbnRlbnRSZWN0LndpZHRoKCkpOworICAgIGlmICht
X3Zpc2libGVDb250ZW50UmVjdC54KCkgPCAwKQorICAgICAgICBtX3Zpc2libGVDb250ZW50UmVj
dC5zZXRYKDApOworICAgIGlmIChtX3Zpc2libGVDb250ZW50UmVjdC55KCkgPiBjb250ZW50c1Np
emUuaGVpZ2h0KCkgLSBtX3Zpc2libGVDb250ZW50UmVjdC5oZWlnaHQoKSkKKyAgICAgICAgbV92
aXNpYmxlQ29udGVudFJlY3Quc2V0WShjb250ZW50c1NpemUuaGVpZ2h0KCkgLSBtX3Zpc2libGVD
b250ZW50UmVjdC5oZWlnaHQoKSk7CisgICAgaWYgKG1fdmlzaWJsZUNvbnRlbnRSZWN0LnkoKSA8
IDApCisgICAgICAgIG1fdmlzaWJsZUNvbnRlbnRSZWN0LnNldFkoMCk7CisKKyAgICBGbG9hdFJl
Y3QgbWFwUmVjdFRvV2ViQ29udGVudCA9IG1fdmlzaWJsZUNvbnRlbnRSZWN0OworICAgIG1hcFJl
Y3RUb1dlYkNvbnRlbnQuc2NhbGUoMSAvIG1fc2NhbGVGYWN0b3IpOworICAgIGRyYXdpbmdBcmVh
KCktPnNldFZpc2libGVDb250ZW50c1JlY3QoZW5jbG9zaW5nSW50UmVjdChtYXBSZWN0VG9XZWJD
b250ZW50KSwgbV9zY2FsZUZhY3RvciwgdHJhamVjdG9yeSk7Cit9CisKK3ZvaWQgVmlld3BvcnRQ
cm9jZXNzb3I6OmRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBz
aXplKQoreworICAgIG1fY29udGVudHNTaXplID0gc2l6ZTsKKyAgICBzZXRWaXNpYmxlQ29udGVu
dHNSZWN0KG1fdmlzaWJsZUNvbnRlbnRSZWN0LmxvY2F0aW9uKCksIG1fc2NhbGVGYWN0b3IsIEZs
b2F0UG9pbnQoKSk7CisgICAgZHJhd2luZ0FyZWEoKS0+bGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94
eSgpLT5zZXRDb250ZW50c1NpemUoV2ViQ29yZTo6RmxvYXRTaXplKHNpemUud2lkdGgoKSwgc2l6
ZS5oZWlnaHQoKSkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKyNlbmRpZiAvLyBVU0Uo
VUlfU0lERV9DT01QT1NJVElORykKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvVmlld3BvcnRQcm9jZXNzb3IuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL1ZpZXdwb3J0UHJvY2Vzc29yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uOTUwZjkxYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL1ZpZXdwb3J0UHJvY2Vzc29yLmgKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAg
ICBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcworCisgICAgVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAg
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCisgICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCisgICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1
dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICAgYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgICBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQorICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh
aWxzLgorCisgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgICAgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwKKyAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIFZp
ZXdwb3J0UHJvY2Vzc29yX2gKKyNkZWZpbmUgVmlld3BvcnRQcm9jZXNzb3JfaAorCisjaWYgVVNF
KFVJX1NJREVfQ09NUE9TSVRJTkcpCisKKyNpbmNsdWRlICJQYWdlQ2xpZW50SW1wbC5oIgorI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBW
aWV3cG9ydFByb2Nlc3NvciB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8Vmlld3Bv
cnRQcm9jZXNzb3I+IGNyZWF0ZShQYWdlQ2xpZW50SW1wbCogcGFnZUNsaWVudEltcGwpCisgICAg
eworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFZpZXdwb3J0UHJvY2Vzc29yKHBhZ2VDbGll
bnRJbXBsKSk7CisgICAgfQorICAgIH5WaWV3cG9ydFByb2Nlc3NvcigpOworCisgICAgRHJhd2lu
Z0FyZWFQcm94eSogZHJhd2luZ0FyZWEoKSBjb25zdCB7IHJldHVybiBtX3BhZ2VDbGllbnRJbXBs
LT5wYWdlKCktPmRyYXdpbmdBcmVhKCk7IH0KKyAgICBXZWJDb3JlOjpJbnRTaXplIHZpZXdTaXpl
KCkgeyByZXR1cm4gbV92aWV3cG9ydFNpemU7IH0KKworICAgIHZvaWQgZGlzcGxheShjb25zdCBX
ZWJDb3JlOjpJbnRSZWN0JiByZWN0KTsKKyAgICB2b2lkIHVwZGF0ZVZpZXdwb3J0U2l6ZShjb25z
dCBXZWJDb3JlOjpJbnRTaXplJiB2aWV3cG9ydFNpemUpOworICAgIHZvaWQgc2V0VmlzaWJsZUNv
bnRlbnRzUmVjdChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIGZsb2F0LCBjb25zdCBXZWJDb3Jl
OjpGbG9hdFBvaW50Jik7CisgICAgdm9pZCBkaWRDaGFuZ2VDb250ZW50c1NpemUoY29uc3QgV2Vi
Q29yZTo6SW50U2l6ZSYgc2l6ZSk7CisKK3ByaXZhdGU6CisgICAgVmlld3BvcnRQcm9jZXNzb3Io
UGFnZUNsaWVudEltcGwqKTsKKworICAgIFBhZ2VDbGllbnRJbXBsKiBtX3BhZ2VDbGllbnRJbXBs
OworICAgIFdlYkNvcmU6OkludFJlY3QgbV92aXNpYmxlQ29udGVudFJlY3Q7CisgICAgZmxvYXQg
bV9zY2FsZUZhY3RvcjsKKyAgICBXZWJDb3JlOjpJbnRTaXplIG1fY29udGVudHNTaXplOworICAg
IFdlYkNvcmU6OkludFNpemUgbV92aWV3cG9ydFNpemU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKKworI2VuZGlmCisKKyNlbmRpZiAvLyBWaWV3cG9ydFByb2Nlc3Nvcl9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKaW5kZXggOGI3MTMyYi4u
Yzc0YmU3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3
LmNwcApAQCAtMzgsNiArMzgsMTAgQEAKICNpbmNsdWRlICJld2tfd2ViX3Jlc291cmNlLmgiCiAj
aW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJ
TkcpCisjaW5jbHVkZSAiVmlld3BvcnRQcm9jZXNzb3IuaCIKKyNlbmRpZgorCiB1c2luZyBuYW1l
c3BhY2UgV2ViS2l0OwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTQ3LDYgKzUxLDEw
IEBAIHR5cGVkZWYgSGFzaE1hcDx1aW50NjRfdCwgRXdrX1dlYl9SZXNvdXJjZSo+IExvYWRpbmdS
ZXNvdXJjZXNNYXA7CiAKIHN0cnVjdCBfRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhIHsKICAgICBPd25Q
dHI8UGFnZUNsaWVudEltcGw+IHBhZ2VDbGllbnQ7CisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJ
TkcpCisgICAgT3duUHRyPFZpZXdwb3J0UHJvY2Vzc29yPiB2aWV3cG9ydFByb2Nlc3NvcjsKKyNl
bmRpZgorCiAgICAgY29uc3QgY2hhciogdXJpOwogICAgIGNvbnN0IGNoYXIqIHRpdGxlOwogICAg
IGNvbnN0IGNoYXIqIHRoZW1lOwpAQCAtMzc2LDYgKzM4NCwxMCBAQCBzdGF0aWMgdm9pZCBfZXdr
X3ZpZXdfc21hcnRfY2FsY3VsYXRlKEV2YXNfT2JqZWN0KiBld2tWaWV3KQogICAgIGV2YXNfb2Jq
ZWN0X2dlb21ldHJ5X2dldChld2tWaWV3LCAmeCwgJnksICZ3aWR0aCwgJmhlaWdodCk7CiAKICAg
ICBpZiAoc21hcnREYXRhLT5jaGFuZ2VkLnNpemUpIHsKKyNpZiBVU0UoVUlfU0lERV9DT01QT1NJ
VElORykKKyAgICAgICAgcHJpdi0+dmlld3BvcnRQcm9jZXNzb3ItPnVwZGF0ZVZpZXdwb3J0U2l6
ZShJbnRTaXplKHdpZHRoLCBoZWlnaHQpKTsKKyNlbmRpZgorCiAgICAgICAgIGlmIChwcml2LT5w
YWdlQ2xpZW50LT5wYWdlKCktPmRyYXdpbmdBcmVhKCkpCiAgICAgICAgICAgICBwcml2LT5wYWdl
Q2xpZW50LT5wYWdlKCktPmRyYXdpbmdBcmVhKCktPnNldFNpemUoSW50U2l6ZSh3aWR0aCwgaGVp
Z2h0KSwgSW50U2l6ZSgpKTsKICAgICAgICAgc21hcnREYXRhLT52aWV3LncgPSB3aWR0aDsKQEAg
LTUxMiw2ICs1MjQsMTAgQEAgRXZhc19PYmplY3QqIGV3a192aWV3X2Jhc2VfYWRkKEV2YXMqIGNh
bnZhcywgV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3UKIAogICAgIGV3a192aWV3
X3RoZW1lX3NldChld2tWaWV3LCBERUZBVUxUX1RIRU1FX1BBVEgiL2RlZmF1bHQuZWRqIik7CiAK
KyNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElORykKKyAgICBwcml2LT52aWV3cG9ydFByb2Nlc3Nv
ciA9IFZpZXdwb3J0UHJvY2Vzc29yOjpjcmVhdGUocHJpdi0+cGFnZUNsaWVudC5nZXQoKSk7Cisj
ZW5kaWYKKwogICAgIHJldHVybiBld2tWaWV3OwogfQogCkBAIC03NjcsNiArNzgzLDEzIEBAIHZv
aWQgZXdrX3ZpZXdfZGlzcGxheShFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgSW50UmVjdCYg
cmVjdCkKICAgICBpZiAoIXNtYXJ0RGF0YS0+aW1hZ2UpCiAgICAgICAgIHJldHVybjsKIAorI2lm
IFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQorICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVS
TihzbWFydERhdGEsIHByaXYpOworCisgICAgZXZhc19nbF9tYWtlX2N1cnJlbnQocHJpdi0+ZXZh
c0dsLCBwcml2LT5ldmFzR2xTdXJmYWNlLCBwcml2LT5ldmFzR2xDb250ZXh0KTsKKyAgICBwcml2
LT52aWV3cG9ydFByb2Nlc3Nvci0+ZGlzcGxheShyZWN0KTsKKyNlbmRpZgorCiAgICAgZXZhc19v
YmplY3RfaW1hZ2VfZGF0YV91cGRhdGVfYWRkKHNtYXJ0RGF0YS0+aW1hZ2UsIHJlY3QueCgpLCBy
ZWN0LnkoKSwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpKTsKIH0KIApAQCAtOTYwLDMgKzk4
MywxMyBAQCBXZWJQYWdlUHJveHkqIGV3a192aWV3X3BhZ2VfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0
KiBld2tWaWV3KQogCiAgICAgcmV0dXJuIHByaXYtPnBhZ2VDbGllbnQtPnBhZ2UoKTsKIH0KKwor
I2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQordm9pZCBld2tfdmlld19jb250ZW50c19zaXpl
X2NoYW5nZWQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IEludFNpemUmIHNpemUpCit7Cisg
ICAgRVdLX1ZJRVdfU0RfR0VUKGV3a1ZpZXcsIHNtYXJ0RGF0YSk7CisgICAgRVdLX1ZJRVdfUFJJ
Vl9HRVQoc21hcnREYXRhLCBwcml2KTsKKworICAgIHByaXYtPnZpZXdwb3J0UHJvY2Vzc29yLT5k
aWRDaGFuZ2VDb250ZW50c1NpemUoc2l6ZSk7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3X3ByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3X3ByaXZhdGUuaAppbmRleCAzYzljZTk0
Li43ZThjZTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfdmlld19wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX3ZpZXdfcHJpdmF0ZS5oCkBAIC01OSw2ICs1OSwxMCBAQCB2b2lkIGV3a192aWV3X3Jlc291
cmNlX2xvYWRfaW5pdGlhdGVkKEV2YXNfT2JqZWN0KiBld2tWaWV3LCB1aW50NjRfdCByZXNvdXJj
ZUlkZQogdm9pZCBld2tfdmlld19yZXNvdXJjZV9sb2FkX3Jlc3BvbnNlKEV2YXNfT2JqZWN0KiBl
d2tWaWV3LCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIEV3a19VcmxfUmVzcG9uc2UqIHJl
c3BvbnNlKTsKIHZvaWQgZXdrX3ZpZXdfcmVzb3VyY2VfcmVxdWVzdF9zZW50KEV2YXNfT2JqZWN0
KiBld2tWaWV3LCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIEV3a19VcmxfUmVxdWVzdCog
cmVxdWVzdCwgRXdrX1VybF9SZXNwb25zZSogcmVkaXJlY3RSZXNwb25zZSk7CiAKKyNpZiBVU0Uo
VUlfU0lERV9DT01QT1NJVElORykKK3ZvaWQgZXdrX3ZpZXdfY29udGVudHNfc2l6ZV9jaGFuZ2Vk
KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CisjZW5kaWYK
KwogRXZhc19PYmplY3QqIGV3a192aWV3X2Jhc2VfYWRkKEV2YXMqIGNhbnZhcywgV0tDb250ZXh0
UmVmLCBXS1BhZ2VHcm91cFJlZik7CiAKICNpZiBFTkFCTEUoV0VCX0lOVEVOVFMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCBmYzVkNzQ3Li40ZTMwMWRkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTExOCw3ICsxMTgsNiBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIHBhZ2VEaWRSZXF1ZXN0U2Nyb2xsKGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JikgPSAwOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oUVQpCi0gICAgdmlydHVhbCB2b2lk
IGRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBkaWRGaW5kWm9vbWFibGVBcmVhKGNvbnN0IFdlYkNvcmU6OkludFBvaW50
JiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVj
ZWl2ZU1lc3NhZ2VGcm9tTmF2aWdhdG9yUXRPYmplY3QoY29uc3QgU3RyaW5nJikgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBoYW5kbGVEb3dubG9hZFJlcXVlc3QoRG93bmxvYWRQcm94eSopID0gMDsK
QEAgLTEyOCw2ICsxMjcsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVQcm94
eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KGNvbnN0IFN0cmluZyYgaG9zdG5hbWUsIHVp
bnQxNl90IHBvcnQsIGNvbnN0IFN0cmluZyYgcHJlZmlsbGVkVXNlcm5hbWUsIFN0cmluZyYgdXNl
cm5hbWUsIFN0cmluZyYgcGFzc3dvcmQpID0gMDsKICNlbmRpZiAvLyBQTEFURk9STShRVCkuCiAK
KyNpZiBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKQorICAgIHZpcnR1YWwgdm9pZCBkaWRD
aGFuZ2VDb250ZW50c1NpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpID0gMDsKKyNlbmRpZgor
CiAjaWYgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEdUSykKICAgICB2aXJ0dWFsIHZvaWQgc3Rh
cnREcmFnKGNvbnN0IFdlYkNvcmU6OkRyYWdEYXRhJiwgUGFzc1JlZlB0cjxTaGFyZWFibGVCaXRt
YXA+IGRyYWdJbWFnZSkgPSAwOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCmluZGV4IDE3Y2MyZjQuLjk5MTk4NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0yNjA5LDExICsyNjA5LDYgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OnNldE1lZGlhVm9sdW1lKGZsb2F0IHZvbHVtZSkKIH0KIAogI2lmIFBMQVRGT1JN
KFFUKQotdm9pZCBXZWJQYWdlUHJveHk6OmRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBJbnRT
aXplJiBzaXplKQotewotICAgIG1fcGFnZUNsaWVudC0+ZGlkQ2hhbmdlQ29udGVudHNTaXplKHNp
emUpOwotfQotCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmluZFpvb21hYmxlQXJlYShjb25zdCBJ
bnRQb2ludCYgdGFyZ2V0LCBjb25zdCBJbnRSZWN0JiBhcmVhKQogewogICAgIG1fcGFnZUNsaWVu
dC0+ZGlkRmluZFpvb21hYmxlQXJlYSh0YXJnZXQsIGFyZWEpOwpAQCAtMjY1Myw2ICsyNjQ4LDEz
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpjZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvblJlcXVlc3QoY29u
c3QgU3RyaW5nJiBob3N0bmFtZSwgYm9vbCYKIH0KICNlbmRpZiAvLyBQTEFURk9STShRVCkuCiAK
KyNpZiBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKQordm9pZCBXZWJQYWdlUHJveHk6OmRp
ZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBJbnRTaXplJiBzaXplKQoreworICAgIG1fcGFnZUNs
aWVudC0+ZGlkQ2hhbmdlQ29udGVudHNTaXplKHNpemUpOworfQorI2VuZGlmCisKICNpZiBFTkFC
TEUoVE9VQ0hfRVZFTlRTKQogdm9pZCBXZWJQYWdlUHJveHk6Om5lZWRUb3VjaEV2ZW50cyhib29s
IG5lZWRUb3VjaEV2ZW50cykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aAppbmRleCAyOWE2YzY1Li5lOWEwNmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCkBAIC04MjQsOSArODI0LDEzIEBAIHByaXZhdGU6CiAjZW5kaWYKIAogI2lmIFBM
QVRGT1JNKFFUKQotICAgIHZvaWQgZGlkQ2hhbmdlQ29udGVudHNTaXplKGNvbnN0IFdlYkNvcmU6
OkludFNpemUmKTsKICAgICB2b2lkIGRpZEZpbmRab29tYWJsZUFyZWEoY29uc3QgV2ViQ29yZTo6
SW50UG9pbnQmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7CiAjZW5kaWYKKworI2lmIFBMQVRG
T1JNKFFUKSB8fCBQTEFURk9STShFRkwpCisgICAgdm9pZCBkaWRDaGFuZ2VDb250ZW50c1NpemUo
Y29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOworI2VuZGlmCisKICNpZiBFTkFCTEUoVE9VQ0hfRVZF
TlRTKQogICAgIHZvaWQgbmVlZFRvdWNoRXZlbnRzKGJvb2wpOwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCA3ODM4
ZDY0Li5lZjY2ZGQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkubWVzc2FnZXMuaW4KQEAgLTczLDEyICs3MywxNiBAQCBtZXNzYWdlcyAtPiBXZWJQYWdl
UHJveHkgewogICAgIFBhZ2VEaWRSZXF1ZXN0U2Nyb2xsKFdlYkNvcmU6OkludFBvaW50IHBvaW50
KQogI2VuZGlmCiAjaWYgUExBVEZPUk0oUVQpCi0gICAgRGlkQ2hhbmdlQ29udGVudHNTaXplKFdl
YkNvcmU6OkludFNpemUgbmV3U2l6ZSkKICAgICBEaWRGaW5kWm9vbWFibGVBcmVhKFdlYkNvcmU6
OkludFBvaW50IHRhcmdldCwgV2ViQ29yZTo6SW50UmVjdCBhcmVhKQogICAgIEF1dGhlbnRpY2F0
aW9uUmVxdWlyZWRSZXF1ZXN0KFdURjo6U3RyaW5nIGhvc3RuYW1lLCBXVEY6OlN0cmluZyByZWFs
bSwgV1RGOjpTdHJpbmcgcHJlZmlsbGVkVXNlcm5hbWUpIC0+IChXVEY6OlN0cmluZyB1c2VybmFt
ZSwgV1RGOjpTdHJpbmcgcGFzc3dvcmQpCiAgICAgQ2VydGlmaWNhdGVWZXJpZmljYXRpb25SZXF1
ZXN0KFdURjo6U3RyaW5nIGhvc3RuYW1lKSAtPiAoYm9vbCBpZ25vcmVFcnJvcnMpCiAgICAgUHJv
eHlBdXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChXVEY6OlN0cmluZyBob3N0bmFtZSwgdWlu
dDE2X3QgcG9ydCwgV1RGOjpTdHJpbmcgcHJlZmlsbGVkVXNlcm5hbWUpIC0+IChXVEY6OlN0cmlu
ZyB1c2VybmFtZSwgV1RGOjpTdHJpbmcgcGFzc3dvcmQpCiAjZW5kaWYKKworI2lmIFBMQVRGT1JN
KFFUKSB8fCBQTEFURk9STShFRkwpCisgICAgRGlkQ2hhbmdlQ29udGVudHNTaXplKFdlYkNvcmU6
OkludFNpemUgbmV3U2l6ZSkKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKICAg
ICBOZWVkVG91Y2hFdmVudHMoYm9vbCBuZWVkVG91Y2hFdmVudHMpCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVDb29yZGluYXRv
ci9MYXllclRyZWVDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvTGF5ZXJUcmVlQ29vcmRpbmF0b3IvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuY3BwCmluZGV4
IGEzYjlhMTMuLjVlOTU5YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9MYXllclRyZWVDb29yZGluYXRvci9MYXllclRyZWVDb29yZGluYXRvci5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUNvb3JkaW5hdG9y
L0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcApAQCAtMjYsNiArMjYsNyBAQAogCiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAKKyNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElORykKICNpbmNsdWRlICJMYXll
clRyZWVDb29yZGluYXRvci5oIgogCiAjaW5jbHVkZSAiRHJhd2luZ0FyZWFJbXBsLmgiCkBAIC01
ODYsMyArNTg3LDQgQEAgUGFzc093blB0cjxXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ+IExheWVy
VHJlZUNvb3JkaW5hdG9yOjpiZWdpbkNvbnRlbnRVcGRhdGUoY28KIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9MYXllclRyZWVDb29yZGluYXRvci9MYXllclRyZWVDb29yZGluYXRvci5oIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUNvb3JkaW5hdG9yL0xheWVy
VHJlZUNvb3JkaW5hdG9yLmgKaW5kZXggOWI1MTU0Yy4uZjE3OTQ1YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUNvb3JkaW5hdG9yL0xheWVy
VHJlZUNvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0xheWVyVHJlZUNvb3JkaW5hdG9yL0xheWVyVHJlZUNvb3JkaW5hdG9yLmgKQEAgLTIwLDYgKzIw
LDggQEAKICNpZm5kZWYgTGF5ZXJUcmVlQ29vcmRpbmF0b3JfaAogI2RlZmluZSBMYXllclRyZWVD
b29yZGluYXRvcl9oCiAKKyNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElORykKKwogI2luY2x1ZGUg
IkxheWVyVHJlZUNvbnRleHQuaCIKICNpbmNsdWRlICJMYXllclRyZWVIb3N0LmgiCiAjaW5jbHVk
ZSAiVGltZXIuaCIKQEAgLTEzNiw1ICsxMzgsNiBAQCBwcml2YXRlOgogfTsKIAogfQorI2VuZGlm
CiAKICNlbmRpZiAvLyBMYXllclRyZWVDb29yZGluYXRvcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5jcHAKaW5kZXggYmYwMTFlMC4u
MGU2NGFkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xh
eWVyVHJlZUhvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9M
YXllclRyZWVIb3N0LmNwcApAQCAtMzQsNyArMzQsNyBAQAogI2VuZGlmCiAjZW5kaWYKIAotI2lm
IFBMQVRGT1JNKFFUKQorI2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQogI2luY2x1ZGUgIkxh
eWVyVHJlZUNvb3JkaW5hdG9yLmgiCiAjZW5kaWYKIApAQCAtNTIsNyArNTIsNyBAQCBQYXNzUmVm
UHRyPExheWVyVHJlZUhvc3Q+IExheWVyVHJlZUhvc3Q6OmNyZWF0ZShXZWJQYWdlKiB3ZWJQYWdl
KQogICAgIHJldHVybiBMYXllclRyZWVIb3N0Q0FNYWM6OmNyZWF0ZSh3ZWJQYWdlKTsKICNlbGlm
IFBMQVRGT1JNKFdJTikgJiYgSEFWRShXS1FDQSkKICAgICByZXR1cm4gTGF5ZXJUcmVlSG9zdENB
V2luOjpjcmVhdGUod2ViUGFnZSk7Ci0jZWxpZiBQTEFURk9STShRVCkKKyNlbGlmIFVTRShVSV9T
SURFX0NPTVBPU0lUSU5HKQogICAgIHJldHVybiBMYXllclRyZWVDb29yZGluYXRvcjo6Y3JlYXRl
KHdlYlBhZ2UpOwogI2VsaWYgUExBVEZPUk0oR1RLKSAmJiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wp
CiAgICAgcmV0dXJuIExheWVyVHJlZUhvc3RHdGs6OmNyZWF0ZSh3ZWJQYWdlKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCmluZGV4IDM2
ODIzMGMuLmQwNjZmNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9MYXllclRyZWVIb3N0LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0xheWVyVHJlZUhvc3QuaApAQCAtMTE1LDcgKzExNSw3IEBAIHByb3RlY3RlZDoKICNlbmRp
ZgogfTsKIAotI2lmICFQTEFURk9STShXSU4pICYmICFQTEFURk9STShRVCkKKyNpZiAhUExBVEZP
Uk0oV0lOKSAmJiAhVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCiBpbmxpbmUgYm9vbCBMYXllclRy
ZWVIb3N0OjpzdXBwb3J0c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKQogewogICAgIHJldHVybiB0
cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9lZmwvV2ViUHJvY2Vz
c01haW5FZmwuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc01h
aW5FZmwuY3BwCmluZGV4IDkyZDM1MTYuLjRhZTA2YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvZWZsL1dlYlByb2Nlc3NNYWluRWZsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL2VmbC9XZWJQcm9jZXNzTWFpbkVmbC5jcHAKQEAgLTM1LDYgKzM1LDEw
IEBACiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KIAor
I2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQorI2luY2x1ZGUgIldlYkdyYXBoaWNzTGF5ZXIu
aCIKKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktp
dCB7CkBAIC03NCw2ICs3OCwxMCBAQCBXS19FWFBPUlQgaW50IFdlYlByb2Nlc3NNYWluRWZsKGlu
dCBhcmdjLCBjaGFyKiBhcmd2W10pCiAgICAgICAgIHNvdXBfdXJpX2ZyZWUocHJveHlVcmkpOwog
ICAgIH0KIAorI2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQorICAgIFdlYkdyYXBoaWNzTGF5
ZXI6OmluaXRGYWN0b3J5KCk7CisjZW5kaWYKKwogICAgIGludCBzb2NrZXQgPSBhdG9pKGFyZ3Zb
MV0pOwogICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmluaXRpYWxpemUoc29ja2V0LCBSdW5Mb29w
OjptYWluKCkpOwogICAgIFJ1bkxvb3A6OnJ1bigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtl
L09wdGlvbnNFZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQppbmRleCA4
ODlmMjJlLi42OWM1NWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFr
ZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQpAQCAtMTUzLDMgKzE1MywyMyBA
QCBJRiAoRU5BQkxFX1dFQkdMKQogRU5ESUYgKCkKIAogU0VUKENQQUNLX1NPVVJDRV9HRU5FUkFU
T1IgVEJaMikKKworSUYgKFdURl9VU0VfVElMRURfQkFDS0lOR19TVE9SRSkKKyAgU0VUKFdURl9V
U0VfQUNDRUxFUkFURURfQ09NUE9TSVRJTkcgMSkKKyAgQUREX0RFRklOSVRJT05TKC1EV1RGX1VT
RV9BQ0NFTEVSQVRFRF9DT01QT1NJVElORz0xKQorCisgIFNFVChXVEZfVVNFX1VJX1NJREVfQ09N
UE9TSVRJTkcgMSkKKyAgQUREX0RFRklOSVRJT05TKC1EV1RGX1VTRV9VSV9TSURFX0NPTVBPU0lU
SU5HPTEpCisKKyAgU0VUKFdURl9VU0VfVEVYVFVSRV9NQVBQRVIgMSkKKyAgQUREX0RFRklOSVRJ
T05TKC1EV1RGX1VTRV9URVhUVVJFX01BUFBFUj0xKQorCisgIFNFVChXVEZfVVNFX1RFWFRVUkVf
TUFQUEVSX0dMIDEpCisgIEFERF9ERUZJTklUSU9OUygtRFdURl9VU0VfVEVYVFVSRV9NQVBQRVJf
R0w9MSkKKworICBTRVQoV1RGX1VTRV8zRF9HUkFQSElDUyAxKQorICBBRERfREVGSU5JVElPTlMo
LURXVEZfVVNFXzNEX0dSQVBISUNTPTEpCisKKyAgRklORF9QQUNLQUdFKE9wZW5HTCBSRVFVSVJF
RCkKK0VORElGKCkKKwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IDIyMzc3ZWQuLmExZmExZTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZwor
KysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNy0xNyAgWW91bmdU
YWVjayBTb25nICA8eW91bmd0YWVjay5zb25nQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtXSzJd
W0VGTF0gSW1wbGVtZW50IGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIG9uIFdLMiBFZmwgcG9ydAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODk4NDAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQg
YWNjZWxlcmF0ZWQgY29tcG9zaXRpb24gd2l0aCBUaWxlZEJhY2tpbmdTdG9yZSBvbiBXSzIgRWZs
IHBvcnQuCisgICAgICAgIEFkZCBPUEVOR0xfTElCUkFSSUVTIGluIENNYWtlTGlzdC50eHQuCisK
KyAgICAgICAgKiBNaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogV2Vi
S2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUVmbC5jbWFrZToKKwogMjAxMi0wNy0xNyAgRGlyayBQcmFu
a2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBucnd0OiBtb3ZlIGNvbmZpZy1z
cGVjaWZpYyBsb2dnaW5nIHRvIHByaW50aW5nLnB5CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJv
d3Nlci9lZmwvQ01ha2VMaXN0cy50eHQgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0
cy50eHQKaW5kZXggNTljZmM0Zi4uOTgxZjc5ZCAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dz
ZXIvZWZsL0NNYWtlTGlzdHMudHh0CisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxp
c3RzLnR4dApAQCAtMzAsNiArMzAsNyBAQCBTRVQoTWluaUJyb3dzZXJfTElCUkFSSUVTCiAgICAg
JHtMSUJYTUwyX0xJQlJBUklFU30KICAgICAke0xJQlhTTFRfTElCUkFSSUVTfQogICAgICR7U1FM
SVRFX0xJQlJBUklFU30KKyAgICAke09QRU5HTF9MSUJSQVJJRVN9CiApCiAKIFNFVChNaW5pQnJv
d3Nlcl9MSU5LX0ZMQUdTCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRm
b3JtRWZsLmNtYWtlIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUVmbC5jbWFrZQpp
bmRleCA5NDJjMDAzLi5jZGRkNWI5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1F
ZmwuY21ha2UKQEAgLTQzLDYgKzQzLDcgQEAgTElTVChBUFBFTkQgV2ViS2l0VGVzdFJ1bm5lcl9M
SUJSQVJJRVMKICAgICAke0VGTERFUFNfTElCUkFSSUVTfQogICAgICR7R2xpYl9MSUJSQVJJRVN9
CiAgICAgJHtXVEZfTElCUkFSWV9OQU1FfQorICAgICR7T1BFTkdMX0xJQlJBUklFU30KICkKIAog
TElTVChBUFBFTkQgV2ViS2l0VGVzdFJ1bm5lckluamVjdGVkQnVuZGxlX1NPVVJDRVMK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153162</attachid>
            <date>2012-07-18 19:40:31 -0700</date>
            <delta_ts>2012-07-19 05:34:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89840-20120719114030.patch</filename>
            <type>text/plain</type>
            <size>30843</size>
            <attacher name="YoungTaeck Song">youngtaeck.song</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMDYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYmMzMjY5NjY2ZmE1Mjc2
ZTJlNGFkNWQzNTk2OTZmNzcxYjVjMmVlNS4uYTgwYTI5NmI2ZDEwZDA1NDFjZWZjMTliOGQyOWQw
MGE0NmU4Nzc0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDEyLTA3LTE4ICBZb3Vu
Z1RhZWNrIFNvbmcgIDx5b3VuZ3RhZWNrLnNvbmdAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW1dL
Ml1bRUZMXSBJbXBsZW1lbnQgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgb24gV0syIEVmbCBwb3J0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTg0MAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVu
dCBhY2NlbGVyYXRlZCBjb21wb3NpdGlvbiB3aXRoIFRpbGVkQmFja2luZ1N0b3JlIG9uIFdLMiBF
ZmwgcG9ydC4KKyAgICAgICAgVGhlc2UgY29kZXMgYXJlIGJhc2VkIG9uIFF0IFBvcnQncyBVSV9T
SURFX0NPTVBPU0lUSU5HLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
UGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogU2hhcmVkL1NoYXJlYWJsZVN1cmZhY2UuY3Bw
OgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAq
IFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2VmbC9QYWdlQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBs
OjpQYWdlQ2xpZW50SW1wbCk6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpkaWRD
aGFuZ2VDb250ZW50c1NpemUpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5oOgorICAgICAgICAoUGFnZUNsaWVudEltcGwpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL1ZpZXdwb3J0UHJvY2Vzc29yLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6
Vmlld3BvcnRQcm9jZXNzb3IpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6
flZpZXdwb3J0UHJvY2Vzc29yKToKKyAgICAgICAgKFdlYktpdDo6Vmlld3BvcnRQcm9jZXNzb3I6
OmRpc3BsYXkpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6dXBkYXRlVmll
d3BvcnRTaXplKToKKyAgICAgICAgKFdlYktpdDo6Vmlld3BvcnRQcm9jZXNzb3I6OnNldFZpc2li
bGVDb250ZW50c1JlY3QpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6ZGlk
Q2hhbmdlQ29udGVudHNTaXplKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9WaWV3cG9y
dFByb2Nlc3Nvci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChWaWV3cG9y
dFByb2Nlc3Nvcik6CisgICAgICAgIChXZWJLaXQ6OlZpZXdwb3J0UHJvY2Vzc29yOjpjcmVhdGUp
OgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6ZHJhd2luZ0FyZWEpOgorICAg
ICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6dmlld1NpemUpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcDoKKyAgICAgICAgKF9Fd2tfVmlld19Qcml2YXRl
X0RhdGEpOgorICAgICAgICAoX2V3a192aWV3X3NtYXJ0X2NhbGN1bGF0ZSk6CisgICAgICAgIChl
d2tfdmlld19iYXNlX2FkZCk6CisgICAgICAgIChld2tfdmlld19kaXNwbGF5KToKKyAgICAgICAg
KGV3a192aWV3X2NvbnRlbnRzX3NpemVfY2hhbmdlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3ZpZXdfcHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50
Lmg6CisgICAgICAgIChQYWdlQ2xpZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6ZGlkQ2hhbmdlQ29udGVudHNTaXplKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lmg6CisgICAgICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVy
VHJlZUNvb3JkaW5hdG9yL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlQ29vcmRpbmF0b3IvTGF5ZXJUcmVlQ29vcmRpbmF0b3Iu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3Q6OmNyZWF0ZSk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc01haW5FZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzTWFpbkVmbCk6CisKIDIwMTItMDctMTggIENocmlzdG9waGUgRHVtZXogIDxjaHJp
c3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXVtXSzJdIEVGTCBzaG91bGQg
dXNlIERvd25sb2FkU291cCBpbnN0ZWFkIG9mIGRlZmluaW5nIERvd25sb2FkRWZsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJLaXQyL0NNYWtl
TGlzdHMudHh0CmluZGV4IDA0Y2M3MTllZWI4N2ZkMWIzY2ZhNDJhOTVjYTFhN2QyZGI4MWY1YjIu
LjdiZjMwMjE1YjNmZDU0NzcwMDIyOWMyY2I1MDQ4NWZjMDE2Mzk1ZGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlz
dHMudHh0CkBAIC0xOSw2ICsxOSw3IEBAIFNFVChXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMK
ICAgICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0xhdW5jaGVyIgogICAgICIke1dFQktJVDJf
RElSfS9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucyIKICAgICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9j
ZXNzL1BsdWdpbnMiCisgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy90ZXhtYXAiCiAgICAg
IiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nl
c3MvQXBwbGljYXRpb25DYWNoZSIKICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9BdXRo
ZW50aWNhdGlvbiIKQEAgLTY3LDYgKzY4LDggQEAgU0VUKFdlYktpdDJfSU5DTFVERV9ESVJFQ1RP
UklFUwogICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9hbmltYXRpb24iCiAgICAgIiR7V0VC
Q09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzIgogICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzIgorICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9ncmFwaGlj
cy9zdXJmYWNlcyIKKyAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
IgogICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zIgogICAg
ICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9uZXR3b3JrIgogICAgICIke1dFQkNPUkVfRElSfS9w
bGF0Zm9ybS9zcWwiCkBAIC0xMzcsNyArMTQwLDkgQEAgU0VUKFdlYktpdDJfU09VUkNFUwogICAg
IFNoYXJlZC9TZWN1cml0eU9yaWdpbkRhdGEuY3BwCiAgICAgU2hhcmVkL1Nlc3Npb25TdGF0ZS5j
cHAKICAgICBTaGFyZWQvU2hhcmVhYmxlQml0bWFwLmNwcAorICAgIFNoYXJlZC9TaGFyZWFibGVT
dXJmYWNlLmNwcAogICAgIFNoYXJlZC9TdGF0aXN0aWNzRGF0YS5jcHAKKyAgICBTaGFyZWQvU3Vy
ZmFjZVVwZGF0ZUluZm8uY3BwCiAgICAgU2hhcmVkL1VwZGF0ZUluZm8uY3BwCiAgICAgU2hhcmVk
L1Zpc2l0ZWRMaW5rVGFibGUuY3BwCiAgICAgU2hhcmVkL1dlYkJhY2tGb3J3YXJkTGlzdEl0ZW0u
Y3BwCkBAIC0zMzksNiArMzQ0LDggQEAgU0VUKFdlYktpdDJfU09VUkNFUwogICAgIFVJUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKICAgICBVSVByb2Nlc3MvUGx1Z2lucy9X
ZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXIuY3BwCiAKKyAgICBVSVByb2Nlc3MvdGV4bWFwL0xheWVy
QmFja2luZ1N0b3JlLmNwcAorCiAgICAgV2ViUHJvY2Vzcy9XZWJDb25uZWN0aW9uVG9VSVByb2Nl
c3MuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAogCkBAIC00NTIsNiArNDU5LDcg
QEAgU0VUKFdlYktpdDJfU09VUkNFUwogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3Zlcmxh
eS5jcHAKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvVGFwSGlnaGxpZ2h0Q29udHJvbGxlci5jcHAK
ICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvVGlsZWRCYWNraW5nU3RvcmVSZW1vdGVUaWxlLmNwcAor
ICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9VcGRhdGVBdGxhcy5jcHAKICAgICBXZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYkNvbnRleHRNZW51LmNwcAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dl
YktpdDIvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggOTdmNzA5NWE2NWRmN2UxMjA1ZTY0MDRiZDky
ZDcxY2EwMWIxMTJlOC4uOTJlNDdiMzY4NGQ4ZDJlOGI4YjA4NmExNjcwMzQ3MmNiZjk4NTUzNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNl
L1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTM2LDYgKzM2LDcgQEAgTElTVChBUFBFTkQg
V2ViS2l0Ml9TT1VSQ0VTCiAKICAgICBVSVByb2Nlc3MvQVBJL2VmbC9CYXR0ZXJ5UHJvdmlkZXIu
Y3BwCiAgICAgVUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNsaWVudEltcGwuY3BwCisgICAgVUlQcm9j
ZXNzL0FQSS9lZmwvVmlld3BvcnRQcm9jZXNzb3IuY3BwCiAgICAgVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX2NvbnRleHQuY3BwCiAgICAgVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Nvb2tpZV9tYW5hZ2Vy
LmNwcAogICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnQuY3BwCkBAIC04NCw2ICs4NSw3
IEBAIExJU1QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFdlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvZWZsL1dlYkVycm9yc0VmbC5jcHAKICAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L2VmbC9XZWJQb3B1cE1lbnVFZmwuY3BwCiAKKyAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJU
cmVlQ29vcmRpbmF0b3IvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuY3BwCiAgICAgV2ViUHJvY2Vzcy9X
ZWJQYWdlL2VmbC9XZWJJbnNwZWN0b3JFZmwuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL2Vm
bC9XZWJQYWdlRWZsLmNwcAogCkBAIC0xMTMsNiArMTE1LDcgQEAgTElTVChBUFBFTkQgV2ViS2l0
Ml9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvZWZs
IgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL3NvdXAiCiAgICAgIiR7V0VCS0lUMl9E
SVJ9L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvZWZsIgorICAgICIke1dFQktJVDJfRElSfS9X
ZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlQ29vcmRpbmF0b3IiCiAgICAgIiR7V1RGX0RJUn0v
d3RmL2dvYmplY3QiCiAgICAgJHtDQUlST19JTkNMVURFX0RJUlN9CiAgICAgJHtFQ09SRV9YX0lO
Q0xVREVfRElSU30KQEAgLTEzMyw2ICsxMzYsNyBAQCBMSVNUKEFQUEVORCBXZWJLaXQyX0xJQlJB
UklFUwogICAgICR7RUZMREVQU19MSUJSQVJJRVN9CiAgICAgJHtGcmVldHlwZV9MSUJSQVJJRVN9
CiAgICAgJHtMSUJYTUwyX0xJQlJBUklFU30KKyAgICAke09QRU5HTF9MSUJSQVJJRVN9CiAgICAg
JHtTUUxJVEVfTElCUkFSSUVTfQogICAgICR7Rk9OVENPTkZJR19MSUJSQVJJRVN9CiAgICAgJHtQ
TkdfTElCUkFSWX0KQEAgLTE1NCw2ICsxNTgsNyBAQCBMSVNUIChBUFBFTkQgV2ViUHJvY2Vzc19M
SUJSQVJJRVMKICAgICAke0VWQVNfTElCUkFSSUVTfQogICAgICR7TElCWE1MMl9MSUJSQVJJRVN9
CiAgICAgJHtMSUJYU0xUX0xJQlJBUklFU30KKyAgICAke09QRU5HTF9MSUJSQVJJRVN9CiAgICAg
JHtTUUxJVEVfTElCUkFSSUVTfQogKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvU2hhcmVhYmxlU3VyZmFjZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2hhcmVhYmxl
U3VyZmFjZS5jcHAKaW5kZXggMmVmNWE0YmI5N2E3NWRjMmYyM2ZlMjkyZDQ3ZmRhZTJlZWQzZmVm
Ny4uMjI4YzBlNWRjYWVjMjE5YTA3MjVhNGUxYTljMTgxYjZlMzkwNDQ1YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL1NoYXJlYWJsZVN1cmZhY2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9TaGFyZWFibGVTdXJmYWNlLmNwcApAQCAtMjAsNiArMjAsNyBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNoYXJlYWJsZVN1cmZhY2UuaCIKIAorI2luY2x1
ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5o
IgogCiAjaWYgVVNFKFRFWFRVUkVfTUFQUEVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCA1NDJmZDNmZjhjNzI0OTAwZjFmZjY3NzNm
OGI1ZWM2NGU1M2ZkOWVhLi5hMGIwMGFmMDUxZmNjNjg0ZjlkZDQxZjMwOTRiODc5MDMyYjA2NGE2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNw
cApAQCAtNDksNiArNDksNyBAQAogI2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQogI2luY2x1
ZGUgPFdlYkNvcmUvQW5pbWF0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GbG9hdFBvaW50M0Qu
aD4KKyNpbmNsdWRlIDxXZWJDb3JlL0xlbmd0aC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVHJhbnNm
b3JtYXRpb25NYXRyaXguaD4KIAogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAppbmRleCBkYjJiOGY3NDFlYzJh
MzFhY2JkYzEyN2M0MTcxZjljYjM3ZDQ1OWFjLi45OTVkZjBlZTNkMTA4MGZjMmU1OTg4MWE0NDMy
N2E0Yjk0YjAxYTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVu
dENvZGVycy5oCkBAIC02Nyw3ICs2Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIH0KICNlbmRp
ZgogCi0jaWYgUExBVEZPUk0oUVQpCisjaWYgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBBbmltYXRpb247CiAgICAgY2xhc3MgRmxv
YXRQb2ludDNEOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
UGFnZUNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvUGFn
ZUNsaWVudEltcGwuY3BwCmluZGV4IGU2OWY4N2QyODAxMmRlMTUzMGM5MmM5Y2NiMjIxYmRjODIx
YzRhZGYuLjU0YjI4MWVkMmIwOGUwOWUzMTllMzg2ZGNhYjU3MDVmZjk5ZWUyZWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1BhZ2VDbGllbnRJbXBsLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5jcHAK
QEAgLTMxLDkgKzMxLDE2IEBACiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRl
ICJXZWJDb250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVQcm94eS5oIgorI2luY2x1
ZGUgIldlYlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgorI2luY2x1ZGUg
IldlYlByZWZlcmVuY2VzLmgiCiAjaW5jbHVkZSAiZXdrX3ZpZXdfcHJpdmF0ZS5oIgogCisjaWYg
VVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCisjaW5jbHVkZSAiTGF5ZXJUcmVlQ29vcmRpbmF0b3JQ
cm94eS5oIgorI2luY2x1ZGUgIldlYkxheWVyVHJlZVJlbmRlcmVyLmgiCisjZW5kaWYKKwogdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDIsNiArNDks
MTQgQEAgUGFnZUNsaWVudEltcGw6OlBhZ2VDbGllbnRJbXBsKFdlYkNvbnRleHQqIGNvbnRleHQs
IFdlYlBhZ2VHcm91cCogcGFnZUdyb3VwLCBFdmEKICAgICA6IG1fdmlld1dpZGdldCh2aWV3V2lk
Z2V0KQogewogICAgIG1fcGFnZSA9IGNvbnRleHQtPmNyZWF0ZVdlYlBhZ2UodGhpcywgcGFnZUdy
b3VwKTsKKworI2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQorICAgIG1fcGFnZS0+cGFnZUdy
b3VwKCktPnByZWZlcmVuY2VzKCktPnNldEFjY2VsZXJhdGVkRHJhd2luZ0VuYWJsZWQodHJ1ZSk7
CisgICAgbV9wYWdlLT5wYWdlR3JvdXAoKS0+cHJlZmVyZW5jZXMoKS0+c2V0QWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgbV9wYWdlLT5wYWdlR3JvdXAoKS0+cHJlZmVy
ZW5jZXMoKS0+c2V0Rm9yY2VDb21wb3NpdGluZ01vZGUodHJ1ZSk7CisgICAgbV9wYWdlLT5zZXRV
c2VGaXhlZExheW91dCh0cnVlKTsKKyNlbmRpZgorCiAgICAgbV9wYWdlLT5pbml0aWFsaXplV2Vi
UGFnZSgpOwogfQogCkBAIC0yNzYsNCArMjkxLDkgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6Y291
bnRTdHJpbmdNYXRjaGVzSW5DdXN0b21SZXByZXNlbnRhdGlvbihjb25zdCBTdHJpbmcmLCBGaW4K
ICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRDaGFu
Z2VDb250ZW50c1NpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2l6ZSkKK3sKKyAgICBld2tf
dmlld19jb250ZW50c19zaXplX2NoYW5nZWQobV92aWV3V2lkZ2V0LCBzaXplKTsKK30KKwogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvUGFnZUNsaWVudEltcGwuaAppbmRleCA0MjdlZjUyOTcwMDFiMDAxMjc3OGRmYjIxNDcwYzNi
NDc2MjY5MWRmLi5lMGQ0NzQyMWMxZjZkZDZlNzQ4Y2ZlNzIyMjNlMTc4OGU2MzU0ZWRiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1BhZ2VDbGllbnRJbXBsLmgK
QEAgLTEwNiw2ICsxMDYsOCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBmaW5kU3RyaW5n
SW5DdXN0b21SZXByZXNlbnRhdGlvbihjb25zdCBTdHJpbmcmLCBGaW5kT3B0aW9ucywgdW5zaWdu
ZWQpOwogICAgIHZpcnR1YWwgdm9pZCBjb3VudFN0cmluZ01hdGNoZXNJbkN1c3RvbVJlcHJlc2Vu
dGF0aW9uKGNvbnN0IFN0cmluZyYsIEZpbmRPcHRpb25zLCB1bnNpZ25lZCk7CiAKKyAgICB2aXJ0
dWFsIHZvaWQgZGlkQ2hhbmdlQ29udGVudHNTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsK
KwogcHJpdmF0ZToKICAgICBSZWZQdHI8V2ViUGFnZVByb3h5PiBtX3BhZ2U7CiAgICAgRXZhc19P
YmplY3QqIG1fdmlld1dpZGdldDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL1ZpZXdwb3J0UHJvY2Vzc29yLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL1ZpZXdwb3J0UHJvY2Vzc29yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYTU3ZWEzOGRhYmNl
MDIxMzljYWJmZmNkNTBlN2Q4NTM2ZGMyOGUzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvVmlld3BvcnRQcm9jZXNzb3IuY3BwCkBAIC0wLDAgKzEs
OTMgQEAKKy8qCisgICAgQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MKKwor
ICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAg
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlZpZXdwb3J0UHJvY2Vzc29yLmgiCisK
KyNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElORykKKworI2luY2x1ZGUgIkxheWVyVHJlZUNvb3Jk
aW5hdG9yUHJveHkuaCIKKyNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgorI2luY2x1
ZGUgIldlYkxheWVyVHJlZVJlbmRlcmVyLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwor
CituYW1lc3BhY2UgV2ViS2l0IHsKKworVmlld3BvcnRQcm9jZXNzb3I6OlZpZXdwb3J0UHJvY2Vz
c29yKFBhZ2VDbGllbnRJbXBsKiBwYWdlQ2xpZW50SW1wbCkKKyAgICA6IG1fcGFnZUNsaWVudElt
cGwocGFnZUNsaWVudEltcGwpCisgICAgLCBtX3NjYWxlRmFjdG9yKDEpCit7CisgICAgQVNTRVJU
KG1fcGFnZUNsaWVudEltcGwpOworfQorCitWaWV3cG9ydFByb2Nlc3Nvcjo6flZpZXdwb3J0UHJv
Y2Vzc29yKCkKK3sKK30KKwordm9pZCBWaWV3cG9ydFByb2Nlc3Nvcjo6ZGlzcGxheShjb25zdCBJ
bnRSZWN0JiByZWN0KQoreworICAgIFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4IG1hdHJp
eDsKKyAgICBtYXRyaXguc2V0TWF0cml4KG1fc2NhbGVGYWN0b3IsIDAsIDAsIG1fc2NhbGVGYWN0
b3IsIC1tX3Zpc2libGVDb250ZW50UmVjdC54KCksIC1tX3Zpc2libGVDb250ZW50UmVjdC55KCkp
OworCisgICAgV2ViTGF5ZXJUcmVlUmVuZGVyZXIqIHJlbmRlcmVyID0gZHJhd2luZ0FyZWEoKS0+
bGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eSgpLT5sYXllclRyZWVSZW5kZXJlcigpOworICAgIHJl
bmRlcmVyLT5zZXRBY3RpdmUodHJ1ZSk7CisgICAgcmVuZGVyZXItPnN5bmNSZW1vdGVDb250ZW50
KCk7CisgICAgcmVuZGVyZXItPnBhaW50VG9DdXJyZW50R0xDb250ZXh0KG1hdHJpeCwgMS4wZiwg
cmVjdCk7Cit9CisKK3ZvaWQgVmlld3BvcnRQcm9jZXNzb3I6OnVwZGF0ZVZpZXdwb3J0U2l6ZShj
b25zdCBJbnRTaXplJiB2aWV3cG9ydFNpemUpCit7CisgICAgbV92aWV3cG9ydFNpemUgPSB2aWV3
cG9ydFNpemU7CisgICAgbV9wYWdlQ2xpZW50SW1wbC0+cGFnZSgpLT5zZXRWaWV3cG9ydFNpemUo
dmlld3BvcnRTaXplKTsKKyAgICBzZXRWaXNpYmxlQ29udGVudHNSZWN0KG1fdmlzaWJsZUNvbnRl
bnRSZWN0LmxvY2F0aW9uKCksIG1fc2NhbGVGYWN0b3IsIEZsb2F0UG9pbnQoKSk7Cit9CisKK3Zv
aWQgVmlld3BvcnRQcm9jZXNzb3I6OnNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgSW50UG9p
bnQmIG5ld1Njcm9sbFBvc2l0aW9uLCBmbG9hdCBuZXdTY2FsZSwgY29uc3QgRmxvYXRQb2ludCYg
dHJhamVjdG9yeSkKK3sKKyAgICBtX3NjYWxlRmFjdG9yID0gbmV3U2NhbGU7CisgICAgbV92aXNp
YmxlQ29udGVudFJlY3QgPSBJbnRSZWN0KG5ld1Njcm9sbFBvc2l0aW9uLCBtX3ZpZXdwb3J0U2l6
ZSk7CisKKyAgICAvLyBBZGp1c3QgVmlzaWJsZUNvbnRlbnRSZWN0CisgICAgSW50U2l6ZSBjb250
ZW50c1NpemUgPSBtX2NvbnRlbnRzU2l6ZTsKKyAgICBjb250ZW50c1NpemUuc2NhbGUobV9zY2Fs
ZUZhY3Rvcik7CisgICAgaWYgKG1fdmlzaWJsZUNvbnRlbnRSZWN0LngoKSA+IGNvbnRlbnRzU2l6
ZS53aWR0aCgpIC0gbV92aXNpYmxlQ29udGVudFJlY3Qud2lkdGgoKSkKKyAgICAgICAgbV92aXNp
YmxlQ29udGVudFJlY3Quc2V0WChjb250ZW50c1NpemUud2lkdGgoKSAtIG1fdmlzaWJsZUNvbnRl
bnRSZWN0LndpZHRoKCkpOworICAgIGlmIChtX3Zpc2libGVDb250ZW50UmVjdC54KCkgPCAwKQor
ICAgICAgICBtX3Zpc2libGVDb250ZW50UmVjdC5zZXRYKDApOworICAgIGlmIChtX3Zpc2libGVD
b250ZW50UmVjdC55KCkgPiBjb250ZW50c1NpemUuaGVpZ2h0KCkgLSBtX3Zpc2libGVDb250ZW50
UmVjdC5oZWlnaHQoKSkKKyAgICAgICAgbV92aXNpYmxlQ29udGVudFJlY3Quc2V0WShjb250ZW50
c1NpemUuaGVpZ2h0KCkgLSBtX3Zpc2libGVDb250ZW50UmVjdC5oZWlnaHQoKSk7CisgICAgaWYg
KG1fdmlzaWJsZUNvbnRlbnRSZWN0LnkoKSA8IDApCisgICAgICAgIG1fdmlzaWJsZUNvbnRlbnRS
ZWN0LnNldFkoMCk7CisKKyAgICBGbG9hdFJlY3QgbWFwUmVjdFRvV2ViQ29udGVudCA9IG1fdmlz
aWJsZUNvbnRlbnRSZWN0OworICAgIG1hcFJlY3RUb1dlYkNvbnRlbnQuc2NhbGUoMSAvIG1fc2Nh
bGVGYWN0b3IpOworICAgIGRyYXdpbmdBcmVhKCktPnNldFZpc2libGVDb250ZW50c1JlY3QoZW5j
bG9zaW5nSW50UmVjdChtYXBSZWN0VG9XZWJDb250ZW50KSwgbV9zY2FsZUZhY3RvciwgdHJhamVj
dG9yeSk7Cit9CisKK3ZvaWQgVmlld3BvcnRQcm9jZXNzb3I6OmRpZENoYW5nZUNvbnRlbnRzU2l6
ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXplKQoreworICAgIG1fY29udGVudHNTaXplID0g
c2l6ZTsKKyAgICBzZXRWaXNpYmxlQ29udGVudHNSZWN0KG1fdmlzaWJsZUNvbnRlbnRSZWN0Lmxv
Y2F0aW9uKCksIG1fc2NhbGVGYWN0b3IsIEZsb2F0UG9pbnQoKSk7CisgICAgZHJhd2luZ0FyZWEo
KS0+bGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eSgpLT5zZXRDb250ZW50c1NpemUoV2ViQ29yZTo6
RmxvYXRTaXplKHNpemUud2lkdGgoKSwgc2l6ZS5oZWlnaHQoKSkpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKKyNlbmRpZiAvLyBVU0UoVUlfU0lERV9DT01QT1NJVElORykKKwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvVmlld3BvcnRQcm9jZXNzb3Iu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1ZpZXdwb3J0UHJvY2Vzc29yLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uM2U3YTJhMmYwNDJiNzE0NTgzMDViNTlhYzhkZWEzNGQ2ZjIyNjE0OAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1ZpZXdwb3J0
UHJvY2Vzc29yLmgKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIDIwMTIg
U2Ftc3VuZyBFbGVjdHJvbmljcworCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICAgdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCisgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICAgIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQorICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAgICBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIFZpZXdwb3J0UHJvY2Vzc29yX2gKKyNk
ZWZpbmUgVmlld3BvcnRQcm9jZXNzb3JfaAorCisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcp
CisKKyNpbmNsdWRlICJQYWdlQ2xpZW50SW1wbC5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBWaWV3cG9ydFByb2Nlc3NvciB7Citw
dWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8Vmlld3BvcnRQcm9jZXNzb3I+IGNyZWF0ZShQ
YWdlQ2xpZW50SW1wbCogcGFnZUNsaWVudEltcGwpCisgICAgeworICAgICAgICByZXR1cm4gYWRv
cHRQdHIobmV3IFZpZXdwb3J0UHJvY2Vzc29yKHBhZ2VDbGllbnRJbXBsKSk7CisgICAgfQorICAg
IH5WaWV3cG9ydFByb2Nlc3NvcigpOworCisgICAgRHJhd2luZ0FyZWFQcm94eSogZHJhd2luZ0Fy
ZWEoKSBjb25zdCB7IHJldHVybiBtX3BhZ2VDbGllbnRJbXBsLT5wYWdlKCktPmRyYXdpbmdBcmVh
KCk7IH0KKyAgICBXZWJDb3JlOjpJbnRTaXplIHZpZXdTaXplKCkgeyByZXR1cm4gbV92aWV3cG9y
dFNpemU7IH0KKworICAgIHZvaWQgZGlzcGxheShjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiByZWN0
KTsKKyAgICB2b2lkIHVwZGF0ZVZpZXdwb3J0U2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiB2
aWV3cG9ydFNpemUpOworICAgIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBXZWJD
b3JlOjpJbnRQb2ludCYsIGZsb2F0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50Jik7CisgICAg
dm9pZCBkaWRDaGFuZ2VDb250ZW50c1NpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2l6ZSk7
CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgVmlld3BvcnRQcm9jZXNzb3IoUGFnZUNsaWVudElt
cGwqKTsKKworICAgIFBhZ2VDbGllbnRJbXBsKiBtX3BhZ2VDbGllbnRJbXBsOworICAgIFdlYkNv
cmU6OkludFJlY3QgbV92aXNpYmxlQ29udGVudFJlY3Q7CisgICAgV2ViQ29yZTo6SW50U2l6ZSBt
X2NvbnRlbnRzU2l6ZTsKKyAgICBXZWJDb3JlOjpJbnRTaXplIG1fdmlld3BvcnRTaXplOworICAg
IGZsb2F0IG1fc2NhbGVGYWN0b3I7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2Vu
ZGlmCisKKyNlbmRpZiAvLyBWaWV3cG9ydFByb2Nlc3Nvcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKaW5kZXggOGI3MTMyYjQ4NDdhYTY1MTNiNTJi
YTJjMGUyOWVkZjc2YmEyZTM1ZC4uODViOGExZjI2YzIwOWM5NzE3YWRkYThkYWM2MzRhMDM5NTI0
ZGEzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3Zp
ZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNw
cApAQCAtMzgsNiArMzgsMTAgQEAKICNpbmNsdWRlICJld2tfd2ViX3Jlc291cmNlLmgiCiAjaW5j
bHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcp
CisjaW5jbHVkZSAiVmlld3BvcnRQcm9jZXNzb3IuaCIKKyNlbmRpZgorCiB1c2luZyBuYW1lc3Bh
Y2UgV2ViS2l0OwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTQ3LDYgKzUxLDEwIEBA
IHR5cGVkZWYgSGFzaE1hcDx1aW50NjRfdCwgRXdrX1dlYl9SZXNvdXJjZSo+IExvYWRpbmdSZXNv
dXJjZXNNYXA7CiAKIHN0cnVjdCBfRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhIHsKICAgICBPd25QdHI8
UGFnZUNsaWVudEltcGw+IHBhZ2VDbGllbnQ7CisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcp
CisgICAgT3duUHRyPFZpZXdwb3J0UHJvY2Vzc29yPiB2aWV3cG9ydFByb2Nlc3NvcjsKKyNlbmRp
ZgorCiAgICAgY29uc3QgY2hhciogdXJpOwogICAgIGNvbnN0IGNoYXIqIHRpdGxlOwogICAgIGNv
bnN0IGNoYXIqIHRoZW1lOwpAQCAtMzc2LDYgKzM4NCwxMCBAQCBzdGF0aWMgdm9pZCBfZXdrX3Zp
ZXdfc21hcnRfY2FsY3VsYXRlKEV2YXNfT2JqZWN0KiBld2tWaWV3KQogICAgIGV2YXNfb2JqZWN0
X2dlb21ldHJ5X2dldChld2tWaWV3LCAmeCwgJnksICZ3aWR0aCwgJmhlaWdodCk7CiAKICAgICBp
ZiAoc21hcnREYXRhLT5jaGFuZ2VkLnNpemUpIHsKKyNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElO
RykKKyAgICAgICAgcHJpdi0+dmlld3BvcnRQcm9jZXNzb3ItPnVwZGF0ZVZpZXdwb3J0U2l6ZShJ
bnRTaXplKHdpZHRoLCBoZWlnaHQpKTsKKyNlbmRpZgorCiAgICAgICAgIGlmIChwcml2LT5wYWdl
Q2xpZW50LT5wYWdlKCktPmRyYXdpbmdBcmVhKCkpCiAgICAgICAgICAgICBwcml2LT5wYWdlQ2xp
ZW50LT5wYWdlKCktPmRyYXdpbmdBcmVhKCktPnNldFNpemUoSW50U2l6ZSh3aWR0aCwgaGVpZ2h0
KSwgSW50U2l6ZSgpKTsKICAgICAgICAgc21hcnREYXRhLT52aWV3LncgPSB3aWR0aDsKQEAgLTUx
Miw2ICs1MjQsMTAgQEAgRXZhc19PYmplY3QqIGV3a192aWV3X2Jhc2VfYWRkKEV2YXMqIGNhbnZh
cywgV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3UKIAogICAgIGV3a192aWV3X3Ro
ZW1lX3NldChld2tWaWV3LCBERUZBVUxUX1RIRU1FX1BBVEgiL2RlZmF1bHQuZWRqIik7CiAKKyNp
ZiBVU0UoVUlfU0lERV9DT01QT1NJVElORykKKyAgICBwcml2LT52aWV3cG9ydFByb2Nlc3NvciA9
IFZpZXdwb3J0UHJvY2Vzc29yOjpjcmVhdGUocHJpdi0+cGFnZUNsaWVudC5nZXQoKSk7CisjZW5k
aWYKKwogICAgIHJldHVybiBld2tWaWV3OwogfQogCkBAIC03NjcsNiArNzgzLDEzIEBAIHZvaWQg
ZXdrX3ZpZXdfZGlzcGxheShFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgSW50UmVjdCYgcmVj
dCkKICAgICBpZiAoIXNtYXJ0RGF0YS0+aW1hZ2UpCiAgICAgICAgIHJldHVybjsKIAorI2lmIFVT
RShVSV9TSURFX0NPTVBPU0lUSU5HKQorICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihz
bWFydERhdGEsIHByaXYpOworCisgICAgZXZhc19nbF9tYWtlX2N1cnJlbnQocHJpdi0+ZXZhc0ds
LCBwcml2LT5ldmFzR2xTdXJmYWNlLCBwcml2LT5ldmFzR2xDb250ZXh0KTsKKyAgICBwcml2LT52
aWV3cG9ydFByb2Nlc3Nvci0+ZGlzcGxheShyZWN0KTsKKyNlbmRpZgorCiAgICAgZXZhc19vYmpl
Y3RfaW1hZ2VfZGF0YV91cGRhdGVfYWRkKHNtYXJ0RGF0YS0+aW1hZ2UsIHJlY3QueCgpLCByZWN0
LnkoKSwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpKTsKIH0KIApAQCAtOTYwLDMgKzk4Mywx
MyBAQCBXZWJQYWdlUHJveHkqIGV3a192aWV3X3BhZ2VfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0KiBl
d2tWaWV3KQogCiAgICAgcmV0dXJuIHByaXYtPnBhZ2VDbGllbnQtPnBhZ2UoKTsKIH0KKwordm9p
ZCBld2tfdmlld19jb250ZW50c19zaXplX2NoYW5nZWQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGNv
bnN0IEludFNpemUmIHNpemUpCit7CisgICAgRVdLX1ZJRVdfU0RfR0VUKGV3a1ZpZXcsIHNtYXJ0
RGF0YSk7CisgICAgRVdLX1ZJRVdfUFJJVl9HRVQoc21hcnREYXRhLCBwcml2KTsKKworI2lmIFVT
RShVSV9TSURFX0NPTVBPU0lUSU5HKQorICAgIHByaXYtPnZpZXdwb3J0UHJvY2Vzc29yLT5kaWRD
aGFuZ2VDb250ZW50c1NpemUoc2l6ZSk7CisjZW5kaWYKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3X3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3X3ByaXZhdGUuaAppbmRleCAzYzljZTk0YTcx
NGViNzFlN2ZiOTMwZjQzNTAyOGI1MGE5YTVkZWNiLi43YmU3MGE1ZTVhOTllNDJhZWFjM2ZkZjEx
ZDQ4N2I3ODViZTZhMWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfdmlld19wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3ZpZXdfcHJpdmF0ZS5oCkBAIC01OCw2ICs1OCw3IEBAIHZvaWQgZXdrX3ZpZXdf
cmVzb3VyY2VfbG9hZF9maW5pc2hlZChFdmFzX09iamVjdCogZXdrVmlldywgdWludDY0X3QgcmVz
b3VyY2VJZGVuCiB2b2lkIGV3a192aWV3X3Jlc291cmNlX2xvYWRfaW5pdGlhdGVkKEV2YXNfT2Jq
ZWN0KiBld2tWaWV3LCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIEV3a19XZWJfUmVzb3Vy
Y2UqIHJlc291cmNlLCBFd2tfVXJsX1JlcXVlc3QqIHJlcXVlc3QpOwogdm9pZCBld2tfdmlld19y
ZXNvdXJjZV9sb2FkX3Jlc3BvbnNlKEV2YXNfT2JqZWN0KiBld2tWaWV3LCB1aW50NjRfdCByZXNv
dXJjZUlkZW50aWZpZXIsIEV3a19VcmxfUmVzcG9uc2UqIHJlc3BvbnNlKTsKIHZvaWQgZXdrX3Zp
ZXdfcmVzb3VyY2VfcmVxdWVzdF9zZW50KEV2YXNfT2JqZWN0KiBld2tWaWV3LCB1aW50NjRfdCBy
ZXNvdXJjZUlkZW50aWZpZXIsIEV3a19VcmxfUmVxdWVzdCogcmVxdWVzdCwgRXdrX1VybF9SZXNw
b25zZSogcmVkaXJlY3RSZXNwb25zZSk7Cit2b2lkIGV3a192aWV3X2NvbnRlbnRzX3NpemVfY2hh
bmdlZChFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOwogCiBF
dmFzX09iamVjdCogZXdrX3ZpZXdfYmFzZV9hZGQoRXZhcyogY2FudmFzLCBXS0NvbnRleHRSZWYs
IFdLUGFnZUdyb3VwUmVmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5k
ZXggZmM1ZDc0N2M1M2EyNGQwZTBlMGRjZmNmYTJjYTA4ZTI0MTVhMTEzOS4uNGUzMDFkZGI2MDRj
MTZiOGJkNDFmMTYzYzBmZGY0OGZkZTA0MDNhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFn
ZUNsaWVudC5oCkBAIC0xMTgsNyArMTE4LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBw
YWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpID0gMDsKICNlbmRp
ZgogI2lmIFBMQVRGT1JNKFFUKQotICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VDb250ZW50c1Np
emUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmlu
ZFpvb21hYmxlQXJlYShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlRnJvbU5hdmln
YXRvclF0T2JqZWN0KGNvbnN0IFN0cmluZyYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxl
RG93bmxvYWRSZXF1ZXN0KERvd25sb2FkUHJveHkqKSA9IDA7CkBAIC0xMjgsNiArMTI3LDEwIEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlUHJveHlBdXRoZW50aWNhdGlvblJlcXVp
cmVkUmVxdWVzdChjb25zdCBTdHJpbmcmIGhvc3RuYW1lLCB1aW50MTZfdCBwb3J0LCBjb25zdCBT
dHJpbmcmIHByZWZpbGxlZFVzZXJuYW1lLCBTdHJpbmcmIHVzZXJuYW1lLCBTdHJpbmcmIHBhc3N3
b3JkKSA9IDA7CiAjZW5kaWYgLy8gUExBVEZPUk0oUVQpLgogCisjaWYgUExBVEZPUk0oUVQpIHx8
IFBMQVRGT1JNKEVGTCkKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQ29udGVudHNTaXplKGNv
bnN0IFdlYkNvcmU6OkludFNpemUmKSA9IDA7CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKFFUKSB8
fCBQTEFURk9STShHVEspCiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0RHJhZyhjb25zdCBXZWJDb3Jl
OjpEcmFnRGF0YSYsIFBhc3NSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBkcmFnSW1hZ2UpID0gMDsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCAx
N2NjMmY0MjUzZjgyNzA1NzkyNzFkZGRlNmJhYmUxYTIzNGY1MDg1Li45OTE5ODRiMjQ3N2I5YTBm
NGQ3ODUxY2EyNDViMTk1MjZiMzBiZjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcApAQCAtMjYwOSwxMSArMjYwOSw2IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpz
ZXRNZWRpYVZvbHVtZShmbG9hdCB2b2x1bWUpCiB9CiAKICNpZiBQTEFURk9STShRVCkKLXZvaWQg
V2ViUGFnZVByb3h5OjpkaWRDaGFuZ2VDb250ZW50c1NpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSkK
LXsKLSAgICBtX3BhZ2VDbGllbnQtPmRpZENoYW5nZUNvbnRlbnRzU2l6ZShzaXplKTsKLX0KLQog
dm9pZCBXZWJQYWdlUHJveHk6OmRpZEZpbmRab29tYWJsZUFyZWEoY29uc3QgSW50UG9pbnQmIHRh
cmdldCwgY29uc3QgSW50UmVjdCYgYXJlYSkKIHsKICAgICBtX3BhZ2VDbGllbnQtPmRpZEZpbmRa
b29tYWJsZUFyZWEodGFyZ2V0LCBhcmVhKTsKQEAgLTI2NTMsNiArMjY0OCwxMyBAQCB2b2lkIFdl
YlBhZ2VQcm94eTo6Y2VydGlmaWNhdGVWZXJpZmljYXRpb25SZXF1ZXN0KGNvbnN0IFN0cmluZyYg
aG9zdG5hbWUsIGJvb2wmCiB9CiAjZW5kaWYgLy8gUExBVEZPUk0oUVQpLgogCisjaWYgUExBVEZP
Uk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRDaGFuZ2VDb250
ZW50c1NpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSkKK3sKKyAgICBtX3BhZ2VDbGllbnQtPmRpZENo
YW5nZUNvbnRlbnRzU2l6ZShzaXplKTsKK30KKyNlbmRpZgorCiAjaWYgRU5BQkxFKFRPVUNIX0VW
RU5UUykKIHZvaWQgV2ViUGFnZVByb3h5OjpuZWVkVG91Y2hFdmVudHMoYm9vbCBuZWVkVG91Y2hF
dmVudHMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMjlh
NmM2NWM1ODg2NGJlNjQ0MjFlM2NjMjhmZjY0ZGZmYWE4NjQ1ZS4uZTlhMDZjYmI4YWYwNjU3MDI2
ODA0MzIxOTExNzM3ZjQyOGMxNjJhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaApAQCAtODI0LDkgKzgyNCwxMyBAQCBwcml2YXRlOgogI2VuZGlmCiAKICNpZiBQTEFU
Rk9STShRVCkKLSAgICB2b2lkIGRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJ
bnRTaXplJik7CiAgICAgdm9pZCBkaWRGaW5kWm9vbWFibGVBcmVhKGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOwogI2VuZGlmCisKKyNpZiBQTEFURk9S
TShRVCkgfHwgUExBVEZPUk0oRUZMKQorICAgIHZvaWQgZGlkQ2hhbmdlQ29udGVudHNTaXplKGNv
bnN0IFdlYkNvcmU6OkludFNpemUmKTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5U
UykKICAgICB2b2lkIG5lZWRUb3VjaEV2ZW50cyhib29sKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggNzgzOGQ2
NDNmYWQ5NTkwNTFlZTljMTUzYzdlMTdhNGY4ZGFiOTc5My4uZWY2NmRkOWM1MmMzYzZiOWQ3Zjgy
YmNlNTU4ZGM3MTg3MDY3NGM1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC03MywxMiArNzMsMTYgQEAgbWVzc2FnZXMgLT4g
V2ViUGFnZVByb3h5IHsKICAgICBQYWdlRGlkUmVxdWVzdFNjcm9sbChXZWJDb3JlOjpJbnRQb2lu
dCBwb2ludCkKICNlbmRpZgogI2lmIFBMQVRGT1JNKFFUKQotICAgIERpZENoYW5nZUNvbnRlbnRz
U2l6ZShXZWJDb3JlOjpJbnRTaXplIG5ld1NpemUpCiAgICAgRGlkRmluZFpvb21hYmxlQXJlYShX
ZWJDb3JlOjpJbnRQb2ludCB0YXJnZXQsIFdlYkNvcmU6OkludFJlY3QgYXJlYSkKICAgICBBdXRo
ZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChXVEY6OlN0cmluZyBob3N0bmFtZSwgV1RGOjpTdHJp
bmcgcmVhbG0sIFdURjo6U3RyaW5nIHByZWZpbGxlZFVzZXJuYW1lKSAtPiAoV1RGOjpTdHJpbmcg
dXNlcm5hbWUsIFdURjo6U3RyaW5nIHBhc3N3b3JkKQogICAgIENlcnRpZmljYXRlVmVyaWZpY2F0
aW9uUmVxdWVzdChXVEY6OlN0cmluZyBob3N0bmFtZSkgLT4gKGJvb2wgaWdub3JlRXJyb3JzKQog
ICAgIFByb3h5QXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoV1RGOjpTdHJpbmcgaG9zdG5h
bWUsIHVpbnQxNl90IHBvcnQsIFdURjo6U3RyaW5nIHByZWZpbGxlZFVzZXJuYW1lKSAtPiAoV1RG
OjpTdHJpbmcgdXNlcm5hbWUsIFdURjo6U3RyaW5nIHBhc3N3b3JkKQogI2VuZGlmCisKKyNpZiBQ
TEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKQorICAgIERpZENoYW5nZUNvbnRlbnRzU2l6ZShX
ZWJDb3JlOjpJbnRTaXplIG5ld1NpemUpCisjZW5kaWYKKwogI2lmIEVOQUJMRShUT1VDSF9FVkVO
VFMpCiAgICAgTmVlZFRvdWNoRXZlbnRzKGJvb2wgbmVlZFRvdWNoRXZlbnRzKQogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlQ29v
cmRpbmF0b3IvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0xheWVyVHJlZUNvb3JkaW5hdG9yL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNw
cAppbmRleCBhM2I5YTEzOTEzYzc3YWEyZGVkN2FmZWY1MmZmZjJkM2Q5OGU3ZGU3Li41ZTk1OWE5
MDlmZjVjOThjNWQ1ZjA2NmE5ODU1MjI2ODNhNmYxZTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlQ29vcmRpbmF0b3IvTGF5ZXJUcmVlQ29v
cmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXll
clRyZWVDb29yZGluYXRvci9MYXllclRyZWVDb29yZGluYXRvci5jcHAKQEAgLTI2LDYgKzI2LDcg
QEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcp
CiAjaW5jbHVkZSAiTGF5ZXJUcmVlQ29vcmRpbmF0b3IuaCIKIAogI2luY2x1ZGUgIkRyYXdpbmdB
cmVhSW1wbC5oIgpAQCAtNTg2LDMgKzU4Nyw0IEBAIFBhc3NPd25QdHI8V2ViQ29yZTo6R3JhcGhp
Y3NDb250ZXh0PiBMYXllclRyZWVDb29yZGluYXRvcjo6YmVnaW5Db250ZW50VXBkYXRlKGNvCiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlQ29vcmRpbmF0b3IvTGF5ZXJUcmVlQ29v
cmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVD
b29yZGluYXRvci9MYXllclRyZWVDb29yZGluYXRvci5oCmluZGV4IDliNTE1NGMzNmY4ZTE5ZWU0
MGZmNWM1YTQwOTc4ODA0OTFmYjBhMGIuLmYxNzk0NWEwNzE2ZDI4MTYzMmExNTJkZTlkZTFhZTE3
Y2NkODQxZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9M
YXllclRyZWVDb29yZGluYXRvci9MYXllclRyZWVDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVDb29yZGluYXRvci9MYXllclRyZWVD
b29yZGluYXRvci5oCkBAIC0yMCw2ICsyMCw4IEBACiAjaWZuZGVmIExheWVyVHJlZUNvb3JkaW5h
dG9yX2gKICNkZWZpbmUgTGF5ZXJUcmVlQ29vcmRpbmF0b3JfaAogCisjaWYgVVNFKFVJX1NJREVf
Q09NUE9TSVRJTkcpCisKICNpbmNsdWRlICJMYXllclRyZWVDb250ZXh0LmgiCiAjaW5jbHVkZSAi
TGF5ZXJUcmVlSG9zdC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCkBAIC0xMzYsNSArMTM4LDYgQEAg
cHJpdmF0ZToKIH07CiAKIH0KKyNlbmRpZgogCiAjZW5kaWYgLy8gTGF5ZXJUcmVlQ29vcmRpbmF0
b3JfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVy
VHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJl
ZUhvc3QuY3BwCmluZGV4IGJmMDExZTA4NWE2ZTIwYTU1ZWYyZTA5N2MwMzYyMzJiYzQ3MWZiMDku
LjBlNjRhZDZiYWYzZGQ5YjExOTNjYmZiZTI4Y2EwOTU4YjQ4ZWM1MjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTM0
LDcgKzM0LDcgQEAKICNlbmRpZgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShRVCkKKyNpZiBVU0Uo
VUlfU0lERV9DT01QT1NJVElORykKICNpbmNsdWRlICJMYXllclRyZWVDb29yZGluYXRvci5oIgog
I2VuZGlmCiAKQEAgLTUyLDcgKzUyLDcgQEAgUGFzc1JlZlB0cjxMYXllclRyZWVIb3N0PiBMYXll
clRyZWVIb3N0OjpjcmVhdGUoV2ViUGFnZSogd2ViUGFnZSkKICAgICByZXR1cm4gTGF5ZXJUcmVl
SG9zdENBTWFjOjpjcmVhdGUod2ViUGFnZSk7CiAjZWxpZiBQTEFURk9STShXSU4pICYmIEhBVkUo
V0tRQ0EpCiAgICAgcmV0dXJuIExheWVyVHJlZUhvc3RDQVdpbjo6Y3JlYXRlKHdlYlBhZ2UpOwot
I2VsaWYgUExBVEZPUk0oUVQpCisjZWxpZiBVU0UoVUlfU0lERV9DT01QT1NJVElORykKICAgICBy
ZXR1cm4gTGF5ZXJUcmVlQ29vcmRpbmF0b3I6OmNyZWF0ZSh3ZWJQYWdlKTsKICNlbGlmIFBMQVRG
T1JNKEdUSykgJiYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKQogICAgIHJldHVybiBMYXllclRyZWVI
b3N0R3RrOjpjcmVhdGUod2ViUGFnZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaAppbmRleCAzNjgyMzBjYzlkMTY4MzRkOGY3YWY3N2Fm
OThjYWI0M2JmNGQ5MjFlLi5kMDY2ZjUzMmMwMWQwYjI2OWYwYTE0MTNlYzYwNWVmNTlhZGNjNzk4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVl
SG9zdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVI
b3N0LmgKQEAgLTExNSw3ICsxMTUsNyBAQCBwcm90ZWN0ZWQ6CiAjZW5kaWYKIH07CiAKLSNpZiAh
UExBVEZPUk0oV0lOKSAmJiAhUExBVEZPUk0oUVQpCisjaWYgIVBMQVRGT1JNKFdJTikgJiYgIVVT
RShVSV9TSURFX0NPTVBPU0lUSU5HKQogaW5saW5lIGJvb2wgTGF5ZXJUcmVlSG9zdDo6c3VwcG9y
dHNBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCkKIHsKICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvZWZsL1dlYlByb2Nlc3NNYWluRWZsLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvZWZsL1dlYlByb2Nlc3NNYWluRWZsLmNwcAppbmRl
eCA5MmQzNTE2YTUzYTA2YWNiYzg0NzY0Mjc5MDNlNTA1ZDVkNzc0ODY2Li40YWUwNmE2NzIyYTMw
MzE4MzFlZWFlNTlkZDFlMDAwM2YwMTU5Zjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL2VmbC9XZWJQcm9jZXNzTWFpbkVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc01haW5FZmwuY3BwCkBAIC0zNSw2ICszNSwxMCBAQAog
I2luY2x1ZGUgPHVuaXN0ZC5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAKKyNpZiBV
U0UoVUlfU0lERV9DT01QT1NJVElORykKKyNpbmNsdWRlICJXZWJHcmFwaGljc0xheWVyLmgiCisj
ZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpA
QCAtNzQsNiArNzgsMTAgQEAgV0tfRVhQT1JUIGludCBXZWJQcm9jZXNzTWFpbkVmbChpbnQgYXJn
YywgY2hhciogYXJndltdKQogICAgICAgICBzb3VwX3VyaV9mcmVlKHByb3h5VXJpKTsKICAgICB9
CiAKKyNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElORykKKyAgICBXZWJHcmFwaGljc0xheWVyOjpp
bml0RmFjdG9yeSgpOworI2VuZGlmCisKICAgICBpbnQgc29ja2V0ID0gYXRvaShhcmd2WzFdKTsK
ICAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5pbml0aWFsaXplKHNvY2tldCwgUnVuTG9vcDo6bWFp
bigpKTsKICAgICBSdW5Mb29wOjpydW4oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRp
b25zRWZsLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKaW5kZXggODg5ZjIy
ZTY0YThjOTdjZjQ2MGFmMDFjODZmMDJmYzZmMGM1ZmIxMi4uNjljNTViZWQ2YjgwMmEyYjQ4NGNj
Njk4MmYwYjU2NDQ5Y2I0ZDM2OCAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwu
Y21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKQEAgLTE1MywzICsxNTMs
MjMgQEAgSUYgKEVOQUJMRV9XRUJHTCkKIEVORElGICgpCiAKIFNFVChDUEFDS19TT1VSQ0VfR0VO
RVJBVE9SIFRCWjIpCisKK0lGIChXVEZfVVNFX1RJTEVEX0JBQ0tJTkdfU1RPUkUpCisgIFNFVChX
VEZfVVNFX0FDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HIDEpCisgIEFERF9ERUZJTklUSU9OUygtRFdU
Rl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJTkc9MSkKKworICBTRVQoV1RGX1VTRV9VSV9TSURF
X0NPTVBPU0lUSU5HIDEpCisgIEFERF9ERUZJTklUSU9OUygtRFdURl9VU0VfVUlfU0lERV9DT01Q
T1NJVElORz0xKQorCisgIFNFVChXVEZfVVNFX1RFWFRVUkVfTUFQUEVSIDEpCisgIEFERF9ERUZJ
TklUSU9OUygtRFdURl9VU0VfVEVYVFVSRV9NQVBQRVI9MSkKKworICBTRVQoV1RGX1VTRV9URVhU
VVJFX01BUFBFUl9HTCAxKQorICBBRERfREVGSU5JVElPTlMoLURXVEZfVVNFX1RFWFRVUkVfTUFQ
UEVSX0dMPTEpCisKKyAgU0VUKFdURl9VU0VfM0RfR1JBUEhJQ1MgMSkKKyAgQUREX0RFRklOSVRJ
T05TKC1EV1RGX1VTRV8zRF9HUkFQSElDUz0xKQorCisgIEZJTkRfUEFDS0FHRShPcGVuR0wgUkVR
VUlSRUQpCitFTkRJRigpCisKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCAzYmFkMmNkNmUxNmY2YjNiZWMwZWJhNTAzMzIyZDI2NjI5ZGQxNmU3Li43
N2E5NTAzMzAzNGE3NWVjODgwN2VhNDdhYWI5N2NhZTI5MGRhMGNmIDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTIt
MDctMTggIFlvdW5nVGFlY2sgU29uZyAgPHlvdW5ndGFlY2suc29uZ0BzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbV0syXVtFRkxdIEltcGxlbWVudCBhY2NlbGVyYXRlZCBjb21wb3NpdGluZyBvbiBX
SzIgRWZsIHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTg5ODQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSW1wbGVtZW50IGFjY2VsZXJhdGVkIGNvbXBvc2l0aW9uIHdpdGggVGlsZWRCYWNraW5nU3Rv
cmUgb24gV0syIEVmbCBwb3J0LgorICAgICAgICBBZGQgT1BFTkdMX0xJQlJBUklFUyBpbiBDTWFr
ZUxpc3QudHh0LgorCisgICAgICAgICogTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0Ogor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1FZmwuY21ha2U6CisKIDIwMTItMDct
MTggIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgbnJ3dDog
bWVyZ2UgV2ViS2l0RHJpdmVyIGludG8gRHJpdmVyCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJv
d3Nlci9lZmwvQ01ha2VMaXN0cy50eHQgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0
cy50eHQKaW5kZXggNTljZmM0ZmQxZmU0MGE2YjhmMWNhZThjM2EyMDE5NzIzZmRjNzAzOS4uYjdi
ZGU5NTM2YjY5MTZkOGQwZTVjZjVkYWI5M2EzMTJjOGUxNmJmNCAxMDA2NDQKLS0tIGEvVG9vbHMv
TWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0CisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL2Vm
bC9DTWFrZUxpc3RzLnR4dApAQCAtMjksNiArMjksNyBAQCBTRVQoTWluaUJyb3dzZXJfTElCUkFS
SUVTCiAgICAgJHtMSUJTT1VQMjRfTElCUkFSSUVTfQogICAgICR7TElCWE1MMl9MSUJSQVJJRVN9
CiAgICAgJHtMSUJYU0xUX0xJQlJBUklFU30KKyAgICAke09QRU5HTF9MSUJSQVJJRVN9CiAgICAg
JHtTUUxJVEVfTElCUkFSSUVTfQogKQogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL1BsYXRmb3JtRWZsLmNtYWtlIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUVm
bC5jbWFrZQppbmRleCA5NDJjMDAzZjI3NzViODhmMTg2NGM2ODM1Zjc0NzFkNGRmOWYwYjlkLi5j
MjYxYzQyZTg4NGNiMzdmMTUwMTkwMjQyZGQxNWYxMmM3ZWVhMzk3IDEwMDY0NAotLS0gYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTQyLDYgKzQyLDcgQEAgTElTVChBUFBFTkQg
V2ViS2l0VGVzdFJ1bm5lcl9MSUJSQVJJRVMKICAgICAke0VESkVfTElCUkFSSUVTfQogICAgICR7
RUZMREVQU19MSUJSQVJJRVN9CiAgICAgJHtHbGliX0xJQlJBUklFU30KKyAgICAke09QRU5HTF9M
SUJSQVJJRVN9CiAgICAgJHtXVEZfTElCUkFSWV9OQU1FfQogKQogCmRpZmYgLS1naXQgYS9DaGFu
Z2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggYzliMjcwMTI1ZjljMWQxZWU4ZWE0MzhmNjBlNTgyMjJj
ZmJjZGRjMi4uYWQ0OTU5ZGQ2ZjM5ZDM1NDY5ZGJhNWVjNzQ2Y2U5ZDQ3NzMzN2I0MyAxMDA2NDQK
LS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA3
LTE4ICBZb3VuZ1RhZWNrIFNvbmcgIDx5b3VuZ3RhZWNrLnNvbmdAc2Ftc3VuZy5jb20+CisKKyAg
ICAgICAgW1dLMl1bRUZMXSBJbXBsZW1lbnQgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgb24gV0sy
IEVmbCBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04OTg0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEltcGxlbWVudCBhY2NlbGVyYXRlZCBjb21wb3NpdGlvbiB3aXRoIFRpbGVkQmFja2luZ1N0b3Jl
IG9uIFdLMiBFZmwgcG9ydC4KKyAgICAgICAgVGhlc2UgY29kZXMgYXJlIGJhc2VkIG9uIFF0IFBv
cnQncyBVSV9TSURFX0NPTVBPU0lUSU5HLgorICAgICAgICBBZGQgVUlfU0lERV9DT01QT1NJVElO
RyByZWxhdGVkIGRlZmluaXRpb25zIGluIE9wdGlvbnNFZmwuY21ha2UuCisKKyAgICAgICAgKiBT
b3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZToKKwogMjAxMi0wNy0xOCAgVmFydW4gSmFpbiAg
PHZhcnVuamFpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBEcmFnIGltYWdl
IGZvciBpbWFnZSBlbGVtZW50cyBzaG91bGQgYmUgc2NhbGVkIHdpdGggZGV2aWNlIHNjYWxlIGZh
Y3Rvci4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153234</attachid>
            <date>2012-07-19 05:34:31 -0700</date>
            <delta_ts>2012-07-23 19:39:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89840-20120719213430.patch</filename>
            <type>text/plain</type>
            <size>31478</size>
            <attacher name="YoungTaeck Song">youngtaeck.song</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMDk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzUyOTcyMmViOWE0ZDY3
NmU0ZjU2MjZjYjk4ODU0ZGY4YzZlZGMzOS4uZjY4MWIwZDY5ZTgzNTMyOGYwNDExMzJmNjJlY2Uz
ZGVkYTQ4ZDQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDEyLTA3LTE5ICBZb3Vu
Z1RhZWNrIFNvbmcgIDx5b3VuZ3RhZWNrLnNvbmdAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW1dL
Ml1bRUZMXSBJbXBsZW1lbnQgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgb24gV0syIEVmbCBwb3J0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTg0MAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVu
dCBhY2NlbGVyYXRlZCBjb21wb3NpdGlvbiB3aXRoIFRpbGVkQmFja2luZ1N0b3JlIG9uIFdLMiBF
ZmwgcG9ydC4KKyAgICAgICAgVGhlc2UgY29kZXMgYXJlIGJhc2VkIG9uIFF0IFBvcnQncyBVSV9T
SURFX0NPTVBPU0lUSU5HLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
UGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogU2hhcmVkL1NoYXJlYWJsZVN1cmZhY2UuY3Bw
OgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAq
IFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2VmbC9QYWdlQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBs
OjpQYWdlQ2xpZW50SW1wbCk6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpkaWRD
aGFuZ2VDb250ZW50c1NpemUpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5oOgorICAgICAgICAoUGFnZUNsaWVudEltcGwpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL1ZpZXdwb3J0UHJvY2Vzc29yLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6
Vmlld3BvcnRQcm9jZXNzb3IpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6
flZpZXdwb3J0UHJvY2Vzc29yKToKKyAgICAgICAgKFdlYktpdDo6Vmlld3BvcnRQcm9jZXNzb3I6
OmRpc3BsYXkpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6dXBkYXRlVmll
d3BvcnRTaXplKToKKyAgICAgICAgKFdlYktpdDo6Vmlld3BvcnRQcm9jZXNzb3I6OnNldFZpc2li
bGVDb250ZW50c1JlY3QpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6ZGlk
Q2hhbmdlQ29udGVudHNTaXplKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9WaWV3cG9y
dFByb2Nlc3Nvci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChWaWV3cG9y
dFByb2Nlc3Nvcik6CisgICAgICAgIChXZWJLaXQ6OlZpZXdwb3J0UHJvY2Vzc29yOjpjcmVhdGUp
OgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6ZHJhd2luZ0FyZWEpOgorICAg
ICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6dmlld1NpemUpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcDoKKyAgICAgICAgKF9Fd2tfVmlld19Qcml2YXRl
X0RhdGEpOgorICAgICAgICAoX2V3a192aWV3X3NtYXJ0X2NhbGN1bGF0ZSk6CisgICAgICAgIChl
d2tfdmlld19iYXNlX2FkZCk6CisgICAgICAgIChld2tfdmlld19kaXNwbGF5KToKKyAgICAgICAg
KGV3a192aWV3X2NvbnRlbnRzX3NpemVfY2hhbmdlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3ZpZXdfcHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50
Lmg6CisgICAgICAgIChQYWdlQ2xpZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6ZGlkQ2hhbmdlQ29udGVudHNTaXplKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lmg6CisgICAgICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVy
VHJlZUNvb3JkaW5hdG9yL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlQ29vcmRpbmF0b3IvTGF5ZXJUcmVlQ29vcmRpbmF0b3Iu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3Q6OmNyZWF0ZSk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc01haW5FZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzTWFpbkVmbCk6CisKIDIwMTItMDctMTkgIFpvbHRhbiBOeXVsICA8em9sdGFuLm55
dWxAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdW1dLMl0gVXNpbmcgZGlmZmVyZW50IGNhY2hl
IGRpcmVjdG9yeSBmb3IgZWFjaCBXVFIgcHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAppbmRleCAw
NGNjNzE5ZWViODdmZDFiM2NmYTQyYTk1Y2ExYTdkMmRiODFmNWIyLi43YmYzMDIxNWIzZmQ1NDc3
MDAyMjljMmNiNTA0ODVmYzAxNjM5NWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DTWFr
ZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dApAQCAtMTksNiAr
MTksNyBAQCBTRVQoV2ViS2l0Ml9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCS0lUMl9E
SVJ9L1VJUHJvY2Vzcy9MYXVuY2hlciIKICAgICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL05v
dGlmaWNhdGlvbnMiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9QbHVnaW5zIgorICAg
ICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvdGV4bWFwIgogICAgICIke1dFQktJVDJfRElSfS9X
ZWJQcm9jZXNzIgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0FwcGxpY2F0aW9uQ2Fj
aGUiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvQXV0aGVudGljYXRpb24iCkBAIC02
Nyw2ICs2OCw4IEBAIFNFVChXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJD
T1JFX0RJUn0vcGxhdGZvcm0vYW5pbWF0aW9uIgogICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9y
bS9ncmFwaGljcyIKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cyIKKyAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMiCisgICAg
IiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcCIKICAgICAiJHtXRUJDT1JF
X0RJUn0vcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3JtcyIKICAgICAiJHtXRUJDT1JFX0RJUn0v
cGxhdGZvcm0vbmV0d29yayIKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vc3FsIgpAQCAt
MTM3LDcgKzE0MCw5IEBAIFNFVChXZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvU2VjdXJpdHlP
cmlnaW5EYXRhLmNwcAogICAgIFNoYXJlZC9TZXNzaW9uU3RhdGUuY3BwCiAgICAgU2hhcmVkL1No
YXJlYWJsZUJpdG1hcC5jcHAKKyAgICBTaGFyZWQvU2hhcmVhYmxlU3VyZmFjZS5jcHAKICAgICBT
aGFyZWQvU3RhdGlzdGljc0RhdGEuY3BwCisgICAgU2hhcmVkL1N1cmZhY2VVcGRhdGVJbmZvLmNw
cAogICAgIFNoYXJlZC9VcGRhdGVJbmZvLmNwcAogICAgIFNoYXJlZC9WaXNpdGVkTGlua1RhYmxl
LmNwcAogICAgIFNoYXJlZC9XZWJCYWNrRm9yd2FyZExpc3RJdGVtLmNwcApAQCAtMzM5LDYgKzM0
NCw4IEBAIFNFVChXZWJLaXQyX1NPVVJDRVMKICAgICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Q
cm9jZXNzUHJveHkuY3BwCiAgICAgVUlQcm9jZXNzL1BsdWdpbnMvV2ViUGx1Z2luU2l0ZURhdGFN
YW5hZ2VyLmNwcAogCisgICAgVUlQcm9jZXNzL3RleG1hcC9MYXllckJhY2tpbmdTdG9yZS5jcHAK
KwogICAgIFdlYlByb2Nlc3MvV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzLmNwcAogICAgIFdlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAKIApAQCAtNDUyLDYgKzQ1OSw3IEBAIFNFVChXZWJLaXQyX1NP
VVJDRVMKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXkuY3BwCiAgICAgV2ViUHJv
Y2Vzcy9XZWJQYWdlL1RhcEhpZ2hsaWdodENvbnRyb2xsZXIuY3BwCiAgICAgV2ViUHJvY2Vzcy9X
ZWJQYWdlL1RpbGVkQmFja2luZ1N0b3JlUmVtb3RlVGlsZS5jcHAKKyAgICBXZWJQcm9jZXNzL1dl
YlBhZ2UvVXBkYXRlQXRsYXMuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3
YXJkTGlzdFByb3h5LmNwcAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5j
cHAKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZs
LmNtYWtlCmluZGV4IDk3ZjcwOTVhNjVkZjdlMTIwNWU2NDA0YmQ5MmQ3MWNhMDFiMTEyZTguLjky
ZTQ3YjM2ODRkOGQyZThiOGIwODZhMTY3MDM0NzJjYmY5ODU1MzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
RWZsLmNtYWtlCkBAIC0zNiw2ICszNiw3IEBAIExJU1QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwog
CiAgICAgVUlQcm9jZXNzL0FQSS9lZmwvQmF0dGVyeVByb3ZpZGVyLmNwcAogICAgIFVJUHJvY2Vz
cy9BUEkvZWZsL1BhZ2VDbGllbnRJbXBsLmNwcAorICAgIFVJUHJvY2Vzcy9BUEkvZWZsL1ZpZXdw
b3J0UHJvY2Vzc29yLmNwcAogICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmNwcAog
ICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb29raWVfbWFuYWdlci5jcHAKICAgICBVSVByb2Nl
c3MvQVBJL2VmbC9ld2tfaW50ZW50LmNwcApAQCAtODQsNiArODUsNyBAQCBMSVNUKEFQUEVORCBX
ZWJLaXQyX1NPVVJDRVMKICAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2VmbC9XZWJFcnJv
cnNFZmwuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9lZmwvV2ViUG9wdXBNZW51
RWZsLmNwcAogCisgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUNvb3JkaW5hdG9yL0xh
eWVyVHJlZUNvb3JkaW5hdG9yLmNwcAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9lZmwvV2ViSW5z
cGVjdG9yRWZsLmNwcAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9lZmwvV2ViUGFnZUVmbC5jcHAK
IApAQCAtMTEzLDYgKzExNSw3IEBAIExJU1QoQVBQRU5EIFdlYktpdDJfSU5DTFVERV9ESVJFQ1RP
UklFUwogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL2VmbCIKICAgICAiJHtXRUJLSVQy
X0RJUn0vV2ViUHJvY2Vzcy9zb3VwIgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L2VmbCIKKyAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9XZWJQYWdl
L0xheWVyVHJlZUNvb3JkaW5hdG9yIgogICAgICIke1dURl9ESVJ9L3d0Zi9nb2JqZWN0IgogICAg
ICR7Q0FJUk9fSU5DTFVERV9ESVJTfQogICAgICR7RUNPUkVfWF9JTkNMVURFX0RJUlN9CkBAIC0x
MzMsNiArMTM2LDcgQEAgTElTVChBUFBFTkQgV2ViS2l0Ml9MSUJSQVJJRVMKICAgICAke0VGTERF
UFNfTElCUkFSSUVTfQogICAgICR7RnJlZXR5cGVfTElCUkFSSUVTfQogICAgICR7TElCWE1MMl9M
SUJSQVJJRVN9CisgICAgJHtPUEVOR0xfTElCUkFSSUVTfQogICAgICR7U1FMSVRFX0xJQlJBUklF
U30KICAgICAke0ZPTlRDT05GSUdfTElCUkFSSUVTfQogICAgICR7UE5HX0xJQlJBUll9CkBAIC0x
NTQsNiArMTU4LDcgQEAgTElTVCAoQVBQRU5EIFdlYlByb2Nlc3NfTElCUkFSSUVTCiAgICAgJHtF
VkFTX0xJQlJBUklFU30KICAgICAke0xJQlhNTDJfTElCUkFSSUVTfQogICAgICR7TElCWFNMVF9M
SUJSQVJJRVN9CisgICAgJHtPUEVOR0xfTElCUkFSSUVTfQogICAgICR7U1FMSVRFX0xJQlJBUklF
U30KICkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1NoYXJlYWJsZVN1cmZh
Y2UuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1NoYXJlYWJsZVN1cmZhY2UuY3BwCmluZGV4
IDJlZjVhNGJiOTdhNzVkYzJmMjNmZTI5MmQ0N2ZkYWUyZWVkM2ZlZjcuLjIyOGMwZTVkY2FlYzIx
OWEwNzI1YTRlMWE5YzE4MWI2ZTM5MDQ0NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9TaGFyZWFibGVTdXJmYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2hh
cmVhYmxlU3VyZmFjZS5jcHAKQEAgLTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJTaGFyZWFibGVTdXJmYWNlLmgiCiAKKyNpbmNsdWRlICJHcmFwaGljc0NvbnRl
eHQuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKIAogI2lmIFVTRShURVhU
VVJFX01BUFBFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENv
ZGVycy5jcHAKaW5kZXggNTQyZmQzZmY4YzcyNDkwMGYxZmY2NzczZjhiNWVjNjRlNTNmZDllYS4u
YTBiMDBhZjA1MWZjYzY4NGY5ZGQ0MWYzMDk0Yjg3OTAzMmIwNjRhNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKQEAgLTQ5LDYgKzQ5LDcg
QEAKICNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElORykKICNpbmNsdWRlIDxXZWJDb3JlL0FuaW1h
dGlvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRQb2ludDNELmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9MZW5ndGguaD4KICNpbmNsdWRlIDxXZWJDb3JlL1RyYW5zZm9ybWF0aW9uTWF0cml4Lmg+
CiAKICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggZGIyYjhmNzQxZWMyYTMxYWNiZGMxMjdjNDE3MWY5
Y2IzN2Q0NTlhYy4uOTE5YzFhMWZkZmRjNTAwZDQ1NTZiODA1YTliYzgwYTMxNTYyYzk5YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaApAQCAtNjcs
MjggKzY3LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIH0KICNlbmRpZgogCi0jaWYgUExBVEZP
Uk0oUVQpCisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCiBuYW1lc3BhY2UgV2ViQ29yZSB7
Ci0gICAgY2xhc3MgQW5pbWF0aW9uOwotICAgIGNsYXNzIEZsb2F0UG9pbnQzRDsKLSAgICBjbGFz
cyBNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbjsKLSAgICBjbGFzcyBNYXRyaXhUcmFuc2Zvcm1P
cGVyYXRpb247Ci0gICAgY2xhc3MgUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb247Ci0gICAg
Y2xhc3MgUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9uOwotICAgIGNsYXNzIFNjYWxlVHJhbnNmb3Jt
T3BlcmF0aW9uOwotICAgIGNsYXNzIFNrZXdUcmFuc2Zvcm1PcGVyYXRpb247Ci0gICAgY2xhc3Mg
VGltaW5nRnVuY3Rpb247Ci0gICAgY2xhc3MgVHJhbnNmb3JtT3BlcmF0aW9uOwotICAgIGNsYXNz
IFRyYW5zZm9ybU9wZXJhdGlvbnM7Ci0gICAgY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRyaXg7Ci0g
ICAgY2xhc3MgVHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uOwotICAgIHN0cnVjdCBMZW5ndGg7
Ci19Ci0jZW5kaWYKK2NsYXNzIEZsb2F0UG9pbnQzRDsKK2NsYXNzIFRyYW5zZm9ybWF0aW9uTWF0
cml4Oworc3RydWN0IExlbmd0aDsKIAotI2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKSAmJiBF
TkFCTEUoQ1NTX0ZJTFRFUlMpCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgRmlsdGVy
T3BlcmF0aW9uczsKKyNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCitjbGFzcyBGaWx0ZXJPcGVyYXRp
b25zOworI2VuZGlmCiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvUGFnZUNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvUGFnZUNsaWVudEltcGwuY3BwCmluZGV4IGU2OWY4N2QyODAxMmRlMTUzMGM5
MmM5Y2NiMjIxYmRjODIxYzRhZGYuLjU0YjI4MWVkMmIwOGUwOWUzMTllMzg2ZGNhYjU3MDVmZjk5
ZWUyZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1BhZ2VD
bGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9QYWdl
Q2xpZW50SW1wbC5jcHAKQEAgLTMxLDkgKzMxLDE2IEBACiAjaW5jbHVkZSAiTm90SW1wbGVtZW50
ZWQuaCIKICNpbmNsdWRlICJXZWJDb250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVQ
cm94eS5oIgorI2luY2x1ZGUgIldlYlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIldlYlBhZ2VQcm94
eS5oIgorI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzLmgiCiAjaW5jbHVkZSAiZXdrX3ZpZXdfcHJp
dmF0ZS5oIgogCisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCisjaW5jbHVkZSAiTGF5ZXJU
cmVlQ29vcmRpbmF0b3JQcm94eS5oIgorI2luY2x1ZGUgIldlYkxheWVyVHJlZVJlbmRlcmVyLmgi
CisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewpAQCAtNDIsNiArNDksMTQgQEAgUGFnZUNsaWVudEltcGw6OlBhZ2VDbGllbnRJbXBsKFdlYkNv
bnRleHQqIGNvbnRleHQsIFdlYlBhZ2VHcm91cCogcGFnZUdyb3VwLCBFdmEKICAgICA6IG1fdmll
d1dpZGdldCh2aWV3V2lkZ2V0KQogewogICAgIG1fcGFnZSA9IGNvbnRleHQtPmNyZWF0ZVdlYlBh
Z2UodGhpcywgcGFnZUdyb3VwKTsKKworI2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQorICAg
IG1fcGFnZS0+cGFnZUdyb3VwKCktPnByZWZlcmVuY2VzKCktPnNldEFjY2VsZXJhdGVkRHJhd2lu
Z0VuYWJsZWQodHJ1ZSk7CisgICAgbV9wYWdlLT5wYWdlR3JvdXAoKS0+cHJlZmVyZW5jZXMoKS0+
c2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQodHJ1ZSk7CisgICAgbV9wYWdlLT5wYWdl
R3JvdXAoKS0+cHJlZmVyZW5jZXMoKS0+c2V0Rm9yY2VDb21wb3NpdGluZ01vZGUodHJ1ZSk7Cisg
ICAgbV9wYWdlLT5zZXRVc2VGaXhlZExheW91dCh0cnVlKTsKKyNlbmRpZgorCiAgICAgbV9wYWdl
LT5pbml0aWFsaXplV2ViUGFnZSgpOwogfQogCkBAIC0yNzYsNCArMjkxLDkgQEAgdm9pZCBQYWdl
Q2xpZW50SW1wbDo6Y291bnRTdHJpbmdNYXRjaGVzSW5DdXN0b21SZXByZXNlbnRhdGlvbihjb25z
dCBTdHJpbmcmLCBGaW4KICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lkIFBhZ2VDbGll
bnRJbXBsOjpkaWRDaGFuZ2VDb250ZW50c1NpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2l6
ZSkKK3sKKyAgICBld2tfdmlld19jb250ZW50c19zaXplX2NoYW5nZWQobV92aWV3V2lkZ2V0LCBz
aXplKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNsaWVudEltcGwuaAppbmRleCA0MjdlZjUyOTcwMDFiMDAx
Mjc3OGRmYjIxNDcwYzNiNDc2MjY5MWRmLi5lMGQ0NzQyMWMxZjZkZDZlNzQ4Y2ZlNzIyMjNlMTc4
OGU2MzU0ZWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Q
YWdlQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1Bh
Z2VDbGllbnRJbXBsLmgKQEAgLTEwNiw2ICsxMDYsOCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwg
dm9pZCBmaW5kU3RyaW5nSW5DdXN0b21SZXByZXNlbnRhdGlvbihjb25zdCBTdHJpbmcmLCBGaW5k
T3B0aW9ucywgdW5zaWduZWQpOwogICAgIHZpcnR1YWwgdm9pZCBjb3VudFN0cmluZ01hdGNoZXNJ
bkN1c3RvbVJlcHJlc2VudGF0aW9uKGNvbnN0IFN0cmluZyYsIEZpbmRPcHRpb25zLCB1bnNpZ25l
ZCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQ29udGVudHNTaXplKGNvbnN0IFdlYkNv
cmU6OkludFNpemUmKTsKKwogcHJpdmF0ZToKICAgICBSZWZQdHI8V2ViUGFnZVByb3h5PiBtX3Bh
Z2U7CiAgICAgRXZhc19PYmplY3QqIG1fdmlld1dpZGdldDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1ZpZXdwb3J0UHJvY2Vzc29yLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1ZpZXdwb3J0UHJvY2Vzc29yLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mYTU3ZWEzOGRhYmNlMDIxMzljYWJmZmNkNTBlN2Q4NTM2ZGMyOGUzCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvVmlld3BvcnRQcm9jZXNzb3Iu
Y3BwCkBAIC0wLDAgKzEsOTMgQEAKKy8qCisgICAgQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcg
RWxlY3Ryb25pY3MKKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVk
IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMiBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKwor
ICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
KyAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAg
SWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlZpZXdwb3J0
UHJvY2Vzc29yLmgiCisKKyNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElORykKKworI2luY2x1ZGUg
IkxheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkuaCIKKyNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1h
dHJpeC5oIgorI2luY2x1ZGUgIldlYkxheWVyVHJlZVJlbmRlcmVyLmgiCisKK3VzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworVmlld3BvcnRQcm9jZXNzb3I6
OlZpZXdwb3J0UHJvY2Vzc29yKFBhZ2VDbGllbnRJbXBsKiBwYWdlQ2xpZW50SW1wbCkKKyAgICA6
IG1fcGFnZUNsaWVudEltcGwocGFnZUNsaWVudEltcGwpCisgICAgLCBtX3NjYWxlRmFjdG9yKDEp
Cit7CisgICAgQVNTRVJUKG1fcGFnZUNsaWVudEltcGwpOworfQorCitWaWV3cG9ydFByb2Nlc3Nv
cjo6flZpZXdwb3J0UHJvY2Vzc29yKCkKK3sKK30KKwordm9pZCBWaWV3cG9ydFByb2Nlc3Nvcjo6
ZGlzcGxheShjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIFdlYkNvcmU6OlRyYW5zZm9ybWF0
aW9uTWF0cml4IG1hdHJpeDsKKyAgICBtYXRyaXguc2V0TWF0cml4KG1fc2NhbGVGYWN0b3IsIDAs
IDAsIG1fc2NhbGVGYWN0b3IsIC1tX3Zpc2libGVDb250ZW50UmVjdC54KCksIC1tX3Zpc2libGVD
b250ZW50UmVjdC55KCkpOworCisgICAgV2ViTGF5ZXJUcmVlUmVuZGVyZXIqIHJlbmRlcmVyID0g
ZHJhd2luZ0FyZWEoKS0+bGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eSgpLT5sYXllclRyZWVSZW5k
ZXJlcigpOworICAgIHJlbmRlcmVyLT5zZXRBY3RpdmUodHJ1ZSk7CisgICAgcmVuZGVyZXItPnN5
bmNSZW1vdGVDb250ZW50KCk7CisgICAgcmVuZGVyZXItPnBhaW50VG9DdXJyZW50R0xDb250ZXh0
KG1hdHJpeCwgMS4wZiwgcmVjdCk7Cit9CisKK3ZvaWQgVmlld3BvcnRQcm9jZXNzb3I6OnVwZGF0
ZVZpZXdwb3J0U2l6ZShjb25zdCBJbnRTaXplJiB2aWV3cG9ydFNpemUpCit7CisgICAgbV92aWV3
cG9ydFNpemUgPSB2aWV3cG9ydFNpemU7CisgICAgbV9wYWdlQ2xpZW50SW1wbC0+cGFnZSgpLT5z
ZXRWaWV3cG9ydFNpemUodmlld3BvcnRTaXplKTsKKyAgICBzZXRWaXNpYmxlQ29udGVudHNSZWN0
KG1fdmlzaWJsZUNvbnRlbnRSZWN0LmxvY2F0aW9uKCksIG1fc2NhbGVGYWN0b3IsIEZsb2F0UG9p
bnQoKSk7Cit9CisKK3ZvaWQgVmlld3BvcnRQcm9jZXNzb3I6OnNldFZpc2libGVDb250ZW50c1Jl
Y3QoY29uc3QgSW50UG9pbnQmIG5ld1Njcm9sbFBvc2l0aW9uLCBmbG9hdCBuZXdTY2FsZSwgY29u
c3QgRmxvYXRQb2ludCYgdHJhamVjdG9yeSkKK3sKKyAgICBtX3NjYWxlRmFjdG9yID0gbmV3U2Nh
bGU7CisgICAgbV92aXNpYmxlQ29udGVudFJlY3QgPSBJbnRSZWN0KG5ld1Njcm9sbFBvc2l0aW9u
LCBtX3ZpZXdwb3J0U2l6ZSk7CisKKyAgICAvLyBBZGp1c3QgVmlzaWJsZUNvbnRlbnRSZWN0Cisg
ICAgSW50U2l6ZSBjb250ZW50c1NpemUgPSBtX2NvbnRlbnRzU2l6ZTsKKyAgICBjb250ZW50c1Np
emUuc2NhbGUobV9zY2FsZUZhY3Rvcik7CisgICAgaWYgKG1fdmlzaWJsZUNvbnRlbnRSZWN0Lngo
KSA+IGNvbnRlbnRzU2l6ZS53aWR0aCgpIC0gbV92aXNpYmxlQ29udGVudFJlY3Qud2lkdGgoKSkK
KyAgICAgICAgbV92aXNpYmxlQ29udGVudFJlY3Quc2V0WChjb250ZW50c1NpemUud2lkdGgoKSAt
IG1fdmlzaWJsZUNvbnRlbnRSZWN0LndpZHRoKCkpOworICAgIGlmIChtX3Zpc2libGVDb250ZW50
UmVjdC54KCkgPCAwKQorICAgICAgICBtX3Zpc2libGVDb250ZW50UmVjdC5zZXRYKDApOworICAg
IGlmIChtX3Zpc2libGVDb250ZW50UmVjdC55KCkgPiBjb250ZW50c1NpemUuaGVpZ2h0KCkgLSBt
X3Zpc2libGVDb250ZW50UmVjdC5oZWlnaHQoKSkKKyAgICAgICAgbV92aXNpYmxlQ29udGVudFJl
Y3Quc2V0WShjb250ZW50c1NpemUuaGVpZ2h0KCkgLSBtX3Zpc2libGVDb250ZW50UmVjdC5oZWln
aHQoKSk7CisgICAgaWYgKG1fdmlzaWJsZUNvbnRlbnRSZWN0LnkoKSA8IDApCisgICAgICAgIG1f
dmlzaWJsZUNvbnRlbnRSZWN0LnNldFkoMCk7CisKKyAgICBGbG9hdFJlY3QgbWFwUmVjdFRvV2Vi
Q29udGVudCA9IG1fdmlzaWJsZUNvbnRlbnRSZWN0OworICAgIG1hcFJlY3RUb1dlYkNvbnRlbnQu
c2NhbGUoMSAvIG1fc2NhbGVGYWN0b3IpOworICAgIGRyYXdpbmdBcmVhKCktPnNldFZpc2libGVD
b250ZW50c1JlY3QoZW5jbG9zaW5nSW50UmVjdChtYXBSZWN0VG9XZWJDb250ZW50KSwgbV9zY2Fs
ZUZhY3RvciwgdHJhamVjdG9yeSk7Cit9CisKK3ZvaWQgVmlld3BvcnRQcm9jZXNzb3I6OmRpZENo
YW5nZUNvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXplKQoreworICAgIG1f
Y29udGVudHNTaXplID0gc2l6ZTsKKyAgICBzZXRWaXNpYmxlQ29udGVudHNSZWN0KG1fdmlzaWJs
ZUNvbnRlbnRSZWN0LmxvY2F0aW9uKCksIG1fc2NhbGVGYWN0b3IsIEZsb2F0UG9pbnQoKSk7Cisg
ICAgZHJhd2luZ0FyZWEoKS0+bGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eSgpLT5zZXRDb250ZW50
c1NpemUoV2ViQ29yZTo6RmxvYXRTaXplKHNpemUud2lkdGgoKSwgc2l6ZS5oZWlnaHQoKSkpOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKyNlbmRpZiAvLyBVU0UoVUlfU0lERV9DT01QT1NJ
VElORykKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvVmll
d3BvcnRQcm9jZXNzb3IuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1ZpZXdw
b3J0UHJvY2Vzc29yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2U3YTJhMmYwNDJiNzE0NTgzMDViNTlhYzhkZWEz
NGQ2ZjIyNjE0OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL1ZpZXdwb3J0UHJvY2Vzc29yLmgKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAgICBDb3B5
cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcworCisgICAgVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisg
ICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisgICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICAgYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgICBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQorICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
CisgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgICAgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
KyAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIFZpZXdwb3J0
UHJvY2Vzc29yX2gKKyNkZWZpbmUgVmlld3BvcnRQcm9jZXNzb3JfaAorCisjaWYgVVNFKFVJX1NJ
REVfQ09NUE9TSVRJTkcpCisKKyNpbmNsdWRlICJQYWdlQ2xpZW50SW1wbC5oIgorI2luY2x1ZGUg
PHd0Zi9QYXNzT3duUHRyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBWaWV3cG9y
dFByb2Nlc3NvciB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8Vmlld3BvcnRQcm9j
ZXNzb3I+IGNyZWF0ZShQYWdlQ2xpZW50SW1wbCogcGFnZUNsaWVudEltcGwpCisgICAgeworICAg
ICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFZpZXdwb3J0UHJvY2Vzc29yKHBhZ2VDbGllbnRJbXBs
KSk7CisgICAgfQorICAgIH5WaWV3cG9ydFByb2Nlc3NvcigpOworCisgICAgRHJhd2luZ0FyZWFQ
cm94eSogZHJhd2luZ0FyZWEoKSBjb25zdCB7IHJldHVybiBtX3BhZ2VDbGllbnRJbXBsLT5wYWdl
KCktPmRyYXdpbmdBcmVhKCk7IH0KKyAgICBXZWJDb3JlOjpJbnRTaXplIHZpZXdTaXplKCkgeyBy
ZXR1cm4gbV92aWV3cG9ydFNpemU7IH0KKworICAgIHZvaWQgZGlzcGxheShjb25zdCBXZWJDb3Jl
OjpJbnRSZWN0JiByZWN0KTsKKyAgICB2b2lkIHVwZGF0ZVZpZXdwb3J0U2l6ZShjb25zdCBXZWJD
b3JlOjpJbnRTaXplJiB2aWV3cG9ydFNpemUpOworICAgIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRz
UmVjdChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIGZsb2F0LCBjb25zdCBXZWJDb3JlOjpGbG9h
dFBvaW50Jik7CisgICAgdm9pZCBkaWRDaGFuZ2VDb250ZW50c1NpemUoY29uc3QgV2ViQ29yZTo6
SW50U2l6ZSYgc2l6ZSk7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgVmlld3BvcnRQcm9jZXNz
b3IoUGFnZUNsaWVudEltcGwqKTsKKworICAgIFBhZ2VDbGllbnRJbXBsKiBtX3BhZ2VDbGllbnRJ
bXBsOworICAgIFdlYkNvcmU6OkludFJlY3QgbV92aXNpYmxlQ29udGVudFJlY3Q7CisgICAgV2Vi
Q29yZTo6SW50U2l6ZSBtX2NvbnRlbnRzU2l6ZTsKKyAgICBXZWJDb3JlOjpJbnRTaXplIG1fdmll
d3BvcnRTaXplOworICAgIGZsb2F0IG1fc2NhbGVGYWN0b3I7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKKworI2VuZGlmCisKKyNlbmRpZiAvLyBWaWV3cG9ydFByb2Nlc3Nvcl9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKaW5kZXggOGI3MTMy
YjQ4NDdhYTY1MTNiNTJiYTJjMGUyOWVkZjc2YmEyZTM1ZC4uODViOGExZjI2YzIwOWM5NzE3YWRk
YThkYWM2MzRhMDM5NTI0ZGEzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a192aWV3LmNwcApAQCAtMzgsNiArMzgsMTAgQEAKICNpbmNsdWRlICJld2tfd2ViX3Jl
c291cmNlLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCisjaWYgVVNFKFVJX1NJ
REVfQ09NUE9TSVRJTkcpCisjaW5jbHVkZSAiVmlld3BvcnRQcm9jZXNzb3IuaCIKKyNlbmRpZgor
CiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAg
LTQ3LDYgKzUxLDEwIEBAIHR5cGVkZWYgSGFzaE1hcDx1aW50NjRfdCwgRXdrX1dlYl9SZXNvdXJj
ZSo+IExvYWRpbmdSZXNvdXJjZXNNYXA7CiAKIHN0cnVjdCBfRXdrX1ZpZXdfUHJpdmF0ZV9EYXRh
IHsKICAgICBPd25QdHI8UGFnZUNsaWVudEltcGw+IHBhZ2VDbGllbnQ7CisjaWYgVVNFKFVJX1NJ
REVfQ09NUE9TSVRJTkcpCisgICAgT3duUHRyPFZpZXdwb3J0UHJvY2Vzc29yPiB2aWV3cG9ydFBy
b2Nlc3NvcjsKKyNlbmRpZgorCiAgICAgY29uc3QgY2hhciogdXJpOwogICAgIGNvbnN0IGNoYXIq
IHRpdGxlOwogICAgIGNvbnN0IGNoYXIqIHRoZW1lOwpAQCAtMzc2LDYgKzM4NCwxMCBAQCBzdGF0
aWMgdm9pZCBfZXdrX3ZpZXdfc21hcnRfY2FsY3VsYXRlKEV2YXNfT2JqZWN0KiBld2tWaWV3KQog
ICAgIGV2YXNfb2JqZWN0X2dlb21ldHJ5X2dldChld2tWaWV3LCAmeCwgJnksICZ3aWR0aCwgJmhl
aWdodCk7CiAKICAgICBpZiAoc21hcnREYXRhLT5jaGFuZ2VkLnNpemUpIHsKKyNpZiBVU0UoVUlf
U0lERV9DT01QT1NJVElORykKKyAgICAgICAgcHJpdi0+dmlld3BvcnRQcm9jZXNzb3ItPnVwZGF0
ZVZpZXdwb3J0U2l6ZShJbnRTaXplKHdpZHRoLCBoZWlnaHQpKTsKKyNlbmRpZgorCiAgICAgICAg
IGlmIChwcml2LT5wYWdlQ2xpZW50LT5wYWdlKCktPmRyYXdpbmdBcmVhKCkpCiAgICAgICAgICAg
ICBwcml2LT5wYWdlQ2xpZW50LT5wYWdlKCktPmRyYXdpbmdBcmVhKCktPnNldFNpemUoSW50U2l6
ZSh3aWR0aCwgaGVpZ2h0KSwgSW50U2l6ZSgpKTsKICAgICAgICAgc21hcnREYXRhLT52aWV3Lncg
PSB3aWR0aDsKQEAgLTUxMiw2ICs1MjQsMTAgQEAgRXZhc19PYmplY3QqIGV3a192aWV3X2Jhc2Vf
YWRkKEV2YXMqIGNhbnZhcywgV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3UKIAog
ICAgIGV3a192aWV3X3RoZW1lX3NldChld2tWaWV3LCBERUZBVUxUX1RIRU1FX1BBVEgiL2RlZmF1
bHQuZWRqIik7CiAKKyNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElORykKKyAgICBwcml2LT52aWV3
cG9ydFByb2Nlc3NvciA9IFZpZXdwb3J0UHJvY2Vzc29yOjpjcmVhdGUocHJpdi0+cGFnZUNsaWVu
dC5nZXQoKSk7CisjZW5kaWYKKwogICAgIHJldHVybiBld2tWaWV3OwogfQogCkBAIC03NjcsNiAr
NzgzLDEzIEBAIHZvaWQgZXdrX3ZpZXdfZGlzcGxheShFdmFzX09iamVjdCogZXdrVmlldywgY29u
c3QgSW50UmVjdCYgcmVjdCkKICAgICBpZiAoIXNtYXJ0RGF0YS0+aW1hZ2UpCiAgICAgICAgIHJl
dHVybjsKIAorI2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQorICAgIEVXS19WSUVXX1BSSVZf
R0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYpOworCisgICAgZXZhc19nbF9tYWtlX2N1cnJl
bnQocHJpdi0+ZXZhc0dsLCBwcml2LT5ldmFzR2xTdXJmYWNlLCBwcml2LT5ldmFzR2xDb250ZXh0
KTsKKyAgICBwcml2LT52aWV3cG9ydFByb2Nlc3Nvci0+ZGlzcGxheShyZWN0KTsKKyNlbmRpZgor
CiAgICAgZXZhc19vYmplY3RfaW1hZ2VfZGF0YV91cGRhdGVfYWRkKHNtYXJ0RGF0YS0+aW1hZ2Us
IHJlY3QueCgpLCByZWN0LnkoKSwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpKTsKIH0KIApA
QCAtOTYwLDMgKzk4MywxMyBAQCBXZWJQYWdlUHJveHkqIGV3a192aWV3X3BhZ2VfZ2V0KGNvbnN0
IEV2YXNfT2JqZWN0KiBld2tWaWV3KQogCiAgICAgcmV0dXJuIHByaXYtPnBhZ2VDbGllbnQtPnBh
Z2UoKTsKIH0KKwordm9pZCBld2tfdmlld19jb250ZW50c19zaXplX2NoYW5nZWQoRXZhc19PYmpl
Y3QqIGV3a1ZpZXcsIGNvbnN0IEludFNpemUmIHNpemUpCit7CisgICAgRVdLX1ZJRVdfU0RfR0VU
KGV3a1ZpZXcsIHNtYXJ0RGF0YSk7CisgICAgRVdLX1ZJRVdfUFJJVl9HRVQoc21hcnREYXRhLCBw
cml2KTsKKworI2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQorICAgIHByaXYtPnZpZXdwb3J0
UHJvY2Vzc29yLT5kaWRDaGFuZ2VDb250ZW50c1NpemUoc2l6ZSk7CisjZW5kaWYKK30KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3X3ByaXZhdGUu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3X3ByaXZhdGUuaApp
bmRleCAzYzljZTk0YTcxNGViNzFlN2ZiOTMwZjQzNTAyOGI1MGE5YTVkZWNiLi43YmU3MGE1ZTVh
OTllNDJhZWFjM2ZkZjExZDQ4N2I3ODViZTZhMWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlld19wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXdfcHJpdmF0ZS5oCkBAIC01OCw2ICs1OCw3IEBA
IHZvaWQgZXdrX3ZpZXdfcmVzb3VyY2VfbG9hZF9maW5pc2hlZChFdmFzX09iamVjdCogZXdrVmll
dywgdWludDY0X3QgcmVzb3VyY2VJZGVuCiB2b2lkIGV3a192aWV3X3Jlc291cmNlX2xvYWRfaW5p
dGlhdGVkKEV2YXNfT2JqZWN0KiBld2tWaWV3LCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIs
IEV3a19XZWJfUmVzb3VyY2UqIHJlc291cmNlLCBFd2tfVXJsX1JlcXVlc3QqIHJlcXVlc3QpOwog
dm9pZCBld2tfdmlld19yZXNvdXJjZV9sb2FkX3Jlc3BvbnNlKEV2YXNfT2JqZWN0KiBld2tWaWV3
LCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIEV3a19VcmxfUmVzcG9uc2UqIHJlc3BvbnNl
KTsKIHZvaWQgZXdrX3ZpZXdfcmVzb3VyY2VfcmVxdWVzdF9zZW50KEV2YXNfT2JqZWN0KiBld2tW
aWV3LCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIEV3a19VcmxfUmVxdWVzdCogcmVxdWVz
dCwgRXdrX1VybF9SZXNwb25zZSogcmVkaXJlY3RSZXNwb25zZSk7Cit2b2lkIGV3a192aWV3X2Nv
bnRlbnRzX3NpemVfY2hhbmdlZChFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgV2ViQ29yZTo6
SW50U2l6ZSYpOwogCiBFdmFzX09iamVjdCogZXdrX3ZpZXdfYmFzZV9hZGQoRXZhcyogY2FudmFz
LCBXS0NvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
YWdlQ2xpZW50LmgKaW5kZXggZmM1ZDc0N2M1M2EyNGQwZTBlMGRjZmNmYTJjYTA4ZTI0MTVhMTEz
OS4uNGUzMDFkZGI2MDRjMTZiOGJkNDFmMTYzYzBmZGY0OGZkZTA0MDNhNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0xMTgsNyArMTE4LDYgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpJbnRQb2lu
dCYpID0gMDsKICNlbmRpZgogI2lmIFBMQVRGT1JNKFFUKQotICAgIHZpcnR1YWwgdm9pZCBkaWRD
aGFuZ2VDb250ZW50c1NpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgZGlkRmluZFpvb21hYmxlQXJlYShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVN
ZXNzYWdlRnJvbU5hdmlnYXRvclF0T2JqZWN0KGNvbnN0IFN0cmluZyYpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgaGFuZGxlRG93bmxvYWRSZXF1ZXN0KERvd25sb2FkUHJveHkqKSA9IDA7CkBAIC0x
MjgsNiArMTI3LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlUHJveHlBdXRo
ZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChjb25zdCBTdHJpbmcmIGhvc3RuYW1lLCB1aW50MTZf
dCBwb3J0LCBjb25zdCBTdHJpbmcmIHByZWZpbGxlZFVzZXJuYW1lLCBTdHJpbmcmIHVzZXJuYW1l
LCBTdHJpbmcmIHBhc3N3b3JkKSA9IDA7CiAjZW5kaWYgLy8gUExBVEZPUk0oUVQpLgogCisjaWYg
UExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdl
Q29udGVudHNTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSA9IDA7CisjZW5kaWYKKwogI2lm
IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspCiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0RHJh
Zyhjb25zdCBXZWJDb3JlOjpEcmFnRGF0YSYsIFBhc3NSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBk
cmFnSW1hZ2UpID0gMDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcAppbmRleCAxN2NjMmY0MjUzZjgyNzA1NzkyNzFkZGRlNmJhYmUxYTIzNGY1MDg1Li45
OTE5ODRiMjQ3N2I5YTBmNGQ3ODUxY2EyNDViMTk1MjZiMzBiZjkwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMjYwOSwxMSArMjYwOSw2IEBAIHZvaWQg
V2ViUGFnZVByb3h5OjpzZXRNZWRpYVZvbHVtZShmbG9hdCB2b2x1bWUpCiB9CiAKICNpZiBQTEFU
Rk9STShRVCkKLXZvaWQgV2ViUGFnZVByb3h5OjpkaWRDaGFuZ2VDb250ZW50c1NpemUoY29uc3Qg
SW50U2l6ZSYgc2l6ZSkKLXsKLSAgICBtX3BhZ2VDbGllbnQtPmRpZENoYW5nZUNvbnRlbnRzU2l6
ZShzaXplKTsKLX0KLQogdm9pZCBXZWJQYWdlUHJveHk6OmRpZEZpbmRab29tYWJsZUFyZWEoY29u
c3QgSW50UG9pbnQmIHRhcmdldCwgY29uc3QgSW50UmVjdCYgYXJlYSkKIHsKICAgICBtX3BhZ2VD
bGllbnQtPmRpZEZpbmRab29tYWJsZUFyZWEodGFyZ2V0LCBhcmVhKTsKQEAgLTI2NTMsNiArMjY0
OCwxMyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y2VydGlmaWNhdGVWZXJpZmljYXRpb25SZXF1ZXN0
KGNvbnN0IFN0cmluZyYgaG9zdG5hbWUsIGJvb2wmCiB9CiAjZW5kaWYgLy8gUExBVEZPUk0oUVQp
LgogCisjaWYgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkKK3ZvaWQgV2ViUGFnZVByb3h5
OjpkaWRDaGFuZ2VDb250ZW50c1NpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSkKK3sKKyAgICBtX3Bh
Z2VDbGllbnQtPmRpZENoYW5nZUNvbnRlbnRzU2l6ZShzaXplKTsKK30KKyNlbmRpZgorCiAjaWYg
RU5BQkxFKFRPVUNIX0VWRU5UUykKIHZvaWQgV2ViUGFnZVByb3h5OjpuZWVkVG91Y2hFdmVudHMo
Ym9vbCBuZWVkVG91Y2hFdmVudHMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgKaW5kZXggMjlhNmM2NWM1ODg2NGJlNjQ0MjFlM2NjMjhmZjY0ZGZmYWE4NjQ1ZS4uZTlh
MDZjYmI4YWYwNjU3MDI2ODA0MzIxOTExNzM3ZjQyOGMxNjJhZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtODI0LDkgKzgyNCwxMyBAQCBwcml2YXRlOgogI2Vu
ZGlmCiAKICNpZiBQTEFURk9STShRVCkKLSAgICB2b2lkIGRpZENoYW5nZUNvbnRlbnRzU2l6ZShj
b25zdCBXZWJDb3JlOjpJbnRTaXplJik7CiAgICAgdm9pZCBkaWRGaW5kWm9vbWFibGVBcmVhKGNv
bnN0IFdlYkNvcmU6OkludFBvaW50JiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOwogI2VuZGlm
CisKKyNpZiBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKQorICAgIHZvaWQgZGlkQ2hhbmdl
Q29udGVudHNTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsKKyNlbmRpZgorCiAjaWYgRU5B
QkxFKFRPVUNIX0VWRU5UUykKICAgICB2b2lkIG5lZWRUb3VjaEV2ZW50cyhib29sKTsKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4KaW5kZXggNzgzOGQ2NDNmYWQ5NTkwNTFlZTljMTUzYzdlMTdhNGY4ZGFiOTc5My4uZWY2NmRk
OWM1MmMzYzZiOWQ3ZjgyYmNlNTU4ZGM3MTg3MDY3NGM1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC03MywxMiArNzMsMTYg
QEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBQYWdlRGlkUmVxdWVzdFNjcm9sbChX
ZWJDb3JlOjpJbnRQb2ludCBwb2ludCkKICNlbmRpZgogI2lmIFBMQVRGT1JNKFFUKQotICAgIERp
ZENoYW5nZUNvbnRlbnRzU2l6ZShXZWJDb3JlOjpJbnRTaXplIG5ld1NpemUpCiAgICAgRGlkRmlu
ZFpvb21hYmxlQXJlYShXZWJDb3JlOjpJbnRQb2ludCB0YXJnZXQsIFdlYkNvcmU6OkludFJlY3Qg
YXJlYSkKICAgICBBdXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChXVEY6OlN0cmluZyBob3N0
bmFtZSwgV1RGOjpTdHJpbmcgcmVhbG0sIFdURjo6U3RyaW5nIHByZWZpbGxlZFVzZXJuYW1lKSAt
PiAoV1RGOjpTdHJpbmcgdXNlcm5hbWUsIFdURjo6U3RyaW5nIHBhc3N3b3JkKQogICAgIENlcnRp
ZmljYXRlVmVyaWZpY2F0aW9uUmVxdWVzdChXVEY6OlN0cmluZyBob3N0bmFtZSkgLT4gKGJvb2wg
aWdub3JlRXJyb3JzKQogICAgIFByb3h5QXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoV1RG
OjpTdHJpbmcgaG9zdG5hbWUsIHVpbnQxNl90IHBvcnQsIFdURjo6U3RyaW5nIHByZWZpbGxlZFVz
ZXJuYW1lKSAtPiAoV1RGOjpTdHJpbmcgdXNlcm5hbWUsIFdURjo6U3RyaW5nIHBhc3N3b3JkKQog
I2VuZGlmCisKKyNpZiBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKQorICAgIERpZENoYW5n
ZUNvbnRlbnRzU2l6ZShXZWJDb3JlOjpJbnRTaXplIG5ld1NpemUpCisjZW5kaWYKKwogI2lmIEVO
QUJMRShUT1VDSF9FVkVOVFMpCiAgICAgTmVlZFRvdWNoRXZlbnRzKGJvb2wgbmVlZFRvdWNoRXZl
bnRzKQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvTGF5ZXJUcmVlQ29vcmRpbmF0b3IvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUNvb3JkaW5hdG9yL0xheWVyVHJl
ZUNvb3JkaW5hdG9yLmNwcAppbmRleCBhM2I5YTEzOTEzYzc3YWEyZGVkN2FmZWY1MmZmZjJkM2Q5
OGU3ZGU3Li41ZTk1OWE5MDlmZjVjOThjNWQ1ZjA2NmE5ODU1MjI2ODNhNmYxZTkyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlQ29vcmRpbmF0
b3IvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9MYXllclRyZWVDb29yZGluYXRvci9MYXllclRyZWVDb29yZGluYXRvci5jcHAK
QEAgLTI2LDYgKzI2LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCisjaWYgVVNFKFVJX1NJ
REVfQ09NUE9TSVRJTkcpCiAjaW5jbHVkZSAiTGF5ZXJUcmVlQ29vcmRpbmF0b3IuaCIKIAogI2lu
Y2x1ZGUgIkRyYXdpbmdBcmVhSW1wbC5oIgpAQCAtNTg2LDMgKzU4Nyw0IEBAIFBhc3NPd25QdHI8
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0PiBMYXllclRyZWVDb29yZGluYXRvcjo6YmVnaW5Db250
ZW50VXBkYXRlKGNvCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAorI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlQ29vcmRpbmF0
b3IvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9MYXllclRyZWVDb29yZGluYXRvci9MYXllclRyZWVDb29yZGluYXRvci5oCmluZGV4IDli
NTE1NGMzNmY4ZTE5ZWU0MGZmNWM1YTQwOTc4ODA0OTFmYjBhMGIuLmYxNzk0NWEwNzE2ZDI4MTYz
MmExNTJkZTlkZTFhZTE3Y2NkODQxZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9MYXllclRyZWVDb29yZGluYXRvci9MYXllclRyZWVDb29yZGluYXRvci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVDb29yZGlu
YXRvci9MYXllclRyZWVDb29yZGluYXRvci5oCkBAIC0yMCw2ICsyMCw4IEBACiAjaWZuZGVmIExh
eWVyVHJlZUNvb3JkaW5hdG9yX2gKICNkZWZpbmUgTGF5ZXJUcmVlQ29vcmRpbmF0b3JfaAogCisj
aWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCisKICNpbmNsdWRlICJMYXllclRyZWVDb250ZXh0
LmgiCiAjaW5jbHVkZSAiTGF5ZXJUcmVlSG9zdC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCkBAIC0x
MzYsNSArMTM4LDYgQEAgcHJpdmF0ZToKIH07CiAKIH0KKyNlbmRpZgogCiAjZW5kaWYgLy8gTGF5
ZXJUcmVlQ29vcmRpbmF0b3JfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwCmluZGV4IGJmMDExZTA4NWE2ZTIwYTU1ZWYyZTA5N2Mw
MzYyMzJiYzQ3MWZiMDkuLjBlNjRhZDZiYWYzZGQ5YjExOTNjYmZiZTI4Y2EwOTU4YjQ4ZWM1Mjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVI
b3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVl
SG9zdC5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKICNlbmRpZgogI2VuZGlmCiAKLSNpZiBQTEFURk9S
TShRVCkKKyNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElORykKICNpbmNsdWRlICJMYXllclRyZWVD
b29yZGluYXRvci5oIgogI2VuZGlmCiAKQEAgLTUyLDcgKzUyLDcgQEAgUGFzc1JlZlB0cjxMYXll
clRyZWVIb3N0PiBMYXllclRyZWVIb3N0OjpjcmVhdGUoV2ViUGFnZSogd2ViUGFnZSkKICAgICBy
ZXR1cm4gTGF5ZXJUcmVlSG9zdENBTWFjOjpjcmVhdGUod2ViUGFnZSk7CiAjZWxpZiBQTEFURk9S
TShXSU4pICYmIEhBVkUoV0tRQ0EpCiAgICAgcmV0dXJuIExheWVyVHJlZUhvc3RDQVdpbjo6Y3Jl
YXRlKHdlYlBhZ2UpOwotI2VsaWYgUExBVEZPUk0oUVQpCisjZWxpZiBVU0UoVUlfU0lERV9DT01Q
T1NJVElORykKICAgICByZXR1cm4gTGF5ZXJUcmVlQ29vcmRpbmF0b3I6OmNyZWF0ZSh3ZWJQYWdl
KTsKICNlbGlmIFBMQVRGT1JNKEdUSykgJiYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKQogICAgIHJl
dHVybiBMYXllclRyZWVIb3N0R3RrOjpjcmVhdGUod2ViUGFnZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaAppbmRleCAzNjgyMzBjYzlk
MTY4MzRkOGY3YWY3N2FmOThjYWI0M2JmNGQ5MjFlLi5kMDY2ZjUzMmMwMWQwYjI2OWYwYTE0MTNl
YzYwNWVmNTlhZGNjNzk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9MYXllclRyZWVIb3N0LmgKQEAgLTExNSw3ICsxMTUsNyBAQCBwcm90ZWN0ZWQ6CiAjZW5k
aWYKIH07CiAKLSNpZiAhUExBVEZPUk0oV0lOKSAmJiAhUExBVEZPUk0oUVQpCisjaWYgIVBMQVRG
T1JNKFdJTikgJiYgIVVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQogaW5saW5lIGJvb2wgTGF5ZXJU
cmVlSG9zdDo6c3VwcG9ydHNBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCkKIHsKICAgICByZXR1cm4g
dHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvZWZsL1dlYlByb2Nl
c3NNYWluRWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvZWZsL1dlYlByb2Nlc3NN
YWluRWZsLmNwcAppbmRleCA5MmQzNTE2YTUzYTA2YWNiYzg0NzY0Mjc5MDNlNTA1ZDVkNzc0ODY2
Li40YWUwNmE2NzIyYTMwMzE4MzFlZWFlNTlkZDFlMDAwM2YwMTU5Zjc3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2VmbC9XZWJQcm9jZXNzTWFpbkVmbC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc01haW5FZmwuY3BwCkBAIC0z
NSw2ICszNSwxMCBAQAogI2luY2x1ZGUgPHVuaXN0ZC5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhy
ZWFkLmg+CiAKKyNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElORykKKyNpbmNsdWRlICJXZWJHcmFw
aGljc0xheWVyLmgiCisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewpAQCAtNzQsNiArNzgsMTAgQEAgV0tfRVhQT1JUIGludCBXZWJQcm9jZXNz
TWFpbkVmbChpbnQgYXJnYywgY2hhciogYXJndltdKQogICAgICAgICBzb3VwX3VyaV9mcmVlKHBy
b3h5VXJpKTsKICAgICB9CiAKKyNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElORykKKyAgICBXZWJH
cmFwaGljc0xheWVyOjppbml0RmFjdG9yeSgpOworI2VuZGlmCisKICAgICBpbnQgc29ja2V0ID0g
YXRvaShhcmd2WzFdKTsKICAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5pbml0aWFsaXplKHNvY2tl
dCwgUnVuTG9vcDo6bWFpbigpKTsKICAgICBSdW5Mb29wOjpydW4oKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21h
a2UKaW5kZXggMGEzOTUzNDUwZTkxODY0NTRjNzgyM2VlM2Y5NzVkNzg3NGJmNDc0My4uOTdiMDFh
ZmRlNDQzNjI3Y2VkNDIzOGExNjU2ZjFhNzNhNDNiNTg2YSAxMDA2NDQKLS0tIGEvU291cmNlL2Nt
YWtlL09wdGlvbnNFZmwuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UK
QEAgLTE1MywzICsxNTMsMjMgQEAgSUYgKEVOQUJMRV9XRUJHTCkKIEVORElGICgpCiAKIFNFVChD
UEFDS19TT1VSQ0VfR0VORVJBVE9SIFRCWjIpCisKK0lGIChXVEZfVVNFX1RJTEVEX0JBQ0tJTkdf
U1RPUkUpCisgIFNFVChXVEZfVVNFX0FDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HIDEpCisgIEFERF9E
RUZJTklUSU9OUygtRFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJTkc9MSkKKworICBTRVQo
V1RGX1VTRV9VSV9TSURFX0NPTVBPU0lUSU5HIDEpCisgIEFERF9ERUZJTklUSU9OUygtRFdURl9V
U0VfVUlfU0lERV9DT01QT1NJVElORz0xKQorCisgIFNFVChXVEZfVVNFX1RFWFRVUkVfTUFQUEVS
IDEpCisgIEFERF9ERUZJTklUSU9OUygtRFdURl9VU0VfVEVYVFVSRV9NQVBQRVI9MSkKKworICBT
RVQoV1RGX1VTRV9URVhUVVJFX01BUFBFUl9HTCAxKQorICBBRERfREVGSU5JVElPTlMoLURXVEZf
VVNFX1RFWFRVUkVfTUFQUEVSX0dMPTEpCisKKyAgU0VUKFdURl9VU0VfM0RfR1JBUEhJQ1MgMSkK
KyAgQUREX0RFRklOSVRJT05TKC1EV1RGX1VTRV8zRF9HUkFQSElDUz0xKQorCisgIEZJTkRfUEFD
S0FHRShPcGVuR0wgUkVRVUlSRUQpCitFTkRJRigpCisKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5YjAyODQxNWU3ZTcxMGM2MjJhYjg2ZmZmOWZl
ZmEwOWQ0MDA1ODAzLi5mYzQ0NmNlZDZkNWFjNjkxMDc5MzQ4MjJkMjZkMjBmMjM4ZmRmOTA5IDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMTItMDctMTkgIFlvdW5nVGFlY2sgU29uZyAgPHlvdW5ndGFlY2suc29uZ0Bz
YW1zdW5nLmNvbT4KKworICAgICAgICBbV0syXVtFRkxdIEltcGxlbWVudCBhY2NlbGVyYXRlZCBj
b21wb3NpdGluZyBvbiBXSzIgRWZsIHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTg5ODQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IGFjY2VsZXJhdGVkIGNvbXBvc2l0aW9uIHdpdGgg
VGlsZWRCYWNraW5nU3RvcmUgb24gV0syIEVmbCBwb3J0LgorICAgICAgICBBZGQgT1BFTkdMX0xJ
QlJBUklFUyBpbiBDTWFrZUxpc3QudHh0LgorCisgICAgICAgICogTWluaUJyb3dzZXIvZWZsL0NN
YWtlTGlzdHMudHh0OgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1FZmwuY21h
a2U6CisKIDIwMTItMDctMTkgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21hbm5Abm9raWEu
Y29tPgogCiAgICAgICAgIFtRdF0gUmVtb3ZlIHN1cHBvcnQgZm9yIFF0IHZlcnNpb25zIGJlZm9y
ZSA0LjguMApkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0
IGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0CmluZGV4IDU5Y2ZjNGZkMWZl
NDBhNmI4ZjFjYWU4YzNhMjAxOTcyM2ZkYzcwMzkuLmI3YmRlOTUzNmI2OTE2ZDhkMGU1Y2Y1ZGFi
OTNhMzEyYzhlMTZiZjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxp
c3RzLnR4dAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKQEAgLTI5
LDYgKzI5LDcgQEAgU0VUKE1pbmlCcm93c2VyX0xJQlJBUklFUwogICAgICR7TElCU09VUDI0X0xJ
QlJBUklFU30KICAgICAke0xJQlhNTDJfTElCUkFSSUVTfQogICAgICR7TElCWFNMVF9MSUJSQVJJ
RVN9CisgICAgJHtPUEVOR0xfTElCUkFSSUVTfQogICAgICR7U1FMSVRFX0xJQlJBUklFU30KICkK
IApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUVmbC5jbWFrZSBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggOTQyYzAwM2Yy
Nzc1Yjg4ZjE4NjRjNjgzNWY3NDcxZDRkZjlmMGI5ZC4uYzI2MWM0MmU4ODRjYjM3ZjE1MDE5MDI0
MmRkMTVmMTJjN2VlYTM5NyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0
Zm9ybUVmbC5jbWFrZQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtRWZsLmNt
YWtlCkBAIC00Miw2ICs0Miw3IEBAIExJU1QoQVBQRU5EIFdlYktpdFRlc3RSdW5uZXJfTElCUkFS
SUVTCiAgICAgJHtFREpFX0xJQlJBUklFU30KICAgICAke0VGTERFUFNfTElCUkFSSUVTfQogICAg
ICR7R2xpYl9MSUJSQVJJRVN9CisgICAgJHtPUEVOR0xfTElCUkFSSUVTfQogICAgICR7V1RGX0xJ
QlJBUllfTkFNRX0KICkKIApkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4
IDIyNWEwNTk3N2QwNTM5ZmUzNWY4M2UzOTRhYTkyNjg3YWUyODUwYWYuLjlmY2I5MGYwZGJhODE4
M2I0ZmU2YTBmNDcyZGRmOWJlNjEzMjkzYmMgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNy0xOSAgWW91bmdUYWVjayBTb25nICA8
eW91bmd0YWVjay5zb25nQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtXSzJdW0VGTF0gSW1wbGVt
ZW50IGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIG9uIFdLMiBFZmwgcG9ydAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODk4NDAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgYWNjZWxlcmF0ZWQg
Y29tcG9zaXRpb24gd2l0aCBUaWxlZEJhY2tpbmdTdG9yZSBvbiBXSzIgRWZsIHBvcnQuCisgICAg
ICAgIFRoZXNlIGNvZGVzIGFyZSBiYXNlZCBvbiBRdCBQb3J0J3MgVUlfU0lERV9DT01QT1NJVElO
Ry4KKyAgICAgICAgQWRkIFVJX1NJREVfQ09NUE9TSVRJTkcgcmVsYXRlZCBkZWZpbml0aW9ucyBp
biBPcHRpb25zRWZsLmNtYWtlLgorCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNFZmwu
Y21ha2U6CisKIDIwMTItMDctMTkgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtHVEtdIEVuYWJsZSBNSFRNTCBzdXBwb3J0IGJ5IGRlZmF1bHQg
YXQgYnVpbGQgdGltZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153940</attachid>
            <date>2012-07-23 19:39:34 -0700</date>
            <delta_ts>2012-07-29 18:52:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89840-20120724113926.patch</filename>
            <type>text/plain</type>
            <size>31525</size>
            <attacher name="YoungTaeck Song">youngtaeck.song</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMGUyNGNkNWNiM2M3NWU5
MzVjNTdmYWEyOTIyYTA0NmI1ZTAwM2FkZC4uNjUxZWQ0NDE1ODkyYjU2MzcxNWQxZTdkOTMzNDdm
OGNkNmU1Yzc0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDEyLTA3LTIzICBZb3Vu
Z1RhZWNrIFNvbmcgIDx5b3VuZ3RhZWNrLnNvbmdAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW1dL
Ml1bRUZMXSBJbXBsZW1lbnQgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgb24gV0syIEVmbCBwb3J0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTg0MAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVu
dCBhY2NlbGVyYXRlZCBjb21wb3NpdGlvbiB3aXRoIFRpbGVkQmFja2luZ1N0b3JlIG9uIFdLMiBF
ZmwgcG9ydC4KKyAgICAgICAgVGhlc2UgY29kZXMgYXJlIGJhc2VkIG9uIFF0IFBvcnQncyBVSV9T
SURFX0NPTVBPU0lUSU5HLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
UGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogU2hhcmVkL1NoYXJlYWJsZVN1cmZhY2UuY3Bw
OgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAq
IFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2VmbC9QYWdlQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBs
OjpQYWdlQ2xpZW50SW1wbCk6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpkaWRD
aGFuZ2VDb250ZW50c1NpemUpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5oOgorICAgICAgICAoUGFnZUNsaWVudEltcGwpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL1ZpZXdwb3J0UHJvY2Vzc29yLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6
Vmlld3BvcnRQcm9jZXNzb3IpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6
flZpZXdwb3J0UHJvY2Vzc29yKToKKyAgICAgICAgKFdlYktpdDo6Vmlld3BvcnRQcm9jZXNzb3I6
OmRpc3BsYXkpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6dXBkYXRlVmll
d3BvcnRTaXplKToKKyAgICAgICAgKFdlYktpdDo6Vmlld3BvcnRQcm9jZXNzb3I6OnNldFZpc2li
bGVDb250ZW50c1JlY3QpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6ZGlk
Q2hhbmdlQ29udGVudHNTaXplKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9WaWV3cG9y
dFByb2Nlc3Nvci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChWaWV3cG9y
dFByb2Nlc3Nvcik6CisgICAgICAgIChXZWJLaXQ6OlZpZXdwb3J0UHJvY2Vzc29yOjpjcmVhdGUp
OgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6ZHJhd2luZ0FyZWEpOgorICAg
ICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6dmlld1NpemUpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcDoKKyAgICAgICAgKF9Fd2tfVmlld19Qcml2YXRl
X0RhdGEpOgorICAgICAgICAoX2V3a192aWV3X3NtYXJ0X2NhbGN1bGF0ZSk6CisgICAgICAgIChl
d2tfdmlld19iYXNlX2FkZCk6CisgICAgICAgIChld2tfdmlld19kaXNwbGF5KToKKyAgICAgICAg
KGV3a192aWV3X2NvbnRlbnRzX3NpemVfY2hhbmdlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3ZpZXdfcHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50
Lmg6CisgICAgICAgIChQYWdlQ2xpZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6ZGlkQ2hhbmdlQ29udGVudHNTaXplKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lmg6CisgICAgICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVy
VHJlZUNvb3JkaW5hdG9yL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlQ29vcmRpbmF0b3IvTGF5ZXJUcmVlQ29vcmRpbmF0b3Iu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3Q6OmNyZWF0ZSk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc01haW5FZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzTWFpbkVmbCk6CisKIDIwMTItMDctMjMgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJl
dmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIx
MjMxODQsIHIxMjMxOTUsIGFuZCByMTIzMTk3LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
Q01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAppbmRleCAzODRk
N2U2ZGU0MzljYzlkZDVjNjQzNGYxMTBkNjA2ZGEwOTU0ZGM2Li5lNmEyMTAxYTU3MTg3MGRjYWRj
ZmI0Y2ZmZWIzOWM1NjZmYTYzMTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxp
c3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dApAQCAtMTksNiArMTks
NyBAQCBTRVQoV2ViS2l0Ml9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCS0lUMl9ESVJ9
L1VJUHJvY2Vzcy9MYXVuY2hlciIKICAgICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL05vdGlm
aWNhdGlvbnMiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9QbHVnaW5zIgorICAgICIk
e1dFQktJVDJfRElSfS9VSVByb2Nlc3MvdGV4bWFwIgogICAgICIke1dFQktJVDJfRElSfS9XZWJQ
cm9jZXNzIgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL0FwcGxpY2F0aW9uQ2FjaGUi
CiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvQXV0aGVudGljYXRpb24iCkBAIC02Nyw2
ICs2OCw4IEBAIFNFVChXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJDT1JF
X0RJUn0vcGxhdGZvcm0vYW5pbWF0aW9uIgogICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9n
cmFwaGljcyIKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycyIK
KyAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMiCisgICAgIiR7
V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcCIKICAgICAiJHtXRUJDT1JFX0RJ
Un0vcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3JtcyIKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxh
dGZvcm0vbmV0d29yayIKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vc3FsIgpAQCAtMTM3
LDcgKzE0MCw5IEBAIFNFVChXZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvU2VjdXJpdHlPcmln
aW5EYXRhLmNwcAogICAgIFNoYXJlZC9TZXNzaW9uU3RhdGUuY3BwCiAgICAgU2hhcmVkL1NoYXJl
YWJsZUJpdG1hcC5jcHAKKyAgICBTaGFyZWQvU2hhcmVhYmxlU3VyZmFjZS5jcHAKICAgICBTaGFy
ZWQvU3RhdGlzdGljc0RhdGEuY3BwCisgICAgU2hhcmVkL1N1cmZhY2VVcGRhdGVJbmZvLmNwcAog
ICAgIFNoYXJlZC9VcGRhdGVJbmZvLmNwcAogICAgIFNoYXJlZC9WaXNpdGVkTGlua1RhYmxlLmNw
cAogICAgIFNoYXJlZC9XZWJCYWNrRm9yd2FyZExpc3RJdGVtLmNwcApAQCAtMzM5LDYgKzM0NCw4
IEBAIFNFVChXZWJLaXQyX1NPVVJDRVMKICAgICBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9j
ZXNzUHJveHkuY3BwCiAgICAgVUlQcm9jZXNzL1BsdWdpbnMvV2ViUGx1Z2luU2l0ZURhdGFNYW5h
Z2VyLmNwcAogCisgICAgVUlQcm9jZXNzL3RleG1hcC9MYXllckJhY2tpbmdTdG9yZS5jcHAKKwog
ICAgIFdlYlByb2Nlc3MvV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzLmNwcAogICAgIFdlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHAKIApAQCAtNDUyLDYgKzQ1OSw3IEBAIFNFVChXZWJLaXQyX1NPVVJD
RVMKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXkuY3BwCiAgICAgV2ViUHJvY2Vz
cy9XZWJQYWdlL1RhcEhpZ2hsaWdodENvbnRyb2xsZXIuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJQ
YWdlL1RpbGVkQmFja2luZ1N0b3JlUmVtb3RlVGlsZS5jcHAKKyAgICBXZWJQcm9jZXNzL1dlYlBh
Z2UvVXBkYXRlQXRsYXMuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJk
TGlzdFByb3h5LmNwcAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHAK
ICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNt
YWtlCmluZGV4IDU5NmQ2MGJlYzJjNGU1ZjY0NzU4Y2I2ZmZkNjRhODBjM2Y4ZWRhOWYuLjFiNjIx
Y2U5OGI5ZjliMGMzNDkxY2YxMDcxOWRiMjM1MzA4ZmFlZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZs
LmNtYWtlCkBAIC0zNyw2ICszNyw3IEBAIExJU1QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAg
IFVJUHJvY2Vzcy9BUEkvQy9zb3VwL1dLU291cFJlcXVlc3RNYW5hZ2VyLmNwcAogCiAgICAgVUlQ
cm9jZXNzL0FQSS9lZmwvQmF0dGVyeVByb3ZpZGVyLmNwcAorICAgIFVJUHJvY2Vzcy9BUEkvZWZs
L0VmbFZpZXdwb3J0SGFuZGxlci5jcHAKICAgICBVSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50
SW1wbC5jcHAKICAgICBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAKICAgICBVSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9yZXF1ZXN0X21hbmFnZXJfY2xpZW50LmNwcApAQCAt
ODgsNiArODksNyBAQCBMSVNUKEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L2VmbC9XZWJFcnJvcnNFZmwuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9lZmwvV2ViUG9wdXBNZW51RWZsLmNwcAogCisgICAgV2ViUHJvY2Vzcy9XZWJQ
YWdlL0xheWVyVHJlZUNvb3JkaW5hdG9yL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcAogICAgIFdl
YlByb2Nlc3MvV2ViUGFnZS9lZmwvV2ViSW5zcGVjdG9yRWZsLmNwcAogICAgIFdlYlByb2Nlc3Mv
V2ViUGFnZS9lZmwvV2ViUGFnZUVmbC5jcHAKIApAQCAtMTE3LDYgKzExOSw3IEBAIExJU1QoQVBQ
RU5EIFdlYktpdDJfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQktJVDJfRElSfS9XZWJQ
cm9jZXNzL2VmbCIKICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9zb3VwIgogICAgICIk
e1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2VmbCIKKyAgICAiJHtXRUJL
SVQyX0RJUn0vV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUNvb3JkaW5hdG9yIgogICAgICIk
e1dURl9ESVJ9L3d0Zi9nb2JqZWN0IgogICAgICR7Q0FJUk9fSU5DTFVERV9ESVJTfQogICAgICR7
RUNPUkVfWF9JTkNMVURFX0RJUlN9CkBAIC0xMzcsNiArMTQwLDcgQEAgTElTVChBUFBFTkQgV2Vi
S2l0Ml9MSUJSQVJJRVMKICAgICAke0VGTERFUFNfTElCUkFSSUVTfQogICAgICR7RnJlZXR5cGVf
TElCUkFSSUVTfQogICAgICR7TElCWE1MMl9MSUJSQVJJRVN9CisgICAgJHtPUEVOR0xfTElCUkFS
SUVTfQogICAgICR7U1FMSVRFX0xJQlJBUklFU30KICAgICAke0ZPTlRDT05GSUdfTElCUkFSSUVT
fQogICAgICR7UE5HX0xJQlJBUll9CkBAIC0xNTgsNiArMTYyLDcgQEAgTElTVCAoQVBQRU5EIFdl
YlByb2Nlc3NfTElCUkFSSUVTCiAgICAgJHtFVkFTX0xJQlJBUklFU30KICAgICAke0xJQlhNTDJf
TElCUkFSSUVTfQogICAgICR7TElCWFNMVF9MSUJSQVJJRVN9CisgICAgJHtPUEVOR0xfTElCUkFS
SUVTfQogICAgICR7U1FMSVRFX0xJQlJBUklFU30KICkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL1NoYXJlYWJsZVN1cmZhY2UuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L1NoYXJlYWJsZVN1cmZhY2UuY3BwCmluZGV4IDJlZjVhNGJiOTdhNzVkYzJmMjNmZTI5MmQ0N2Zk
YWUyZWVkM2ZlZjcuLjIyOGMwZTVkY2FlYzIxOWEwNzI1YTRlMWE5YzE4MWI2ZTM5MDQ0NWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9TaGFyZWFibGVTdXJmYWNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2hhcmVhYmxlU3VyZmFjZS5jcHAKQEAgLTIwLDYgKzIw
LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTaGFyZWFibGVTdXJmYWNlLmgi
CiAKKyNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1l
bnRDb2RlcnMuaCIKIAogI2lmIFVTRShURVhUVVJFX01BUFBFUikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKaW5kZXggOWIwNDQ4YWU4YTc2ZWRh
M2Y5ZmVmZWZhM2RlY2EyNTdjODcxNGUzZi4uNWM2MGFlNWQ2MjRjY2Q0NGRmZjQ5NGUxZDk3MGI2
YWYwZTYzMzhkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVu
dENvZGVycy5jcHAKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElO
RykKICNpbmNsdWRlIDxXZWJDb3JlL0FuaW1hdGlvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRmxv
YXRQb2ludDNELmg+CisjaW5jbHVkZSA8V2ViQ29yZS9MZW5ndGguaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1RyYW5zZm9ybWF0aW9uTWF0cml4Lmg+CiAKICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggZGIy
YjhmNzQxZWMyYTMxYWNiZGMxMjdjNDE3MWY5Y2IzN2Q0NTlhYy4uOTE5YzFhMWZkZmRjNTAwZDQ1
NTZiODA1YTliYzgwYTMxNTYyYzk5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuaApAQCAtNjcsMjggKzY3LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIH0KICNlbmRpZgogCi0jaWYgUExBVEZPUk0oUVQpCisjaWYgVVNFKFVJX1NJREVfQ09NUE9T
SVRJTkcpCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgQW5pbWF0aW9uOwotICAgIGNs
YXNzIEZsb2F0UG9pbnQzRDsKLSAgICBjbGFzcyBNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlvbjsK
LSAgICBjbGFzcyBNYXRyaXhUcmFuc2Zvcm1PcGVyYXRpb247Ci0gICAgY2xhc3MgUGVyc3BlY3Rp
dmVUcmFuc2Zvcm1PcGVyYXRpb247Ci0gICAgY2xhc3MgUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9u
OwotICAgIGNsYXNzIFNjYWxlVHJhbnNmb3JtT3BlcmF0aW9uOwotICAgIGNsYXNzIFNrZXdUcmFu
c2Zvcm1PcGVyYXRpb247Ci0gICAgY2xhc3MgVGltaW5nRnVuY3Rpb247Ci0gICAgY2xhc3MgVHJh
bnNmb3JtT3BlcmF0aW9uOwotICAgIGNsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbnM7Ci0gICAgY2xh
c3MgVHJhbnNmb3JtYXRpb25NYXRyaXg7Ci0gICAgY2xhc3MgVHJhbnNsYXRlVHJhbnNmb3JtT3Bl
cmF0aW9uOwotICAgIHN0cnVjdCBMZW5ndGg7Ci19Ci0jZW5kaWYKK2NsYXNzIEZsb2F0UG9pbnQz
RDsKK2NsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4Oworc3RydWN0IExlbmd0aDsKIAotI2lmIFVT
RShVSV9TSURFX0NPTVBPU0lUSU5HKSAmJiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCi1uYW1lc3BhY2Ug
V2ViQ29yZSB7Ci0gICAgY2xhc3MgRmlsdGVyT3BlcmF0aW9uczsKKyNpZiBFTkFCTEUoQ1NTX0ZJ
TFRFUlMpCitjbGFzcyBGaWx0ZXJPcGVyYXRpb25zOworI2VuZGlmCiB9CiAjZW5kaWYKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRWZsVmlld3BvcnRIYW5k
bGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0VmbFZpZXdwb3J0SGFu
ZGxlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNmU3YWE3ZjhiN2JmZjU1MTQ2MTgzMTVmZThjOGZiZDYyN2Fl
ODg0NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L0VmbFZpZXdwb3J0SGFuZGxlci5jcHAKQEAgLTAsMCArMSw5MyBAQAorLyoKKyAgICBDb3B5cmln
aHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcworCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgICBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisg
ICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQorICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgICAgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAg
ICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiRWZsVmlld3BvcnRIYW5kbGVyLmgiCisKKyNpZiBVU0UoVUlfU0lERV9DT01Q
T1NJVElORykKKworI2luY2x1ZGUgIkxheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkuaCIKKyNpbmNs
dWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgorI2luY2x1ZGUgIldlYkxheWVyVHJlZVJlbmRl
cmVyLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsK
KworRWZsVmlld3BvcnRIYW5kbGVyOjpFZmxWaWV3cG9ydEhhbmRsZXIoUGFnZUNsaWVudEltcGwq
IHBhZ2VDbGllbnRJbXBsKQorICAgIDogbV9wYWdlQ2xpZW50SW1wbChwYWdlQ2xpZW50SW1wbCkK
KyAgICAsIG1fc2NhbGVGYWN0b3IoMSkKK3sKKyAgICBBU1NFUlQobV9wYWdlQ2xpZW50SW1wbCk7
Cit9CisKK0VmbFZpZXdwb3J0SGFuZGxlcjo6fkVmbFZpZXdwb3J0SGFuZGxlcigpCit7Cit9CisK
K3ZvaWQgRWZsVmlld3BvcnRIYW5kbGVyOjpkaXNwbGF5KGNvbnN0IEludFJlY3QmIHJlY3QpCit7
CisgICAgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXggbWF0cml4OworICAgIG1hdHJpeC5z
ZXRNYXRyaXgobV9zY2FsZUZhY3RvciwgMCwgMCwgbV9zY2FsZUZhY3RvciwgLW1fdmlzaWJsZUNv
bnRlbnRSZWN0LngoKSwgLW1fdmlzaWJsZUNvbnRlbnRSZWN0LnkoKSk7CisKKyAgICBXZWJMYXll
clRyZWVSZW5kZXJlciogcmVuZGVyZXIgPSBkcmF3aW5nQXJlYSgpLT5sYXllclRyZWVDb29yZGlu
YXRvclByb3h5KCktPmxheWVyVHJlZVJlbmRlcmVyKCk7CisgICAgcmVuZGVyZXItPnNldEFjdGl2
ZSh0cnVlKTsKKyAgICByZW5kZXJlci0+c3luY1JlbW90ZUNvbnRlbnQoKTsKKyAgICByZW5kZXJl
ci0+cGFpbnRUb0N1cnJlbnRHTENvbnRleHQobWF0cml4LCAxLjBmLCByZWN0KTsKK30KKwordm9p
ZCBFZmxWaWV3cG9ydEhhbmRsZXI6OnVwZGF0ZVZpZXdwb3J0U2l6ZShjb25zdCBJbnRTaXplJiB2
aWV3cG9ydFNpemUpCit7CisgICAgbV92aWV3cG9ydFNpemUgPSB2aWV3cG9ydFNpemU7CisgICAg
bV9wYWdlQ2xpZW50SW1wbC0+cGFnZSgpLT5zZXRWaWV3cG9ydFNpemUodmlld3BvcnRTaXplKTsK
KyAgICBzZXRWaXNpYmxlQ29udGVudHNSZWN0KG1fdmlzaWJsZUNvbnRlbnRSZWN0LmxvY2F0aW9u
KCksIG1fc2NhbGVGYWN0b3IsIEZsb2F0UG9pbnQoKSk7Cit9CisKK3ZvaWQgRWZsVmlld3BvcnRI
YW5kbGVyOjpzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IEludFBvaW50JiBuZXdTY3JvbGxQ
b3NpdGlvbiwgZmxvYXQgbmV3U2NhbGUsIGNvbnN0IEZsb2F0UG9pbnQmIHRyYWplY3RvcnkpCit7
CisgICAgbV9zY2FsZUZhY3RvciA9IG5ld1NjYWxlOworICAgIG1fdmlzaWJsZUNvbnRlbnRSZWN0
ID0gSW50UmVjdChuZXdTY3JvbGxQb3NpdGlvbiwgbV92aWV3cG9ydFNpemUpOworCisgICAgLy8g
QWRqdXN0IFZpc2libGVDb250ZW50UmVjdAorICAgIEludFNpemUgY29udGVudHNTaXplID0gbV9j
b250ZW50c1NpemU7CisgICAgY29udGVudHNTaXplLnNjYWxlKG1fc2NhbGVGYWN0b3IpOworICAg
IGlmIChtX3Zpc2libGVDb250ZW50UmVjdC54KCkgPiBjb250ZW50c1NpemUud2lkdGgoKSAtIG1f
dmlzaWJsZUNvbnRlbnRSZWN0LndpZHRoKCkpCisgICAgICAgIG1fdmlzaWJsZUNvbnRlbnRSZWN0
LnNldFgoY29udGVudHNTaXplLndpZHRoKCkgLSBtX3Zpc2libGVDb250ZW50UmVjdC53aWR0aCgp
KTsKKyAgICBpZiAobV92aXNpYmxlQ29udGVudFJlY3QueCgpIDwgMCkKKyAgICAgICAgbV92aXNp
YmxlQ29udGVudFJlY3Quc2V0WCgwKTsKKyAgICBpZiAobV92aXNpYmxlQ29udGVudFJlY3QueSgp
ID4gY29udGVudHNTaXplLmhlaWdodCgpIC0gbV92aXNpYmxlQ29udGVudFJlY3QuaGVpZ2h0KCkp
CisgICAgICAgIG1fdmlzaWJsZUNvbnRlbnRSZWN0LnNldFkoY29udGVudHNTaXplLmhlaWdodCgp
IC0gbV92aXNpYmxlQ29udGVudFJlY3QuaGVpZ2h0KCkpOworICAgIGlmIChtX3Zpc2libGVDb250
ZW50UmVjdC55KCkgPCAwKQorICAgICAgICBtX3Zpc2libGVDb250ZW50UmVjdC5zZXRZKDApOwor
CisgICAgRmxvYXRSZWN0IG1hcFJlY3RUb1dlYkNvbnRlbnQgPSBtX3Zpc2libGVDb250ZW50UmVj
dDsKKyAgICBtYXBSZWN0VG9XZWJDb250ZW50LnNjYWxlKDEgLyBtX3NjYWxlRmFjdG9yKTsKKyAg
ICBkcmF3aW5nQXJlYSgpLT5zZXRWaXNpYmxlQ29udGVudHNSZWN0KGVuY2xvc2luZ0ludFJlY3Qo
bWFwUmVjdFRvV2ViQ29udGVudCksIG1fc2NhbGVGYWN0b3IsIHRyYWplY3RvcnkpOworfQorCit2
b2lkIEVmbFZpZXdwb3J0SGFuZGxlcjo6ZGlkQ2hhbmdlQ29udGVudHNTaXplKGNvbnN0IFdlYkNv
cmU6OkludFNpemUmIHNpemUpCit7CisgICAgbV9jb250ZW50c1NpemUgPSBzaXplOworICAgIHNl
dFZpc2libGVDb250ZW50c1JlY3QobV92aXNpYmxlQ29udGVudFJlY3QubG9jYXRpb24oKSwgbV9z
Y2FsZUZhY3RvciwgRmxvYXRQb2ludCgpKTsKKyAgICBkcmF3aW5nQXJlYSgpLT5sYXllclRyZWVD
b29yZGluYXRvclByb3h5KCktPnNldENvbnRlbnRzU2l6ZShXZWJDb3JlOjpGbG9hdFNpemUoc2l6
ZS53aWR0aCgpLCBzaXplLmhlaWdodCgpKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAor
I2VuZGlmIC8vIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQorCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FZmxWaWV3cG9ydEhhbmRsZXIuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0VmbFZpZXdwb3J0SGFuZGxlci5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIxMjY2Y2IzYjBmNjZkNmJmMWY0MTQ1NWRiM2I5ODcxYzgyMjkwZTkKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FZmxWaWV3cG9ydEhhbmRsZXIu
aApAQCAtMCwwICsxLDYwIEBACisvKgorICAgIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVs
ZWN0cm9uaWNzCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2ZXJzaW9uIDIgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAg
ICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisg
ICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElm
IG5vdCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMw
MSwgVVNBLgorICovCisKKyNpZm5kZWYgRWZsVmlld3BvcnRIYW5kbGVyX2gKKyNkZWZpbmUgRWZs
Vmlld3BvcnRIYW5kbGVyX2gKKworI2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQorCisjaW5j
bHVkZSAiUGFnZUNsaWVudEltcGwuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCitu
YW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgRWZsVmlld3BvcnRIYW5kbGVyIHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUGFzc093blB0cjxFZmxWaWV3cG9ydEhhbmRsZXI+IGNyZWF0ZShQYWdlQ2xp
ZW50SW1wbCogcGFnZUNsaWVudEltcGwpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRQdHIo
bmV3IEVmbFZpZXdwb3J0SGFuZGxlcihwYWdlQ2xpZW50SW1wbCkpOworICAgIH0KKyAgICB+RWZs
Vmlld3BvcnRIYW5kbGVyKCk7CisKKyAgICBEcmF3aW5nQXJlYVByb3h5KiBkcmF3aW5nQXJlYSgp
IGNvbnN0IHsgcmV0dXJuIG1fcGFnZUNsaWVudEltcGwtPnBhZ2UoKS0+ZHJhd2luZ0FyZWEoKTsg
fQorICAgIFdlYkNvcmU6OkludFNpemUgdmlld1NpemUoKSB7IHJldHVybiBtX3ZpZXdwb3J0U2l6
ZTsgfQorCisgICAgdm9pZCBkaXNwbGF5KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3QpOwor
ICAgIHZvaWQgdXBkYXRlVmlld3BvcnRTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHZpZXdw
b3J0U2l6ZSk7CisgICAgdm9pZCBzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiwgZmxvYXQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsKKyAgICB2b2lk
IGRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXplKTsKKwor
cHJpdmF0ZToKKyAgICBleHBsaWNpdCBFZmxWaWV3cG9ydEhhbmRsZXIoUGFnZUNsaWVudEltcGwq
KTsKKworICAgIFBhZ2VDbGllbnRJbXBsKiBtX3BhZ2VDbGllbnRJbXBsOworICAgIFdlYkNvcmU6
OkludFJlY3QgbV92aXNpYmxlQ29udGVudFJlY3Q7CisgICAgV2ViQ29yZTo6SW50U2l6ZSBtX2Nv
bnRlbnRzU2l6ZTsKKyAgICBXZWJDb3JlOjpJbnRTaXplIG1fdmlld3BvcnRTaXplOworICAgIGZs
b2F0IG1fc2NhbGVGYWN0b3I7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlm
CisKKyNlbmRpZiAvLyBFZmxWaWV3cG9ydEhhbmRsZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNsaWVudEltcGwuY3BwCmluZGV4IGU2OWY4N2QyODAx
MmRlMTUzMGM5MmM5Y2NiMjIxYmRjODIxYzRhZGYuLjBiYzJiYmNjNzE4N2NhMWRhZTY0ZWViOWYz
NDhkMmI0OTU5MjYyOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL1BhZ2VDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9QYWdlQ2xpZW50SW1wbC5jcHAKQEAgLTMxLDkgKzMxLDE2IEBACiAjaW5jbHVkZSAiTm90
SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJXZWJDb250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViQ29u
dGV4dE1lbnVQcm94eS5oIgorI2luY2x1ZGUgIldlYlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIldl
YlBhZ2VQcm94eS5oIgorI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzLmgiCiAjaW5jbHVkZSAiZXdr
X3ZpZXdfcHJpdmF0ZS5oIgogCisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCisjaW5jbHVk
ZSAiTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5oIgorI2luY2x1ZGUgIldlYkxheWVyVHJlZVJl
bmRlcmVyLmgiCisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewpAQCAtNDIsNiArNDksMTMgQEAgUGFnZUNsaWVudEltcGw6OlBhZ2VDbGllbnRJ
bXBsKFdlYkNvbnRleHQqIGNvbnRleHQsIFdlYlBhZ2VHcm91cCogcGFnZUdyb3VwLCBFdmEKICAg
ICA6IG1fdmlld1dpZGdldCh2aWV3V2lkZ2V0KQogewogICAgIG1fcGFnZSA9IGNvbnRleHQtPmNy
ZWF0ZVdlYlBhZ2UodGhpcywgcGFnZUdyb3VwKTsKKworI2lmIFVTRShVSV9TSURFX0NPTVBPU0lU
SU5HKQorICAgIG1fcGFnZS0+cGFnZUdyb3VwKCktPnByZWZlcmVuY2VzKCktPnNldEFjY2VsZXJh
dGVkQ29tcG9zaXRpbmdFbmFibGVkKHRydWUpOworICAgIG1fcGFnZS0+cGFnZUdyb3VwKCktPnBy
ZWZlcmVuY2VzKCktPnNldEZvcmNlQ29tcG9zaXRpbmdNb2RlKHRydWUpOworICAgIG1fcGFnZS0+
c2V0VXNlRml4ZWRMYXlvdXQodHJ1ZSk7CisjZW5kaWYKKwogICAgIG1fcGFnZS0+aW5pdGlhbGl6
ZVdlYlBhZ2UoKTsKIH0KIApAQCAtMjc2LDQgKzI5MCw5IEBAIHZvaWQgUGFnZUNsaWVudEltcGw6
OmNvdW50U3RyaW5nTWF0Y2hlc0luQ3VzdG9tUmVwcmVzZW50YXRpb24oY29uc3QgU3RyaW5nJiwg
RmluCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlk
Q2hhbmdlQ29udGVudHNTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNpemUpCit7CisgICAg
ZXdrX3ZpZXdfY29udGVudHNfc2l6ZV9jaGFuZ2VkKG1fdmlld1dpZGdldCwgc2l6ZSk7Cit9CisK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvUGFnZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL1BhZ2VDbGllbnRJbXBsLmgKaW5kZXggNDI3ZWY1Mjk3MDAxYjAwMTI3NzhkZmIyMTQ3
MGMzYjQ3NjI2OTFkZi4uZTBkNDc0MjFjMWY2ZGQ2ZTc0OGNmZTcyMjIzZTE3ODhlNjM1NGVkYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNsaWVudElt
cGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1w
bC5oCkBAIC0xMDYsNiArMTA2LDggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZmluZFN0
cmluZ0luQ3VzdG9tUmVwcmVzZW50YXRpb24oY29uc3QgU3RyaW5nJiwgRmluZE9wdGlvbnMsIHVu
c2lnbmVkKTsKICAgICB2aXJ0dWFsIHZvaWQgY291bnRTdHJpbmdNYXRjaGVzSW5DdXN0b21SZXBy
ZXNlbnRhdGlvbihjb25zdCBTdHJpbmcmLCBGaW5kT3B0aW9ucywgdW5zaWduZWQpOwogCisgICAg
dmlydHVhbCB2b2lkIGRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXpl
Jik7CisKIHByaXZhdGU6CiAgICAgUmVmUHRyPFdlYlBhZ2VQcm94eT4gbV9wYWdlOwogICAgIEV2
YXNfT2JqZWN0KiBtX3ZpZXdXaWRnZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfdmlldy5jcHAKaW5kZXggM2Y4MGFhMTFkNTgxMzE4NzViZjNjYTUwZmMwMjBjOTdl
ZTk4NjcxMi4uMzI3NDg1YzhmYTU4MDVhMmZlNWY4M2Q4MDQzMGU3NjBkOTRjNjk1NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcApAQCAtMzksNiAr
MzksMTAgQEAKICNpbmNsdWRlICJld2tfd2ViX3Jlc291cmNlLmgiCiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQ1N0cmluZy5oPgogCisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCisjaW5jbHVkZSAi
RWZsVmlld3BvcnRIYW5kbGVyLmgiCisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsK
IHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCkBAIC00OCw2ICs1MiwxMCBAQCB0eXBlZGVmIEhh
c2hNYXA8dWludDY0X3QsIEV3a19XZWJfUmVzb3VyY2UqPiBMb2FkaW5nUmVzb3VyY2VzTWFwOwog
CiBzdHJ1Y3QgX0V3a19WaWV3X1ByaXZhdGVfRGF0YSB7CiAgICAgT3duUHRyPFBhZ2VDbGllbnRJ
bXBsPiBwYWdlQ2xpZW50OworI2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQorICAgIE93blB0
cjxFZmxWaWV3cG9ydEhhbmRsZXI+IHZpZXdwb3J0SGFuZGxlcjsKKyNlbmRpZgorCiAgICAgY29u
c3QgY2hhciogdXJpOwogICAgIGNvbnN0IGNoYXIqIHRpdGxlOwogICAgIGNvbnN0IGNoYXIqIHRo
ZW1lOwpAQCAtMzgwLDYgKzM4OCwxMCBAQCBzdGF0aWMgdm9pZCBfZXdrX3ZpZXdfc21hcnRfY2Fs
Y3VsYXRlKEV2YXNfT2JqZWN0KiBld2tWaWV3KQogICAgIGV2YXNfb2JqZWN0X2dlb21ldHJ5X2dl
dChld2tWaWV3LCAmeCwgJnksICZ3aWR0aCwgJmhlaWdodCk7CiAKICAgICBpZiAoc21hcnREYXRh
LT5jaGFuZ2VkLnNpemUpIHsKKyNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElORykKKyAgICAgICAg
cHJpdi0+dmlld3BvcnRIYW5kbGVyLT51cGRhdGVWaWV3cG9ydFNpemUoSW50U2l6ZSh3aWR0aCwg
aGVpZ2h0KSk7CisjZW5kaWYKKwogICAgICAgICBpZiAocHJpdi0+cGFnZUNsaWVudC0+cGFnZSgp
LT5kcmF3aW5nQXJlYSgpKQogICAgICAgICAgICAgcHJpdi0+cGFnZUNsaWVudC0+cGFnZSgpLT5k
cmF3aW5nQXJlYSgpLT5zZXRTaXplKEludFNpemUod2lkdGgsIGhlaWdodCksIEludFNpemUoKSk7
CiAgICAgICAgIHNtYXJ0RGF0YS0+dmlldy53ID0gd2lkdGg7CkBAIC01MTYsNiArNTI4LDEwIEBA
IEV2YXNfT2JqZWN0KiBld2tfdmlld19iYXNlX2FkZChFdmFzKiBjYW52YXMsIFdLQ29udGV4dFJl
ZiBjb250ZXh0UmVmLCBXS1BhZ2VHcm91CiAKICAgICBld2tfdmlld190aGVtZV9zZXQoZXdrVmll
dywgREVGQVVMVF9USEVNRV9QQVRIIi9kZWZhdWx0LmVkaiIpOwogCisjaWYgVVNFKFVJX1NJREVf
Q09NUE9TSVRJTkcpCisgICAgcHJpdi0+dmlld3BvcnRIYW5kbGVyID0gRWZsVmlld3BvcnRIYW5k
bGVyOjpjcmVhdGUocHJpdi0+cGFnZUNsaWVudC5nZXQoKSk7CisjZW5kaWYKKwogICAgIHJldHVy
biBld2tWaWV3OwogfQogCkBAIC03NzEsNiArNzg3LDEzIEBAIHZvaWQgZXdrX3ZpZXdfZGlzcGxh
eShFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgSW50UmVjdCYgcmVjdCkKICAgICBpZiAoIXNt
YXJ0RGF0YS0+aW1hZ2UpCiAgICAgICAgIHJldHVybjsKIAorI2lmIFVTRShVSV9TSURFX0NPTVBP
U0lUSU5HKQorICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYp
OworCisgICAgZXZhc19nbF9tYWtlX2N1cnJlbnQocHJpdi0+ZXZhc0dsLCBwcml2LT5ldmFzR2xT
dXJmYWNlLCBwcml2LT5ldmFzR2xDb250ZXh0KTsKKyAgICBwcml2LT52aWV3cG9ydEhhbmRsZXIt
PmRpc3BsYXkocmVjdCk7CisjZW5kaWYKKwogICAgIGV2YXNfb2JqZWN0X2ltYWdlX2RhdGFfdXBk
YXRlX2FkZChzbWFydERhdGEtPmltYWdlLCByZWN0LngoKSwgcmVjdC55KCksIHJlY3Qud2lkdGgo
KSwgcmVjdC5oZWlnaHQoKSk7CiB9CiAKQEAgLTk4OCwzICsxMDExLDEzIEBAIEVpbmFfQm9vbCBl
d2tfdmlld19zZXR0aW5nX2VuY29kaW5nX2N1c3RvbV9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcs
IGNvbnN0IGNoYXIqCiAgICAgICAgIFdLUGFnZVNldEN1c3RvbVRleHRFbmNvZGluZ05hbWUodG9B
UEkocHJpdi0+cGFnZUNsaWVudC0+cGFnZSgpKSwgd2tFbmNvZGluZ05hbWUuZ2V0KCkpOwogICAg
IHJldHVybiB0cnVlOwogfQorCit2b2lkIGV3a192aWV3X2NvbnRlbnRzX3NpemVfY2hhbmdlZChF
dmFzX09iamVjdCogZXdrVmlldywgY29uc3QgSW50U2l6ZSYgc2l6ZSkKK3sKKyAgICBFV0tfVklF
V19TRF9HRVQoZXdrVmlldywgc21hcnREYXRhKTsKKyAgICBFV0tfVklFV19QUklWX0dFVChzbWFy
dERhdGEsIHByaXYpOworCisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCisgICAgcHJpdi0+
dmlld3BvcnRIYW5kbGVyLT5kaWRDaGFuZ2VDb250ZW50c1NpemUoc2l6ZSk7CisjZW5kaWYKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3X3By
aXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3X3ByaXZh
dGUuaAppbmRleCAzYzljZTk0YTcxNGViNzFlN2ZiOTMwZjQzNTAyOGI1MGE5YTVkZWNiLi43YmU3
MGE1ZTVhOTllNDJhZWFjM2ZkZjExZDQ4N2I3ODViZTZhMWM3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlld19wcml2YXRlLmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXdfcHJpdmF0ZS5oCkBAIC01OCw2ICs1
OCw3IEBAIHZvaWQgZXdrX3ZpZXdfcmVzb3VyY2VfbG9hZF9maW5pc2hlZChFdmFzX09iamVjdCog
ZXdrVmlldywgdWludDY0X3QgcmVzb3VyY2VJZGVuCiB2b2lkIGV3a192aWV3X3Jlc291cmNlX2xv
YWRfaW5pdGlhdGVkKEV2YXNfT2JqZWN0KiBld2tWaWV3LCB1aW50NjRfdCByZXNvdXJjZUlkZW50
aWZpZXIsIEV3a19XZWJfUmVzb3VyY2UqIHJlc291cmNlLCBFd2tfVXJsX1JlcXVlc3QqIHJlcXVl
c3QpOwogdm9pZCBld2tfdmlld19yZXNvdXJjZV9sb2FkX3Jlc3BvbnNlKEV2YXNfT2JqZWN0KiBl
d2tWaWV3LCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIEV3a19VcmxfUmVzcG9uc2UqIHJl
c3BvbnNlKTsKIHZvaWQgZXdrX3ZpZXdfcmVzb3VyY2VfcmVxdWVzdF9zZW50KEV2YXNfT2JqZWN0
KiBld2tWaWV3LCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIEV3a19VcmxfUmVxdWVzdCog
cmVxdWVzdCwgRXdrX1VybF9SZXNwb25zZSogcmVkaXJlY3RSZXNwb25zZSk7Cit2b2lkIGV3a192
aWV3X2NvbnRlbnRzX3NpemVfY2hhbmdlZChFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgV2Vi
Q29yZTo6SW50U2l6ZSYpOwogCiBFdmFzX09iamVjdCogZXdrX3ZpZXdfYmFzZV9hZGQoRXZhcyog
Y2FudmFzLCBXS0NvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggZmM1ZDc0N2M1M2EyNGQwZTBlMGRjZmNmYTJjYTA4ZTI0
MTVhMTEzOS4uNGUzMDFkZGI2MDRjMTZiOGJkNDFmMTYzYzBmZGY0OGZkZTA0MDNhNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0xMTgsNyArMTE4LDYgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpJ
bnRQb2ludCYpID0gMDsKICNlbmRpZgogI2lmIFBMQVRGT1JNKFFUKQotICAgIHZpcnR1YWwgdm9p
ZCBkaWRDaGFuZ2VDb250ZW50c1NpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkRmluZFpvb21hYmxlQXJlYShjb25zdCBXZWJDb3JlOjpJbnRQb2lu
dCYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJl
Y2VpdmVNZXNzYWdlRnJvbU5hdmlnYXRvclF0T2JqZWN0KGNvbnN0IFN0cmluZyYpID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgaGFuZGxlRG93bmxvYWRSZXF1ZXN0KERvd25sb2FkUHJveHkqKSA9IDA7
CkBAIC0xMjgsNiArMTI3LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlUHJv
eHlBdXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChjb25zdCBTdHJpbmcmIGhvc3RuYW1lLCB1
aW50MTZfdCBwb3J0LCBjb25zdCBTdHJpbmcmIHByZWZpbGxlZFVzZXJuYW1lLCBTdHJpbmcmIHVz
ZXJuYW1lLCBTdHJpbmcmIHBhc3N3b3JkKSA9IDA7CiAjZW5kaWYgLy8gUExBVEZPUk0oUVQpLgog
CisjaWYgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkKKyAgICB2aXJ0dWFsIHZvaWQgZGlk
Q2hhbmdlQ29udGVudHNTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSA9IDA7CisjZW5kaWYK
KwogI2lmIFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspCiAgICAgdmlydHVhbCB2b2lkIHN0
YXJ0RHJhZyhjb25zdCBXZWJDb3JlOjpEcmFnRGF0YSYsIFBhc3NSZWZQdHI8U2hhcmVhYmxlQml0
bWFwPiBkcmFnSW1hZ2UpID0gMDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAppbmRleCAzNDRlZDk4NDZmNWQ4NGQ1MzQyYjA1ZmJmMGU3MmJkZjdlMGNm
ZTFhLi45MWU2MTIxMDFjY2M4MzFkYzZlMzQ2ZjdlZmIwMzcxYThhMGQwNTZiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMjYxOSwxMSArMjYxOSw2IEBA
IHZvaWQgV2ViUGFnZVByb3h5OjpzZXRNZWRpYVZvbHVtZShmbG9hdCB2b2x1bWUpCiB9CiAKICNp
ZiBQTEFURk9STShRVCkKLXZvaWQgV2ViUGFnZVByb3h5OjpkaWRDaGFuZ2VDb250ZW50c1NpemUo
Y29uc3QgSW50U2l6ZSYgc2l6ZSkKLXsKLSAgICBtX3BhZ2VDbGllbnQtPmRpZENoYW5nZUNvbnRl
bnRzU2l6ZShzaXplKTsKLX0KLQogdm9pZCBXZWJQYWdlUHJveHk6OmRpZEZpbmRab29tYWJsZUFy
ZWEoY29uc3QgSW50UG9pbnQmIHRhcmdldCwgY29uc3QgSW50UmVjdCYgYXJlYSkKIHsKICAgICBt
X3BhZ2VDbGllbnQtPmRpZEZpbmRab29tYWJsZUFyZWEodGFyZ2V0LCBhcmVhKTsKQEAgLTI2NjMs
NiArMjY1OCwxMyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y2VydGlmaWNhdGVWZXJpZmljYXRpb25S
ZXF1ZXN0KGNvbnN0IFN0cmluZyYgaG9zdG5hbWUsIGJvb2wmCiB9CiAjZW5kaWYgLy8gUExBVEZP
Uk0oUVQpLgogCisjaWYgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkKK3ZvaWQgV2ViUGFn
ZVByb3h5OjpkaWRDaGFuZ2VDb250ZW50c1NpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSkKK3sKKyAg
ICBtX3BhZ2VDbGllbnQtPmRpZENoYW5nZUNvbnRlbnRzU2l6ZShzaXplKTsKK30KKyNlbmRpZgor
CiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKIHZvaWQgV2ViUGFnZVByb3h5OjpuZWVkVG91Y2hF
dmVudHMoYm9vbCBuZWVkVG91Y2hFdmVudHMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKaW5kZXggMzNjNDlhM2NhM2QxODU1MDFlZTMzNzI3M2UwYWU1MGViY2I4MTM0
YS4uMTQxZjZiMDA1OTg4MzUwOTZkMGQ1ODk5MTEyNDhmNWZiMDg3OTU4OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtODI4LDkgKzgyOCwxMyBAQCBwcml2YXRl
OgogI2VuZGlmCiAKICNpZiBQTEFURk9STShRVCkKLSAgICB2b2lkIGRpZENoYW5nZUNvbnRlbnRz
U2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CiAgICAgdm9pZCBkaWRGaW5kWm9vbWFibGVB
cmVhKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOwog
I2VuZGlmCisKKyNpZiBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKQorICAgIHZvaWQgZGlk
Q2hhbmdlQ29udGVudHNTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsKKyNlbmRpZgorCiAj
aWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKICAgICB2b2lkIG5lZWRUb3VjaEV2ZW50cyhib29sKTsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVz
c2FnZXMuaW4KaW5kZXggMzc2OTA0NzAxOGQzZjdkZWU1MGMzZThhN2M0NjA3MDUxNDE2NTBmZS4u
N2ZhODFiZTVhNWVlZDdlMDg4YzlkNzgyODNiZDE1MzJmNjNmY2JmYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC03MywxMiAr
NzMsMTYgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBQYWdlRGlkUmVxdWVzdFNj
cm9sbChXZWJDb3JlOjpJbnRQb2ludCBwb2ludCkKICNlbmRpZgogI2lmIFBMQVRGT1JNKFFUKQot
ICAgIERpZENoYW5nZUNvbnRlbnRzU2l6ZShXZWJDb3JlOjpJbnRTaXplIG5ld1NpemUpCiAgICAg
RGlkRmluZFpvb21hYmxlQXJlYShXZWJDb3JlOjpJbnRQb2ludCB0YXJnZXQsIFdlYkNvcmU6Oklu
dFJlY3QgYXJlYSkKICAgICBBdXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChXVEY6OlN0cmlu
ZyBob3N0bmFtZSwgV1RGOjpTdHJpbmcgcmVhbG0sIFdURjo6U3RyaW5nIHByZWZpbGxlZFVzZXJu
YW1lKSAtPiAoV1RGOjpTdHJpbmcgdXNlcm5hbWUsIFdURjo6U3RyaW5nIHBhc3N3b3JkKQogICAg
IENlcnRpZmljYXRlVmVyaWZpY2F0aW9uUmVxdWVzdChXVEY6OlN0cmluZyBob3N0bmFtZSkgLT4g
KGJvb2wgaWdub3JlRXJyb3JzKQogICAgIFByb3h5QXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVl
c3QoV1RGOjpTdHJpbmcgaG9zdG5hbWUsIHVpbnQxNl90IHBvcnQsIFdURjo6U3RyaW5nIHByZWZp
bGxlZFVzZXJuYW1lKSAtPiAoV1RGOjpTdHJpbmcgdXNlcm5hbWUsIFdURjo6U3RyaW5nIHBhc3N3
b3JkKQogI2VuZGlmCisKKyNpZiBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKQorICAgIERp
ZENoYW5nZUNvbnRlbnRzU2l6ZShXZWJDb3JlOjpJbnRTaXplIG5ld1NpemUpCisjZW5kaWYKKwog
I2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAgICAgTmVlZFRvdWNoRXZlbnRzKGJvb2wgbmVlZFRv
dWNoRXZlbnRzKQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvTGF5ZXJUcmVlQ29vcmRpbmF0b3IvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUNvb3JkaW5hdG9yL0xh
eWVyVHJlZUNvb3JkaW5hdG9yLmNwcAppbmRleCBhM2I5YTEzOTEzYzc3YWEyZGVkN2FmZWY1MmZm
ZjJkM2Q5OGU3ZGU3Li41ZTk1OWE5MDlmZjVjOThjNWQ1ZjA2NmE5ODU1MjI2ODNhNmYxZTkyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlQ29v
cmRpbmF0b3IvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVDb29yZGluYXRvci9MYXllclRyZWVDb29yZGluYXRv
ci5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCisjaWYgVVNF
KFVJX1NJREVfQ09NUE9TSVRJTkcpCiAjaW5jbHVkZSAiTGF5ZXJUcmVlQ29vcmRpbmF0b3IuaCIK
IAogI2luY2x1ZGUgIkRyYXdpbmdBcmVhSW1wbC5oIgpAQCAtNTg2LDMgKzU4Nyw0IEBAIFBhc3NP
d25QdHI8V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0PiBMYXllclRyZWVDb29yZGluYXRvcjo6YmVn
aW5Db250ZW50VXBkYXRlKGNvCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAorI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlQ29v
cmRpbmF0b3IvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9MYXllclRyZWVDb29yZGluYXRvci9MYXllclRyZWVDb29yZGluYXRvci5oCmlu
ZGV4IDliNTE1NGMzNmY4ZTE5ZWU0MGZmNWM1YTQwOTc4ODA0OTFmYjBhMGIuLmYxNzk0NWEwNzE2
ZDI4MTYzMmExNTJkZTlkZTFhZTE3Y2NkODQxZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVDb29yZGluYXRvci9MYXllclRyZWVDb29yZGlu
YXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVD
b29yZGluYXRvci9MYXllclRyZWVDb29yZGluYXRvci5oCkBAIC0yMCw2ICsyMCw4IEBACiAjaWZu
ZGVmIExheWVyVHJlZUNvb3JkaW5hdG9yX2gKICNkZWZpbmUgTGF5ZXJUcmVlQ29vcmRpbmF0b3Jf
aAogCisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCisKICNpbmNsdWRlICJMYXllclRyZWVD
b250ZXh0LmgiCiAjaW5jbHVkZSAiTGF5ZXJUcmVlSG9zdC5oIgogI2luY2x1ZGUgIlRpbWVyLmgi
CkBAIC0xMzYsNSArMTM4LDYgQEAgcHJpdmF0ZToKIH07CiAKIH0KKyNlbmRpZgogCiAjZW5kaWYg
Ly8gTGF5ZXJUcmVlQ29vcmRpbmF0b3JfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwCmluZGV4IGJmMDExZTA4NWE2ZTIwYTU1ZWYy
ZTA5N2MwMzYyMzJiYzQ3MWZiMDkuLjBlNjRhZDZiYWYzZGQ5YjExOTNjYmZiZTI4Y2EwOTU4YjQ4
ZWM1MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXll
clRyZWVIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5
ZXJUcmVlSG9zdC5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKICNlbmRpZgogI2VuZGlmCiAKLSNpZiBQ
TEFURk9STShRVCkKKyNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElORykKICNpbmNsdWRlICJMYXll
clRyZWVDb29yZGluYXRvci5oIgogI2VuZGlmCiAKQEAgLTUyLDcgKzUyLDcgQEAgUGFzc1JlZlB0
cjxMYXllclRyZWVIb3N0PiBMYXllclRyZWVIb3N0OjpjcmVhdGUoV2ViUGFnZSogd2ViUGFnZSkK
ICAgICByZXR1cm4gTGF5ZXJUcmVlSG9zdENBTWFjOjpjcmVhdGUod2ViUGFnZSk7CiAjZWxpZiBQ
TEFURk9STShXSU4pICYmIEhBVkUoV0tRQ0EpCiAgICAgcmV0dXJuIExheWVyVHJlZUhvc3RDQVdp
bjo6Y3JlYXRlKHdlYlBhZ2UpOwotI2VsaWYgUExBVEZPUk0oUVQpCisjZWxpZiBVU0UoVUlfU0lE
RV9DT01QT1NJVElORykKICAgICByZXR1cm4gTGF5ZXJUcmVlQ29vcmRpbmF0b3I6OmNyZWF0ZSh3
ZWJQYWdlKTsKICNlbGlmIFBMQVRGT1JNKEdUSykgJiYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKQog
ICAgIHJldHVybiBMYXllclRyZWVIb3N0R3RrOjpjcmVhdGUod2ViUGFnZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaAppbmRleCAzNjgy
MzBjYzlkMTY4MzRkOGY3YWY3N2FmOThjYWI0M2JmNGQ5MjFlLi5kMDY2ZjUzMmMwMWQwYjI2OWYw
YTE0MTNlYzYwNWVmNTlhZGNjNzk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmgKQEAgLTExNSw3ICsxMTUsNyBAQCBwcm90ZWN0ZWQ6
CiAjZW5kaWYKIH07CiAKLSNpZiAhUExBVEZPUk0oV0lOKSAmJiAhUExBVEZPUk0oUVQpCisjaWYg
IVBMQVRGT1JNKFdJTikgJiYgIVVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQogaW5saW5lIGJvb2wg
TGF5ZXJUcmVlSG9zdDo6c3VwcG9ydHNBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCkKIHsKICAgICBy
ZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvZWZsL1dl
YlByb2Nlc3NNYWluRWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvZWZsL1dlYlBy
b2Nlc3NNYWluRWZsLmNwcAppbmRleCAxNjI3OGEzOGU0ODUzZDM0YmU2NzhmNDM2MDZmZjEzOTc0
MTJmYzk3Li5jODNjMTMyZDk5ZWVlYmJlYzY4MzY1YmZiZWI5MmZjYmEyYzc4ZDlmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2VmbC9XZWJQcm9jZXNzTWFpbkVmbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc01haW5FZmwuY3Bw
CkBAIC0zNiw2ICszNiwxMCBAQAogI2luY2x1ZGUgPHVuaXN0ZC5oPgogI2luY2x1ZGUgPHd0Zi9N
YWluVGhyZWFkLmg+CiAKKyNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElORykKKyNpbmNsdWRlICJX
ZWJHcmFwaGljc0xheWVyLmgiCisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNzYsNiArODAsMTAgQEAgV0tfRVhQT1JUIGludCBXZWJQ
cm9jZXNzTWFpbkVmbChpbnQgYXJnYywgY2hhciogYXJndltdKQogICAgICAgICBnX29iamVjdF91
bnJlZihyZXNvbHZlckVmbCk7CiAgICAgfQogCisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcp
CisgICAgV2ViR3JhcGhpY3NMYXllcjo6aW5pdEZhY3RvcnkoKTsKKyNlbmRpZgorCiAgICAgaW50
IHNvY2tldCA9IGF0b2koYXJndlsxXSk7CiAgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuaW5pdGlh
bGl6ZShzb2NrZXQsIFJ1bkxvb3A6Om1haW4oKSk7CiAgICAgUnVuTG9vcDo6cnVuKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRp
b25zRWZsLmNtYWtlCmluZGV4IDFiZjcxZjgxMWExMDI4OTczZjI3ZDAxMTI1YTFlY2I5ZDE1ZTBi
NmYuLjNkY2RiMTQzMmU2MTY1MjkwMGU1OTBkMzU4NmI5MzE3ZjIyOWFkYTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25z
RWZsLmNtYWtlCkBAIC0xNTMsMyArMTUzLDIzIEBAIElGIChFTkFCTEVfV0VCR0wpCiBFTkRJRiAo
KQogCiBTRVQoQ1BBQ0tfU09VUkNFX0dFTkVSQVRPUiBUQloyKQorCitJRiAoV1RGX1VTRV9USUxF
RF9CQUNLSU5HX1NUT1JFKQorICBTRVQoV1RGX1VTRV9BQ0NFTEVSQVRFRF9DT01QT1NJVElORyAx
KQorICBBRERfREVGSU5JVElPTlMoLURXVEZfVVNFX0FDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HPTEp
CisKKyAgU0VUKFdURl9VU0VfVUlfU0lERV9DT01QT1NJVElORyAxKQorICBBRERfREVGSU5JVElP
TlMoLURXVEZfVVNFX1VJX1NJREVfQ09NUE9TSVRJTkc9MSkKKworICBTRVQoV1RGX1VTRV9URVhU
VVJFX01BUFBFUiAxKQorICBBRERfREVGSU5JVElPTlMoLURXVEZfVVNFX1RFWFRVUkVfTUFQUEVS
PTEpCisKKyAgU0VUKFdURl9VU0VfVEVYVFVSRV9NQVBQRVJfR0wgMSkKKyAgQUREX0RFRklOSVRJ
T05TKC1EV1RGX1VTRV9URVhUVVJFX01BUFBFUl9HTD0xKQorCisgIFNFVChXVEZfVVNFXzNEX0dS
QVBISUNTIDEpCisgIEFERF9ERUZJTklUSU9OUygtRFdURl9VU0VfM0RfR1JBUEhJQ1M9MSkKKwor
ICBGSU5EX1BBQ0tBR0UoT3BlbkdMIFJFUVVJUkVEKQorRU5ESUYoKQorCmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjhlMDNlN2U2N2QxNjBmY2Qz
MzEyODRiYjkzMjkzNzc0N2NhYzlmZS4uZGQxYzNiMTRmZDBmNDAzZDVhOGNjNzQ4NTAxMjgxOTBm
NjRkMDAyMCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA3LTIzICBZb3VuZ1RhZWNrIFNvbmcgIDx5b3VuZ3Rh
ZWNrLnNvbmdAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW1dLMl1bRUZMXSBJbXBsZW1lbnQgYWNj
ZWxlcmF0ZWQgY29tcG9zaXRpbmcgb24gV0syIEVmbCBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTg0MAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBhY2NlbGVyYXRlZCBjb21wb3Np
dGlvbiB3aXRoIFRpbGVkQmFja2luZ1N0b3JlIG9uIFdLMiBFZmwgcG9ydC4KKyAgICAgICAgQWRk
IE9QRU5HTF9MSUJSQVJJRVMgaW4gQ01ha2VMaXN0LnR4dC4KKworICAgICAgICAqIE1pbmlCcm93
c2VyL2VmbC9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1BsYXRm
b3JtRWZsLmNtYWtlOgorCiAyMDEyLTA3LTIzICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMjMzNjAuCmRpZmYg
LS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQgYi9Ub29scy9NaW5p
QnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKaW5kZXggNTljZmM0ZmQxZmU0MGE2YjhmMWNhZThj
M2EyMDE5NzIzZmRjNzAzOS4uYjdiZGU5NTM2YjY5MTZkOGQwZTVjZjVkYWI5M2EzMTJjOGUxNmJm
NCAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0CisrKyBi
L1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dApAQCAtMjksNiArMjksNyBAQCBT
RVQoTWluaUJyb3dzZXJfTElCUkFSSUVTCiAgICAgJHtMSUJTT1VQMjRfTElCUkFSSUVTfQogICAg
ICR7TElCWE1MMl9MSUJSQVJJRVN9CiAgICAgJHtMSUJYU0xUX0xJQlJBUklFU30KKyAgICAke09Q
RU5HTF9MSUJSQVJJRVN9CiAgICAgJHtTUUxJVEVfTElCUkFSSUVTfQogKQogCmRpZmYgLS1naXQg
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtRWZsLmNtYWtlIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCA2YzkzMDkxMGIzZGM4ZmJmZjAwODFh
YTAwMjk5NmYxMGZhNjdhYzY1Li5lOTY3ZDU1N2M4ZTQ4ZGY5M2I2Y2ZjNThlNmEwZTFmMjg1NzQy
YmQyIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtRWZsLmNtYWtl
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTQzLDYg
KzQzLDcgQEAgTElTVChBUFBFTkQgV2ViS2l0VGVzdFJ1bm5lcl9MSUJSQVJJRVMKICAgICAke0VE
SkVfTElCUkFSSUVTfQogICAgICR7RUZMREVQU19MSUJSQVJJRVN9CiAgICAgJHtHbGliX0xJQlJB
UklFU30KKyAgICAke09QRU5HTF9MSUJSQVJJRVN9CiAgICAgJHtXVEZfTElCUkFSWV9OQU1FfQog
KQogCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggZDczNGQ2NGRhNjQ5
MDkxMmFjNTcwYTFjM2JkY2QzN2EyODJiZTkwNS4uZDE2M2Y3ZTA4MWM5MTc4MTIwY2JmYjc1MTQz
YmI4ZjI3NTU2MjdiNyAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDEyLTA3LTIzICBZb3VuZ1RhZWNrIFNvbmcgIDx5b3VuZ3RhZWNrLnNv
bmdAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW1dLMl1bRUZMXSBJbXBsZW1lbnQgYWNjZWxlcmF0
ZWQgY29tcG9zaXRpbmcgb24gV0syIEVmbCBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTg0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBhY2NlbGVyYXRlZCBjb21wb3NpdGlvbiB3
aXRoIFRpbGVkQmFja2luZ1N0b3JlIG9uIFdLMiBFZmwgcG9ydC4KKyAgICAgICAgVGhlc2UgY29k
ZXMgYXJlIGJhc2VkIG9uIFF0IFBvcnQncyBVSV9TSURFX0NPTVBPU0lUSU5HLgorICAgICAgICBB
ZGQgVUlfU0lERV9DT01QT1NJVElORyByZWxhdGVkIGRlZmluaXRpb25zIGluIE9wdGlvbnNFZmwu
Y21ha2UuCisKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZToKKwogMjAx
Mi0wNy0yMyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyMzE4NCwgcjEyMzE5NSwgYW5kIHIxMjMx
OTcuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155194</attachid>
            <date>2012-07-29 18:52:30 -0700</date>
            <delta_ts>2012-08-05 23:54:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89840-20120730105215.patch</filename>
            <type>text/plain</type>
            <size>32549</size>
            <attacher name="YoungTaeck Song">youngtaeck.song</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzOTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTgzMGJlMmFhOGEwYmJi
MzA3MTI5YWUyZGNmZmRkYjI5YWE4MjMxZS4uN2JhM2JkYzZhYTRiN2ZmZjdjMDJjNGE5Y2I1Yzc3
Y2I0MTVhMTE0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDEyLTA3LTI5ICBZb3Vu
Z1RhZWNrIFNvbmcgIDx5b3VuZ3RhZWNrLnNvbmdAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW1dL
Ml1bRUZMXSBJbXBsZW1lbnQgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgb24gV0syIEVmbCBwb3J0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTg0MAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVu
dCBhY2NlbGVyYXRlZCBjb21wb3NpdGlvbiB3aXRoIFRpbGVkQmFja2luZ1N0b3JlIG9uIFdLMiBF
ZmwgcG9ydC4KKyAgICAgICAgVGhlc2UgY29kZXMgYXJlIGJhc2VkIG9uIFF0IFBvcnQncyBVSV9T
SURFX0NPTVBPU0lUSU5HLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
UGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogU2hhcmVkL1NoYXJlYWJsZVN1cmZhY2UuY3Bw
OgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAq
IFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2VmbC9QYWdlQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBs
OjpQYWdlQ2xpZW50SW1wbCk6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpkaWRD
aGFuZ2VDb250ZW50c1NpemUpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5oOgorICAgICAgICAoUGFnZUNsaWVudEltcGwpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL1ZpZXdwb3J0UHJvY2Vzc29yLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6
Vmlld3BvcnRQcm9jZXNzb3IpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6
flZpZXdwb3J0UHJvY2Vzc29yKToKKyAgICAgICAgKFdlYktpdDo6Vmlld3BvcnRQcm9jZXNzb3I6
OmRpc3BsYXkpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6dXBkYXRlVmll
d3BvcnRTaXplKToKKyAgICAgICAgKFdlYktpdDo6Vmlld3BvcnRQcm9jZXNzb3I6OnNldFZpc2li
bGVDb250ZW50c1JlY3QpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6ZGlk
Q2hhbmdlQ29udGVudHNTaXplKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9WaWV3cG9y
dFByb2Nlc3Nvci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChWaWV3cG9y
dFByb2Nlc3Nvcik6CisgICAgICAgIChXZWJLaXQ6OlZpZXdwb3J0UHJvY2Vzc29yOjpjcmVhdGUp
OgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6ZHJhd2luZ0FyZWEpOgorICAg
ICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6dmlld1NpemUpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcDoKKyAgICAgICAgKF9Fd2tfVmlld19Qcml2YXRl
X0RhdGEpOgorICAgICAgICAoX2V3a192aWV3X3NtYXJ0X2NhbGN1bGF0ZSk6CisgICAgICAgIChl
d2tfdmlld19iYXNlX2FkZCk6CisgICAgICAgIChld2tfdmlld19kaXNwbGF5KToKKyAgICAgICAg
KGV3a192aWV3X2NvbnRlbnRzX3NpemVfY2hhbmdlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3ZpZXdfcHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50
Lmg6CisgICAgICAgIChQYWdlQ2xpZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94
eTo6ZGlkQ2hhbmdlQ29udGVudHNTaXplKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lmg6CisgICAgICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVy
VHJlZUNvb3JkaW5hdG9yL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlQ29vcmRpbmF0b3IvTGF5ZXJUcmVlQ29vcmRpbmF0b3Iu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3Q6OmNyZWF0ZSk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc01haW5FZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzTWFpbkVmbCk6CisKIDIwMTItMDctMjkgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFy
b2dhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0NNYWtlXSBVc2UgV0VCS0lUX0NSRUFURV9GT1JX
QVJESU5HX0hFQURFUlMgdG8gZ2VuZXJhdGUgV0syIGZvcndhcmRpbmcgaGVhZGVycwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFr
ZUxpc3RzLnR4dAppbmRleCAxMDQ5NTY2NDFiNjVkZDUzZWQ5NjUzYTU1MDBiYzFkNzM1YzlkYmU5
Li5mZjI1OTU1ZDJmYzE2MDA4MWQ0YjYyOTA4ZmUwNmMxM2JhMmFiZWQ4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxp
c3RzLnR4dApAQCAtMTksNiArMTksNyBAQCBTRVQoV2ViS2l0Ml9JTkNMVURFX0RJUkVDVE9SSUVT
CiAgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9MYXVuY2hlciIKICAgICAiJHtXRUJLSVQy
X0RJUn0vVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJv
Y2Vzcy9QbHVnaW5zIgorICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvdGV4bWFwIgogICAg
ICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzIgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9j
ZXNzL0FwcGxpY2F0aW9uQ2FjaGUiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvQXV0
aGVudGljYXRpb24iCkBAIC03MSw2ICs3Miw4IEBAIFNFVChXZWJLaXQyX0lOQ0xVREVfRElSRUNU
T1JJRVMKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycyIKICAg
ICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3JhcGhpY3MvaGFyZmJ1enoiCiAgICAgIiR7V0VC
Q09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL2hhcmZidXp6L25nIgorICAgICIke1dFQkNPUkVf
RElSfS9wbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNlcyIKKyAgICAiJHtXRUJDT1JFX0RJUn0vcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwIgogICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9ncmFw
aGljcy90cmFuc2Zvcm1zIgogICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9uZXR3b3JrIgog
ICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9zcWwiCkBAIC0xNDIsNyArMTQ1LDkgQEAgU0VU
KFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9TZWN1cml0eU9yaWdpbkRhdGEuY3BwCiAgICAg
U2hhcmVkL1Nlc3Npb25TdGF0ZS5jcHAKICAgICBTaGFyZWQvU2hhcmVhYmxlQml0bWFwLmNwcAor
ICAgIFNoYXJlZC9TaGFyZWFibGVTdXJmYWNlLmNwcAogICAgIFNoYXJlZC9TdGF0aXN0aWNzRGF0
YS5jcHAKKyAgICBTaGFyZWQvU3VyZmFjZVVwZGF0ZUluZm8uY3BwCiAgICAgU2hhcmVkL1VwZGF0
ZUluZm8uY3BwCiAgICAgU2hhcmVkL1Zpc2l0ZWRMaW5rVGFibGUuY3BwCiAgICAgU2hhcmVkL1dl
YkJhY2tGb3J3YXJkTGlzdEl0ZW0uY3BwCkBAIC0zNDQsNiArMzQ5LDggQEAgU0VUKFdlYktpdDJf
U09VUkNFUwogICAgIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAKICAg
ICBVSVByb2Nlc3MvUGx1Z2lucy9XZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXIuY3BwCiAKKyAgICBV
SVByb2Nlc3MvdGV4bWFwL0xheWVyQmFja2luZ1N0b3JlLmNwcAorCiAgICAgV2ViUHJvY2Vzcy9X
ZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNw
cAogCkBAIC00NjAsNiArNDY3LDcgQEAgU0VUKFdlYktpdDJfU09VUkNFUwogICAgIFdlYlByb2Nl
c3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5jcHAKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvVGFwSGln
aGxpZ2h0Q29udHJvbGxlci5jcHAKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvVGlsZWRCYWNraW5n
U3RvcmVSZW1vdGVUaWxlLmNwcAorICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9VcGRhdGVBdGxhcy5j
cHAKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3BwCiAg
ICAgV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcAogICAgIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJGcmFtZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
RWZsLmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggMGEwMmMy
YmY2NDU5NTVmYzM1N2I0NTlkNTQwODliYmUwOTg4NTI3NC4uZDRjODliYzMzOTE0ZGQ1MjkxMGY4
ZGE5ZWJiYWRhMjQyYTg0N2EwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1F
ZmwuY21ha2UKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTM4LDYg
KzM4LDcgQEAgTElTVChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAgICAgVUlQcm9jZXNzL0FQSS9D
L3NvdXAvV0tTb3VwUmVxdWVzdE1hbmFnZXIuY3BwCiAKICAgICBVSVByb2Nlc3MvQVBJL2VmbC9C
YXR0ZXJ5UHJvdmlkZXIuY3BwCisgICAgVUlQcm9jZXNzL0FQSS9lZmwvRWZsVmlld3BvcnRIYW5k
bGVyLmNwcAogICAgIFVJUHJvY2Vzcy9BUEkvZWZsL05ldHdvcmtJbmZvUHJvdmlkZXIuY3BwCiAg
ICAgVUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNsaWVudEltcGwuY3BwCiAgICAgVUlQcm9jZXNzL0FQ
SS9lZmwvVmlicmF0aW9uUHJvdmlkZXIuY3BwCkBAIC05Niw2ICs5Nyw3IEBAIExJU1QoQVBQRU5E
IFdlYktpdDJfU09VUkNFUwogICAgIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvZWZsL1dlYkVy
cm9yc0VmbC5jcHAKICAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2VmbC9XZWJQb3B1cE1l
bnVFZmwuY3BwCiAKKyAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlQ29vcmRpbmF0b3Iv
TGF5ZXJUcmVlQ29vcmRpbmF0b3IuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL2VmbC9XZWJJ
bnNwZWN0b3JFZmwuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL2VmbC9XZWJQYWdlRWZsLmNw
cAogCkBAIC0xMjUsNiArMTI3LDcgQEAgTElTVChBUFBFTkQgV2ViS2l0Ml9JTkNMVURFX0RJUkVD
VE9SSUVTCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvZWZsIgogICAgICIke1dFQktJ
VDJfRElSfS9XZWJQcm9jZXNzL3NvdXAiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvZWZsIgorICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL1dlYlBh
Z2UvTGF5ZXJUcmVlQ29vcmRpbmF0b3IiCiAgICAgIiR7V1RGX0RJUn0vd3RmL2dvYmplY3QiCiAg
ICAgJHtDQUlST19JTkNMVURFX0RJUlN9CiAgICAgJHtFQ09SRV9YX0lOQ0xVREVfRElSU30KQEAg
LTE0Nyw2ICsxNTAsNyBAQCBMSVNUKEFQUEVORCBXZWJLaXQyX0xJQlJBUklFUwogICAgICR7RUZS
RUVUX0xJQlJBUklFU30KICAgICAke0ZyZWV0eXBlX0xJQlJBUklFU30KICAgICAke0xJQlhNTDJf
TElCUkFSSUVTfQorICAgICR7T1BFTkdMX0xJQlJBUklFU30KICAgICAke1NRTElURV9MSUJSQVJJ
RVN9CiAgICAgJHtGT05UQ09ORklHX0xJQlJBUklFU30KICAgICAke1BOR19MSUJSQVJZfQpAQCAt
MTc1LDYgKzE3OSw3IEBAIExJU1QgKEFQUEVORCBXZWJQcm9jZXNzX0xJQlJBUklFUwogICAgICR7
RVZBU19MSUJSQVJJRVN9CiAgICAgJHtMSUJYTUwyX0xJQlJBUklFU30KICAgICAke0xJQlhTTFRf
TElCUkFSSUVTfQorICAgICR7T1BFTkdMX0xJQlJBUklFU30KICAgICAke1NRTElURV9MSUJSQVJJ
RVN9CiApCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9TaGFyZWFibGVTdXJm
YWNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9TaGFyZWFibGVTdXJmYWNlLmNwcAppbmRl
eCAyZWY1YTRiYjk3YTc1ZGMyZjIzZmUyOTJkNDdmZGFlMmVlZDNmZWY3Li4yMjhjMGU1ZGNhZWMy
MTlhMDcyNWE0ZTFhOWMxODFiNmUzOTA0NDVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvU2hhcmVhYmxlU3VyZmFjZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1No
YXJlYWJsZVN1cmZhY2UuY3BwCkBAIC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiU2hhcmVhYmxlU3VyZmFjZS5oIgogCisjaW5jbHVkZSAiR3JhcGhpY3NDb250
ZXh0LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAKICNpZiBVU0UoVEVY
VFVSRV9NQVBQRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuY3BwCmluZGV4IDliMDQ0OGFlOGE3NmVkYTNmOWZlZmVmYTNkZWNhMjU3Yzg3MTRlM2Yu
LjVjNjBhZTVkNjI0Y2NkNDRkZmY0OTRlMWQ5NzBiNmFmMGU2MzM4ZDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC00OSw2ICs0OSw3
IEBACiAjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCiAjaW5jbHVkZSA8V2ViQ29yZS9Bbmlt
YXRpb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0UG9pbnQzRC5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvTGVuZ3RoLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5o
PgogCiAjaWYgRU5BQkxFKENTU19GSUxURVJTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IGRiMmI4Zjc0MWVjMmEzMWFjYmRjMTI3YzQxNzFm
OWNiMzdkNDU5YWMuLjkxOWMxYTFmZGZkYzUwMGQ0NTU2YjgwNWE5YmM4MGEzMTU2MmM5OWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTY3
LDI4ICs2NywxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB9CiAjZW5kaWYKIAotI2lmIFBMQVRG
T1JNKFFUKQorI2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQogbmFtZXNwYWNlIFdlYkNvcmUg
ewotICAgIGNsYXNzIEFuaW1hdGlvbjsKLSAgICBjbGFzcyBGbG9hdFBvaW50M0Q7Ci0gICAgY2xh
c3MgTWF0cml4M0RUcmFuc2Zvcm1PcGVyYXRpb247Ci0gICAgY2xhc3MgTWF0cml4VHJhbnNmb3Jt
T3BlcmF0aW9uOwotICAgIGNsYXNzIFBlcnNwZWN0aXZlVHJhbnNmb3JtT3BlcmF0aW9uOwotICAg
IGNsYXNzIFJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbjsKLSAgICBjbGFzcyBTY2FsZVRyYW5zZm9y
bU9wZXJhdGlvbjsKLSAgICBjbGFzcyBTa2V3VHJhbnNmb3JtT3BlcmF0aW9uOwotICAgIGNsYXNz
IFRpbWluZ0Z1bmN0aW9uOwotICAgIGNsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbjsKLSAgICBjbGFz
cyBUcmFuc2Zvcm1PcGVyYXRpb25zOwotICAgIGNsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4Owot
ICAgIGNsYXNzIFRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbjsKLSAgICBzdHJ1Y3QgTGVuZ3Ro
OwotfQotI2VuZGlmCitjbGFzcyBGbG9hdFBvaW50M0Q7CitjbGFzcyBUcmFuc2Zvcm1hdGlvbk1h
dHJpeDsKK3N0cnVjdCBMZW5ndGg7CiAKLSNpZiBVU0UoVUlfU0lERV9DT01QT1NJVElORykgJiYg
RU5BQkxFKENTU19GSUxURVJTKQotbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIGNsYXNzIEZpbHRl
ck9wZXJhdGlvbnM7CisjaWYgRU5BQkxFKENTU19GSUxURVJTKQorY2xhc3MgRmlsdGVyT3BlcmF0
aW9uczsKKyNlbmRpZgogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL0VmbFZpZXdwb3J0SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9FZmxWaWV3cG9ydEhhbmRsZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRiOWEz
NjBjNTU4ZDhlZjRiYTA3MTQwZGMzMWQyMDU0ZjE4MDEyZjMKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FZmxWaWV3cG9ydEhhbmRsZXIuY3BwCkBA
IC0wLDAgKzEsOTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJv
bmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkVmbFZpZXdwb3J0SGFuZGxlci5oIgorCisjaWYgVVNFKFVJX1NJREVfQ09N
UE9TSVRJTkcpCisKKyNpbmNsdWRlICJMYXllclRyZWVDb29yZGluYXRvclByb3h5LmgiCisjaW5j
bHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKKyNpbmNsdWRlICJXZWJMYXllclRyZWVSZW5k
ZXJlci5oIgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK0VmbFZpZXdwb3J0SGFuZGxlcjo6RWZsVmlld3BvcnRIYW5kbGVyKFBhZ2VDbGllbnRJbXBs
KiBwYWdlQ2xpZW50SW1wbCkKKyAgICA6IG1fcGFnZUNsaWVudEltcGwocGFnZUNsaWVudEltcGwp
CisgICAgLCBtX3NjYWxlRmFjdG9yKDEpCit7CisgICAgQVNTRVJUKG1fcGFnZUNsaWVudEltcGwp
OworfQorCitFZmxWaWV3cG9ydEhhbmRsZXI6On5FZmxWaWV3cG9ydEhhbmRsZXIoKQoreworfQor
Cit2b2lkIEVmbFZpZXdwb3J0SGFuZGxlcjo6ZGlzcGxheShjb25zdCBJbnRSZWN0JiByZWN0KQor
eworICAgIFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4IG1hdHJpeDsKKyAgICBtYXRyaXgu
c2V0TWF0cml4KG1fc2NhbGVGYWN0b3IsIDAsIDAsIG1fc2NhbGVGYWN0b3IsIC1tX3Zpc2libGVD
b250ZW50UmVjdC54KCksIC1tX3Zpc2libGVDb250ZW50UmVjdC55KCkpOworCisgICAgV2ViTGF5
ZXJUcmVlUmVuZGVyZXIqIHJlbmRlcmVyID0gZHJhd2luZ0FyZWEoKS0+bGF5ZXJUcmVlQ29vcmRp
bmF0b3JQcm94eSgpLT5sYXllclRyZWVSZW5kZXJlcigpOworICAgIHJlbmRlcmVyLT5zZXRBY3Rp
dmUodHJ1ZSk7CisgICAgcmVuZGVyZXItPnN5bmNSZW1vdGVDb250ZW50KCk7CisgICAgcmVuZGVy
ZXItPnBhaW50VG9DdXJyZW50R0xDb250ZXh0KG1hdHJpeCwgMS4wZiwgcmVjdCk7Cit9CisKK3Zv
aWQgRWZsVmlld3BvcnRIYW5kbGVyOjp1cGRhdGVWaWV3cG9ydFNpemUoY29uc3QgSW50U2l6ZSYg
dmlld3BvcnRTaXplKQoreworICAgIG1fdmlld3BvcnRTaXplID0gdmlld3BvcnRTaXplOworICAg
IG1fcGFnZUNsaWVudEltcGwtPnBhZ2UoKS0+c2V0Vmlld3BvcnRTaXplKHZpZXdwb3J0U2l6ZSk7
CisgICAgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdChtX3Zpc2libGVDb250ZW50UmVjdC5sb2NhdGlv
bigpLCBtX3NjYWxlRmFjdG9yLCBGbG9hdFBvaW50KCkpOworfQorCit2b2lkIEVmbFZpZXdwb3J0
SGFuZGxlcjo6c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBJbnRQb2ludCYgbmV3U2Nyb2xs
UG9zaXRpb24sIGZsb2F0IG5ld1NjYWxlLCBjb25zdCBGbG9hdFBvaW50JiB0cmFqZWN0b3J5KQor
eworICAgIG1fc2NhbGVGYWN0b3IgPSBuZXdTY2FsZTsKKyAgICBtX3Zpc2libGVDb250ZW50UmVj
dCA9IEludFJlY3QobmV3U2Nyb2xsUG9zaXRpb24sIG1fdmlld3BvcnRTaXplKTsKKworICAgIC8v
IEFkanVzdCBWaXNpYmxlQ29udGVudFJlY3QKKyAgICBJbnRTaXplIGNvbnRlbnRzU2l6ZSA9IG1f
Y29udGVudHNTaXplOworICAgIGNvbnRlbnRzU2l6ZS5zY2FsZShtX3NjYWxlRmFjdG9yKTsKKyAg
ICBpZiAobV92aXNpYmxlQ29udGVudFJlY3QueCgpID4gY29udGVudHNTaXplLndpZHRoKCkgLSBt
X3Zpc2libGVDb250ZW50UmVjdC53aWR0aCgpKQorICAgICAgICBtX3Zpc2libGVDb250ZW50UmVj
dC5zZXRYKGNvbnRlbnRzU2l6ZS53aWR0aCgpIC0gbV92aXNpYmxlQ29udGVudFJlY3Qud2lkdGgo
KSk7CisgICAgaWYgKG1fdmlzaWJsZUNvbnRlbnRSZWN0LngoKSA8IDApCisgICAgICAgIG1fdmlz
aWJsZUNvbnRlbnRSZWN0LnNldFgoMCk7CisgICAgaWYgKG1fdmlzaWJsZUNvbnRlbnRSZWN0Lnko
KSA+IGNvbnRlbnRzU2l6ZS5oZWlnaHQoKSAtIG1fdmlzaWJsZUNvbnRlbnRSZWN0LmhlaWdodCgp
KQorICAgICAgICBtX3Zpc2libGVDb250ZW50UmVjdC5zZXRZKGNvbnRlbnRzU2l6ZS5oZWlnaHQo
KSAtIG1fdmlzaWJsZUNvbnRlbnRSZWN0LmhlaWdodCgpKTsKKyAgICBpZiAobV92aXNpYmxlQ29u
dGVudFJlY3QueSgpIDwgMCkKKyAgICAgICAgbV92aXNpYmxlQ29udGVudFJlY3Quc2V0WSgwKTsK
KworICAgIEZsb2F0UmVjdCBtYXBSZWN0VG9XZWJDb250ZW50ID0gbV92aXNpYmxlQ29udGVudFJl
Y3Q7CisgICAgbWFwUmVjdFRvV2ViQ29udGVudC5zY2FsZSgxIC8gbV9zY2FsZUZhY3Rvcik7Cisg
ICAgZHJhd2luZ0FyZWEoKS0+c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChlbmNsb3NpbmdJbnRSZWN0
KG1hcFJlY3RUb1dlYkNvbnRlbnQpLCBtX3NjYWxlRmFjdG9yLCB0cmFqZWN0b3J5KTsKK30KKwor
dm9pZCBFZmxWaWV3cG9ydEhhbmRsZXI6OmRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBXZWJD
b3JlOjpJbnRTaXplJiBzaXplKQoreworICAgIG1fY29udGVudHNTaXplID0gc2l6ZTsKKyAgICBz
ZXRWaXNpYmxlQ29udGVudHNSZWN0KG1fdmlzaWJsZUNvbnRlbnRSZWN0LmxvY2F0aW9uKCksIG1f
c2NhbGVGYWN0b3IsIEZsb2F0UG9pbnQoKSk7CisgICAgZHJhd2luZ0FyZWEoKS0+bGF5ZXJUcmVl
Q29vcmRpbmF0b3JQcm94eSgpLT5zZXRDb250ZW50c1NpemUoV2ViQ29yZTo6RmxvYXRTaXplKHNp
emUud2lkdGgoKSwgc2l6ZS5oZWlnaHQoKSkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
KyNlbmRpZiAvLyBVU0UoVUlfU0lERV9DT01QT1NJVElORykKKwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRWZsVmlld3BvcnRIYW5kbGVyLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FZmxWaWV3cG9ydEhhbmRsZXIuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mNWYzNjVhMjY5ODBiNmYxODY1MjA3ZGI3NjlhNDFiNGJhZTNmZDgzCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRWZsVmlld3BvcnRIYW5kbGVy
LmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVs
ZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEVmbFZp
ZXdwb3J0SGFuZGxlcl9oCisjZGVmaW5lIEVmbFZpZXdwb3J0SGFuZGxlcl9oCisKKyNpZiBVU0Uo
VUlfU0lERV9DT01QT1NJVElORykKKworI2luY2x1ZGUgIlBhZ2VDbGllbnRJbXBsLmgiCisjaW5j
bHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIEVm
bFZpZXdwb3J0SGFuZGxlciB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8RWZsVmll
d3BvcnRIYW5kbGVyPiBjcmVhdGUoUGFnZUNsaWVudEltcGwqIHBhZ2VDbGllbnRJbXBsKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBFZmxWaWV3cG9ydEhhbmRsZXIocGFnZUNs
aWVudEltcGwpKTsKKyAgICB9CisgICAgfkVmbFZpZXdwb3J0SGFuZGxlcigpOworCisgICAgRHJh
d2luZ0FyZWFQcm94eSogZHJhd2luZ0FyZWEoKSBjb25zdCB7IHJldHVybiBtX3BhZ2VDbGllbnRJ
bXBsLT5wYWdlKCktPmRyYXdpbmdBcmVhKCk7IH0KKyAgICBXZWJDb3JlOjpJbnRTaXplIHZpZXdT
aXplKCkgeyByZXR1cm4gbV92aWV3cG9ydFNpemU7IH0KKworICAgIHZvaWQgZGlzcGxheShjb25z
dCBXZWJDb3JlOjpJbnRSZWN0JiByZWN0KTsKKyAgICB2b2lkIHVwZGF0ZVZpZXdwb3J0U2l6ZShj
b25zdCBXZWJDb3JlOjpJbnRTaXplJiB2aWV3cG9ydFNpemUpOworICAgIHZvaWQgc2V0VmlzaWJs
ZUNvbnRlbnRzUmVjdChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIGZsb2F0LCBjb25zdCBXZWJD
b3JlOjpGbG9hdFBvaW50Jik7CisgICAgdm9pZCBkaWRDaGFuZ2VDb250ZW50c1NpemUoY29uc3Qg
V2ViQ29yZTo6SW50U2l6ZSYgc2l6ZSk7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgRWZsVmll
d3BvcnRIYW5kbGVyKFBhZ2VDbGllbnRJbXBsKik7CisKKyAgICBQYWdlQ2xpZW50SW1wbCogbV9w
YWdlQ2xpZW50SW1wbDsKKyAgICBXZWJDb3JlOjpJbnRSZWN0IG1fdmlzaWJsZUNvbnRlbnRSZWN0
OworICAgIFdlYkNvcmU6OkludFNpemUgbV9jb250ZW50c1NpemU7CisgICAgV2ViQ29yZTo6SW50
U2l6ZSBtX3ZpZXdwb3J0U2l6ZTsKKyAgICBmbG9hdCBtX3NjYWxlRmFjdG9yOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgorCisjZW5kaWYgLy8gRWZsVmlld3BvcnRIYW5k
bGVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1BhZ2VD
bGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1BhZ2VDbGll
bnRJbXBsLmNwcAppbmRleCAwNjNjNzE1ZGZhNmQ2ODU0ZDk0Y2JmNzhmNzAyNDA0NjJmZGM4ODM2
Li4xNDg1YjZjMTk0MmE3Y2FhZjdlOWQwZTkzZGJmZTNlZDdiZjhiNzIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNsaWVudEltcGwuY3BwCkBAIC0z
MSwxMyArMzEsMjAgQEAKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIldl
YkNvbnRleHQuaCIKICNpbmNsdWRlICJXZWJDb250ZXh0TWVudVByb3h5LmgiCisjaW5jbHVkZSAi
V2ViUGFnZUdyb3VwLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCisjaW5jbHVkZSAiV2Vi
UHJlZmVyZW5jZXMuaCIKICNpbmNsdWRlICJld2tfY29udGV4dC5oIgogI2luY2x1ZGUgImV3a19j
b250ZXh0X3ByaXZhdGUuaCIKICNpbmNsdWRlICJld2tfZG93bmxvYWRfam9iLmgiCiAjaW5jbHVk
ZSAiZXdrX2Rvd25sb2FkX2pvYl9wcml2YXRlLmgiCiAjaW5jbHVkZSAiZXdrX3ZpZXdfcHJpdmF0
ZS5oIgogCisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCisjaW5jbHVkZSAiTGF5ZXJUcmVl
Q29vcmRpbmF0b3JQcm94eS5oIgorI2luY2x1ZGUgIldlYkxheWVyVHJlZVJlbmRlcmVyLmgiCisj
ZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpA
QCAtNDYsNiArNTMsMTMgQEAgUGFnZUNsaWVudEltcGw6OlBhZ2VDbGllbnRJbXBsKFdlYkNvbnRl
eHQqIGNvbnRleHQsIFdlYlBhZ2VHcm91cCogcGFnZUdyb3VwLCBFdmEKICAgICA6IG1fdmlld1dp
ZGdldCh2aWV3V2lkZ2V0KQogewogICAgIG1fcGFnZSA9IGNvbnRleHQtPmNyZWF0ZVdlYlBhZ2Uo
dGhpcywgcGFnZUdyb3VwKTsKKworI2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQorICAgIG1f
cGFnZS0+cGFnZUdyb3VwKCktPnByZWZlcmVuY2VzKCktPnNldEFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdFbmFibGVkKHRydWUpOworICAgIG1fcGFnZS0+cGFnZUdyb3VwKCktPnByZWZlcmVuY2VzKCkt
PnNldEZvcmNlQ29tcG9zaXRpbmdNb2RlKHRydWUpOworICAgIG1fcGFnZS0+c2V0VXNlRml4ZWRM
YXlvdXQodHJ1ZSk7CisjZW5kaWYKKwogICAgIG1fcGFnZS0+aW5pdGlhbGl6ZVdlYlBhZ2UoKTsK
IH0KIApAQCAtMjg4LDQgKzMwMiw5IEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OmhhbmRsZURvd25s
b2FkUmVxdWVzdChEb3dubG9hZFByb3h5KiBkb3dubG9hZCkKICAgICBld2tfZG93bmxvYWRfam9i
X3VucmVmKGV3a0Rvd25sb2FkKTsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkQ2hhbmdl
Q29udGVudHNTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNpemUpCit7CisgICAgZXdrX3Zp
ZXdfY29udGVudHNfc2l6ZV9jaGFuZ2VkKG1fdmlld1dpZGdldCwgc2l6ZSk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvUGFnZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L1BhZ2VDbGllbnRJbXBsLmgKaW5kZXggN2RmYzk1YTBjNmNhNGIwNWU0YmM0ZGJiNjVlYTE0NTA4
ZGZlZGQ2Ni4uOWY2MWI2MTg2ZjI5NWEwNjlhYzZkOWNkNTQxNzQ2NmNkMTUxZmZkYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNsaWVudEltcGwuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5oCkBA
IC0xMDgsNiArMTA4LDggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZmluZFN0cmluZ0lu
Q3VzdG9tUmVwcmVzZW50YXRpb24oY29uc3QgU3RyaW5nJiwgRmluZE9wdGlvbnMsIHVuc2lnbmVk
KTsKICAgICB2aXJ0dWFsIHZvaWQgY291bnRTdHJpbmdNYXRjaGVzSW5DdXN0b21SZXByZXNlbnRh
dGlvbihjb25zdCBTdHJpbmcmLCBGaW5kT3B0aW9ucywgdW5zaWduZWQpOwogCisgICAgdmlydHVh
bCB2b2lkIGRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CisK
IHByaXZhdGU6CiAgICAgUmVmUHRyPFdlYlBhZ2VQcm94eT4gbV9wYWdlOwogICAgIEV2YXNfT2Jq
ZWN0KiBtX3ZpZXdXaWRnZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfdmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfdmlldy5jcHAKaW5kZXggYjFiMWJjYzA4OWUyMjE5NTA1ZTE4N2UxZThhNWMzMGMwNDVkMTEz
NS4uOTQ0ZTIxNDAyZDAxMjYyNGNjNGM4YzVkNzVkZDIzMWZhMzg1MWEwMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcApAQCAtNDgsNiArNDgsMTAg
QEAKICNpbmNsdWRlIDxFdmFzX0dMLmg+CiAjZW5kaWYKIAorI2lmIFVTRShVSV9TSURFX0NPTVBP
U0lUSU5HKQorI2luY2x1ZGUgIkVmbFZpZXdwb3J0SGFuZGxlci5oIgorI2VuZGlmCisKIHVzaW5n
IG5hbWVzcGFjZSBXZWJLaXQ7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtNjAsNiAr
NjQsMTAgQEAgc3RhdGljIHZvaWQgX2V3a192aWV3X3ByaXZfbG9hZGluZ19yZXNvdXJjZXNfY2xl
YXIoTG9hZGluZ1Jlc291cmNlc01hcCYgbG9hZGluZ1IKIAogc3RydWN0IF9Fd2tfVmlld19Qcml2
YXRlX0RhdGEgewogICAgIE93blB0cjxQYWdlQ2xpZW50SW1wbD4gcGFnZUNsaWVudDsKKyNpZiBV
U0UoVUlfU0lERV9DT01QT1NJVElORykKKyAgICBPd25QdHI8RWZsVmlld3BvcnRIYW5kbGVyPiB2
aWV3cG9ydEhhbmRsZXI7CisjZW5kaWYKKwogICAgIGNvbnN0IGNoYXIqIHVyaTsKICAgICBjb25z
dCBjaGFyKiB0aXRsZTsKICAgICBjb25zdCBjaGFyKiB0aGVtZTsKQEAgLTUyMSw2ICs1MjksMTAg
QEAgc3RhdGljIHZvaWQgX2V3a192aWV3X3NtYXJ0X2NhbGN1bGF0ZShFdmFzX09iamVjdCogZXdr
VmlldykKICAgICBldmFzX29iamVjdF9nZW9tZXRyeV9nZXQoZXdrVmlldywgJngsICZ5LCAmd2lk
dGgsICZoZWlnaHQpOwogCiAgICAgaWYgKHNtYXJ0RGF0YS0+Y2hhbmdlZC5zaXplKSB7CisjaWYg
VVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCisgICAgICAgIHByaXYtPnZpZXdwb3J0SGFuZGxlci0+
dXBkYXRlVmlld3BvcnRTaXplKEludFNpemUod2lkdGgsIGhlaWdodCkpOworI2VuZGlmCisKICAg
ICAgICAgaWYgKHByaXYtPnBhZ2VDbGllbnQtPnBhZ2UoKS0+ZHJhd2luZ0FyZWEoKSkKICAgICAg
ICAgICAgIHByaXYtPnBhZ2VDbGllbnQtPnBhZ2UoKS0+ZHJhd2luZ0FyZWEoKS0+c2V0U2l6ZShJ
bnRTaXplKHdpZHRoLCBoZWlnaHQpLCBJbnRTaXplKCkpOwogCkBAIC02NzAsNiArNjgyLDEwIEBA
IEV2YXNfT2JqZWN0KiBld2tfdmlld19iYXNlX2FkZChFdmFzKiBjYW52YXMsIFdLQ29udGV4dFJl
ZiBjb250ZXh0UmVmLCBXS1BhZ2VHcm91CiAKICAgICBld2tfdmlld190aGVtZV9zZXQoZXdrVmll
dywgREVGQVVMVF9USEVNRV9QQVRIIi9kZWZhdWx0LmVkaiIpOwogCisjaWYgVVNFKFVJX1NJREVf
Q09NUE9TSVRJTkcpCisgICAgcHJpdi0+dmlld3BvcnRIYW5kbGVyID0gRWZsVmlld3BvcnRIYW5k
bGVyOjpjcmVhdGUocHJpdi0+cGFnZUNsaWVudC5nZXQoKSk7CisjZW5kaWYKKwogICAgIHJldHVy
biBld2tWaWV3OwogfQogCkBAIC0xMDIwLDYgKzEwMzYsMTMgQEAgdm9pZCBld2tfdmlld19kaXNw
bGF5KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBJbnRSZWN0JiByZWN0KQogICAgIGlmICgh
c21hcnREYXRhLT5pbWFnZSkKICAgICAgICAgcmV0dXJuOwogCisjaWYgVVNFKFVJX1NJREVfQ09N
UE9TSVRJTkcpCisgICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgcHJp
dik7CisKKyAgICBldmFzX2dsX21ha2VfY3VycmVudChwcml2LT5ldmFzR2wsIHByaXYtPmV2YXNH
bFN1cmZhY2UsIHByaXYtPmV2YXNHbENvbnRleHQpOworICAgIHByaXYtPnZpZXdwb3J0SGFuZGxl
ci0+ZGlzcGxheShyZWN0KTsKKyNlbmRpZgorCiAgICAgZXZhc19vYmplY3RfaW1hZ2VfZGF0YV91
cGRhdGVfYWRkKHNtYXJ0RGF0YS0+aW1hZ2UsIHJlY3QueCgpLCByZWN0LnkoKSwgcmVjdC53aWR0
aCgpLCByZWN0LmhlaWdodCgpKTsKIH0KIApAQCAtMTI5NywzICsxMzIwLDEzIEBAIEVpbmFfQm9v
bCBld2tfdmlld19zZXR0aW5nX2VuY29kaW5nX2N1c3RvbV9zZXQoRXZhc19PYmplY3QqIGV3a1Zp
ZXcsIGNvbnN0IGNoYXIqCiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KKwordm9pZCBld2tfdmlld19j
b250ZW50c19zaXplX2NoYW5nZWQoY29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IElu
dFNpemUmIHNpemUpCit7CisjaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCisgICAgRVdLX1ZJ
RVdfU0RfR0VUKGV3a1ZpZXcsIHNtYXJ0RGF0YSk7CisgICAgRVdLX1ZJRVdfUFJJVl9HRVQoc21h
cnREYXRhLCBwcml2KTsKKworICAgIHByaXYtPnZpZXdwb3J0SGFuZGxlci0+ZGlkQ2hhbmdlQ29u
dGVudHNTaXplKHNpemUpOworI2VuZGlmCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlld19wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfdmlld19wcml2YXRlLmgKaW5kZXggM2I1N2E3NjE4YWViMGNkMDUw
OGQzY2IyM2ZkZGNkOTU3NmEwMDJlZS4uOTcwZDRkYzczM2Y4OGQ5ZWUzZjk3ODI5MGVkNmI5NDMy
Zjc0NGFkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3ZpZXdfcHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a192aWV3X3ByaXZhdGUuaApAQCAtNjcsNiArNjcsNyBAQCB2b2lkIGV3a192aWV3X3Jlc291cmNl
X2xvYWRfZmluaXNoZWQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIHVpbnQ2NF90IHJlc291cmNlSWRl
bgogdm9pZCBld2tfdmlld19yZXNvdXJjZV9sb2FkX2luaXRpYXRlZChFdmFzX09iamVjdCogZXdr
VmlldywgdWludDY0X3QgcmVzb3VyY2VJZGVudGlmaWVyLCBFd2tfV2ViX1Jlc291cmNlKiByZXNv
dXJjZSwgRXdrX1VybF9SZXF1ZXN0KiByZXF1ZXN0KTsKIHZvaWQgZXdrX3ZpZXdfcmVzb3VyY2Vf
bG9hZF9yZXNwb25zZShFdmFzX09iamVjdCogZXdrVmlldywgdWludDY0X3QgcmVzb3VyY2VJZGVu
dGlmaWVyLCBFd2tfVXJsX1Jlc3BvbnNlKiByZXNwb25zZSk7CiB2b2lkIGV3a192aWV3X3Jlc291
cmNlX3JlcXVlc3Rfc2VudChFdmFzX09iamVjdCogZXdrVmlldywgdWludDY0X3QgcmVzb3VyY2VJ
ZGVudGlmaWVyLCBFd2tfVXJsX1JlcXVlc3QqIHJlcXVlc3QsIEV3a19VcmxfUmVzcG9uc2UqIHJl
ZGlyZWN0UmVzcG9uc2UpOwordm9pZCBld2tfdmlld19jb250ZW50c19zaXplX2NoYW5nZWQoY29u
c3QgRXZhc19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsKIAogRXZh
c19PYmplY3QqIGV3a192aWV3X2Jhc2VfYWRkKEV2YXMqIGNhbnZhcywgV0tDb250ZXh0UmVmLCBX
S1BhZ2VHcm91cFJlZik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
YWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4
IDUxOGRiOGUxY2VkNzAwNjhkMTBkNjQ4MDFjMDRkYWQ4MWRjODQzYjEuLmEzNDNhZTYxMDA5NzFh
YWYzNTAyYjBhNDViMDNmMTUwZDlkYzc0NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VD
bGllbnQuaApAQCAtMTE4LDcgKzExOCw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcGFn
ZURpZFJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKSA9IDA7CiAjZW5kaWYK
ICNpZiBQTEFURk9STShRVCkKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQ29udGVudHNTaXpl
KGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZEZpbmRa
b29tYWJsZUFyZWEoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZUZyb21OYXZpZ2F0
b3JRdE9iamVjdChjb25zdCBTdHJpbmcmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVRl
eHRJbnB1dFN0YXRlKCkgPSAwOwpAQCAtMTMxLDYgKzEzMCwxMCBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIGhhbmRsZURvd25sb2FkUmVxdWVzdChEb3dubG9hZFByb3h5KikgPSAwOwogI2Vu
ZGlmIC8vIFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpCiAKKyNpZiBQTEFURk9STShRVCkg
fHwgUExBVEZPUk0oRUZMKQorICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VDb250ZW50c1NpemUo
Y29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpID0gMDsKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oUVQp
IHx8IFBMQVRGT1JNKEdUSykKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnREcmFnKGNvbnN0IFdlYkNv
cmU6OkRyYWdEYXRhJiwgUGFzc1JlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGRyYWdJbWFnZSkgPSAw
OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4
IDZjZjI2MGEzNjJiN2I0YjQyOGUwOTYyYWU1Yzk0ZGViZDk5NDkxOTEuLjc3Yjc0NWViNjdmMzdi
ZmEyNDdjMDAyNmMxMWZhNTVkYTQxNWUwZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwCkBAIC0yNjE5LDExICsyNjE5LDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6
OnNldE1lZGlhVm9sdW1lKGZsb2F0IHZvbHVtZSkKIH0KIAogI2lmIFBMQVRGT1JNKFFUKQotdm9p
ZCBXZWJQYWdlUHJveHk6OmRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBJbnRTaXplJiBzaXpl
KQotewotICAgIG1fcGFnZUNsaWVudC0+ZGlkQ2hhbmdlQ29udGVudHNTaXplKHNpemUpOwotfQot
CiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmluZFpvb21hYmxlQXJlYShjb25zdCBJbnRQb2ludCYg
dGFyZ2V0LCBjb25zdCBJbnRSZWN0JiBhcmVhKQogewogICAgIG1fcGFnZUNsaWVudC0+ZGlkRmlu
ZFpvb21hYmxlQXJlYSh0YXJnZXQsIGFyZWEpOwpAQCAtMjY2NSw2ICsyNjYwLDEzIEBAIHZvaWQg
V2ViUGFnZVByb3h5OjpoYW5kbGVEb3dubG9hZFJlcXVlc3QoRG93bmxvYWRQcm94eSogZG93bmxv
YWQpCiB9CiAjZW5kaWYgLy8gUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkKIAorI2lmIFBM
QVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpCit2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ2hhbmdl
Q29udGVudHNTaXplKGNvbnN0IEludFNpemUmIHNpemUpCit7CisgICAgbV9wYWdlQ2xpZW50LT5k
aWRDaGFuZ2VDb250ZW50c1NpemUoc2l6ZSk7Cit9CisjZW5kaWYKKwogI2lmIEVOQUJMRShUT1VD
SF9FVkVOVFMpCiB2b2lkIFdlYlBhZ2VQcm94eTo6bmVlZFRvdWNoRXZlbnRzKGJvb2wgbmVlZFRv
dWNoRXZlbnRzKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4
IDU2MzNjZTc1MDJjNTc2NWIwNTVkZjYwZmQ0OGE1ZGM4YzBmNDU0YjIuLjBmMjI5NzAwZGY3ZDcy
ZjBkMzZhMjgzMWQwYTcxMDk3ZjlhOTA2MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKQEAgLTgzMSw5ICs4MzEsMTMgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAjaWYg
UExBVEZPUk0oUVQpCi0gICAgdm9pZCBkaWRDaGFuZ2VDb250ZW50c1NpemUoY29uc3QgV2ViQ29y
ZTo6SW50U2l6ZSYpOwogICAgIHZvaWQgZGlkRmluZFpvb21hYmxlQXJlYShjb25zdCBXZWJDb3Jl
OjpJbnRQb2ludCYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKICNlbmRpZgorCisjaWYgUExB
VEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkKKyAgICB2b2lkIGRpZENoYW5nZUNvbnRlbnRzU2l6
ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CisjZW5kaWYKKwogI2lmIEVOQUJMRShUT1VDSF9F
VkVOVFMpCiAgICAgdm9pZCBuZWVkVG91Y2hFdmVudHMoYm9vbCk7CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDM3
NjkwNDcwMThkM2Y3ZGVlNTBjM2U4YTdjNDYwNzA1MTQxNjUwZmUuLjdmYTgxYmU1YTVlZWQ3ZTA4
OGM5ZDc4MjgzYmQxNTMyZjYzZmNiZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNzMsMTIgKzczLDE2IEBAIG1lc3NhZ2Vz
IC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgUGFnZURpZFJlcXVlc3RTY3JvbGwoV2ViQ29yZTo6SW50
UG9pbnQgcG9pbnQpCiAjZW5kaWYKICNpZiBQTEFURk9STShRVCkKLSAgICBEaWRDaGFuZ2VDb250
ZW50c1NpemUoV2ViQ29yZTo6SW50U2l6ZSBuZXdTaXplKQogICAgIERpZEZpbmRab29tYWJsZUFy
ZWEoV2ViQ29yZTo6SW50UG9pbnQgdGFyZ2V0LCBXZWJDb3JlOjpJbnRSZWN0IGFyZWEpCiAgICAg
QXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoV1RGOjpTdHJpbmcgaG9zdG5hbWUsIFdURjo6
U3RyaW5nIHJlYWxtLCBXVEY6OlN0cmluZyBwcmVmaWxsZWRVc2VybmFtZSkgLT4gKFdURjo6U3Ry
aW5nIHVzZXJuYW1lLCBXVEY6OlN0cmluZyBwYXNzd29yZCkKICAgICBDZXJ0aWZpY2F0ZVZlcmlm
aWNhdGlvblJlcXVlc3QoV1RGOjpTdHJpbmcgaG9zdG5hbWUpIC0+IChib29sIGlnbm9yZUVycm9y
cykKICAgICBQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KFdURjo6U3RyaW5nIGhv
c3RuYW1lLCB1aW50MTZfdCBwb3J0LCBXVEY6OlN0cmluZyBwcmVmaWxsZWRVc2VybmFtZSkgLT4g
KFdURjo6U3RyaW5nIHVzZXJuYW1lLCBXVEY6OlN0cmluZyBwYXNzd29yZCkKICNlbmRpZgorCisj
aWYgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkKKyAgICBEaWRDaGFuZ2VDb250ZW50c1Np
emUoV2ViQ29yZTo6SW50U2l6ZSBuZXdTaXplKQorI2VuZGlmCisKICNpZiBFTkFCTEUoVE9VQ0hf
RVZFTlRTKQogICAgIE5lZWRUb3VjaEV2ZW50cyhib29sIG5lZWRUb3VjaEV2ZW50cykKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJl
ZUNvb3JkaW5hdG9yL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVDb29yZGluYXRvci9MYXllclRyZWVDb29yZGluYXRv
ci5jcHAKaW5kZXggYWUzOTk0NDIyNWQ3ZjliOTliMmJhMWJmN2IwMDk3OTYxZWFhZWFkZC4uYjll
MWYyY2QwM2I0ZjJjYzBhM2RhM2ExMzhmYTQ1ZTQ4ODM5MWJjMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUNvb3JkaW5hdG9yL0xheWVyVHJl
ZUNvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
TGF5ZXJUcmVlQ29vcmRpbmF0b3IvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuY3BwCkBAIC0yNiw2ICsy
Niw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAorI2lmIFVTRShVSV9TSURFX0NPTVBPU0lU
SU5HKQogI2luY2x1ZGUgIkxheWVyVHJlZUNvb3JkaW5hdG9yLmgiCiAKICNpbmNsdWRlICJEcmF3
aW5nQXJlYUltcGwuaCIKQEAgLTU5NywzICs1OTgsNCBAQCBQYXNzT3duUHRyPFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dD4gTGF5ZXJUcmVlQ29vcmRpbmF0b3I6OmJlZ2luQ29udGVudFVwZGF0ZShj
bwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUNvb3JkaW5hdG9yL0xheWVyVHJl
ZUNvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJU
cmVlQ29vcmRpbmF0b3IvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuaAppbmRleCA3ZjYwMzgwMDU0Njdh
MWQ5YzNhZTY2ODhjY2IzNTk4NTA2NjZlNWU2Li43OTFkNmZkNWFlMmFlMzQ5ODJjZDFjZTAyN2Ey
YzM3YTY0NDQ3MjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvTGF5ZXJUcmVlQ29vcmRpbmF0b3IvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlQ29vcmRpbmF0b3IvTGF5ZXJU
cmVlQ29vcmRpbmF0b3IuaApAQCAtMjAsNiArMjAsOCBAQAogI2lmbmRlZiBMYXllclRyZWVDb29y
ZGluYXRvcl9oCiAjZGVmaW5lIExheWVyVHJlZUNvb3JkaW5hdG9yX2gKIAorI2lmIFVTRShVSV9T
SURFX0NPTVBPU0lUSU5HKQorCiAjaW5jbHVkZSAiTGF5ZXJUcmVlQ29udGV4dC5oIgogI2luY2x1
ZGUgIkxheWVyVHJlZUhvc3QuaCIKICNpbmNsdWRlICJUaW1lci5oIgpAQCAtMTM5LDUgKzE0MSw2
IEBAIHByaXZhdGU6CiB9OwogCiB9CisjZW5kaWYKIAogI2VuZGlmIC8vIExheWVyVHJlZUNvb3Jk
aW5hdG9yX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9M
YXllclRyZWVIb3N0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXll
clRyZWVIb3N0LmNwcAppbmRleCBiZjAxMWUwODVhNmUyMGE1NWVmMmUwOTdjMDM2MjMyYmM0NzFm
YjA5Li4wZTY0YWQ2YmFmM2RkOWIxMTkzY2JmYmUyOGNhMDk1OGI0OGVjNTI5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwCkBA
IC0zNCw3ICszNCw3IEBACiAjZW5kaWYKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oUVQpCisjaWYg
VVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCiAjaW5jbHVkZSAiTGF5ZXJUcmVlQ29vcmRpbmF0b3Iu
aCIKICNlbmRpZgogCkBAIC01Miw3ICs1Miw3IEBAIFBhc3NSZWZQdHI8TGF5ZXJUcmVlSG9zdD4g
TGF5ZXJUcmVlSG9zdDo6Y3JlYXRlKFdlYlBhZ2UqIHdlYlBhZ2UpCiAgICAgcmV0dXJuIExheWVy
VHJlZUhvc3RDQU1hYzo6Y3JlYXRlKHdlYlBhZ2UpOwogI2VsaWYgUExBVEZPUk0oV0lOKSAmJiBI
QVZFKFdLUUNBKQogICAgIHJldHVybiBMYXllclRyZWVIb3N0Q0FXaW46OmNyZWF0ZSh3ZWJQYWdl
KTsKLSNlbGlmIFBMQVRGT1JNKFFUKQorI2VsaWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCiAg
ICAgcmV0dXJuIExheWVyVHJlZUNvb3JkaW5hdG9yOjpjcmVhdGUod2ViUGFnZSk7CiAjZWxpZiBQ
TEFURk9STShHVEspICYmIFVTRShURVhUVVJFX01BUFBFUl9HTCkKICAgICByZXR1cm4gTGF5ZXJU
cmVlSG9zdEd0azo6Y3JlYXRlKHdlYlBhZ2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmgKaW5kZXggMTM3MmYyYTI5NjQ4YjNmMTAxMGVj
MTM3YjI0NDk2YWU4ZjZkNjE3Ni4uZjllZDZkNzZlZjA2YzM3ZmUyMGVkOWIwY2I4YzY4YWI0MjZh
NjA0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVy
VHJlZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJU
cmVlSG9zdC5oCkBAIC0xMTksNyArMTE5LDcgQEAgcHJvdGVjdGVkOgogI2VuZGlmCiB9OwogCi0j
aWYgIVBMQVRGT1JNKFdJTikgJiYgIVBMQVRGT1JNKFFUKQorI2lmICFQTEFURk9STShXSU4pICYm
ICFVU0UoVUlfU0lERV9DT01QT1NJVElORykKIGlubGluZSBib29sIExheWVyVHJlZUhvc3Q6OnN1
cHBvcnRzQWNjZWxlcmF0ZWRDb21wb3NpdGluZygpCiB7CiAgICAgcmV0dXJuIHRydWU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2VmbC9XZWJQcm9jZXNzTWFpbkVmbC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2VmbC9XZWJQcm9jZXNzTWFpbkVmbC5jcHAK
aW5kZXggMTYyNzhhMzhlNDg1M2QzNGJlNjc4ZjQzNjA2ZmYxMzk3NDEyZmM5Ny4uYzgzYzEzMmQ5
OWVlZWJiZWM2ODM2NWJmYmViOTJmY2JhMmM3OGQ5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc01haW5FZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvZWZsL1dlYlByb2Nlc3NNYWluRWZsLmNwcApAQCAtMzYsNiArMzYsMTAg
QEAKICNpbmNsdWRlIDx1bmlzdGQuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogCisj
aWYgVVNFKFVJX1NJREVfQ09NUE9TSVRJTkcpCisjaW5jbHVkZSAiV2ViR3JhcGhpY3NMYXllci5o
IgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKQEAgLTc2LDYgKzgwLDEwIEBAIFdLX0VYUE9SVCBpbnQgV2ViUHJvY2Vzc01haW5FZmwoaW50
IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKICAgICAgICAgZ19vYmplY3RfdW5yZWYocmVzb2x2ZXJFZmwp
OwogICAgIH0KIAorI2lmIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQorICAgIFdlYkdyYXBoaWNz
TGF5ZXI6OmluaXRGYWN0b3J5KCk7CisjZW5kaWYKKwogICAgIGludCBzb2NrZXQgPSBhdG9pKGFy
Z3ZbMV0pOwogICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmluaXRpYWxpemUoc29ja2V0LCBSdW5M
b29wOjptYWluKCkpOwogICAgIFJ1bkxvb3A6OnJ1bigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL2Nt
YWtlL09wdGlvbnNFZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQppbmRl
eCAzYzIzMzE2MmYxZWQzYjI5N2YxODBmOTUwMjdhNzA3ZGQxY2RhOTUyLi5jMDQ4NDkwMjgxNGVh
OTAyMmU2NDRjNmRmMDYzZDM4NTY0NTY4NGZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0
aW9uc0VmbC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQpAQCAtMTU3
LDMgKzE1NywyMyBAQCBJRiAoRU5BQkxFX1dFQkdMKQogRU5ESUYgKCkKIAogU0VUKENQQUNLX1NP
VVJDRV9HRU5FUkFUT1IgVEJaMikKKworSUYgKFdURl9VU0VfVElMRURfQkFDS0lOR19TVE9SRSkK
KyAgU0VUKFdURl9VU0VfQUNDRUxFUkFURURfQ09NUE9TSVRJTkcgMSkKKyAgQUREX0RFRklOSVRJ
T05TKC1EV1RGX1VTRV9BQ0NFTEVSQVRFRF9DT01QT1NJVElORz0xKQorCisgIFNFVChXVEZfVVNF
X1VJX1NJREVfQ09NUE9TSVRJTkcgMSkKKyAgQUREX0RFRklOSVRJT05TKC1EV1RGX1VTRV9VSV9T
SURFX0NPTVBPU0lUSU5HPTEpCisKKyAgU0VUKFdURl9VU0VfVEVYVFVSRV9NQVBQRVIgMSkKKyAg
QUREX0RFRklOSVRJT05TKC1EV1RGX1VTRV9URVhUVVJFX01BUFBFUj0xKQorCisgIFNFVChXVEZf
VVNFX1RFWFRVUkVfTUFQUEVSX0dMIDEpCisgIEFERF9ERUZJTklUSU9OUygtRFdURl9VU0VfVEVY
VFVSRV9NQVBQRVJfR0w9MSkKKworICBTRVQoV1RGX1VTRV8zRF9HUkFQSElDUyAxKQorICBBRERf
REVGSU5JVElPTlMoLURXVEZfVVNFXzNEX0dSQVBISUNTPTEpCisKKyAgRklORF9QQUNLQUdFKE9w
ZW5HTCBSRVFVSVJFRCkKK0VORElGKCkKKwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGIwYTE2OTYxN2JlMDkxMmVkYTZhOTc2Yzg3ZWM0ZjBiN2Uy
MDU0YzcuLmU3OTNkZjJkMDEwMTg4ZjY5ZTkxNmEyYjVjNDU0MDljOWVmMzk0MDEgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBA
QAorMjAxMi0wNy0yOSAgWW91bmdUYWVjayBTb25nICA8eW91bmd0YWVjay5zb25nQHNhbXN1bmcu
Y29tPgorCisgICAgICAgIFtXSzJdW0VGTF0gSW1wbGVtZW50IGFjY2VsZXJhdGVkIGNvbXBvc2l0
aW5nIG9uIFdLMiBFZmwgcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODk4NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbXBsZW1lbnQgYWNjZWxlcmF0ZWQgY29tcG9zaXRpb24gd2l0aCBUaWxlZEJh
Y2tpbmdTdG9yZSBvbiBXSzIgRWZsIHBvcnQuCisgICAgICAgIEFkZCBPUEVOR0xfTElCUkFSSUVT
IGluIENNYWtlTGlzdC50eHQuCisKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0
cy50eHQ6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUVmbC5jbWFrZToKKwog
MjAxMi0wNy0yOSAgUmFwaGFlbCBLdWJvIGRhIENvc3RhICA8cmFrdWNvQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgW0VGTF1bamhidWlsZF0gTWFrZSBydW4td2l0aC1qaGJ1aWxkIGJlY29tZSB0aGUg
amhidWlsZCBwcm9jZXNzIGl0c2VsZi4KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2Vm
bC9DTWFrZUxpc3RzLnR4dCBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dApp
bmRleCBmYzRmY2YzNzBlMTU3NWY4Y2NhZDNlNjNmZDdiOWYzNWZjYjAzYjk2Li5hZTM1OWE2Njhm
NjQzYzY3ZDc2ZTAxYmQzMDVlMWJmYTUyOTJkN2MxIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJv
d3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtl
TGlzdHMudHh0CkBAIC0yOCw2ICsyOCw3IEBAIFNFVChNaW5pQnJvd3Nlcl9MSUJSQVJJRVMKICAg
ICAke0xJQlNPVVAyNF9MSUJSQVJJRVN9CiAgICAgJHtMSUJYTUwyX0xJQlJBUklFU30KICAgICAk
e0xJQlhTTFRfTElCUkFSSUVTfQorICAgICR7T1BFTkdMX0xJQlJBUklFU30KICAgICAke1NRTElU
RV9MSUJSQVJJRVN9CiApCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxh
dGZvcm1FZmwuY21ha2UgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtRWZsLmNtYWtl
CmluZGV4IDZjOTMwOTEwYjNkYzhmYmZmMDA4MWFhMDAyOTk2ZjEwZmE2N2FjNjUuLmU5NjdkNTU3
YzhlNDhkZjkzYjZjZmM1OGU2YTBlMWYyODU3NDJiZDIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtNDMsNiArNDMsNyBAQCBMSVNUKEFQUEVORCBXZWJLaXRU
ZXN0UnVubmVyX0xJQlJBUklFUwogICAgICR7RURKRV9MSUJSQVJJRVN9CiAgICAgJHtFRkxERVBT
X0xJQlJBUklFU30KICAgICAke0dsaWJfTElCUkFSSUVTfQorICAgICR7T1BFTkdMX0xJQlJBUklF
U30KICAgICAke1dURl9MSUJSQVJZX05BTUV9CiApCiAKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBi
L0NoYW5nZUxvZwppbmRleCBkODBkZjA2YTAyZDY1NTljODJiNmZhYTRkODI1ZDBjODQxNzRjOWRh
Li4xOTVlODA4MjIzNjlhZGM5ZTllOGYzZjljMDdlMGFkZDM1ZGQ3OTRhIDEwMDY0NAotLS0gYS9D
aGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDctMjkgIFlv
dW5nVGFlY2sgU29uZyAgPHlvdW5ndGFlY2suc29uZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBb
V0syXVtFRkxdIEltcGxlbWVudCBhY2NlbGVyYXRlZCBjb21wb3NpdGluZyBvbiBXSzIgRWZsIHBv
cnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5ODQw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVt
ZW50IGFjY2VsZXJhdGVkIGNvbXBvc2l0aW9uIHdpdGggVGlsZWRCYWNraW5nU3RvcmUgb24gV0sy
IEVmbCBwb3J0LgorICAgICAgICBUaGVzZSBjb2RlcyBhcmUgYmFzZWQgb24gUXQgUG9ydCdzIFVJ
X1NJREVfQ09NUE9TSVRJTkcuCisgICAgICAgIEFkZCBVSV9TSURFX0NPTVBPU0lUSU5HIHJlbGF0
ZWQgZGVmaW5pdGlvbnMgaW4gT3B0aW9uc0VmbC5jbWFrZS4KKworICAgICAgICAqIFNvdXJjZS9j
bWFrZS9PcHRpb25zRWZsLmNtYWtlOgorCiAyMDEyLTA3LTI5ICBSaWsgQ2FiYW5pZXIgIDxjYWJh
bmllckBhZG9iZS5jb20+CiAKICAgICAgICAgQWRkIEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcgZmxh
Zwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156606</attachid>
            <date>2012-08-05 23:55:07 -0700</date>
            <delta_ts>2012-08-06 02:47:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89840-20120806155444.patch</filename>
            <type>text/plain</type>
            <size>31499</size>
            <attacher name="YoungTaeck Song">youngtaeck.song</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NzI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNTFjMDdjZTBiZDdkYzI5
YmUwYzM4NGI0MWVkNDQyMzhjZGY3OTViMy4uYjJkMTllNGU2ZmUxNGZkZTNhODg5YmI1ZDZmOWU2
NDQ4ZTM4MDVlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDEyLTA4LTA1ICBZb3Vu
Z1RhZWNrIFNvbmcgIDx5b3VuZ3RhZWNrLnNvbmdAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW1dL
Ml1bRUZMXSBJbXBsZW1lbnQgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgb24gV0syIEVmbCBwb3J0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTg0MAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVu
dCBhY2NlbGVyYXRlZCBjb21wb3NpdGlvbiB3aXRoIFRpbGVkQmFja2luZ1N0b3JlIG9uIFdLMiBF
ZmwgcG9ydC4KKyAgICAgICAgVGhlc2UgY29kZXMgYXJlIGJhc2VkIG9uIENPT1JESU5BVEVEX0dS
QVBISUNTLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogUGxhdGZvcm1F
ZmwuY21ha2U6CisgICAgICAgICogU2hhcmVkL1NoYXJlYWJsZVN1cmZhY2UuY3BwOgorICAgICAg
ICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAqIFNoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9QYWdl
Q2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpQYWdlQ2xp
ZW50SW1wbCk6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpkaWRDaGFuZ2VDb250
ZW50c1NpemUpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2Vm
bC9QYWdlQ2xpZW50SW1wbC5oOgorICAgICAgICAoUGFnZUNsaWVudEltcGwpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZWZsL1ZpZXdwb3J0UHJvY2Vzc29yLmNwcDogQWRkZWQuCisgICAgICAg
IChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6Vmlld3BvcnRQ
cm9jZXNzb3IpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6flZpZXdwb3J0
UHJvY2Vzc29yKToKKyAgICAgICAgKFdlYktpdDo6Vmlld3BvcnRQcm9jZXNzb3I6OmRpc3BsYXkp
OgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6dXBkYXRlVmlld3BvcnRTaXpl
KToKKyAgICAgICAgKFdlYktpdDo6Vmlld3BvcnRQcm9jZXNzb3I6OnNldFZpc2libGVDb250ZW50
c1JlY3QpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6ZGlkQ2hhbmdlQ29u
dGVudHNTaXplKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9WaWV3cG9ydFByb2Nlc3Nv
ci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChWaWV3cG9ydFByb2Nlc3Nv
cik6CisgICAgICAgIChXZWJLaXQ6OlZpZXdwb3J0UHJvY2Vzc29yOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6ZHJhd2luZ0FyZWEpOgorICAgICAgICAoV2Vi
S2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6dmlld1NpemUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZWZsL2V3a192aWV3LmNwcDoKKyAgICAgICAgKF9Fd2tfVmlld19Qcml2YXRlX0RhdGEpOgor
ICAgICAgICAoX2V3a192aWV3X3NtYXJ0X2NhbGN1bGF0ZSk6CisgICAgICAgIChld2tfdmlld19i
YXNlX2FkZCk6CisgICAgICAgIChld2tfdmlld19kaXNwbGF5KToKKyAgICAgICAgKGV3a192aWV3
X2NvbnRlbnRzX3NpemVfY2hhbmdlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3ZpZXdfcHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAg
ICAgIChQYWdlQ2xpZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQ2hh
bmdlQ29udGVudHNTaXplKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6Cisg
ICAgICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
bWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUNvb3Jk
aW5hdG9yL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvTGF5ZXJUcmVlQ29vcmRpbmF0b3IvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJL
aXQ6OkxheWVyVHJlZUhvc3Q6OmNyZWF0ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L0xheWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9lZmwvV2ViUHJvY2Vzc01haW5FZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
TWFpbkVmbCk6CisKIDIwMTItMDgtMDUgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgQXNzZXJ0IGluIGNoZWNrVmFsaWRpdHkoKSBpbiBoYXNodGFibGUu
aCBmcm9tIFdlYkdlb2xvY2F0aW9uTWFuYWdlcjo6ZGlkRmFpbFRvRGV0ZXJtaW5lUG9zaXRpb24o
KSB3aGVuIGZldGNoaW5nIGh0dHA6Ly9odG1sNWRlbW9zLmNvbS9nZW8KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50
eHQKaW5kZXggMjJkNmY0NmRiMmYyOGVlYTk5OTBiYjM1N2JiNThkZGIxZDJkMDBjNy4uN2QxMGM3
ZGNkMTUxY2M3NzljOTFiOTRlOTQwOWYxMTYxYjAyYjMyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQK
QEAgLTE1LDYgKzE1LDcgQEAgU0VUKFdlYktpdDJfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIk
e1dFQktJVDJfRElSfS9VSVByb2Nlc3MvQVBJL0MiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJv
Y2Vzcy9BUEkvY3BwIgogICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvQXV0aGVudGljYXRp
b24iCisgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzIgog
ICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvRG93bmxvYWRzIgogICAgICIke1dFQktJVDJf
RElSfS9VSVByb2Nlc3MvTGF1bmNoZXIiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9O
b3RpZmljYXRpb25zIgpAQCAtNDIsNiArNDMsNyBAQCBTRVQoV2ViS2l0Ml9JTkNMVURFX0RJUkVD
VE9SSUVTCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZSIK
ICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydCIKICAgICAiJHtX
RUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9XZWJQYWdlIgorICAgICIke1dFQktJVDJfRElSfS9XZWJQ
cm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcyIKICAgICAiJHtXRUJDT1JFX0RJUn0i
CiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvYmF0dGVyeSIKICAgICAiJHtXRUJDT1JFX0RJ
Un0vTW9kdWxlcy9pbnRlbnRzIgpAQCAtNzEsNiArNzMsOCBAQCBTRVQoV2ViS2l0Ml9JTkNMVURF
X0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL2hhcmZidXp6IgogICAg
ICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9ncmFwaGljcy9oYXJmYnV6ei9uZyIKKyAgICAiJHtX
RUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMiCisgICAgIiR7V0VCQ09SRV9E
SVJ9L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcCIKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3JtcyIKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vbmV0
d29yayIKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vc3FsIgpAQCAtMTQxLDcgKzE0NSw5
IEBAIFNFVChXZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvU2VjdXJpdHlPcmlnaW5EYXRhLmNw
cAogICAgIFNoYXJlZC9TZXNzaW9uU3RhdGUuY3BwCiAgICAgU2hhcmVkL1NoYXJlYWJsZUJpdG1h
cC5jcHAKKyAgICBTaGFyZWQvU2hhcmVhYmxlU3VyZmFjZS5jcHAKICAgICBTaGFyZWQvU3RhdGlz
dGljc0RhdGEuY3BwCisgICAgU2hhcmVkL1N1cmZhY2VVcGRhdGVJbmZvLmNwcAogICAgIFNoYXJl
ZC9VcGRhdGVJbmZvLmNwcAogICAgIFNoYXJlZC9WaXNpdGVkTGlua1RhYmxlLmNwcAogICAgIFNo
YXJlZC9XZWJCYWNrRm9yd2FyZExpc3RJdGVtLmNwcApAQCAtMzIzLDYgKzMyOSw3IEBAIFNFVChX
ZWJLaXQyX1NPVVJDRVMKICAgICBVSVByb2Nlc3MvQXV0aGVudGljYXRpb24vV2ViQ3JlZGVudGlh
bC5jcHAKICAgICBVSVByb2Nlc3MvQXV0aGVudGljYXRpb24vV2ViUHJvdGVjdGlvblNwYWNlLmNw
cAogCisgICAgVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRCYWNraW5n
U3RvcmUuY3BwCiAgICAgVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29v
cmRpbmF0b3JQcm94eS5jcHAKICAgICBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXll
clRyZWVSZW5kZXJlci5jcHAKICAgICAKQEAgLTQ2MSw2ICs0NjgsNyBAQCBTRVQoV2ViS2l0Ml9T
T1VSQ0VTCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwCiAgICAgV2Vi
UHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmNwcAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9U
YXBIaWdobGlnaHRDb250cm9sbGVyLmNwcAorICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9VcGRhdGVB
dGxhcy5jcHAKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHku
Y3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcAogICAgIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHAKQEAgLTQ3Miw2ICs0ODAsNyBAQCBTRVQoV2ViS2l0
Ml9TT1VSQ0VTCiAKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRUaWxlLmNwcAorICAgIFdlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcAogKQogCiBTRVQo
V2ViS2l0Ml9NRVNTQUdFU19JTl9GSUxFUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxh
dGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCA5
YmNiZGIwMDZlYmUxMjJjN2QwNjg3YTc0NzllNDRhMWY2ZjQ1NjNmLi5jZDgxMGE0MzQxZmM2ODdl
YzA1YjFmZjk0OGU0MzJhNDE1YjE3NjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAt
MzgsNiArMzgsNyBAQCBMSVNUKEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBVSVByb2Nlc3Mv
QVBJL0Mvc291cC9XS1NvdXBSZXF1ZXN0TWFuYWdlci5jcHAKIAogICAgIFVJUHJvY2Vzcy9BUEkv
ZWZsL0JhdHRlcnlQcm92aWRlci5jcHAKKyAgICBVSVByb2Nlc3MvQVBJL2VmbC9FZmxWaWV3cG9y
dEhhbmRsZXIuY3BwCiAgICAgVUlQcm9jZXNzL0FQSS9lZmwvTmV0d29ya0luZm9Qcm92aWRlci5j
cHAKICAgICBVSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5jcHAKICAgICBVSVByb2Nl
c3MvQVBJL2VmbC9WaWJyYXRpb25Qcm92aWRlci5jcHAKQEAgLTE0OCw2ICsxNDksNyBAQCBMSVNU
KEFQUEVORCBXZWJLaXQyX0xJQlJBUklFUwogICAgICR7RUZSRUVUX0xJQlJBUklFU30KICAgICAk
e0ZyZWV0eXBlX0xJQlJBUklFU30KICAgICAke0xJQlhNTDJfTElCUkFSSUVTfQorICAgICR7T1BF
TkdMX0xJQlJBUklFU30KICAgICAke1NRTElURV9MSUJSQVJJRVN9CiAgICAgJHtGT05UQ09ORklH
X0xJQlJBUklFU30KICAgICAke1BOR19MSUJSQVJZfQpAQCAtMTY5LDYgKzE3MSw3IEBAIExJU1Qg
KEFQUEVORCBXZWJQcm9jZXNzX0xJQlJBUklFUwogICAgICR7RVZBU19MSUJSQVJJRVN9CiAgICAg
JHtMSUJYTUwyX0xJQlJBUklFU30KICAgICAke0xJQlhTTFRfTElCUkFSSUVTfQorICAgICR7T1BF
TkdMX0xJQlJBUklFU30KICAgICAke1NRTElURV9MSUJSQVJJRVN9CiApCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9TaGFyZWFibGVTdXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9TaGFyZWFibGVTdXJmYWNlLmNwcAppbmRleCAyZWY1YTRiYjk3YTc1ZGMyZjIz
ZmUyOTJkNDdmZGFlMmVlZDNmZWY3Li4yMjhjMGU1ZGNhZWMyMTlhMDcyNWE0ZTFhOWMxODFiNmUz
OTA0NDVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2hhcmVhYmxlU3VyZmFj
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1NoYXJlYWJsZVN1cmZhY2UuY3BwCkBA
IC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2hhcmVhYmxl
U3VyZmFjZS5oIgogCisjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmgiCiAKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IDk5NTYz
ZjRlN2VlMGQzNDZlMGEwMzNiODNkNTM2Y2I2M2FiZmNmZTEuLjdkNDBiYzg2NjY3NDdiZmY4NTQ1
NTM0MGFmZWRiNTdjYzQxNGVmZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC00OSw2ICs0OSw3IEBACiAjaWYgVVNFKENPT1JESU5B
VEVEX0dSQVBISUNTKQogI2luY2x1ZGUgPFdlYkNvcmUvQW5pbWF0aW9uLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9GbG9hdFBvaW50M0QuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0xlbmd0aC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvVHJhbnNmb3JtYXRpb25NYXRyaXguaD4KIAogI2lmIEVOQUJMRShDU1Nf
RklMVEVSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMu
aAppbmRleCBiNzY3OGM1MjU0OWNjMjVkYzlhMzBjNzBlODgwYTgxODllYmEzMmI3Li5iMDhmMTE4
Zjk3YjgwMTU3Njk4YTcyMThlNmQ2OTdmMzE1YmYwN2EyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCkBAIC02NywzMCArNjcsMTkgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogfQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShRVCkKKyNpZiBVU0UoQ09P
UkRJTkFURURfR1JBUEhJQ1MpCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgQW5pbWF0
aW9uOwogICAgIGNsYXNzIEZsb2F0UG9pbnQzRDsKLSAgICBjbGFzcyBNYXRyaXgzRFRyYW5zZm9y
bU9wZXJhdGlvbjsKLSAgICBjbGFzcyBNYXRyaXhUcmFuc2Zvcm1PcGVyYXRpb247Ci0gICAgY2xh
c3MgUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb247Ci0gICAgY2xhc3MgUm90YXRlVHJhbnNm
b3JtT3BlcmF0aW9uOwotICAgIGNsYXNzIFNjYWxlVHJhbnNmb3JtT3BlcmF0aW9uOwotICAgIGNs
YXNzIFNrZXdUcmFuc2Zvcm1PcGVyYXRpb247Ci0gICAgY2xhc3MgVGltaW5nRnVuY3Rpb247Ci0g
ICAgY2xhc3MgVHJhbnNmb3JtT3BlcmF0aW9uOwotICAgIGNsYXNzIFRyYW5zZm9ybU9wZXJhdGlv
bnM7CiAgICAgY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRyaXg7Ci0gICAgY2xhc3MgVHJhbnNsYXRl
VHJhbnNmb3JtT3BlcmF0aW9uOwogICAgIHN0cnVjdCBMZW5ndGg7CiB9Ci0jZW5kaWYKIAotI2lm
IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykgJiYgRU5BQkxFKENTU19GSUxURVJTKQorI2lmIEVO
QUJMRShDU1NfRklMVEVSUykKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBGaWx0ZXJP
cGVyYXRpb25zOwogfQogI2VuZGlmCisjZW5kaWYKIAogbmFtZXNwYWNlIENvcmVJUEMgewogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FZmxWaWV3cG9ydEhh
bmRsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRWZsVmlld3BvcnRI
YW5kbGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTc0MDgyMmVlNDAyMDRkNTlkZDlmMTg5OWI4OGRlMzBj
NTc4MWQyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvRWZsVmlld3BvcnRIYW5kbGVyLmNwcApAQCAtMCwwICsxLDk5IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFZmxWaWV3cG9ydEhhbmRs
ZXIuaCIKKworI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKKworI2luY2x1ZGUgIkxheWVy
VHJlZUNvb3JkaW5hdG9yUHJveHkuaCIKKyNpbmNsdWRlICJMYXllclRyZWVSZW5kZXJlci5oIgor
I2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0cml4LmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworRWZsVmlld3BvcnRIYW5kbGVyOjpFZmxWaWV3
cG9ydEhhbmRsZXIoUGFnZUNsaWVudEltcGwqIHBhZ2VDbGllbnRJbXBsKQorICAgIDogbV9wYWdl
Q2xpZW50SW1wbChwYWdlQ2xpZW50SW1wbCkKKyAgICAsIG1fc2NhbGVGYWN0b3IoMSkKK3sKKyAg
ICBBU1NFUlQobV9wYWdlQ2xpZW50SW1wbCk7Cit9CisKK0VmbFZpZXdwb3J0SGFuZGxlcjo6fkVm
bFZpZXdwb3J0SGFuZGxlcigpCit7Cit9CisKK3ZvaWQgRWZsVmlld3BvcnRIYW5kbGVyOjpkaXNw
bGF5KGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25N
YXRyaXggbWF0cml4OworICAgIG1hdHJpeC5zZXRNYXRyaXgobV9zY2FsZUZhY3RvciwgMCwgMCwg
bV9zY2FsZUZhY3RvciwgLW1fdmlzaWJsZUNvbnRlbnRSZWN0LngoKSwgLW1fdmlzaWJsZUNvbnRl
bnRSZWN0LnkoKSk7CisKKyAgICBMYXllclRyZWVSZW5kZXJlciogcmVuZGVyZXIgPSBkcmF3aW5n
QXJlYSgpLT5sYXllclRyZWVDb29yZGluYXRvclByb3h5KCktPmxheWVyVHJlZVJlbmRlcmVyKCk7
CisgICAgcmVuZGVyZXItPnNldEFjdGl2ZSh0cnVlKTsKKyAgICByZW5kZXJlci0+c3luY1JlbW90
ZUNvbnRlbnQoKTsKKyAgICByZW5kZXJlci0+cGFpbnRUb0N1cnJlbnRHTENvbnRleHQobWF0cml4
LCAxLCByZWN0KTsKK30KKwordm9pZCBFZmxWaWV3cG9ydEhhbmRsZXI6OnVwZGF0ZVZpZXdwb3J0
U2l6ZShjb25zdCBJbnRTaXplJiB2aWV3cG9ydFNpemUpCit7CisgICAgbV92aWV3cG9ydFNpemUg
PSB2aWV3cG9ydFNpemU7CisgICAgbV9wYWdlQ2xpZW50SW1wbC0+cGFnZSgpLT5zZXRWaWV3cG9y
dFNpemUodmlld3BvcnRTaXplKTsKKyAgICBzZXRWaXNpYmxlQ29udGVudHNSZWN0KG1fdmlzaWJs
ZUNvbnRlbnRSZWN0LmxvY2F0aW9uKCksIG1fc2NhbGVGYWN0b3IsIEZsb2F0UG9pbnQoKSk7Cit9
CisKK3ZvaWQgRWZsVmlld3BvcnRIYW5kbGVyOjpzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0
IEludFBvaW50JiBuZXdTY3JvbGxQb3NpdGlvbiwgZmxvYXQgbmV3U2NhbGUsIGNvbnN0IEZsb2F0
UG9pbnQmIHRyYWplY3RvcnkpCit7CisgICAgbV9zY2FsZUZhY3RvciA9IG5ld1NjYWxlOworICAg
IG1fdmlzaWJsZUNvbnRlbnRSZWN0ID0gSW50UmVjdChuZXdTY3JvbGxQb3NpdGlvbiwgbV92aWV3
cG9ydFNpemUpOworCisgICAgLy8gTW92ZSB2aXNpYmxlQ29udGVudFJlY3QgaW5zaWRlIGNvbnRl
bnRzUmVjdCB3aGVuIHZpc2libGVDb250ZW50UmVjdCBnb2VzIG91dHNpZGUgY29udGVudHNSZWN0
LiAKKyAgICBJbnRTaXplIGNvbnRlbnRzU2l6ZSA9IG1fY29udGVudHNTaXplOworICAgIGNvbnRl
bnRzU2l6ZS5zY2FsZShtX3NjYWxlRmFjdG9yKTsKKyAgICBpZiAobV92aXNpYmxlQ29udGVudFJl
Y3QueCgpID4gY29udGVudHNTaXplLndpZHRoKCkgLSBtX3Zpc2libGVDb250ZW50UmVjdC53aWR0
aCgpKQorICAgICAgICBtX3Zpc2libGVDb250ZW50UmVjdC5zZXRYKGNvbnRlbnRzU2l6ZS53aWR0
aCgpIC0gbV92aXNpYmxlQ29udGVudFJlY3Qud2lkdGgoKSk7CisgICAgaWYgKG1fdmlzaWJsZUNv
bnRlbnRSZWN0LngoKSA8IDApCisgICAgICAgIG1fdmlzaWJsZUNvbnRlbnRSZWN0LnNldFgoMCk7
CisgICAgaWYgKG1fdmlzaWJsZUNvbnRlbnRSZWN0LnkoKSA+IGNvbnRlbnRzU2l6ZS5oZWlnaHQo
KSAtIG1fdmlzaWJsZUNvbnRlbnRSZWN0LmhlaWdodCgpKQorICAgICAgICBtX3Zpc2libGVDb250
ZW50UmVjdC5zZXRZKGNvbnRlbnRzU2l6ZS5oZWlnaHQoKSAtIG1fdmlzaWJsZUNvbnRlbnRSZWN0
LmhlaWdodCgpKTsKKyAgICBpZiAobV92aXNpYmxlQ29udGVudFJlY3QueSgpIDwgMCkKKyAgICAg
ICAgbV92aXNpYmxlQ29udGVudFJlY3Quc2V0WSgwKTsKKworICAgIEZsb2F0UmVjdCBtYXBSZWN0
VG9XZWJDb250ZW50ID0gbV92aXNpYmxlQ29udGVudFJlY3Q7CisgICAgbWFwUmVjdFRvV2ViQ29u
dGVudC5zY2FsZSgxIC8gbV9zY2FsZUZhY3Rvcik7CisgICAgZHJhd2luZ0FyZWEoKS0+c2V0Vmlz
aWJsZUNvbnRlbnRzUmVjdChlbmNsb3NpbmdJbnRSZWN0KG1hcFJlY3RUb1dlYkNvbnRlbnQpLCBt
X3NjYWxlRmFjdG9yLCB0cmFqZWN0b3J5KTsKK30KKwordm9pZCBFZmxWaWV3cG9ydEhhbmRsZXI6
OmRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXplKQorewor
ICAgIG1fY29udGVudHNTaXplID0gc2l6ZTsKKyAgICBzZXRWaXNpYmxlQ29udGVudHNSZWN0KG1f
dmlzaWJsZUNvbnRlbnRSZWN0LmxvY2F0aW9uKCksIG1fc2NhbGVGYWN0b3IsIEZsb2F0UG9pbnQo
KSk7CisgICAgZHJhd2luZ0FyZWEoKS0+bGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eSgpLT5zZXRD
b250ZW50c1NpemUoV2ViQ29yZTo6RmxvYXRTaXplKHNpemUud2lkdGgoKSwgc2l6ZS5oZWlnaHQo
KSkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKyNlbmRpZiAvLyBVU0UoQ09PUkRJTkFU
RURfR1JBUEhJQ1MpCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL0VmbFZpZXdwb3J0SGFuZGxlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvRWZsVmlld3BvcnRIYW5kbGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2M2YjNkOTU3YjE3ZTdlMzI1NGIz
N2NiMTcxYTg0N2ViZDJmNzNkYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL0VmbFZpZXdwb3J0SGFuZGxlci5oCkBAIC0wLDAgKzEsNjYgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBFZmxWaWV3cG9ydEhhbmRsZXJfaAorI2RlZmlu
ZSBFZmxWaWV3cG9ydEhhbmRsZXJfaAorCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQor
CisjaW5jbHVkZSAiUGFnZUNsaWVudEltcGwuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgRWZsVmlld3BvcnRIYW5kbGVyIHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUGFzc093blB0cjxFZmxWaWV3cG9ydEhhbmRsZXI+IGNyZWF0ZShQ
YWdlQ2xpZW50SW1wbCogcGFnZUNsaWVudEltcGwpCisgICAgeworICAgICAgICByZXR1cm4gYWRv
cHRQdHIobmV3IEVmbFZpZXdwb3J0SGFuZGxlcihwYWdlQ2xpZW50SW1wbCkpOworICAgIH0KKyAg
ICB+RWZsVmlld3BvcnRIYW5kbGVyKCk7CisKKyAgICBEcmF3aW5nQXJlYVByb3h5KiBkcmF3aW5n
QXJlYSgpIGNvbnN0IHsgcmV0dXJuIG1fcGFnZUNsaWVudEltcGwtPnBhZ2UoKS0+ZHJhd2luZ0Fy
ZWEoKTsgfQorICAgIFdlYkNvcmU6OkludFNpemUgdmlld1NpemUoKSB7IHJldHVybiBtX3ZpZXdw
b3J0U2l6ZTsgfQorCisgICAgdm9pZCBkaXNwbGF5KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJl
Y3QpOworICAgIHZvaWQgdXBkYXRlVmlld3BvcnRTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUm
IHZpZXdwb3J0U2l6ZSk7CisgICAgdm9pZCBzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiwgZmxvYXQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsKKyAg
ICB2b2lkIGRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXpl
KTsKKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBFZmxWaWV3cG9ydEhhbmRsZXIoUGFnZUNsaWVu
dEltcGwqKTsKKworICAgIFBhZ2VDbGllbnRJbXBsKiBtX3BhZ2VDbGllbnRJbXBsOworICAgIFdl
YkNvcmU6OkludFJlY3QgbV92aXNpYmxlQ29udGVudFJlY3Q7CisgICAgV2ViQ29yZTo6SW50U2l6
ZSBtX2NvbnRlbnRzU2l6ZTsKKyAgICBXZWJDb3JlOjpJbnRTaXplIG1fdmlld3BvcnRTaXplOwor
ICAgIGZsb2F0IG1fc2NhbGVGYWN0b3I7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwor
I2VuZGlmCisKKyNlbmRpZiAvLyBFZmxWaWV3cG9ydEhhbmRsZXJfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNsaWVudEltcGwuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNsaWVudEltcGwuY3BwCmluZGV4IDc5ZDIw
YTE3ZGQ2ZDljMWYwZDg5NzY1MDY4MmI1ODZhY2QwMmZjMTQuLjcyNmNhYWFlMWExZWZhOTYzOGRi
Nzc0NzY3NmIwMWEzMWEyMWM2YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL1BhZ2VDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5jcHAKQEAgLTMxLDcgKzMxLDkgQEAKICNpbmNsdWRl
ICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIldlYkNvbnRleHQuaCIKICNpbmNsdWRlICJX
ZWJDb250ZXh0TWVudVByb3h5LmgiCisjaW5jbHVkZSAiV2ViUGFnZUdyb3VwLmgiCiAjaW5jbHVk
ZSAiV2ViUGFnZVByb3h5LmgiCisjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXMuaCIKICNpbmNsdWRl
ICJld2tfY29udGV4dC5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0X3ByaXZhdGUuaCIKICNpbmNs
dWRlICJld2tfZG93bmxvYWRfam9iLmgiCkBAIC00Niw2ICs0OCwxMyBAQCBQYWdlQ2xpZW50SW1w
bDo6UGFnZUNsaWVudEltcGwoV2ViQ29udGV4dCogY29udGV4dCwgV2ViUGFnZUdyb3VwKiBwYWdl
R3JvdXAsIEV2YQogICAgIDogbV92aWV3V2lkZ2V0KHZpZXdXaWRnZXQpCiB7CiAgICAgbV9wYWdl
ID0gY29udGV4dC0+Y3JlYXRlV2ViUGFnZSh0aGlzLCBwYWdlR3JvdXApOworCisjaWYgVVNFKENP
T1JESU5BVEVEX0dSQVBISUNTKQorICAgIG1fcGFnZS0+cGFnZUdyb3VwKCktPnByZWZlcmVuY2Vz
KCktPnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKHRydWUpOworICAgIG1fcGFnZS0+
cGFnZUdyb3VwKCktPnByZWZlcmVuY2VzKCktPnNldEZvcmNlQ29tcG9zaXRpbmdNb2RlKHRydWUp
OworICAgIG1fcGFnZS0+c2V0VXNlRml4ZWRMYXlvdXQodHJ1ZSk7CisjZW5kaWYKKwogICAgIG1f
cGFnZS0+aW5pdGlhbGl6ZVdlYlBhZ2UoKTsKIH0KIApAQCAtMjk1LDQgKzMwNCw5IEBAIHZvaWQg
UGFnZUNsaWVudEltcGw6OnBhZ2VEaWRSZXF1ZXN0U2Nyb2xsKGNvbnN0IEludFBvaW50JikKIH0K
ICNlbmRpZgogCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRDaGFuZ2VDb250ZW50c1NpemUoY29u
c3QgV2ViQ29yZTo6SW50U2l6ZSYgc2l6ZSkKK3sKKyAgICBld2tfdmlld19jb250ZW50c19zaXpl
X2NoYW5nZWQobV92aWV3V2lkZ2V0LCBzaXplKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50
SW1wbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNsaWVudEltcGwu
aAppbmRleCAxYmQyMjkzNGFmOGRkYmVmYzUxMGRjOGI4NjIyZTU2MWYxMzNjYTZlLi44NjE4NTAy
NjNhOGE2ZWEzZTEyMDRmZWNlMzc4MWI0YzlhZTg1ZjUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1BhZ2VDbGllbnRJbXBsLmgKQEAgLTExMiw2ICsxMTIsOCBA
QCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBX
ZWJDb3JlOjpJbnRQb2ludCYpOwogI2VuZGlmCiAKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdl
Q29udGVudHNTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsKKwogcHJpdmF0ZToKICAgICBS
ZWZQdHI8V2ViUGFnZVByb3h5PiBtX3BhZ2U7CiAgICAgRXZhc19PYmplY3QqIG1fdmlld1dpZGdl
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcAppbmRl
eCA4YmMxMTIxNmQyOWIzZTU2NzExYjg3MjA5YzFlNzgwYTUzZWU4N2ZlLi5kZWRkN2E5NzZkNjhl
YTVhNDlhNDU3YTRhMDZjYTRlNzg4ZTc0NzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCkBAIC00OSw2ICs0OSwxMCBAQAogI2luY2x1ZGUgPEV2
YXNfR0wuaD4KICNlbmRpZgogCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorI2luY2x1
ZGUgIkVmbFZpZXdwb3J0SGFuZGxlci5oIgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJL
aXQ7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtNjEsNiArNjUsMTAgQEAgc3RhdGlj
IHZvaWQgX2V3a192aWV3X3ByaXZfbG9hZGluZ19yZXNvdXJjZXNfY2xlYXIoTG9hZGluZ1Jlc291
cmNlc01hcCYgbG9hZGluZ1IKIAogc3RydWN0IF9Fd2tfVmlld19Qcml2YXRlX0RhdGEgewogICAg
IE93blB0cjxQYWdlQ2xpZW50SW1wbD4gcGFnZUNsaWVudDsKKyNpZiBVU0UoQ09PUkRJTkFURURf
R1JBUEhJQ1MpCisgICAgT3duUHRyPEVmbFZpZXdwb3J0SGFuZGxlcj4gdmlld3BvcnRIYW5kbGVy
OworI2VuZGlmCisKICAgICBjb25zdCBjaGFyKiB1cmk7CiAgICAgY29uc3QgY2hhciogdGl0bGU7
CiAgICAgY29uc3QgY2hhciogdGhlbWU7CkBAIC01MjIsNiArNTMwLDEwIEBAIHN0YXRpYyB2b2lk
IF9ld2tfdmlld19zbWFydF9jYWxjdWxhdGUoRXZhc19PYmplY3QqIGV3a1ZpZXcpCiAgICAgZXZh
c19vYmplY3RfZ2VvbWV0cnlfZ2V0KGV3a1ZpZXcsICZ4LCAmeSwgJndpZHRoLCAmaGVpZ2h0KTsK
IAogICAgIGlmIChzbWFydERhdGEtPmNoYW5nZWQuc2l6ZSkgeworI2lmIFVTRShDT09SRElOQVRF
RF9HUkFQSElDUykKKyAgICAgICAgcHJpdi0+dmlld3BvcnRIYW5kbGVyLT51cGRhdGVWaWV3cG9y
dFNpemUoSW50U2l6ZSh3aWR0aCwgaGVpZ2h0KSk7CisjZW5kaWYKKwogICAgICAgICBpZiAocHJp
di0+cGFnZUNsaWVudC0+cGFnZSgpLT5kcmF3aW5nQXJlYSgpKQogICAgICAgICAgICAgcHJpdi0+
cGFnZUNsaWVudC0+cGFnZSgpLT5kcmF3aW5nQXJlYSgpLT5zZXRTaXplKEludFNpemUod2lkdGgs
IGhlaWdodCksIEludFNpemUoKSk7CiAKQEAgLTY3Miw2ICs2ODQsMTAgQEAgRXZhc19PYmplY3Qq
IGV3a192aWV3X2Jhc2VfYWRkKEV2YXMqIGNhbnZhcywgV0tDb250ZXh0UmVmIGNvbnRleHRSZWYs
IFdLUGFnZUdyb3UKIAogICAgIGV3a192aWV3X3RoZW1lX3NldChld2tWaWV3LCBERUZBVUxUX1RI
RU1FX1BBVEgiL2RlZmF1bHQuZWRqIik7CiAKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1Mp
CisgICAgcHJpdi0+dmlld3BvcnRIYW5kbGVyID0gRWZsVmlld3BvcnRIYW5kbGVyOjpjcmVhdGUo
cHJpdi0+cGFnZUNsaWVudC5nZXQoKSk7CisjZW5kaWYKKwogICAgIHJldHVybiBld2tWaWV3Owog
fQogCkBAIC0xMDIyLDYgKzEwMzgsMTMgQEAgdm9pZCBld2tfdmlld19kaXNwbGF5KEV2YXNfT2Jq
ZWN0KiBld2tWaWV3LCBjb25zdCBJbnRSZWN0JiByZWN0KQogICAgIGlmICghc21hcnREYXRhLT5p
bWFnZSkKICAgICAgICAgcmV0dXJuOwogCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQor
ICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYpOworCisgICAg
ZXZhc19nbF9tYWtlX2N1cnJlbnQocHJpdi0+ZXZhc0dsLCBwcml2LT5ldmFzR2xTdXJmYWNlLCBw
cml2LT5ldmFzR2xDb250ZXh0KTsKKyAgICBwcml2LT52aWV3cG9ydEhhbmRsZXItPmRpc3BsYXko
cmVjdCk7CisjZW5kaWYKKwogICAgIGV2YXNfb2JqZWN0X2ltYWdlX2RhdGFfdXBkYXRlX2FkZChz
bWFydERhdGEtPmltYWdlLCByZWN0LngoKSwgcmVjdC55KCksIHJlY3Qud2lkdGgoKSwgcmVjdC5o
ZWlnaHQoKSk7CiB9CiAKQEAgLTEzMTUsMyArMTMzOCwxMyBAQCBXS1BhZ2VSZWYgZXdrX3ZpZXdf
cGFnZV9jcmVhdGUoRXZhc19PYmplY3QqIGV3a1ZpZXcpCiAKICAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8V0tQYWdlUmVmPihXS1JldGFpbihld2tfdmlld19wYWdlX2dldChuZXdFd2tWaWV3KSkpOwog
fQorCit2b2lkIGV3a192aWV3X2NvbnRlbnRzX3NpemVfY2hhbmdlZChjb25zdCBFdmFzX09iamVj
dCogZXdrVmlldywgY29uc3QgSW50U2l6ZSYgc2l6ZSkKK3sKKyNpZiBVU0UoQ09PUkRJTkFURURf
R1JBUEhJQ1MpCisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERh
dGEpOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYpOwor
CisgICAgcHJpdi0+dmlld3BvcnRIYW5kbGVyLT5kaWRDaGFuZ2VDb250ZW50c1NpemUoc2l6ZSk7
CisjZW5kaWYKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a192aWV3X3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a192aWV3X3ByaXZhdGUuaAppbmRleCAwZDVlY2E5YzlhMTczN2Y5MjM1YjZhNjkzMzA0Nzk3MWIx
ZjdjY2Y2Li5mZmMxYTJjYmYyOGY2ZjkzYzY2NWEyNGQ3ZjNhZWRlMzMyMGQ3NWNiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlld19wcml2YXRlLmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXdfcHJpdmF0ZS5o
CkBAIC02OSw2ICs2OSw3IEBAIHZvaWQgZXdrX3ZpZXdfcmVzb3VyY2VfbG9hZF9maW5pc2hlZChF
dmFzX09iamVjdCogZXdrVmlldywgdWludDY0X3QgcmVzb3VyY2VJZGVuCiB2b2lkIGV3a192aWV3
X3Jlc291cmNlX2xvYWRfaW5pdGlhdGVkKEV2YXNfT2JqZWN0KiBld2tWaWV3LCB1aW50NjRfdCBy
ZXNvdXJjZUlkZW50aWZpZXIsIEV3a19XZWJfUmVzb3VyY2UqIHJlc291cmNlLCBFd2tfVXJsX1Jl
cXVlc3QqIHJlcXVlc3QpOwogdm9pZCBld2tfdmlld19yZXNvdXJjZV9sb2FkX3Jlc3BvbnNlKEV2
YXNfT2JqZWN0KiBld2tWaWV3LCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIEV3a19Vcmxf
UmVzcG9uc2UqIHJlc3BvbnNlKTsKIHZvaWQgZXdrX3ZpZXdfcmVzb3VyY2VfcmVxdWVzdF9zZW50
KEV2YXNfT2JqZWN0KiBld2tWaWV3LCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIEV3a19V
cmxfUmVxdWVzdCogcmVxdWVzdCwgRXdrX1VybF9SZXNwb25zZSogcmVkaXJlY3RSZXNwb25zZSk7
Cit2b2lkIGV3a192aWV3X2NvbnRlbnRzX3NpemVfY2hhbmdlZChjb25zdCBFdmFzX09iamVjdCog
ZXdrVmlldywgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOwogCiBFdmFzX09iamVjdCogZXdrX3Zp
ZXdfYmFzZV9hZGQoRXZhcyogY2FudmFzLCBXS0NvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5oCmluZGV4IGQ2
ZjE1ZDFkMzEwZWQzNjQ5ZmE3ODkwYTZlMWU4ZTM1ZTMyYTMzMjEuLmZlNGZiODE0NWYzMGNiZTU0
YmVlZjYyNmI4MWUxODM2MTEyMmQzNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVD
b29yZGluYXRvclByb3h5LmgKQEAgLTM2LDkgKzM2LDExIEBACiAjaW5jbHVkZSA8d3RmL0Z1bmN0
aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCisjaWYgUExBVEZPUk0oUVQpCiBR
VF9CRUdJTl9OQU1FU1BBQ0UKIGNsYXNzIFFTR05vZGU7CiBRVF9FTkRfTkFNRVNQQUNFCisjZW5k
aWYKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVu
dC5oCmluZGV4IDUxOGRiOGUxY2VkNzAwNjhkMTBkNjQ4MDFjMDRkYWQ4MWRjODQzYjEuLmEzNDNh
ZTYxMDA5NzFhYWYzNTAyYjBhNDViMDNmMTUwZDlkYzc0NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BhZ2VDbGllbnQuaApAQCAtMTE4LDcgKzExOCw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgcGFnZURpZFJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKSA9IDA7
CiAjZW5kaWYKICNpZiBQTEFURk9STShRVCkKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQ29u
dGVudHNTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IGRpZEZpbmRab29tYWJsZUFyZWEoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBjb25zdCBXZWJD
b3JlOjpJbnRSZWN0JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZUZy
b21OYXZpZ2F0b3JRdE9iamVjdChjb25zdCBTdHJpbmcmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IHVwZGF0ZVRleHRJbnB1dFN0YXRlKCkgPSAwOwpAQCAtMTMxLDYgKzEzMCwxMCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZURvd25sb2FkUmVxdWVzdChEb3dubG9hZFByb3h5Kikg
PSAwOwogI2VuZGlmIC8vIFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpCiAKKyNpZiBQTEFU
Rk9STShRVCkgfHwgUExBVEZPUk0oRUZMKQorICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VDb250
ZW50c1NpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpID0gMDsKKyNlbmRpZgorCiAjaWYgUExB
VEZPUk0oUVQpIHx8IFBMQVRGT1JNKEdUSykKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnREcmFnKGNv
bnN0IFdlYkNvcmU6OkRyYWdEYXRhJiwgUGFzc1JlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGRyYWdJ
bWFnZSkgPSAwOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCmluZGV4IDVjNTIyYzA2ZmE1NzVkNzYzNzZlN2MxMDMyOWQ0N2M4M2NlODYxMTEuLjI0MTU0
MTJlM2FjNmFiYmZlZThmOWRiM2NlNWUyNzQzNGM1NzE2ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0yNjM1LDExICsyNjM1LDYgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OnNldE1lZGlhVm9sdW1lKGZsb2F0IHZvbHVtZSkKIH0KIAogI2lmIFBMQVRGT1JN
KFFUKQotdm9pZCBXZWJQYWdlUHJveHk6OmRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBJbnRT
aXplJiBzaXplKQotewotICAgIG1fcGFnZUNsaWVudC0+ZGlkQ2hhbmdlQ29udGVudHNTaXplKHNp
emUpOwotfQotCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmluZFpvb21hYmxlQXJlYShjb25zdCBJ
bnRQb2ludCYgdGFyZ2V0LCBjb25zdCBJbnRSZWN0JiBhcmVhKQogewogICAgIG1fcGFnZUNsaWVu
dC0+ZGlkRmluZFpvb21hYmxlQXJlYSh0YXJnZXQsIGFyZWEpOwpAQCAtMjY4MSw2ICsyNjc2LDEz
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVEb3dubG9hZFJlcXVlc3QoRG93bmxvYWRQcm94
eSogZG93bmxvYWQpCiB9CiAjZW5kaWYgLy8gUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkK
IAorI2lmIFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpCit2b2lkIFdlYlBhZ2VQcm94eTo6
ZGlkQ2hhbmdlQ29udGVudHNTaXplKGNvbnN0IEludFNpemUmIHNpemUpCit7CisgICAgbV9wYWdl
Q2xpZW50LT5kaWRDaGFuZ2VDb250ZW50c1NpemUoc2l6ZSk7Cit9CisjZW5kaWYKKwogI2lmIEVO
QUJMRShUT1VDSF9FVkVOVFMpCiB2b2lkIFdlYlBhZ2VQcm94eTo6bmVlZFRvdWNoRXZlbnRzKGJv
b2wgbmVlZFRvdWNoRXZlbnRzKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCmluZGV4IDU2MzNjZTc1MDJjNTc2NWIwNTVkZjYwZmQ0OGE1ZGM4YzBmNDU0YjIuLjBmMjI5
NzAwZGY3ZDcyZjBkMzZhMjgzMWQwYTcxMDk3ZjlhOTA2MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTgzMSw5ICs4MzEsMTMgQEAgcHJpdmF0ZToKICNlbmRp
ZgogCiAjaWYgUExBVEZPUk0oUVQpCi0gICAgdm9pZCBkaWRDaGFuZ2VDb250ZW50c1NpemUoY29u
c3QgV2ViQ29yZTo6SW50U2l6ZSYpOwogICAgIHZvaWQgZGlkRmluZFpvb21hYmxlQXJlYShjb25z
dCBXZWJDb3JlOjpJbnRQb2ludCYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKICNlbmRpZgor
CisjaWYgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkKKyAgICB2b2lkIGRpZENoYW5nZUNv
bnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CisjZW5kaWYKKwogI2lmIEVOQUJM
RShUT1VDSF9FVkVOVFMpCiAgICAgdm9pZCBuZWVkVG91Y2hFdmVudHMoYm9vbCk7CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
CmluZGV4IDM3NjkwNDcwMThkM2Y3ZGVlNTBjM2U4YTdjNDYwNzA1MTQxNjUwZmUuLjdmYTgxYmU1
YTVlZWQ3ZTA4OGM5ZDc4MjgzYmQxNTMyZjYzZmNiZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNzMsMTIgKzczLDE2IEBA
IG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgUGFnZURpZFJlcXVlc3RTY3JvbGwoV2Vi
Q29yZTo6SW50UG9pbnQgcG9pbnQpCiAjZW5kaWYKICNpZiBQTEFURk9STShRVCkKLSAgICBEaWRD
aGFuZ2VDb250ZW50c1NpemUoV2ViQ29yZTo6SW50U2l6ZSBuZXdTaXplKQogICAgIERpZEZpbmRa
b29tYWJsZUFyZWEoV2ViQ29yZTo6SW50UG9pbnQgdGFyZ2V0LCBXZWJDb3JlOjpJbnRSZWN0IGFy
ZWEpCiAgICAgQXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoV1RGOjpTdHJpbmcgaG9zdG5h
bWUsIFdURjo6U3RyaW5nIHJlYWxtLCBXVEY6OlN0cmluZyBwcmVmaWxsZWRVc2VybmFtZSkgLT4g
KFdURjo6U3RyaW5nIHVzZXJuYW1lLCBXVEY6OlN0cmluZyBwYXNzd29yZCkKICAgICBDZXJ0aWZp
Y2F0ZVZlcmlmaWNhdGlvblJlcXVlc3QoV1RGOjpTdHJpbmcgaG9zdG5hbWUpIC0+IChib29sIGln
bm9yZUVycm9ycykKICAgICBQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KFdURjo6
U3RyaW5nIGhvc3RuYW1lLCB1aW50MTZfdCBwb3J0LCBXVEY6OlN0cmluZyBwcmVmaWxsZWRVc2Vy
bmFtZSkgLT4gKFdURjo6U3RyaW5nIHVzZXJuYW1lLCBXVEY6OlN0cmluZyBwYXNzd29yZCkKICNl
bmRpZgorCisjaWYgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkKKyAgICBEaWRDaGFuZ2VD
b250ZW50c1NpemUoV2ViQ29yZTo6SW50U2l6ZSBuZXdTaXplKQorI2VuZGlmCisKICNpZiBFTkFC
TEUoVE9VQ0hfRVZFTlRTKQogICAgIE5lZWRUb3VjaEV2ZW50cyhib29sIG5lZWRUb3VjaEV2ZW50
cykKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0xheWVyVHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xh
eWVyVHJlZUhvc3QuY3BwCmluZGV4IGJmMDExZTA4NWE2ZTIwYTU1ZWYyZTA5N2MwMzYyMzJiYzQ3
MWZiMDkuLjg3YjQ2YjM3MmQxM2M4ZTYyOWY2Yzc0NTkzOThmNTc5MzdiZGEwMTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5jcHAK
QEAgLTM0LDcgKzM0LDcgQEAKICNlbmRpZgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShRVCkKKyNp
ZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAjaW5jbHVkZSAiTGF5ZXJUcmVlQ29vcmRpbmF0
b3IuaCIKICNlbmRpZgogCkBAIC01Miw3ICs1Miw3IEBAIFBhc3NSZWZQdHI8TGF5ZXJUcmVlSG9z
dD4gTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlKFdlYlBhZ2UqIHdlYlBhZ2UpCiAgICAgcmV0dXJuIExh
eWVyVHJlZUhvc3RDQU1hYzo6Y3JlYXRlKHdlYlBhZ2UpOwogI2VsaWYgUExBVEZPUk0oV0lOKSAm
JiBIQVZFKFdLUUNBKQogICAgIHJldHVybiBMYXllclRyZWVIb3N0Q0FXaW46OmNyZWF0ZSh3ZWJQ
YWdlKTsKLSNlbGlmIFBMQVRGT1JNKFFUKQorI2VsaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNT
KQogICAgIHJldHVybiBMYXllclRyZWVDb29yZGluYXRvcjo6Y3JlYXRlKHdlYlBhZ2UpOwogI2Vs
aWYgUExBVEZPUk0oR1RLKSAmJiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpCiAgICAgcmV0dXJuIExh
eWVyVHJlZUhvc3RHdGs6OmNyZWF0ZSh3ZWJQYWdlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCmluZGV4IDljMmU3NDRmNGRmZDMxYjE5
NzA4ZDEyZWIxNGYzNTk5NzVhMmJiYTguLjczNjU4NDRmNzFiY2RjMzFmYWQ3ZGNkOTQ4ZWFkMDAx
MDgyOTc1OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9M
YXllclRyZWVIb3N0LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xh
eWVyVHJlZUhvc3QuaApAQCAtMTE5LDcgKzExOSw3IEBAIHByb3RlY3RlZDoKICNlbmRpZgogfTsK
IAotI2lmICFQTEFURk9STShXSU4pICYmICFQTEFURk9STShRVCkKKyNpZiAhUExBVEZPUk0oV0lO
KSAmJiAhVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogaW5saW5lIGJvb2wgTGF5ZXJUcmVlSG9z
dDo6c3VwcG9ydHNBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCkKIHsKICAgICByZXR1cm4gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvZWZsL1dlYlByb2Nlc3NNYWlu
RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvZWZsL1dlYlByb2Nlc3NNYWluRWZs
LmNwcAppbmRleCAxNjI3OGEzOGU0ODUzZDM0YmU2NzhmNDM2MDZmZjEzOTc0MTJmYzk3Li41ZWNm
MmQyYTlmZDExYzA2MTVmMGEwODBkOGIyOTk2NmE4NmNmYzI2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL2VmbC9XZWJQcm9jZXNzTWFpbkVmbC5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc01haW5FZmwuY3BwCkBAIC0zNiw2ICsz
NiwxMCBAQAogI2luY2x1ZGUgPHVuaXN0ZC5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+
CiAKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCisjaW5jbHVkZSAiQ29vcmRpbmF0ZWRH
cmFwaGljc0xheWVyLmgiCisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5h
bWVzcGFjZSBXZWJLaXQgewpAQCAtNzYsNiArODAsMTAgQEAgV0tfRVhQT1JUIGludCBXZWJQcm9j
ZXNzTWFpbkVmbChpbnQgYXJnYywgY2hhciogYXJndltdKQogICAgICAgICBnX29iamVjdF91bnJl
ZihyZXNvbHZlckVmbCk7CiAgICAgfQogCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQor
ICAgIENvb3JkaW5hdGVkR3JhcGhpY3NMYXllcjo6aW5pdEZhY3RvcnkoKTsKKyNlbmRpZgorCiAg
ICAgaW50IHNvY2tldCA9IGF0b2koYXJndlsxXSk7CiAgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCku
aW5pdGlhbGl6ZShzb2NrZXQsIFJ1bkxvb3A6Om1haW4oKSk7CiAgICAgUnVuTG9vcDo6cnVuKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZSBiL1NvdXJjZS9jbWFr
ZS9PcHRpb25zRWZsLmNtYWtlCmluZGV4IGNkNmIyMmIyMGQ3NmY3ZDNmOTE4MzU4MThjZDUxNGY1
ZjgzNjVkYmMuLjBmMGYyZjJhMjI2MjJjZGQyZjkwNmY3ZGFjYWUzYzBiZjc4YjJhMjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9P
cHRpb25zRWZsLmNtYWtlCkBAIC0xNTgsMyArMTU4LDIzIEBAIElGIChFTkFCTEVfV0VCR0wpCiBF
TkRJRiAoKQogCiBTRVQoQ1BBQ0tfU09VUkNFX0dFTkVSQVRPUiBUQloyKQorCitJRiAoV1RGX1VT
RV9USUxFRF9CQUNLSU5HX1NUT1JFKQorICBTRVQoV1RGX1VTRV9BQ0NFTEVSQVRFRF9DT01QT1NJ
VElORyAxKQorICBBRERfREVGSU5JVElPTlMoLURXVEZfVVNFX0FDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HPTEpCisKKyAgU0VUKFdURl9VU0VfQ09PUkRJTkFURURfR1JBUEhJQ1MgMSkKKyAgQUREX0RF
RklOSVRJT05TKC1EV1RGX1VTRV9DT09SRElOQVRFRF9HUkFQSElDUz0xKQorCisgIFNFVChXVEZf
VVNFX1RFWFRVUkVfTUFQUEVSIDEpCisgIEFERF9ERUZJTklUSU9OUygtRFdURl9VU0VfVEVYVFVS
RV9NQVBQRVI9MSkKKworICBTRVQoV1RGX1VTRV9URVhUVVJFX01BUFBFUl9HTCAxKQorICBBRERf
REVGSU5JVElPTlMoLURXVEZfVVNFX1RFWFRVUkVfTUFQUEVSX0dMPTEpCisKKyAgU0VUKFdURl9V
U0VfM0RfR1JBUEhJQ1MgMSkKKyAgQUREX0RFRklOSVRJT05TKC1EV1RGX1VTRV8zRF9HUkFQSElD
Uz0xKQorCisgIEZJTkRfUEFDS0FHRShPcGVuR0wgUkVRVUlSRUQpCitFTkRJRigpCisKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3MTYyY2FiYjRk
ZGFiMDUwMDRlOWQ1ODE3YzhjM2VmZGY2NDhmOTYxLi44MGVlNzU3NWEyOGQ4NWEwZDljNDY2NGFi
YzEwNmQ2NTdlMTBmZDQ1IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDgtMDUgIFlvdW5nVGFlY2sgU29uZyAg
PHlvdW5ndGFlY2suc29uZ0BzYW1zdW5nLmNvbT4KKworICAgICAgICBbV0syXVtFRkxdIEltcGxl
bWVudCBhY2NlbGVyYXRlZCBjb21wb3NpdGluZyBvbiBXSzIgRWZsIHBvcnQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5ODQwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IGFjY2VsZXJhdGVk
IGNvbXBvc2l0aW9uIHdpdGggVGlsZWRCYWNraW5nU3RvcmUgb24gV0syIEVmbCBwb3J0LgorICAg
ICAgICBBZGQgT1BFTkdMX0xJQlJBUklFUyBpbiBDTWFrZUxpc3QudHh0LgorCisgICAgICAgICog
TWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0OgorICAgICAgICAqIFdlYktpdFRlc3RSdW5u
ZXIvUGxhdGZvcm1FZmwuY21ha2U6CisKIDIwMTItMDgtMDQgIE5pY28gV2ViZXIgIDx0aGFraXNA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bSBNYWNdIFRlc3RzIGFyZSBleGl0aW5n
IGVhcmx5IGR1ZSB0byBmYWlsdXJlcyB0byBsb2FkIG1pc3NpbmdJbWFnZS5wbmcKZGlmZiAtLWdp
dCBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dCBiL1Rvb2xzL01pbmlCcm93
c2VyL2VmbC9DTWFrZUxpc3RzLnR4dAppbmRleCBmYzRmY2YzNzBlMTU3NWY4Y2NhZDNlNjNmZDdi
OWYzNWZjYjAzYjk2Li5hZTM1OWE2NjhmNjQzYzY3ZDc2ZTAxYmQzMDVlMWJmYTUyOTJkN2MxIDEw
MDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKKysrIGIvVG9v
bHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0CkBAIC0yOCw2ICsyOCw3IEBAIFNFVChN
aW5pQnJvd3Nlcl9MSUJSQVJJRVMKICAgICAke0xJQlNPVVAyNF9MSUJSQVJJRVN9CiAgICAgJHtM
SUJYTUwyX0xJQlJBUklFU30KICAgICAke0xJQlhTTFRfTElCUkFSSUVTfQorICAgICR7T1BFTkdM
X0xJQlJBUklFU30KICAgICAke1NRTElURV9MSUJSQVJJRVN9CiApCiAKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1FZmwuY21ha2UgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDZjOTMwOTEwYjNkYzhmYmZmMDA4MWFhMDAy
OTk2ZjEwZmE2N2FjNjUuLmU5NjdkNTU3YzhlNDhkZjkzYjZjZmM1OGU2YTBlMWYyODU3NDJiZDIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1FZmwuY21ha2UKKysr
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtNDMsNiArNDMs
NyBAQCBMSVNUKEFQUEVORCBXZWJLaXRUZXN0UnVubmVyX0xJQlJBUklFUwogICAgICR7RURKRV9M
SUJSQVJJRVN9CiAgICAgJHtFRkxERVBTX0xJQlJBUklFU30KICAgICAke0dsaWJfTElCUkFSSUVT
fQorICAgICR7T1BFTkdMX0xJQlJBUklFU30KICAgICAke1dURl9MSUJSQVJZX05BTUV9CiApCiAK
ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBlOTkyNmE3YzhlYWYwNmEz
Zjg1YTk2YjI2ZDBmNzc3ZDFmZGE0ZmU0Li44NzQzM2Y2MDkyYjMyMGZhNjEzNGMwMDY0NWZjZGM0
ZTJjOWQzNjNjIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMTItMDgtMDUgIFlvdW5nVGFlY2sgU29uZyAgPHlvdW5ndGFlY2suc29uZ0Bz
YW1zdW5nLmNvbT4KKworICAgICAgICBbV0syXVtFRkxdIEltcGxlbWVudCBhY2NlbGVyYXRlZCBj
b21wb3NpdGluZyBvbiBXSzIgRWZsIHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTg5ODQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IGFjY2VsZXJhdGVkIGNvbXBvc2l0aW9uIHdpdGgg
VGlsZWRCYWNraW5nU3RvcmUgb24gV0syIEVmbCBwb3J0LgorICAgICAgICBUaGVzZSBjb2RlcyBh
cmUgYmFzZWQgb24gQ09PUkRJTkFURURfR1JBUEhJQ1MuCisgICAgICAgIEFkZCBDT09SRElOQVRF
RF9HUkFQSElDUyByZWxhdGVkIGRlZmluaXRpb25zIGluIE9wdGlvbnNFZmwuY21ha2UuCisKKyAg
ICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZToKKwogMjAxMi0wOC0wMyAgUGF0
cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBbQ01ha2VdW1dJ
Tl0gRGlzYWJsZSBDKysgZXhjZXB0aW9ucyBhbmQgUlRUSQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156639</attachid>
            <date>2012-08-06 02:47:45 -0700</date>
            <delta_ts>2012-08-07 20:06:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89840-20120806184721.patch</filename>
            <type>text/plain</type>
            <size>33666</size>
            <attacher name="YoungTaeck Song">youngtaeck.song</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NzM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNTFjMDdjZTBiZDdkYzI5
YmUwYzM4NGI0MWVkNDQyMzhjZGY3OTViMy4uYzc4ODgwYTBjMWFmNmUzOGRhZTY5OGI4NTJlODM3
MTE0OTQ0ODczMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDEyLTA4LTA2ICBZb3Vu
Z1RhZWNrIFNvbmcgIDx5b3VuZ3RhZWNrLnNvbmdAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW1dL
Ml1bRUZMXSBJbXBsZW1lbnQgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgb24gV0syIEVmbCBwb3J0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTg0MAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxlbWVu
dCBhY2NlbGVyYXRlZCBjb21wb3NpdGlvbiB3aXRoIFRpbGVkQmFja2luZ1N0b3JlIG9uIFdLMiBF
ZmwgcG9ydC4KKyAgICAgICAgVGhlc2UgY29kZXMgYXJlIGJhc2VkIG9uIENPT1JESU5BVEVEX0dS
QVBISUNTLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogUGxhdGZvcm1F
ZmwuY21ha2U6CisgICAgICAgICogU2hhcmVkL1NoYXJlYWJsZVN1cmZhY2UuY3BwOgorICAgICAg
ICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAqIFNoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9QYWdl
Q2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpQYWdlQ2xp
ZW50SW1wbCk6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpkaWRDaGFuZ2VDb250
ZW50c1NpemUpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2Vm
bC9QYWdlQ2xpZW50SW1wbC5oOgorICAgICAgICAoUGFnZUNsaWVudEltcGwpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZWZsL1ZpZXdwb3J0UHJvY2Vzc29yLmNwcDogQWRkZWQuCisgICAgICAg
IChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6Vmlld3BvcnRQ
cm9jZXNzb3IpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6flZpZXdwb3J0
UHJvY2Vzc29yKToKKyAgICAgICAgKFdlYktpdDo6Vmlld3BvcnRQcm9jZXNzb3I6OmRpc3BsYXkp
OgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6dXBkYXRlVmlld3BvcnRTaXpl
KToKKyAgICAgICAgKFdlYktpdDo6Vmlld3BvcnRQcm9jZXNzb3I6OnNldFZpc2libGVDb250ZW50
c1JlY3QpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6ZGlkQ2hhbmdlQ29u
dGVudHNTaXplKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9WaWV3cG9ydFByb2Nlc3Nv
ci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChWaWV3cG9ydFByb2Nlc3Nv
cik6CisgICAgICAgIChXZWJLaXQ6OlZpZXdwb3J0UHJvY2Vzc29yOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6ZHJhd2luZ0FyZWEpOgorICAgICAgICAoV2Vi
S2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6dmlld1NpemUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZWZsL2V3a192aWV3LmNwcDoKKyAgICAgICAgKF9Fd2tfVmlld19Qcml2YXRlX0RhdGEpOgor
ICAgICAgICAoX2V3a192aWV3X3NtYXJ0X2NhbGN1bGF0ZSk6CisgICAgICAgIChld2tfdmlld19i
YXNlX2FkZCk6CisgICAgICAgIChld2tfdmlld19kaXNwbGF5KToKKyAgICAgICAgKGV3a192aWV3
X2NvbnRlbnRzX3NpemVfY2hhbmdlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3ZpZXdfcHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAg
ICAgIChQYWdlQ2xpZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQ2hh
bmdlQ29udGVudHNTaXplKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6Cisg
ICAgICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
bWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUNvb3Jk
aW5hdG9yL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvTGF5ZXJUcmVlQ29vcmRpbmF0b3IvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJL
aXQ6OkxheWVyVHJlZUhvc3Q6OmNyZWF0ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L0xheWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9lZmwvV2ViUHJvY2Vzc01haW5FZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
TWFpbkVmbCk6CisKIDIwMTItMDgtMDUgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgQXNzZXJ0IGluIGNoZWNrVmFsaWRpdHkoKSBpbiBoYXNodGFibGUu
aCBmcm9tIFdlYkdlb2xvY2F0aW9uTWFuYWdlcjo6ZGlkRmFpbFRvRGV0ZXJtaW5lUG9zaXRpb24o
KSB3aGVuIGZldGNoaW5nIGh0dHA6Ly9odG1sNWRlbW9zLmNvbS9nZW8KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50
eHQKaW5kZXggMjJkNmY0NmRiMmYyOGVlYTk5OTBiYjM1N2JiNThkZGIxZDJkMDBjNy4uN2QxMGM3
ZGNkMTUxY2M3NzljOTFiOTRlOTQwOWYxMTYxYjAyYjMyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQK
QEAgLTE1LDYgKzE1LDcgQEAgU0VUKFdlYktpdDJfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIk
e1dFQktJVDJfRElSfS9VSVByb2Nlc3MvQVBJL0MiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJv
Y2Vzcy9BUEkvY3BwIgogICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvQXV0aGVudGljYXRp
b24iCisgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzIgog
ICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvRG93bmxvYWRzIgogICAgICIke1dFQktJVDJf
RElSfS9VSVByb2Nlc3MvTGF1bmNoZXIiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9O
b3RpZmljYXRpb25zIgpAQCAtNDIsNiArNDMsNyBAQCBTRVQoV2ViS2l0Ml9JTkNMVURFX0RJUkVD
VE9SSUVTCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZSIK
ICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydCIKICAgICAiJHtX
RUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9XZWJQYWdlIgorICAgICIke1dFQktJVDJfRElSfS9XZWJQ
cm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcyIKICAgICAiJHtXRUJDT1JFX0RJUn0i
CiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvYmF0dGVyeSIKICAgICAiJHtXRUJDT1JFX0RJ
Un0vTW9kdWxlcy9pbnRlbnRzIgpAQCAtNzEsNiArNzMsOCBAQCBTRVQoV2ViS2l0Ml9JTkNMVURF
X0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL2hhcmZidXp6IgogICAg
ICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9ncmFwaGljcy9oYXJmYnV6ei9uZyIKKyAgICAiJHtX
RUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMiCisgICAgIiR7V0VCQ09SRV9E
SVJ9L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcCIKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3JtcyIKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vbmV0
d29yayIKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vc3FsIgpAQCAtMTQxLDcgKzE0NSw5
IEBAIFNFVChXZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvU2VjdXJpdHlPcmlnaW5EYXRhLmNw
cAogICAgIFNoYXJlZC9TZXNzaW9uU3RhdGUuY3BwCiAgICAgU2hhcmVkL1NoYXJlYWJsZUJpdG1h
cC5jcHAKKyAgICBTaGFyZWQvU2hhcmVhYmxlU3VyZmFjZS5jcHAKICAgICBTaGFyZWQvU3RhdGlz
dGljc0RhdGEuY3BwCisgICAgU2hhcmVkL1N1cmZhY2VVcGRhdGVJbmZvLmNwcAogICAgIFNoYXJl
ZC9VcGRhdGVJbmZvLmNwcAogICAgIFNoYXJlZC9WaXNpdGVkTGlua1RhYmxlLmNwcAogICAgIFNo
YXJlZC9XZWJCYWNrRm9yd2FyZExpc3RJdGVtLmNwcApAQCAtMzIzLDYgKzMyOSw3IEBAIFNFVChX
ZWJLaXQyX1NPVVJDRVMKICAgICBVSVByb2Nlc3MvQXV0aGVudGljYXRpb24vV2ViQ3JlZGVudGlh
bC5jcHAKICAgICBVSVByb2Nlc3MvQXV0aGVudGljYXRpb24vV2ViUHJvdGVjdGlvblNwYWNlLmNw
cAogCisgICAgVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRCYWNraW5n
U3RvcmUuY3BwCiAgICAgVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29v
cmRpbmF0b3JQcm94eS5jcHAKICAgICBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXll
clRyZWVSZW5kZXJlci5jcHAKICAgICAKQEAgLTQ2MSw2ICs0NjgsNyBAQCBTRVQoV2ViS2l0Ml9T
T1VSQ0VTCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwCiAgICAgV2Vi
UHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmNwcAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9U
YXBIaWdobGlnaHRDb250cm9sbGVyLmNwcAorICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9VcGRhdGVB
dGxhcy5jcHAKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHku
Y3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcAogICAgIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHAKQEAgLTQ3Miw2ICs0ODAsNyBAQCBTRVQoV2ViS2l0
Ml9TT1VSQ0VTCiAKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRUaWxlLmNwcAorICAgIFdlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcAogKQogCiBTRVQo
V2ViS2l0Ml9NRVNTQUdFU19JTl9GSUxFUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxh
dGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCA5
YmNiZGIwMDZlYmUxMjJjN2QwNjg3YTc0NzllNDRhMWY2ZjQ1NjNmLi5jZDgxMGE0MzQxZmM2ODdl
YzA1YjFmZjk0OGU0MzJhNDE1YjE3NjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAt
MzgsNiArMzgsNyBAQCBMSVNUKEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBVSVByb2Nlc3Mv
QVBJL0Mvc291cC9XS1NvdXBSZXF1ZXN0TWFuYWdlci5jcHAKIAogICAgIFVJUHJvY2Vzcy9BUEkv
ZWZsL0JhdHRlcnlQcm92aWRlci5jcHAKKyAgICBVSVByb2Nlc3MvQVBJL2VmbC9FZmxWaWV3cG9y
dEhhbmRsZXIuY3BwCiAgICAgVUlQcm9jZXNzL0FQSS9lZmwvTmV0d29ya0luZm9Qcm92aWRlci5j
cHAKICAgICBVSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5jcHAKICAgICBVSVByb2Nl
c3MvQVBJL2VmbC9WaWJyYXRpb25Qcm92aWRlci5jcHAKQEAgLTE0OCw2ICsxNDksNyBAQCBMSVNU
KEFQUEVORCBXZWJLaXQyX0xJQlJBUklFUwogICAgICR7RUZSRUVUX0xJQlJBUklFU30KICAgICAk
e0ZyZWV0eXBlX0xJQlJBUklFU30KICAgICAke0xJQlhNTDJfTElCUkFSSUVTfQorICAgICR7T1BF
TkdMX0xJQlJBUklFU30KICAgICAke1NRTElURV9MSUJSQVJJRVN9CiAgICAgJHtGT05UQ09ORklH
X0xJQlJBUklFU30KICAgICAke1BOR19MSUJSQVJZfQpAQCAtMTY5LDYgKzE3MSw3IEBAIExJU1Qg
KEFQUEVORCBXZWJQcm9jZXNzX0xJQlJBUklFUwogICAgICR7RVZBU19MSUJSQVJJRVN9CiAgICAg
JHtMSUJYTUwyX0xJQlJBUklFU30KICAgICAke0xJQlhTTFRfTElCUkFSSUVTfQorICAgICR7T1BF
TkdMX0xJQlJBUklFU30KICAgICAke1NRTElURV9MSUJSQVJJRVN9CiApCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9TaGFyZWFibGVTdXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9TaGFyZWFibGVTdXJmYWNlLmNwcAppbmRleCAyZWY1YTRiYjk3YTc1ZGMyZjIz
ZmUyOTJkNDdmZGFlMmVlZDNmZWY3Li4yMjhjMGU1ZGNhZWMyMTlhMDcyNWE0ZTFhOWMxODFiNmUz
OTA0NDVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2hhcmVhYmxlU3VyZmFj
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1NoYXJlYWJsZVN1cmZhY2UuY3BwCkBA
IC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2hhcmVhYmxl
U3VyZmFjZS5oIgogCisjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmgiCiAKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IDk5NTYz
ZjRlN2VlMGQzNDZlMGEwMzNiODNkNTM2Y2I2M2FiZmNmZTEuLjdkNDBiYzg2NjY3NDdiZmY4NTQ1
NTM0MGFmZWRiNTdjYzQxNGVmZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuY3BwCkBAIC00OSw2ICs0OSw3IEBACiAjaWYgVVNFKENPT1JESU5B
VEVEX0dSQVBISUNTKQogI2luY2x1ZGUgPFdlYkNvcmUvQW5pbWF0aW9uLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9GbG9hdFBvaW50M0QuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0xlbmd0aC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvVHJhbnNmb3JtYXRpb25NYXRyaXguaD4KIAogI2lmIEVOQUJMRShDU1Nf
RklMVEVSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMu
aAppbmRleCBiNzY3OGM1MjU0OWNjMjVkYzlhMzBjNzBlODgwYTgxODllYmEzMmI3Li5iMDhmMTE4
Zjk3YjgwMTU3Njk4YTcyMThlNmQ2OTdmMzE1YmYwN2EyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCkBAIC02NywzMCArNjcsMTkgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogfQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShRVCkKKyNpZiBVU0UoQ09P
UkRJTkFURURfR1JBUEhJQ1MpCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgQW5pbWF0
aW9uOwogICAgIGNsYXNzIEZsb2F0UG9pbnQzRDsKLSAgICBjbGFzcyBNYXRyaXgzRFRyYW5zZm9y
bU9wZXJhdGlvbjsKLSAgICBjbGFzcyBNYXRyaXhUcmFuc2Zvcm1PcGVyYXRpb247Ci0gICAgY2xh
c3MgUGVyc3BlY3RpdmVUcmFuc2Zvcm1PcGVyYXRpb247Ci0gICAgY2xhc3MgUm90YXRlVHJhbnNm
b3JtT3BlcmF0aW9uOwotICAgIGNsYXNzIFNjYWxlVHJhbnNmb3JtT3BlcmF0aW9uOwotICAgIGNs
YXNzIFNrZXdUcmFuc2Zvcm1PcGVyYXRpb247Ci0gICAgY2xhc3MgVGltaW5nRnVuY3Rpb247Ci0g
ICAgY2xhc3MgVHJhbnNmb3JtT3BlcmF0aW9uOwotICAgIGNsYXNzIFRyYW5zZm9ybU9wZXJhdGlv
bnM7CiAgICAgY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRyaXg7Ci0gICAgY2xhc3MgVHJhbnNsYXRl
VHJhbnNmb3JtT3BlcmF0aW9uOwogICAgIHN0cnVjdCBMZW5ndGg7CiB9Ci0jZW5kaWYKIAotI2lm
IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykgJiYgRU5BQkxFKENTU19GSUxURVJTKQorI2lmIEVO
QUJMRShDU1NfRklMVEVSUykKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBGaWx0ZXJP
cGVyYXRpb25zOwogfQogI2VuZGlmCisjZW5kaWYKIAogbmFtZXNwYWNlIENvcmVJUEMgewogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FZmxWaWV3cG9ydEhh
bmRsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRWZsVmlld3BvcnRI
YW5kbGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTc0MDgyMmVlNDAyMDRkNTlkZDlmMTg5OWI4OGRlMzBj
NTc4MWQyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvRWZsVmlld3BvcnRIYW5kbGVyLmNwcApAQCAtMCwwICsxLDk5IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFZmxWaWV3cG9ydEhhbmRs
ZXIuaCIKKworI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKKworI2luY2x1ZGUgIkxheWVy
VHJlZUNvb3JkaW5hdG9yUHJveHkuaCIKKyNpbmNsdWRlICJMYXllclRyZWVSZW5kZXJlci5oIgor
I2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0cml4LmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworRWZsVmlld3BvcnRIYW5kbGVyOjpFZmxWaWV3
cG9ydEhhbmRsZXIoUGFnZUNsaWVudEltcGwqIHBhZ2VDbGllbnRJbXBsKQorICAgIDogbV9wYWdl
Q2xpZW50SW1wbChwYWdlQ2xpZW50SW1wbCkKKyAgICAsIG1fc2NhbGVGYWN0b3IoMSkKK3sKKyAg
ICBBU1NFUlQobV9wYWdlQ2xpZW50SW1wbCk7Cit9CisKK0VmbFZpZXdwb3J0SGFuZGxlcjo6fkVm
bFZpZXdwb3J0SGFuZGxlcigpCit7Cit9CisKK3ZvaWQgRWZsVmlld3BvcnRIYW5kbGVyOjpkaXNw
bGF5KGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25N
YXRyaXggbWF0cml4OworICAgIG1hdHJpeC5zZXRNYXRyaXgobV9zY2FsZUZhY3RvciwgMCwgMCwg
bV9zY2FsZUZhY3RvciwgLW1fdmlzaWJsZUNvbnRlbnRSZWN0LngoKSwgLW1fdmlzaWJsZUNvbnRl
bnRSZWN0LnkoKSk7CisKKyAgICBMYXllclRyZWVSZW5kZXJlciogcmVuZGVyZXIgPSBkcmF3aW5n
QXJlYSgpLT5sYXllclRyZWVDb29yZGluYXRvclByb3h5KCktPmxheWVyVHJlZVJlbmRlcmVyKCk7
CisgICAgcmVuZGVyZXItPnNldEFjdGl2ZSh0cnVlKTsKKyAgICByZW5kZXJlci0+c3luY1JlbW90
ZUNvbnRlbnQoKTsKKyAgICByZW5kZXJlci0+cGFpbnRUb0N1cnJlbnRHTENvbnRleHQobWF0cml4
LCAxLCByZWN0KTsKK30KKwordm9pZCBFZmxWaWV3cG9ydEhhbmRsZXI6OnVwZGF0ZVZpZXdwb3J0
U2l6ZShjb25zdCBJbnRTaXplJiB2aWV3cG9ydFNpemUpCit7CisgICAgbV92aWV3cG9ydFNpemUg
PSB2aWV3cG9ydFNpemU7CisgICAgbV9wYWdlQ2xpZW50SW1wbC0+cGFnZSgpLT5zZXRWaWV3cG9y
dFNpemUodmlld3BvcnRTaXplKTsKKyAgICBzZXRWaXNpYmxlQ29udGVudHNSZWN0KG1fdmlzaWJs
ZUNvbnRlbnRSZWN0LmxvY2F0aW9uKCksIG1fc2NhbGVGYWN0b3IsIEZsb2F0UG9pbnQoKSk7Cit9
CisKK3ZvaWQgRWZsVmlld3BvcnRIYW5kbGVyOjpzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0
IEludFBvaW50JiBuZXdTY3JvbGxQb3NpdGlvbiwgZmxvYXQgbmV3U2NhbGUsIGNvbnN0IEZsb2F0
UG9pbnQmIHRyYWplY3RvcnkpCit7CisgICAgbV9zY2FsZUZhY3RvciA9IG5ld1NjYWxlOworICAg
IG1fdmlzaWJsZUNvbnRlbnRSZWN0ID0gSW50UmVjdChuZXdTY3JvbGxQb3NpdGlvbiwgbV92aWV3
cG9ydFNpemUpOworCisgICAgLy8gTW92ZSB2aXNpYmxlQ29udGVudFJlY3QgaW5zaWRlIGNvbnRl
bnRzUmVjdCB3aGVuIHZpc2libGVDb250ZW50UmVjdCBnb2VzIG91dHNpZGUgY29udGVudHNSZWN0
LiAKKyAgICBJbnRTaXplIGNvbnRlbnRzU2l6ZSA9IG1fY29udGVudHNTaXplOworICAgIGNvbnRl
bnRzU2l6ZS5zY2FsZShtX3NjYWxlRmFjdG9yKTsKKyAgICBpZiAobV92aXNpYmxlQ29udGVudFJl
Y3QueCgpID4gY29udGVudHNTaXplLndpZHRoKCkgLSBtX3Zpc2libGVDb250ZW50UmVjdC53aWR0
aCgpKQorICAgICAgICBtX3Zpc2libGVDb250ZW50UmVjdC5zZXRYKGNvbnRlbnRzU2l6ZS53aWR0
aCgpIC0gbV92aXNpYmxlQ29udGVudFJlY3Qud2lkdGgoKSk7CisgICAgaWYgKG1fdmlzaWJsZUNv
bnRlbnRSZWN0LngoKSA8IDApCisgICAgICAgIG1fdmlzaWJsZUNvbnRlbnRSZWN0LnNldFgoMCk7
CisgICAgaWYgKG1fdmlzaWJsZUNvbnRlbnRSZWN0LnkoKSA+IGNvbnRlbnRzU2l6ZS5oZWlnaHQo
KSAtIG1fdmlzaWJsZUNvbnRlbnRSZWN0LmhlaWdodCgpKQorICAgICAgICBtX3Zpc2libGVDb250
ZW50UmVjdC5zZXRZKGNvbnRlbnRzU2l6ZS5oZWlnaHQoKSAtIG1fdmlzaWJsZUNvbnRlbnRSZWN0
LmhlaWdodCgpKTsKKyAgICBpZiAobV92aXNpYmxlQ29udGVudFJlY3QueSgpIDwgMCkKKyAgICAg
ICAgbV92aXNpYmxlQ29udGVudFJlY3Quc2V0WSgwKTsKKworICAgIEZsb2F0UmVjdCBtYXBSZWN0
VG9XZWJDb250ZW50ID0gbV92aXNpYmxlQ29udGVudFJlY3Q7CisgICAgbWFwUmVjdFRvV2ViQ29u
dGVudC5zY2FsZSgxIC8gbV9zY2FsZUZhY3Rvcik7CisgICAgZHJhd2luZ0FyZWEoKS0+c2V0Vmlz
aWJsZUNvbnRlbnRzUmVjdChlbmNsb3NpbmdJbnRSZWN0KG1hcFJlY3RUb1dlYkNvbnRlbnQpLCBt
X3NjYWxlRmFjdG9yLCB0cmFqZWN0b3J5KTsKK30KKwordm9pZCBFZmxWaWV3cG9ydEhhbmRsZXI6
OmRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXplKQorewor
ICAgIG1fY29udGVudHNTaXplID0gc2l6ZTsKKyAgICBzZXRWaXNpYmxlQ29udGVudHNSZWN0KG1f
dmlzaWJsZUNvbnRlbnRSZWN0LmxvY2F0aW9uKCksIG1fc2NhbGVGYWN0b3IsIEZsb2F0UG9pbnQo
KSk7CisgICAgZHJhd2luZ0FyZWEoKS0+bGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eSgpLT5zZXRD
b250ZW50c1NpemUoV2ViQ29yZTo6RmxvYXRTaXplKHNpemUud2lkdGgoKSwgc2l6ZS5oZWlnaHQo
KSkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKyNlbmRpZiAvLyBVU0UoQ09PUkRJTkFU
RURfR1JBUEhJQ1MpCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL0VmbFZpZXdwb3J0SGFuZGxlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvRWZsVmlld3BvcnRIYW5kbGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2M2YjNkOTU3YjE3ZTdlMzI1NGIz
N2NiMTcxYTg0N2ViZDJmNzNkYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL0VmbFZpZXdwb3J0SGFuZGxlci5oCkBAIC0wLDAgKzEsNjYgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBFZmxWaWV3cG9ydEhhbmRsZXJfaAorI2RlZmlu
ZSBFZmxWaWV3cG9ydEhhbmRsZXJfaAorCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQor
CisjaW5jbHVkZSAiUGFnZUNsaWVudEltcGwuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgRWZsVmlld3BvcnRIYW5kbGVyIHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUGFzc093blB0cjxFZmxWaWV3cG9ydEhhbmRsZXI+IGNyZWF0ZShQ
YWdlQ2xpZW50SW1wbCogcGFnZUNsaWVudEltcGwpCisgICAgeworICAgICAgICByZXR1cm4gYWRv
cHRQdHIobmV3IEVmbFZpZXdwb3J0SGFuZGxlcihwYWdlQ2xpZW50SW1wbCkpOworICAgIH0KKyAg
ICB+RWZsVmlld3BvcnRIYW5kbGVyKCk7CisKKyAgICBEcmF3aW5nQXJlYVByb3h5KiBkcmF3aW5n
QXJlYSgpIGNvbnN0IHsgcmV0dXJuIG1fcGFnZUNsaWVudEltcGwtPnBhZ2UoKS0+ZHJhd2luZ0Fy
ZWEoKTsgfQorICAgIFdlYkNvcmU6OkludFNpemUgdmlld1NpemUoKSB7IHJldHVybiBtX3ZpZXdw
b3J0U2l6ZTsgfQorCisgICAgdm9pZCBkaXNwbGF5KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJl
Y3QpOworICAgIHZvaWQgdXBkYXRlVmlld3BvcnRTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUm
IHZpZXdwb3J0U2l6ZSk7CisgICAgdm9pZCBzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiwgZmxvYXQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsKKyAg
ICB2b2lkIGRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXpl
KTsKKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBFZmxWaWV3cG9ydEhhbmRsZXIoUGFnZUNsaWVu
dEltcGwqKTsKKworICAgIFBhZ2VDbGllbnRJbXBsKiBtX3BhZ2VDbGllbnRJbXBsOworICAgIFdl
YkNvcmU6OkludFJlY3QgbV92aXNpYmxlQ29udGVudFJlY3Q7CisgICAgV2ViQ29yZTo6SW50U2l6
ZSBtX2NvbnRlbnRzU2l6ZTsKKyAgICBXZWJDb3JlOjpJbnRTaXplIG1fdmlld3BvcnRTaXplOwor
ICAgIGZsb2F0IG1fc2NhbGVGYWN0b3I7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwor
I2VuZGlmCisKKyNlbmRpZiAvLyBFZmxWaWV3cG9ydEhhbmRsZXJfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNsaWVudEltcGwuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNsaWVudEltcGwuY3BwCmluZGV4IDc5ZDIw
YTE3ZGQ2ZDljMWYwZDg5NzY1MDY4MmI1ODZhY2QwMmZjMTQuLjcyNmNhYWFlMWExZWZhOTYzOGRi
Nzc0NzY3NmIwMWEzMWEyMWM2YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL1BhZ2VDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5jcHAKQEAgLTMxLDcgKzMxLDkgQEAKICNpbmNsdWRl
ICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIldlYkNvbnRleHQuaCIKICNpbmNsdWRlICJX
ZWJDb250ZXh0TWVudVByb3h5LmgiCisjaW5jbHVkZSAiV2ViUGFnZUdyb3VwLmgiCiAjaW5jbHVk
ZSAiV2ViUGFnZVByb3h5LmgiCisjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXMuaCIKICNpbmNsdWRl
ICJld2tfY29udGV4dC5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0X3ByaXZhdGUuaCIKICNpbmNs
dWRlICJld2tfZG93bmxvYWRfam9iLmgiCkBAIC00Niw2ICs0OCwxMyBAQCBQYWdlQ2xpZW50SW1w
bDo6UGFnZUNsaWVudEltcGwoV2ViQ29udGV4dCogY29udGV4dCwgV2ViUGFnZUdyb3VwKiBwYWdl
R3JvdXAsIEV2YQogICAgIDogbV92aWV3V2lkZ2V0KHZpZXdXaWRnZXQpCiB7CiAgICAgbV9wYWdl
ID0gY29udGV4dC0+Y3JlYXRlV2ViUGFnZSh0aGlzLCBwYWdlR3JvdXApOworCisjaWYgVVNFKENP
T1JESU5BVEVEX0dSQVBISUNTKQorICAgIG1fcGFnZS0+cGFnZUdyb3VwKCktPnByZWZlcmVuY2Vz
KCktPnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKHRydWUpOworICAgIG1fcGFnZS0+
cGFnZUdyb3VwKCktPnByZWZlcmVuY2VzKCktPnNldEZvcmNlQ29tcG9zaXRpbmdNb2RlKHRydWUp
OworICAgIG1fcGFnZS0+c2V0VXNlRml4ZWRMYXlvdXQodHJ1ZSk7CisjZW5kaWYKKwogICAgIG1f
cGFnZS0+aW5pdGlhbGl6ZVdlYlBhZ2UoKTsKIH0KIApAQCAtMjk1LDQgKzMwNCw5IEBAIHZvaWQg
UGFnZUNsaWVudEltcGw6OnBhZ2VEaWRSZXF1ZXN0U2Nyb2xsKGNvbnN0IEludFBvaW50JikKIH0K
ICNlbmRpZgogCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRDaGFuZ2VDb250ZW50c1NpemUoY29u
c3QgV2ViQ29yZTo6SW50U2l6ZSYgc2l6ZSkKK3sKKyAgICBld2tfdmlld19jb250ZW50c19zaXpl
X2NoYW5nZWQobV92aWV3V2lkZ2V0LCBzaXplKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50
SW1wbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNsaWVudEltcGwu
aAppbmRleCAxYmQyMjkzNGFmOGRkYmVmYzUxMGRjOGI4NjIyZTU2MWYxMzNjYTZlLi44NjE4NTAy
NjNhOGE2ZWEzZTEyMDRmZWNlMzc4MWI0YzlhZTg1ZjUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL1BhZ2VDbGllbnRJbXBsLmgKQEAgLTExMiw2ICsxMTIsOCBA
QCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBX
ZWJDb3JlOjpJbnRQb2ludCYpOwogI2VuZGlmCiAKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdl
Q29udGVudHNTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsKKwogcHJpdmF0ZToKICAgICBS
ZWZQdHI8V2ViUGFnZVByb3h5PiBtX3BhZ2U7CiAgICAgRXZhc19PYmplY3QqIG1fdmlld1dpZGdl
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcAppbmRl
eCA4YmMxMTIxNmQyOWIzZTU2NzExYjg3MjA5YzFlNzgwYTUzZWU4N2ZlLi5kZWRkN2E5NzZkNjhl
YTVhNDlhNDU3YTRhMDZjYTRlNzg4ZTc0NzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCkBAIC00OSw2ICs0OSwxMCBAQAogI2luY2x1ZGUgPEV2
YXNfR0wuaD4KICNlbmRpZgogCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorI2luY2x1
ZGUgIkVmbFZpZXdwb3J0SGFuZGxlci5oIgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJL
aXQ7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtNjEsNiArNjUsMTAgQEAgc3RhdGlj
IHZvaWQgX2V3a192aWV3X3ByaXZfbG9hZGluZ19yZXNvdXJjZXNfY2xlYXIoTG9hZGluZ1Jlc291
cmNlc01hcCYgbG9hZGluZ1IKIAogc3RydWN0IF9Fd2tfVmlld19Qcml2YXRlX0RhdGEgewogICAg
IE93blB0cjxQYWdlQ2xpZW50SW1wbD4gcGFnZUNsaWVudDsKKyNpZiBVU0UoQ09PUkRJTkFURURf
R1JBUEhJQ1MpCisgICAgT3duUHRyPEVmbFZpZXdwb3J0SGFuZGxlcj4gdmlld3BvcnRIYW5kbGVy
OworI2VuZGlmCisKICAgICBjb25zdCBjaGFyKiB1cmk7CiAgICAgY29uc3QgY2hhciogdGl0bGU7
CiAgICAgY29uc3QgY2hhciogdGhlbWU7CkBAIC01MjIsNiArNTMwLDEwIEBAIHN0YXRpYyB2b2lk
IF9ld2tfdmlld19zbWFydF9jYWxjdWxhdGUoRXZhc19PYmplY3QqIGV3a1ZpZXcpCiAgICAgZXZh
c19vYmplY3RfZ2VvbWV0cnlfZ2V0KGV3a1ZpZXcsICZ4LCAmeSwgJndpZHRoLCAmaGVpZ2h0KTsK
IAogICAgIGlmIChzbWFydERhdGEtPmNoYW5nZWQuc2l6ZSkgeworI2lmIFVTRShDT09SRElOQVRF
RF9HUkFQSElDUykKKyAgICAgICAgcHJpdi0+dmlld3BvcnRIYW5kbGVyLT51cGRhdGVWaWV3cG9y
dFNpemUoSW50U2l6ZSh3aWR0aCwgaGVpZ2h0KSk7CisjZW5kaWYKKwogICAgICAgICBpZiAocHJp
di0+cGFnZUNsaWVudC0+cGFnZSgpLT5kcmF3aW5nQXJlYSgpKQogICAgICAgICAgICAgcHJpdi0+
cGFnZUNsaWVudC0+cGFnZSgpLT5kcmF3aW5nQXJlYSgpLT5zZXRTaXplKEludFNpemUod2lkdGgs
IGhlaWdodCksIEludFNpemUoKSk7CiAKQEAgLTY3Miw2ICs2ODQsMTAgQEAgRXZhc19PYmplY3Qq
IGV3a192aWV3X2Jhc2VfYWRkKEV2YXMqIGNhbnZhcywgV0tDb250ZXh0UmVmIGNvbnRleHRSZWYs
IFdLUGFnZUdyb3UKIAogICAgIGV3a192aWV3X3RoZW1lX3NldChld2tWaWV3LCBERUZBVUxUX1RI
RU1FX1BBVEgiL2RlZmF1bHQuZWRqIik7CiAKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1Mp
CisgICAgcHJpdi0+dmlld3BvcnRIYW5kbGVyID0gRWZsVmlld3BvcnRIYW5kbGVyOjpjcmVhdGUo
cHJpdi0+cGFnZUNsaWVudC5nZXQoKSk7CisjZW5kaWYKKwogICAgIHJldHVybiBld2tWaWV3Owog
fQogCkBAIC0xMDIyLDYgKzEwMzgsMTMgQEAgdm9pZCBld2tfdmlld19kaXNwbGF5KEV2YXNfT2Jq
ZWN0KiBld2tWaWV3LCBjb25zdCBJbnRSZWN0JiByZWN0KQogICAgIGlmICghc21hcnREYXRhLT5p
bWFnZSkKICAgICAgICAgcmV0dXJuOwogCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQor
ICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYpOworCisgICAg
ZXZhc19nbF9tYWtlX2N1cnJlbnQocHJpdi0+ZXZhc0dsLCBwcml2LT5ldmFzR2xTdXJmYWNlLCBw
cml2LT5ldmFzR2xDb250ZXh0KTsKKyAgICBwcml2LT52aWV3cG9ydEhhbmRsZXItPmRpc3BsYXko
cmVjdCk7CisjZW5kaWYKKwogICAgIGV2YXNfb2JqZWN0X2ltYWdlX2RhdGFfdXBkYXRlX2FkZChz
bWFydERhdGEtPmltYWdlLCByZWN0LngoKSwgcmVjdC55KCksIHJlY3Qud2lkdGgoKSwgcmVjdC5o
ZWlnaHQoKSk7CiB9CiAKQEAgLTEzMTUsMyArMTMzOCwxMyBAQCBXS1BhZ2VSZWYgZXdrX3ZpZXdf
cGFnZV9jcmVhdGUoRXZhc19PYmplY3QqIGV3a1ZpZXcpCiAKICAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8V0tQYWdlUmVmPihXS1JldGFpbihld2tfdmlld19wYWdlX2dldChuZXdFd2tWaWV3KSkpOwog
fQorCit2b2lkIGV3a192aWV3X2NvbnRlbnRzX3NpemVfY2hhbmdlZChjb25zdCBFdmFzX09iamVj
dCogZXdrVmlldywgY29uc3QgSW50U2l6ZSYgc2l6ZSkKK3sKKyNpZiBVU0UoQ09PUkRJTkFURURf
R1JBUEhJQ1MpCisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERh
dGEpOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYpOwor
CisgICAgcHJpdi0+dmlld3BvcnRIYW5kbGVyLT5kaWRDaGFuZ2VDb250ZW50c1NpemUoc2l6ZSk7
CisjZW5kaWYKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a192aWV3X3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a192aWV3X3ByaXZhdGUuaAppbmRleCAwZDVlY2E5YzlhMTczN2Y5MjM1YjZhNjkzMzA0Nzk3MWIx
ZjdjY2Y2Li5mZmMxYTJjYmYyOGY2ZjkzYzY2NWEyNGQ3ZjNhZWRlMzMyMGQ3NWNiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlld19wcml2YXRlLmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXdfcHJpdmF0ZS5o
CkBAIC02OSw2ICs2OSw3IEBAIHZvaWQgZXdrX3ZpZXdfcmVzb3VyY2VfbG9hZF9maW5pc2hlZChF
dmFzX09iamVjdCogZXdrVmlldywgdWludDY0X3QgcmVzb3VyY2VJZGVuCiB2b2lkIGV3a192aWV3
X3Jlc291cmNlX2xvYWRfaW5pdGlhdGVkKEV2YXNfT2JqZWN0KiBld2tWaWV3LCB1aW50NjRfdCBy
ZXNvdXJjZUlkZW50aWZpZXIsIEV3a19XZWJfUmVzb3VyY2UqIHJlc291cmNlLCBFd2tfVXJsX1Jl
cXVlc3QqIHJlcXVlc3QpOwogdm9pZCBld2tfdmlld19yZXNvdXJjZV9sb2FkX3Jlc3BvbnNlKEV2
YXNfT2JqZWN0KiBld2tWaWV3LCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIEV3a19Vcmxf
UmVzcG9uc2UqIHJlc3BvbnNlKTsKIHZvaWQgZXdrX3ZpZXdfcmVzb3VyY2VfcmVxdWVzdF9zZW50
KEV2YXNfT2JqZWN0KiBld2tWaWV3LCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIEV3a19V
cmxfUmVxdWVzdCogcmVxdWVzdCwgRXdrX1VybF9SZXNwb25zZSogcmVkaXJlY3RSZXNwb25zZSk7
Cit2b2lkIGV3a192aWV3X2NvbnRlbnRzX3NpemVfY2hhbmdlZChjb25zdCBFdmFzX09iamVjdCog
ZXdrVmlldywgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOwogCiBFdmFzX09iamVjdCogZXdrX3Zp
ZXdfYmFzZV9hZGQoRXZhcyogY2FudmFzLCBXS0NvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eS5oCmluZGV4IGQ2
ZjE1ZDFkMzEwZWQzNjQ5ZmE3ODkwYTZlMWU4ZTM1ZTMyYTMzMjEuLmZlNGZiODE0NWYzMGNiZTU0
YmVlZjYyNmI4MWUxODM2MTEyMmQzNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVD
b29yZGluYXRvclByb3h5LmgKQEAgLTM2LDkgKzM2LDExIEBACiAjaW5jbHVkZSA8d3RmL0Z1bmN0
aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCisjaWYgUExBVEZPUk0oUVQpCiBR
VF9CRUdJTl9OQU1FU1BBQ0UKIGNsYXNzIFFTR05vZGU7CiBRVF9FTkRfTkFNRVNQQUNFCisjZW5k
aWYKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVu
dC5oCmluZGV4IDUxOGRiOGUxY2VkNzAwNjhkMTBkNjQ4MDFjMDRkYWQ4MWRjODQzYjEuLmEzNDNh
ZTYxMDA5NzFhYWYzNTAyYjBhNDViMDNmMTUwZDlkYzc0NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BhZ2VDbGllbnQuaApAQCAtMTE4LDcgKzExOCw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgcGFnZURpZFJlcXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKSA9IDA7
CiAjZW5kaWYKICNpZiBQTEFURk9STShRVCkKLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQ29u
dGVudHNTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IGRpZEZpbmRab29tYWJsZUFyZWEoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBjb25zdCBXZWJD
b3JlOjpJbnRSZWN0JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZUZy
b21OYXZpZ2F0b3JRdE9iamVjdChjb25zdCBTdHJpbmcmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IHVwZGF0ZVRleHRJbnB1dFN0YXRlKCkgPSAwOwpAQCAtMTMxLDYgKzEzMCwxMCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZURvd25sb2FkUmVxdWVzdChEb3dubG9hZFByb3h5Kikg
PSAwOwogI2VuZGlmIC8vIFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpCiAKKyNpZiBQTEFU
Rk9STShRVCkgfHwgUExBVEZPUk0oRUZMKQorICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VDb250
ZW50c1NpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpID0gMDsKKyNlbmRpZgorCiAjaWYgUExB
VEZPUk0oUVQpIHx8IFBMQVRGT1JNKEdUSykKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnREcmFnKGNv
bnN0IFdlYkNvcmU6OkRyYWdEYXRhJiwgUGFzc1JlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGRyYWdJ
bWFnZSkgPSAwOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCmluZGV4IDVjNTIyYzA2ZmE1NzVkNzYzNzZlN2MxMDMyOWQ0N2M4M2NlODYxMTEuLjI0MTU0
MTJlM2FjNmFiYmZlZThmOWRiM2NlNWUyNzQzNGM1NzE2ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0yNjM1LDExICsyNjM1LDYgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OnNldE1lZGlhVm9sdW1lKGZsb2F0IHZvbHVtZSkKIH0KIAogI2lmIFBMQVRGT1JN
KFFUKQotdm9pZCBXZWJQYWdlUHJveHk6OmRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBJbnRT
aXplJiBzaXplKQotewotICAgIG1fcGFnZUNsaWVudC0+ZGlkQ2hhbmdlQ29udGVudHNTaXplKHNp
emUpOwotfQotCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmluZFpvb21hYmxlQXJlYShjb25zdCBJ
bnRQb2ludCYgdGFyZ2V0LCBjb25zdCBJbnRSZWN0JiBhcmVhKQogewogICAgIG1fcGFnZUNsaWVu
dC0+ZGlkRmluZFpvb21hYmxlQXJlYSh0YXJnZXQsIGFyZWEpOwpAQCAtMjY4MSw2ICsyNjc2LDEz
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVEb3dubG9hZFJlcXVlc3QoRG93bmxvYWRQcm94
eSogZG93bmxvYWQpCiB9CiAjZW5kaWYgLy8gUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkK
IAorI2lmIFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpCit2b2lkIFdlYlBhZ2VQcm94eTo6
ZGlkQ2hhbmdlQ29udGVudHNTaXplKGNvbnN0IEludFNpemUmIHNpemUpCit7CisgICAgbV9wYWdl
Q2xpZW50LT5kaWRDaGFuZ2VDb250ZW50c1NpemUoc2l6ZSk7Cit9CisjZW5kaWYKKwogI2lmIEVO
QUJMRShUT1VDSF9FVkVOVFMpCiB2b2lkIFdlYlBhZ2VQcm94eTo6bmVlZFRvdWNoRXZlbnRzKGJv
b2wgbmVlZFRvdWNoRXZlbnRzKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCmluZGV4IDU2MzNjZTc1MDJjNTc2NWIwNTVkZjYwZmQ0OGE1ZGM4YzBmNDU0YjIuLjBmMjI5
NzAwZGY3ZDcyZjBkMzZhMjgzMWQwYTcxMDk3ZjlhOTA2MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTgzMSw5ICs4MzEsMTMgQEAgcHJpdmF0ZToKICNlbmRp
ZgogCiAjaWYgUExBVEZPUk0oUVQpCi0gICAgdm9pZCBkaWRDaGFuZ2VDb250ZW50c1NpemUoY29u
c3QgV2ViQ29yZTo6SW50U2l6ZSYpOwogICAgIHZvaWQgZGlkRmluZFpvb21hYmxlQXJlYShjb25z
dCBXZWJDb3JlOjpJbnRQb2ludCYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKICNlbmRpZgor
CisjaWYgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkKKyAgICB2b2lkIGRpZENoYW5nZUNv
bnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CisjZW5kaWYKKwogI2lmIEVOQUJM
RShUT1VDSF9FVkVOVFMpCiAgICAgdm9pZCBuZWVkVG91Y2hFdmVudHMoYm9vbCk7CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
CmluZGV4IDM3NjkwNDcwMThkM2Y3ZGVlNTBjM2U4YTdjNDYwNzA1MTQxNjUwZmUuLjdmYTgxYmU1
YTVlZWQ3ZTA4OGM5ZDc4MjgzYmQxNTMyZjYzZmNiZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNzMsMTIgKzczLDE2IEBA
IG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgUGFnZURpZFJlcXVlc3RTY3JvbGwoV2Vi
Q29yZTo6SW50UG9pbnQgcG9pbnQpCiAjZW5kaWYKICNpZiBQTEFURk9STShRVCkKLSAgICBEaWRD
aGFuZ2VDb250ZW50c1NpemUoV2ViQ29yZTo6SW50U2l6ZSBuZXdTaXplKQogICAgIERpZEZpbmRa
b29tYWJsZUFyZWEoV2ViQ29yZTo6SW50UG9pbnQgdGFyZ2V0LCBXZWJDb3JlOjpJbnRSZWN0IGFy
ZWEpCiAgICAgQXV0aGVudGljYXRpb25SZXF1aXJlZFJlcXVlc3QoV1RGOjpTdHJpbmcgaG9zdG5h
bWUsIFdURjo6U3RyaW5nIHJlYWxtLCBXVEY6OlN0cmluZyBwcmVmaWxsZWRVc2VybmFtZSkgLT4g
KFdURjo6U3RyaW5nIHVzZXJuYW1lLCBXVEY6OlN0cmluZyBwYXNzd29yZCkKICAgICBDZXJ0aWZp
Y2F0ZVZlcmlmaWNhdGlvblJlcXVlc3QoV1RGOjpTdHJpbmcgaG9zdG5hbWUpIC0+IChib29sIGln
bm9yZUVycm9ycykKICAgICBQcm94eUF1dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KFdURjo6
U3RyaW5nIGhvc3RuYW1lLCB1aW50MTZfdCBwb3J0LCBXVEY6OlN0cmluZyBwcmVmaWxsZWRVc2Vy
bmFtZSkgLT4gKFdURjo6U3RyaW5nIHVzZXJuYW1lLCBXVEY6OlN0cmluZyBwYXNzd29yZCkKICNl
bmRpZgorCisjaWYgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkKKyAgICBEaWRDaGFuZ2VD
b250ZW50c1NpemUoV2ViQ29yZTo6SW50U2l6ZSBuZXdTaXplKQorI2VuZGlmCisKICNpZiBFTkFC
TEUoVE9VQ0hfRVZFTlRTKQogICAgIE5lZWRUb3VjaEV2ZW50cyhib29sIG5lZWRUb3VjaEV2ZW50
cykKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29v
cmRpbmF0b3IuY3BwCmluZGV4IDEzNWI3ZjVjNDAzNmQ4ZWFhZDFhMDMzNzA4YzgzYThiMTFhNWQ4
MWEuLjYyMWI1YzEyYmU4MDM5NTYzZTcwNTEyYTc2NGQ4MzU1MjYzODY4ZDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xh
eWVyVHJlZUNvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvci5jcHAKQEAgLTI2
LDYgKzI2LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCisjaWYgVVNFKENPT1JESU5BVEVE
X0dSQVBISUNTKQogI2luY2x1ZGUgIkxheWVyVHJlZUNvb3JkaW5hdG9yLmgiCiAKICNpbmNsdWRl
ICJDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaCIKQEAgLTU1OCwxMiArNTU5LDEwIEBAIHZvaWQg
TGF5ZXJUcmVlQ29vcmRpbmF0b3I6OnNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgSW50UmVj
dCYgcmVjdCwgZmxvYXQgc2NhCiAgICAgICAgIG1fc2hvdWxkU2VuZFNjcm9sbFBvc2l0aW9uVXBk
YXRlID0gdHJ1ZTsKIH0KIAotI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIHZvaWQgTGF5
ZXJUcmVlQ29vcmRpbmF0b3I6OnNjaGVkdWxlQW5pbWF0aW9uKCkKIHsKICAgICBzY2hlZHVsZUxh
eWVyRmx1c2goKTsKIH0KLSNlbmRpZgogCiB2b2lkIExheWVyVHJlZUNvb3JkaW5hdG9yOjpyZW5k
ZXJOZXh0RnJhbWUoKQogewpAQCAtNjA3LDMgKzYwNiw0IEBAIFBhc3NPd25QdHI8V2ViQ29yZTo6
R3JhcGhpY3NDb250ZXh0PiBMYXllclRyZWVDb29yZGluYXRvcjo6YmVnaW5Db250ZW50VXBkYXRl
KGNvCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAorI2VuZGlmIC8vIFVTRShDT09SRElOQVRF
RF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29y
ZGluYXRvci5oCmluZGV4IDQ0OTQ2ZGIwMWUwNmM0ZTdiNTNiMTJiODFmN2Q0NDI1YWU2ZDY5NDku
LmNjOGI0MTYzMWMyNTJlYjIwZjk5NzcwNTQ4N2YyYzgwMjI4ZjJhNzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVy
VHJlZUNvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuaApAQCAtMjAsNiArMjAs
OCBAQAogI2lmbmRlZiBMYXllclRyZWVDb29yZGluYXRvcl9oCiAjZGVmaW5lIExheWVyVHJlZUNv
b3JkaW5hdG9yX2gKIAorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKKwogI2luY2x1ZGUg
IkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oIgogI2luY2x1ZGUgIkxheWVyVHJlZUNvbnRleHQu
aCIKICNpbmNsdWRlICJMYXllclRyZWVIb3N0LmgiCkBAIC04Niw5ICs4OCw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgc3luY0ZpeGVkTGF5ZXJzKCk7CiAKICAgICB2aXJ0dWFsIFBhc3NP
d25QdHI8V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0PiBiZWdpbkNvbnRlbnRVcGRhdGUoY29uc3Qg
V2ViQ29yZTo6SW50U2l6ZSYsIFNoYXJlYWJsZUJpdG1hcDo6RmxhZ3MsIFNoYXJlYWJsZVN1cmZh
Y2U6OkhhbmRsZSYsIFdlYkNvcmU6OkludFBvaW50Jik7Ci0jaWYgVVNFKENPT1JESU5BVEVEX0dS
QVBISUNTKQogICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUFuaW1hdGlvbigpIE9WRVJSSURFOwot
I2VuZGlmCiAKIHByb3RlY3RlZDoKICAgICBleHBsaWNpdCBMYXllclRyZWVDb29yZGluYXRvcihX
ZWJQYWdlKik7CkBAIC0xNDEsNCArMTQxLDYgQEAgcHJpdmF0ZToKIAogfQogCisjZW5kaWYKKwog
I2VuZGlmIC8vIExheWVyVHJlZUNvb3JkaW5hdG9yX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmNwcAppbmRleCBiZjAxMWUwODVhNmUy
MGE1NWVmMmUwOTdjMDM2MjMyYmM0NzFmYjA5Li44N2I0NmIzNzJkMTNjOGU2MjlmNmM3NDU5Mzk4
ZjU3OTM3YmRhMDExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvTGF5ZXJUcmVlSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0xheWVyVHJlZUhvc3QuY3BwCkBAIC0zNCw3ICszNCw3IEBACiAjZW5kaWYKICNlbmRpZgog
Ci0jaWYgUExBVEZPUk0oUVQpCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogI2luY2x1
ZGUgIkxheWVyVHJlZUNvb3JkaW5hdG9yLmgiCiAjZW5kaWYKIApAQCAtNTIsNyArNTIsNyBAQCBQ
YXNzUmVmUHRyPExheWVyVHJlZUhvc3Q+IExheWVyVHJlZUhvc3Q6OmNyZWF0ZShXZWJQYWdlKiB3
ZWJQYWdlKQogICAgIHJldHVybiBMYXllclRyZWVIb3N0Q0FNYWM6OmNyZWF0ZSh3ZWJQYWdlKTsK
ICNlbGlmIFBMQVRGT1JNKFdJTikgJiYgSEFWRShXS1FDQSkKICAgICByZXR1cm4gTGF5ZXJUcmVl
SG9zdENBV2luOjpjcmVhdGUod2ViUGFnZSk7Ci0jZWxpZiBQTEFURk9STShRVCkKKyNlbGlmIFVT
RShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICByZXR1cm4gTGF5ZXJUcmVlQ29vcmRpbmF0b3I6
OmNyZWF0ZSh3ZWJQYWdlKTsKICNlbGlmIFBMQVRGT1JNKEdUSykgJiYgVVNFKFRFWFRVUkVfTUFQ
UEVSX0dMKQogICAgIHJldHVybiBMYXllclRyZWVIb3N0R3RrOjpjcmVhdGUod2ViUGFnZSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9z
dC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaApp
bmRleCA5YzJlNzQ0ZjRkZmQzMWIxOTcwOGQxMmViMTRmMzU5OTc1YTJiYmE4Li43MzY1ODQ0Zjcx
YmNkYzMxZmFkN2RjZDk0OGVhZDAwMTA4Mjk3NTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmgKQEAgLTExOSw3ICsxMTksNyBAQCBw
cm90ZWN0ZWQ6CiAjZW5kaWYKIH07CiAKLSNpZiAhUExBVEZPUk0oV0lOKSAmJiAhUExBVEZPUk0o
UVQpCisjaWYgIVBMQVRGT1JNKFdJTikgJiYgIVVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIGlu
bGluZSBib29sIExheWVyVHJlZUhvc3Q6OnN1cHBvcnRzQWNjZWxlcmF0ZWRDb21wb3NpdGluZygp
CiB7CiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL2VmbC9XZWJQcm9jZXNzTWFpbkVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L2VmbC9XZWJQcm9jZXNzTWFpbkVmbC5jcHAKaW5kZXggMTYyNzhhMzhlNDg1M2QzNGJlNjc4ZjQz
NjA2ZmYxMzk3NDEyZmM5Ny4uNWVjZjJkMmE5ZmQxMWMwNjE1ZjBhMDgwZDhiMjk5NjZhODZjZmMy
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9lZmwvV2ViUHJvY2Vzc01h
aW5FZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvZWZsL1dlYlByb2Nlc3NN
YWluRWZsLmNwcApAQCAtMzYsNiArMzYsMTAgQEAKICNpbmNsdWRlIDx1bmlzdGQuaD4KICNpbmNs
dWRlIDx3dGYvTWFpblRocmVhZC5oPgogCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQor
I2luY2x1ZGUgIkNvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oIgorI2VuZGlmCisKIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTc2LDYgKzgwLDEwIEBA
IFdLX0VYUE9SVCBpbnQgV2ViUHJvY2Vzc01haW5FZmwoaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkK
ICAgICAgICAgZ19vYmplY3RfdW5yZWYocmVzb2x2ZXJFZmwpOwogICAgIH0KIAorI2lmIFVTRShD
T09SRElOQVRFRF9HUkFQSElDUykKKyAgICBDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXI6OmluaXRG
YWN0b3J5KCk7CisjZW5kaWYKKwogICAgIGludCBzb2NrZXQgPSBhdG9pKGFyZ3ZbMV0pOwogICAg
IFdlYlByb2Nlc3M6OnNoYXJlZCgpLmluaXRpYWxpemUoc29ja2V0LCBSdW5Mb29wOjptYWluKCkp
OwogICAgIFJ1bkxvb3A6OnJ1bigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNF
ZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQppbmRleCBjZDZiMjJiMjBk
NzZmN2QzZjkxODM1ODE4Y2Q1MTRmNWY4MzY1ZGJjLi4wZjBmMmYyYTIyNjIyY2RkMmY5MDZmN2Rh
Y2FlM2MwYmY3OGIyYTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFr
ZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQpAQCAtMTU4LDMgKzE1OCwyMyBA
QCBJRiAoRU5BQkxFX1dFQkdMKQogRU5ESUYgKCkKIAogU0VUKENQQUNLX1NPVVJDRV9HRU5FUkFU
T1IgVEJaMikKKworSUYgKFdURl9VU0VfVElMRURfQkFDS0lOR19TVE9SRSkKKyAgU0VUKFdURl9V
U0VfQUNDRUxFUkFURURfQ09NUE9TSVRJTkcgMSkKKyAgQUREX0RFRklOSVRJT05TKC1EV1RGX1VT
RV9BQ0NFTEVSQVRFRF9DT01QT1NJVElORz0xKQorCisgIFNFVChXVEZfVVNFX0NPT1JESU5BVEVE
X0dSQVBISUNTIDEpCisgIEFERF9ERUZJTklUSU9OUygtRFdURl9VU0VfQ09PUkRJTkFURURfR1JB
UEhJQ1M9MSkKKworICBTRVQoV1RGX1VTRV9URVhUVVJFX01BUFBFUiAxKQorICBBRERfREVGSU5J
VElPTlMoLURXVEZfVVNFX1RFWFRVUkVfTUFQUEVSPTEpCisKKyAgU0VUKFdURl9VU0VfVEVYVFVS
RV9NQVBQRVJfR0wgMSkKKyAgQUREX0RFRklOSVRJT05TKC1EV1RGX1VTRV9URVhUVVJFX01BUFBF
Ul9HTD0xKQorCisgIFNFVChXVEZfVVNFXzNEX0dSQVBISUNTIDEpCisgIEFERF9ERUZJTklUSU9O
UygtRFdURl9VU0VfM0RfR1JBUEhJQ1M9MSkKKworICBGSU5EX1BBQ0tBR0UoT3BlbkdMIFJFUVVJ
UkVEKQorRU5ESUYoKQorCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFu
Z2VMb2cKaW5kZXggZjE4ODM3YWVjMzM1ZTEwYjhlZTlkNmFlZDRmZjIwNjgzYjUwYmUwMy4uN2Nh
OTg3ODRlMzk4MWNlZTRhYjM3ZjNiNGZkMTNhMzM1OTRmMGFiYiAxMDA2NDQKLS0tIGEvVG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA4
LTA2ICBZb3VuZ1RhZWNrIFNvbmcgIDx5b3VuZ3RhZWNrLnNvbmdAc2Ftc3VuZy5jb20+CisKKyAg
ICAgICAgW1dLMl1bRUZMXSBJbXBsZW1lbnQgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgb24gV0sy
IEVmbCBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04OTg0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEltcGxlbWVudCBhY2NlbGVyYXRlZCBjb21wb3NpdGlvbiB3aXRoIFRpbGVkQmFja2luZ1N0b3Jl
IG9uIFdLMiBFZmwgcG9ydC4KKyAgICAgICAgQWRkIE9QRU5HTF9MSUJSQVJJRVMgaW4gQ01ha2VM
aXN0LnR4dC4KKworICAgICAgICAqIE1pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dDoKKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtRWZsLmNtYWtlOgorCiAyMDEyLTA4LTA1
ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZC4gQ2hhbmdlIG15IGVtYWlsIGFkZHJlc3MgZm9yIHdhdGNoIGxpc3QuCmRpZmYgLS1n
aXQgYS9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQgYi9Ub29scy9NaW5pQnJv
d3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKaW5kZXggZmM0ZmNmMzcwZTE1NzVmOGNjYWQzZTYzZmQ3
YjlmMzVmY2IwM2I5Ni4uYWUzNTlhNjY4ZjY0M2M2N2Q3NmUwMWJkMzA1ZTFiZmE1MjkyZDdjMSAx
MDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0CisrKyBiL1Rv
b2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dApAQCAtMjgsNiArMjgsNyBAQCBTRVQo
TWluaUJyb3dzZXJfTElCUkFSSUVTCiAgICAgJHtMSUJTT1VQMjRfTElCUkFSSUVTfQogICAgICR7
TElCWE1MMl9MSUJSQVJJRVN9CiAgICAgJHtMSUJYU0xUX0xJQlJBUklFU30KKyAgICAke09QRU5H
TF9MSUJSQVJJRVN9CiAgICAgJHtTUUxJVEVfTElCUkFSSUVTfQogKQogCmRpZmYgLS1naXQgYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtRWZsLmNtYWtlIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCA2YzkzMDkxMGIzZGM4ZmJmZjAwODFhYTAw
Mjk5NmYxMGZhNjdhYzY1Li5lOTY3ZDU1N2M4ZTQ4ZGY5M2I2Y2ZjNThlNmEwZTFmMjg1NzQyYmQy
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtRWZsLmNtYWtlCisr
KyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTQzLDYgKzQz
LDcgQEAgTElTVChBUFBFTkQgV2ViS2l0VGVzdFJ1bm5lcl9MSUJSQVJJRVMKICAgICAke0VESkVf
TElCUkFSSUVTfQogICAgICR7RUZMREVQU19MSUJSQVJJRVN9CiAgICAgJHtHbGliX0xJQlJBUklF
U30KKyAgICAke09QRU5HTF9MSUJSQVJJRVN9CiAgICAgJHtXVEZfTElCUkFSWV9OQU1FfQogKQog
CmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggZTk5MjZhN2M4ZWFmMDZh
M2Y4NWE5NmIyNmQwZjc3N2QxZmRhNGZlNC4uZDVhMTM3NTEyNzcwYjk3M2NjOWJmZDE1NWIwNTVk
ZWM4YWFjZTc1YiAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDEyLTA4LTA2ICBZb3VuZ1RhZWNrIFNvbmcgIDx5b3VuZ3RhZWNrLnNvbmdA
c2Ftc3VuZy5jb20+CisKKyAgICAgICAgW1dLMl1bRUZMXSBJbXBsZW1lbnQgYWNjZWxlcmF0ZWQg
Y29tcG9zaXRpbmcgb24gV0syIEVmbCBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04OTg0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBhY2NlbGVyYXRlZCBjb21wb3NpdGlvbiB3aXRo
IFRpbGVkQmFja2luZ1N0b3JlIG9uIFdLMiBFZmwgcG9ydC4KKyAgICAgICAgVGhlc2UgY29kZXMg
YXJlIGJhc2VkIG9uIENPT1JESU5BVEVEX0dSQVBISUNTLgorICAgICAgICBBZGQgQ09PUkRJTkFU
RURfR1JBUEhJQ1MgcmVsYXRlZCBkZWZpbml0aW9ucyBpbiBPcHRpb25zRWZsLmNtYWtlLgorCisg
ICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2U6CisKIDIwMTItMDgtMDMgIFBh
dHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0NNYWtlXVtX
SU5dIERpc2FibGUgQysrIGV4Y2VwdGlvbnMgYW5kIFJUVEkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157093</attachid>
            <date>2012-08-07 20:06:15 -0700</date>
            <delta_ts>2012-08-07 22:38:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89840-20120808120549.patch</filename>
            <type>text/plain</type>
            <size>33502</size>
            <attacher name="YoungTaeck Song">youngtaeck.song</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0OTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNzAwM2Q1MDk2NDM2MmZm
Njk2NTk0NTYwN2MxNzc5ZTAzZDc4YmZjNC4uMDNlZjM2NjUwOWU3YzVkNTE0YmQwNGRjOTNhNDZm
ZDk2NmU4MjM1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDEyLTA4LTA3ICBZb3Vu
Z1RhZWNrIFNvbmcgIDx5b3VuZ3RhZWNrLnNvbmdAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW1dL
Ml1bRUZMXSBJbXBsZW1lbnQgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgb24gV0syIEVmbCBwb3J0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTg0MAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5vYW0gUm9zZW50aGFsLgorCisgICAgICAgIEltcGxlbWVu
dCBhY2NlbGVyYXRlZCBjb21wb3NpdGlvbiB3aXRoIFRpbGVkQmFja2luZ1N0b3JlIG9uIFdLMiBF
ZmwgcG9ydC4KKyAgICAgICAgVGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBiYXNlZCBvbiBDT09SRElO
QVRFRF9HUkFQSElDUy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIFBs
YXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFNoYXJlZC9TaGFyZWFibGVTdXJmYWNlLmNwcDoK
KyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAgKiBT
aGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9l
ZmwvUGFnZUNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6
UGFnZUNsaWVudEltcGwpOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6ZGlkQ2hh
bmdlQ29udGVudHNTaXplKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9lZmwvUGFnZUNsaWVudEltcGwuaDoKKyAgICAgICAgKFBhZ2VDbGllbnRJbXBsKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9WaWV3cG9ydFByb2Nlc3Nvci5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6Vmlld3BvcnRQcm9jZXNzb3I6OlZp
ZXdwb3J0UHJvY2Vzc29yKToKKyAgICAgICAgKFdlYktpdDo6Vmlld3BvcnRQcm9jZXNzb3I6On5W
aWV3cG9ydFByb2Nlc3Nvcik6CisgICAgICAgIChXZWJLaXQ6OlZpZXdwb3J0UHJvY2Vzc29yOjpk
aXNwbGF5KToKKyAgICAgICAgKFdlYktpdDo6Vmlld3BvcnRQcm9jZXNzb3I6OnVwZGF0ZVZpZXdw
b3J0U2l6ZSk6CisgICAgICAgIChXZWJLaXQ6OlZpZXdwb3J0UHJvY2Vzc29yOjpzZXRWaXNpYmxl
Q29udGVudHNSZWN0KToKKyAgICAgICAgKFdlYktpdDo6Vmlld3BvcnRQcm9jZXNzb3I6OmRpZENo
YW5nZUNvbnRlbnRzU2l6ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvVmlld3BvcnRQ
cm9jZXNzb3IuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoVmlld3BvcnRQ
cm9jZXNzb3IpOgorICAgICAgICAoV2ViS2l0OjpWaWV3cG9ydFByb2Nlc3Nvcjo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYktpdDo6Vmlld3BvcnRQcm9jZXNzb3I6OmRyYXdpbmdBcmVhKToKKyAgICAg
ICAgKFdlYktpdDo6Vmlld3BvcnRQcm9jZXNzb3I6OnZpZXdTaXplKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHA6CisgICAgICAgIChfRXdrX1ZpZXdfUHJpdmF0ZV9E
YXRhKToKKyAgICAgICAgKF9ld2tfdmlld19zbWFydF9jYWxjdWxhdGUpOgorICAgICAgICAoZXdr
X3ZpZXdfYmFzZV9hZGQpOgorICAgICAgICAoZXdrX3ZpZXdfZGlzcGxheSk6CisgICAgICAgIChl
d2tfdmlld19jb250ZW50c19zaXplX2NoYW5nZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
ZWZsL2V3a192aWV3X3ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5o
OgorICAgICAgICAoUGFnZUNsaWVudCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6
OmRpZENoYW5nZUNvbnRlbnRzU2l6ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oOgorICAgICAgICAoV2ViUGFnZVByb3h5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRy
ZWVDb29yZGluYXRvci9MYXllclRyZWVDb29yZGluYXRvci5jcHA6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL0xheWVyVHJlZUNvb3JkaW5hdG9yL0xheWVyVHJlZUNvb3JkaW5hdG9yLmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpMYXllclRyZWVIb3N0OjpjcmVhdGUpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9MYXllclRyZWVIb3N0Lmg6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvZWZsL1dlYlByb2Nlc3NNYWluRWZsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc01haW5FZmwpOgorCiAyMDEyLTA4LTA3ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5
QHdlYmtpdC5vcmc+CiAKICAgICAgICBbUXRdIE5ldyBBUEkgdGVzdHMgaW50cm91ZHVjZWQgaW4g
cjExOTcyMyBtYXJrZWQgYXMgZmFpbCwgYnV0IHBhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKaW5kZXgg
MjJkNmY0NmRiMmYyOGVlYTk5OTBiYjM1N2JiNThkZGIxZDJkMDBjNy4uN2QxMGM3ZGNkMTUxY2M3
NzljOTFiOTRlOTQwOWYxMTYxYjAyYjMyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ01h
a2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKQEAgLTE1LDYg
KzE1LDcgQEAgU0VUKFdlYktpdDJfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQktJVDJf
RElSfS9VSVByb2Nlc3MvQVBJL0MiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9BUEkv
Y3BwIgogICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24iCisgICAg
IiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzIgogICAgICIke1dF
QktJVDJfRElSfS9VSVByb2Nlc3MvRG93bmxvYWRzIgogICAgICIke1dFQktJVDJfRElSfS9VSVBy
b2Nlc3MvTGF1bmNoZXIiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9Ob3RpZmljYXRp
b25zIgpAQCAtNDIsNiArNDMsNyBAQCBTRVQoV2ViS2l0Ml9JTkNMVURFX0RJUkVDVE9SSUVTCiAg
ICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZSIKICAgICAiJHtX
RUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydCIKICAgICAiJHtXRUJLSVQyX0RJ
Un0vV2ViUHJvY2Vzcy9XZWJQYWdlIgorICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcyIKICAgICAiJHtXRUJDT1JFX0RJUn0iCiAgICAgIiR7
V0VCQ09SRV9ESVJ9L01vZHVsZXMvYmF0dGVyeSIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxl
cy9pbnRlbnRzIgpAQCAtNzEsNiArNzMsOCBAQCBTRVQoV2ViS2l0Ml9JTkNMVURFX0RJUkVDVE9S
SUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMiCiAgICAg
IiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL2hhcmZidXp6IgogICAgICIke1dFQkNP
UkVfRElSfS9wbGF0Zm9ybS9ncmFwaGljcy9oYXJmYnV6ei9uZyIKKyAgICAiJHtXRUJDT1JFX0RJ
Un0vcGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMiCisgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcCIKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3JhcGhp
Y3MvdHJhbnNmb3JtcyIKICAgICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vbmV0d29yayIKICAg
ICAiJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vc3FsIgpAQCAtMTQxLDcgKzE0NSw5IEBAIFNFVChX
ZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvU2VjdXJpdHlPcmlnaW5EYXRhLmNwcAogICAgIFNo
YXJlZC9TZXNzaW9uU3RhdGUuY3BwCiAgICAgU2hhcmVkL1NoYXJlYWJsZUJpdG1hcC5jcHAKKyAg
ICBTaGFyZWQvU2hhcmVhYmxlU3VyZmFjZS5jcHAKICAgICBTaGFyZWQvU3RhdGlzdGljc0RhdGEu
Y3BwCisgICAgU2hhcmVkL1N1cmZhY2VVcGRhdGVJbmZvLmNwcAogICAgIFNoYXJlZC9VcGRhdGVJ
bmZvLmNwcAogICAgIFNoYXJlZC9WaXNpdGVkTGlua1RhYmxlLmNwcAogICAgIFNoYXJlZC9XZWJC
YWNrRm9yd2FyZExpc3RJdGVtLmNwcApAQCAtMzIzLDYgKzMyOSw3IEBAIFNFVChXZWJLaXQyX1NP
VVJDRVMKICAgICBVSVByb2Nlc3MvQXV0aGVudGljYXRpb24vV2ViQ3JlZGVudGlhbC5jcHAKICAg
ICBVSVByb2Nlc3MvQXV0aGVudGljYXRpb24vV2ViUHJvdGVjdGlvblNwYWNlLmNwcAogCisgICAg
VUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRCYWNraW5nU3RvcmUuY3Bw
CiAgICAgVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQ
cm94eS5jcHAKICAgICBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVSZW5k
ZXJlci5jcHAKICAgICAKQEAgLTQ2MSw2ICs0NjgsNyBAQCBTRVQoV2ViS2l0Ml9TT1VSQ0VTCiAg
ICAgV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwCiAgICAgV2ViUHJvY2Vzcy9X
ZWJQYWdlL1BhZ2VPdmVybGF5LmNwcAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9UYXBIaWdobGln
aHRDb250cm9sbGVyLmNwcAorICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9VcGRhdGVBdGxhcy5jcHAK
ICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3BwCiAgICAg
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcAogICAgIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJGcmFtZS5jcHAKQEAgLTQ3Miw2ICs0ODAsNyBAQCBTRVQoV2ViS2l0Ml9TT1VSQ0VT
CiAKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRl
ZEdyYXBoaWNzTGF5ZXIuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvQ29vcmRpbmF0ZWRUaWxlLmNwcAorICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcAogKQogCiBTRVQoV2ViS2l0Ml9N
RVNTQUdFU19JTl9GSUxFUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwu
Y21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCA3MTVlMTE3Y2Ji
OWE1NTBlZDAxODVhM2FiOTdmMTA0NjhlNzdiMzQxLi5iMmI1MWMwYWU5ZThjMDllNWQ4Y2M4OGI5
MmZmMzQ2MzA3Njg1NWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5j
bWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtMzgsNiArMzgs
NyBAQCBMSVNUKEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBVSVByb2Nlc3MvQVBJL0Mvc291
cC9XS1NvdXBSZXF1ZXN0TWFuYWdlci5jcHAKIAogICAgIFVJUHJvY2Vzcy9BUEkvZWZsL0JhdHRl
cnlQcm92aWRlci5jcHAKKyAgICBVSVByb2Nlc3MvQVBJL2VmbC9FZmxWaWV3cG9ydEhhbmRsZXIu
Y3BwCiAgICAgVUlQcm9jZXNzL0FQSS9lZmwvTmV0d29ya0luZm9Qcm92aWRlci5jcHAKICAgICBV
SVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5jcHAKICAgICBVSVByb2Nlc3MvQVBJL2Vm
bC9WaWJyYXRpb25Qcm92aWRlci5jcHAKQEAgLTE1MSw2ICsxNTIsNyBAQCBMSVNUKEFQUEVORCBX
ZWJLaXQyX0xJQlJBUklFUwogICAgICR7RUZSRUVUX0xJQlJBUklFU30KICAgICAke0ZyZWV0eXBl
X0xJQlJBUklFU30KICAgICAke0xJQlhNTDJfTElCUkFSSUVTfQorICAgICR7T1BFTkdMX0xJQlJB
UklFU30KICAgICAke1NRTElURV9MSUJSQVJJRVN9CiAgICAgJHtGT05UQ09ORklHX0xJQlJBUklF
U30KICAgICAke1BOR19MSUJSQVJZfQpAQCAtMTcyLDYgKzE3NCw3IEBAIExJU1QgKEFQUEVORCBX
ZWJQcm9jZXNzX0xJQlJBUklFUwogICAgICR7RVZBU19MSUJSQVJJRVN9CiAgICAgJHtMSUJYTUwy
X0xJQlJBUklFU30KICAgICAke0xJQlhTTFRfTElCUkFSSUVTfQorICAgICR7T1BFTkdMX0xJQlJB
UklFU30KICAgICAke1NRTElURV9MSUJSQVJJRVN9CiApCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9TaGFyZWFibGVTdXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9TaGFyZWFibGVTdXJmYWNlLmNwcAppbmRleCAyZWY1YTRiYjk3YTc1ZGMyZjIzZmUyOTJkNDdm
ZGFlMmVlZDNmZWY3Li4yMjhjMGU1ZGNhZWMyMTlhMDcyNWE0ZTFhOWMxODFiNmUzOTA0NDVhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2hhcmVhYmxlU3VyZmFjZS5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1NoYXJlYWJsZVN1cmZhY2UuY3BwCkBAIC0yMCw2ICsy
MCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2hhcmVhYmxlU3VyZmFjZS5o
IgogCisjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmgiCiAKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVIpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IDk5NTYzZjRlN2VlMGQz
NDZlMGEwMzNiODNkNTM2Y2I2M2FiZmNmZTEuLjdkNDBiYzg2NjY3NDdiZmY4NTQ1NTM0MGFmZWRi
NTdjYzQxNGVmZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuY3BwCkBAIC00OSw2ICs0OSw3IEBACiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBI
SUNTKQogI2luY2x1ZGUgPFdlYkNvcmUvQW5pbWF0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9G
bG9hdFBvaW50M0QuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0xlbmd0aC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvVHJhbnNmb3JtYXRpb25NYXRyaXguaD4KIAogI2lmIEVOQUJMRShDU1NfRklMVEVSUykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMu
aCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAppbmRleCBi
NzY3OGM1MjU0OWNjMjVkYzlhMzBjNzBlODgwYTgxODllYmEzMmI3Li5iMDhmMTE4Zjk3YjgwMTU3
Njk4YTcyMThlNmQ2OTdmMzE1YmYwN2EyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5oCkBAIC02NywzMCArNjcsMTkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogfQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShRVCkKKyNpZiBVU0UoQ09PUkRJTkFURURf
R1JBUEhJQ1MpCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgQW5pbWF0aW9uOwogICAg
IGNsYXNzIEZsb2F0UG9pbnQzRDsKLSAgICBjbGFzcyBNYXRyaXgzRFRyYW5zZm9ybU9wZXJhdGlv
bjsKLSAgICBjbGFzcyBNYXRyaXhUcmFuc2Zvcm1PcGVyYXRpb247Ci0gICAgY2xhc3MgUGVyc3Bl
Y3RpdmVUcmFuc2Zvcm1PcGVyYXRpb247Ci0gICAgY2xhc3MgUm90YXRlVHJhbnNmb3JtT3BlcmF0
aW9uOwotICAgIGNsYXNzIFNjYWxlVHJhbnNmb3JtT3BlcmF0aW9uOwotICAgIGNsYXNzIFNrZXdU
cmFuc2Zvcm1PcGVyYXRpb247Ci0gICAgY2xhc3MgVGltaW5nRnVuY3Rpb247Ci0gICAgY2xhc3Mg
VHJhbnNmb3JtT3BlcmF0aW9uOwotICAgIGNsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbnM7CiAgICAg
Y2xhc3MgVHJhbnNmb3JtYXRpb25NYXRyaXg7Ci0gICAgY2xhc3MgVHJhbnNsYXRlVHJhbnNmb3Jt
T3BlcmF0aW9uOwogICAgIHN0cnVjdCBMZW5ndGg7CiB9Ci0jZW5kaWYKIAotI2lmIFVTRShDT09S
RElOQVRFRF9HUkFQSElDUykgJiYgRU5BQkxFKENTU19GSUxURVJTKQorI2lmIEVOQUJMRShDU1Nf
RklMVEVSUykKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBGaWx0ZXJPcGVyYXRpb25z
OwogfQogI2VuZGlmCisjZW5kaWYKIAogbmFtZXNwYWNlIENvcmVJUEMgewogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FZmxWaWV3cG9ydEhhbmRsZXIuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRWZsVmlld3BvcnRIYW5kbGVyLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mNTc0MDgyMmVlNDAyMDRkNTlkZDlmMTg5OWI4OGRlMzBjNTc4MWQyCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRWZsVmll
d3BvcnRIYW5kbGVyLmNwcApAQCAtMCwwICsxLDk5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFZmxWaWV3cG9ydEhhbmRsZXIuaCIKKwor
I2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKKworI2luY2x1ZGUgIkxheWVyVHJlZUNvb3Jk
aW5hdG9yUHJveHkuaCIKKyNpbmNsdWRlICJMYXllclRyZWVSZW5kZXJlci5oIgorI2luY2x1ZGUg
IlRyYW5zZm9ybWF0aW9uTWF0cml4LmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCitu
YW1lc3BhY2UgV2ViS2l0IHsKKworRWZsVmlld3BvcnRIYW5kbGVyOjpFZmxWaWV3cG9ydEhhbmRs
ZXIoUGFnZUNsaWVudEltcGwqIHBhZ2VDbGllbnRJbXBsKQorICAgIDogbV9wYWdlQ2xpZW50SW1w
bChwYWdlQ2xpZW50SW1wbCkKKyAgICAsIG1fc2NhbGVGYWN0b3IoMSkKK3sKKyAgICBBU1NFUlQo
bV9wYWdlQ2xpZW50SW1wbCk7Cit9CisKK0VmbFZpZXdwb3J0SGFuZGxlcjo6fkVmbFZpZXdwb3J0
SGFuZGxlcigpCit7Cit9CisKK3ZvaWQgRWZsVmlld3BvcnRIYW5kbGVyOjpkaXNwbGF5KGNvbnN0
IEludFJlY3QmIHJlY3QpCit7CisgICAgV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXggbWF0
cml4OworICAgIG1hdHJpeC5zZXRNYXRyaXgobV9zY2FsZUZhY3RvciwgMCwgMCwgbV9zY2FsZUZh
Y3RvciwgLW1fdmlzaWJsZUNvbnRlbnRSZWN0LngoKSwgLW1fdmlzaWJsZUNvbnRlbnRSZWN0Lnko
KSk7CisKKyAgICBMYXllclRyZWVSZW5kZXJlciogcmVuZGVyZXIgPSBkcmF3aW5nQXJlYSgpLT5s
YXllclRyZWVDb29yZGluYXRvclByb3h5KCktPmxheWVyVHJlZVJlbmRlcmVyKCk7CisgICAgcmVu
ZGVyZXItPnNldEFjdGl2ZSh0cnVlKTsKKyAgICByZW5kZXJlci0+c3luY1JlbW90ZUNvbnRlbnQo
KTsKKyAgICByZW5kZXJlci0+cGFpbnRUb0N1cnJlbnRHTENvbnRleHQobWF0cml4LCAxLCByZWN0
KTsKK30KKwordm9pZCBFZmxWaWV3cG9ydEhhbmRsZXI6OnVwZGF0ZVZpZXdwb3J0U2l6ZShjb25z
dCBJbnRTaXplJiB2aWV3cG9ydFNpemUpCit7CisgICAgbV92aWV3cG9ydFNpemUgPSB2aWV3cG9y
dFNpemU7CisgICAgbV9wYWdlQ2xpZW50SW1wbC0+cGFnZSgpLT5zZXRWaWV3cG9ydFNpemUodmll
d3BvcnRTaXplKTsKKyAgICBzZXRWaXNpYmxlQ29udGVudHNSZWN0KG1fdmlzaWJsZUNvbnRlbnRS
ZWN0LmxvY2F0aW9uKCksIG1fc2NhbGVGYWN0b3IsIEZsb2F0UG9pbnQoKSk7Cit9CisKK3ZvaWQg
RWZsVmlld3BvcnRIYW5kbGVyOjpzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IEludFBvaW50
JiBuZXdTY3JvbGxQb3NpdGlvbiwgZmxvYXQgbmV3U2NhbGUsIGNvbnN0IEZsb2F0UG9pbnQmIHRy
YWplY3RvcnkpCit7CisgICAgbV9zY2FsZUZhY3RvciA9IG5ld1NjYWxlOworICAgIG1fdmlzaWJs
ZUNvbnRlbnRSZWN0ID0gSW50UmVjdChuZXdTY3JvbGxQb3NpdGlvbiwgbV92aWV3cG9ydFNpemUp
OworCisgICAgLy8gTW92ZSB2aXNpYmxlQ29udGVudFJlY3QgaW5zaWRlIGNvbnRlbnRzUmVjdCB3
aGVuIHZpc2libGVDb250ZW50UmVjdCBnb2VzIG91dHNpZGUgY29udGVudHNSZWN0LiAKKyAgICBJ
bnRTaXplIGNvbnRlbnRzU2l6ZSA9IG1fY29udGVudHNTaXplOworICAgIGNvbnRlbnRzU2l6ZS5z
Y2FsZShtX3NjYWxlRmFjdG9yKTsKKyAgICBpZiAobV92aXNpYmxlQ29udGVudFJlY3QueCgpID4g
Y29udGVudHNTaXplLndpZHRoKCkgLSBtX3Zpc2libGVDb250ZW50UmVjdC53aWR0aCgpKQorICAg
ICAgICBtX3Zpc2libGVDb250ZW50UmVjdC5zZXRYKGNvbnRlbnRzU2l6ZS53aWR0aCgpIC0gbV92
aXNpYmxlQ29udGVudFJlY3Qud2lkdGgoKSk7CisgICAgaWYgKG1fdmlzaWJsZUNvbnRlbnRSZWN0
LngoKSA8IDApCisgICAgICAgIG1fdmlzaWJsZUNvbnRlbnRSZWN0LnNldFgoMCk7CisgICAgaWYg
KG1fdmlzaWJsZUNvbnRlbnRSZWN0LnkoKSA+IGNvbnRlbnRzU2l6ZS5oZWlnaHQoKSAtIG1fdmlz
aWJsZUNvbnRlbnRSZWN0LmhlaWdodCgpKQorICAgICAgICBtX3Zpc2libGVDb250ZW50UmVjdC5z
ZXRZKGNvbnRlbnRzU2l6ZS5oZWlnaHQoKSAtIG1fdmlzaWJsZUNvbnRlbnRSZWN0LmhlaWdodCgp
KTsKKyAgICBpZiAobV92aXNpYmxlQ29udGVudFJlY3QueSgpIDwgMCkKKyAgICAgICAgbV92aXNp
YmxlQ29udGVudFJlY3Quc2V0WSgwKTsKKworICAgIEZsb2F0UmVjdCBtYXBSZWN0VG9XZWJDb250
ZW50ID0gbV92aXNpYmxlQ29udGVudFJlY3Q7CisgICAgbWFwUmVjdFRvV2ViQ29udGVudC5zY2Fs
ZSgxIC8gbV9zY2FsZUZhY3Rvcik7CisgICAgZHJhd2luZ0FyZWEoKS0+c2V0VmlzaWJsZUNvbnRl
bnRzUmVjdChlbmNsb3NpbmdJbnRSZWN0KG1hcFJlY3RUb1dlYkNvbnRlbnQpLCBtX3NjYWxlRmFj
dG9yLCB0cmFqZWN0b3J5KTsKK30KKwordm9pZCBFZmxWaWV3cG9ydEhhbmRsZXI6OmRpZENoYW5n
ZUNvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXplKQoreworICAgIG1fY29u
dGVudHNTaXplID0gc2l6ZTsKKyAgICBzZXRWaXNpYmxlQ29udGVudHNSZWN0KG1fdmlzaWJsZUNv
bnRlbnRSZWN0LmxvY2F0aW9uKCksIG1fc2NhbGVGYWN0b3IsIEZsb2F0UG9pbnQoKSk7CisgICAg
ZHJhd2luZ0FyZWEoKS0+bGF5ZXJUcmVlQ29vcmRpbmF0b3JQcm94eSgpLT5zZXRDb250ZW50c1Np
emUoV2ViQ29yZTo6RmxvYXRTaXplKHNpemUud2lkdGgoKSwgc2l6ZS5oZWlnaHQoKSkpOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKyNlbmRpZiAvLyBVU0UoQ09PUkRJTkFURURfR1JBUEhJ
Q1MpCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0VmbFZp
ZXdwb3J0SGFuZGxlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRWZsVmll
d3BvcnRIYW5kbGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2M2YjNkOTU3YjE3ZTdlMzI1NGIzN2NiMTcxYTg0
N2ViZDJmNzNkYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL0VmbFZpZXdwb3J0SGFuZGxlci5oCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2lmbmRlZiBFZmxWaWV3cG9ydEhhbmRsZXJfaAorI2RlZmluZSBFZmxWaWV3
cG9ydEhhbmRsZXJfaAorCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorCisjaW5jbHVk
ZSAiUGFnZUNsaWVudEltcGwuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCituYW1l
c3BhY2UgV2ViS2l0IHsKKworY2xhc3MgRWZsVmlld3BvcnRIYW5kbGVyIHsKK3B1YmxpYzoKKyAg
ICBzdGF0aWMgUGFzc093blB0cjxFZmxWaWV3cG9ydEhhbmRsZXI+IGNyZWF0ZShQYWdlQ2xpZW50
SW1wbCogcGFnZUNsaWVudEltcGwpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3
IEVmbFZpZXdwb3J0SGFuZGxlcihwYWdlQ2xpZW50SW1wbCkpOworICAgIH0KKyAgICB+RWZsVmll
d3BvcnRIYW5kbGVyKCk7CisKKyAgICBEcmF3aW5nQXJlYVByb3h5KiBkcmF3aW5nQXJlYSgpIGNv
bnN0IHsgcmV0dXJuIG1fcGFnZUNsaWVudEltcGwtPnBhZ2UoKS0+ZHJhd2luZ0FyZWEoKTsgfQor
ICAgIFdlYkNvcmU6OkludFNpemUgdmlld1NpemUoKSB7IHJldHVybiBtX3ZpZXdwb3J0U2l6ZTsg
fQorCisgICAgdm9pZCBkaXNwbGF5KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3QpOworICAg
IHZvaWQgdXBkYXRlVmlld3BvcnRTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHZpZXdwb3J0
U2l6ZSk7CisgICAgdm9pZCBzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JiwgZmxvYXQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsKKyAgICB2b2lkIGRp
ZENoYW5nZUNvbnRlbnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXplKTsKKworcHJp
dmF0ZToKKyAgICBleHBsaWNpdCBFZmxWaWV3cG9ydEhhbmRsZXIoUGFnZUNsaWVudEltcGwqKTsK
KworICAgIFBhZ2VDbGllbnRJbXBsKiBtX3BhZ2VDbGllbnRJbXBsOworICAgIFdlYkNvcmU6Oklu
dFJlY3QgbV92aXNpYmxlQ29udGVudFJlY3Q7CisgICAgV2ViQ29yZTo6SW50U2l6ZSBtX2NvbnRl
bnRzU2l6ZTsKKyAgICBXZWJDb3JlOjpJbnRTaXplIG1fdmlld3BvcnRTaXplOworICAgIGZsb2F0
IG1fc2NhbGVGYWN0b3I7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCisK
KyNlbmRpZiAvLyBFZmxWaWV3cG9ydEhhbmRsZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNsaWVudEltcGwuY3BwCmluZGV4IDc5ZDIwYTE3ZGQ2ZDlj
MWYwZDg5NzY1MDY4MmI1ODZhY2QwMmZjMTQuLjcyNmNhYWFlMWExZWZhOTYzOGRiNzc0NzY3NmIw
MWEzMWEyMWM2YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L1BhZ2VDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9QYWdlQ2xpZW50SW1wbC5jcHAKQEAgLTMxLDcgKzMxLDkgQEAKICNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgogI2luY2x1ZGUgIldlYkNvbnRleHQuaCIKICNpbmNsdWRlICJXZWJDb250ZXh0
TWVudVByb3h5LmgiCisjaW5jbHVkZSAiV2ViUGFnZUdyb3VwLmgiCiAjaW5jbHVkZSAiV2ViUGFn
ZVByb3h5LmgiCisjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXMuaCIKICNpbmNsdWRlICJld2tfY29u
dGV4dC5oIgogI2luY2x1ZGUgImV3a19jb250ZXh0X3ByaXZhdGUuaCIKICNpbmNsdWRlICJld2tf
ZG93bmxvYWRfam9iLmgiCkBAIC00Niw2ICs0OCwxMyBAQCBQYWdlQ2xpZW50SW1wbDo6UGFnZUNs
aWVudEltcGwoV2ViQ29udGV4dCogY29udGV4dCwgV2ViUGFnZUdyb3VwKiBwYWdlR3JvdXAsIEV2
YQogICAgIDogbV92aWV3V2lkZ2V0KHZpZXdXaWRnZXQpCiB7CiAgICAgbV9wYWdlID0gY29udGV4
dC0+Y3JlYXRlV2ViUGFnZSh0aGlzLCBwYWdlR3JvdXApOworCisjaWYgVVNFKENPT1JESU5BVEVE
X0dSQVBISUNTKQorICAgIG1fcGFnZS0+cGFnZUdyb3VwKCktPnByZWZlcmVuY2VzKCktPnNldEFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKHRydWUpOworICAgIG1fcGFnZS0+cGFnZUdyb3Vw
KCktPnByZWZlcmVuY2VzKCktPnNldEZvcmNlQ29tcG9zaXRpbmdNb2RlKHRydWUpOworICAgIG1f
cGFnZS0+c2V0VXNlRml4ZWRMYXlvdXQodHJ1ZSk7CisjZW5kaWYKKwogICAgIG1fcGFnZS0+aW5p
dGlhbGl6ZVdlYlBhZ2UoKTsKIH0KIApAQCAtMjk1LDQgKzMwNCw5IEBAIHZvaWQgUGFnZUNsaWVu
dEltcGw6OnBhZ2VEaWRSZXF1ZXN0U2Nyb2xsKGNvbnN0IEludFBvaW50JikKIH0KICNlbmRpZgog
Cit2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRDaGFuZ2VDb250ZW50c1NpemUoY29uc3QgV2ViQ29y
ZTo6SW50U2l6ZSYgc2l6ZSkKK3sKKyAgICBld2tfdmlld19jb250ZW50c19zaXplX2NoYW5nZWQo
bV92aWV3V2lkZ2V0LCBzaXplKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvUGFnZUNsaWVudEltcGwuaAppbmRleCAx
YmQyMjkzNGFmOGRkYmVmYzUxMGRjOGI4NjIyZTU2MWYxMzNjYTZlLi44NjE4NTAyNjNhOGE2ZWEz
ZTEyMDRmZWNlMzc4MWI0YzlhZTg1ZjUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9QYWdlQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL1BhZ2VDbGllbnRJbXBsLmgKQEAgLTExMiw2ICsxMTIsOCBAQCBwcml2YXRl
OgogICAgIHZpcnR1YWwgdm9pZCBwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBXZWJDb3JlOjpJ
bnRQb2ludCYpOwogI2VuZGlmCiAKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQ29udGVudHNT
aXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsKKwogcHJpdmF0ZToKICAgICBSZWZQdHI8V2Vi
UGFnZVByb3h5PiBtX3BhZ2U7CiAgICAgRXZhc19PYmplY3QqIG1fdmlld1dpZGdldDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcAppbmRleCAxOWE3MjU5
MzhlZTg1YTIyNTg0MWNhNWNhN2Y0ODBmNWNkYTMyZTIwLi5kOGYzNzQwMWM3YjM0NjZjZTZkZWUy
NTJlY2RkMzYzOGQwODQwMDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfdmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX3ZpZXcuY3BwCkBAIC01Myw2ICs1MywxMCBAQAogI2luY2x1ZGUgPEV2YXNfR0wuaD4K
ICNlbmRpZgogCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorI2luY2x1ZGUgIkVmbFZp
ZXdwb3J0SGFuZGxlci5oIgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtNjUsNiArNjksMTAgQEAgc3RhdGljIHZvaWQgX2V3
a192aWV3X3ByaXZfbG9hZGluZ19yZXNvdXJjZXNfY2xlYXIoTG9hZGluZ1Jlc291cmNlc01hcCYg
bG9hZGluZ1IKIAogc3RydWN0IF9Fd2tfVmlld19Qcml2YXRlX0RhdGEgewogICAgIE93blB0cjxQ
YWdlQ2xpZW50SW1wbD4gcGFnZUNsaWVudDsKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1Mp
CisgICAgT3duUHRyPEVmbFZpZXdwb3J0SGFuZGxlcj4gdmlld3BvcnRIYW5kbGVyOworI2VuZGlm
CisKICAgICBjb25zdCBjaGFyKiB1cmk7CiAgICAgY29uc3QgY2hhciogdGl0bGU7CiAgICAgY29u
c3QgY2hhciogdGhlbWU7CkBAIC01MzAsNiArNTM4LDEwIEBAIHN0YXRpYyB2b2lkIF9ld2tfdmll
d19zbWFydF9jYWxjdWxhdGUoRXZhc19PYmplY3QqIGV3a1ZpZXcpCiAgICAgZXZhc19vYmplY3Rf
Z2VvbWV0cnlfZ2V0KGV3a1ZpZXcsICZ4LCAmeSwgJndpZHRoLCAmaGVpZ2h0KTsKIAogICAgIGlm
IChzbWFydERhdGEtPmNoYW5nZWQuc2l6ZSkgeworI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElD
UykKKyAgICAgICAgcHJpdi0+dmlld3BvcnRIYW5kbGVyLT51cGRhdGVWaWV3cG9ydFNpemUoSW50
U2l6ZSh3aWR0aCwgaGVpZ2h0KSk7CisjZW5kaWYKKwogICAgICAgICBpZiAocHJpdi0+cGFnZUNs
aWVudC0+cGFnZSgpLT5kcmF3aW5nQXJlYSgpKQogICAgICAgICAgICAgcHJpdi0+cGFnZUNsaWVu
dC0+cGFnZSgpLT5kcmF3aW5nQXJlYSgpLT5zZXRTaXplKEludFNpemUod2lkdGgsIGhlaWdodCks
IEludFNpemUoKSk7CiAKQEAgLTY4Miw2ICs2OTQsMTAgQEAgRXZhc19PYmplY3QqIGV3a192aWV3
X2Jhc2VfYWRkKEV2YXMqIGNhbnZhcywgV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdy
b3UKIAogICAgIGV3a192aWV3X3RoZW1lX3NldChld2tWaWV3LCBERUZBVUxUX1RIRU1FX1BBVEgi
L2RlZmF1bHQuZWRqIik7CiAKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCisgICAgcHJp
di0+dmlld3BvcnRIYW5kbGVyID0gRWZsVmlld3BvcnRIYW5kbGVyOjpjcmVhdGUocHJpdi0+cGFn
ZUNsaWVudC5nZXQoKSk7CisjZW5kaWYKKwogICAgIHJldHVybiBld2tWaWV3OwogfQogCkBAIC0x
MDQzLDYgKzEwNTksMTMgQEAgdm9pZCBld2tfdmlld19kaXNwbGF5KEV2YXNfT2JqZWN0KiBld2tW
aWV3LCBjb25zdCBJbnRSZWN0JiByZWN0KQogICAgIGlmICghc21hcnREYXRhLT5pbWFnZSkKICAg
ICAgICAgcmV0dXJuOwogCisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorICAgIEVXS19W
SUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYpOworCisgICAgZXZhc19nbF9t
YWtlX2N1cnJlbnQocHJpdi0+ZXZhc0dsLCBwcml2LT5ldmFzR2xTdXJmYWNlLCBwcml2LT5ldmFz
R2xDb250ZXh0KTsKKyAgICBwcml2LT52aWV3cG9ydEhhbmRsZXItPmRpc3BsYXkocmVjdCk7Cisj
ZW5kaWYKKwogICAgIGV2YXNfb2JqZWN0X2ltYWdlX2RhdGFfdXBkYXRlX2FkZChzbWFydERhdGEt
PmltYWdlLCByZWN0LngoKSwgcmVjdC55KCksIHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSk7
CiB9CiAKQEAgLTEzNzYsMyArMTM5OSwxMyBAQCBFaW5hX0Jvb2wgZXdrX3ZpZXdfdGV4dF9maW5k
X2hpZ2hsaWdodF9jbGVhcihFdmFzX09iamVjdCogZXdrVmlldykKIAogICAgIHJldHVybiB0cnVl
OwogfQorCit2b2lkIGV3a192aWV3X2NvbnRlbnRzX3NpemVfY2hhbmdlZChjb25zdCBFdmFzX09i
amVjdCogZXdrVmlldywgY29uc3QgSW50U2l6ZSYgc2l6ZSkKK3sKKyNpZiBVU0UoQ09PUkRJTkFU
RURfR1JBUEhJQ1MpCisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFy
dERhdGEpOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYp
OworCisgICAgcHJpdi0+dmlld3BvcnRIYW5kbGVyLT5kaWRDaGFuZ2VDb250ZW50c1NpemUoc2l6
ZSk7CisjZW5kaWYKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a192aWV3X3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a192aWV3X3ByaXZhdGUuaAppbmRleCAzNzkyNTZkOTFjZGNkYTJmNjI0NGE0ODc5NDA3ODFj
NDkxMThhZDNiLi5mNDAyOTg1ODcxM2NkZjZiZDg3YmE4OGE2YjFhZjEzNmE3N2M0ZmZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlld19wcml2YXRl
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXdfcHJpdmF0
ZS5oCkBAIC03MCw2ICs3MCw3IEBAIHZvaWQgZXdrX3ZpZXdfcmVzb3VyY2VfbG9hZF9pbml0aWF0
ZWQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIHVpbnQ2NF90IHJlc291cmNlSWRlCiB2b2lkIGV3a192
aWV3X3Jlc291cmNlX2xvYWRfcmVzcG9uc2UoRXZhc19PYmplY3QqIGV3a1ZpZXcsIHVpbnQ2NF90
IHJlc291cmNlSWRlbnRpZmllciwgRXdrX1VybF9SZXNwb25zZSogcmVzcG9uc2UpOwogdm9pZCBl
d2tfdmlld19yZXNvdXJjZV9yZXF1ZXN0X3NlbnQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIHVpbnQ2
NF90IHJlc291cmNlSWRlbnRpZmllciwgRXdrX1VybF9SZXF1ZXN0KiByZXF1ZXN0LCBFd2tfVXJs
X1Jlc3BvbnNlKiByZWRpcmVjdFJlc3BvbnNlKTsKIHZvaWQgZXdrX3ZpZXdfdGV4dF9mb3VuZChF
dmFzX09iamVjdCogZXdrVmlldywgdW5zaWduZWQgaW50IG1hdGNoQ291bnQpOwordm9pZCBld2tf
dmlld19jb250ZW50c19zaXplX2NoYW5nZWQoY29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcsIGNv
bnN0IFdlYkNvcmU6OkludFNpemUmKTsKIAogRXZhc19PYmplY3QqIGV3a192aWV3X2Jhc2VfYWRk
KEV2YXMqIGNhbnZhcywgV0tDb250ZXh0UmVmLCBXS1BhZ2VHcm91cFJlZik7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJl
ZUNvb3JkaW5hdG9yUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRl
ZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yUHJveHkuaAppbmRleCA2YjA2ZmI0NzU3NGUw
ZGQ5NDZkYTFlZWY0Yjc1NzA1Mjk1MjcxNDkwLi5mNjAzY2QwZmM5MTUyNTY5MDUwYzBjZjZiZjY2
NDAwM2I3NDI2ZmMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvclByb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3JQ
cm94eS5oCkBAIC0zNiw5ICszNiwxMSBAQAogI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbmFsLmg+CiAj
aW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KIAorI2lmIFBMQVRGT1JNKFFUKQogUVRfQkVHSU5fTkFN
RVNQQUNFCiBjbGFzcyBRU0dOb2RlOwogUVRfRU5EX05BTUVTUEFDRQorI2VuZGlmCiAKIG5hbWVz
cGFjZSBXZWJLaXQgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFn
ZUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCA1
MThkYjhlMWNlZDcwMDY4ZDEwZDY0ODAxYzA0ZGFkODFkYzg0M2IxLi5hMzQzYWU2MTAwOTcxYWFm
MzUwMmIwYTQ1YjAzZjE1MGQ5ZGM3NDc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xp
ZW50LmgKQEAgLTExOCw3ICsxMTgsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBhZ2VE
aWRSZXF1ZXN0U2Nyb2xsKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JikgPSAwOwogI2VuZGlmCiAj
aWYgUExBVEZPUk0oUVQpCi0gICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUNvbnRlbnRzU2l6ZShj
b25zdCBXZWJDb3JlOjpJbnRTaXplJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5kWm9v
bWFibGVBcmVhKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tTmF2aWdhdG9y
UXRPYmplY3QoY29uc3QgU3RyaW5nJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVUZXh0
SW5wdXRTdGF0ZSgpID0gMDsKQEAgLTEzMSw2ICsxMzAsMTAgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBoYW5kbGVEb3dubG9hZFJlcXVlc3QoRG93bmxvYWRQcm94eSopID0gMDsKICNlbmRp
ZiAvLyBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKQogCisjaWYgUExBVEZPUk0oUVQpIHx8
IFBMQVRGT1JNKEVGTCkKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlQ29udGVudHNTaXplKGNv
bnN0IFdlYkNvcmU6OkludFNpemUmKSA9IDA7CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKFFUKSB8
fCBQTEFURk9STShHVEspCiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0RHJhZyhjb25zdCBXZWJDb3Jl
OjpEcmFnRGF0YSYsIFBhc3NSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBkcmFnSW1hZ2UpID0gMDsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA1
YzUyMmMwNmZhNTc1ZDc2Mzc2ZTdjMTAzMjlkNDdjODNjZTg2MTExLi4yNDE1NDEyZTNhYzZhYmJm
ZWU4ZjlkYjNjZTVlMjc0MzRjNTcxNjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcApAQCAtMjYzNSwxMSArMjYzNSw2IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpz
ZXRNZWRpYVZvbHVtZShmbG9hdCB2b2x1bWUpCiB9CiAKICNpZiBQTEFURk9STShRVCkKLXZvaWQg
V2ViUGFnZVByb3h5OjpkaWRDaGFuZ2VDb250ZW50c1NpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSkK
LXsKLSAgICBtX3BhZ2VDbGllbnQtPmRpZENoYW5nZUNvbnRlbnRzU2l6ZShzaXplKTsKLX0KLQog
dm9pZCBXZWJQYWdlUHJveHk6OmRpZEZpbmRab29tYWJsZUFyZWEoY29uc3QgSW50UG9pbnQmIHRh
cmdldCwgY29uc3QgSW50UmVjdCYgYXJlYSkKIHsKICAgICBtX3BhZ2VDbGllbnQtPmRpZEZpbmRa
b29tYWJsZUFyZWEodGFyZ2V0LCBhcmVhKTsKQEAgLTI2ODEsNiArMjY3NiwxMyBAQCB2b2lkIFdl
YlBhZ2VQcm94eTo6aGFuZGxlRG93bmxvYWRSZXF1ZXN0KERvd25sb2FkUHJveHkqIGRvd25sb2Fk
KQogfQogI2VuZGlmIC8vIFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpCiAKKyNpZiBQTEFU
Rk9STShRVCkgfHwgUExBVEZPUk0oRUZMKQordm9pZCBXZWJQYWdlUHJveHk6OmRpZENoYW5nZUNv
bnRlbnRzU2l6ZShjb25zdCBJbnRTaXplJiBzaXplKQoreworICAgIG1fcGFnZUNsaWVudC0+ZGlk
Q2hhbmdlQ29udGVudHNTaXplKHNpemUpOworfQorI2VuZGlmCisKICNpZiBFTkFCTEUoVE9VQ0hf
RVZFTlRTKQogdm9pZCBXZWJQYWdlUHJveHk6Om5lZWRUb3VjaEV2ZW50cyhib29sIG5lZWRUb3Vj
aEV2ZW50cykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA1
NjMzY2U3NTAyYzU3NjViMDU1ZGY2MGZkNDhhNWRjOGMwZjQ1NGIyLi4wZjIyOTcwMGRmN2Q3MmYw
ZDM2YTI4MzFkMGE3MTA5N2Y5YTkwNjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCkBAIC04MzEsOSArODMxLDEzIEBAIHByaXZhdGU6CiAjZW5kaWYKIAogI2lmIFBM
QVRGT1JNKFFUKQotICAgIHZvaWQgZGlkQ2hhbmdlQ29udGVudHNTaXplKGNvbnN0IFdlYkNvcmU6
OkludFNpemUmKTsKICAgICB2b2lkIGRpZEZpbmRab29tYWJsZUFyZWEoY29uc3QgV2ViQ29yZTo6
SW50UG9pbnQmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7CiAjZW5kaWYKKworI2lmIFBMQVRG
T1JNKFFUKSB8fCBQTEFURk9STShFRkwpCisgICAgdm9pZCBkaWRDaGFuZ2VDb250ZW50c1NpemUo
Y29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOworI2VuZGlmCisKICNpZiBFTkFCTEUoVE9VQ0hfRVZF
TlRTKQogICAgIHZvaWQgbmVlZFRvdWNoRXZlbnRzKGJvb2wpOwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCAzNzY5
MDQ3MDE4ZDNmN2RlZTUwYzNlOGE3YzQ2MDcwNTE0MTY1MGZlLi43ZmE4MWJlNWE1ZWVkN2UwODhj
OWQ3ODI4M2JkMTUzMmY2M2ZjYmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTczLDEyICs3MywxNiBAQCBtZXNzYWdlcyAt
PiBXZWJQYWdlUHJveHkgewogICAgIFBhZ2VEaWRSZXF1ZXN0U2Nyb2xsKFdlYkNvcmU6OkludFBv
aW50IHBvaW50KQogI2VuZGlmCiAjaWYgUExBVEZPUk0oUVQpCi0gICAgRGlkQ2hhbmdlQ29udGVu
dHNTaXplKFdlYkNvcmU6OkludFNpemUgbmV3U2l6ZSkKICAgICBEaWRGaW5kWm9vbWFibGVBcmVh
KFdlYkNvcmU6OkludFBvaW50IHRhcmdldCwgV2ViQ29yZTo6SW50UmVjdCBhcmVhKQogICAgIEF1
dGhlbnRpY2F0aW9uUmVxdWlyZWRSZXF1ZXN0KFdURjo6U3RyaW5nIGhvc3RuYW1lLCBXVEY6OlN0
cmluZyByZWFsbSwgV1RGOjpTdHJpbmcgcHJlZmlsbGVkVXNlcm5hbWUpIC0+IChXVEY6OlN0cmlu
ZyB1c2VybmFtZSwgV1RGOjpTdHJpbmcgcGFzc3dvcmQpCiAgICAgQ2VydGlmaWNhdGVWZXJpZmlj
YXRpb25SZXF1ZXN0KFdURjo6U3RyaW5nIGhvc3RuYW1lKSAtPiAoYm9vbCBpZ25vcmVFcnJvcnMp
CiAgICAgUHJveHlBdXRoZW50aWNhdGlvblJlcXVpcmVkUmVxdWVzdChXVEY6OlN0cmluZyBob3N0
bmFtZSwgdWludDE2X3QgcG9ydCwgV1RGOjpTdHJpbmcgcHJlZmlsbGVkVXNlcm5hbWUpIC0+IChX
VEY6OlN0cmluZyB1c2VybmFtZSwgV1RGOjpTdHJpbmcgcGFzc3dvcmQpCiAjZW5kaWYKKworI2lm
IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpCisgICAgRGlkQ2hhbmdlQ29udGVudHNTaXpl
KFdlYkNvcmU6OkludFNpemUgbmV3U2l6ZSkKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFRPVUNIX0VW
RU5UUykKICAgICBOZWVkVG91Y2hFdmVudHMoYm9vbCBuZWVkVG91Y2hFdmVudHMpCiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRl
ZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmNw
cAppbmRleCBjMDZjNThkZjU3MDI0YzMwMDk1ZTE0MmY1YmU0Y2IwMTBjODQ3MDE2Li45ZDU5OGRi
N2FhZjI0ZWQwYmMyYzk3YzRmY2M0NjE4ZWJkYmM4YzgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29y
ZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuY3BwCkBAIC0yNiw2ICsyNiw3IEBA
CiAKICNpbmNsdWRlICJjb25maWcuaCIKIAorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykK
ICNpbmNsdWRlICJMYXllclRyZWVDb29yZGluYXRvci5oIgogCiAjaW5jbHVkZSAiQ29vcmRpbmF0
ZWRHcmFwaGljc0xheWVyLmgiCkBAIC01NzEsMTIgKzU3MiwxMCBAQCB2b2lkIExheWVyVHJlZUNv
b3JkaW5hdG9yOjpzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IEludFJlY3QmIHJlY3QsIGZs
b2F0IHNjYQogICAgICAgICBtX3Nob3VsZFNlbmRTY3JvbGxQb3NpdGlvblVwZGF0ZSA9IHRydWU7
CiB9CiAKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiB2b2lkIExheWVyVHJlZUNvb3Jk
aW5hdG9yOjpzY2hlZHVsZUFuaW1hdGlvbigpCiB7CiAgICAgc2NoZWR1bGVMYXllckZsdXNoKCk7
CiB9Ci0jZW5kaWYKIAogdm9pZCBMYXllclRyZWVDb29yZGluYXRvcjo6cmVuZGVyTmV4dEZyYW1l
KCkKIHsKQEAgLTYyMCwzICs2MTksNCBAQCBQYXNzT3duUHRyPFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dD4gTGF5ZXJUcmVlQ29vcmRpbmF0b3I6OmJlZ2luQ29udGVudFVwZGF0ZShjbwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKKyNlbmRpZiAvLyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1Mp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0
ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGluYXRvci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlQ29vcmRpbmF0b3IuaApp
bmRleCAxOGFkOTQzMmI4MTRhMjg1YjM5NGI3MWU2ZGIwMWZhYmVmNTNkZGExLi44MmUwYzcxZDIz
OTYwYmYzY2JjODY2OWFkYzY1MDNiN2JiZWRlZGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVDb29yZGlu
YXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRl
ZEdyYXBoaWNzL0xheWVyVHJlZUNvb3JkaW5hdG9yLmgKQEAgLTIwLDYgKzIwLDggQEAKICNpZm5k
ZWYgTGF5ZXJUcmVlQ29vcmRpbmF0b3JfaAogI2RlZmluZSBMYXllclRyZWVDb29yZGluYXRvcl9o
CiAKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCisKICNpbmNsdWRlICJDb29yZGluYXRl
ZEdyYXBoaWNzTGF5ZXIuaCIKICNpbmNsdWRlICJMYXllclRyZWVDb250ZXh0LmgiCiAjaW5jbHVk
ZSAiTGF5ZXJUcmVlSG9zdC5oIgpAQCAtODgsOSArOTAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIHN5bmNGaXhlZExheWVycygpOwogCiAgICAgdmlydHVhbCBQYXNzT3duUHRyPFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dD4gYmVnaW5Db250ZW50VXBkYXRlKGNvbnN0IFdlYkNvcmU6Oklu
dFNpemUmLCBTaGFyZWFibGVCaXRtYXA6OkZsYWdzLCBTaGFyZWFibGVTdXJmYWNlOjpIYW5kbGUm
LCBXZWJDb3JlOjpJbnRQb2ludCYpOwotI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAg
ICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVBbmltYXRpb24oKSBPVkVSUklERTsKLSNlbmRpZgogCiBw
cm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgTGF5ZXJUcmVlQ29vcmRpbmF0b3IoV2ViUGFnZSopOwpA
QCAtMTQzLDQgKzE0Myw2IEBAIHByaXZhdGU6CiAKIH0KIAorI2VuZGlmCisKICNlbmRpZiAvLyBM
YXllclRyZWVDb29yZGluYXRvcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5jcHAKaW5kZXggYmYwMTFlMDg1YTZlMjBhNTVlZjJlMDk3
YzAzNjIzMmJjNDcxZmIwOS4uODdiNDZiMzcyZDEzYzhlNjI5ZjZjNzQ1OTM5OGY1NzkzN2JkYTAx
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJl
ZUhvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRy
ZWVIb3N0LmNwcApAQCAtMzQsNyArMzQsNyBAQAogI2VuZGlmCiAjZW5kaWYKIAotI2lmIFBMQVRG
T1JNKFFUKQorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICNpbmNsdWRlICJMYXllclRy
ZWVDb29yZGluYXRvci5oIgogI2VuZGlmCiAKQEAgLTUyLDcgKzUyLDcgQEAgUGFzc1JlZlB0cjxM
YXllclRyZWVIb3N0PiBMYXllclRyZWVIb3N0OjpjcmVhdGUoV2ViUGFnZSogd2ViUGFnZSkKICAg
ICByZXR1cm4gTGF5ZXJUcmVlSG9zdENBTWFjOjpjcmVhdGUod2ViUGFnZSk7CiAjZWxpZiBQTEFU
Rk9STShXSU4pICYmIEhBVkUoV0tRQ0EpCiAgICAgcmV0dXJuIExheWVyVHJlZUhvc3RDQVdpbjo6
Y3JlYXRlKHdlYlBhZ2UpOwotI2VsaWYgUExBVEZPUk0oUVQpCisjZWxpZiBVU0UoQ09PUkRJTkFU
RURfR1JBUEhJQ1MpCiAgICAgcmV0dXJuIExheWVyVHJlZUNvb3JkaW5hdG9yOjpjcmVhdGUod2Vi
UGFnZSk7CiAjZWxpZiBQTEFURk9STShHVEspICYmIFVTRShURVhUVVJFX01BUFBFUl9HTCkKICAg
ICByZXR1cm4gTGF5ZXJUcmVlSG9zdEd0azo6Y3JlYXRlKHdlYlBhZ2UpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmgKaW5kZXggOWMyZTc0
NGY0ZGZkMzFiMTk3MDhkMTJlYjE0ZjM1OTk3NWEyYmJhOC4uNzM2NTg0NGY3MWJjZGMzMWZhZDdk
Y2Q5NDhlYWQwMDEwODI5NzU5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5oCkBAIC0xMTksNyArMTE5LDcgQEAgcHJvdGVjdGVkOgog
I2VuZGlmCiB9OwogCi0jaWYgIVBMQVRGT1JNKFdJTikgJiYgIVBMQVRGT1JNKFFUKQorI2lmICFQ
TEFURk9STShXSU4pICYmICFVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiBpbmxpbmUgYm9vbCBM
YXllclRyZWVIb3N0OjpzdXBwb3J0c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKQogewogICAgIHJl
dHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9lZmwvV2Vi
UHJvY2Vzc01haW5FZmwuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9lZmwvV2ViUHJv
Y2Vzc01haW5FZmwuY3BwCmluZGV4IDE2Mjc4YTM4ZTQ4NTNkMzRiZTY3OGY0MzYwNmZmMTM5NzQx
MmZjOTcuLjVlY2YyZDJhOWZkMTFjMDYxNWYwYTA4MGQ4YjI5OTY2YTg2Y2ZjMjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvZWZsL1dlYlByb2Nlc3NNYWluRWZsLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2VmbC9XZWJQcm9jZXNzTWFpbkVmbC5jcHAK
QEAgLTM2LDYgKzM2LDEwIEBACiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAjaW5jbHVkZSA8d3RmL01h
aW5UaHJlYWQuaD4KIAorI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKKyNpbmNsdWRlICJD
b29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaCIKKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC03Niw2ICs4MCwxMCBAQCBXS19FWFBPUlQg
aW50IFdlYlByb2Nlc3NNYWluRWZsKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCiAgICAgICAgIGdf
b2JqZWN0X3VucmVmKHJlc29sdmVyRWZsKTsKICAgICB9CiAKKyNpZiBVU0UoQ09PUkRJTkFURURf
R1JBUEhJQ1MpCisgICAgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyOjppbml0RmFjdG9yeSgpOwor
I2VuZGlmCisKICAgICBpbnQgc29ja2V0ID0gYXRvaShhcmd2WzFdKTsKICAgICBXZWJQcm9jZXNz
OjpzaGFyZWQoKS5pbml0aWFsaXplKHNvY2tldCwgUnVuTG9vcDo6bWFpbigpKTsKICAgICBSdW5M
b29wOjpydW4oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlIGIv
U291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKaW5kZXggMTlkMzBlZjMxOWY0ODQ1MjNkYzA3
YWU3MjY1ZjgzOGU4MjU0MDQ3OS4uZDk2ZDIyYzVjNGNmNGI5Y2YyNDhiYWI0ZjdhNTQzMGYxOWFm
ZThjMiAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKKysrIGIvU291
cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKQEAgLTE1OSwzICsxNTksMjMgQEAgSUYgKEVOQUJM
RV9XRUJHTCkKIEVORElGICgpCiAKIFNFVChDUEFDS19TT1VSQ0VfR0VORVJBVE9SIFRCWjIpCisK
K0lGIChXVEZfVVNFX1RJTEVEX0JBQ0tJTkdfU1RPUkUpCisgIFNFVChXVEZfVVNFX0FDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HIDEpCisgIEFERF9ERUZJTklUSU9OUygtRFdURl9VU0VfQUNDRUxFUkFU
RURfQ09NUE9TSVRJTkc9MSkKKworICBTRVQoV1RGX1VTRV9DT09SRElOQVRFRF9HUkFQSElDUyAx
KQorICBBRERfREVGSU5JVElPTlMoLURXVEZfVVNFX0NPT1JESU5BVEVEX0dSQVBISUNTPTEpCisK
KyAgU0VUKFdURl9VU0VfVEVYVFVSRV9NQVBQRVIgMSkKKyAgQUREX0RFRklOSVRJT05TKC1EV1RG
X1VTRV9URVhUVVJFX01BUFBFUj0xKQorCisgIFNFVChXVEZfVVNFX1RFWFRVUkVfTUFQUEVSX0dM
IDEpCisgIEFERF9ERUZJTklUSU9OUygtRFdURl9VU0VfVEVYVFVSRV9NQVBQRVJfR0w9MSkKKwor
ICBTRVQoV1RGX1VTRV8zRF9HUkFQSElDUyAxKQorICBBRERfREVGSU5JVElPTlMoLURXVEZfVVNF
XzNEX0dSQVBISUNTPTEpCisKKyAgRklORF9QQUNLQUdFKE9wZW5HTCBSRVFVSVJFRCkKK0VORElG
KCkKKwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4
IGQxNjdlOWFlOTY0ZTdmYTZhYWQ4MmIwMGJlOWIzMTVhOWQyMDc0M2MuLmFmMjIyYTEyMDMxOGJm
MjcyOWEwMWE4MmQwYWQxZDI0YTZiNzc5NGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZwor
KysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wOC0wNyAgWW91bmdU
YWVjayBTb25nICA8eW91bmd0YWVjay5zb25nQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtXSzJd
W0VGTF0gSW1wbGVtZW50IGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIG9uIFdLMiBFZmwgcG9ydAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODk4NDAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOb2FtIFJvc2VudGhhbC4KKworICAgICAgICBJbXBsZW1lbnQg
YWNjZWxlcmF0ZWQgY29tcG9zaXRpb24gd2l0aCBUaWxlZEJhY2tpbmdTdG9yZSBvbiBXSzIgRWZs
IHBvcnQuCisgICAgICAgIEFkZCBPUEVOR0xfTElCUkFSSUVTIGluIENNYWtlTGlzdC50eHQuCisK
KyAgICAgICAgKiBNaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogV2Vi
S2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUVmbC5jbWFrZToKKwogMjAxMi0wOC0wNyAgRGlyayBQcmFu
a2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbTlJXVF0gV291bGQgbGlrZSBh
biBvdXRwdXQgbW9kZSBzaW1pbGFyIHRvIE9SV1QgdmVyYm9zZSBvbmUKZGlmZiAtLWdpdCBhL1Rv
b2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dCBiL1Rvb2xzL01pbmlCcm93c2VyL2Vm
bC9DTWFrZUxpc3RzLnR4dAppbmRleCBmYzRmY2YzNzBlMTU3NWY4Y2NhZDNlNjNmZDdiOWYzNWZj
YjAzYjk2Li5hZTM1OWE2NjhmNjQzYzY3ZDc2ZTAxYmQzMDVlMWJmYTUyOTJkN2MxIDEwMDY0NAot
LS0gYS9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKKysrIGIvVG9vbHMvTWlu
aUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0CkBAIC0yOCw2ICsyOCw3IEBAIFNFVChNaW5pQnJv
d3Nlcl9MSUJSQVJJRVMKICAgICAke0xJQlNPVVAyNF9MSUJSQVJJRVN9CiAgICAgJHtMSUJYTUwy
X0xJQlJBUklFU30KICAgICAke0xJQlhTTFRfTElCUkFSSUVTfQorICAgICR7T1BFTkdMX0xJQlJB
UklFU30KICAgICAke1NRTElURV9MSUJSQVJJRVN9CiApCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvUGxhdGZvcm1FZmwuY21ha2UgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDZjOTMwOTEwYjNkYzhmYmZmMDA4MWFhMDAyOTk2ZjEw
ZmE2N2FjNjUuLmU5NjdkNTU3YzhlNDhkZjkzYjZjZmM1OGU2YTBlMWYyODU3NDJiZDIgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtNDMsNiArNDMsNyBAQCBM
SVNUKEFQUEVORCBXZWJLaXRUZXN0UnVubmVyX0xJQlJBUklFUwogICAgICR7RURKRV9MSUJSQVJJ
RVN9CiAgICAgJHtFRkxERVBTX0xJQlJBUklFU30KICAgICAke0dsaWJfTElCUkFSSUVTfQorICAg
ICR7T1BFTkdMX0xJQlJBUklFU30KICAgICAke1dURl9MSUJSQVJZX05BTUV9CiApCiAKZGlmZiAt
LWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBkY2ZjYzhjMjc2OTRjZGRjMTdhZjcy
ZWFjYWVhN2MwNzExZGY1OGNlLi42N2I2ODZkNDZhNjIwNTc0NjI2YTRiMTk0OTE5ODYxZjhmOTIw
OTAzIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTItMDgtMDcgIFlvdW5nVGFlY2sgU29uZyAgPHlvdW5ndGFlY2suc29uZ0BzYW1zdW5n
LmNvbT4KKworICAgICAgICBbV0syXVtFRkxdIEltcGxlbWVudCBhY2NlbGVyYXRlZCBjb21wb3Np
dGluZyBvbiBXSzIgRWZsIHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTg5ODQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTm9hbSBSb3NlbnRoYWwu
CisKKyAgICAgICAgSW1wbGVtZW50IGFjY2VsZXJhdGVkIGNvbXBvc2l0aW9uIHdpdGggVGlsZWRC
YWNraW5nU3RvcmUgb24gV0syIEVmbCBwb3J0LgorICAgICAgICBUaGlzIGltcGxlbWVudGF0aW9u
IGlzIGJhc2VkIG9uIENPT1JESU5BVEVEX0dSQVBISUNTLgorICAgICAgICBBZGQgQ09PUkRJTkFU
RURfR1JBUEhJQ1MgcmVsYXRlZCBkZWZpbml0aW9ucyBpbiBPcHRpb25zRWZsLmNtYWtlLgorCisg
ICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2U6CisKIDIwMTItMDgtMDcgIE5v
J2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRd
IE1ha2UgaXQgcG9zc2libGUgdG8gYnVpbGQgd2l0aG91dCBRdFF1aWNrCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>