<?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>36896</bug_id>
          
          <creation_ts>2010-03-31 12:02:22 -0700</creation_ts>
          <short_desc>Add FileThread for async file operation support in FileReader and FileWriter</short_desc>
          <delta_ts>2010-04-07 16:36:41 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>
          
          <blocked>32624</blocked>
    
    <blocked>36567</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Kinuko Yasuda">kinuko</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dimich</cc>
    
    <cc>dpranke</cc>
    
    <cc>ericu</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>jeffschiller</cc>
    
    <cc>jianli</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yaar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>206623</commentid>
    <comment_count>0</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-03-31 12:02:22 -0700</bug_when>
    <thetext>To support async file operations in FileReader/FileWriter, let&apos;s add a file thread that performs blocking read/write on a separate execution context.

FileReader: http://www.w3.org/TR/FileAPI/  (bug 32624)
FileWriter: http://dev.w3.org/2009/dap/file-system/file-writer.html (bug 36567)
FileWriter implementation design doc: http://docs.google.com/View?docID=0AWoCez0NQ60KZG5jaGhkZ18xZ25rZ3RxY3A&amp;revision=_latest&amp;hgd=1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206704</commentid>
    <comment_count>1</comment_count>
      <attachid>52208</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-03-31 13:48:42 -0700</bug_when>
    <thetext>Created attachment 52208
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206706</commentid>
    <comment_count>2</comment_count>
      <attachid>52209</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-03-31 13:54:28 -0700</bug_when>
    <thetext>Created attachment 52209
Fixed ChangeLog tabs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206709</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-31 13:56:50 -0700</bug_when>
    <thetext>Attachment 52208 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKit/mac/ChangeLog:5:  Line contains tab character.  [whitespace/tab] [5]
WebCore/ChangeLog:6:  Line contains tab character.  [whitespace/tab] [5]
WebCore/ChangeLog:7:  Line contains tab character.  [whitespace/tab] [5]
WebCore/ChangeLog:8:  Line contains tab character.  [whitespace/tab] [5]
WebCore/ChangeLog:12:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/ChangeLog:5:  Line contains tab character.  [whitespace/tab] [5]
WebKitTools/ChangeLog:6:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 7 in 17 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206737</commentid>
    <comment_count>4</comment_count>
      <attachid>52209</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2010-03-31 14:50:17 -0700</bug_when>
    <thetext>Comment on attachment 52209
Fixed ChangeLog tabs

For adding a new ENABLE_ flags, please follow the instructions found in the beginning of JavaScriptCore/Configurations/FeatureDefines.xcconfig, as for which files have to be in sync. It doesn&apos;t look like the patch affects all of them.

Also, the patch as is (without FileThread.h and FileThread.cpp) would not compile. It is hard to say if the code in ScriptExecutionContext that deals with FileThread object makes sense w/o looking at FileThread code. I suggest adding FileThread code to the patch at least. It can be not completely functional yet. It is ok to add more code later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206738</commentid>
    <comment_count>5</comment_count>
      <attachid>52209</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2010-03-31 14:50:44 -0700</bug_when>
    <thetext>Comment on attachment 52209
Fixed ChangeLog tabs

r- due to notes above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206773</commentid>
    <comment_count>6</comment_count>
      <attachid>52218</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-03-31 15:47:50 -0700</bug_when>
    <thetext>Created attachment 52218
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206775</commentid>
    <comment_count>7</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-03-31 15:51:04 -0700</bug_when>
    <thetext>Thanks, tried to address the issues.  (I can separate the patch into two, add feature flags and add FileThread if it&apos;s more preferable.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206827</commentid>
    <comment_count>8</comment_count>
      <attachid>52218</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2010-03-31 17:09:12 -0700</bug_when>
    <thetext>Comment on attachment 52218
Patch

Thanks for iterating quickly!
Looks very good, just a few notes, mostly formatting/naming:

&gt; diff --git a/JavaScriptCore/Configurations/FeatureDefines.xcconfig b/JavaScriptCore/Configurations/FeatureDefines.xcconfig

It seems there should be JavaScriptCore/ChangeLog in the patch, mentioning this file change.

&gt; --- a/WebCore/ChangeLog
&gt; +
&gt; +        No new tests, will add ones when after adding modules which use the
&gt; +        thread.

This line may go unwrapped, there is no 80-char width limit in WebKit.

&gt; diff --git a/WebCore/GNUmakefile.am b/WebCore/GNUmakefile.am
&gt; +# Add FileThread sources if FileWriter or FileReader is enabled.
&gt; +# ---
&gt; +if ENABLE_FILE_THREAD
&gt; +webcore_sources += \
&gt; +	WebCore/html/FileThread.cpp \
&gt; +	WebCore/html/FileThread.h
&gt; +endif  # END ENABLE_FILE_THREAD

ENABLE_FILE_THREAD?

&gt; diff --git a/WebCore/WebCore.gypi b/WebCore/WebCore.gypi

For Chromium, WebKit/chromium/features.gypi should be updated to include new ENABLE_* flags.

&gt; diff --git a/WebCore/dom/ScriptExecutionContext.cpp b/WebCore/dom/ScriptExecutionContext.cpp

&gt; +#if ENABLE(FILE_READER) || ENABLE(FILE_WRITER)
&gt; +FileThread* ScriptExecutionContext::fileThread()
&gt; +{
&gt; +    if (!m_fileThread &amp;&amp; !m_fileThreadCreated) {
&gt; +        m_fileThread = FileThread::create();
&gt; +        m_fileThreadCreated = true;
&gt; +        if (!m_fileThread-&gt;start())
&gt; +            m_fileThread = 0;

It would be nice to have a comment here explaining why you need to check both m_fileThread and m_fileThreadCreated.

&gt; +    }
&gt; +    return m_fileThread ? m_fileThread.get() : 0;

why not just &quot;return m_fileThread.get()&quot;?

&gt; diff --git a/WebCore/html/FileThread.cpp b/WebCore/html/FileThread.cpp
&gt; + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
&gt; + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
&gt; + */
&gt; +#include &quot;config.h&quot;

Need an empty line right after Copyright header.

&gt; +void* FileThread::runLoop()
&gt; +{
&gt; +    {
&gt; +        // Wait for FileThread::start() to complete.
&gt; +        MutexLocker lock(m_threadCreationMutex);

It is obvious that this waits for FileThread::start() to terminate. It&apos;d be more useful to tell why it is needed (to have m_threadID established in run loop).

&gt; diff --git a/WebCore/html/FileThread.h b/WebCore/html/FileThread.h
&gt; + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
&gt; + */
&gt; +#ifndef FileThread_h

Need empty line after Copyright.

&gt; +    void terminate();

&apos;terminate&apos; usually means &apos;death right now&apos;. It is unlikely that thread is terminated in this function. How about &apos;stop&apos; or &apos;exitRunLoop&apos;?

&gt; +    class Task : public Noncopyable {
&gt; +    public:
&gt; +        virtual ~Task() { }
&gt; +        virtual void performTask() = 0;
&gt; +        virtual PlatformFileHandle fileHandle() const = 0;

If most tasks will have a handle, why not add a non-virtual support for that, including constructor that would take PlatformFileHandle. If there are tasks not related to a file handle, it could have invaldPlatformFileHandle as default parameter. It&apos;d avoid multiple copy of the same code across multiple tasks.

BTW, if you will need to use commit-bot (since you are not yet a committer), please flip cq=? flag to indicate that, so a reviewer could flip it to + together with r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206937</commentid>
    <comment_count>9</comment_count>
      <attachid>52251</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-03-31 20:56:22 -0700</bug_when>
    <thetext>Created attachment 52251
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206939</commentid>
    <comment_count>10</comment_count>
      <attachid>52252</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-03-31 21:00:12 -0700</bug_when>
    <thetext>Created attachment 52252
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206943</commentid>
    <comment_count>11</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-03-31 21:23:37 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; &gt; diff --git a/JavaScriptCore/Configurations/FeatureDefines.xcconfig b/JavaScriptCore/Configurations/FeatureDefines.xcconfig
&gt; It seems there should be JavaScriptCore/ChangeLog in the patch, mentioning this
&gt; file change.

Done.

&gt; &gt; --- a/WebCore/ChangeLog
&gt; &gt; +        No new tests, will add ones when after adding modules which use the
&gt; &gt; +        thread.
&gt; This line may go unwrapped, there is no 80-char width limit in WebKit.

Done.

&gt; &gt; diff --git a/WebCore/GNUmakefile.am b/WebCore/GNUmakefile.am
&gt; &gt; +# Add FileThread sources if FileWriter or FileReader is enabled.
&gt; &gt; +if ENABLE_FILE_THREAD
&gt; ENABLE_FILE_THREAD?

Fixed.  (I tried to do a bit fancy in configure.ac and makefile.am. now went
back to basic.)

&gt; &gt; diff --git a/WebCore/WebCore.gypi b/WebCore/WebCore.gypi
&gt; For Chromium, WebKit/chromium/features.gypi should be updated to include new
&gt; ENABLE_* flags.

Done.  (Wow.  We may want a script for adding a feature?)

&gt; &gt; diff --git a/WebCore/dom/ScriptExecutionContext.cpp b/WebCore/dom/ScriptExecutionContext.cpp
&gt; &gt; +#if ENABLE(FILE_READER) || ENABLE(FILE_WRITER)
&gt; &gt; +FileThread* ScriptExecutionContext::fileThread()
&gt; &gt; +{
&gt; &gt; +    if (!m_fileThread &amp;&amp; !m_fileThreadCreated) {
&gt; 
&gt; It would be nice to have a comment here explaining why you need to check both
&gt; m_fileThread and m_fileThreadCreated.

Dropped the flag.  It was a remnant of other change that was reverted.

&gt; &gt; +    return m_fileThread ? m_fileThread.get() : 0;
&gt; why not just &quot;return m_fileThread.get()&quot;?

Oops.  Fixed.

&gt; &gt; diff --git a/WebCore/html/FileThread.cpp b/WebCore/html/FileThread.cpp
&gt; &gt; + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
&gt; &gt; + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
&gt; &gt; + */
&gt; &gt; +#include &quot;config.h&quot;
&gt; Need an empty line right after Copyright header.

Done.

&gt; &gt; +void* FileThread::runLoop()
&gt; &gt; +{
&gt; &gt; +    {
&gt; &gt; +        // Wait for FileThread::start() to complete.
&gt; &gt; +        MutexLocker lock(m_threadCreationMutex);
&gt; 
&gt; It is obvious that this waits for FileThread::start() to terminate. It&apos;d be
&gt; more useful to tell why it is needed (to have m_threadID established in run
&gt; loop).

Added a bit more useful comment.

&gt; &gt; diff --git a/WebCore/html/FileThread.h b/WebCore/html/FileThread.h
&gt; &gt; + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
&gt; &gt; + */
&gt; &gt; +#ifndef FileThread_h
&gt; Need empty line after Copyright.

Done.

&gt; &gt; +    void terminate();
&gt; &apos;terminate&apos; usually means &apos;death right now&apos;. It is unlikely that thread is
&gt; terminated in this function. How about &apos;stop&apos; or &apos;exitRunLoop&apos;?

Sounds good... Renamed it &apos;stop&apos;.

&gt; &gt; +    class Task : public Noncopyable {
&gt; &gt; +    public:
&gt; &gt; +        virtual ~Task() { }
&gt; &gt; +        virtual void performTask() = 0;
&gt; &gt; +        virtual PlatformFileHandle fileHandle() const = 0;
&gt; If most tasks will have a handle, why not add a non-virtual support for that,
&gt; including constructor that would take PlatformFileHandle. If there are tasks
&gt; not related to a file handle, it could have invaldPlatformFileHandle as default
&gt; parameter. It&apos;d avoid multiple copy of the same code across multiple tasks.

Makes sense.  Changed the code as your suggestion.

&gt; BTW, if you will need to use commit-bot (since you are not yet a committer),
&gt; please flip cq=? flag to indicate that, so a reviewer could flip it to +
&gt; together with r+.

I see.  I will do that for future uploads.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>207315</commentid>
    <comment_count>12</comment_count>
      <attachid>52252</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2010-04-01 12:32:56 -0700</bug_when>
    <thetext>Comment on attachment 52252
Patch

Almost there. Adding those ENABLE_ flags can be tedious indeed, but we are getting close.

&gt; diff --git a/ChangeLog b/ChangeLog
&gt; +        Add a enable flag for FileReader and FileWriter.
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=36896
&gt; +
&gt; +        * configure.ac:
&gt; +

&gt; diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
&gt; +        Add ENABLE_FILE_READER and ENABLE_FILE_WRITER flags.
&gt; +
&gt; +        * Configurations/FeatureDefines.xcconfig:

The ChangeLog should include a link to the bug. Also, it would be nice if the title (above the link to the bug) was the same in all ChangeLogs in the patch and also matched the title of the bug itself (this is not strictly speaking required, but sometimes is useful).

&gt; diff --git a/WebCore/GNUmakefile.am b/WebCore/GNUmakefile.am
&gt; +# ---
&gt; +# FileReader support
&gt; +# ---
&gt; +if ENABLE_FILE_READER
&gt; +FEATURE_DEFINES += ENABLE_FILE_READER=1
&gt; +webcore_cppflags += -DENABLE_FILE_READER=1
&gt; +
&gt; +# Add FileThread sources if FileWriter or FileReader is enabled.
&gt; +webcore_sources += \
&gt; +	WebCore/html/FileThread.cpp \
&gt; +	WebCore/html/FileThread.h
&gt; +endif  # END ENABLE_FILE_READER
&gt; +
&gt; +# ---
&gt; +# FileWriter support
&gt; +# ---
&gt; +if ENABLE_FILE_WRITER
&gt; +FEATURE_DEFINES += ENABLE_FILE_WRITER=1
&gt; +webcore_cppflags += -DENABLE_FILE_WRITER=1
&gt; +
&gt; +# Add FileThread sources if FileWriter or FileReader is enabled.
&gt; +webcore_sources += \
&gt; +	WebCore/html/FileThread.cpp \
&gt; +	WebCore/html/FileThread.h
&gt; +endif  # END ENABLE_FILE_WRITER

I missed it on first review: would it add FileThread.cpp to the list of compiled files twice if both switches are defined? Since content of those files is protected by ifdefs, perhaps it would be simpler to just add those files to the list of WebCore sources, let them compile in any case, their content is going to be disabled anyways if none of the flags is defined. Just like you have the code in ScriptExecutionContext that is there but not compiled if features are not enabled. Same about other build files.

&gt; diff --git a/WebCore/WebCore.pro b/WebCore/WebCore.pro
&gt; +contains(DEFINES, ENABLE_FILE_READER) {
&gt; +    HEADERS += \
&gt; +      html/FileThread.h
&gt; +    SOURCES += \
&gt; +      html/FileThread.cpp
&gt; +}
&gt; +
&gt; +contains(DEFINES, ENABLE_FILE_WRITER) {
&gt; +    HEADERS += \
&gt; +      html/FileThread.h
&gt; +    SOURCES += \
&gt; +      html/FileThread.cpp
&gt; +}

Same as above (just add those files unconditionally).

&gt; diff --git a/WebCore/WebCore.vcproj/WebCore.vcproj b/WebCore/WebCore.vcproj/WebCore.vcproj
&gt;  			&lt;/File&gt;
&gt;  			&lt;File
&gt; +				RelativePath=&quot;..\html\FileThread.cpp&quot;
&gt; +				&gt;
&gt; +			&lt;/File&gt;
&gt; +			&lt;File
&gt; +				RelativePath=&quot;..\html\FileThread.h&quot;
&gt; +				&gt;
&gt; +			&lt;/File&gt;
&gt; +			&lt;File
&gt; +				RelativePath=&quot;..\html\FileThread.cpp&quot;
&gt; +				&gt;
&gt; +			&lt;/File&gt;
&gt; +			&lt;File
&gt; +				RelativePath=&quot;..\html\FileThread.h&quot;
&gt; +				&gt;
&gt; +			&lt;/File&gt;

Seems like duplication here.

&gt; diff --git a/WebCore/dom/ScriptExecutionContext.cpp b/WebCore/dom/ScriptExecutionContext.cpp

&gt;  ScriptExecutionContext::Task::~Task()
&gt;  {
&gt;  }

This destructor is already defined in .h file...

&gt; diff --git a/WebCore/html/FileThread.h b/WebCore/html/FileThread.h

&gt; +    class Task : public Noncopyable {
&gt; +    public:
&gt; +        Task(PlatformFileHandle handle) : m_handle(handle) { }
&gt; +        virtual ~Task() { }
&gt; +        virtual void performTask() = 0;
&gt; +        virtual PlatformFileHandle fileHandle() const { return m_handle; }

Not sure it has to be virtual now.

&gt; +    protected:
&gt; +        Task() { }

This constructor does not seem to be needed... Can be added later if there will be need.

&gt; diff --git a/WebKit/chromium/features.gypi b/WebKit/chromium/features.gypi

There should be a ChangeLog file mentioning this change.

&gt; diff --git a/WebKit/mac/Configurations/FeatureDefines.xcconfig b/WebKit/mac/Configurations/FeatureDefines.xcconfig
&gt; +ENABLE_FILE_READER = ENABLE_FILE_READER;
&gt; +ENABLE_FILE_WRITER = ENABLE_FILE_WRITER;

In other xcconfig files, these are set like:
&gt; +ENABLE_FILE_READER = ;
&gt; +ENABLE_FILE_WRITER = ;

Why the difference?

&gt; diff --git a/WebKitLibraries/ChangeLog b/WebKitLibraries/ChangeLog
&gt; +        Adds ENABLE_FILE_READER and ENABLE_FILE_WRITER feature flags
&gt; +        for FileReader and FileWriter support.
&gt; +
&gt; +        * win/tools/vsprops/FeatureDefines.vsprops:
&gt; +        * win/tools/vsprops/FeatureDefinesCairo.vsprops:

Same as above - needs a link to the bug. Check all ChangeLogs for the uniformness. Also, WebKitTools/Scripts/prepare-ChangeLog helps to generate them, especially with &quot;--bug&quot; option. I sometimes use it again to &apos;regenerate&apos; the ChangeLogs after more changes are added to the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>207397</commentid>
    <comment_count>13</comment_count>
      <attachid>52333</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-04-01 14:06:27 -0700</bug_when>
    <thetext>Created attachment 52333
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>207402</commentid>
    <comment_count>14</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-04-01 14:19:28 -0700</bug_when>
    <thetext>Thanks for your careful review!

I ran prepare-ChangeLog to regenerate and fix the ChangeLogs.

(In reply to comment #12)
&gt; &gt; diff --git a/WebCore/GNUmakefile.am b/WebCore/GNUmakefile.am
&gt; &gt; diff --git a/WebCore/WebCore.pro b/WebCore/WebCore.pro
&gt; I missed it on first review: would it add FileThread.cpp to the list of
&gt; compiled files twice if both switches are defined? Since content of those files
&gt; is protected by ifdefs, perhaps it would be simpler to just add those files to
&gt; the list of WebCore sources, let them compile in any case, their content is
&gt; going to be disabled anyways if none of the flags is defined. Just like you
&gt; have the code in ScriptExecutionContext that is there but not compiled if
&gt; features are not enabled. Same about other build files.

Hmm, true.  Changed to add the files to webcore sources by default.

&gt; &gt; diff --git a/WebCore/WebCore.vcproj/WebCore.vcproj
&gt; Seems like duplication here.

Removed the dup.
 
&gt; &gt; diff --git a/WebCore/dom/ScriptExecutionContext.cpp b/WebCore/dom/ScriptExecutionContext.cpp
&gt; 
&gt; &gt;  ScriptExecutionContext::Task::~Task()
&gt; &gt;  {
&gt; &gt;  }
&gt; 
&gt; This destructor is already defined in .h file...

No the one in .h does not have a body.  (This isn&apos;t a part I&apos;ve touched either)
 
&gt; &gt; diff --git a/WebCore/html/FileThread.h b/WebCore/html/FileThread.h
&gt; 
&gt; &gt; +    class Task : public Noncopyable {
&gt; &gt; +    public:
&gt; &gt; +        virtual PlatformFileHandle fileHandle() const { return m_handle; }
&gt; Not sure it has to be virtual now.

Removed virtual keyword.
 
&gt; &gt; +    protected:
&gt; &gt; +        Task() { }
&gt; 
&gt; This constructor does not seem to be needed... Can be added later if there will
&gt; be need.

Right, hadn&apos;t fixed the constructors...  Removed it.

&gt; &gt; diff --git a/WebKit/chromium/features.gypi b/WebKit/chromium/features.gypi
&gt; There should be a ChangeLog file mentioning this change.

Added.
 
&gt; &gt; diff --git a/WebKit/mac/Configurations/FeatureDefines.xcconfig b/WebKit/mac/Configurations/FeatureDefines.xcconfig
&gt; &gt; +ENABLE_FILE_READER = ENABLE_FILE_READER;
&gt; &gt; +ENABLE_FILE_WRITER = ENABLE_FILE_WRITER;
&gt; 
&gt; In other xcconfig files, these are set like:
&gt; &gt; +ENABLE_FILE_READER = ;
&gt; &gt; +ENABLE_FILE_WRITER = ;
&gt; 
&gt; Why the difference?

Great catch, fixed it.

&gt; &gt; diff --git a/WebKitLibraries/ChangeLog b/WebKitLibraries/ChangeLog
&gt; Same as above - needs a link to the bug. Check all ChangeLogs for the
&gt; uniformness. Also, WebKitTools/Scripts/prepare-ChangeLog helps to generate
&gt; them, especially with &quot;--bug&quot; option. I sometimes use it again to &apos;regenerate&apos;
&gt; the ChangeLogs after more changes are added to the patch.

Yeah... it worked prettily.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>207565</commentid>
    <comment_count>15</comment_count>
      <attachid>52333</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2010-04-01 18:09:38 -0700</bug_when>
    <thetext>Comment on attachment 52333
Patch

Thanks! r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>207669</commentid>
    <comment_count>16</comment_count>
      <attachid>52333</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-01 22:23:10 -0700</bug_when>
    <thetext>Comment on attachment 52333
Patch

Clearing flags on attachment: 52333

Committed r56968: &lt;http://trac.webkit.org/changeset/56968&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>207670</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-01 22:23:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>207685</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-01 22:56:39 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/56968 might have broken Chromium Win Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>207687</commentid>
    <comment_count>19</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-01 22:57:32 -0700</bug_when>
    <thetext>No, this was just the Chromium Builder being unreliable. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208654</commentid>
    <comment_count>20</comment_count>
      <attachid>52560</attachid>
    <who name="Eric U.">ericu</who>
    <bug_when>2010-04-05 13:00:33 -0700</bug_when>
    <thetext>Created attachment 52560
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208656</commentid>
    <comment_count>21</comment_count>
      <attachid>52560</attachid>
    <who name="Eric U.">ericu</who>
    <bug_when>2010-04-05 13:03:29 -0700</bug_when>
    <thetext>Comment on attachment 52560
Patch

Webkit-patch post just sent my patch here instead of 36671.  I have no idea why.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209899</commentid>
    <comment_count>22</comment_count>
      <attachid>52799</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2010-04-07 16:27:34 -0700</bug_when>
    <thetext>Created attachment 52799
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209903</commentid>
    <comment_count>23</comment_count>
      <attachid>52801</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2010-04-07 16:32:48 -0700</bug_when>
    <thetext>Created attachment 52801
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209906</commentid>
    <comment_count>24</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2010-04-07 16:36:41 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; Created an attachment (id=52801) [details]
&gt; Patch

Same thing. webkit-patch seems to like this bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52208</attachid>
            <date>2010-03-31 13:48:42 -0700</date>
            <delta_ts>2010-03-31 13:54:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-36896-20100331134841.patch</filename>
            <type>text/plain</type>
            <size>23088</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAwMDFkZGRiLi41N2E2OTdk
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTAtMDMtMzEgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIGVuYWJsZSBm
bGFnIGZvciBGaWxlUmVhZGVyIGFuZCBGaWxlV3JpdGVyLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzY4OTYKKworICAgICAgICAqIGNvbmZpZ3VyZS5h
YzoKKwogMjAxMC0wMy0yNiAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAbm9r
aWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3ZTVmODNiLi4w
MWIyN2VkIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEwLTAzLTMxICBLaW51a28gWWFzdWRhICA8a2ludWtv
QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgRmlsZVRocmVhZCBmb3IgYXN5bmMgZmlsZSBvcGVyYXRpb24gc3VwcG9ydCBm
b3IgRmlsZVJlYWRlciBhbmQKKwkJRmlsZVdyaXRlci4gIFRoZSBwYXRjaCBhbHNvIGFkZHMgRU5B
QkxFX0ZJTEVfUkVBREVSIG9yCisJCUVOQUJMRV9GSUxFX1dSSVRFUiBidWlsZCBmbGFncy9kZWZp
bmVzLiAgQm90aCBmbGFncyBhcmUgZGlzYWJsZWQKKwkJYnkgZGVmYXVsdC4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2ODk2CisKKyAgICAgICAgTm8g
bmV3IHRlc3RzLCB3aWxsIGFkZCBvbmVzIHdoZW4gYWZ0ZXIgYWRkaW5nIG1vZHVsZXMgd2hpY2gg
dXNlIHRoZQorCQl0aHJlYWQuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJD
b3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6flNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6ZmlsZVRocmVhZCk6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9Mb2dnaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oik6Cisg
ICAgICAgIChXZWJDb3JlOjpnZXRDaGFubmVsRnJvbU5hbWUpOgorICAgICAgICAqIHBsYXRmb3Jt
L0xvZ2dpbmcuaDoKKwogMjAxMC0wMy0zMCAgS2V2aW4gT2xsaXZpZXIgIDxrZXZpbm9AdGhlb2xs
aXZpZXJzLmNvbT4KIAogICAgICAgICBbd3hdIEJ1aWxkIGZpeCBhZnRlciBuZXcgbG9jYWxpemVk
IHN0cmluZyBhZGRpdGlvbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcgYi9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCmluZGV4IDk1NjQyYzAuLjJlNDk3ZjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvV2ViQ29yZS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNTAsNiArNTAsOCBAQCBFTkFC
TEVfREFUQUxJU1QgPSBFTkFCTEVfREFUQUxJU1Q7CiBFTkFCTEVfRE9NX1NUT1JBR0UgPSBFTkFC
TEVfRE9NX1NUT1JBR0U7CiBFTkFCTEVfRVZFTlRTT1VSQ0UgPSBFTkFCTEVfRVZFTlRTT1VSQ0U7
CiBFTkFCTEVfRklMVEVSUyA9IEVOQUJMRV9GSUxURVJTOworRU5BQkxFX0ZJTEVfUkVBREVSID0g
RU5BQkxFX0ZJTEVfUkVBREVSOworRU5BQkxFX0ZJTEVfV1JJVEVSID0gRU5BQkxFX0ZJTEVfV1JJ
VEVSOwogRU5BQkxFX0dFT0xPQ0FUSU9OID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogRU5BQkxFX0lD
T05EQVRBQkFTRSA9IEVOQUJMRV9JQ09OREFUQUJBU0U7CiBFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RSA9IDsKQEAgLTc1LDQgKzc3LDQgQEAgRU5BQkxFX1hIVE1MTVAgPSA7CiBFTkFCTEVfWFBBVEgg
PSBFTkFCTEVfWFBBVEg7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RF
RklORVMgPSAkKEVOQUJMRV8zRF9DQU5WQVMpICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFC
TEVfQkxPQl9TTElDRSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NMSUVO
VF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfREFUQUJBU0UpICQoRU5BQkxFX0RBVEFHUklE
KSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVfRE9NX1NUT1JBR0UpICQoRU5BQkxFX0VWRU5U
U09VUkNFKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVf
SUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9KQVZBU0NS
SVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJChFTkFCTEVfUlVCWSkgJChFTkFCTEVf
U0FOREJPWCkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NWRykgJChFTkFCTEVf
U1ZHX0FOSU1BVElPTikgJChFTkFCTEVfU1ZHX0FTX0lNQUdFKSAkKEVOQUJMRV9TVkdfRE9NX09C
SkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JK
RUNUKSAkKEVOQUJMRV9TVkdfVVNFKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfV0VCX1NPQ0tF
VFMpICQoRU5BQkxFX1dNTCkgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhUTUxNUCkgJChF
TkFCTEVfWFBBVEgpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfQ0FOVkFTKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0JMT0JfU0xJQ0UpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBR1JJRCkgJChFTkFCTEVfREFUQUxJ
U1QpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9FVkVOVFNPVVJDRSkgJChFTkFCTEVf
RklMVEVSUykgJChFTkFCTEVfRklMRV9SRUFERVIpICQoRU5BQkxFX0ZJTEVfV1JJVEVSKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9NQVRITUwp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9O
UykgJChFTkFCTEVfUlVCWSkgJChFTkFCTEVfU0FOREJPWCkgJChFTkFCTEVfU0hBUkVEX1dPUktF
UlMpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1BVElPTikgJChFTkFCTEVfU1ZHX0FT
X0lNQUdFKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVOQUJMRV9TVkdfVVNFKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dNTCkgJChFTkFCTEVfV09S
S0VSUykgJChFTkFCTEVfWEhUTUxNUCkgJChFTkFCTEVfWFBBVEgpICQoRU5BQkxFX1hTTFQpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUu
YW0KaW5kZXggOWVlMmE3Ni4uOGNhNDczZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0zNTU4LDYgKzM1NTgsMzAgQEAg
RkVBVFVSRV9ERUZJTkVTICs9IEVOQUJMRV9CTE9CX1NMSUNFPTEKIHdlYmNvcmVfY3BwZmxhZ3Mg
Kz0gLURFTkFCTEVfQkxPQl9TTElDRT0xCiBlbmRpZiAgIyBFTkQgRU5BQkxFX0JMT0JfU0xJQ0UK
IAorIyAtLS0KKyMgRmlsZVJlYWRlciBzdXBwb3J0CisjIC0tLQoraWYgRU5BQkxFX0ZJTEVfUkVB
REVSCitGRUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX0ZJTEVfUkVBREVSPTEKK3dlYmNvcmVfY3Bw
ZmxhZ3MgKz0gLURFTkFCTEVfRklMRV9SRUFERVI9MQorZW5kaWYgICMgRU5EIEVOQUJMRV9GSUxF
X1JFQURFUgorCisjIC0tLQorIyBGaWxlV3JpdGVyIHN1cHBvcnQKKyMgLS0tCitpZiBFTkFCTEVf
RklMRV9XUklURVIKK0ZFQVRVUkVfREVGSU5FUyArPSBFTkFCTEVfRklMRV9XUklURVI9MQord2Vi
Y29yZV9jcHBmbGFncyArPSAtREVOQUJMRV9GSUxFX1dSSVRFUj0xCitlbmRpZiAgIyBFTkQgRU5B
QkxFX0ZJTEVfV1JJVEVSCisKKyMgLS0tCisjIEFkZCBGaWxlVGhyZWFkIHNvdXJjZXMgaWYgRmls
ZVdyaXRlciBvciBGaWxlUmVhZGVyIGlzIGVuYWJsZWQuCisjIC0tLQoraWYgRU5BQkxFX0ZJTEVf
VEhSRUFECit3ZWJjb3JlX3NvdXJjZXMgKz0gXAorCVdlYkNvcmUvaHRtbC9GaWxlVGhyZWFkLmNw
cCBcCisJV2ViQ29yZS9odG1sL0ZpbGVUaHJlYWQuaAorZW5kaWYgICMgRU5EIEVOQUJMRV9GSUxF
X1RIUkVBRAogCiBEZXJpdmVkU291cmNlcy9DU1NQcm9wZXJ0eU5hbWVzLmg6ICQoV0VCQ09SRV9D
U1NfUFJPUEVSVFlfTkFNRVMpICQoV2ViQ29yZSkvY3NzL21ha2Vwcm9wLnBsCiAJaWYgc29ydCAk
KFdFQkNPUkVfQ1NTX1BST1BFUlRZX05BTUVTKSB8IHVuaXEgLWQgfCBncmVwIC1FICdeW14jXSc7
IHRoZW4gZWNobyAnRHVwbGljYXRlIHZhbHVlISc7IGV4aXQgMTsgZmkKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggNTA5ZWQ4MS4u
NGE0NWMzZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKQEAgLTE0MjYsNiArMTQyNiw4IEBACiAgICAgICAgICAgICAnaHRtbC9GaWxl
LmgnLAogICAgICAgICAgICAgJ2h0bWwvRmlsZUxpc3QuY3BwJywKICAgICAgICAgICAgICdodG1s
L0ZpbGVMaXN0LmgnLAorICAgICAgICAgICAgJ2h0bWwvRmlsZVRocmVhZC5jcHAnLAorICAgICAg
ICAgICAgJ2h0bWwvRmlsZVRocmVhZC5oJywKICAgICAgICAgICAgICdodG1sL0Zvcm1EYXRhTGlz
dC5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvRm9ybURhdGFMaXN0LmgnLAogICAgICAgICAgICAg
J2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uY3BwJywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29y
ZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDcyMzAxMjUuLmM2ZTI1YjkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAt
MjgzOSw2ICsyODM5LDIwIEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9TWU1CSUFOX0RJQUxP
R19QUk9WSURFUlMpIHsKICAgICB9CiB9CiAKK2NvbnRhaW5zKERFRklORVMsIEVOQUJMRV9GSUxF
X1JFQURFUikgeworICAgIEhFQURFUlMgKz0gXAorICAgICAgaHRtbC9GaWxlVGhyZWFkLmgKKyAg
ICBTT1VSQ0VTICs9IFwKKyAgICAgIGh0bWwvRmlsZVRocmVhZC5jcHAKK30KKworY29udGFpbnMo
REVGSU5FUywgRU5BQkxFX0ZJTEVfV1JJVEVSKSB7CisgICAgSEVBREVSUyArPSBcCisgICAgICBo
dG1sL0ZpbGVUaHJlYWQuaAorICAgIFNPVVJDRVMgKz0gXAorICAgICAgaHRtbC9GaWxlVGhyZWFk
LmNwcAorfQorCiBpbmNsdWRlKCQkUFdELy4uL1dlYktpdC9xdC9BcGkvaGVhZGVycy5wcmkpCiBI
RUFERVJTICs9ICQkV0VCS0lUX0FQSV9IRUFERVJTCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qCmluZGV4IDk0OTY3ZDUuLmVjNDViMDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagpAQCAtMzAyMjUsNiArMzAyMjUsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxl
Pg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxGaWxlVGhyZWFkLmNwcCIN
CisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0
bWxcRmlsZVRocmVhZC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJl
bGF0aXZlUGF0aD0iLi5caHRtbFxGb3JtRGF0YUxpc3QuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxl
Pg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZTgwYTZm
Yi4uNGY1NTBmMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTIyMDUsNiArMjIwNSw4IEBACiAJCTg1Rjc0RTBBMEFBOERGOEMwMDBEQzI4NCAvKiBET01D
U1NVbmtub3duUnVsZS5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODUwMzJERDUwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1Vu
a25vd25SdWxlLmggKi87IH07CiAJCTg1RkYzMTVBMEFBRkJGQ0IwMDM3NEYzOCAvKiBET01LZXli
b2FyZEV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4NUZGMzE1ODBBQUZCRkNCMDAzNzRGMzggLyogRE9NS2V5Ym9hcmRFdmVudC5oICovOyB9Owog
CQk4NUZGMzE1QjBBQUZCRkNCMDAzNzRGMzggLyogRE9NS2V5Ym9hcmRFdmVudC5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RkYzMTU5MEFBRkJGQ0Iw
MDM3NEYzOCAvKiBET01LZXlib2FyZEV2ZW50Lm1tICovOyB9OworCQk4OTk3OEJENTExNjNFNzdC
MDAzM0ExOUIgLyogRmlsZVRocmVhZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4OTk3OEJEMzExNjNFNzdCMDAzM0ExOUIgLyogRmlsZVRocmVhZC5j
cHAgKi87IH07CisJCTg5OTc4QkQ2MTE2M0U3N0IwMDMzQTE5QiAvKiBGaWxlVGhyZWFkLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTk3OEJENDExNjNF
NzdCMDAzM0ExOUIgLyogRmlsZVRocmVhZC5oICovOyB9OwogCQk5MzAyQjBCRDBENzlGODI5MDBD
N0VFODMgLyogUGFnZUdyb3VwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDkzMDJCMEJDMEQ3OUY4MjkwMEM3RUU4MyAvKiBQYWdlR3JvdXAuY3BwICov
OyB9OwogCQk5MzAyQjBCRjBENzlGODJDMDBDN0VFODMgLyogUGFnZUdyb3VwLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzAyQjBCRTBENzlGODJDMDBD
N0VFODMgLyogUGFnZUdyb3VwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJOTMwNUIyNEQwOThGMUI2QjAwQzI4ODU1IC8qIFRpbWVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzA1QjI0QzA5OEYxQjZC
MDBDMjg4NTUgLyogVGltZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtNzY0NSw2ICs3NjQ3LDggQEAKIAkJODVGNTZBNzkwQTk4Q0UzNzAwQURC
NjBBIC8qIERPTVByb2Nlc3NpbmdJbnN0cnVjdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBET01Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24ubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1RkYzMTU4MEFBRkJGQ0IwMDM3NEYzOCAvKiBET01LZXli
b2FyZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01LZXlib2Fy
ZEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1RkYzMTU5MEFBRkJGQ0Iw
MDM3NEYzOCAvKiBET01LZXlib2FyZEV2ZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IERPTUtleWJvYXJkRXZlbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTg5OTc4QkQzMTE2M0U3N0IwMDMzQTE5QiAvKiBGaWxlVGhyZWFkLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZpbGVUaHJlYWQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk4OTk3OEJENDExNjNFNzdCMDAzM0ExOUIgLyogRmlsZVRo
cmVhZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGaWxlVGhyZWFkLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDJCMEJDMEQ3OUY4MjkwMEM3RUU4MyAvKiBQ
YWdlR3JvdXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFnZUdy
b3VwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwMkIwQkUwRDc5RjgyQzAw
QzdFRTgzIC8qIFBhZ2VHcm91cC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQ
YWdlR3JvdXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNUIyNEMwOThGMUI2
QjAwQzI4ODU1IC8qIFRpbWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRp
bWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjkyNCw2ICsxMjkyOCw4IEBA
CiAJCTkzRUVDMUVDMDlDMjg3NzcwMEM1MTVEMSAvKiBodG1sICovID0gewogCQkJaXNhID0gUEJY
R3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk4OTk3OEJEMzExNjNFNzdCMDAzM0ExOUIgLyog
RmlsZVRocmVhZC5jcHAgKi8sCisJCQkJODk5NzhCRDQxMTYzRTc3QjAwMzNBMTlCIC8qIEZpbGVU
aHJlYWQuaCAqLywKIAkJCQlBNDNCRjU5NjExNDkyOTBBMDBDNjQzQ0EgLyogSFRNTFByb2dyZXNz
RWxlbWVudC5jcHAgKi8sCiAJCQkJQTQzQkY1OTcxMTQ5MjkwQTAwQzY0M0NBIC8qIEhUTUxQcm9n
cmVzc0VsZW1lbnQuaCAqLywKIAkJCQk0OTQ4NEZBRTEwMkNGMDFFMDAxODdERDMgLyogY2FudmFz
ICovLApAQCAtMTg3NjgsNiArMTg3NzQsNyBAQAogCQkJCUU0Nzc4QjgwMTE1QTU4MUEwMEI1RDM3
MiAvKiBKU0N1c3RvbUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUUxQkYwMDExNUZGNkZC
MDA2RjUyQ0EgLyogV2luZG93c0tleWJvYXJkQ29kZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0
OTlBNTE1MTE1RkIzMzAwMEY1NjZFMyAvKiBSZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5oIGluIEhl
YWRlcnMgKi8sCisJCQkJODk5NzhCRDYxMTYzRTc3QjAwMzNBMTlCIC8qIEZpbGVUaHJlYWQuaCBp
biBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpAQCAtMjA5ODIsNiArMjA5ODksNyBAQAogCQkJCTYyQ0QzMjU5MTE1N0U1
N0MwMDYzQjBBNyAvKiBDdXN0b21FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNDc3OEI3
RjExNUE1ODFBMDBCNUQzNzIgLyogSlNDdXN0b21FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk4NDk5QTUxNDExNUZCMzMwMDBGNTY2RTMgLyogUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJODk5NzhCRDUxMTYzRTc3QjAwMzNBMTlCIC8qIEZpbGVUaHJl
YWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVj
dXRpb25Db250ZXh0LmNwcCBiL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3Bw
CmluZGV4IGMyZmUxMjAuLjBmZTI1NTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuY3BwCkBAIC0zMSw2ICszMSw5IEBACiAjaW5jbHVkZSAiRGF0YWJhc2UuaCIKICNpbmNsdWRl
ICJEYXRhYmFzZVRhc2suaCIKICNpbmNsdWRlICJEYXRhYmFzZVRocmVhZC5oIgorI2lmIEVOQUJM
RShGSUxFX1JFQURFUikgfHwgRU5BQkxFKEZJTEVfV1JJVEVSKQorI2luY2x1ZGUgIkZpbGVUaHJl
YWQuaCIKKyNlbmRpZgogI2luY2x1ZGUgIk1lc3NhZ2VQb3J0LmgiCiAjaW5jbHVkZSAiU2VjdXJp
dHlPcmlnaW4uaCIKICNpbmNsdWRlICJXb3JrZXJDb250ZXh0LmgiCkBAIC02MSw2ICs2NCw5IEBA
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKQogI2lmIEVO
QUJMRShEQVRBQkFTRSkKICAgICA6IG1faGFzT3BlbkRhdGFiYXNlcyhmYWxzZSkKICNlbmRpZgor
I2lmIEVOQUJMRShGSUxFX1JFQURFUikgfHwgRU5BQkxFKEZJTEVfV1JJVEVSKQorICAgICwgbV9m
aWxlVGhyZWFkQ3JlYXRlZChmYWxzZSkKKyNlbmRpZgogewogfQogCkBAIC04Myw2ICs4OSwxMiBA
QCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojp+U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpCiAgICAg
ICAgIG1fZGF0YWJhc2VUaHJlYWQgPSAwOwogICAgIH0KICNlbmRpZgorI2lmIEVOQUJMRShGSUxF
X1JFQURFUikgfHwgRU5BQkxFKEZJTEVfV1JJVEVSKQorICAgIGlmIChtX2ZpbGVUaHJlYWQpIHsK
KyAgICAgICAgbV9maWxlVGhyZWFkLT50ZXJtaW5hdGUoKTsKKyAgICAgICAgbV9maWxlVGhyZWFk
ID0gMDsKKyAgICB9CisjZW5kaWYKIH0KIAogI2lmIEVOQUJMRShEQVRBQkFTRSkKQEAgLTI2MSw2
ICsyNzMsMTkgQEAgRE9NVGltZXIqIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmZpbmRUaW1lb3V0
KGludCB0aW1lb3V0SWQpCiAgICAgcmV0dXJuIG1fdGltZW91dHMuZ2V0KHRpbWVvdXRJZCk7CiB9
CiAKKyNpZiBFTkFCTEUoRklMRV9SRUFERVIpIHx8IEVOQUJMRShGSUxFX1dSSVRFUikKK0ZpbGVU
aHJlYWQqIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmZpbGVUaHJlYWQoKQoreworICAgIGlmICgh
bV9maWxlVGhyZWFkICYmICFtX2ZpbGVUaHJlYWRDcmVhdGVkKSB7CisgICAgICAgIG1fZmlsZVRo
cmVhZCA9IEZpbGVUaHJlYWQ6OmNyZWF0ZSgpOworICAgICAgICBtX2ZpbGVUaHJlYWRDcmVhdGVk
ID0gdHJ1ZTsKKyAgICAgICAgaWYgKCFtX2ZpbGVUaHJlYWQtPnN0YXJ0KCkpCisgICAgICAgICAg
ICBtX2ZpbGVUaHJlYWQgPSAwOworICAgIH0KKyAgICByZXR1cm4gbV9maWxlVGhyZWFkID8gbV9m
aWxlVGhyZWFkLmdldCgpIDogMDsKK30KKyNlbmRpZgorCiBTY3JpcHRFeGVjdXRpb25Db250ZXh0
OjpUYXNrOjp+VGFzaygpCiB7CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVj
dXRpb25Db250ZXh0LmggYi9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5k
ZXggZjFjNzljZi4uODk0NzU1MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaApA
QCAtNDUsNiArNDUsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRGF0YWJhc2VU
aHJlYWQ7CiAjZW5kaWYKICAgICBjbGFzcyBET01UaW1lcjsKKyNpZiBFTkFCTEUoRklMRV9SRUFE
RVIpIHx8IEVOQUJMRShGSUxFX1dSSVRFUikKKyAgICBjbGFzcyBGaWxlVGhyZWFkOworI2VuZGlm
CiAgICAgY2xhc3MgTWVzc2FnZVBvcnQ7CiAgICAgY2xhc3MgU2VjdXJpdHlPcmlnaW47CiAgICAg
Y2xhc3MgU2NyaXB0U3RyaW5nOwpAQCAtMTM2LDYgKzEzOSwxMSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIEpTQzo6SlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhKCk7CiAjZW5kaWYKIAor
I2lmIEVOQUJMRShGSUxFX1JFQURFUikgfHwgRU5BQkxFKEZJTEVfV1JJVEVSKQorICAgICAgICBG
aWxlVGhyZWFkKiBmaWxlVGhyZWFkKCk7CisgICAgICAgIHZvaWQgc3RvcEZpbGVUaHJlYWQoKTsK
KyNlbmRpZgorCiAgICAgcHJvdGVjdGVkOgogICAgICAgICAvLyBFeHBsaWNpdGx5IG92ZXJyaWRl
IHRoZSBzZWN1cml0eSBvcmlnaW4gZm9yIHRoaXMgc2NyaXB0IGNvbnRleHQuCiAgICAgICAgIC8v
IE5vdGU6IEl0IGlzIGRhbmdlcm91cyB0byBjaGFuZ2UgdGhlIHNlY3VyaXR5IG9yaWdpbiBvZiBh
IHNjcmlwdCBjb250ZXh0CkBAIC0xNjMsNiArMTcxLDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgdHlwZWRlZiBIYXNoU2V0PERhdGFiYXNlKiA+IERhdGFiYXNlU2V0OwogICAgICAg
ICBPd25QdHI8RGF0YWJhc2VTZXQ+IG1fb3BlbkRhdGFiYXNlU2V0OwogI2VuZGlmCisKKyNpZiBF
TkFCTEUoRklMRV9SRUFERVIpIHx8IEVOQUJMRShGSUxFX1dSSVRFUikKKyAgICAgICAgUmVmUHRy
PEZpbGVUaHJlYWQ+IG1fZmlsZVRocmVhZDsKKyAgICAgICAgYm9vbCBtX2ZpbGVUaHJlYWRDcmVh
dGVkOworI2VuZGlmCiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2lu
Zy5jcHAKaW5kZXggOTJlMTFlMy4uN2ZiMTViMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9Mb2dnaW5nLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuY3BwCkBAIC0yMCw3
ICsyMCw3IEBACiAgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKQEAg
LTYwLDYgKzYwLDcgQEAgV1RGTG9nQ2hhbm5lbCBMb2dNZWRpYSA9ICAgICAgICAgICAgIHsgMHgw
MTAwMDAwMCwgIldlYkNvcmVMb2dMZXZlbCIsIFdURkxvZ0NoYW4KIFdURkxvZ0NoYW5uZWwgTG9n
UGx1Z2lucyA9ICAgICAgICAgICB7IDB4MDIwMDAwMDAsICJXZWJDb3JlTG9nTGV2ZWwiLCBXVEZM
b2dDaGFubmVsT2ZmIH07CiBXVEZMb2dDaGFubmVsIExvZ0FyY2hpdmVzID0gICAgICAgICAgeyAw
eDA0MDAwMDAwLCAiV2ViQ29yZUxvZ0xldmVsIiwgV1RGTG9nQ2hhbm5lbE9mZiB9OwogV1RGTG9n
Q2hhbm5lbCBMb2dQcm9ncmVzcyA9ICAgICAgICAgIHsgMHgwODAwMDAwMCwgIldlYkNvcmVMb2dM
ZXZlbCIsIFdURkxvZ0NoYW5uZWxPZmYgfTsKK1dURkxvZ0NoYW5uZWwgTG9nRmlsZUFQSSA9ICAg
ICAgICAgICB7IDB4MTAwMDAwMDAsICJXZWJDb3JlTG9nTGV2ZWwiLCBXVEZMb2dDaGFubmVsT2Zm
IH07CiAKIFdURkxvZ0NoYW5uZWwqIGdldENoYW5uZWxGcm9tTmFtZShjb25zdCBTdHJpbmcmIGNo
YW5uZWxOYW1lKQogewpAQCAtMTEzLDcgKzExNCw3IEBAIFdURkxvZ0NoYW5uZWwqIGdldENoYW5u
ZWxGcm9tTmFtZShjb25zdCBTdHJpbmcmIGNoYW5uZWxOYW1lKQogCiAgICAgaWYgKGVxdWFsSWdu
b3JpbmdDYXNlKGNoYW5uZWxOYW1lLCBTdHJpbmcoIlByb2dyZXNzIikpKQogICAgICAgICByZXR1
cm4gJkxvZ1Byb2dyZXNzOwotICAgICAgICAKKwogICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShj
aGFubmVsTmFtZSwgU3RyaW5nKCJTcGVsbGluZ0FuZEdyYW1tYXIiKSkpCiAgICAgICAgIHJldHVy
biAmTG9nU3BlbGxpbmdBbmRHcmFtbWFyOwogCkBAIC0xMjksNiArMTMwLDkgQEAgV1RGTG9nQ2hh
bm5lbCogZ2V0Q2hhbm5lbEZyb21OYW1lKGNvbnN0IFN0cmluZyYgY2hhbm5lbE5hbWUpCiAgICAg
aWYgKGVxdWFsSWdub3JpbmdDYXNlKGNoYW5uZWxOYW1lLCBTdHJpbmcoIlRocmVhZGluZyIpKSkK
ICAgICAgICAgcmV0dXJuICZMb2dUaHJlYWRpbmc7CiAKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nh
c2UoY2hhbm5lbE5hbWUsIFN0cmluZygiRmlsZUFQSSIpKSkKKyAgICAgICAgcmV0dXJuICZMb2dG
aWxlQVBJOworCiAgICAgcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vTG9nZ2luZy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmgKaW5kZXggYzBjNDFjMS4u
NDViNmQyMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmgKQEAgLTU4LDYgKzU4LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGV4dGVybiBXVEZMb2dDaGFubmVsIExvZ1BsdWdpbnM7CiAgICAgZXh0ZXJuIFdU
RkxvZ0NoYW5uZWwgTG9nQXJjaGl2ZXM7CiAgICAgZXh0ZXJuIFdURkxvZ0NoYW5uZWwgTG9nUHJv
Z3Jlc3M7CisgICAgZXh0ZXJuIFdURkxvZ0NoYW5uZWwgTG9nRmlsZUFQSTsKIAogICAgIHZvaWQg
SW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CiAgICAgV1RGTG9nQ2hhbm5l
bCogZ2V0Q2hhbm5lbEZyb21OYW1lKGNvbnN0IFN0cmluZyYgY2hhbm5lbE5hbWUpOwpkaWZmIC0t
Z2l0IGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAw
YTI0ZGMwLi5lYzQ2NDA3IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEwLTAzLTMxICBLaW51a28g
WWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworCQlBZGQgRklMRV9SRUFERVIgb3IgRklMRV9XUklURVIgZmVhdHVyZSBk
ZWZpbmVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MzY4OTYKKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
OgorCiAyMDEwLTAzLTMwICBKb2huIFN1bGxpdmFuICA8c3VsbGl2YW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFj
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvV2ViS2l0L21hYy9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA5NTY0MmMwLi4yZTQ5N2Y4
IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCisrKyBiL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKQEAgLTUwLDYgKzUwLDggQEAgRU5BQkxFX0RBVEFMSVNUID0gRU5BQkxFX0RBVEFMSVNU
OwogRU5BQkxFX0RPTV9TVE9SQUdFID0gRU5BQkxFX0RPTV9TVE9SQUdFOwogRU5BQkxFX0VWRU5U
U09VUkNFID0gRU5BQkxFX0VWRU5UU09VUkNFOwogRU5BQkxFX0ZJTFRFUlMgPSBFTkFCTEVfRklM
VEVSUzsKK0VOQUJMRV9GSUxFX1JFQURFUiA9IEVOQUJMRV9GSUxFX1JFQURFUjsKK0VOQUJMRV9G
SUxFX1dSSVRFUiA9IEVOQUJMRV9GSUxFX1dSSVRFUjsKIEVOQUJMRV9HRU9MT0NBVElPTiA9IEVO
QUJMRV9HRU9MT0NBVElPTjsKIEVOQUJMRV9JQ09OREFUQUJBU0UgPSBFTkFCTEVfSUNPTkRBVEFC
QVNFOwogRU5BQkxFX0lOREVYRURfREFUQUJBU0UgPSA7CkBAIC03NSw0ICs3Nyw0IEBAIEVOQUJM
RV9YSFRNTE1QID0gOwogRU5BQkxFX1hQQVRIID0gRU5BQkxFX1hQQVRIOwogRU5BQkxFX1hTTFQg
PSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfQ0FOVkFTKSAk
KEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0JMT0JfU0xJQ0UpICQoRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBR1JJRCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxF
X0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9FVkVOVFNPVVJDRSkgJChFTkFCTEVfRklMVEVSUykgJChF
TkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRSkgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1M
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElP
TlMpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxFX1NBTkRCT1gpICQoRU5BQkxFX1NIQVJFRF9XT1JL
RVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19BTklNQVRJT04pICQoRU5BQkxFX1NWR19B
U19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9O
VFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCkgJChFTkFCTEVfU1ZHX1VTRSkgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dP
UktFUlMpICQoRU5BQkxFX1hIVE1MTVApICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsK
K0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX0NBTlZBUykgJChFTkFCTEVfM0RfUkVOREVS
SU5HKSAkKEVOQUJMRV9CTE9CX1NMSUNFKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFC
TEVfREFUQUdSSUQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9ET01fU1RPUkFHRSkgJChF
TkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZJTEVfUkVBREVS
KSAkKEVOQUJMRV9GSUxFX1dSSVRFUikgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lD
T05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSkFWQVNDUklQ
VF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxFX1NB
TkRCT1gpICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NW
R19BTklNQVRJT04pICQoRU5BQkxFX1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpD
X0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVD
VCkgJChFTkFCTEVfU1ZHX1VTRSkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1dFQl9TT0NLRVRT
KSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIVE1MTVApICQoRU5B
QkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5n
ZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCAxZTg0NGRmLi41ZWNjYzIwIDEwMDY0
NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDMtMzEgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisJCUFk
ZCBvcHRpb25zIHRvIGVuYWJsZSBGSUxFX1JFQURFUiBvciBGSUxFX1dSSVRFUiBzdXBwb3J0LiAg
Qm90aAorCQlhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2ODk2CisKKyAgICAgICAgKiBTY3JpcHRzL2J1aWxk
LXdlYmtpdDoKKwogMjAxMC0wMy0zMCAgS2V2aW4gT2xsaXZpZXIgIDxrZXZpbm9AdGhlb2xsaXZp
ZXJzLmNvbT4KIAogICAgICAgICBbd3hdIEJ1aWxkIGZpeCBhZnRlciBuZXcgbWV0aG9kIGFkZGVk
LgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQgYi9XZWJLaXRU
b29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAppbmRleCBmODY2MTg4Li4yMzQwOTZjIDEwMDc1NQot
LS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAorKysgYi9XZWJLaXRUb29scy9T
Y3JpcHRzL2J1aWxkLXdlYmtpdApAQCAtNTYsNyArNTYsOCBAQCBteSAoJHRocmVlRENhbnZhc1N1
cHBvcnQsICR0aHJlZURSZW5kZXJpbmdTdXBwb3J0LCAkY2hhbm5lbE1lc3NhZ2luZ1N1cHBvcnQs
ICRjbAogICAgICRqYXZhU2NyaXB0RGVidWdnZXJTdXBwb3J0LCAkbWF0aG1sU3VwcG9ydCwgJG9m
ZmxpbmVXZWJBcHBsaWNhdGlvblN1cHBvcnQsICRydWJ5U3VwcG9ydCwgJHN5c3RlbU1hbGxvY1N1
cHBvcnQsICRzYW5kYm94U3VwcG9ydCwgJHNoYXJlZFdvcmtlcnNTdXBwb3J0LAogICAgICRzdmdT
dXBwb3J0LCAkc3ZnQW5pbWF0aW9uU3VwcG9ydCwgJHN2Z0FzSW1hZ2VTdXBwb3J0LCAkc3ZnRE9N
T2JqQ0JpbmRpbmdzU3VwcG9ydCwgJHN2Z0ZvbnRzU3VwcG9ydCwKICAgICAkc3ZnRm9yZWlnbk9i
amVjdFN1cHBvcnQsICRzdmdVc2VTdXBwb3J0LCAkdmlkZW9TdXBwb3J0LCAkd2ViU29ja2V0c1N1
cHBvcnQsICR3bWxTdXBwb3J0LCAkd2Nzc1N1cHBvcnQsICR4aHRtbG1wU3VwcG9ydCwgJHdvcmtl
cnNTdXBwb3J0LAotICAgICR4cGF0aFN1cHBvcnQsICR4c2x0U3VwcG9ydCwgJGNvdmVyYWdlU3Vw
cG9ydCwgJG5vdGlmaWNhdGlvbnNTdXBwb3J0LCAkYmxvYlNsaWNlU3VwcG9ydCwgJHRpbGVkQmFj
a2luZ1N0b3JlU3VwcG9ydCk7CisgICAgJHhwYXRoU3VwcG9ydCwgJHhzbHRTdXBwb3J0LCAkY292
ZXJhZ2VTdXBwb3J0LCAkbm90aWZpY2F0aW9uc1N1cHBvcnQsICRibG9iU2xpY2VTdXBwb3J0LCAk
dGlsZWRCYWNraW5nU3RvcmVTdXBwb3J0LAorICAgICRmaWxlUmVhZGVyU3VwcG9ydCwgJGZpbGVX
cml0ZXJTdXBwb3J0KTsKIAogbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9uID0+ICIzZC1j
YW52YXMiLCBkZXNjID0+ICJUb2dnbGUgM0QgY2FudmFzIHN1cHBvcnQiLApAQCAtMTc1LDYgKzE3
NiwxMiBAQCBteSBAZmVhdHVyZXMgPSAoCiAKICAgICB7IG9wdGlvbiA9PiAieHNsdCIsIGRlc2Mg
PT4gIlRvZ2dsZSBYU0xUIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfWFNMVCIs
IGRlZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCR4c2x0U3VwcG9ydCB9LAorCisgICAgeyBvcHRpb24g
PT4gImZpbGUtcmVhZGVyIiwgZGVzYyA9PiAiVG9nZ2xlIEZpbGVSZWFkZXIgc3VwcG9ydCIsCisg
ICAgICBkZWZpbmUgPT4gIkVOQUJMRV9GSUxFX1JFQURFUiIsIGRlZmF1bHQgPT4gMCwgdmFsdWUg
PT4gXCRmaWxlUmVhZGVyU3VwcG9ydCB9LAorCisgICAgeyBvcHRpb24gPT4gImZpbGUtd3JpdGVy
IiwgZGVzYyA9PiAiVG9nZ2xlIEZpbGVXcml0ZXIgc3VwcG9ydCIsCisgICAgICBkZWZpbmUgPT4g
IkVOQUJMRV9GSUxFX1dSSVRFUiIsIGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRmaWxlV3JpdGVy
U3VwcG9ydCB9LAogKTsKIAogIyBVcGRhdGUgZGVmYXVsdHMgZnJvbSBRdCdzIHByb2plY3QgZmls
ZQpkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCmluZGV4IDViYzE3ODEu
LjZkMTc4ZTkgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAg
LTU2OSw2ICs1NjksMjIgQEAgQUNfQVJHX0VOQUJMRShmYXN0X21vYmlsZV9zY3JvbGxpbmcsCiAg
ICAgICAgICAgICAgIFtdLFtlbmFibGVfZmFzdF9tb2JpbGVfc2Nyb2xsaW5nPSJubyJdKQogQUNf
TVNHX1JFU1VMVChbJGVuYWJsZV9mYXN0X21vYmlsZV9zY3JvbGxpbmddKQogCisjIGNoZWNrIHdo
ZXRoZXIgdG8gZW5hYmxlIEZpbGVSZWFkZXIgc3VwcG9ydAorQUNfTVNHX0NIRUNLSU5HKFt3aGV0
aGVyIHRvIGVuYWJsZSBGaWxlUmVhZGVyIHN1cHBvcnRdKQorQUNfQVJHX0VOQUJMRShmaWxlX3Jl
YWRlciwKKyAgICAgICAgICAgICAgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWZpbGUtcmVhZGVy
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VuYWJsZSBzdXBwb3J0IGZvciBGaWxl
UmVhZGVyIFtkZWZhdWx0PW5vXV0pLAorICAgICAgICAgICAgICBbXSxbZW5hYmxlX2ZpbGVfcmVh
ZGVyPSJubyJdKQorQUNfTVNHX1JFU1VMVChbJGVuYWJsZV9maWxlX3JlYWRlcl0pCisKKyMgY2hl
Y2sgd2hldGhlciB0byBlbmFibGUgRmlsZVdyaXRlciBzdXBwb3J0CitBQ19NU0dfQ0hFQ0tJTkco
W3doZXRoZXIgdG8gZW5hYmxlIEZpbGVXcml0ZXIgc3VwcG9ydF0pCitBQ19BUkdfRU5BQkxFKGZp
bGVfd3JpdGVyLAorICAgICAgICAgICAgICBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtZmlsZS13
cml0ZXJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW5hYmxlIHN1cHBvcnQgZm9y
IEZpbGVXcml0ZXIgW2RlZmF1bHQ9bm9dXSksCisgICAgICAgICAgICAgIFtdLFtlbmFibGVfZmls
ZV93cml0ZXI9Im5vIl0pCitBQ19NU0dfUkVTVUxUKFskZW5hYmxlX2ZpbGVfd3JpdGVyXSkKKwog
IyBjaGVjayB3aGV0aGVyIHRvIGVuYWJsZSBjb2RlIGNvdmVyYWdlCiBBQ19NU0dfQ0hFQ0tJTkco
W3doZXRoZXIgdG8gZW5hYmxlIGNvZGUgY292ZXJhZ2Ugc3VwcG9ydF0pCiBBQ19BUkdfRU5BQkxF
KGNvdmVyYWdlLApAQCAtODA3LDYgKzgyMyw5IEBAIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfWEhU
TUxNUF0sW3Rlc3QgIiRlbmFibGVfeGh0bWxtcCIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChb
RU5BQkxFX1hQQVRIXSxbdGVzdCAiJGVuYWJsZV94cGF0aCIgPSAieWVzIl0pCiBBTV9DT05ESVRJ
T05BTChbRU5BQkxFX1hTTFRdLFt0ZXN0ICIkZW5hYmxlX3hzbHQiID0gInllcyJdKQogQU1fQ09O
RElUSU9OQUwoW0VOQUJMRV9GSUxURVJTXSxbdGVzdCAiJGVuYWJsZV9maWx0ZXJzIiA9ICJ5ZXMi
XSkKK0FNX0NPTkRJVElPTkFMKFtFTkFCTEVfRklMRV9SRUFERVJdLFt0ZXN0ICIkZW5hYmxlX2Zp
bGVfcmVhZGVyIiA9ICJ5ZXMiXSkKK0FNX0NPTkRJVElPTkFMKFtFTkFCTEVfRklMRV9XUklURVJd
LFt0ZXN0ICIkZW5hYmxlX2ZpbGVfd3JpdGVyIiA9ICJ5ZXMiXSkKK0FNX0NPTkRJVElPTkFMKFtF
TkFCTEVfRklMRV9USFJFQURdLFt0ZXN0ICIkZW5hYmxlX2ZpbGVfcmVhZGVyIiA9ICJ5ZXMiIC1v
ICIkZW5hYmxlX2ZpbGVfd3JpdGVyIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVf
R0VPTE9DQVRJT05dLCBbdGVzdCAiJGVuYWJsZV9nZW9sb2NhdGlvbiIgPSAieWVzIl0pCiBBTV9D
T05ESVRJT05BTChbRU5BQkxFX01BVEhNTF0sIFt0ZXN0ICIkZW5hYmxlX21hdGhtbCIgPSAieWVz
Il0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX1JVQlldLFt0ZXN0ICIkZW5hYmxlX3J1YnkiID0g
InllcyJdKQpAQCAtODYwLDYgKzg3OSw4IEBAIEZlYXR1cmVzOgogIEZhc3QgTW9iaWxlIFNjcm9s
bGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV9mYXN0X21v
YmlsZV9zY3JvbGxpbmcKICBKSVQgY29tcGlsYXRpb24gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA6ICRlbmFibGVfaml0CiAgRmlsdGVycyBzdXBwb3J0ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX2ZpbHRlcnMKKyBGaWxl
UmVhZGVyIHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRl
bmFibGVfZmlsZV9yZWFkZXIKKyBGaWxlV3JpdGVyIHN1cHBvcnQgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfZmlsZV93cml0ZXIKICBHZW9sb2NhdGlvbiBz
dXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfZ2Vv
bG9jYXRpb24KICBKYXZhU2NyaXB0IGRlYnVnZ2VyL3Byb2ZpbGVyIHN1cHBvcnQgICAgICAgICAg
ICAgICAgICAgICA6ICRlbmFibGVfamF2YXNjcmlwdF9kZWJ1Z2dlcgogIE1hdGhNTCBzdXBwb3J0
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV9tYXRo
bWwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52209</attachid>
            <date>2010-03-31 13:54:28 -0700</date>
            <delta_ts>2010-03-31 15:47:46 -0700</delta_ts>
            <desc>Fixed ChangeLog tabs</desc>
            <filename>bug-36896-20100331135426.patch</filename>
            <type>text/plain</type>
            <size>23130</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAwMDFkZGRiLi41N2E2OTdk
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTAtMDMtMzEgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIGVuYWJsZSBm
bGFnIGZvciBGaWxlUmVhZGVyIGFuZCBGaWxlV3JpdGVyLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzY4OTYKKworICAgICAgICAqIGNvbmZpZ3VyZS5h
YzoKKwogMjAxMC0wMy0yNiAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAbm9r
aWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3ZTVmODNiLi5m
MzQ0Y2JmIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEwLTAzLTMxICBLaW51a28gWWFzdWRhICA8a2ludWtv
QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgRmlsZVRocmVhZCBmb3IgYXN5bmMgZmlsZSBvcGVyYXRpb24gc3VwcG9ydCBm
b3IgRmlsZVJlYWRlciBhbmQKKyAgICAgICAgRmlsZVdyaXRlci4gIFRoZSBwYXRjaCBhbHNvIGFk
ZHMgRU5BQkxFX0ZJTEVfUkVBREVSIG9yCisgICAgICAgIEVOQUJMRV9GSUxFX1dSSVRFUiBidWls
ZCBmbGFncy9kZWZpbmVzLiAgQm90aCBmbGFncyBhcmUgZGlzYWJsZWQKKyAgICAgICAgYnkgZGVm
YXVsdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2
ODk2CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCB3aWxsIGFkZCBvbmVzIHdoZW4gYWZ0ZXIgYWRk
aW5nIG1vZHVsZXMgd2hpY2ggdXNlIHRoZQorICAgICAgICB0aHJlYWQuCisKKyAgICAgICAgKiBD
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBHTlVtYWtl
ZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86
CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVj
dXRpb25Db250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDo6flNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZmlsZVRocmVhZCk6CisgICAgICAgICogZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9Mb2dnaW5nLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Oik6CisgICAgICAgIChXZWJDb3JlOjpnZXRDaGFubmVsRnJvbU5h
bWUpOgorICAgICAgICAqIHBsYXRmb3JtL0xvZ2dpbmcuaDoKKwogMjAxMC0wMy0zMCAgS2V2aW4g
T2xsaXZpZXIgIDxrZXZpbm9AdGhlb2xsaXZpZXJzLmNvbT4KIAogICAgICAgICBbd3hdIEJ1aWxk
IGZpeCBhZnRlciBuZXcgbG9jYWxpemVkIHN0cmluZyBhZGRpdGlvbi4KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9XZWJDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDk1NjQyYzAuLjJlNDk3
ZjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKKysrIGIvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZwpAQCAtNTAsNiArNTAsOCBAQCBFTkFCTEVfREFUQUxJU1QgPSBFTkFCTEVfREFUQUxJU1Q7CiBF
TkFCTEVfRE9NX1NUT1JBR0UgPSBFTkFCTEVfRE9NX1NUT1JBR0U7CiBFTkFCTEVfRVZFTlRTT1VS
Q0UgPSBFTkFCTEVfRVZFTlRTT1VSQ0U7CiBFTkFCTEVfRklMVEVSUyA9IEVOQUJMRV9GSUxURVJT
OworRU5BQkxFX0ZJTEVfUkVBREVSID0gRU5BQkxFX0ZJTEVfUkVBREVSOworRU5BQkxFX0ZJTEVf
V1JJVEVSID0gRU5BQkxFX0ZJTEVfV1JJVEVSOwogRU5BQkxFX0dFT0xPQ0FUSU9OID0gRU5BQkxF
X0dFT0xPQ0FUSU9OOwogRU5BQkxFX0lDT05EQVRBQkFTRSA9IEVOQUJMRV9JQ09OREFUQUJBU0U7
CiBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSA9IDsKQEAgLTc1LDQgKzc3LDQgQEAgRU5BQkxFX1hI
VE1MTVAgPSA7CiBFTkFCTEVfWFBBVEggPSBFTkFCTEVfWFBBVEg7CiBFTkFCTEVfWFNMVCA9IEVO
QUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9DQU5WQVMpICQoRU5B
QkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQkxPQl9TTElDRSkgJChFTkFCTEVfQ0hBTk5FTF9N
RVNTQUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfREFU
QUJBU0UpICQoRU5BQkxFX0RBVEFHUklEKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVfRE9N
X1NUT1JBR0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykg
JChFTkFCTEVfUlVCWSkgJChFTkFCTEVfU0FOREJPWCkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMp
ICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1BVElPTikgJChFTkFCTEVfU1ZHX0FTX0lN
QUdFKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVOQUJMRV9TVkdfVVNFKSAkKEVOQUJMRV9W
SURFTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dNTCkgJChFTkFCTEVfV09SS0VS
UykgJChFTkFCTEVfWEhUTUxNUCkgJChFTkFCTEVfWFBBVEgpICQoRU5BQkxFX1hTTFQpOworRkVB
VFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfQ0FOVkFTKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcp
ICQoRU5BQkxFX0JMT0JfU0xJQ0UpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9E
QVRBR1JJRCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJM
RV9FVkVOVFNPVVJDRSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRklMRV9SRUFERVIpICQo
RU5BQkxFX0ZJTEVfV1JJVEVSKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RF
QlVHR0VSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJChFTkFCTEVfUlVCWSkgJChFTkFCTEVfU0FOREJP
WCkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FO
SU1BVElPTikgJChFTkFCTEVfU1ZHX0FTX0lNQUdFKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklO
RElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAk
KEVOQUJMRV9TVkdfVVNFKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQo
RU5BQkxFX1dNTCkgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhUTUxNUCkgJChFTkFCTEVf
WFBBVEgpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5h
bSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggOWVlMmE3Ni4uOGNhNDczZSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFt
CkBAIC0zNTU4LDYgKzM1NTgsMzAgQEAgRkVBVFVSRV9ERUZJTkVTICs9IEVOQUJMRV9CTE9CX1NM
SUNFPTEKIHdlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfQkxPQl9TTElDRT0xCiBlbmRpZiAg
IyBFTkQgRU5BQkxFX0JMT0JfU0xJQ0UKIAorIyAtLS0KKyMgRmlsZVJlYWRlciBzdXBwb3J0Cisj
IC0tLQoraWYgRU5BQkxFX0ZJTEVfUkVBREVSCitGRUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX0ZJ
TEVfUkVBREVSPTEKK3dlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfRklMRV9SRUFERVI9MQor
ZW5kaWYgICMgRU5EIEVOQUJMRV9GSUxFX1JFQURFUgorCisjIC0tLQorIyBGaWxlV3JpdGVyIHN1
cHBvcnQKKyMgLS0tCitpZiBFTkFCTEVfRklMRV9XUklURVIKK0ZFQVRVUkVfREVGSU5FUyArPSBF
TkFCTEVfRklMRV9XUklURVI9MQord2ViY29yZV9jcHBmbGFncyArPSAtREVOQUJMRV9GSUxFX1dS
SVRFUj0xCitlbmRpZiAgIyBFTkQgRU5BQkxFX0ZJTEVfV1JJVEVSCisKKyMgLS0tCisjIEFkZCBG
aWxlVGhyZWFkIHNvdXJjZXMgaWYgRmlsZVdyaXRlciBvciBGaWxlUmVhZGVyIGlzIGVuYWJsZWQu
CisjIC0tLQoraWYgRU5BQkxFX0ZJTEVfVEhSRUFECit3ZWJjb3JlX3NvdXJjZXMgKz0gXAorCVdl
YkNvcmUvaHRtbC9GaWxlVGhyZWFkLmNwcCBcCisJV2ViQ29yZS9odG1sL0ZpbGVUaHJlYWQuaAor
ZW5kaWYgICMgRU5EIEVOQUJMRV9GSUxFX1RIUkVBRAogCiBEZXJpdmVkU291cmNlcy9DU1NQcm9w
ZXJ0eU5hbWVzLmg6ICQoV0VCQ09SRV9DU1NfUFJPUEVSVFlfTkFNRVMpICQoV2ViQ29yZSkvY3Nz
L21ha2Vwcm9wLnBsCiAJaWYgc29ydCAkKFdFQkNPUkVfQ1NTX1BST1BFUlRZX05BTUVTKSB8IHVu
aXEgLWQgfCBncmVwIC1FICdeW14jXSc7IHRoZW4gZWNobyAnRHVwbGljYXRlIHZhbHVlISc7IGV4
aXQgMTsgZmkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKaW5kZXggNTA5ZWQ4MS4uNGE0NWMzZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTE0MjYsNiArMTQyNiw4IEBA
CiAgICAgICAgICAgICAnaHRtbC9GaWxlLmgnLAogICAgICAgICAgICAgJ2h0bWwvRmlsZUxpc3Qu
Y3BwJywKICAgICAgICAgICAgICdodG1sL0ZpbGVMaXN0LmgnLAorICAgICAgICAgICAgJ2h0bWwv
RmlsZVRocmVhZC5jcHAnLAorICAgICAgICAgICAgJ2h0bWwvRmlsZVRocmVhZC5oJywKICAgICAg
ICAgICAgICdodG1sL0Zvcm1EYXRhTGlzdC5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvRm9ybURh
dGFMaXN0LmgnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uY3BwJywKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4
IDcyMzAxMjUuLmM2ZTI1YjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIv
V2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMjgzOSw2ICsyODM5LDIwIEBAIGNvbnRhaW5zKERFRklO
RVMsIEVOQUJMRV9TWU1CSUFOX0RJQUxPR19QUk9WSURFUlMpIHsKICAgICB9CiB9CiAKK2NvbnRh
aW5zKERFRklORVMsIEVOQUJMRV9GSUxFX1JFQURFUikgeworICAgIEhFQURFUlMgKz0gXAorICAg
ICAgaHRtbC9GaWxlVGhyZWFkLmgKKyAgICBTT1VSQ0VTICs9IFwKKyAgICAgIGh0bWwvRmlsZVRo
cmVhZC5jcHAKK30KKworY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0ZJTEVfV1JJVEVSKSB7Cisg
ICAgSEVBREVSUyArPSBcCisgICAgICBodG1sL0ZpbGVUaHJlYWQuaAorICAgIFNPVVJDRVMgKz0g
XAorICAgICAgaHRtbC9GaWxlVGhyZWFkLmNwcAorfQorCiBpbmNsdWRlKCQkUFdELy4uL1dlYktp
dC9xdC9BcGkvaGVhZGVycy5wcmkpCiBIRUFERVJTICs9ICQkV0VCS0lUX0FQSV9IRUFERVJTCiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDk0OTY3ZDUuLmVjNDViMDIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMzAyMjUsNiArMzAyMjUs
MTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0i
Li5caHRtbFxGaWxlVGhyZWFkLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0K
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcRmlsZVRocmVhZC5oIg0KKwkJCQk+DQorCQkJPC9G
aWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxGb3JtRGF0YUxpc3Qu
Y3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggZTgwYTZmYi4uNGY1NTBmMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIyMDUsNiArMjIwNSw4IEBACiAJCTg1Rjc0RTBB
MEFBOERGOEMwMDBEQzI4NCAvKiBET01DU1NVbmtub3duUnVsZS5oIGluIENvcHkgR2VuZXJhdGVk
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUwMzJERDUwQUE4
QzlCRTAwN0QzQjdEIC8qIERPTUNTU1Vua25vd25SdWxlLmggKi87IH07CiAJCTg1RkYzMTVBMEFB
RkJGQ0IwMDM3NEYzOCAvKiBET01LZXlib2FyZEV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUZGMzE1ODBBQUZCRkNCMDAzNzRGMzggLyogRE9N
S2V5Ym9hcmRFdmVudC5oICovOyB9OwogCQk4NUZGMzE1QjBBQUZCRkNCMDAzNzRGMzggLyogRE9N
S2V5Ym9hcmRFdmVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg1RkYzMTU5MEFBRkJGQ0IwMDM3NEYzOCAvKiBET01LZXlib2FyZEV2ZW50Lm1tICov
OyB9OworCQk4OTk3OEJENTExNjNFNzdCMDAzM0ExOUIgLyogRmlsZVRocmVhZC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTk3OEJEMzExNjNFNzdC
MDAzM0ExOUIgLyogRmlsZVRocmVhZC5jcHAgKi87IH07CisJCTg5OTc4QkQ2MTE2M0U3N0IwMDMz
QTE5QiAvKiBGaWxlVGhyZWFkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4OTk3OEJENDExNjNFNzdCMDAzM0ExOUIgLyogRmlsZVRocmVhZC5oICovOyB9
OwogCQk5MzAyQjBCRDBENzlGODI5MDBDN0VFODMgLyogUGFnZUdyb3VwLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMDJCMEJDMEQ3OUY4MjkwMEM3
RUU4MyAvKiBQYWdlR3JvdXAuY3BwICovOyB9OwogCQk5MzAyQjBCRjBENzlGODJDMDBDN0VFODMg
LyogUGFnZUdyb3VwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5MzAyQjBCRTBENzlGODJDMDBDN0VFODMgLyogUGFnZUdyb3VwLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTMwNUIyNEQwOThGMUI2QjAw
QzI4ODU1IC8qIFRpbWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5MzA1QjI0QzA5OEYxQjZCMDBDMjg4NTUgLyogVGltZXIuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNzY0NSw2ICs3NjQ3LDggQEAK
IAkJODVGNTZBNzkwQTk4Q0UzNzAwQURCNjBBIC8qIERPTVByb2Nlc3NpbmdJbnN0cnVjdGlvbi5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01Qcm9jZXNzaW5n
SW5zdHJ1Y3Rpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1RkYzMTU4MEFB
RkJGQ0IwMDM3NEYzOCAvKiBET01LZXlib2FyZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBET01LZXlib2FyZEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTg1RkYzMTU5MEFBRkJGQ0IwMDM3NEYzOCAvKiBET01LZXlib2FyZEV2ZW50Lm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUtleWJvYXJkRXZlbnQu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5OTc4QkQzMTE2M0U3N0IwMDMzQTE5
QiAvKiBGaWxlVGhyZWFkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEZpbGVUaHJlYWQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTk3OEJENDEx
NjNFNzdCMDAzM0ExOUIgLyogRmlsZVRocmVhZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBGaWxlVGhyZWFkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDJC
MEJDMEQ3OUY4MjkwMEM3RUU4MyAvKiBQYWdlR3JvdXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUGFnZUdyb3VwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJOTMwMkIwQkUwRDc5RjgyQzAwQzdFRTgzIC8qIFBhZ2VHcm91cC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBQYWdlR3JvdXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTMwNUIyNEMwOThGMUI2QjAwQzI4ODU1IC8qIFRpbWVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRpbWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xMjkyNCw2ICsxMjkyOCw4IEBACiAJCTkzRUVDMUVDMDlDMjg3NzcwMEM1MTVEMSAvKiBo
dG1sICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk4OTk3
OEJEMzExNjNFNzdCMDAzM0ExOUIgLyogRmlsZVRocmVhZC5jcHAgKi8sCisJCQkJODk5NzhCRDQx
MTYzRTc3QjAwMzNBMTlCIC8qIEZpbGVUaHJlYWQuaCAqLywKIAkJCQlBNDNCRjU5NjExNDkyOTBB
MDBDNjQzQ0EgLyogSFRNTFByb2dyZXNzRWxlbWVudC5jcHAgKi8sCiAJCQkJQTQzQkY1OTcxMTQ5
MjkwQTAwQzY0M0NBIC8qIEhUTUxQcm9ncmVzc0VsZW1lbnQuaCAqLywKIAkJCQk0OTQ4NEZBRTEw
MkNGMDFFMDAxODdERDMgLyogY2FudmFzICovLApAQCAtMTg3NjgsNiArMTg3NzQsNyBAQAogCQkJ
CUU0Nzc4QjgwMTE1QTU4MUEwMEI1RDM3MiAvKiBKU0N1c3RvbUV2ZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQlFMUUxQkYwMDExNUZGNkZCMDA2RjUyQ0EgLyogV2luZG93c0tleWJvYXJkQ29kZXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTg0OTlBNTE1MTE1RkIzMzAwMEY1NjZFMyAvKiBSZW5kZXJT
VkdSZXNvdXJjZU1hcmtlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJODk5NzhCRDYxMTYzRTc3QjAw
MzNBMTlCIC8qIEZpbGVUaHJlYWQuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlG
b3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjA5ODIsNiArMjA5ODks
NyBAQAogCQkJCTYyQ0QzMjU5MTE1N0U1N0MwMDYzQjBBNyAvKiBDdXN0b21FdmVudC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlFNDc3OEI3RjExNUE1ODFBMDBCNUQzNzIgLyogSlNDdXN0b21FdmVu
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4NDk5QTUxNDExNUZCMzMwMDBGNTY2RTMgLyogUmVu
ZGVyU1ZHUmVzb3VyY2VNYXJrZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODk5NzhCRDUxMTYz
RTc3QjAwMzNBMTlCIC8qIEZpbGVUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcCBiL1dlYkNvcmUvZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCmluZGV4IGMyZmUxMjAuLjBmZTI1NTYgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCisrKyBiL1dlYkNvcmUv
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCkBAIC0zMSw2ICszMSw5IEBACiAjaW5jbHVk
ZSAiRGF0YWJhc2UuaCIKICNpbmNsdWRlICJEYXRhYmFzZVRhc2suaCIKICNpbmNsdWRlICJEYXRh
YmFzZVRocmVhZC5oIgorI2lmIEVOQUJMRShGSUxFX1JFQURFUikgfHwgRU5BQkxFKEZJTEVfV1JJ
VEVSKQorI2luY2x1ZGUgIkZpbGVUaHJlYWQuaCIKKyNlbmRpZgogI2luY2x1ZGUgIk1lc3NhZ2VQ
b3J0LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJXb3JrZXJDb250
ZXh0LmgiCkBAIC02MSw2ICs2NCw5IEBAIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKQogI2lmIEVOQUJMRShEQVRBQkFTRSkKICAgICA6IG1faGFzT3BlbkRh
dGFiYXNlcyhmYWxzZSkKICNlbmRpZgorI2lmIEVOQUJMRShGSUxFX1JFQURFUikgfHwgRU5BQkxF
KEZJTEVfV1JJVEVSKQorICAgICwgbV9maWxlVGhyZWFkQ3JlYXRlZChmYWxzZSkKKyNlbmRpZgog
ewogfQogCkBAIC04Myw2ICs4OSwxMiBAQCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojp+U2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpCiAgICAgICAgIG1fZGF0YWJhc2VUaHJlYWQgPSAwOwogICAgIH0K
ICNlbmRpZgorI2lmIEVOQUJMRShGSUxFX1JFQURFUikgfHwgRU5BQkxFKEZJTEVfV1JJVEVSKQor
ICAgIGlmIChtX2ZpbGVUaHJlYWQpIHsKKyAgICAgICAgbV9maWxlVGhyZWFkLT50ZXJtaW5hdGUo
KTsKKyAgICAgICAgbV9maWxlVGhyZWFkID0gMDsKKyAgICB9CisjZW5kaWYKIH0KIAogI2lmIEVO
QUJMRShEQVRBQkFTRSkKQEAgLTI2MSw2ICsyNzMsMTkgQEAgRE9NVGltZXIqIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ6OmZpbmRUaW1lb3V0KGludCB0aW1lb3V0SWQpCiAgICAgcmV0dXJuIG1fdGlt
ZW91dHMuZ2V0KHRpbWVvdXRJZCk7CiB9CiAKKyNpZiBFTkFCTEUoRklMRV9SRUFERVIpIHx8IEVO
QUJMRShGSUxFX1dSSVRFUikKK0ZpbGVUaHJlYWQqIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmZp
bGVUaHJlYWQoKQoreworICAgIGlmICghbV9maWxlVGhyZWFkICYmICFtX2ZpbGVUaHJlYWRDcmVh
dGVkKSB7CisgICAgICAgIG1fZmlsZVRocmVhZCA9IEZpbGVUaHJlYWQ6OmNyZWF0ZSgpOworICAg
ICAgICBtX2ZpbGVUaHJlYWRDcmVhdGVkID0gdHJ1ZTsKKyAgICAgICAgaWYgKCFtX2ZpbGVUaHJl
YWQtPnN0YXJ0KCkpCisgICAgICAgICAgICBtX2ZpbGVUaHJlYWQgPSAwOworICAgIH0KKyAgICBy
ZXR1cm4gbV9maWxlVGhyZWFkID8gbV9maWxlVGhyZWFkLmdldCgpIDogMDsKK30KKyNlbmRpZgor
CiBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrOjp+VGFzaygpCiB7CiB9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmggYi9XZWJDb3JlL2RvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggZjFjNzljZi4uODk0NzU1MyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaApAQCAtNDUsNiArNDUsOSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgRGF0YWJhc2VUaHJlYWQ7CiAjZW5kaWYKICAgICBjbGFzcyBET01UaW1l
cjsKKyNpZiBFTkFCTEUoRklMRV9SRUFERVIpIHx8IEVOQUJMRShGSUxFX1dSSVRFUikKKyAgICBj
bGFzcyBGaWxlVGhyZWFkOworI2VuZGlmCiAgICAgY2xhc3MgTWVzc2FnZVBvcnQ7CiAgICAgY2xh
c3MgU2VjdXJpdHlPcmlnaW47CiAgICAgY2xhc3MgU2NyaXB0U3RyaW5nOwpAQCAtMTM2LDYgKzEz
OSwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEpTQzo6SlNHbG9iYWxEYXRhKiBn
bG9iYWxEYXRhKCk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShGSUxFX1JFQURFUikgfHwgRU5BQkxF
KEZJTEVfV1JJVEVSKQorICAgICAgICBGaWxlVGhyZWFkKiBmaWxlVGhyZWFkKCk7CisgICAgICAg
IHZvaWQgc3RvcEZpbGVUaHJlYWQoKTsKKyNlbmRpZgorCiAgICAgcHJvdGVjdGVkOgogICAgICAg
ICAvLyBFeHBsaWNpdGx5IG92ZXJyaWRlIHRoZSBzZWN1cml0eSBvcmlnaW4gZm9yIHRoaXMgc2Ny
aXB0IGNvbnRleHQuCiAgICAgICAgIC8vIE5vdGU6IEl0IGlzIGRhbmdlcm91cyB0byBjaGFuZ2Ug
dGhlIHNlY3VyaXR5IG9yaWdpbiBvZiBhIHNjcmlwdCBjb250ZXh0CkBAIC0xNjMsNiArMTcxLDEx
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdHlwZWRlZiBIYXNoU2V0PERhdGFiYXNl
KiA+IERhdGFiYXNlU2V0OwogICAgICAgICBPd25QdHI8RGF0YWJhc2VTZXQ+IG1fb3BlbkRhdGFi
YXNlU2V0OwogI2VuZGlmCisKKyNpZiBFTkFCTEUoRklMRV9SRUFERVIpIHx8IEVOQUJMRShGSUxF
X1dSSVRFUikKKyAgICAgICAgUmVmUHRyPEZpbGVUaHJlYWQ+IG1fZmlsZVRocmVhZDsKKyAgICAg
ICAgYm9vbCBtX2ZpbGVUaHJlYWRDcmVhdGVkOworI2VuZGlmCiAgICAgfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmNwcCBi
L1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5jcHAKaW5kZXggOTJlMTFlMy4uN2ZiMTViMSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmNwcAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL0xvZ2dpbmcuY3BwCkBAIC0yMCw3ICsyMCw3IEBACiAgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCiAgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
ICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAK
ICNpbmNsdWRlICJjb25maWcuaCIKQEAgLTYwLDYgKzYwLDcgQEAgV1RGTG9nQ2hhbm5lbCBMb2dN
ZWRpYSA9ICAgICAgICAgICAgIHsgMHgwMTAwMDAwMCwgIldlYkNvcmVMb2dMZXZlbCIsIFdURkxv
Z0NoYW4KIFdURkxvZ0NoYW5uZWwgTG9nUGx1Z2lucyA9ICAgICAgICAgICB7IDB4MDIwMDAwMDAs
ICJXZWJDb3JlTG9nTGV2ZWwiLCBXVEZMb2dDaGFubmVsT2ZmIH07CiBXVEZMb2dDaGFubmVsIExv
Z0FyY2hpdmVzID0gICAgICAgICAgeyAweDA0MDAwMDAwLCAiV2ViQ29yZUxvZ0xldmVsIiwgV1RG
TG9nQ2hhbm5lbE9mZiB9OwogV1RGTG9nQ2hhbm5lbCBMb2dQcm9ncmVzcyA9ICAgICAgICAgIHsg
MHgwODAwMDAwMCwgIldlYkNvcmVMb2dMZXZlbCIsIFdURkxvZ0NoYW5uZWxPZmYgfTsKK1dURkxv
Z0NoYW5uZWwgTG9nRmlsZUFQSSA9ICAgICAgICAgICB7IDB4MTAwMDAwMDAsICJXZWJDb3JlTG9n
TGV2ZWwiLCBXVEZMb2dDaGFubmVsT2ZmIH07CiAKIFdURkxvZ0NoYW5uZWwqIGdldENoYW5uZWxG
cm9tTmFtZShjb25zdCBTdHJpbmcmIGNoYW5uZWxOYW1lKQogewpAQCAtMTEzLDcgKzExNCw3IEBA
IFdURkxvZ0NoYW5uZWwqIGdldENoYW5uZWxGcm9tTmFtZShjb25zdCBTdHJpbmcmIGNoYW5uZWxO
YW1lKQogCiAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKGNoYW5uZWxOYW1lLCBTdHJpbmcoIlBy
b2dyZXNzIikpKQogICAgICAgICByZXR1cm4gJkxvZ1Byb2dyZXNzOwotICAgICAgICAKKwogICAg
IGlmIChlcXVhbElnbm9yaW5nQ2FzZShjaGFubmVsTmFtZSwgU3RyaW5nKCJTcGVsbGluZ0FuZEdy
YW1tYXIiKSkpCiAgICAgICAgIHJldHVybiAmTG9nU3BlbGxpbmdBbmRHcmFtbWFyOwogCkBAIC0x
MjksNiArMTMwLDkgQEAgV1RGTG9nQ2hhbm5lbCogZ2V0Q2hhbm5lbEZyb21OYW1lKGNvbnN0IFN0
cmluZyYgY2hhbm5lbE5hbWUpCiAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKGNoYW5uZWxOYW1l
LCBTdHJpbmcoIlRocmVhZGluZyIpKSkKICAgICAgICAgcmV0dXJuICZMb2dUaHJlYWRpbmc7CiAK
KyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UoY2hhbm5lbE5hbWUsIFN0cmluZygiRmlsZUFQSSIp
KSkKKyAgICAgICAgcmV0dXJuICZMb2dGaWxlQVBJOworCiAgICAgcmV0dXJuIDA7CiB9CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9M
b2dnaW5nLmgKaW5kZXggYzBjNDFjMS4uNDViNmQyMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9Mb2dnaW5nLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmgKQEAgLTU4LDYg
KzU4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGV4dGVybiBXVEZMb2dDaGFubmVsIExv
Z1BsdWdpbnM7CiAgICAgZXh0ZXJuIFdURkxvZ0NoYW5uZWwgTG9nQXJjaGl2ZXM7CiAgICAgZXh0
ZXJuIFdURkxvZ0NoYW5uZWwgTG9nUHJvZ3Jlc3M7CisgICAgZXh0ZXJuIFdURkxvZ0NoYW5uZWwg
TG9nRmlsZUFQSTsKIAogICAgIHZvaWQgSW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNz
YXJ5KCk7CiAgICAgV1RGTG9nQ2hhbm5lbCogZ2V0Q2hhbm5lbEZyb21OYW1lKGNvbnN0IFN0cmlu
ZyYgY2hhbm5lbE5hbWUpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9XZWJL
aXQvbWFjL0NoYW5nZUxvZwppbmRleCAwYTI0ZGMwLi40NmU3ZTU2IDEwMDY0NAotLS0gYS9XZWJL
aXQvbWFjL0NoYW5nZUxvZworKysgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEy
IEBACisyMDEwLTAzLTMxICBLaW51a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgRklMRV9S
RUFERVIgb3IgRklMRV9XUklURVIgZmVhdHVyZSBkZWZpbmVzLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzY4OTYKKworICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDEwLTAzLTMwICBKb2huIFN1bGxp
dmFuICA8c3VsbGl2YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJu
c3RlaW4uCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnIGIvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwppbmRleCA5NTY0MmMwLi4yZTQ5N2Y4IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1dlYktpdC9tYWMvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTUwLDYgKzUwLDggQEAgRU5B
QkxFX0RBVEFMSVNUID0gRU5BQkxFX0RBVEFMSVNUOwogRU5BQkxFX0RPTV9TVE9SQUdFID0gRU5B
QkxFX0RPTV9TVE9SQUdFOwogRU5BQkxFX0VWRU5UU09VUkNFID0gRU5BQkxFX0VWRU5UU09VUkNF
OwogRU5BQkxFX0ZJTFRFUlMgPSBFTkFCTEVfRklMVEVSUzsKK0VOQUJMRV9GSUxFX1JFQURFUiA9
IEVOQUJMRV9GSUxFX1JFQURFUjsKK0VOQUJMRV9GSUxFX1dSSVRFUiA9IEVOQUJMRV9GSUxFX1dS
SVRFUjsKIEVOQUJMRV9HRU9MT0NBVElPTiA9IEVOQUJMRV9HRU9MT0NBVElPTjsKIEVOQUJMRV9J
Q09OREFUQUJBU0UgPSBFTkFCTEVfSUNPTkRBVEFCQVNFOwogRU5BQkxFX0lOREVYRURfREFUQUJB
U0UgPSA7CkBAIC03NSw0ICs3Nyw0IEBAIEVOQUJMRV9YSFRNTE1QID0gOwogRU5BQkxFX1hQQVRI
ID0gRU5BQkxFX1hQQVRIOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfQ0FOVkFTKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5B
QkxFX0JMT0JfU0xJQ0UpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElF
TlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBR1JJ
RCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9FVkVO
VFNPVVJDRSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSkFWQVND
UklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxF
X1NBTkRCT1gpICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxF
X1NWR19BTklNQVRJT04pICQoRU5BQkxFX1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9P
QkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09C
SkVDVCkgJChFTkFCTEVfU1ZHX1VTRSkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1dFQl9TT0NL
RVRTKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIVE1MTVApICQo
RU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX0NBTlZBUykgJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9CTE9CX1NMSUNFKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFCTEVfREFUQUdSSUQpICQoRU5BQkxFX0RBVEFM
SVNUKSAkKEVOQUJMRV9ET01fU1RPUkFHRSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxF
X0ZJTFRFUlMpICQoRU5BQkxFX0ZJTEVfUkVBREVSKSAkKEVOQUJMRV9GSUxFX1dSSVRFUikgJChF
TkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRSkgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1M
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElP
TlMpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxFX1NBTkRCT1gpICQoRU5BQkxFX1NIQVJFRF9XT1JL
RVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19BTklNQVRJT04pICQoRU5BQkxFX1NWR19B
U19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9O
VFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCkgJChFTkFCTEVfU1ZHX1VTRSkgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dP
UktFUlMpICQoRU5BQkxFX1hIVE1MTVApICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsK
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAxZTg0NGRmLi4xMjMwOGZhIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDMt
MzEgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBvcHRpb25zIHRvIGVuYWJsZSBG
SUxFX1JFQURFUiBvciBGSUxFX1dSSVRFUiBzdXBwb3J0LiAgQm90aAorICAgICAgICBhcmUgZGlz
YWJsZWQgYnkgZGVmYXVsdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTM2ODk2CisKKyAgICAgICAgKiBTY3JpcHRzL2J1aWxkLXdlYmtpdDoKKwogMjAx
MC0wMy0zMCAgS2V2aW4gT2xsaXZpZXIgIDxrZXZpbm9AdGhlb2xsaXZpZXJzLmNvbT4KIAogICAg
ICAgICBbd3hdIEJ1aWxkIGZpeCBhZnRlciBuZXcgbWV0aG9kIGFkZGVkLgpkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQgYi9XZWJLaXRUb29scy9TY3JpcHRzL2J1
aWxkLXdlYmtpdAppbmRleCBmODY2MTg4Li4yMzQwOTZjIDEwMDc1NQotLS0gYS9XZWJLaXRUb29s
cy9TY3JpcHRzL2J1aWxkLXdlYmtpdAorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL2J1aWxkLXdl
YmtpdApAQCAtNTYsNyArNTYsOCBAQCBteSAoJHRocmVlRENhbnZhc1N1cHBvcnQsICR0aHJlZURS
ZW5kZXJpbmdTdXBwb3J0LCAkY2hhbm5lbE1lc3NhZ2luZ1N1cHBvcnQsICRjbAogICAgICRqYXZh
U2NyaXB0RGVidWdnZXJTdXBwb3J0LCAkbWF0aG1sU3VwcG9ydCwgJG9mZmxpbmVXZWJBcHBsaWNh
dGlvblN1cHBvcnQsICRydWJ5U3VwcG9ydCwgJHN5c3RlbU1hbGxvY1N1cHBvcnQsICRzYW5kYm94
U3VwcG9ydCwgJHNoYXJlZFdvcmtlcnNTdXBwb3J0LAogICAgICRzdmdTdXBwb3J0LCAkc3ZnQW5p
bWF0aW9uU3VwcG9ydCwgJHN2Z0FzSW1hZ2VTdXBwb3J0LCAkc3ZnRE9NT2JqQ0JpbmRpbmdzU3Vw
cG9ydCwgJHN2Z0ZvbnRzU3VwcG9ydCwKICAgICAkc3ZnRm9yZWlnbk9iamVjdFN1cHBvcnQsICRz
dmdVc2VTdXBwb3J0LCAkdmlkZW9TdXBwb3J0LCAkd2ViU29ja2V0c1N1cHBvcnQsICR3bWxTdXBw
b3J0LCAkd2Nzc1N1cHBvcnQsICR4aHRtbG1wU3VwcG9ydCwgJHdvcmtlcnNTdXBwb3J0LAotICAg
ICR4cGF0aFN1cHBvcnQsICR4c2x0U3VwcG9ydCwgJGNvdmVyYWdlU3VwcG9ydCwgJG5vdGlmaWNh
dGlvbnNTdXBwb3J0LCAkYmxvYlNsaWNlU3VwcG9ydCwgJHRpbGVkQmFja2luZ1N0b3JlU3VwcG9y
dCk7CisgICAgJHhwYXRoU3VwcG9ydCwgJHhzbHRTdXBwb3J0LCAkY292ZXJhZ2VTdXBwb3J0LCAk
bm90aWZpY2F0aW9uc1N1cHBvcnQsICRibG9iU2xpY2VTdXBwb3J0LCAkdGlsZWRCYWNraW5nU3Rv
cmVTdXBwb3J0LAorICAgICRmaWxlUmVhZGVyU3VwcG9ydCwgJGZpbGVXcml0ZXJTdXBwb3J0KTsK
IAogbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9uID0+ICIzZC1jYW52YXMiLCBkZXNjID0+
ICJUb2dnbGUgM0QgY2FudmFzIHN1cHBvcnQiLApAQCAtMTc1LDYgKzE3NiwxMiBAQCBteSBAZmVh
dHVyZXMgPSAoCiAKICAgICB7IG9wdGlvbiA9PiAieHNsdCIsIGRlc2MgPT4gIlRvZ2dsZSBYU0xU
IHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfWFNMVCIsIGRlZmF1bHQgPT4gMSwg
dmFsdWUgPT4gXCR4c2x0U3VwcG9ydCB9LAorCisgICAgeyBvcHRpb24gPT4gImZpbGUtcmVhZGVy
IiwgZGVzYyA9PiAiVG9nZ2xlIEZpbGVSZWFkZXIgc3VwcG9ydCIsCisgICAgICBkZWZpbmUgPT4g
IkVOQUJMRV9GSUxFX1JFQURFUiIsIGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRmaWxlUmVhZGVy
U3VwcG9ydCB9LAorCisgICAgeyBvcHRpb24gPT4gImZpbGUtd3JpdGVyIiwgZGVzYyA9PiAiVG9n
Z2xlIEZpbGVXcml0ZXIgc3VwcG9ydCIsCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9GSUxFX1dS
SVRFUiIsIGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRmaWxlV3JpdGVyU3VwcG9ydCB9LAogKTsK
IAogIyBVcGRhdGUgZGVmYXVsdHMgZnJvbSBRdCdzIHByb2plY3QgZmlsZQpkaWZmIC0tZ2l0IGEv
Y29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCmluZGV4IDViYzE3ODEuLjZkMTc4ZTkgMTAwNjQ0
Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAgLTU2OSw2ICs1NjksMjIg
QEAgQUNfQVJHX0VOQUJMRShmYXN0X21vYmlsZV9zY3JvbGxpbmcsCiAgICAgICAgICAgICAgIFtd
LFtlbmFibGVfZmFzdF9tb2JpbGVfc2Nyb2xsaW5nPSJubyJdKQogQUNfTVNHX1JFU1VMVChbJGVu
YWJsZV9mYXN0X21vYmlsZV9zY3JvbGxpbmddKQogCisjIGNoZWNrIHdoZXRoZXIgdG8gZW5hYmxl
IEZpbGVSZWFkZXIgc3VwcG9ydAorQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIGVuYWJsZSBG
aWxlUmVhZGVyIHN1cHBvcnRdKQorQUNfQVJHX0VOQUJMRShmaWxlX3JlYWRlciwKKyAgICAgICAg
ICAgICAgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWZpbGUtcmVhZGVyXSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgW2VuYWJsZSBzdXBwb3J0IGZvciBGaWxlUmVhZGVyIFtkZWZhdWx0
PW5vXV0pLAorICAgICAgICAgICAgICBbXSxbZW5hYmxlX2ZpbGVfcmVhZGVyPSJubyJdKQorQUNf
TVNHX1JFU1VMVChbJGVuYWJsZV9maWxlX3JlYWRlcl0pCisKKyMgY2hlY2sgd2hldGhlciB0byBl
bmFibGUgRmlsZVdyaXRlciBzdXBwb3J0CitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5h
YmxlIEZpbGVXcml0ZXIgc3VwcG9ydF0pCitBQ19BUkdfRU5BQkxFKGZpbGVfd3JpdGVyLAorICAg
ICAgICAgICAgICBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtZmlsZS13cml0ZXJdLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBbZW5hYmxlIHN1cHBvcnQgZm9yIEZpbGVXcml0ZXIgW2Rl
ZmF1bHQ9bm9dXSksCisgICAgICAgICAgICAgIFtdLFtlbmFibGVfZmlsZV93cml0ZXI9Im5vIl0p
CitBQ19NU0dfUkVTVUxUKFskZW5hYmxlX2ZpbGVfd3JpdGVyXSkKKwogIyBjaGVjayB3aGV0aGVy
IHRvIGVuYWJsZSBjb2RlIGNvdmVyYWdlCiBBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5h
YmxlIGNvZGUgY292ZXJhZ2Ugc3VwcG9ydF0pCiBBQ19BUkdfRU5BQkxFKGNvdmVyYWdlLApAQCAt
ODA3LDYgKzgyMyw5IEBAIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfWEhUTUxNUF0sW3Rlc3QgIiRl
bmFibGVfeGh0bWxtcCIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX1hQQVRIXSxb
dGVzdCAiJGVuYWJsZV94cGF0aCIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX1hT
TFRdLFt0ZXN0ICIkZW5hYmxlX3hzbHQiID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJM
RV9GSUxURVJTXSxbdGVzdCAiJGVuYWJsZV9maWx0ZXJzIiA9ICJ5ZXMiXSkKK0FNX0NPTkRJVElP
TkFMKFtFTkFCTEVfRklMRV9SRUFERVJdLFt0ZXN0ICIkZW5hYmxlX2ZpbGVfcmVhZGVyIiA9ICJ5
ZXMiXSkKK0FNX0NPTkRJVElPTkFMKFtFTkFCTEVfRklMRV9XUklURVJdLFt0ZXN0ICIkZW5hYmxl
X2ZpbGVfd3JpdGVyIiA9ICJ5ZXMiXSkKK0FNX0NPTkRJVElPTkFMKFtFTkFCTEVfRklMRV9USFJF
QURdLFt0ZXN0ICIkZW5hYmxlX2ZpbGVfcmVhZGVyIiA9ICJ5ZXMiIC1vICIkZW5hYmxlX2ZpbGVf
d3JpdGVyIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfR0VPTE9DQVRJT05dLCBb
dGVzdCAiJGVuYWJsZV9nZW9sb2NhdGlvbiIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5B
QkxFX01BVEhNTF0sIFt0ZXN0ICIkZW5hYmxlX21hdGhtbCIgPSAieWVzIl0pCiBBTV9DT05ESVRJ
T05BTChbRU5BQkxFX1JVQlldLFt0ZXN0ICIkZW5hYmxlX3J1YnkiID0gInllcyJdKQpAQCAtODYw
LDYgKzg3OSw4IEBAIEZlYXR1cmVzOgogIEZhc3QgTW9iaWxlIFNjcm9sbGluZyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV9mYXN0X21vYmlsZV9zY3JvbGxpbmcK
ICBKSVQgY29tcGlsYXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA6ICRlbmFibGVfaml0CiAgRmlsdGVycyBzdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX2ZpbHRlcnMKKyBGaWxlUmVhZGVyIHN1cHBvcnQg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfZmlsZV9yZWFk
ZXIKKyBGaWxlV3JpdGVyIHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICA6ICRlbmFibGVfZmlsZV93cml0ZXIKICBHZW9sb2NhdGlvbiBzdXBwb3J0ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfZ2VvbG9jYXRpb24KICBKYXZh
U2NyaXB0IGRlYnVnZ2VyL3Byb2ZpbGVyIHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICA6ICRl
bmFibGVfamF2YXNjcmlwdF9kZWJ1Z2dlcgogIE1hdGhNTCBzdXBwb3J0ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV9tYXRobWwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52218</attachid>
            <date>2010-03-31 15:47:50 -0700</date>
            <delta_ts>2010-03-31 20:56:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-36896-20100331154749.patch</filename>
            <type>text/plain</type>
            <size>37741</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAwMDFkZGRiLi41N2E2OTdk
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTAtMDMtMzEgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIGVuYWJsZSBm
bGFnIGZvciBGaWxlUmVhZGVyIGFuZCBGaWxlV3JpdGVyLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzY4OTYKKworICAgICAgICAqIGNvbmZpZ3VyZS5h
YzoKKwogMjAxMC0wMy0yNiAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAbm9r
aWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpp
bmRleCA5NTY0MmMwLi45MmNhNGFiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9KYXZhU2NyaXB0Q29yZS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNTAsNiArNTAsOCBAQCBFTkFC
TEVfREFUQUxJU1QgPSBFTkFCTEVfREFUQUxJU1Q7CiBFTkFCTEVfRE9NX1NUT1JBR0UgPSBFTkFC
TEVfRE9NX1NUT1JBR0U7CiBFTkFCTEVfRVZFTlRTT1VSQ0UgPSBFTkFCTEVfRVZFTlRTT1VSQ0U7
CiBFTkFCTEVfRklMVEVSUyA9IEVOQUJMRV9GSUxURVJTOworRU5BQkxFX0ZJTEVfUkVBREVSID0g
OworRU5BQkxFX0ZJTEVfV1JJVEVSID0gOwogRU5BQkxFX0dFT0xPQ0FUSU9OID0gRU5BQkxFX0dF
T0xPQ0FUSU9OOwogRU5BQkxFX0lDT05EQVRBQkFTRSA9IEVOQUJMRV9JQ09OREFUQUJBU0U7CiBF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRSA9IDsKQEAgLTc1LDQgKzc3LDQgQEAgRU5BQkxFX1hIVE1M
TVAgPSA7CiBFTkFCTEVfWFBBVEggPSBFTkFCTEVfWFBBVEg7CiBFTkFCTEVfWFNMVCA9IEVOQUJM
RV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9DQU5WQVMpICQoRU5BQkxF
XzNEX1JFTkRFUklORykgJChFTkFCTEVfQkxPQl9TTElDRSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfREFUQUJB
U0UpICQoRU5BQkxFX0RBVEFHUklEKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVfRE9NX1NU
T1JBR0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJChF
TkFCTEVfUlVCWSkgJChFTkFCTEVfU0FOREJPWCkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQo
RU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1BVElPTikgJChFTkFCTEVfU1ZHX0FTX0lNQUdF
KSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChF
TkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVOQUJMRV9TVkdfVVNFKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dNTCkgJChFTkFCTEVfV09SS0VSUykg
JChFTkFCTEVfWEhUTUxNUCkgJChFTkFCTEVfWFBBVEgpICQoRU5BQkxFX1hTTFQpOworRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfQ0FOVkFTKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQo
RU5BQkxFX0JMT0JfU0xJQ0UpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9D
TElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRB
R1JJRCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9F
VkVOVFNPVVJDRSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRklMRV9SRUFERVIpICQoRU5B
QkxFX0ZJTEVfV1JJVEVSKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVH
R0VSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09G
RkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJChFTkFCTEVfUlVCWSkgJChFTkFCTEVfU0FOREJPWCkg
JChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1B
VElPTikgJChFTkFCTEVfU1ZHX0FTX0lNQUdFKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElO
R1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVO
QUJMRV9TVkdfVVNFKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5B
QkxFX1dNTCkgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhUTUxNUCkgJChFTkFCTEVfWFBB
VEgpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCA3ZTVmODNiLi5jY2I4MDk0IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEw
LTAzLTMxICBLaW51a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgRmlsZVRocmVhZCBmb3Ig
YXN5bmMgZmlsZSBvcGVyYXRpb24gc3VwcG9ydCBmb3IgRmlsZVJlYWRlciBhbmQKKyAgICAgICAg
RmlsZVdyaXRlci4gIFRoZSBwYXRjaCBhbHNvIGFkZHMgRU5BQkxFX0ZJTEVfUkVBREVSIG9yCisg
ICAgICAgIEVOQUJMRV9GSUxFX1dSSVRFUiBidWlsZCBmbGFncy9kZWZpbmVzLiAgQm90aCBmbGFn
cyBhcmUgZGlzYWJsZWQKKyAgICAgICAgYnkgZGVmYXVsdC4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2ODk2CisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
LCB3aWxsIGFkZCBvbmVzIHdoZW4gYWZ0ZXIgYWRkaW5nIG1vZHVsZXMgd2hpY2ggdXNlIHRoZQor
ICAgICAgICB0aHJlYWQuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZzoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3Jl
Lmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQp
OgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6flNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6
ZmlsZVRocmVhZCk6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAg
ICAgICAgKiBodG1sL0ZpbGVUaHJlYWQuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0ZpbGVU
aHJlYWQuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vTG9nZ2luZy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjopOgorICAgICAgICAoV2ViQ29yZTo6Z2V0Q2hhbm5lbEZyb21OYW1lKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9Mb2dnaW5nLmg6CisKIDIwMTAtMDMtMzAgIEtldmluIE9sbGl2aWVy
ICA8a2V2aW5vQHRoZW9sbGl2aWVycy5jb20+CiAKICAgICAgICAgW3d4XSBCdWlsZCBmaXggYWZ0
ZXIgbmV3IGxvY2FsaXplZCBzdHJpbmcgYWRkaXRpb24uCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvV2ViQ29yZS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA5NTY0MmMwLi45MmNhNGFiIDEwMDY0
NAotLS0gYS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisr
KyBiL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTUw
LDYgKzUwLDggQEAgRU5BQkxFX0RBVEFMSVNUID0gRU5BQkxFX0RBVEFMSVNUOwogRU5BQkxFX0RP
TV9TVE9SQUdFID0gRU5BQkxFX0RPTV9TVE9SQUdFOwogRU5BQkxFX0VWRU5UU09VUkNFID0gRU5B
QkxFX0VWRU5UU09VUkNFOwogRU5BQkxFX0ZJTFRFUlMgPSBFTkFCTEVfRklMVEVSUzsKK0VOQUJM
RV9GSUxFX1JFQURFUiA9IDsKK0VOQUJMRV9GSUxFX1dSSVRFUiA9IDsKIEVOQUJMRV9HRU9MT0NB
VElPTiA9IEVOQUJMRV9HRU9MT0NBVElPTjsKIEVOQUJMRV9JQ09OREFUQUJBU0UgPSBFTkFCTEVf
SUNPTkRBVEFCQVNFOwogRU5BQkxFX0lOREVYRURfREFUQUJBU0UgPSA7CkBAIC03NSw0ICs3Nyw0
IEBAIEVOQUJMRV9YSFRNTE1QID0gOwogRU5BQkxFX1hQQVRIID0gRU5BQkxFX1hQQVRIOwogRU5B
QkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
Q0FOVkFTKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0JMT0JfU0xJQ0UpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBR1JJRCkgJChFTkFCTEVfREFUQUxJU1Qp
ICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9FVkVOVFNPVVJDRSkgJChFTkFCTEVfRklM
VEVSUykgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZMSU5FX1dFQl9B
UFBMSUNBVElPTlMpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxFX1NBTkRCT1gpICQoRU5BQkxFX1NI
QVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19BTklNQVRJT04pICQoRU5B
QkxFX1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCkgJChFTkFCTEVfU1ZHX1VT
RSkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XTUwpICQo
RU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIVE1MTVApICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJM
RV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX0NBTlZBUykgJChFTkFCTEVf
M0RfUkVOREVSSU5HKSAkKEVOQUJMRV9CTE9CX1NMSUNFKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORykgJChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9EQVRBQkFT
RSkgJChFTkFCTEVfREFUQUdSSUQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9ET01fU1RP
UkFHRSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZJ
TEVfUkVBREVSKSAkKEVOQUJMRV9GSUxFX1dSSVRFUikgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1JVQlkpICQo
RU5BQkxFX1NBTkRCT1gpICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQo
RU5BQkxFX1NWR19BTklNQVRJT04pICQoRU5BQkxFX1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZH
X0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JF
SUdOX09CSkVDVCkgJChFTkFCTEVfU1ZHX1VTRSkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1dF
Ql9TT0NLRVRTKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIVE1M
TVApICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
R05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IDllZTJhNzYuLjhj
YTQ3M2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbQpAQCAtMzU1OCw2ICszNTU4LDMwIEBAIEZFQVRVUkVfREVGSU5FUyArPSBF
TkFCTEVfQkxPQl9TTElDRT0xCiB3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX0JMT0JfU0xJ
Q0U9MQogZW5kaWYgICMgRU5EIEVOQUJMRV9CTE9CX1NMSUNFCiAKKyMgLS0tCisjIEZpbGVSZWFk
ZXIgc3VwcG9ydAorIyAtLS0KK2lmIEVOQUJMRV9GSUxFX1JFQURFUgorRkVBVFVSRV9ERUZJTkVT
ICs9IEVOQUJMRV9GSUxFX1JFQURFUj0xCit3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX0ZJ
TEVfUkVBREVSPTEKK2VuZGlmICAjIEVORCBFTkFCTEVfRklMRV9SRUFERVIKKworIyAtLS0KKyMg
RmlsZVdyaXRlciBzdXBwb3J0CisjIC0tLQoraWYgRU5BQkxFX0ZJTEVfV1JJVEVSCitGRUFUVVJF
X0RFRklORVMgKz0gRU5BQkxFX0ZJTEVfV1JJVEVSPTEKK3dlYmNvcmVfY3BwZmxhZ3MgKz0gLURF
TkFCTEVfRklMRV9XUklURVI9MQorZW5kaWYgICMgRU5EIEVOQUJMRV9GSUxFX1dSSVRFUgorCisj
IC0tLQorIyBBZGQgRmlsZVRocmVhZCBzb3VyY2VzIGlmIEZpbGVXcml0ZXIgb3IgRmlsZVJlYWRl
ciBpcyBlbmFibGVkLgorIyAtLS0KK2lmIEVOQUJMRV9GSUxFX1RIUkVBRAord2ViY29yZV9zb3Vy
Y2VzICs9IFwKKwlXZWJDb3JlL2h0bWwvRmlsZVRocmVhZC5jcHAgXAorCVdlYkNvcmUvaHRtbC9G
aWxlVGhyZWFkLmgKK2VuZGlmICAjIEVORCBFTkFCTEVfRklMRV9USFJFQUQKIAogRGVyaXZlZFNv
dXJjZXMvQ1NTUHJvcGVydHlOYW1lcy5oOiAkKFdFQkNPUkVfQ1NTX1BST1BFUlRZX05BTUVTKSAk
KFdlYkNvcmUpL2Nzcy9tYWtlcHJvcC5wbAogCWlmIHNvcnQgJChXRUJDT1JFX0NTU19QUk9QRVJU
WV9OQU1FUykgfCB1bmlxIC1kIHwgZ3JlcCAtRSAnXlteI10nOyB0aGVuIGVjaG8gJ0R1cGxpY2F0
ZSB2YWx1ZSEnOyBleGl0IDE7IGZpCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBi
L1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDUwOWVkODEuLjRhNDVjM2UgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xNDI2
LDYgKzE0MjYsOCBAQAogICAgICAgICAgICAgJ2h0bWwvRmlsZS5oJywKICAgICAgICAgICAgICdo
dG1sL0ZpbGVMaXN0LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9GaWxlTGlzdC5oJywKKyAgICAg
ICAgICAgICdodG1sL0ZpbGVUaHJlYWQuY3BwJywKKyAgICAgICAgICAgICdodG1sL0ZpbGVUaHJl
YWQuaCcsCiAgICAgICAgICAgICAnaHRtbC9Gb3JtRGF0YUxpc3QuY3BwJywKICAgICAgICAgICAg
ICdodG1sL0Zvcm1EYXRhTGlzdC5oJywKICAgICAgICAgICAgICdodG1sL0hUTUxBbGxDb2xsZWN0
aW9uLmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJD
b3JlLnBybwppbmRleCA3MjMwMTI1Li4wOGQyOGJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNv
cmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTI4MzksNiArMjgzOSwzNCBAQCBj
b250YWlucyhERUZJTkVTLCBFTkFCTEVfU1lNQklBTl9ESUFMT0dfUFJPVklERVJTKSB7CiAgICAg
fQogfQogCitjb250YWlucyhERUZJTkVTLCBFTkFCTEVfRklMRV9SRUFERVIpIHsKKyAgICBIRUFE
RVJTICs9IFwKKyAgICAgIGh0bWwvRmlsZVRocmVhZC5oCisgICAgU09VUkNFUyArPSBcCisgICAg
ICBodG1sL0ZpbGVUaHJlYWQuY3BwCit9CisKK2NvbnRhaW5zKERFRklORVMsIEVOQUJMRV9GSUxF
X1dSSVRFUikgeworICAgIEhFQURFUlMgKz0gXAorICAgICAgaHRtbC9GaWxlVGhyZWFkLmgKKyAg
ICBTT1VSQ0VTICs9IFwKKyAgICAgIGh0bWwvRmlsZVRocmVhZC5jcHAKK30KKworY29udGFpbnMo
REVGSU5FUywgRU5BQkxFX0ZJTEVfUkVBREVSKSB7CisgICAgSEVBREVSUyArPSBcCisgICAgICBo
dG1sL0ZpbGVUaHJlYWQuaAorICAgIFNPVVJDRVMgKz0gXAorICAgICAgaHRtbC9GaWxlVGhyZWFk
LmNwcAorfQorCitjb250YWlucyhERUZJTkVTLCBFTkFCTEVfRklMRV9XUklURVIpIHsKKyAgICBI
RUFERVJTICs9IFwKKyAgICAgIGh0bWwvRmlsZVRocmVhZC5oCisgICAgU09VUkNFUyArPSBcCisg
ICAgICBodG1sL0ZpbGVUaHJlYWQuY3BwCit9CisKIGluY2x1ZGUoJCRQV0QvLi4vV2ViS2l0L3F0
L0FwaS9oZWFkZXJzLnByaSkKIEhFQURFUlMgKz0gJCRXRUJLSVRfQVBJX0hFQURFUlMKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggOTQ5NjdkNS4uNWMyYjcxZSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0zMDIyNSw2ICszMDIyNSwyMiBA
QAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxo
dG1sXEZpbGVUaHJlYWQuY3BwIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5caHRtbFxGaWxlVGhyZWFkLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+
DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXEZpbGVUaHJlYWQuY3BwIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRt
bFxGaWxlVGhyZWFkLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVs
YXRpdmVQYXRoPSIuLlxodG1sXEZvcm1EYXRhTGlzdC5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+
DQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlODBhNmZi
Li40ZjU1MGYwIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMjIwNSw2ICsyMjA1LDggQEAKIAkJODVGNzRFMEEwQUE4REY4QzAwMERDMjg0IC8qIERPTUNT
U1Vua25vd25SdWxlLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NTAzMkRENTBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTVW5r
bm93blJ1bGUuaCAqLzsgfTsKIAkJODVGRjMxNUEwQUFGQkZDQjAwMzc0RjM4IC8qIERPTUtleWJv
YXJkRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg1RkYzMTU4MEFBRkJGQ0IwMDM3NEYzOCAvKiBET01LZXlib2FyZEV2ZW50LmggKi87IH07CiAJ
CTg1RkYzMTVCMEFBRkJGQ0IwMDM3NEYzOCAvKiBET01LZXlib2FyZEV2ZW50Lm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVGRjMxNTkwQUFGQkZDQjAw
Mzc0RjM4IC8qIERPTUtleWJvYXJkRXZlbnQubW0gKi87IH07CisJCTg5OTc4QkQ1MTE2M0U3N0Iw
MDMzQTE5QiAvKiBGaWxlVGhyZWFkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg5OTc4QkQzMTE2M0U3N0IwMDMzQTE5QiAvKiBGaWxlVGhyZWFkLmNw
cCAqLzsgfTsKKwkJODk5NzhCRDYxMTYzRTc3QjAwMzNBMTlCIC8qIEZpbGVUaHJlYWQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg5OTc4QkQ0MTE2M0U3
N0IwMDMzQTE5QiAvKiBGaWxlVGhyZWFkLmggKi87IH07CiAJCTkzMDJCMEJEMEQ3OUY4MjkwMEM3
RUU4MyAvKiBQYWdlR3JvdXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTMwMkIwQkMwRDc5RjgyOTAwQzdFRTgzIC8qIFBhZ2VHcm91cC5jcHAgKi87
IH07CiAJCTkzMDJCMEJGMEQ3OUY4MkMwMEM3RUU4MyAvKiBQYWdlR3JvdXAuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMDJCMEJFMEQ3OUY4MkMwMEM3
RUU4MyAvKiBQYWdlR3JvdXAuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk5MzA1QjI0RDA5OEYxQjZCMDBDMjg4NTUgLyogVGltZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMDVCMjRDMDk4RjFCNkIw
MEMyODg1NSAvKiBUaW1lci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CkBAIC03NjQ1LDYgKzc2NDcsOCBAQAogCQk4NUY1NkE3OTBBOThDRTM3MDBBREI2
MEEgLyogRE9NUHJvY2Vzc2luZ0luc3RydWN0aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IERPTVByb2Nlc3NpbmdJbnN0cnVjdGlvbi5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVGRjMxNTgwQUFGQkZDQjAwMzc0RjM4IC8qIERPTUtleWJv
YXJkRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUtleWJvYXJk
RXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODVGRjMxNTkwQUFGQkZDQjAw
Mzc0RjM4IC8qIERPTUtleWJvYXJkRXZlbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gRE9NS2V5Ym9hcmRFdmVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODk5NzhCRDMxMTYzRTc3QjAwMzNBMTlCIC8qIEZpbGVUaHJlYWQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRmlsZVRocmVhZC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5OTc4QkQ0MTE2M0U3N0IwMDMzQTE5QiAvKiBGaWxlVGhy
ZWFkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZpbGVUaHJlYWQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwMkIwQkMwRDc5RjgyOTAwQzdFRTgzIC8qIFBh
Z2VHcm91cC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYWdlR3Jv
dXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzAyQjBCRTBENzlGODJDMDBD
N0VFODMgLyogUGFnZUdyb3VwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBh
Z2VHcm91cC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzA1QjI0QzA5OEYxQjZC
MDBDMjg4NTUgLyogVGltZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGlt
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyOTI0LDYgKzEyOTI4LDggQEAK
IAkJOTNFRUMxRUMwOUMyODc3NzAwQzUxNUQxIC8qIGh0bWwgKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTg5OTc4QkQzMTE2M0U3N0IwMDMzQTE5QiAvKiBG
aWxlVGhyZWFkLmNwcCAqLywKKwkJCQk4OTk3OEJENDExNjNFNzdCMDAzM0ExOUIgLyogRmlsZVRo
cmVhZC5oICovLAogCQkJCUE0M0JGNTk2MTE0OTI5MEEwMEM2NDNDQSAvKiBIVE1MUHJvZ3Jlc3NF
bGVtZW50LmNwcCAqLywKIAkJCQlBNDNCRjU5NzExNDkyOTBBMDBDNjQzQ0EgLyogSFRNTFByb2dy
ZXNzRWxlbWVudC5oICovLAogCQkJCTQ5NDg0RkFFMTAyQ0YwMUUwMDE4N0REMyAvKiBjYW52YXMg
Ki8sCkBAIC0xODc2OCw2ICsxODc3NCw3IEBACiAJCQkJRTQ3NzhCODAxMTVBNTgxQTAwQjVEMzcy
IC8qIEpTQ3VzdG9tRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxRTFCRjAwMTE1RkY2RkIw
MDZGNTJDQSAvKiBXaW5kb3dzS2V5Ym9hcmRDb2Rlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ5
OUE1MTUxMTVGQjMzMDAwRjU2NkUzIC8qIFJlbmRlclNWR1Jlc291cmNlTWFya2VyLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk4OTk3OEJENjExNjNFNzdCMDAzM0ExOUIgLyogRmlsZVRocmVhZC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2lu
ZyA9IDA7CiAJCX07CkBAIC0yMDk4Miw2ICsyMDk4OSw3IEBACiAJCQkJNjJDRDMyNTkxMTU3RTU3
QzAwNjNCMEE3IC8qIEN1c3RvbUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0Nzc4QjdG
MTE1QTU4MUEwMEI1RDM3MiAvKiBKU0N1c3RvbUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTg0OTlBNTE0MTE1RkIzMzAwMEY1NjZFMyAvKiBSZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQk4OTk3OEJENTExNjNFNzdCMDAzM0ExOUIgLyogRmlsZVRocmVh
ZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuY3BwIGIvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAK
aW5kZXggYzJmZTEyMC4uMGZlMjU1NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5jcHAKKysrIGIvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5jcHAKQEAgLTMxLDYgKzMxLDkgQEAKICNpbmNsdWRlICJEYXRhYmFzZS5oIgogI2luY2x1ZGUg
IkRhdGFiYXNlVGFzay5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVGhyZWFkLmgiCisjaWYgRU5BQkxF
KEZJTEVfUkVBREVSKSB8fCBFTkFCTEUoRklMRV9XUklURVIpCisjaW5jbHVkZSAiRmlsZVRocmVh
ZC5oIgorI2VuZGlmCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKICNpbmNsdWRlICJTZWN1cml0
eU9yaWdpbi5oIgogI2luY2x1ZGUgIldvcmtlckNvbnRleHQuaCIKQEAgLTYxLDYgKzY0LDkgQEAg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpCiAjaWYgRU5B
QkxFKERBVEFCQVNFKQogICAgIDogbV9oYXNPcGVuRGF0YWJhc2VzKGZhbHNlKQogI2VuZGlmCisj
aWYgRU5BQkxFKEZJTEVfUkVBREVSKSB8fCBFTkFCTEUoRklMRV9XUklURVIpCisgICAgLCBtX2Zp
bGVUaHJlYWRDcmVhdGVkKGZhbHNlKQorI2VuZGlmCiB7CiB9CiAKQEAgLTgzLDYgKzg5LDEyIEBA
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6On5TY3JpcHRFeGVjdXRpb25Db250ZXh0KCkKICAgICAg
ICAgbV9kYXRhYmFzZVRocmVhZCA9IDA7CiAgICAgfQogI2VuZGlmCisjaWYgRU5BQkxFKEZJTEVf
UkVBREVSKSB8fCBFTkFCTEUoRklMRV9XUklURVIpCisgICAgaWYgKG1fZmlsZVRocmVhZCkgewor
ICAgICAgICBtX2ZpbGVUaHJlYWQtPnRlcm1pbmF0ZSgpOworICAgICAgICBtX2ZpbGVUaHJlYWQg
PSAwOworICAgIH0KKyNlbmRpZgogfQogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQpAQCAtMjYxLDYg
KzI3MywxOSBAQCBET01UaW1lciogU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZmluZFRpbWVvdXQo
aW50IHRpbWVvdXRJZCkKICAgICByZXR1cm4gbV90aW1lb3V0cy5nZXQodGltZW91dElkKTsKIH0K
IAorI2lmIEVOQUJMRShGSUxFX1JFQURFUikgfHwgRU5BQkxFKEZJTEVfV1JJVEVSKQorRmlsZVRo
cmVhZCogU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZmlsZVRocmVhZCgpCit7CisgICAgaWYgKCFt
X2ZpbGVUaHJlYWQgJiYgIW1fZmlsZVRocmVhZENyZWF0ZWQpIHsKKyAgICAgICAgbV9maWxlVGhy
ZWFkID0gRmlsZVRocmVhZDo6Y3JlYXRlKCk7CisgICAgICAgIG1fZmlsZVRocmVhZENyZWF0ZWQg
PSB0cnVlOworICAgICAgICBpZiAoIW1fZmlsZVRocmVhZC0+c3RhcnQoKSkKKyAgICAgICAgICAg
IG1fZmlsZVRocmVhZCA9IDA7CisgICAgfQorICAgIHJldHVybiBtX2ZpbGVUaHJlYWQgPyBtX2Zp
bGVUaHJlYWQuZ2V0KCkgOiAwOworfQorI2VuZGlmCisKIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6
OlRhc2s6On5UYXNrKCkKIHsKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaCBiL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRl
eCBmMWM3OWNmLi44OTQ3NTUzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgKKysrIGIvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCkBA
IC00NSw2ICs0NSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBEYXRhYmFzZVRo
cmVhZDsKICNlbmRpZgogICAgIGNsYXNzIERPTVRpbWVyOworI2lmIEVOQUJMRShGSUxFX1JFQURF
UikgfHwgRU5BQkxFKEZJTEVfV1JJVEVSKQorICAgIGNsYXNzIEZpbGVUaHJlYWQ7CisjZW5kaWYK
ICAgICBjbGFzcyBNZXNzYWdlUG9ydDsKICAgICBjbGFzcyBTZWN1cml0eU9yaWdpbjsKICAgICBj
bGFzcyBTY3JpcHRTdHJpbmc7CkBAIC0xMzYsNiArMTM5LDExIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgSlNDOjpKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEoKTsKICNlbmRpZgogCisj
aWYgRU5BQkxFKEZJTEVfUkVBREVSKSB8fCBFTkFCTEUoRklMRV9XUklURVIpCisgICAgICAgIEZp
bGVUaHJlYWQqIGZpbGVUaHJlYWQoKTsKKyAgICAgICAgdm9pZCBzdG9wRmlsZVRocmVhZCgpOwor
I2VuZGlmCisKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIC8vIEV4cGxpY2l0bHkgb3ZlcnJpZGUg
dGhlIHNlY3VyaXR5IG9yaWdpbiBmb3IgdGhpcyBzY3JpcHQgY29udGV4dC4KICAgICAgICAgLy8g
Tm90ZTogSXQgaXMgZGFuZ2Vyb3VzIHRvIGNoYW5nZSB0aGUgc2VjdXJpdHkgb3JpZ2luIG9mIGEg
c2NyaXB0IGNvbnRleHQKQEAgLTE2Myw2ICsxNzEsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB0eXBlZGVmIEhhc2hTZXQ8RGF0YWJhc2UqID4gRGF0YWJhc2VTZXQ7CiAgICAgICAg
IE93blB0cjxEYXRhYmFzZVNldD4gbV9vcGVuRGF0YWJhc2VTZXQ7CiAjZW5kaWYKKworI2lmIEVO
QUJMRShGSUxFX1JFQURFUikgfHwgRU5BQkxFKEZJTEVfV1JJVEVSKQorICAgICAgICBSZWZQdHI8
RmlsZVRocmVhZD4gbV9maWxlVGhyZWFkOworICAgICAgICBib29sIG1fZmlsZVRocmVhZENyZWF0
ZWQ7CisjZW5kaWYKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvRmlsZVRocmVhZC5jcHAgYi9XZWJDb3JlL2h0bWwvRmlsZVRocmVhZC5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWQwMzI5YwotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYkNvcmUvaHRtbC9GaWxlVGhyZWFkLmNwcApAQCAtMCwwICsxLDExNyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKEZJTEVfV1JJVEVSKSB8fCBFTkFCTEUoRklM
RV9SRUFERVIpCisKKyNpbmNsdWRlICJGaWxlVGhyZWFkLmgiCisKKyNpbmNsdWRlICJBdXRvZHJh
aW5lZFBvb2wuaCIKKyNpbmNsdWRlICJMb2dnaW5nLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworRmlsZVRocmVhZDo6RmlsZVRocmVhZCgpCisgICAgOiBtX3RocmVhZElEKDApCit7CisgICAg
bV9zZWxmUmVmID0gdGhpczsKK30KKworRmlsZVRocmVhZDo6fkZpbGVUaHJlYWQoKQoreworICAg
IEFTU0VSVChtX3F1ZXVlLmtpbGxlZCgpKTsKK30KKworYm9vbCBGaWxlVGhyZWFkOjpzdGFydCgp
Cit7CisgICAgTXV0ZXhMb2NrZXIgbG9jayhtX3RocmVhZENyZWF0aW9uTXV0ZXgpOworICAgIGlm
IChtX3RocmVhZElEKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBtX3RocmVhZElEID0gY3Jl
YXRlVGhyZWFkKEZpbGVUaHJlYWQ6OmZpbGVUaHJlYWRTdGFydCwgdGhpcywgIldlYkNvcmU6IEZp
bGUiKTsKKyAgICByZXR1cm4gbV90aHJlYWRJRDsKK30KKwordm9pZCBGaWxlVGhyZWFkOjp0ZXJt
aW5hdGUoKQoreworICAgIHJldHVybiBtX3F1ZXVlLmtpbGwoKTsKK30KKwordm9pZCBGaWxlVGhy
ZWFkOjpwb3N0VGFzayhQYXNzT3duUHRyPFRhc2s+IHRhc2spCit7CisgICAgbV9xdWV1ZS5hcHBl
bmQodGFzayk7Cit9CisKK2NsYXNzIFNhbWVGaWxlUHJlZGljYXRlIHsKK3B1YmxpYzoKKyAgICBT
YW1lRmlsZVByZWRpY2F0ZShjb25zdCBQbGF0Zm9ybUZpbGVIYW5kbGUgaGFuZGxlKSA6IG1faGFu
ZGxlKGhhbmRsZSkgeyB9CisgICAgYm9vbCBvcGVyYXRvcigpKEZpbGVUaHJlYWQ6OlRhc2sqIHRh
c2spIGNvbnN0IHsgcmV0dXJuIHRhc2stPmZpbGVIYW5kbGUoKSA9PSBtX2hhbmRsZTsgfQorcHJp
dmF0ZToKKyAgICBQbGF0Zm9ybUZpbGVIYW5kbGUgbV9oYW5kbGU7Cit9OworCit2b2lkIEZpbGVU
aHJlYWQ6OnJlbW92ZVRhc2soUGxhdGZvcm1GaWxlSGFuZGxlIGhhbmRsZSkKK3sKKyAgICBTYW1l
RmlsZVByZWRpY2F0ZSBwcmVkaWNhdGUoaGFuZGxlKTsKKyAgICBtX3F1ZXVlLnJlbW92ZUlmKHBy
ZWRpY2F0ZSk7Cit9CisKK3ZvaWQqIEZpbGVUaHJlYWQ6OmZpbGVUaHJlYWRTdGFydCh2b2lkKiBh
cmcpCit7CisgICAgRmlsZVRocmVhZCogZmlsZVRocmVhZCA9IHN0YXRpY19jYXN0PEZpbGVUaHJl
YWQqPihhcmcpOworICAgIHJldHVybiBmaWxlVGhyZWFkLT5ydW5Mb29wKCk7Cit9CisKK3ZvaWQq
IEZpbGVUaHJlYWQ6OnJ1bkxvb3AoKQoreworICAgIHsKKyAgICAgICAgLy8gV2FpdCBmb3IgRmls
ZVRocmVhZDo6c3RhcnQoKSB0byBjb21wbGV0ZS4KKyAgICAgICAgTXV0ZXhMb2NrZXIgbG9jayht
X3RocmVhZENyZWF0aW9uTXV0ZXgpOworICAgICAgICBMT0coRmlsZUFQSSwgIlN0YXJ0ZWQgRmls
ZVRocmVhZCAlcCIsIHRoaXMpOworICAgIH0KKworICAgIEF1dG9kcmFpbmVkUG9vbCBwb29sOwor
ICAgIHdoaWxlIChPd25QdHI8VGFzaz4gdGFzayA9IG1fcXVldWUud2FpdEZvck1lc3NhZ2UoKSkg
eworICAgICAgICB0YXNrLT5wZXJmb3JtVGFzaygpOworICAgICAgICBwb29sLmN5Y2xlKCk7Cisg
ICAgfQorCisgICAgTE9HKEZpbGVBUEksICJBYm91dCB0byBkZXRhY2ggdGhyZWFkICVpIGFuZCBj
bGVhciB0aGUgcmVmIHRvIEZpbGVUaHJlYWQgJXAsIHdoaWNoIGN1cnJlbnRseSBoYXMgJWkgcmVm
KHMpIiwgbV90aHJlYWRJRCwgdGhpcywgcmVmQ291bnQoKSk7CisKKyAgICBkZXRhY2hUaHJlYWQo
bV90aHJlYWRJRCk7CisKKyAgICAvLyBDbGVhciB0aGUgc2VsZiByZWZwdHIsIHBvc3NpYmx5IHJl
c3VsdGluZyBpbiBkZWxldGlvbgorICAgIG1fc2VsZlJlZiA9IDA7CisKKyAgICByZXR1cm4gMDsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfV1JJ
VEVSKSB8fCBFTkFCTEUoRklMRV9SRUFERVIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvRmls
ZVRocmVhZC5oIGIvV2ViQ29yZS9odG1sL0ZpbGVUaHJlYWQuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi5mZGE5YjE4Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1s
L0ZpbGVUaHJlYWQuaApAQCAtMCwwICsxLDgwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisjaWZuZGVmIEZpbGVUaHJlYWRfaAorI2RlZmlu
ZSBGaWxlVGhyZWFkX2gKKworI2lmIEVOQUJMRShGSUxFX1dSSVRFUikgfHwgRU5BQkxFKEZJTEVf
UkVBREVSKQorCisjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgPHd0Zi9NZXNzYWdl
UXVldWUuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIEZpbGVUaHJlYWQgOiBwdWJsaWMgVGhyZWFkU2FmZVNoYXJlZDxGaWxlVGhy
ZWFkPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8RmlsZVRocmVhZD4gY3JlYXRl
KCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IEZpbGVUaHJlYWQoKSk7IH0KKyAgICB+RmlsZVRocmVh
ZCgpOworCisgICAgYm9vbCBzdGFydCgpOworICAgIHZvaWQgdGVybWluYXRlKCk7CisKKyAgICBj
bGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBwdWJsaWM6CisgICAgICAgIHZp
cnR1YWwgflRhc2soKSB7IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIHBlcmZvcm1UYXNrKCkgPSAw
OworICAgICAgICB2aXJ0dWFsIFBsYXRmb3JtRmlsZUhhbmRsZSBmaWxlSGFuZGxlKCkgY29uc3Qg
PSAwOworICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGFzaygpIHsgfQorICAgIH07CisKKyAgICB2
b2lkIHBvc3RUYXNrKFBhc3NPd25QdHI8VGFzaz4gdGFzayk7CisgICAgdm9pZCByZW1vdmVUYXNr
KFBsYXRmb3JtRmlsZUhhbmRsZSk7CisKK3ByaXZhdGU6CisgICAgRmlsZVRocmVhZCgpOworCisg
ICAgc3RhdGljIHZvaWQqIGZpbGVUaHJlYWRTdGFydCh2b2lkKik7CisgICAgdm9pZCogcnVuTG9v
cCgpOworCisgICAgVGhyZWFkSWRlbnRpZmllciBtX3RocmVhZElEOworICAgIFJlZlB0cjxGaWxl
VGhyZWFkPiBtX3NlbGZSZWY7CisgICAgTWVzc2FnZVF1ZXVlPFRhc2s+IG1fcXVldWU7CisKKyAg
ICBNdXRleCBtX3RocmVhZENyZWF0aW9uTXV0ZXg7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRklMRV9XUklURVIpIHx8IEVOQUJMRShGSUxFX1JFQURF
UikKKworI2VuZGlmIC8vIEZpbGVUaHJlYWRfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9Mb2dnaW5nLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5jcHAKaW5kZXggOTJlMTFl
My4uN2ZiMTViMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmNwcAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuY3BwCkBAIC0yMCw3ICsyMCw3IEBACiAgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKQEAgLTYwLDYgKzYwLDcgQEAgV1RG
TG9nQ2hhbm5lbCBMb2dNZWRpYSA9ICAgICAgICAgICAgIHsgMHgwMTAwMDAwMCwgIldlYkNvcmVM
b2dMZXZlbCIsIFdURkxvZ0NoYW4KIFdURkxvZ0NoYW5uZWwgTG9nUGx1Z2lucyA9ICAgICAgICAg
ICB7IDB4MDIwMDAwMDAsICJXZWJDb3JlTG9nTGV2ZWwiLCBXVEZMb2dDaGFubmVsT2ZmIH07CiBX
VEZMb2dDaGFubmVsIExvZ0FyY2hpdmVzID0gICAgICAgICAgeyAweDA0MDAwMDAwLCAiV2ViQ29y
ZUxvZ0xldmVsIiwgV1RGTG9nQ2hhbm5lbE9mZiB9OwogV1RGTG9nQ2hhbm5lbCBMb2dQcm9ncmVz
cyA9ICAgICAgICAgIHsgMHgwODAwMDAwMCwgIldlYkNvcmVMb2dMZXZlbCIsIFdURkxvZ0NoYW5u
ZWxPZmYgfTsKK1dURkxvZ0NoYW5uZWwgTG9nRmlsZUFQSSA9ICAgICAgICAgICB7IDB4MTAwMDAw
MDAsICJXZWJDb3JlTG9nTGV2ZWwiLCBXVEZMb2dDaGFubmVsT2ZmIH07CiAKIFdURkxvZ0NoYW5u
ZWwqIGdldENoYW5uZWxGcm9tTmFtZShjb25zdCBTdHJpbmcmIGNoYW5uZWxOYW1lKQogewpAQCAt
MTEzLDcgKzExNCw3IEBAIFdURkxvZ0NoYW5uZWwqIGdldENoYW5uZWxGcm9tTmFtZShjb25zdCBT
dHJpbmcmIGNoYW5uZWxOYW1lKQogCiAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKGNoYW5uZWxO
YW1lLCBTdHJpbmcoIlByb2dyZXNzIikpKQogICAgICAgICByZXR1cm4gJkxvZ1Byb2dyZXNzOwot
ICAgICAgICAKKwogICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShjaGFubmVsTmFtZSwgU3RyaW5n
KCJTcGVsbGluZ0FuZEdyYW1tYXIiKSkpCiAgICAgICAgIHJldHVybiAmTG9nU3BlbGxpbmdBbmRH
cmFtbWFyOwogCkBAIC0xMjksNiArMTMwLDkgQEAgV1RGTG9nQ2hhbm5lbCogZ2V0Q2hhbm5lbEZy
b21OYW1lKGNvbnN0IFN0cmluZyYgY2hhbm5lbE5hbWUpCiAgICAgaWYgKGVxdWFsSWdub3JpbmdD
YXNlKGNoYW5uZWxOYW1lLCBTdHJpbmcoIlRocmVhZGluZyIpKSkKICAgICAgICAgcmV0dXJuICZM
b2dUaHJlYWRpbmc7CiAKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UoY2hhbm5lbE5hbWUsIFN0
cmluZygiRmlsZUFQSSIpKSkKKyAgICAgICAgcmV0dXJuICZMb2dGaWxlQVBJOworCiAgICAgcmV0
dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmgKaW5kZXggYzBjNDFjMS4uNDViNmQyMyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dn
aW5nLmgKQEAgLTU4LDYgKzU4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGV4dGVybiBX
VEZMb2dDaGFubmVsIExvZ1BsdWdpbnM7CiAgICAgZXh0ZXJuIFdURkxvZ0NoYW5uZWwgTG9nQXJj
aGl2ZXM7CiAgICAgZXh0ZXJuIFdURkxvZ0NoYW5uZWwgTG9nUHJvZ3Jlc3M7CisgICAgZXh0ZXJu
IFdURkxvZ0NoYW5uZWwgTG9nRmlsZUFQSTsKIAogICAgIHZvaWQgSW5pdGlhbGl6ZUxvZ2dpbmdD
aGFubmVsc0lmTmVjZXNzYXJ5KCk7CiAgICAgV1RGTG9nQ2hhbm5lbCogZ2V0Q2hhbm5lbEZyb21O
YW1lKGNvbnN0IFN0cmluZyYgY2hhbm5lbE5hbWUpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9D
aGFuZ2VMb2cgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAwYTI0ZGMwLi40NmU3ZTU2IDEw
MDY0NAotLS0gYS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDEwLTAzLTMxICBLaW51a28gWWFzdWRhICA8a2ludWtvQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgRklMRV9SRUFERVIgb3IgRklMRV9XUklURVIgZmVhdHVyZSBkZWZpbmVzLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzY4OTYKKworICAg
ICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDEwLTAz
LTMwICBKb2huIFN1bGxpdmFuICA8c3VsbGl2YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IERhbiBCZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA5NTY0MmMwLi4yZTQ5N2Y4IDEwMDY0NAotLS0g
YS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBi
L1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTUw
LDYgKzUwLDggQEAgRU5BQkxFX0RBVEFMSVNUID0gRU5BQkxFX0RBVEFMSVNUOwogRU5BQkxFX0RP
TV9TVE9SQUdFID0gRU5BQkxFX0RPTV9TVE9SQUdFOwogRU5BQkxFX0VWRU5UU09VUkNFID0gRU5B
QkxFX0VWRU5UU09VUkNFOwogRU5BQkxFX0ZJTFRFUlMgPSBFTkFCTEVfRklMVEVSUzsKK0VOQUJM
RV9GSUxFX1JFQURFUiA9IEVOQUJMRV9GSUxFX1JFQURFUjsKK0VOQUJMRV9GSUxFX1dSSVRFUiA9
IEVOQUJMRV9GSUxFX1dSSVRFUjsKIEVOQUJMRV9HRU9MT0NBVElPTiA9IEVOQUJMRV9HRU9MT0NB
VElPTjsKIEVOQUJMRV9JQ09OREFUQUJBU0UgPSBFTkFCTEVfSUNPTkRBVEFCQVNFOwogRU5BQkxF
X0lOREVYRURfREFUQUJBU0UgPSA7CkBAIC03NSw0ICs3Nyw0IEBAIEVOQUJMRV9YSFRNTE1QID0g
OwogRU5BQkxFX1hQQVRIID0gRU5BQkxFX1hQQVRIOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNM
VDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfQ0FOVkFTKSAkKEVOQUJMRV8zRF9S
RU5ERVJJTkcpICQoRU5BQkxFX0JMT0JfU0xJQ0UpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0RBVEFCQVNFKSAk
KEVOQUJMRV9EQVRBR1JJRCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RPTV9TVE9SQUdF
KSAkKEVOQUJMRV9FVkVOVFNPVVJDRSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICQoRU5BQkxF
X1JVQlkpICQoRU5BQkxFX1NBTkRCT1gpICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJM
RV9TVkcpICQoRU5BQkxFX1NWR19BTklNQVRJT04pICQoRU5BQkxFX1NWR19BU19JTUFHRSkgJChF
TkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1NWR19GT1JFSUdOX09CSkVDVCkgJChFTkFCTEVfU1ZHX1VTRSkgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5B
QkxFX1hIVE1MTVApICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVG
SU5FUyA9ICQoRU5BQkxFXzNEX0NBTlZBUykgJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJM
RV9CTE9CX1NMSUNFKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ0xJRU5U
X0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFCTEVfREFUQUdSSUQp
ICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9ET01fU1RPUkFHRSkgJChFTkFCTEVfRVZFTlRT
T1VSQ0UpICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZJTEVfUkVBREVSKSAkKEVOQUJMRV9G
SUxFX1dSSVRFUikgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikg
JChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZMSU5F
X1dFQl9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxFX1NBTkRCT1gpICQoRU5B
QkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19BTklNQVRJT04p
ICQoRU5BQkxFX1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCkgJChFTkFCTEVf
U1ZHX1VTRSkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9X
TUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIVE1MTVApICQoRU5BQkxFX1hQQVRIKSAk
KEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1dlYktpdExpYnJhcmllcy9DaGFuZ2VMb2cgYi9X
ZWJLaXRMaWJyYXJpZXMvQ2hhbmdlTG9nCmluZGV4IDI3MGU4YTMuLmE1ZWZhYjEgMTAwNjQ0Ci0t
LSBhL1dlYktpdExpYnJhcmllcy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0TGlicmFyaWVzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEwLTAzLTMxICBLaW51a28gWWFzdWRhICA8a2ludWtv
QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGRzIEVOQUJMRV9GSUxFX1JFQURFUiBhbmQgRU5BQkxFX0ZJTEVfV1JJVEVSIGZl
YXR1cmUgZmxhZ3MKKwkJZm9yIEZpbGVSZWFkZXIgYW5kIEZpbGVXcml0ZXIgc3VwcG9ydC4KKwor
ICAgICAgICAqIHdpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzLnZzcHJvcHM6CisgICAg
ICAgICogd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXNDYWlyby52c3Byb3BzOgorCiAy
MDEwLTAzLTI1ICBNYXJrIFJvd2UgIDxtcm93ZUBhcHBsZS5jb20+CiAKICAgICAgICAgUnViYmVy
LXN0YW1wZWQgYnkgRGFuIEJlcm5zdGVpbi4KZGlmZiAtLWdpdCBhL1dlYktpdExpYnJhcmllcy93
aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lcy52c3Byb3BzIGIvV2ViS2l0TGlicmFyaWVz
L3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzLnZzcHJvcHMKaW5kZXggNDVkYWNiYy4u
MjE4NGY0NiAxMDA2NDQKLS0tIGEvV2ViS2l0TGlicmFyaWVzL3dpbi90b29scy92c3Byb3BzL0Zl
YXR1cmVEZWZpbmVzLnZzcHJvcHMKKysrIGIvV2ViS2l0TGlicmFyaWVzL3dpbi90b29scy92c3By
b3BzL0ZlYXR1cmVEZWZpbmVzLnZzcHJvcHMKQEAgLTksNyArOSw3IEBACiAJPgogICA8VG9vbAog
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iJChF
TkFCTEVfM0RfQ0FOVkFTKTskKEVOQUJMRV8zRF9SRU5ERVJJTkcpOyQoRU5BQkxFX0JMT0JfU0xJ
Q0UpOyQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKTskKEVOQUJMRV9DTElFTlRfQkFTRURfR0VP
TE9DQVRJT04pOyQoRU5BQkxFX0RBVEFCQVNFKTskKEVOQUJMRV9EQVRBR1JJRCk7JChFTkFCTEVf
REFUQUxJU1QpOyQoRU5BQkxFX0RPTV9TVE9SQUdFKTskKEVOQUJMRV9FVkVOVFNPVVJDRSk7JChF
TkFCTEVfRklMVEVSUyk7JChFTkFCTEVfR0VPTE9DQVRJT04pOyQoRU5BQkxFX0lDT05EQVRBQkFT
RSk7JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSk7JChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dF
Uik7JChFTkFCTEVfTUFUSE1MKTskKEVOQUJMRV9OT1RJRklDQVRJT05TKTskKEVOQUJMRV9PRkZM
SU5FX1dFQl9BUFBMSUNBVElPTlMpOyQoRU5BQkxFX1JVQlkpOyQoRU5BQkxFX1NBTkRCT1gpOyQo
RU5BQkxFX1NIQVJFRF9XT1JLRVJTKTskKEVOQUJMRV9TVkcpOyQoRU5BQkxFX1NWR19BTklNQVRJ
T04pOyQoRU5BQkxFX1NWR19BU19JTUFHRSk7JChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdT
KTskKEVOQUJMRV9TVkdfRk9OVFMpOyQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCk7JChFTkFC
TEVfU1ZHX1VTRSk7JChFTkFCTEVfVklERU8pOyQoRU5BQkxFX1dFQl9TT0NLRVRTKTskKEVOQUJM
RV9XTUwpOyQoRU5BQkxFX1dPUktFUlMpOyQoRU5BQkxFX1hIVE1MTVApOyQoRU5BQkxFX1hQQVRI
KTskKEVOQUJMRV9YU0xUKSIKKwkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiQoRU5BQkxFXzNE
X0NBTlZBUyk7JChFTkFCTEVfM0RfUkVOREVSSU5HKTskKEVOQUJMRV9CTE9CX1NMSUNFKTskKEVO
QUJMRV9DSEFOTkVMX01FU1NBR0lORyk7JChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9O
KTskKEVOQUJMRV9EQVRBQkFTRSk7JChFTkFCTEVfREFUQUdSSUQpOyQoRU5BQkxFX0RBVEFMSVNU
KTskKEVOQUJMRV9ET01fU1RPUkFHRSk7JChFTkFCTEVfRVZFTlRTT1VSQ0UpOyQoRU5BQkxFX0ZJ
TFRFUlMpOyQoRU5BQkxFX0ZJTEVfUkVBREVSKTskKEVOQUJMRV9GSUxFX1dSSVRFUik7JChFTkFC
TEVfR0VPTE9DQVRJT04pOyQoRU5BQkxFX0lDT05EQVRBQkFTRSk7JChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRSk7JChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUik7JChFTkFCTEVfTUFUSE1MKTsk
KEVOQUJMRV9OT1RJRklDQVRJT05TKTskKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMp
OyQoRU5BQkxFX1JVQlkpOyQoRU5BQkxFX1NBTkRCT1gpOyQoRU5BQkxFX1NIQVJFRF9XT1JLRVJT
KTskKEVOQUJMRV9TVkcpOyQoRU5BQkxFX1NWR19BTklNQVRJT04pOyQoRU5BQkxFX1NWR19BU19J
TUFHRSk7JChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKTskKEVOQUJMRV9TVkdfRk9OVFMp
OyQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCk7JChFTkFCTEVfU1ZHX1VTRSk7JChFTkFCTEVf
VklERU8pOyQoRU5BQkxFX1dFQl9TT0NLRVRTKTskKEVOQUJMRV9XTUwpOyQoRU5BQkxFX1dPUktF
UlMpOyQoRU5BQkxFX1hIVE1MTVApOyQoRU5BQkxFX1hQQVRIKTskKEVOQUJMRV9YU0xUKSIKIAkv
PgogICA8VXNlck1hY3JvCiAJCU5hbWU9IkVOQUJMRV8zRF9DQU5WQVMiCkBAIC02Nyw2ICs2Nywx
NiBAQAogCQlQZXJmb3JtRW52aXJvbm1lbnRTZXQ9InRydWUiCiAJLz4KICAgPFVzZXJNYWNybwor
CQlOYW1lPSJFTkFCTEVfRklMRV9SRUFERVIiCisJCVZhbHVlPSIiCisJCVBlcmZvcm1FbnZpcm9u
bWVudFNldD0idHJ1ZSIKKwkvPgorICA8VXNlck1hY3JvCisJCU5hbWU9IkVOQUJMRV9GSUxFX1dS
SVRFUiIKKwkJVmFsdWU9IiIKKwkJUGVyZm9ybUVudmlyb25tZW50U2V0PSJ0cnVlIgorCS8+Cisg
IDxVc2VyTWFjcm8KIAkJTmFtZT0iRU5BQkxFX0dFT0xPQ0FUSU9OIgogCQlWYWx1ZT0iRU5BQkxF
X0dFT0xPQ0FUSU9OIgogCQlQZXJmb3JtRW52aXJvbm1lbnRTZXQ9InRydWUiCmRpZmYgLS1naXQg
YS9XZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXNDYWlyby52
c3Byb3BzIGIvV2ViS2l0TGlicmFyaWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVz
Q2Fpcm8udnNwcm9wcwppbmRleCBlNzM3ZmZhLi4xNDY0NGQ0IDEwMDY0NAotLS0gYS9XZWJLaXRM
aWJyYXJpZXMvd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXNDYWlyby52c3Byb3BzCisr
KyBiL1dlYktpdExpYnJhcmllcy93aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lc0NhaXJv
LnZzcHJvcHMKQEAgLTksNyArOSw3IEBACiAJPgogICA8VG9vbAogCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgotCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iJChFTkFCTEVfM0RfQ0FOVkFTKTsk
KEVOQUJMRV8zRF9SRU5ERVJJTkcpOyQoRU5BQkxFX0JMT0JfU0xJQ0UpOyQoRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HKTskKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pOyQoRU5BQkxF
X0RBVEFCQVNFKTskKEVOQUJMRV9EQVRBR1JJRCk7JChFTkFCTEVfREFUQUxJU1QpOyQoRU5BQkxF
X0RPTV9TVE9SQUdFKTskKEVOQUJMRV9FVkVOVFNPVVJDRSk7JChFTkFCTEVfRklMVEVSUyk7JChF
TkFCTEVfR0VPTE9DQVRJT04pOyQoRU5BQkxFX0lDT05EQVRBQkFTRSk7JChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRSk7JChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUik7JChFTkFCTEVfTUFUSE1M
KTskKEVOQUJMRV9OT1RJRklDQVRJT05TKTskKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElP
TlMpOyQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKTskKEVOQUJMRV9TVkcpOyQoRU5BQkxFX1NWR19B
TklNQVRJT04pOyQoRU5BQkxFX1NWR19BU19JTUFHRSk7JChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJ
TkRJTkdTKTskKEVOQUJMRV9TVkdfRk9OVFMpOyQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCk7
JChFTkFCTEVfU1ZHX1VTRSk7JChFTkFCTEVfVklERU8pOyQoRU5BQkxFX1dFQl9TT0NLRVRTKTsk
KEVOQUJMRV9XTUwpOyQoRU5BQkxFX1dPUktFUlMpOyQoRU5BQkxFX1hIVE1MTVApOyQoRU5BQkxF
X1hQQVRIKTskKEVOQUJMRV9YU0xUKSIKKwkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiQoRU5B
QkxFXzNEX0NBTlZBUyk7JChFTkFCTEVfM0RfUkVOREVSSU5HKTskKEVOQUJMRV9CTE9CX1NMSUNF
KTskKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyk7JChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xP
Q0FUSU9OKTskKEVOQUJMRV9EQVRBQkFTRSk7JChFTkFCTEVfREFUQUdSSUQpOyQoRU5BQkxFX0RB
VEFMSVNUKTskKEVOQUJMRV9ET01fU1RPUkFHRSk7JChFTkFCTEVfRVZFTlRTT1VSQ0UpOyQoRU5B
QkxFX0ZJTFRFUlMpOyQoRU5BQkxFX0ZJTEVfUkVBREVSKTskKEVOQUJMRV9GSUxFX1dSSVRFUik7
JChFTkFCTEVfR0VPTE9DQVRJT04pOyQoRU5BQkxFX0lDT05EQVRBQkFTRSk7JChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSk7JChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUik7JChFTkFCTEVfTUFU
SE1MKTskKEVOQUJMRV9OT1RJRklDQVRJT05TKTskKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNB
VElPTlMpOyQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKTskKEVOQUJMRV9TVkcpOyQoRU5BQkxFX1NW
R19BTklNQVRJT04pOyQoRU5BQkxFX1NWR19BU19JTUFHRSk7JChFTkFCTEVfU1ZHX0RPTV9PQkpD
X0JJTkRJTkdTKTskKEVOQUJMRV9TVkdfRk9OVFMpOyQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVD
VCk7JChFTkFCTEVfU1ZHX1VTRSk7JChFTkFCTEVfVklERU8pOyQoRU5BQkxFX1dFQl9TT0NLRVRT
KTskKEVOQUJMRV9XTUwpOyQoRU5BQkxFX1dPUktFUlMpOyQoRU5BQkxFX1hIVE1MTVApOyQoRU5B
QkxFX1hQQVRIKTskKEVOQUJMRV9YU0xUKSIKIAkvPgogICA8VXNlck1hY3JvCiAJCU5hbWU9IkVO
QUJMRV8zRF9DQU5WQVMiCkBAIC02Nyw2ICs2NywxNiBAQAogCQlQZXJmb3JtRW52aXJvbm1lbnRT
ZXQ9InRydWUiCiAJLz4KICAgPFVzZXJNYWNybworCQlOYW1lPSJFTkFCTEVfRklMRV9SRUFERVIi
CisJCVZhbHVlPSIiCisJCVBlcmZvcm1FbnZpcm9ubWVudFNldD0idHJ1ZSIKKwkvPgorICA8VXNl
ck1hY3JvCisJCU5hbWU9IkVOQUJMRV9GSUxFX1dSSVRFUiIKKwkJVmFsdWU9IiIKKwkJUGVyZm9y
bUVudmlyb25tZW50U2V0PSJ0cnVlIgorCS8+CisgIDxVc2VyTWFjcm8KIAkJTmFtZT0iRU5BQkxF
X0dFT0xPQ0FUSU9OIgogCQlWYWx1ZT0iIgogCQlQZXJmb3JtRW52aXJvbm1lbnRTZXQ9InRydWUi
CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKaW5kZXggMWU4NDRkZi4uN2VjZDM3MyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEwLTAz
LTMxICBLaW51a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgb3B0aW9ucyB0byBlbmFibGUg
RklMRV9SRUFERVIgYW5kIEZJTEVfV1JJVEVSIHN1cHBvcnQuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjg5NgorCisgICAgICAgICogU2NyaXB0cy9i
dWlsZC13ZWJraXQ6CisKIDIwMTAtMDMtMzAgIEtldmluIE9sbGl2aWVyICA8a2V2aW5vQHRoZW9s
bGl2aWVycy5jb20+CiAKICAgICAgICAgW3d4XSBCdWlsZCBmaXggYWZ0ZXIgbmV3IG1ldGhvZCBh
ZGRlZC4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0IGIvV2Vi
S2l0VG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKaW5kZXggZjg2NjE4OC4uMjM0MDk2YyAxMDA3
NTUKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKKysrIGIvV2ViS2l0VG9v
bHMvU2NyaXB0cy9idWlsZC13ZWJraXQKQEAgLTU2LDcgKzU2LDggQEAgbXkgKCR0aHJlZURDYW52
YXNTdXBwb3J0LCAkdGhyZWVEUmVuZGVyaW5nU3VwcG9ydCwgJGNoYW5uZWxNZXNzYWdpbmdTdXBw
b3J0LCAkY2wKICAgICAkamF2YVNjcmlwdERlYnVnZ2VyU3VwcG9ydCwgJG1hdGhtbFN1cHBvcnQs
ICRvZmZsaW5lV2ViQXBwbGljYXRpb25TdXBwb3J0LCAkcnVieVN1cHBvcnQsICRzeXN0ZW1NYWxs
b2NTdXBwb3J0LCAkc2FuZGJveFN1cHBvcnQsICRzaGFyZWRXb3JrZXJzU3VwcG9ydCwKICAgICAk
c3ZnU3VwcG9ydCwgJHN2Z0FuaW1hdGlvblN1cHBvcnQsICRzdmdBc0ltYWdlU3VwcG9ydCwgJHN2
Z0RPTU9iakNCaW5kaW5nc1N1cHBvcnQsICRzdmdGb250c1N1cHBvcnQsCiAgICAgJHN2Z0ZvcmVp
Z25PYmplY3RTdXBwb3J0LCAkc3ZnVXNlU3VwcG9ydCwgJHZpZGVvU3VwcG9ydCwgJHdlYlNvY2tl
dHNTdXBwb3J0LCAkd21sU3VwcG9ydCwgJHdjc3NTdXBwb3J0LCAkeGh0bWxtcFN1cHBvcnQsICR3
b3JrZXJzU3VwcG9ydCwKLSAgICAkeHBhdGhTdXBwb3J0LCAkeHNsdFN1cHBvcnQsICRjb3ZlcmFn
ZVN1cHBvcnQsICRub3RpZmljYXRpb25zU3VwcG9ydCwgJGJsb2JTbGljZVN1cHBvcnQsICR0aWxl
ZEJhY2tpbmdTdG9yZVN1cHBvcnQpOworICAgICR4cGF0aFN1cHBvcnQsICR4c2x0U3VwcG9ydCwg
JGNvdmVyYWdlU3VwcG9ydCwgJG5vdGlmaWNhdGlvbnNTdXBwb3J0LCAkYmxvYlNsaWNlU3VwcG9y
dCwgJHRpbGVkQmFja2luZ1N0b3JlU3VwcG9ydCwKKyAgICAkZmlsZVJlYWRlclN1cHBvcnQsICRm
aWxlV3JpdGVyU3VwcG9ydCk7CiAKIG15IEBmZWF0dXJlcyA9ICgKICAgICB7IG9wdGlvbiA9PiAi
M2QtY2FudmFzIiwgZGVzYyA9PiAiVG9nZ2xlIDNEIGNhbnZhcyBzdXBwb3J0IiwKQEAgLTE3NSw2
ICsxNzYsMTIgQEAgbXkgQGZlYXR1cmVzID0gKAogCiAgICAgeyBvcHRpb24gPT4gInhzbHQiLCBk
ZXNjID0+ICJUb2dnbGUgWFNMVCBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX1hT
TFQiLCBkZWZhdWx0ID0+IDEsIHZhbHVlID0+IFwkeHNsdFN1cHBvcnQgfSwKKworICAgIHsgb3B0
aW9uID0+ICJmaWxlLXJlYWRlciIsIGRlc2MgPT4gIlRvZ2dsZSBGaWxlUmVhZGVyIHN1cHBvcnQi
LAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRklMRV9SRUFERVIiLCBkZWZhdWx0ID0+IDAsIHZh
bHVlID0+IFwkZmlsZVJlYWRlclN1cHBvcnQgfSwKKworICAgIHsgb3B0aW9uID0+ICJmaWxlLXdy
aXRlciIsIGRlc2MgPT4gIlRvZ2dsZSBGaWxlV3JpdGVyIHN1cHBvcnQiLAorICAgICAgZGVmaW5l
ID0+ICJFTkFCTEVfRklMRV9XUklURVIiLCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwkZmlsZVdy
aXRlclN1cHBvcnQgfSwKICk7CiAKICMgVXBkYXRlIGRlZmF1bHRzIGZyb20gUXQncyBwcm9qZWN0
IGZpbGUKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCA1YmMx
NzgxLi42ZDE3OGU5IDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFj
CkBAIC01NjksNiArNTY5LDIyIEBAIEFDX0FSR19FTkFCTEUoZmFzdF9tb2JpbGVfc2Nyb2xsaW5n
LAogICAgICAgICAgICAgICBbXSxbZW5hYmxlX2Zhc3RfbW9iaWxlX3Njcm9sbGluZz0ibm8iXSkK
IEFDX01TR19SRVNVTFQoWyRlbmFibGVfZmFzdF9tb2JpbGVfc2Nyb2xsaW5nXSkKIAorIyBjaGVj
ayB3aGV0aGVyIHRvIGVuYWJsZSBGaWxlUmVhZGVyIHN1cHBvcnQKK0FDX01TR19DSEVDS0lORyhb
d2hldGhlciB0byBlbmFibGUgRmlsZVJlYWRlciBzdXBwb3J0XSkKK0FDX0FSR19FTkFCTEUoZmls
ZV9yZWFkZXIsCisgICAgICAgICAgICAgIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1maWxlLXJl
YWRlcl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbmFibGUgc3VwcG9ydCBmb3Ig
RmlsZVJlYWRlciBbZGVmYXVsdD1ub11dKSwKKyAgICAgICAgICAgICAgW10sW2VuYWJsZV9maWxl
X3JlYWRlcj0ibm8iXSkKK0FDX01TR19SRVNVTFQoWyRlbmFibGVfZmlsZV9yZWFkZXJdKQorCisj
IGNoZWNrIHdoZXRoZXIgdG8gZW5hYmxlIEZpbGVXcml0ZXIgc3VwcG9ydAorQUNfTVNHX0NIRUNL
SU5HKFt3aGV0aGVyIHRvIGVuYWJsZSBGaWxlV3JpdGVyIHN1cHBvcnRdKQorQUNfQVJHX0VOQUJM
RShmaWxlX3dyaXRlciwKKyAgICAgICAgICAgICAgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWZp
bGUtd3JpdGVyXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VuYWJsZSBzdXBwb3J0
IGZvciBGaWxlV3JpdGVyIFtkZWZhdWx0PW5vXV0pLAorICAgICAgICAgICAgICBbXSxbZW5hYmxl
X2ZpbGVfd3JpdGVyPSJubyJdKQorQUNfTVNHX1JFU1VMVChbJGVuYWJsZV9maWxlX3dyaXRlcl0p
CisKICMgY2hlY2sgd2hldGhlciB0byBlbmFibGUgY29kZSBjb3ZlcmFnZQogQUNfTVNHX0NIRUNL
SU5HKFt3aGV0aGVyIHRvIGVuYWJsZSBjb2RlIGNvdmVyYWdlIHN1cHBvcnRdKQogQUNfQVJHX0VO
QUJMRShjb3ZlcmFnZSwKQEAgLTgwNyw2ICs4MjMsOSBAQCBBTV9DT05ESVRJT05BTChbRU5BQkxF
X1hIVE1MTVBdLFt0ZXN0ICIkZW5hYmxlX3hodG1sbXAiID0gInllcyJdKQogQU1fQ09ORElUSU9O
QUwoW0VOQUJMRV9YUEFUSF0sW3Rlc3QgIiRlbmFibGVfeHBhdGgiID0gInllcyJdKQogQU1fQ09O
RElUSU9OQUwoW0VOQUJMRV9YU0xUXSxbdGVzdCAiJGVuYWJsZV94c2x0IiA9ICJ5ZXMiXSkKIEFN
X0NPTkRJVElPTkFMKFtFTkFCTEVfRklMVEVSU10sW3Rlc3QgIiRlbmFibGVfZmlsdGVycyIgPSAi
eWVzIl0pCitBTV9DT05ESVRJT05BTChbRU5BQkxFX0ZJTEVfUkVBREVSXSxbdGVzdCAiJGVuYWJs
ZV9maWxlX3JlYWRlciIgPSAieWVzIl0pCitBTV9DT05ESVRJT05BTChbRU5BQkxFX0ZJTEVfV1JJ
VEVSXSxbdGVzdCAiJGVuYWJsZV9maWxlX3dyaXRlciIgPSAieWVzIl0pCitBTV9DT05ESVRJT05B
TChbRU5BQkxFX0ZJTEVfVEhSRUFEXSxbdGVzdCAiJGVuYWJsZV9maWxlX3JlYWRlciIgPSAieWVz
IiAtbyAiJGVuYWJsZV9maWxlX3dyaXRlciIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5B
QkxFX0dFT0xPQ0FUSU9OXSwgW3Rlc3QgIiRlbmFibGVfZ2VvbG9jYXRpb24iID0gInllcyJdKQog
QU1fQ09ORElUSU9OQUwoW0VOQUJMRV9NQVRITUxdLCBbdGVzdCAiJGVuYWJsZV9tYXRobWwiID0g
InllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9SVUJZXSxbdGVzdCAiJGVuYWJsZV9ydWJ5
IiA9ICJ5ZXMiXSkKQEAgLTg2MCw2ICs4NzksOCBAQCBGZWF0dXJlczoKICBGYXN0IE1vYmlsZSBT
Y3JvbGxpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfZmFz
dF9tb2JpbGVfc2Nyb2xsaW5nCiAgSklUIGNvbXBpbGF0aW9uICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX2ppdAogIEZpbHRlcnMgc3VwcG9ydCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV9maWx0ZXJzCisg
RmlsZVJlYWRlciBzdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
OiAkZW5hYmxlX2ZpbGVfcmVhZGVyCisgRmlsZVdyaXRlciBzdXBwb3J0ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX2ZpbGVfd3JpdGVyCiAgR2VvbG9jYXRp
b24gc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxl
X2dlb2xvY2F0aW9uCiAgSmF2YVNjcmlwdCBkZWJ1Z2dlci9wcm9maWxlciBzdXBwb3J0ICAgICAg
ICAgICAgICAgICAgICAgOiAkZW5hYmxlX2phdmFzY3JpcHRfZGVidWdnZXIKICBNYXRoTUwgc3Vw
cG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVf
bWF0aG1sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52251</attachid>
            <date>2010-03-31 20:56:22 -0700</date>
            <delta_ts>2010-03-31 21:00:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-36896-20100331205621.patch</filename>
            <type>text/plain</type>
            <size>37704</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAwMDFkZGRiLi41N2E2OTdk
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTAtMDMtMzEgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIGVuYWJsZSBm
bGFnIGZvciBGaWxlUmVhZGVyIGFuZCBGaWxlV3JpdGVyLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzY4OTYKKworICAgICAgICAqIGNvbmZpZ3VyZS5h
YzoKKwogMjAxMC0wMy0yNiAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAbm9r
aWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpp
bmRleCA5NTY0MmMwLi45MmNhNGFiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9KYXZhU2NyaXB0Q29yZS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNTAsNiArNTAsOCBAQCBFTkFC
TEVfREFUQUxJU1QgPSBFTkFCTEVfREFUQUxJU1Q7CiBFTkFCTEVfRE9NX1NUT1JBR0UgPSBFTkFC
TEVfRE9NX1NUT1JBR0U7CiBFTkFCTEVfRVZFTlRTT1VSQ0UgPSBFTkFCTEVfRVZFTlRTT1VSQ0U7
CiBFTkFCTEVfRklMVEVSUyA9IEVOQUJMRV9GSUxURVJTOworRU5BQkxFX0ZJTEVfUkVBREVSID0g
OworRU5BQkxFX0ZJTEVfV1JJVEVSID0gOwogRU5BQkxFX0dFT0xPQ0FUSU9OID0gRU5BQkxFX0dF
T0xPQ0FUSU9OOwogRU5BQkxFX0lDT05EQVRBQkFTRSA9IEVOQUJMRV9JQ09OREFUQUJBU0U7CiBF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRSA9IDsKQEAgLTc1LDQgKzc3LDQgQEAgRU5BQkxFX1hIVE1M
TVAgPSA7CiBFTkFCTEVfWFBBVEggPSBFTkFCTEVfWFBBVEg7CiBFTkFCTEVfWFNMVCA9IEVOQUJM
RV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9DQU5WQVMpICQoRU5BQkxF
XzNEX1JFTkRFUklORykgJChFTkFCTEVfQkxPQl9TTElDRSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfREFUQUJB
U0UpICQoRU5BQkxFX0RBVEFHUklEKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVfRE9NX1NU
T1JBR0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJChF
TkFCTEVfUlVCWSkgJChFTkFCTEVfU0FOREJPWCkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQo
RU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1BVElPTikgJChFTkFCTEVfU1ZHX0FTX0lNQUdF
KSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChF
TkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVOQUJMRV9TVkdfVVNFKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dNTCkgJChFTkFCTEVfV09SS0VSUykg
JChFTkFCTEVfWEhUTUxNUCkgJChFTkFCTEVfWFBBVEgpICQoRU5BQkxFX1hTTFQpOworRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfQ0FOVkFTKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQo
RU5BQkxFX0JMT0JfU0xJQ0UpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9D
TElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRB
R1JJRCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9F
VkVOVFNPVVJDRSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRklMRV9SRUFERVIpICQoRU5B
QkxFX0ZJTEVfV1JJVEVSKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVH
R0VSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09G
RkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJChFTkFCTEVfUlVCWSkgJChFTkFCTEVfU0FOREJPWCkg
JChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1B
VElPTikgJChFTkFCTEVfU1ZHX0FTX0lNQUdFKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElO
R1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVO
QUJMRV9TVkdfVVNFKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5B
QkxFX1dNTCkgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhUTUxNUCkgJChFTkFCTEVfWFBB
VEgpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBmMzdlNmYzLi40ZTllYzdkIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEw
LTAzLTMxICBLaW51a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgRmlsZVRocmVhZCBmb3Ig
YXN5bmMgZmlsZSBvcGVyYXRpb24gc3VwcG9ydCBmb3IgRmlsZVJlYWRlciBhbmQKKyAgICAgICAg
RmlsZVdyaXRlci4gIFRoZSBwYXRjaCBhbHNvIGFkZHMgRU5BQkxFX0ZJTEVfUkVBREVSIG9yCisg
ICAgICAgIEVOQUJMRV9GSUxFX1dSSVRFUiBidWlsZCBmbGFncy9kZWZpbmVzLiAgQm90aCBmbGFn
cyBhcmUgZGlzYWJsZWQKKyAgICAgICAgYnkgZGVmYXVsdC4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2ODk2CisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
LCB3aWxsIGFkZCBvbmVzIHdoZW4gYWZ0ZXIgYWRkaW5nIG1vZHVsZXMgd2hpY2ggdXNlIHRoZSB0
aHJlYWQuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6Cisg
ICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOgorICAgICAg
ICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6flNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZmlsZVRocmVh
ZCk6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiBo
dG1sL0ZpbGVUaHJlYWQuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0ZpbGVUaHJlYWQuaDog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vTG9nZ2luZy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjopOgorICAgICAgICAoV2ViQ29yZTo6Z2V0Q2hhbm5lbEZyb21OYW1lKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9Mb2dnaW5nLmg6CisKIDIwMTAtMDMtMzEgIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvV2ViQ29yZS9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA5NTY0MmMwLi45MmNh
NGFiIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCisrKyBiL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKQEAgLTUwLDYgKzUwLDggQEAgRU5BQkxFX0RBVEFMSVNUID0gRU5BQkxFX0RBVEFMSVNUOwog
RU5BQkxFX0RPTV9TVE9SQUdFID0gRU5BQkxFX0RPTV9TVE9SQUdFOwogRU5BQkxFX0VWRU5UU09V
UkNFID0gRU5BQkxFX0VWRU5UU09VUkNFOwogRU5BQkxFX0ZJTFRFUlMgPSBFTkFCTEVfRklMVEVS
UzsKK0VOQUJMRV9GSUxFX1JFQURFUiA9IDsKK0VOQUJMRV9GSUxFX1dSSVRFUiA9IDsKIEVOQUJM
RV9HRU9MT0NBVElPTiA9IEVOQUJMRV9HRU9MT0NBVElPTjsKIEVOQUJMRV9JQ09OREFUQUJBU0Ug
PSBFTkFCTEVfSUNPTkRBVEFCQVNFOwogRU5BQkxFX0lOREVYRURfREFUQUJBU0UgPSA7CkBAIC03
NSw0ICs3Nyw0IEBAIEVOQUJMRV9YSFRNTE1QID0gOwogRU5BQkxFX1hQQVRIID0gRU5BQkxFX1hQ
QVRIOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfQ0FOVkFTKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0JMT0JfU0xJ
Q0UpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBR1JJRCkgJChFTkFCTEVf
REFUQUxJU1QpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9FVkVOVFNPVVJDRSkgJChF
TkFCTEVfRklMVEVSUykgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFT
RSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dF
UikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZM
SU5FX1dFQl9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxFX1NBTkRCT1gpICQo
RU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19BTklNQVRJ
T04pICQoRU5BQkxFX1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdT
KSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCkgJChFTkFC
TEVfU1ZHX1VTRSkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJM
RV9XTUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIVE1MTVApICQoRU5BQkxFX1hQQVRI
KSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX0NBTlZBUykg
JChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9CTE9CX1NMSUNFKSAkKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORykgJChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9EQVRBQkFTRSkgJChFTkFCTEVfREFUQUdSSUQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJM
RV9ET01fU1RPUkFHRSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxFX0ZJTFRFUlMpICQo
RU5BQkxFX0ZJTEVfUkVBREVSKSAkKEVOQUJMRV9GSUxFX1dSSVRFUikgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICQoRU5BQkxF
X1JVQlkpICQoRU5BQkxFX1NBTkRCT1gpICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJM
RV9TVkcpICQoRU5BQkxFX1NWR19BTklNQVRJT04pICQoRU5BQkxFX1NWR19BU19JTUFHRSkgJChF
TkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1NWR19GT1JFSUdOX09CSkVDVCkgJChFTkFCTEVfU1ZHX1VTRSkgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5B
QkxFX1hIVE1MTVApICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGI3
NzE4NjIuLjRlM2NkMTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMzU1OCw2ICszNTU4LDMxIEBAIEZFQVRVUkVfREVG
SU5FUyArPSBFTkFCTEVfQkxPQl9TTElDRT0xCiB3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxF
X0JMT0JfU0xJQ0U9MQogZW5kaWYgICMgRU5EIEVOQUJMRV9CTE9CX1NMSUNFCiAKKyMgLS0tCisj
IEZpbGVSZWFkZXIgc3VwcG9ydAorIyAtLS0KK2lmIEVOQUJMRV9GSUxFX1JFQURFUgorRkVBVFVS
RV9ERUZJTkVTICs9IEVOQUJMRV9GSUxFX1JFQURFUj0xCit3ZWJjb3JlX2NwcGZsYWdzICs9IC1E
RU5BQkxFX0ZJTEVfUkVBREVSPTEKKworIyBBZGQgRmlsZVRocmVhZCBzb3VyY2VzIGlmIEZpbGVX
cml0ZXIgb3IgRmlsZVJlYWRlciBpcyBlbmFibGVkLgord2ViY29yZV9zb3VyY2VzICs9IFwKKwlX
ZWJDb3JlL2h0bWwvRmlsZVRocmVhZC5jcHAgXAorCVdlYkNvcmUvaHRtbC9GaWxlVGhyZWFkLmgK
K2VuZGlmICAjIEVORCBFTkFCTEVfRklMRV9SRUFERVIKKworIyAtLS0KKyMgRmlsZVdyaXRlciBz
dXBwb3J0CisjIC0tLQoraWYgRU5BQkxFX0ZJTEVfV1JJVEVSCitGRUFUVVJFX0RFRklORVMgKz0g
RU5BQkxFX0ZJTEVfV1JJVEVSPTEKK3dlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfRklMRV9X
UklURVI9MQorCisjIEFkZCBGaWxlVGhyZWFkIHNvdXJjZXMgaWYgRmlsZVdyaXRlciBvciBGaWxl
UmVhZGVyIGlzIGVuYWJsZWQuCit3ZWJjb3JlX3NvdXJjZXMgKz0gXAorCVdlYkNvcmUvaHRtbC9G
aWxlVGhyZWFkLmNwcCBcCisJV2ViQ29yZS9odG1sL0ZpbGVUaHJlYWQuaAorZW5kaWYgICMgRU5E
IEVOQUJMRV9GSUxFX1dSSVRFUgogCiBEZXJpdmVkU291cmNlcy9DU1NQcm9wZXJ0eU5hbWVzLmg6
ICQoV0VCQ09SRV9DU1NfUFJPUEVSVFlfTkFNRVMpICQoV2ViQ29yZSkvY3NzL21ha2Vwcm9wLnBs
CiAJaWYgc29ydCAkKFdFQkNPUkVfQ1NTX1BST1BFUlRZX05BTUVTKSB8IHVuaXEgLWQgfCBncmVw
IC1FICdeW14jXSc7IHRoZW4gZWNobyAnRHVwbGljYXRlIHZhbHVlISc7IGV4aXQgMTsgZmkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5k
ZXggMjE0YzdmMC4uOWE1YjdhNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysr
IGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTE0MjYsNiArMTQyNiw4IEBACiAgICAgICAgICAg
ICAnaHRtbC9GaWxlLmgnLAogICAgICAgICAgICAgJ2h0bWwvRmlsZUxpc3QuY3BwJywKICAgICAg
ICAgICAgICdodG1sL0ZpbGVMaXN0LmgnLAorICAgICAgICAgICAgJ2h0bWwvRmlsZVRocmVhZC5j
cHAnLAorICAgICAgICAgICAgJ2h0bWwvRmlsZVRocmVhZC5oJywKICAgICAgICAgICAgICdodG1s
L0Zvcm1EYXRhTGlzdC5jcHAnLAogICAgICAgICAgICAgJ2h0bWwvRm9ybURhdGFMaXN0LmgnLAog
ICAgICAgICAgICAgJ2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uY3BwJywKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDczMDMzNzAuLjA2
NGE4ZGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJD
b3JlLnBybwpAQCAtMjg0MSw2ICsyODQxLDIwIEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9T
WU1CSUFOX0RJQUxPR19QUk9WSURFUlMpIHsKICAgICB9CiB9CiAKK2NvbnRhaW5zKERFRklORVMs
IEVOQUJMRV9GSUxFX1JFQURFUikgeworICAgIEhFQURFUlMgKz0gXAorICAgICAgaHRtbC9GaWxl
VGhyZWFkLmgKKyAgICBTT1VSQ0VTICs9IFwKKyAgICAgIGh0bWwvRmlsZVRocmVhZC5jcHAKK30K
KworY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0ZJTEVfV1JJVEVSKSB7CisgICAgSEVBREVSUyAr
PSBcCisgICAgICBodG1sL0ZpbGVUaHJlYWQuaAorICAgIFNPVVJDRVMgKz0gXAorICAgICAgaHRt
bC9GaWxlVGhyZWFkLmNwcAorfQorCiBpbmNsdWRlKCQkUFdELy4uL1dlYktpdC9xdC9BcGkvaGVh
ZGVycy5wcmkpCiBIRUFERVJTICs9ICQkV0VCS0lUX0FQSV9IRUFERVJTCiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDdmODk4NjguLmUxMTM3NjggMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMzAyMjUsNiArMzAyMjUsMjIgQEAKIAkJCQk+
DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxGaWxl
VGhyZWFkLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGh0bWxcRmlsZVRocmVhZC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxG
aWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxGaWxlVGhyZWFkLmNwcCINCisJCQkJPg0K
KwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcRmlsZVRo
cmVhZC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0
aD0iLi5caHRtbFxGb3JtRGF0YUxpc3QuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNDQ5MTBmYy4uMzUzMzVh
YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIyMDcs
NiArMjIwNyw4IEBACiAJCTg1Rjc0RTBBMEFBOERGOEMwMDBEQzI4NCAvKiBET01DU1NVbmtub3du
UnVsZS5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODUwMzJERDUwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1Vua25vd25SdWxl
LmggKi87IH07CiAJCTg1RkYzMTVBMEFBRkJGQ0IwMDM3NEYzOCAvKiBET01LZXlib2FyZEV2ZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUZGMzE1
ODBBQUZCRkNCMDAzNzRGMzggLyogRE9NS2V5Ym9hcmRFdmVudC5oICovOyB9OwogCQk4NUZGMzE1
QjBBQUZCRkNCMDAzNzRGMzggLyogRE9NS2V5Ym9hcmRFdmVudC5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RkYzMTU5MEFBRkJGQ0IwMDM3NEYzOCAv
KiBET01LZXlib2FyZEV2ZW50Lm1tICovOyB9OworCQk4OTUyNTM1MjExNjQxQjM0MDBDQUJGMDAg
LyogRmlsZVRocmVhZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4OTUyNTM1MDExNjQxQjM0MDBDQUJGMDAgLyogRmlsZVRocmVhZC5jcHAgKi87IH07
CisJCTg5NTI1MzUzMTE2NDFCMzQwMENBQkYwMCAvKiBGaWxlVGhyZWFkLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTUyNTM1MTExNjQxQjM0MDBDQUJG
MDAgLyogRmlsZVRocmVhZC5oICovOyB9OwogCQk5MzAyQjBCRDBENzlGODI5MDBDN0VFODMgLyog
UGFnZUdyb3VwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDkzMDJCMEJDMEQ3OUY4MjkwMEM3RUU4MyAvKiBQYWdlR3JvdXAuY3BwICovOyB9OwogCQk5
MzAyQjBCRjBENzlGODJDMDBDN0VFODMgLyogUGFnZUdyb3VwLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzAyQjBCRTBENzlGODJDMDBDN0VFODMgLyog
UGFnZUdyb3VwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJOTMwNUIyNEQwOThGMUI2QjAwQzI4ODU1IC8qIFRpbWVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzA1QjI0QzA5OEYxQjZCMDBDMjg4NTUg
LyogVGltZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwpAQCAtNzY0Nyw2ICs3NjQ5LDggQEAKIAkJODVGNTZBNzkwQTk4Q0UzNzAwQURCNjBBIC8qIERP
TVByb2Nlc3NpbmdJbnN0cnVjdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBET01Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTg1RkYzMTU4MEFBRkJGQ0IwMDM3NEYzOCAvKiBET01LZXlib2FyZEV2ZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01LZXlib2FyZEV2ZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1RkYzMTU5MEFBRkJGQ0IwMDM3NEYzOCAv
KiBET01LZXlib2FyZEV2ZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IERPTUtleWJvYXJkRXZlbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTg5NTI1MzUwMTE2NDFCMzQwMENBQkYwMCAvKiBGaWxlVGhyZWFkLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZpbGVUaHJlYWQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk4OTUyNTM1MTExNjQxQjM0MDBDQUJGMDAgLyogRmlsZVRocmVhZC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGaWxlVGhyZWFkLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTkzMDJCMEJDMEQ3OUY4MjkwMEM3RUU4MyAvKiBQYWdlR3JvdXAu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFnZUdyb3VwLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwMkIwQkUwRDc5RjgyQzAwQzdFRTgzIC8q
IFBhZ2VHcm91cC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYWdlR3JvdXAu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNUIyNEMwOThGMUI2QjAwQzI4ODU1
IC8qIFRpbWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRpbWVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjkyNCw2ICsxMjkyOCw4IEBACiAJCTkzRUVD
MUVDMDlDMjg3NzcwMEM1MTVEMSAvKiBodG1sICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJ
CQljaGlsZHJlbiA9ICgKKwkJCQk4OTUyNTM1MDExNjQxQjM0MDBDQUJGMDAgLyogRmlsZVRocmVh
ZC5jcHAgKi8sCisJCQkJODk1MjUzNTExMTY0MUIzNDAwQ0FCRjAwIC8qIEZpbGVUaHJlYWQuaCAq
LywKIAkJCQlBNDNCRjU5NjExNDkyOTBBMDBDNjQzQ0EgLyogSFRNTFByb2dyZXNzRWxlbWVudC5j
cHAgKi8sCiAJCQkJQTQzQkY1OTcxMTQ5MjkwQTAwQzY0M0NBIC8qIEhUTUxQcm9ncmVzc0VsZW1l
bnQuaCAqLywKIAkJCQk0OTQ4NEZBRTEwMkNGMDFFMDAxODdERDMgLyogY2FudmFzICovLApAQCAt
MTg3NjgsNiArMTg3NzQsNyBAQAogCQkJCUUxRTFCRjAwMTE1RkY2RkIwMDZGNTJDQSAvKiBXaW5k
b3dzS2V5Ym9hcmRDb2Rlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ5OUE1MTUxMTVGQjMzMDAw
RjU2NkUzIC8qIFJlbmRlclNWR1Jlc291cmNlTWFya2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQky
RTNCQkYwODExNjJEQTExMDBCOTQwOUEgLyogVVVJRC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODk1
MjUzNTMxMTY0MUIzNDAwQ0FCRjAwIC8qIEZpbGVUaHJlYWQuaCBpbiBIZWFkZXJzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAt
MjA5ODIsNiArMjA5ODksNyBAQAogCQkJCUU0Nzc4QjdGMTE1QTU4MUEwMEI1RDM3MiAvKiBKU0N1
c3RvbUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg0OTlBNTE0MTE1RkIzMzAwMEY1NjZF
MyAvKiBSZW5kZXJTVkdSZXNvdXJjZU1hcmtlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRTNC
QkYwNzExNjJEQTExMDBCOTQwOUEgLyogVVVJRC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTUy
NTM1MjExNjQxQjM0MDBDQUJGMDAgLyogRmlsZVRocmVhZC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwIGIvV2ViQ29y
ZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5kZXggYzJmZTEyMC4uMDViZWUxZiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKKysrIGIv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAgLTMxLDYgKzMxLDkgQEAK
ICNpbmNsdWRlICJEYXRhYmFzZS5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVGFzay5oIgogI2luY2x1
ZGUgIkRhdGFiYXNlVGhyZWFkLmgiCisjaWYgRU5BQkxFKEZJTEVfUkVBREVSKSB8fCBFTkFCTEUo
RklMRV9XUklURVIpCisjaW5jbHVkZSAiRmlsZVRocmVhZC5oIgorI2VuZGlmCiAjaW5jbHVkZSAi
TWVzc2FnZVBvcnQuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIldv
cmtlckNvbnRleHQuaCIKQEAgLTgzLDYgKzg2LDEyIEBAIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6
On5TY3JpcHRFeGVjdXRpb25Db250ZXh0KCkKICAgICAgICAgbV9kYXRhYmFzZVRocmVhZCA9IDA7
CiAgICAgfQogI2VuZGlmCisjaWYgRU5BQkxFKEZJTEVfUkVBREVSKSB8fCBFTkFCTEUoRklMRV9X
UklURVIpCisgICAgaWYgKG1fZmlsZVRocmVhZCkgeworICAgICAgICBtX2ZpbGVUaHJlYWQtPnRl
cm1pbmF0ZSgpOworICAgICAgICBtX2ZpbGVUaHJlYWQgPSAwOworICAgIH0KKyNlbmRpZgogfQog
CiAjaWYgRU5BQkxFKERBVEFCQVNFKQpAQCAtMjYxLDYgKzI3MCwxOCBAQCBET01UaW1lciogU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDo6ZmluZFRpbWVvdXQoaW50IHRpbWVvdXRJZCkKICAgICByZXR1
cm4gbV90aW1lb3V0cy5nZXQodGltZW91dElkKTsKIH0KIAorI2lmIEVOQUJMRShGSUxFX1JFQURF
UikgfHwgRU5BQkxFKEZJTEVfV1JJVEVSKQorRmlsZVRocmVhZCogU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDo6ZmlsZVRocmVhZCgpCit7CisgICAgaWYgKCFtX2ZpbGVUaHJlYWQpIHsKKyAgICAgICAg
bV9maWxlVGhyZWFkID0gRmlsZVRocmVhZDo6Y3JlYXRlKCk7CisgICAgICAgIGlmICghbV9maWxl
VGhyZWFkLT5zdGFydCgpKQorICAgICAgICAgICAgbV9maWxlVGhyZWFkID0gMDsKKyAgICB9Cisg
ICAgcmV0dXJuIG1fZmlsZVRocmVhZC5nZXQoKTsKK30KKyNlbmRpZgorCiBTY3JpcHRFeGVjdXRp
b25Db250ZXh0OjpUYXNrOjp+VGFzaygpCiB7CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmggYi9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250
ZXh0LmgKaW5kZXggZjFjNzljZi4uYmQxNmRiMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuaApAQCAtNDUsNiArNDUsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
RGF0YWJhc2VUaHJlYWQ7CiAjZW5kaWYKICAgICBjbGFzcyBET01UaW1lcjsKKyNpZiBFTkFCTEUo
RklMRV9SRUFERVIpIHx8IEVOQUJMRShGSUxFX1dSSVRFUikKKyAgICBjbGFzcyBGaWxlVGhyZWFk
OworI2VuZGlmCiAgICAgY2xhc3MgTWVzc2FnZVBvcnQ7CiAgICAgY2xhc3MgU2VjdXJpdHlPcmln
aW47CiAgICAgY2xhc3MgU2NyaXB0U3RyaW5nOwpAQCAtMTM2LDYgKzEzOSwxMSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIEpTQzo6SlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhKCk7CiAj
ZW5kaWYKIAorI2lmIEVOQUJMRShGSUxFX1JFQURFUikgfHwgRU5BQkxFKEZJTEVfV1JJVEVSKQor
ICAgICAgICBGaWxlVGhyZWFkKiBmaWxlVGhyZWFkKCk7CisgICAgICAgIHZvaWQgc3RvcEZpbGVU
aHJlYWQoKTsKKyNlbmRpZgorCiAgICAgcHJvdGVjdGVkOgogICAgICAgICAvLyBFeHBsaWNpdGx5
IG92ZXJyaWRlIHRoZSBzZWN1cml0eSBvcmlnaW4gZm9yIHRoaXMgc2NyaXB0IGNvbnRleHQuCiAg
ICAgICAgIC8vIE5vdGU6IEl0IGlzIGRhbmdlcm91cyB0byBjaGFuZ2UgdGhlIHNlY3VyaXR5IG9y
aWdpbiBvZiBhIHNjcmlwdCBjb250ZXh0CkBAIC0xNjMsNiArMTcxLDEwIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgdHlwZWRlZiBIYXNoU2V0PERhdGFiYXNlKiA+IERhdGFiYXNlU2V0
OwogICAgICAgICBPd25QdHI8RGF0YWJhc2VTZXQ+IG1fb3BlbkRhdGFiYXNlU2V0OwogI2VuZGlm
CisKKyNpZiBFTkFCTEUoRklMRV9SRUFERVIpIHx8IEVOQUJMRShGSUxFX1dSSVRFUikKKyAgICAg
ICAgUmVmUHRyPEZpbGVUaHJlYWQ+IG1fZmlsZVRocmVhZDsKKyNlbmRpZgogICAgIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9GaWxlVGhyZWFk
LmNwcCBiL1dlYkNvcmUvaHRtbC9GaWxlVGhyZWFkLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi45MGI2NmU4Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL0Zp
bGVUaHJlYWQuY3BwCkBAIC0wLDAgKzEsMTE5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lm
IEVOQUJMRShGSUxFX1dSSVRFUikgfHwgRU5BQkxFKEZJTEVfUkVBREVSKQorCisjaW5jbHVkZSAi
RmlsZVRocmVhZC5oIgorCisjaW5jbHVkZSAiQXV0b2RyYWluZWRQb29sLmgiCisjaW5jbHVkZSAi
TG9nZ2luZy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0ZpbGVUaHJlYWQ6OkZpbGVUaHJl
YWQoKQorICAgIDogbV90aHJlYWRJRCgwKQoreworICAgIG1fc2VsZlJlZiA9IHRoaXM7Cit9CisK
K0ZpbGVUaHJlYWQ6On5GaWxlVGhyZWFkKCkKK3sKKyAgICBBU1NFUlQobV9xdWV1ZS5raWxsZWQo
KSk7Cit9CisKK2Jvb2wgRmlsZVRocmVhZDo6c3RhcnQoKQoreworICAgIE11dGV4TG9ja2VyIGxv
Y2sobV90aHJlYWRDcmVhdGlvbk11dGV4KTsKKyAgICBpZiAobV90aHJlYWRJRCkKKyAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgbV90aHJlYWRJRCA9IGNyZWF0ZVRocmVhZChGaWxlVGhyZWFkOjpm
aWxlVGhyZWFkU3RhcnQsIHRoaXMsICJXZWJDb3JlOiBGaWxlIik7CisgICAgcmV0dXJuIG1fdGhy
ZWFkSUQ7Cit9CisKK3ZvaWQgRmlsZVRocmVhZDo6c3RvcCgpCit7CisgICAgcmV0dXJuIG1fcXVl
dWUua2lsbCgpOworfQorCit2b2lkIEZpbGVUaHJlYWQ6OnBvc3RUYXNrKFBhc3NPd25QdHI8VGFz
az4gdGFzaykKK3sKKyAgICBtX3F1ZXVlLmFwcGVuZCh0YXNrKTsKK30KKworY2xhc3MgU2FtZUZp
bGVQcmVkaWNhdGUgeworcHVibGljOgorICAgIFNhbWVGaWxlUHJlZGljYXRlKGNvbnN0IFBsYXRm
b3JtRmlsZUhhbmRsZSBoYW5kbGUpIDogbV9oYW5kbGUoaGFuZGxlKSB7IH0KKyAgICBib29sIG9w
ZXJhdG9yKCkoRmlsZVRocmVhZDo6VGFzayogdGFzaykgY29uc3QgeyByZXR1cm4gdGFzay0+Zmls
ZUhhbmRsZSgpID09IG1faGFuZGxlOyB9Citwcml2YXRlOgorICAgIFBsYXRmb3JtRmlsZUhhbmRs
ZSBtX2hhbmRsZTsKK307CisKK3ZvaWQgRmlsZVRocmVhZDo6cmVtb3ZlVGFzayhQbGF0Zm9ybUZp
bGVIYW5kbGUgaGFuZGxlKQoreworICAgIFNhbWVGaWxlUHJlZGljYXRlIHByZWRpY2F0ZShoYW5k
bGUpOworICAgIG1fcXVldWUucmVtb3ZlSWYocHJlZGljYXRlKTsKK30KKwordm9pZCogRmlsZVRo
cmVhZDo6ZmlsZVRocmVhZFN0YXJ0KHZvaWQqIGFyZykKK3sKKyAgICBGaWxlVGhyZWFkKiBmaWxl
VGhyZWFkID0gc3RhdGljX2Nhc3Q8RmlsZVRocmVhZCo+KGFyZyk7CisgICAgcmV0dXJuIGZpbGVU
aHJlYWQtPnJ1bkxvb3AoKTsKK30KKwordm9pZCogRmlsZVRocmVhZDo6cnVuTG9vcCgpCit7Cisg
ICAgeworICAgICAgICAvLyBXYWl0IGZvciBGaWxlVGhyZWFkOjpzdGFydCgpIHRvIGNvbXBsZXRl
IHRvIGhhdmUgbV90aHJlYWRJRAorICAgICAgICAvLyBlc3RhYmxpc2hlZCBiZWZvcmUgc3RhcnRp
bmcgdGhlIG1haW4gbG9vcC4KKyAgICAgICAgTXV0ZXhMb2NrZXIgbG9jayhtX3RocmVhZENyZWF0
aW9uTXV0ZXgpOworICAgICAgICBMT0coRmlsZUFQSSwgIlN0YXJ0ZWQgRmlsZVRocmVhZCAlcCIs
IHRoaXMpOworICAgIH0KKworICAgIEF1dG9kcmFpbmVkUG9vbCBwb29sOworICAgIHdoaWxlIChP
d25QdHI8VGFzaz4gdGFzayA9IG1fcXVldWUud2FpdEZvck1lc3NhZ2UoKSkgeworICAgICAgICB0
YXNrLT5wZXJmb3JtVGFzaygpOworICAgICAgICBwb29sLmN5Y2xlKCk7CisgICAgfQorCisgICAg
TE9HKEZpbGVBUEksICJBYm91dCB0byBkZXRhY2ggdGhyZWFkICVpIGFuZCBjbGVhciB0aGUgcmVm
IHRvIEZpbGVUaHJlYWQgJXAsIHdoaWNoIGN1cnJlbnRseSBoYXMgJWkgcmVmKHMpIiwgbV90aHJl
YWRJRCwgdGhpcywgcmVmQ291bnQoKSk7CisKKyAgICBkZXRhY2hUaHJlYWQobV90aHJlYWRJRCk7
CisKKyAgICAvLyBDbGVhciB0aGUgc2VsZiByZWZwdHIsIHBvc3NpYmx5IHJlc3VsdGluZyBpbiBk
ZWxldGlvbgorICAgIG1fc2VsZlJlZiA9IDA7CisKKyAgICByZXR1cm4gMDsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfV1JJVEVSKSB8fCBFTkFC
TEUoRklMRV9SRUFERVIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvRmlsZVRocmVhZC5oIGIv
V2ViQ29yZS9odG1sL0ZpbGVUaHJlYWQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi4xNWFiMGJlCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL0ZpbGVUaHJlYWQu
aApAQCAtMCwwICsxLDgzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRmlsZVRocmVhZF9oCisjZGVmaW5lIEZpbGVUaHJl
YWRfaAorCisjaWYgRU5BQkxFKEZJTEVfV1JJVEVSKSB8fCBFTkFCTEUoRklMRV9SRUFERVIpCisK
KyNpbmNsdWRlICJGaWxlU3lzdGVtLmgiCisjaW5jbHVkZSA8d3RmL01lc3NhZ2VRdWV1ZS5oPgor
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4K
KyNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgRmlsZVRocmVhZCA6IHB1YmxpYyBUaHJlYWRTYWZlU2hhcmVkPEZpbGVUaHJlYWQ+IHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxGaWxlVGhyZWFkPiBjcmVhdGUoKSB7IHJldHVy
biBhZG9wdFJlZihuZXcgRmlsZVRocmVhZCgpKTsgfQorICAgIH5GaWxlVGhyZWFkKCk7CisKKyAg
ICBib29sIHN0YXJ0KCk7CisgICAgdm9pZCBzdG9wKCk7CisKKyAgICBjbGFzcyBUYXNrIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBwdWJsaWM6CisgICAgICAgIFRhc2soUGxhdGZvcm1GaWxl
SGFuZGxlIGhhbmRsZSkgOiBtX2hhbmRsZShoYW5kbGUpIHsgfQorICAgICAgICB2aXJ0dWFsIH5U
YXNrKCkgeyB9CisgICAgICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzaygpID0gMDsKKyAgICAg
ICAgdmlydHVhbCBQbGF0Zm9ybUZpbGVIYW5kbGUgZmlsZUhhbmRsZSgpIGNvbnN0IHsgcmV0dXJu
IG1faGFuZGxlOyB9CisgICAgcHJvdGVjdGVkOgorICAgICAgICBUYXNrKCkgeyB9CisgICAgICAg
IGNvbnN0IFBsYXRmb3JtRmlsZUhhbmRsZSBtX2hhbmRsZTsKKyAgICB9OworCisgICAgdm9pZCBw
b3N0VGFzayhQYXNzT3duUHRyPFRhc2s+IHRhc2spOworICAgIHZvaWQgcmVtb3ZlVGFzayhQbGF0
Zm9ybUZpbGVIYW5kbGUpOworCitwcml2YXRlOgorICAgIEZpbGVUaHJlYWQoKTsKKworICAgIHN0
YXRpYyB2b2lkKiBmaWxlVGhyZWFkU3RhcnQodm9pZCopOworICAgIHZvaWQqIHJ1bkxvb3AoKTsK
KworICAgIFRocmVhZElkZW50aWZpZXIgbV90aHJlYWRJRDsKKyAgICBSZWZQdHI8RmlsZVRocmVh
ZD4gbV9zZWxmUmVmOworICAgIE1lc3NhZ2VRdWV1ZTxUYXNrPiBtX3F1ZXVlOworCisgICAgTXV0
ZXggbV90aHJlYWRDcmVhdGlvbk11dGV4OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfV1JJVEVSKSB8fCBFTkFCTEUoRklMRV9SRUFERVIpCisK
KyNlbmRpZiAvLyBGaWxlVGhyZWFkX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vTG9n
Z2luZy5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuY3BwCmluZGV4IDkyZTExZTMuLjdm
YjE1YjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5jcHAKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmNwcApAQCAtMjAsNyArMjAsNyBAQAogICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQogICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCkBAIC02MCw2ICs2MCw3IEBAIFdURkxvZ0No
YW5uZWwgTG9nTWVkaWEgPSAgICAgICAgICAgICB7IDB4MDEwMDAwMDAsICJXZWJDb3JlTG9nTGV2
ZWwiLCBXVEZMb2dDaGFuCiBXVEZMb2dDaGFubmVsIExvZ1BsdWdpbnMgPSAgICAgICAgICAgeyAw
eDAyMDAwMDAwLCAiV2ViQ29yZUxvZ0xldmVsIiwgV1RGTG9nQ2hhbm5lbE9mZiB9OwogV1RGTG9n
Q2hhbm5lbCBMb2dBcmNoaXZlcyA9ICAgICAgICAgIHsgMHgwNDAwMDAwMCwgIldlYkNvcmVMb2dM
ZXZlbCIsIFdURkxvZ0NoYW5uZWxPZmYgfTsKIFdURkxvZ0NoYW5uZWwgTG9nUHJvZ3Jlc3MgPSAg
ICAgICAgICB7IDB4MDgwMDAwMDAsICJXZWJDb3JlTG9nTGV2ZWwiLCBXVEZMb2dDaGFubmVsT2Zm
IH07CitXVEZMb2dDaGFubmVsIExvZ0ZpbGVBUEkgPSAgICAgICAgICAgeyAweDEwMDAwMDAwLCAi
V2ViQ29yZUxvZ0xldmVsIiwgV1RGTG9nQ2hhbm5lbE9mZiB9OwogCiBXVEZMb2dDaGFubmVsKiBn
ZXRDaGFubmVsRnJvbU5hbWUoY29uc3QgU3RyaW5nJiBjaGFubmVsTmFtZSkKIHsKQEAgLTExMyw3
ICsxMTQsNyBAQCBXVEZMb2dDaGFubmVsKiBnZXRDaGFubmVsRnJvbU5hbWUoY29uc3QgU3RyaW5n
JiBjaGFubmVsTmFtZSkKIAogICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShjaGFubmVsTmFtZSwg
U3RyaW5nKCJQcm9ncmVzcyIpKSkKICAgICAgICAgcmV0dXJuICZMb2dQcm9ncmVzczsKLSAgICAg
ICAgCisKICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UoY2hhbm5lbE5hbWUsIFN0cmluZygiU3Bl
bGxpbmdBbmRHcmFtbWFyIikpKQogICAgICAgICByZXR1cm4gJkxvZ1NwZWxsaW5nQW5kR3JhbW1h
cjsKIApAQCAtMTI5LDYgKzEzMCw5IEBAIFdURkxvZ0NoYW5uZWwqIGdldENoYW5uZWxGcm9tTmFt
ZShjb25zdCBTdHJpbmcmIGNoYW5uZWxOYW1lKQogICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShj
aGFubmVsTmFtZSwgU3RyaW5nKCJUaHJlYWRpbmciKSkpCiAgICAgICAgIHJldHVybiAmTG9nVGhy
ZWFkaW5nOwogCisgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKGNoYW5uZWxOYW1lLCBTdHJpbmco
IkZpbGVBUEkiKSkpCisgICAgICAgIHJldHVybiAmTG9nRmlsZUFQSTsKKwogICAgIHJldHVybiAw
OwogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vTG9nZ2luZy5oCmluZGV4IGMwYzQxYzEuLjQ1YjZkMjMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5o
CkBAIC01OCw2ICs1OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBleHRlcm4gV1RGTG9n
Q2hhbm5lbCBMb2dQbHVnaW5zOwogICAgIGV4dGVybiBXVEZMb2dDaGFubmVsIExvZ0FyY2hpdmVz
OwogICAgIGV4dGVybiBXVEZMb2dDaGFubmVsIExvZ1Byb2dyZXNzOworICAgIGV4dGVybiBXVEZM
b2dDaGFubmVsIExvZ0ZpbGVBUEk7CiAKICAgICB2b2lkIEluaXRpYWxpemVMb2dnaW5nQ2hhbm5l
bHNJZk5lY2Vzc2FyeSgpOwogICAgIFdURkxvZ0NoYW5uZWwqIGdldENoYW5uZWxGcm9tTmFtZShj
b25zdCBTdHJpbmcmIGNoYW5uZWxOYW1lKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9m
ZWF0dXJlcy5neXBpIGIvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKaW5kZXggMjUyYTE3
Ni4uNzE0NjY4NSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKKysr
IGIvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKQEAgLTQ3LDYgKzQ3LDggQEAKICAgICAg
ICAgJ0VOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlM9MScsCiAgICAgICAgICdFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQ9MCcsCiAgICAgICAgICdFTkFCTEVfRE9NX1NUT1JBR0U9MScsCisg
ICAgICAgICdFTkFCTEVfRklMRV9SRUFERVI9MCcsCisgICAgICAgICdFTkFCTEVfRklMRV9XUklU
RVI9MCcsCiAgICAgICAgICdFTkFCTEVfR0VPTE9DQVRJT049MScsCiAgICAgICAgICdFTkFCTEVf
SkFWQVNDUklQVF9ERUJVR0dFUj0xJywKICAgICAgICAgJ0VOQUJMRV9KU0NfTVVMVElQTEVfVEhS
RUFEUz0wJywKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKaW5kZXggYjA0YjEyYy4uMDAxM2RhMCAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKKysrIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAx
MC0wMy0zMSAgS2ludWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEZJTEVfUkVBREVSIG9y
IEZJTEVfV1JJVEVSIGZlYXR1cmUgZGVmaW5lcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTM2ODk2CisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxMC0wMy0zMSAgTWFyY3VzIEJ1bGFjaCAgPGJ1
bGFjaEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmVyZW15IE9ybG93Lgpk
aWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZyBiL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
aW5kZXggOTU2NDJjMC4uMmU0OTdmOCAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC01MCw2ICs1MCw4IEBAIEVOQUJMRV9EQVRB
TElTVCA9IEVOQUJMRV9EQVRBTElTVDsKIEVOQUJMRV9ET01fU1RPUkFHRSA9IEVOQUJMRV9ET01f
U1RPUkFHRTsKIEVOQUJMRV9FVkVOVFNPVVJDRSA9IEVOQUJMRV9FVkVOVFNPVVJDRTsKIEVOQUJM
RV9GSUxURVJTID0gRU5BQkxFX0ZJTFRFUlM7CitFTkFCTEVfRklMRV9SRUFERVIgPSBFTkFCTEVf
RklMRV9SRUFERVI7CitFTkFCTEVfRklMRV9XUklURVIgPSBFTkFCTEVfRklMRV9XUklURVI7CiBF
TkFCTEVfR0VPTE9DQVRJT04gPSBFTkFCTEVfR0VPTE9DQVRJT047CiBFTkFCTEVfSUNPTkRBVEFC
QVNFID0gRU5BQkxFX0lDT05EQVRBQkFTRTsKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFID0gOwpA
QCAtNzUsNCArNzcsNCBAQCBFTkFCTEVfWEhUTUxNUCA9IDsKIEVOQUJMRV9YUEFUSCA9IEVOQUJM
RV9YUEFUSDsKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX0NBTlZBUykgJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9CTE9C
X1NMSUNFKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ0xJRU5UX0JBU0VE
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFCTEVfREFUQUdSSUQpICQoRU5B
QkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9ET01fU1RPUkFHRSkgJChFTkFCTEVfRVZFTlRTT1VSQ0Up
ICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVC
VUdHRVIpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
T0ZGTElORV9XRUJfQVBQTElDQVRJT05TKSAkKEVOQUJMRV9SVUJZKSAkKEVOQUJMRV9TQU5EQk9Y
KSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfQU5J
TUFUSU9OKSAkKEVOQUJMRV9TVkdfQVNfSU1BR0UpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5E
SU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1QpICQo
RU5BQkxFX1NWR19VU0UpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChF
TkFCTEVfV01MKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YSFRNTE1QKSAkKEVOQUJMRV9Y
UEFUSCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9DQU5W
QVMpICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQkxPQl9TTElDRSkgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChF
TkFCTEVfREFUQUJBU0UpICQoRU5BQkxFX0RBVEFHUklEKSAkKEVOQUJMRV9EQVRBTElTVCkgJChF
TkFCTEVfRE9NX1NUT1JBR0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAkKEVOQUJMRV9GSUxURVJT
KSAkKEVOQUJMRV9GSUxFX1JFQURFUikgJChFTkFCTEVfRklMRV9XUklURVIpICQoRU5BQkxFX0dF
T0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0UpICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX01BVEhNTCkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKSAkKEVO
QUJMRV9SVUJZKSAkKEVOQUJMRV9TQU5EQk9YKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChF
TkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfQU5JTUFUSU9OKSAkKEVOQUJMRV9TVkdfQVNfSU1BR0Up
ICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1QpICQoRU5BQkxFX1NWR19VU0UpICQoRU5BQkxFX1ZJREVP
KSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV01MKSAkKEVOQUJMRV9XT1JLRVJTKSAk
KEVOQUJMRV9YSFRNTE1QKSAkKEVOQUJMRV9YUEFUSCkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1n
aXQgYS9XZWJLaXRMaWJyYXJpZXMvQ2hhbmdlTG9nIGIvV2ViS2l0TGlicmFyaWVzL0NoYW5nZUxv
ZwppbmRleCAyNzBlOGEzLi5lYmY3MzIzIDEwMDY0NAotLS0gYS9XZWJLaXRMaWJyYXJpZXMvQ2hh
bmdlTG9nCisrKyBiL1dlYktpdExpYnJhcmllcy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAxMC0wMy0zMSAgS2ludWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyBFTkFCTEVfRklM
RV9SRUFERVIgYW5kIEVOQUJMRV9GSUxFX1dSSVRFUiBmZWF0dXJlIGZsYWdzCisgICAgICAgIGZv
ciBGaWxlUmVhZGVyIGFuZCBGaWxlV3JpdGVyIHN1cHBvcnQuCisKKyAgICAgICAgKiB3aW4vdG9v
bHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lcy52c3Byb3BzOgorICAgICAgICAqIHdpbi90b29scy92
c3Byb3BzL0ZlYXR1cmVEZWZpbmVzQ2Fpcm8udnNwcm9wczoKKwogMjAxMC0wMy0yNSAgTWFyayBS
b3dlICA8bXJvd2VAYXBwbGUuY29tPgogCiAgICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IERhbiBC
ZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9XZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzL3ZzcHJvcHMv
RmVhdHVyZURlZmluZXMudnNwcm9wcyBiL1dlYktpdExpYnJhcmllcy93aW4vdG9vbHMvdnNwcm9w
cy9GZWF0dXJlRGVmaW5lcy52c3Byb3BzCmluZGV4IDQ1ZGFjYmMuLjIxODRmNDYgMTAwNjQ0Ci0t
LSBhL1dlYktpdExpYnJhcmllcy93aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lcy52c3By
b3BzCisrKyBiL1dlYktpdExpYnJhcmllcy93aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5l
cy52c3Byb3BzCkBAIC05LDcgKzksNyBAQAogCT4KICAgPFRvb2wKIAkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKLQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiQoRU5BQkxFXzNEX0NBTlZBUyk7
JChFTkFCTEVfM0RfUkVOREVSSU5HKTskKEVOQUJMRV9CTE9CX1NMSUNFKTskKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORyk7JChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKTskKEVOQUJM
RV9EQVRBQkFTRSk7JChFTkFCTEVfREFUQUdSSUQpOyQoRU5BQkxFX0RBVEFMSVNUKTskKEVOQUJM
RV9ET01fU1RPUkFHRSk7JChFTkFCTEVfRVZFTlRTT1VSQ0UpOyQoRU5BQkxFX0ZJTFRFUlMpOyQo
RU5BQkxFX0dFT0xPQ0FUSU9OKTskKEVOQUJMRV9JQ09OREFUQUJBU0UpOyQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpOyQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpOyQoRU5BQkxFX01BVEhN
TCk7JChFTkFCTEVfTk9USUZJQ0FUSU9OUyk7JChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJ
T05TKTskKEVOQUJMRV9SVUJZKTskKEVOQUJMRV9TQU5EQk9YKTskKEVOQUJMRV9TSEFSRURfV09S
S0VSUyk7JChFTkFCTEVfU1ZHKTskKEVOQUJMRV9TVkdfQU5JTUFUSU9OKTskKEVOQUJMRV9TVkdf
QVNfSU1BR0UpOyQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUyk7JChFTkFCTEVfU1ZHX0ZP
TlRTKTskKEVOQUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1QpOyQoRU5BQkxFX1NWR19VU0UpOyQoRU5B
QkxFX1ZJREVPKTskKEVOQUJMRV9XRUJfU09DS0VUUyk7JChFTkFCTEVfV01MKTskKEVOQUJMRV9X
T1JLRVJTKTskKEVOQUJMRV9YSFRNTE1QKTskKEVOQUJMRV9YUEFUSCk7JChFTkFCTEVfWFNMVCki
CisJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIkKEVOQUJMRV8zRF9DQU5WQVMpOyQoRU5BQkxF
XzNEX1JFTkRFUklORyk7JChFTkFCTEVfQkxPQl9TTElDRSk7JChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpOyQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTik7JChFTkFCTEVfREFUQUJB
U0UpOyQoRU5BQkxFX0RBVEFHUklEKTskKEVOQUJMRV9EQVRBTElTVCk7JChFTkFCTEVfRE9NX1NU
T1JBR0UpOyQoRU5BQkxFX0VWRU5UU09VUkNFKTskKEVOQUJMRV9GSUxURVJTKTskKEVOQUJMRV9G
SUxFX1JFQURFUik7JChFTkFCTEVfRklMRV9XUklURVIpOyQoRU5BQkxFX0dFT0xPQ0FUSU9OKTsk
KEVOQUJMRV9JQ09OREFUQUJBU0UpOyQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpOyQoRU5BQkxF
X0pBVkFTQ1JJUFRfREVCVUdHRVIpOyQoRU5BQkxFX01BVEhNTCk7JChFTkFCTEVfTk9USUZJQ0FU
SU9OUyk7JChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKTskKEVOQUJMRV9SVUJZKTsk
KEVOQUJMRV9TQU5EQk9YKTskKEVOQUJMRV9TSEFSRURfV09SS0VSUyk7JChFTkFCTEVfU1ZHKTsk
KEVOQUJMRV9TVkdfQU5JTUFUSU9OKTskKEVOQUJMRV9TVkdfQVNfSU1BR0UpOyQoRU5BQkxFX1NW
R19ET01fT0JKQ19CSU5ESU5HUyk7JChFTkFCTEVfU1ZHX0ZPTlRTKTskKEVOQUJMRV9TVkdfRk9S
RUlHTl9PQkpFQ1QpOyQoRU5BQkxFX1NWR19VU0UpOyQoRU5BQkxFX1ZJREVPKTskKEVOQUJMRV9X
RUJfU09DS0VUUyk7JChFTkFCTEVfV01MKTskKEVOQUJMRV9XT1JLRVJTKTskKEVOQUJMRV9YSFRN
TE1QKTskKEVOQUJMRV9YUEFUSCk7JChFTkFCTEVfWFNMVCkiCiAJLz4KICAgPFVzZXJNYWNybwog
CQlOYW1lPSJFTkFCTEVfM0RfQ0FOVkFTIgpAQCAtNjcsNiArNjcsMTYgQEAKIAkJUGVyZm9ybUVu
dmlyb25tZW50U2V0PSJ0cnVlIgogCS8+CiAgIDxVc2VyTWFjcm8KKwkJTmFtZT0iRU5BQkxFX0ZJ
TEVfUkVBREVSIgorCQlWYWx1ZT0iIgorCQlQZXJmb3JtRW52aXJvbm1lbnRTZXQ9InRydWUiCisJ
Lz4KKyAgPFVzZXJNYWNybworCQlOYW1lPSJFTkFCTEVfRklMRV9XUklURVIiCisJCVZhbHVlPSIi
CisJCVBlcmZvcm1FbnZpcm9ubWVudFNldD0idHJ1ZSIKKwkvPgorICA8VXNlck1hY3JvCiAJCU5h
bWU9IkVOQUJMRV9HRU9MT0NBVElPTiIKIAkJVmFsdWU9IkVOQUJMRV9HRU9MT0NBVElPTiIKIAkJ
UGVyZm9ybUVudmlyb25tZW50U2V0PSJ0cnVlIgpkaWZmIC0tZ2l0IGEvV2ViS2l0TGlicmFyaWVz
L3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzQ2Fpcm8udnNwcm9wcyBiL1dlYktpdExp
YnJhcmllcy93aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lc0NhaXJvLnZzcHJvcHMKaW5k
ZXggZTczN2ZmYS4uMTQ2NDRkNCAxMDA2NDQKLS0tIGEvV2ViS2l0TGlicmFyaWVzL3dpbi90b29s
cy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzQ2Fpcm8udnNwcm9wcworKysgYi9XZWJLaXRMaWJyYXJp
ZXMvd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXNDYWlyby52c3Byb3BzCkBAIC05LDcg
KzksNyBAQAogCT4KICAgPFRvb2wKIAkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJUHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnM9IiQoRU5BQkxFXzNEX0NBTlZBUyk7JChFTkFCTEVfM0RfUkVOREVS
SU5HKTskKEVOQUJMRV9CTE9CX1NMSUNFKTskKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyk7JChF
TkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKTskKEVOQUJMRV9EQVRBQkFTRSk7JChFTkFC
TEVfREFUQUdSSUQpOyQoRU5BQkxFX0RBVEFMSVNUKTskKEVOQUJMRV9ET01fU1RPUkFHRSk7JChF
TkFCTEVfRVZFTlRTT1VSQ0UpOyQoRU5BQkxFX0ZJTFRFUlMpOyQoRU5BQkxFX0dFT0xPQ0FUSU9O
KTskKEVOQUJMRV9JQ09OREFUQUJBU0UpOyQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpOyQoRU5B
QkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpOyQoRU5BQkxFX01BVEhNTCk7JChFTkFCTEVfTk9USUZJ
Q0FUSU9OUyk7JChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKTskKEVOQUJMRV9TSEFS
RURfV09SS0VSUyk7JChFTkFCTEVfU1ZHKTskKEVOQUJMRV9TVkdfQU5JTUFUSU9OKTskKEVOQUJM
RV9TVkdfQVNfSU1BR0UpOyQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUyk7JChFTkFCTEVf
U1ZHX0ZPTlRTKTskKEVOQUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1QpOyQoRU5BQkxFX1NWR19VU0Up
OyQoRU5BQkxFX1ZJREVPKTskKEVOQUJMRV9XRUJfU09DS0VUUyk7JChFTkFCTEVfV01MKTskKEVO
QUJMRV9XT1JLRVJTKTskKEVOQUJMRV9YSFRNTE1QKTskKEVOQUJMRV9YUEFUSCk7JChFTkFCTEVf
WFNMVCkiCisJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIkKEVOQUJMRV8zRF9DQU5WQVMpOyQo
RU5BQkxFXzNEX1JFTkRFUklORyk7JChFTkFCTEVfQkxPQl9TTElDRSk7JChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpOyQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTik7JChFTkFCTEVf
REFUQUJBU0UpOyQoRU5BQkxFX0RBVEFHUklEKTskKEVOQUJMRV9EQVRBTElTVCk7JChFTkFCTEVf
RE9NX1NUT1JBR0UpOyQoRU5BQkxFX0VWRU5UU09VUkNFKTskKEVOQUJMRV9GSUxURVJTKTskKEVO
QUJMRV9GSUxFX1JFQURFUik7JChFTkFCTEVfRklMRV9XUklURVIpOyQoRU5BQkxFX0dFT0xPQ0FU
SU9OKTskKEVOQUJMRV9JQ09OREFUQUJBU0UpOyQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpOyQo
RU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpOyQoRU5BQkxFX01BVEhNTCk7JChFTkFCTEVfTk9U
SUZJQ0FUSU9OUyk7JChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKTskKEVOQUJMRV9T
SEFSRURfV09SS0VSUyk7JChFTkFCTEVfU1ZHKTskKEVOQUJMRV9TVkdfQU5JTUFUSU9OKTskKEVO
QUJMRV9TVkdfQVNfSU1BR0UpOyQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUyk7JChFTkFC
TEVfU1ZHX0ZPTlRTKTskKEVOQUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1QpOyQoRU5BQkxFX1NWR19V
U0UpOyQoRU5BQkxFX1ZJREVPKTskKEVOQUJMRV9XRUJfU09DS0VUUyk7JChFTkFCTEVfV01MKTsk
KEVOQUJMRV9XT1JLRVJTKTskKEVOQUJMRV9YSFRNTE1QKTskKEVOQUJMRV9YUEFUSCk7JChFTkFC
TEVfWFNMVCkiCiAJLz4KICAgPFVzZXJNYWNybwogCQlOYW1lPSJFTkFCTEVfM0RfQ0FOVkFTIgpA
QCAtNjcsNiArNjcsMTYgQEAKIAkJUGVyZm9ybUVudmlyb25tZW50U2V0PSJ0cnVlIgogCS8+CiAg
IDxVc2VyTWFjcm8KKwkJTmFtZT0iRU5BQkxFX0ZJTEVfUkVBREVSIgorCQlWYWx1ZT0iIgorCQlQ
ZXJmb3JtRW52aXJvbm1lbnRTZXQ9InRydWUiCisJLz4KKyAgPFVzZXJNYWNybworCQlOYW1lPSJF
TkFCTEVfRklMRV9XUklURVIiCisJCVZhbHVlPSIiCisJCVBlcmZvcm1FbnZpcm9ubWVudFNldD0i
dHJ1ZSIKKwkvPgorICA8VXNlck1hY3JvCiAJCU5hbWU9IkVOQUJMRV9HRU9MT0NBVElPTiIKIAkJ
VmFsdWU9IiIKIAkJUGVyZm9ybUVudmlyb25tZW50U2V0PSJ0cnVlIgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDc5OTQ2Y2Iu
LjkxY2VhYWMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRU
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMC0wMy0zMSAgS2ludWtvIFlhc3Vk
YSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIG9wdGlvbnMgdG8gZW5hYmxlIEZJTEVfUkVBREVSIGFuZCBG
SUxFX1dSSVRFUiBzdXBwb3J0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzY4OTYKKworICAgICAgICAqIFNjcmlwdHMvYnVpbGQtd2Via2l0OgorCiAy
MDEwLTAzLTMxICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBBZGFtIEJhcnRoLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWls
ZC13ZWJraXQgYi9XZWJLaXRUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAppbmRleCBmODY2MTg4
Li4yMzQwOTZjIDEwMDc1NQotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAor
KysgYi9XZWJLaXRUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdApAQCAtNTYsNyArNTYsOCBAQCBt
eSAoJHRocmVlRENhbnZhc1N1cHBvcnQsICR0aHJlZURSZW5kZXJpbmdTdXBwb3J0LCAkY2hhbm5l
bE1lc3NhZ2luZ1N1cHBvcnQsICRjbAogICAgICRqYXZhU2NyaXB0RGVidWdnZXJTdXBwb3J0LCAk
bWF0aG1sU3VwcG9ydCwgJG9mZmxpbmVXZWJBcHBsaWNhdGlvblN1cHBvcnQsICRydWJ5U3VwcG9y
dCwgJHN5c3RlbU1hbGxvY1N1cHBvcnQsICRzYW5kYm94U3VwcG9ydCwgJHNoYXJlZFdvcmtlcnNT
dXBwb3J0LAogICAgICRzdmdTdXBwb3J0LCAkc3ZnQW5pbWF0aW9uU3VwcG9ydCwgJHN2Z0FzSW1h
Z2VTdXBwb3J0LCAkc3ZnRE9NT2JqQ0JpbmRpbmdzU3VwcG9ydCwgJHN2Z0ZvbnRzU3VwcG9ydCwK
ICAgICAkc3ZnRm9yZWlnbk9iamVjdFN1cHBvcnQsICRzdmdVc2VTdXBwb3J0LCAkdmlkZW9TdXBw
b3J0LCAkd2ViU29ja2V0c1N1cHBvcnQsICR3bWxTdXBwb3J0LCAkd2Nzc1N1cHBvcnQsICR4aHRt
bG1wU3VwcG9ydCwgJHdvcmtlcnNTdXBwb3J0LAotICAgICR4cGF0aFN1cHBvcnQsICR4c2x0U3Vw
cG9ydCwgJGNvdmVyYWdlU3VwcG9ydCwgJG5vdGlmaWNhdGlvbnNTdXBwb3J0LCAkYmxvYlNsaWNl
U3VwcG9ydCwgJHRpbGVkQmFja2luZ1N0b3JlU3VwcG9ydCk7CisgICAgJHhwYXRoU3VwcG9ydCwg
JHhzbHRTdXBwb3J0LCAkY292ZXJhZ2VTdXBwb3J0LCAkbm90aWZpY2F0aW9uc1N1cHBvcnQsICRi
bG9iU2xpY2VTdXBwb3J0LCAkdGlsZWRCYWNraW5nU3RvcmVTdXBwb3J0LAorICAgICRmaWxlUmVh
ZGVyU3VwcG9ydCwgJGZpbGVXcml0ZXJTdXBwb3J0KTsKIAogbXkgQGZlYXR1cmVzID0gKAogICAg
IHsgb3B0aW9uID0+ICIzZC1jYW52YXMiLCBkZXNjID0+ICJUb2dnbGUgM0QgY2FudmFzIHN1cHBv
cnQiLApAQCAtMTc1LDYgKzE3NiwxMiBAQCBteSBAZmVhdHVyZXMgPSAoCiAKICAgICB7IG9wdGlv
biA9PiAieHNsdCIsIGRlc2MgPT4gIlRvZ2dsZSBYU0xUIHN1cHBvcnQiLAogICAgICAgZGVmaW5l
ID0+ICJFTkFCTEVfWFNMVCIsIGRlZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCR4c2x0U3VwcG9ydCB9
LAorCisgICAgeyBvcHRpb24gPT4gImZpbGUtcmVhZGVyIiwgZGVzYyA9PiAiVG9nZ2xlIEZpbGVS
ZWFkZXIgc3VwcG9ydCIsCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9GSUxFX1JFQURFUiIsIGRl
ZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRmaWxlUmVhZGVyU3VwcG9ydCB9LAorCisgICAgeyBvcHRp
b24gPT4gImZpbGUtd3JpdGVyIiwgZGVzYyA9PiAiVG9nZ2xlIEZpbGVXcml0ZXIgc3VwcG9ydCIs
CisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9GSUxFX1dSSVRFUiIsIGRlZmF1bHQgPT4gMCwgdmFs
dWUgPT4gXCRmaWxlV3JpdGVyU3VwcG9ydCB9LAogKTsKIAogIyBVcGRhdGUgZGVmYXVsdHMgZnJv
bSBRdCdzIHByb2plY3QgZmlsZQpkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJl
LmFjCmluZGV4IDViYzE3ODEuLjIyYmQ1NDUgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysg
Yi9jb25maWd1cmUuYWMKQEAgLTU2OSw2ICs1NjksMjIgQEAgQUNfQVJHX0VOQUJMRShmYXN0X21v
YmlsZV9zY3JvbGxpbmcsCiAgICAgICAgICAgICAgIFtdLFtlbmFibGVfZmFzdF9tb2JpbGVfc2Ny
b2xsaW5nPSJubyJdKQogQUNfTVNHX1JFU1VMVChbJGVuYWJsZV9mYXN0X21vYmlsZV9zY3JvbGxp
bmddKQogCisjIGNoZWNrIHdoZXRoZXIgdG8gZW5hYmxlIEZpbGVSZWFkZXIgc3VwcG9ydAorQUNf
TVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIGVuYWJsZSBGaWxlUmVhZGVyIHN1cHBvcnRdKQorQUNf
QVJHX0VOQUJMRShmaWxlX3JlYWRlciwKKyAgICAgICAgICAgICAgQUNfSEVMUF9TVFJJTkcoWy0t
ZW5hYmxlLWZpbGUtcmVhZGVyXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VuYWJs
ZSBzdXBwb3J0IGZvciBGaWxlUmVhZGVyIFtkZWZhdWx0PW5vXV0pLAorICAgICAgICAgICAgICBb
XSxbZW5hYmxlX2ZpbGVfcmVhZGVyPSJubyJdKQorQUNfTVNHX1JFU1VMVChbJGVuYWJsZV9maWxl
X3JlYWRlcl0pCisKKyMgY2hlY2sgd2hldGhlciB0byBlbmFibGUgRmlsZVdyaXRlciBzdXBwb3J0
CitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIEZpbGVXcml0ZXIgc3VwcG9ydF0p
CitBQ19BUkdfRU5BQkxFKGZpbGVfd3JpdGVyLAorICAgICAgICAgICAgICBBQ19IRUxQX1NUUklO
RyhbLS1lbmFibGUtZmlsZS13cml0ZXJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBb
ZW5hYmxlIHN1cHBvcnQgZm9yIEZpbGVXcml0ZXIgW2RlZmF1bHQ9bm9dXSksCisgICAgICAgICAg
ICAgIFtdLFtlbmFibGVfZmlsZV93cml0ZXI9Im5vIl0pCitBQ19NU0dfUkVTVUxUKFskZW5hYmxl
X2ZpbGVfd3JpdGVyXSkKKwogIyBjaGVjayB3aGV0aGVyIHRvIGVuYWJsZSBjb2RlIGNvdmVyYWdl
CiBBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIGNvZGUgY292ZXJhZ2Ugc3VwcG9y
dF0pCiBBQ19BUkdfRU5BQkxFKGNvdmVyYWdlLApAQCAtODA3LDYgKzgyMyw4IEBAIEFNX0NPTkRJ
VElPTkFMKFtFTkFCTEVfWEhUTUxNUF0sW3Rlc3QgIiRlbmFibGVfeGh0bWxtcCIgPSAieWVzIl0p
CiBBTV9DT05ESVRJT05BTChbRU5BQkxFX1hQQVRIXSxbdGVzdCAiJGVuYWJsZV94cGF0aCIgPSAi
eWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX1hTTFRdLFt0ZXN0ICIkZW5hYmxlX3hzbHQi
ID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9GSUxURVJTXSxbdGVzdCAiJGVuYWJs
ZV9maWx0ZXJzIiA9ICJ5ZXMiXSkKK0FNX0NPTkRJVElPTkFMKFtFTkFCTEVfRklMRV9SRUFERVJd
LFt0ZXN0ICIkZW5hYmxlX2ZpbGVfcmVhZGVyIiA9ICJ5ZXMiXSkKK0FNX0NPTkRJVElPTkFMKFtF
TkFCTEVfRklMRV9XUklURVJdLFt0ZXN0ICIkZW5hYmxlX2ZpbGVfd3JpdGVyIiA9ICJ5ZXMiXSkK
IEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfR0VPTE9DQVRJT05dLCBbdGVzdCAiJGVuYWJsZV9nZW9s
b2NhdGlvbiIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX01BVEhNTF0sIFt0ZXN0
ICIkZW5hYmxlX21hdGhtbCIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX1JVQlld
LFt0ZXN0ICIkZW5hYmxlX3J1YnkiID0gInllcyJdKQpAQCAtODYwLDYgKzg3OCw4IEBAIEZlYXR1
cmVzOgogIEZhc3QgTW9iaWxlIFNjcm9sbGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDogJGVuYWJsZV9mYXN0X21vYmlsZV9zY3JvbGxpbmcKICBKSVQgY29tcGlsYXRpb24g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfaml0CiAg
RmlsdGVycyBzdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
OiAkZW5hYmxlX2ZpbHRlcnMKKyBGaWxlUmVhZGVyIHN1cHBvcnQgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfZmlsZV9yZWFkZXIKKyBGaWxlV3JpdGVyIHN1
cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfZmls
ZV93cml0ZXIKICBHZW9sb2NhdGlvbiBzdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA6ICRlbmFibGVfZ2VvbG9jYXRpb24KICBKYXZhU2NyaXB0IGRlYnVnZ2VyL3By
b2ZpbGVyIHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfamF2YXNjcmlwdF9k
ZWJ1Z2dlcgogIE1hdGhNTCBzdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDogJGVuYWJsZV9tYXRobWwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52252</attachid>
            <date>2010-03-31 21:00:12 -0700</date>
            <delta_ts>2010-04-01 14:06:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-36896-20100331210011.patch</filename>
            <type>text/plain</type>
            <size>38199</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAwMDFkZGRiLi41N2E2OTdk
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTAtMDMtMzEgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIGVuYWJsZSBm
bGFnIGZvciBGaWxlUmVhZGVyIGFuZCBGaWxlV3JpdGVyLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzY4OTYKKworICAgICAgICAqIGNvbmZpZ3VyZS5h
YzoKKwogMjAxMC0wMy0yNiAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAbm9r
aWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDUyNGM1YjMuLmJmMmIyM2YgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxv
ZworKysgYi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMSBAQAorMjAxMC0w
My0zMSAgS2ludWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEVOQUJMRV9GSUxFX1JFQURF
UiBhbmQgRU5BQkxFX0ZJTEVfV1JJVEVSIGZsYWdzLgorCisgICAgICAgICogQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTAtMDMtMzEgIEdhdmluIEJhcnJhY2xv
dWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAod2luZG93cyBidWlsZCBmaXggcHQgSUkpLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA5NTY0MmMwLi45MmNh
NGFiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZworKysgYi9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwpAQCAtNTAsNiArNTAsOCBAQCBFTkFCTEVfREFUQUxJU1QgPSBFTkFC
TEVfREFUQUxJU1Q7CiBFTkFCTEVfRE9NX1NUT1JBR0UgPSBFTkFCTEVfRE9NX1NUT1JBR0U7CiBF
TkFCTEVfRVZFTlRTT1VSQ0UgPSBFTkFCTEVfRVZFTlRTT1VSQ0U7CiBFTkFCTEVfRklMVEVSUyA9
IEVOQUJMRV9GSUxURVJTOworRU5BQkxFX0ZJTEVfUkVBREVSID0gOworRU5BQkxFX0ZJTEVfV1JJ
VEVSID0gOwogRU5BQkxFX0dFT0xPQ0FUSU9OID0gRU5BQkxFX0dFT0xPQ0FUSU9OOwogRU5BQkxF
X0lDT05EQVRBQkFTRSA9IEVOQUJMRV9JQ09OREFUQUJBU0U7CiBFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSA9IDsKQEAgLTc1LDQgKzc3LDQgQEAgRU5BQkxFX1hIVE1MTVAgPSA7CiBFTkFCTEVfWFBB
VEggPSBFTkFCTEVfWFBBVEg7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9DQU5WQVMpICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChF
TkFCTEVfQkxPQl9TTElDRSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NM
SUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfREFUQUJBU0UpICQoRU5BQkxFX0RBVEFH
UklEKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVfRE9NX1NUT1JBR0UpICQoRU5BQkxFX0VW
RU5UU09VUkNFKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9KQVZB
U0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJChFTkFCTEVfUlVCWSkgJChFTkFC
TEVfU0FOREJPWCkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NWRykgJChFTkFC
TEVfU1ZHX0FOSU1BVElPTikgJChFTkFCTEVfU1ZHX0FTX0lNQUdFKSAkKEVOQUJMRV9TVkdfRE9N
X09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX0ZPUkVJR05f
T0JKRUNUKSAkKEVOQUJMRV9TVkdfVVNFKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfV0VCX1NP
Q0tFVFMpICQoRU5BQkxFX1dNTCkgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhUTUxNUCkg
JChFTkFCTEVfWFBBVEgpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfQ0FOVkFTKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0JMT0JfU0xJQ0Up
ICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBR1JJRCkgJChFTkFCTEVfREFU
QUxJU1QpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9FVkVOVFNPVVJDRSkgJChFTkFC
TEVfRklMVEVSUykgJChFTkFCTEVfRklMRV9SRUFERVIpICQoRU5BQkxFX0ZJTEVfV1JJVEVSKSAk
KEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9NQVRI
TUwpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FU
SU9OUykgJChFTkFCTEVfUlVCWSkgJChFTkFCTEVfU0FOREJPWCkgJChFTkFCTEVfU0hBUkVEX1dP
UktFUlMpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1BVElPTikgJChFTkFCTEVfU1ZH
X0FTX0lNQUdFKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVOQUJMRV9TVkdfVVNFKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dNTCkgJChFTkFCTEVf
V09SS0VSUykgJChFTkFCTEVfWEhUTUxNUCkgJChFTkFCTEVfWFBBVEgpICQoRU5BQkxFX1hTTFQp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCBmMzdlNmYzLi40ZTllYzdkIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEwLTAzLTMxICBLaW51a28gWWFz
dWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgRmlsZVRocmVhZCBmb3IgYXN5bmMgZmlsZSBvcGVyYXRp
b24gc3VwcG9ydCBmb3IgRmlsZVJlYWRlciBhbmQKKyAgICAgICAgRmlsZVdyaXRlci4gIFRoZSBw
YXRjaCBhbHNvIGFkZHMgRU5BQkxFX0ZJTEVfUkVBREVSIG9yCisgICAgICAgIEVOQUJMRV9GSUxF
X1dSSVRFUiBidWlsZCBmbGFncy9kZWZpbmVzLiAgQm90aCBmbGFncyBhcmUgZGlzYWJsZWQKKyAg
ICAgICAgYnkgZGVmYXVsdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTM2ODk2CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCB3aWxsIGFkZCBvbmVzIHdo
ZW4gYWZ0ZXIgYWRkaW5nIG1vZHVsZXMgd2hpY2ggdXNlIHRoZSB0aHJlYWQuCisKKyAgICAgICAg
KiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBHTlVt
YWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS5w
cm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9TY3JpcHRF
eGVjdXRpb25Db250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQ6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
RXhlY3V0aW9uQ29udGV4dDo6flNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOgorICAgICAgICAoV2Vi
Q29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZmlsZVRocmVhZCk6CisgICAgICAgICogZG9t
L1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiBodG1sL0ZpbGVUaHJlYWQuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0ZpbGVUaHJlYWQuaDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vTG9nZ2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjopOgorICAgICAgICAoV2Vi
Q29yZTo6Z2V0Q2hhbm5lbEZyb21OYW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9Mb2dnaW5nLmg6
CisKIDIwMTAtMDMtMzEgIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA5NTY0MmMwLi45MmNhNGFiIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1dlYkNv
cmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTUwLDYgKzUwLDgg
QEAgRU5BQkxFX0RBVEFMSVNUID0gRU5BQkxFX0RBVEFMSVNUOwogRU5BQkxFX0RPTV9TVE9SQUdF
ID0gRU5BQkxFX0RPTV9TVE9SQUdFOwogRU5BQkxFX0VWRU5UU09VUkNFID0gRU5BQkxFX0VWRU5U
U09VUkNFOwogRU5BQkxFX0ZJTFRFUlMgPSBFTkFCTEVfRklMVEVSUzsKK0VOQUJMRV9GSUxFX1JF
QURFUiA9IDsKK0VOQUJMRV9GSUxFX1dSSVRFUiA9IDsKIEVOQUJMRV9HRU9MT0NBVElPTiA9IEVO
QUJMRV9HRU9MT0NBVElPTjsKIEVOQUJMRV9JQ09OREFUQUJBU0UgPSBFTkFCTEVfSUNPTkRBVEFC
QVNFOwogRU5BQkxFX0lOREVYRURfREFUQUJBU0UgPSA7CkBAIC03NSw0ICs3Nyw0IEBAIEVOQUJM
RV9YSFRNTE1QID0gOwogRU5BQkxFX1hQQVRIID0gRU5BQkxFX1hQQVRIOwogRU5BQkxFX1hTTFQg
PSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfQ0FOVkFTKSAk
KEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0JMT0JfU0xJQ0UpICQoRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBR1JJRCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxF
X0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9FVkVOVFNPVVJDRSkgJChFTkFCTEVfRklMVEVSUykgJChF
TkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRSkgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1M
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElP
TlMpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxFX1NBTkRCT1gpICQoRU5BQkxFX1NIQVJFRF9XT1JL
RVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19BTklNQVRJT04pICQoRU5BQkxFX1NWR19B
U19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9O
VFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCkgJChFTkFCTEVfU1ZHX1VTRSkgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dP
UktFUlMpICQoRU5BQkxFX1hIVE1MTVApICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsK
K0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX0NBTlZBUykgJChFTkFCTEVfM0RfUkVOREVS
SU5HKSAkKEVOQUJMRV9CTE9CX1NMSUNFKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFC
TEVfREFUQUdSSUQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9ET01fU1RPUkFHRSkgJChF
TkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZJTEVfUkVBREVS
KSAkKEVOQUJMRV9GSUxFX1dSSVRFUikgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lD
T05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSkFWQVNDUklQ
VF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxFX1NB
TkRCT1gpICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NW
R19BTklNQVRJT04pICQoRU5BQkxFX1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpD
X0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVD
VCkgJChFTkFCTEVfU1ZHX1VTRSkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1dFQl9TT0NLRVRT
KSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIVE1MTVApICQoRU5B
QkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZp
bGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGI3NzE4NjIuLjRlM2NkMTggMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQpAQCAtMzU1OCw2ICszNTU4LDMxIEBAIEZFQVRVUkVfREVGSU5FUyArPSBFTkFCTEVfQkxP
Ql9TTElDRT0xCiB3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX0JMT0JfU0xJQ0U9MQogZW5k
aWYgICMgRU5EIEVOQUJMRV9CTE9CX1NMSUNFCiAKKyMgLS0tCisjIEZpbGVSZWFkZXIgc3VwcG9y
dAorIyAtLS0KK2lmIEVOQUJMRV9GSUxFX1JFQURFUgorRkVBVFVSRV9ERUZJTkVTICs9IEVOQUJM
RV9GSUxFX1JFQURFUj0xCit3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX0ZJTEVfUkVBREVS
PTEKKworIyBBZGQgRmlsZVRocmVhZCBzb3VyY2VzIGlmIEZpbGVXcml0ZXIgb3IgRmlsZVJlYWRl
ciBpcyBlbmFibGVkLgord2ViY29yZV9zb3VyY2VzICs9IFwKKwlXZWJDb3JlL2h0bWwvRmlsZVRo
cmVhZC5jcHAgXAorCVdlYkNvcmUvaHRtbC9GaWxlVGhyZWFkLmgKK2VuZGlmICAjIEVORCBFTkFC
TEVfRklMRV9SRUFERVIKKworIyAtLS0KKyMgRmlsZVdyaXRlciBzdXBwb3J0CisjIC0tLQoraWYg
RU5BQkxFX0ZJTEVfV1JJVEVSCitGRUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX0ZJTEVfV1JJVEVS
PTEKK3dlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfRklMRV9XUklURVI9MQorCisjIEFkZCBG
aWxlVGhyZWFkIHNvdXJjZXMgaWYgRmlsZVdyaXRlciBvciBGaWxlUmVhZGVyIGlzIGVuYWJsZWQu
Cit3ZWJjb3JlX3NvdXJjZXMgKz0gXAorCVdlYkNvcmUvaHRtbC9GaWxlVGhyZWFkLmNwcCBcCisJ
V2ViQ29yZS9odG1sL0ZpbGVUaHJlYWQuaAorZW5kaWYgICMgRU5EIEVOQUJMRV9GSUxFX1dSSVRF
UgogCiBEZXJpdmVkU291cmNlcy9DU1NQcm9wZXJ0eU5hbWVzLmg6ICQoV0VCQ09SRV9DU1NfUFJP
UEVSVFlfTkFNRVMpICQoV2ViQ29yZSkvY3NzL21ha2Vwcm9wLnBsCiAJaWYgc29ydCAkKFdFQkNP
UkVfQ1NTX1BST1BFUlRZX05BTUVTKSB8IHVuaXEgLWQgfCBncmVwIC1FICdeW14jXSc7IHRoZW4g
ZWNobyAnRHVwbGljYXRlIHZhbHVlISc7IGV4aXQgMTsgZmkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
V2ViQ29yZS5neXBpIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMjE0YzdmMC4uOWE1Yjdh
NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKQEAgLTE0MjYsNiArMTQyNiw4IEBACiAgICAgICAgICAgICAnaHRtbC9GaWxlLmgnLAog
ICAgICAgICAgICAgJ2h0bWwvRmlsZUxpc3QuY3BwJywKICAgICAgICAgICAgICdodG1sL0ZpbGVM
aXN0LmgnLAorICAgICAgICAgICAgJ2h0bWwvRmlsZVRocmVhZC5jcHAnLAorICAgICAgICAgICAg
J2h0bWwvRmlsZVRocmVhZC5oJywKICAgICAgICAgICAgICdodG1sL0Zvcm1EYXRhTGlzdC5jcHAn
LAogICAgICAgICAgICAgJ2h0bWwvRm9ybURhdGFMaXN0LmgnLAogICAgICAgICAgICAgJ2h0bWwv
SFRNTEFsbENvbGxlY3Rpb24uY3BwJywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8g
Yi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDczMDMzNzAuLjA2NGE4ZGMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMjg0MSw2
ICsyODQxLDIwIEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9TWU1CSUFOX0RJQUxPR19QUk9W
SURFUlMpIHsKICAgICB9CiB9CiAKK2NvbnRhaW5zKERFRklORVMsIEVOQUJMRV9GSUxFX1JFQURF
UikgeworICAgIEhFQURFUlMgKz0gXAorICAgICAgaHRtbC9GaWxlVGhyZWFkLmgKKyAgICBTT1VS
Q0VTICs9IFwKKyAgICAgIGh0bWwvRmlsZVRocmVhZC5jcHAKK30KKworY29udGFpbnMoREVGSU5F
UywgRU5BQkxFX0ZJTEVfV1JJVEVSKSB7CisgICAgSEVBREVSUyArPSBcCisgICAgICBodG1sL0Zp
bGVUaHJlYWQuaAorICAgIFNPVVJDRVMgKz0gXAorICAgICAgaHRtbC9GaWxlVGhyZWFkLmNwcAor
fQorCiBpbmNsdWRlKCQkUFdELy4uL1dlYktpdC9xdC9BcGkvaGVhZGVycy5wcmkpCiBIRUFERVJT
ICs9ICQkV0VCS0lUX0FQSV9IRUFERVJTCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qCmluZGV4IDdmODk4NjguLmUxMTM3NjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvagpAQCAtMzAyMjUsNiArMzAyMjUsMjIgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJ
CTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxGaWxlVGhyZWFkLmNwcCINCisJCQkJ
Pg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcRmls
ZVRocmVhZC5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5caHRtbFxGaWxlVGhyZWFkLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8
RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcRmlsZVRocmVhZC5oIg0KKwkJCQk+DQor
CQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxGb3JtRGF0
YUxpc3QuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggNDQ5MTBmYy4uMzUzMzVhYiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIyMDcsNiArMjIwNyw4IEBACiAJCTg1
Rjc0RTBBMEFBOERGOEMwMDBEQzI4NCAvKiBET01DU1NVbmtub3duUnVsZS5oIGluIENvcHkgR2Vu
ZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUwMzJE
RDUwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1Vua25vd25SdWxlLmggKi87IH07CiAJCTg1RkYz
MTVBMEFBRkJGQ0IwMDM3NEYzOCAvKiBET01LZXlib2FyZEV2ZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUZGMzE1ODBBQUZCRkNCMDAzNzRGMzgg
LyogRE9NS2V5Ym9hcmRFdmVudC5oICovOyB9OwogCQk4NUZGMzE1QjBBQUZCRkNCMDAzNzRGMzgg
LyogRE9NS2V5Ym9hcmRFdmVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg1RkYzMTU5MEFBRkJGQ0IwMDM3NEYzOCAvKiBET01LZXlib2FyZEV2ZW50
Lm1tICovOyB9OworCQk4OTUyNTM1MjExNjQxQjM0MDBDQUJGMDAgLyogRmlsZVRocmVhZC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTUyNTM1MDEx
NjQxQjM0MDBDQUJGMDAgLyogRmlsZVRocmVhZC5jcHAgKi87IH07CisJCTg5NTI1MzUzMTE2NDFC
MzQwMENBQkYwMCAvKiBGaWxlVGhyZWFkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4OTUyNTM1MTExNjQxQjM0MDBDQUJGMDAgLyogRmlsZVRocmVhZC5o
ICovOyB9OwogCQk5MzAyQjBCRDBENzlGODI5MDBDN0VFODMgLyogUGFnZUdyb3VwLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMDJCMEJDMEQ3OUY4
MjkwMEM3RUU4MyAvKiBQYWdlR3JvdXAuY3BwICovOyB9OwogCQk5MzAyQjBCRjBENzlGODJDMDBD
N0VFODMgLyogUGFnZUdyb3VwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5MzAyQjBCRTBENzlGODJDMDBDN0VFODMgLyogUGFnZUdyb3VwLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTMwNUIyNEQwOThG
MUI2QjAwQzI4ODU1IC8qIFRpbWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5MzA1QjI0QzA5OEYxQjZCMDBDMjg4NTUgLyogVGltZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNzY0Nyw2ICs3NjQ5
LDggQEAKIAkJODVGNTZBNzkwQTk4Q0UzNzAwQURCNjBBIC8qIERPTVByb2Nlc3NpbmdJbnN0cnVj
dGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01Qcm9j
ZXNzaW5nSW5zdHJ1Y3Rpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1RkYz
MTU4MEFBRkJGQ0IwMDM3NEYzOCAvKiBET01LZXlib2FyZEV2ZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBET01LZXlib2FyZEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTg1RkYzMTU5MEFBRkJGQ0IwMDM3NEYzOCAvKiBET01LZXlib2FyZEV2ZW50
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUtleWJvYXJk
RXZlbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5NTI1MzUwMTE2NDFCMzQw
MENBQkYwMCAvKiBGaWxlVGhyZWFkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEZpbGVUaHJlYWQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTUy
NTM1MTExNjQxQjM0MDBDQUJGMDAgLyogRmlsZVRocmVhZC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBGaWxlVGhyZWFkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTkzMDJCMEJDMEQ3OUY4MjkwMEM3RUU4MyAvKiBQYWdlR3JvdXAuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFnZUdyb3VwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOTMwMkIwQkUwRDc5RjgyQzAwQzdFRTgzIC8qIFBhZ2VHcm91cC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYWdlR3JvdXAuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJOTMwNUIyNEMwOThGMUI2QjAwQzI4ODU1IC8qIFRpbWVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRpbWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xMjkyNCw2ICsxMjkyOCw4IEBACiAJCTkzRUVDMUVDMDlDMjg3NzcwMEM1MTVE
MSAvKiBodG1sICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJ
CQk4OTUyNTM1MDExNjQxQjM0MDBDQUJGMDAgLyogRmlsZVRocmVhZC5jcHAgKi8sCisJCQkJODk1
MjUzNTExMTY0MUIzNDAwQ0FCRjAwIC8qIEZpbGVUaHJlYWQuaCAqLywKIAkJCQlBNDNCRjU5NjEx
NDkyOTBBMDBDNjQzQ0EgLyogSFRNTFByb2dyZXNzRWxlbWVudC5jcHAgKi8sCiAJCQkJQTQzQkY1
OTcxMTQ5MjkwQTAwQzY0M0NBIC8qIEhUTUxQcm9ncmVzc0VsZW1lbnQuaCAqLywKIAkJCQk0OTQ4
NEZBRTEwMkNGMDFFMDAxODdERDMgLyogY2FudmFzICovLApAQCAtMTg3NjgsNiArMTg3NzQsNyBA
QAogCQkJCUUxRTFCRjAwMTE1RkY2RkIwMDZGNTJDQSAvKiBXaW5kb3dzS2V5Ym9hcmRDb2Rlcy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJODQ5OUE1MTUxMTVGQjMzMDAwRjU2NkUzIC8qIFJlbmRlclNW
R1Jlc291cmNlTWFya2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTNCQkYwODExNjJEQTExMDBC
OTQwOUEgLyogVVVJRC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODk1MjUzNTMxMTY0MUIzNDAwQ0FC
RjAwIC8qIEZpbGVUaHJlYWQuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjA5ODIsNiArMjA5ODksNyBA
QAogCQkJCUU0Nzc4QjdGMTE1QTU4MUEwMEI1RDM3MiAvKiBKU0N1c3RvbUV2ZW50LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTg0OTlBNTE0MTE1RkIzMzAwMEY1NjZFMyAvKiBSZW5kZXJTVkdSZXNv
dXJjZU1hcmtlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRTNCQkYwNzExNjJEQTExMDBCOTQw
OUEgLyogVVVJRC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTUyNTM1MjExNjQxQjM0MDBDQUJG
MDAgLyogRmlsZVRocmVhZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwIGIvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5jcHAKaW5kZXggYzJmZTEyMC4uMDViZWUxZiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKKysrIGIvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAgLTMxLDYgKzMxLDkgQEAKICNpbmNsdWRlICJEYXRhYmFz
ZS5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVGFzay5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVGhyZWFk
LmgiCisjaWYgRU5BQkxFKEZJTEVfUkVBREVSKSB8fCBFTkFCTEUoRklMRV9XUklURVIpCisjaW5j
bHVkZSAiRmlsZVRocmVhZC5oIgorI2VuZGlmCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKICNp
bmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIldvcmtlckNvbnRleHQuaCIKQEAg
LTgzLDYgKzg2LDEyIEBAIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6On5TY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkKICAgICAgICAgbV9kYXRhYmFzZVRocmVhZCA9IDA7CiAgICAgfQogI2VuZGlmCisj
aWYgRU5BQkxFKEZJTEVfUkVBREVSKSB8fCBFTkFCTEUoRklMRV9XUklURVIpCisgICAgaWYgKG1f
ZmlsZVRocmVhZCkgeworICAgICAgICBtX2ZpbGVUaHJlYWQtPnRlcm1pbmF0ZSgpOworICAgICAg
ICBtX2ZpbGVUaHJlYWQgPSAwOworICAgIH0KKyNlbmRpZgogfQogCiAjaWYgRU5BQkxFKERBVEFC
QVNFKQpAQCAtMjYxLDYgKzI3MCwxOCBAQCBET01UaW1lciogU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6ZmluZFRpbWVvdXQoaW50IHRpbWVvdXRJZCkKICAgICByZXR1cm4gbV90aW1lb3V0cy5nZXQo
dGltZW91dElkKTsKIH0KIAorI2lmIEVOQUJMRShGSUxFX1JFQURFUikgfHwgRU5BQkxFKEZJTEVf
V1JJVEVSKQorRmlsZVRocmVhZCogU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6ZmlsZVRocmVhZCgp
Cit7CisgICAgaWYgKCFtX2ZpbGVUaHJlYWQpIHsKKyAgICAgICAgbV9maWxlVGhyZWFkID0gRmls
ZVRocmVhZDo6Y3JlYXRlKCk7CisgICAgICAgIGlmICghbV9maWxlVGhyZWFkLT5zdGFydCgpKQor
ICAgICAgICAgICAgbV9maWxlVGhyZWFkID0gMDsKKyAgICB9CisgICAgcmV0dXJuIG1fZmlsZVRo
cmVhZC5nZXQoKTsKK30KKyNlbmRpZgorCiBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrOjp+
VGFzaygpCiB7CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250
ZXh0LmggYi9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggZjFjNzlj
Zi4uYmQxNmRiMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oCisrKyBiL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaApAQCAtNDUsNiAr
NDUsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRGF0YWJhc2VUaHJlYWQ7CiAj
ZW5kaWYKICAgICBjbGFzcyBET01UaW1lcjsKKyNpZiBFTkFCTEUoRklMRV9SRUFERVIpIHx8IEVO
QUJMRShGSUxFX1dSSVRFUikKKyAgICBjbGFzcyBGaWxlVGhyZWFkOworI2VuZGlmCiAgICAgY2xh
c3MgTWVzc2FnZVBvcnQ7CiAgICAgY2xhc3MgU2VjdXJpdHlPcmlnaW47CiAgICAgY2xhc3MgU2Ny
aXB0U3RyaW5nOwpAQCAtMTM2LDYgKzEzOSwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIEpTQzo6SlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhKCk7CiAjZW5kaWYKIAorI2lmIEVOQUJM
RShGSUxFX1JFQURFUikgfHwgRU5BQkxFKEZJTEVfV1JJVEVSKQorICAgICAgICBGaWxlVGhyZWFk
KiBmaWxlVGhyZWFkKCk7CisgICAgICAgIHZvaWQgc3RvcEZpbGVUaHJlYWQoKTsKKyNlbmRpZgor
CiAgICAgcHJvdGVjdGVkOgogICAgICAgICAvLyBFeHBsaWNpdGx5IG92ZXJyaWRlIHRoZSBzZWN1
cml0eSBvcmlnaW4gZm9yIHRoaXMgc2NyaXB0IGNvbnRleHQuCiAgICAgICAgIC8vIE5vdGU6IEl0
IGlzIGRhbmdlcm91cyB0byBjaGFuZ2UgdGhlIHNlY3VyaXR5IG9yaWdpbiBvZiBhIHNjcmlwdCBj
b250ZXh0CkBAIC0xNjMsNiArMTcxLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
dHlwZWRlZiBIYXNoU2V0PERhdGFiYXNlKiA+IERhdGFiYXNlU2V0OwogICAgICAgICBPd25QdHI8
RGF0YWJhc2VTZXQ+IG1fb3BlbkRhdGFiYXNlU2V0OwogI2VuZGlmCisKKyNpZiBFTkFCTEUoRklM
RV9SRUFERVIpIHx8IEVOQUJMRShGSUxFX1dSSVRFUikKKyAgICAgICAgUmVmUHRyPEZpbGVUaHJl
YWQ+IG1fZmlsZVRocmVhZDsKKyNlbmRpZgogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9GaWxlVGhyZWFkLmNwcCBiL1dlYkNvcmUvaHRt
bC9GaWxlVGhyZWFkLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MGI2
NmU4Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL0ZpbGVUaHJlYWQuY3BwCkBAIC0w
LDAgKzEsMTE5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShGSUxFX1dSSVRF
UikgfHwgRU5BQkxFKEZJTEVfUkVBREVSKQorCisjaW5jbHVkZSAiRmlsZVRocmVhZC5oIgorCisj
aW5jbHVkZSAiQXV0b2RyYWluZWRQb29sLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK0ZpbGVUaHJlYWQ6OkZpbGVUaHJlYWQoKQorICAgIDogbV90aHJl
YWRJRCgwKQoreworICAgIG1fc2VsZlJlZiA9IHRoaXM7Cit9CisKK0ZpbGVUaHJlYWQ6On5GaWxl
VGhyZWFkKCkKK3sKKyAgICBBU1NFUlQobV9xdWV1ZS5raWxsZWQoKSk7Cit9CisKK2Jvb2wgRmls
ZVRocmVhZDo6c3RhcnQoKQoreworICAgIE11dGV4TG9ja2VyIGxvY2sobV90aHJlYWRDcmVhdGlv
bk11dGV4KTsKKyAgICBpZiAobV90aHJlYWRJRCkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
bV90aHJlYWRJRCA9IGNyZWF0ZVRocmVhZChGaWxlVGhyZWFkOjpmaWxlVGhyZWFkU3RhcnQsIHRo
aXMsICJXZWJDb3JlOiBGaWxlIik7CisgICAgcmV0dXJuIG1fdGhyZWFkSUQ7Cit9CisKK3ZvaWQg
RmlsZVRocmVhZDo6c3RvcCgpCit7CisgICAgcmV0dXJuIG1fcXVldWUua2lsbCgpOworfQorCit2
b2lkIEZpbGVUaHJlYWQ6OnBvc3RUYXNrKFBhc3NPd25QdHI8VGFzaz4gdGFzaykKK3sKKyAgICBt
X3F1ZXVlLmFwcGVuZCh0YXNrKTsKK30KKworY2xhc3MgU2FtZUZpbGVQcmVkaWNhdGUgeworcHVi
bGljOgorICAgIFNhbWVGaWxlUHJlZGljYXRlKGNvbnN0IFBsYXRmb3JtRmlsZUhhbmRsZSBoYW5k
bGUpIDogbV9oYW5kbGUoaGFuZGxlKSB7IH0KKyAgICBib29sIG9wZXJhdG9yKCkoRmlsZVRocmVh
ZDo6VGFzayogdGFzaykgY29uc3QgeyByZXR1cm4gdGFzay0+ZmlsZUhhbmRsZSgpID09IG1faGFu
ZGxlOyB9Citwcml2YXRlOgorICAgIFBsYXRmb3JtRmlsZUhhbmRsZSBtX2hhbmRsZTsKK307CisK
K3ZvaWQgRmlsZVRocmVhZDo6cmVtb3ZlVGFzayhQbGF0Zm9ybUZpbGVIYW5kbGUgaGFuZGxlKQor
eworICAgIFNhbWVGaWxlUHJlZGljYXRlIHByZWRpY2F0ZShoYW5kbGUpOworICAgIG1fcXVldWUu
cmVtb3ZlSWYocHJlZGljYXRlKTsKK30KKwordm9pZCogRmlsZVRocmVhZDo6ZmlsZVRocmVhZFN0
YXJ0KHZvaWQqIGFyZykKK3sKKyAgICBGaWxlVGhyZWFkKiBmaWxlVGhyZWFkID0gc3RhdGljX2Nh
c3Q8RmlsZVRocmVhZCo+KGFyZyk7CisgICAgcmV0dXJuIGZpbGVUaHJlYWQtPnJ1bkxvb3AoKTsK
K30KKwordm9pZCogRmlsZVRocmVhZDo6cnVuTG9vcCgpCit7CisgICAgeworICAgICAgICAvLyBX
YWl0IGZvciBGaWxlVGhyZWFkOjpzdGFydCgpIHRvIGNvbXBsZXRlIHRvIGhhdmUgbV90aHJlYWRJ
RAorICAgICAgICAvLyBlc3RhYmxpc2hlZCBiZWZvcmUgc3RhcnRpbmcgdGhlIG1haW4gbG9vcC4K
KyAgICAgICAgTXV0ZXhMb2NrZXIgbG9jayhtX3RocmVhZENyZWF0aW9uTXV0ZXgpOworICAgICAg
ICBMT0coRmlsZUFQSSwgIlN0YXJ0ZWQgRmlsZVRocmVhZCAlcCIsIHRoaXMpOworICAgIH0KKwor
ICAgIEF1dG9kcmFpbmVkUG9vbCBwb29sOworICAgIHdoaWxlIChPd25QdHI8VGFzaz4gdGFzayA9
IG1fcXVldWUud2FpdEZvck1lc3NhZ2UoKSkgeworICAgICAgICB0YXNrLT5wZXJmb3JtVGFzaygp
OworICAgICAgICBwb29sLmN5Y2xlKCk7CisgICAgfQorCisgICAgTE9HKEZpbGVBUEksICJBYm91
dCB0byBkZXRhY2ggdGhyZWFkICVpIGFuZCBjbGVhciB0aGUgcmVmIHRvIEZpbGVUaHJlYWQgJXAs
IHdoaWNoIGN1cnJlbnRseSBoYXMgJWkgcmVmKHMpIiwgbV90aHJlYWRJRCwgdGhpcywgcmVmQ291
bnQoKSk7CisKKyAgICBkZXRhY2hUaHJlYWQobV90aHJlYWRJRCk7CisKKyAgICAvLyBDbGVhciB0
aGUgc2VsZiByZWZwdHIsIHBvc3NpYmx5IHJlc3VsdGluZyBpbiBkZWxldGlvbgorICAgIG1fc2Vs
ZlJlZiA9IDA7CisKKyAgICByZXR1cm4gMDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfV1JJVEVSKSB8fCBFTkFCTEUoRklMRV9SRUFERVIpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvRmlsZVRocmVhZC5oIGIvV2ViQ29yZS9odG1sL0ZpbGVU
aHJlYWQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNWFiMGJlCi0tLSAv
ZGV2L251bGwKKysrIGIvV2ViQ29yZS9odG1sL0ZpbGVUaHJlYWQuaApAQCAtMCwwICsxLDgzIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgRmlsZVRocmVhZF9oCisjZGVmaW5lIEZpbGVUaHJlYWRfaAorCisjaWYgRU5BQkxF
KEZJTEVfV1JJVEVSKSB8fCBFTkFCTEUoRklMRV9SRUFERVIpCisKKyNpbmNsdWRlICJGaWxlU3lz
dGVtLmgiCisjaW5jbHVkZSA8d3RmL01lc3NhZ2VRdWV1ZS5oPgorI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVGhy
ZWFkaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRmlsZVRocmVhZCA6IHB1
YmxpYyBUaHJlYWRTYWZlU2hhcmVkPEZpbGVUaHJlYWQ+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxGaWxlVGhyZWFkPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgRmls
ZVRocmVhZCgpKTsgfQorICAgIH5GaWxlVGhyZWFkKCk7CisKKyAgICBib29sIHN0YXJ0KCk7Cisg
ICAgdm9pZCBzdG9wKCk7CisKKyAgICBjbGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBwdWJsaWM6CisgICAgICAgIFRhc2soUGxhdGZvcm1GaWxlSGFuZGxlIGhhbmRsZSkgOiBt
X2hhbmRsZShoYW5kbGUpIHsgfQorICAgICAgICB2aXJ0dWFsIH5UYXNrKCkgeyB9CisgICAgICAg
IHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzaygpID0gMDsKKyAgICAgICAgdmlydHVhbCBQbGF0Zm9y
bUZpbGVIYW5kbGUgZmlsZUhhbmRsZSgpIGNvbnN0IHsgcmV0dXJuIG1faGFuZGxlOyB9CisgICAg
cHJvdGVjdGVkOgorICAgICAgICBUYXNrKCkgeyB9CisgICAgICAgIGNvbnN0IFBsYXRmb3JtRmls
ZUhhbmRsZSBtX2hhbmRsZTsKKyAgICB9OworCisgICAgdm9pZCBwb3N0VGFzayhQYXNzT3duUHRy
PFRhc2s+IHRhc2spOworICAgIHZvaWQgcmVtb3ZlVGFzayhQbGF0Zm9ybUZpbGVIYW5kbGUpOwor
Citwcml2YXRlOgorICAgIEZpbGVUaHJlYWQoKTsKKworICAgIHN0YXRpYyB2b2lkKiBmaWxlVGhy
ZWFkU3RhcnQodm9pZCopOworICAgIHZvaWQqIHJ1bkxvb3AoKTsKKworICAgIFRocmVhZElkZW50
aWZpZXIgbV90aHJlYWRJRDsKKyAgICBSZWZQdHI8RmlsZVRocmVhZD4gbV9zZWxmUmVmOworICAg
IE1lc3NhZ2VRdWV1ZTxUYXNrPiBtX3F1ZXVlOworCisgICAgTXV0ZXggbV90aHJlYWRDcmVhdGlv
bk11dGV4OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KEZJTEVfV1JJVEVSKSB8fCBFTkFCTEUoRklMRV9SRUFERVIpCisKKyNlbmRpZiAvLyBGaWxlVGhy
ZWFkX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5jcHAgYi9XZWJDb3Jl
L3BsYXRmb3JtL0xvZ2dpbmcuY3BwCmluZGV4IDkyZTExZTMuLjdmYjE1YjEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dn
aW5nLmNwcApAQCAtMjAsNyArMjAsNyBAQAogICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQogICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCiAjaW5jbHVk
ZSAiY29uZmlnLmgiCkBAIC02MCw2ICs2MCw3IEBAIFdURkxvZ0NoYW5uZWwgTG9nTWVkaWEgPSAg
ICAgICAgICAgICB7IDB4MDEwMDAwMDAsICJXZWJDb3JlTG9nTGV2ZWwiLCBXVEZMb2dDaGFuCiBX
VEZMb2dDaGFubmVsIExvZ1BsdWdpbnMgPSAgICAgICAgICAgeyAweDAyMDAwMDAwLCAiV2ViQ29y
ZUxvZ0xldmVsIiwgV1RGTG9nQ2hhbm5lbE9mZiB9OwogV1RGTG9nQ2hhbm5lbCBMb2dBcmNoaXZl
cyA9ICAgICAgICAgIHsgMHgwNDAwMDAwMCwgIldlYkNvcmVMb2dMZXZlbCIsIFdURkxvZ0NoYW5u
ZWxPZmYgfTsKIFdURkxvZ0NoYW5uZWwgTG9nUHJvZ3Jlc3MgPSAgICAgICAgICB7IDB4MDgwMDAw
MDAsICJXZWJDb3JlTG9nTGV2ZWwiLCBXVEZMb2dDaGFubmVsT2ZmIH07CitXVEZMb2dDaGFubmVs
IExvZ0ZpbGVBUEkgPSAgICAgICAgICAgeyAweDEwMDAwMDAwLCAiV2ViQ29yZUxvZ0xldmVsIiwg
V1RGTG9nQ2hhbm5lbE9mZiB9OwogCiBXVEZMb2dDaGFubmVsKiBnZXRDaGFubmVsRnJvbU5hbWUo
Y29uc3QgU3RyaW5nJiBjaGFubmVsTmFtZSkKIHsKQEAgLTExMyw3ICsxMTQsNyBAQCBXVEZMb2dD
aGFubmVsKiBnZXRDaGFubmVsRnJvbU5hbWUoY29uc3QgU3RyaW5nJiBjaGFubmVsTmFtZSkKIAog
ICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShjaGFubmVsTmFtZSwgU3RyaW5nKCJQcm9ncmVzcyIp
KSkKICAgICAgICAgcmV0dXJuICZMb2dQcm9ncmVzczsKLSAgICAgICAgCisKICAgICBpZiAoZXF1
YWxJZ25vcmluZ0Nhc2UoY2hhbm5lbE5hbWUsIFN0cmluZygiU3BlbGxpbmdBbmRHcmFtbWFyIikp
KQogICAgICAgICByZXR1cm4gJkxvZ1NwZWxsaW5nQW5kR3JhbW1hcjsKIApAQCAtMTI5LDYgKzEz
MCw5IEBAIFdURkxvZ0NoYW5uZWwqIGdldENoYW5uZWxGcm9tTmFtZShjb25zdCBTdHJpbmcmIGNo
YW5uZWxOYW1lKQogICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShjaGFubmVsTmFtZSwgU3RyaW5n
KCJUaHJlYWRpbmciKSkpCiAgICAgICAgIHJldHVybiAmTG9nVGhyZWFkaW5nOwogCisgICAgaWYg
KGVxdWFsSWdub3JpbmdDYXNlKGNoYW5uZWxOYW1lLCBTdHJpbmcoIkZpbGVBUEkiKSkpCisgICAg
ICAgIHJldHVybiAmTG9nRmlsZUFQSTsKKwogICAgIHJldHVybiAwOwogfQogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5o
CmluZGV4IGMwYzQxYzEuLjQ1YjZkMjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vTG9n
Z2luZy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5oCkBAIC01OCw2ICs1OCw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBleHRlcm4gV1RGTG9nQ2hhbm5lbCBMb2dQbHVnaW5z
OwogICAgIGV4dGVybiBXVEZMb2dDaGFubmVsIExvZ0FyY2hpdmVzOwogICAgIGV4dGVybiBXVEZM
b2dDaGFubmVsIExvZ1Byb2dyZXNzOworICAgIGV4dGVybiBXVEZMb2dDaGFubmVsIExvZ0ZpbGVB
UEk7CiAKICAgICB2b2lkIEluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOwog
ICAgIFdURkxvZ0NoYW5uZWwqIGdldENoYW5uZWxGcm9tTmFtZShjb25zdCBTdHJpbmcmIGNoYW5u
ZWxOYW1lKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpIGIvV2Vi
S2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKaW5kZXggMjUyYTE3Ni4uNzE0NjY4NSAxMDA2NDQK
LS0tIGEvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKKysrIGIvV2ViS2l0L2Nocm9taXVt
L2ZlYXR1cmVzLmd5cGkKQEAgLTQ3LDYgKzQ3LDggQEAKICAgICAgICAgJ0VOQUJMRV9PRkZMSU5F
X1dFQl9BUFBMSUNBVElPTlM9MScsCiAgICAgICAgICdFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQ9
MCcsCiAgICAgICAgICdFTkFCTEVfRE9NX1NUT1JBR0U9MScsCisgICAgICAgICdFTkFCTEVfRklM
RV9SRUFERVI9MCcsCisgICAgICAgICdFTkFCTEVfRklMRV9XUklURVI9MCcsCiAgICAgICAgICdF
TkFCTEVfR0VPTE9DQVRJT049MScsCiAgICAgICAgICdFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dF
Uj0xJywKICAgICAgICAgJ0VOQUJMRV9KU0NfTVVMVElQTEVfVEhSRUFEUz0wJywKZGlmZiAtLWdp
dCBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggYjA0
YjEyYy4uMDAxM2RhMCAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMC0wMy0zMSAgS2ludWtvIFlh
c3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIEZJTEVfUkVBREVSIG9yIEZJTEVfV1JJVEVSIGZlYXR1
cmUgZGVmaW5lcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTM2ODk2CisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZzoKKwogMjAxMC0wMy0zMSAgTWFyY3VzIEJ1bGFjaCAgPGJ1bGFjaEBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmVyZW15IE9ybG93LgpkaWZmIC0tZ2l0IGEvV2ViS2l0
L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1dlYktpdC9tYWMv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOTU2NDJjMC4uMmU0
OTdmOCAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZworKysgYi9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCkBAIC01MCw2ICs1MCw4IEBAIEVOQUJMRV9EQVRBTElTVCA9IEVOQUJMRV9EQVRB
TElTVDsKIEVOQUJMRV9ET01fU1RPUkFHRSA9IEVOQUJMRV9ET01fU1RPUkFHRTsKIEVOQUJMRV9F
VkVOVFNPVVJDRSA9IEVOQUJMRV9FVkVOVFNPVVJDRTsKIEVOQUJMRV9GSUxURVJTID0gRU5BQkxF
X0ZJTFRFUlM7CitFTkFCTEVfRklMRV9SRUFERVIgPSBFTkFCTEVfRklMRV9SRUFERVI7CitFTkFC
TEVfRklMRV9XUklURVIgPSBFTkFCTEVfRklMRV9XUklURVI7CiBFTkFCTEVfR0VPTE9DQVRJT04g
PSBFTkFCTEVfR0VPTE9DQVRJT047CiBFTkFCTEVfSUNPTkRBVEFCQVNFID0gRU5BQkxFX0lDT05E
QVRBQkFTRTsKIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFID0gOwpAQCAtNzUsNCArNzcsNCBAQCBF
TkFCTEVfWEhUTUxNUCA9IDsKIEVOQUJMRV9YUEFUSCA9IEVOQUJMRV9YUEFUSDsKIEVOQUJMRV9Y
U0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX0NBTlZB
UykgJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9CTE9CX1NMSUNFKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9EQVRBQkFTRSkgJChFTkFCTEVfREFUQUdSSUQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVO
QUJMRV9ET01fU1RPUkFHRSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxFX0ZJTFRFUlMp
ICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0UpICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElD
QVRJT05TKSAkKEVOQUJMRV9SVUJZKSAkKEVOQUJMRV9TQU5EQk9YKSAkKEVOQUJMRV9TSEFSRURf
V09SS0VSUykgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfQU5JTUFUSU9OKSAkKEVOQUJMRV9T
VkdfQVNfSU1BR0UpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1QpICQoRU5BQkxFX1NWR19VU0UpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV01MKSAkKEVOQUJM
RV9XT1JLRVJTKSAkKEVOQUJMRV9YSFRNTE1QKSAkKEVOQUJMRV9YUEFUSCkgJChFTkFCTEVfWFNM
VCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9DQU5WQVMpICQoRU5BQkxFXzNEX1JF
TkRFUklORykgJChFTkFCTEVfQkxPQl9TTElDRSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfREFUQUJBU0UpICQo
RU5BQkxFX0RBVEFHUklEKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVfRE9NX1NUT1JBR0Up
ICQoRU5BQkxFX0VWRU5UU09VUkNFKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GSUxFX1JF
QURFUikgJChFTkFCTEVfRklMRV9XUklURVIpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0pBVkFT
Q1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKSAkKEVOQUJMRV9SVUJZKSAkKEVOQUJM
RV9TQU5EQk9YKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1ZHKSAkKEVOQUJM
RV9TVkdfQU5JTUFUSU9OKSAkKEVOQUJMRV9TVkdfQVNfSU1BR0UpICQoRU5BQkxFX1NWR19ET01f
T0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfRk9SRUlHTl9P
QkpFQ1QpICQoRU5BQkxFX1NWR19VU0UpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9XRUJfU09D
S0VUUykgJChFTkFCTEVfV01MKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YSFRNTE1QKSAk
KEVOQUJMRV9YUEFUSCkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1naXQgYS9XZWJLaXRMaWJyYXJp
ZXMvQ2hhbmdlTG9nIGIvV2ViS2l0TGlicmFyaWVzL0NoYW5nZUxvZwppbmRleCAyNzBlOGEzLi5l
YmY3MzIzIDEwMDY0NAotLS0gYS9XZWJLaXRMaWJyYXJpZXMvQ2hhbmdlTG9nCisrKyBiL1dlYktp
dExpYnJhcmllcy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0wMy0zMSAgS2ludWtv
IFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyBFTkFCTEVfRklMRV9SRUFERVIgYW5kIEVOQUJM
RV9GSUxFX1dSSVRFUiBmZWF0dXJlIGZsYWdzCisgICAgICAgIGZvciBGaWxlUmVhZGVyIGFuZCBG
aWxlV3JpdGVyIHN1cHBvcnQuCisKKyAgICAgICAgKiB3aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJl
RGVmaW5lcy52c3Byb3BzOgorICAgICAgICAqIHdpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZp
bmVzQ2Fpcm8udnNwcm9wczoKKwogMjAxMC0wMy0yNSAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IERhbiBCZXJuc3RlaW4uCmRpZmYgLS1n
aXQgYS9XZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXMudnNw
cm9wcyBiL1dlYktpdExpYnJhcmllcy93aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lcy52
c3Byb3BzCmluZGV4IDQ1ZGFjYmMuLjIxODRmNDYgMTAwNjQ0Ci0tLSBhL1dlYktpdExpYnJhcmll
cy93aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lcy52c3Byb3BzCisrKyBiL1dlYktpdExp
YnJhcmllcy93aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lcy52c3Byb3BzCkBAIC05LDcg
KzksNyBAQAogCT4KICAgPFRvb2wKIAkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJUHJlcHJv
Y2Vzc29yRGVmaW5pdGlvbnM9IiQoRU5BQkxFXzNEX0NBTlZBUyk7JChFTkFCTEVfM0RfUkVOREVS
SU5HKTskKEVOQUJMRV9CTE9CX1NMSUNFKTskKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyk7JChF
TkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKTskKEVOQUJMRV9EQVRBQkFTRSk7JChFTkFC
TEVfREFUQUdSSUQpOyQoRU5BQkxFX0RBVEFMSVNUKTskKEVOQUJMRV9ET01fU1RPUkFHRSk7JChF
TkFCTEVfRVZFTlRTT1VSQ0UpOyQoRU5BQkxFX0ZJTFRFUlMpOyQoRU5BQkxFX0dFT0xPQ0FUSU9O
KTskKEVOQUJMRV9JQ09OREFUQUJBU0UpOyQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpOyQoRU5B
QkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpOyQoRU5BQkxFX01BVEhNTCk7JChFTkFCTEVfTk9USUZJ
Q0FUSU9OUyk7JChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKTskKEVOQUJMRV9SVUJZ
KTskKEVOQUJMRV9TQU5EQk9YKTskKEVOQUJMRV9TSEFSRURfV09SS0VSUyk7JChFTkFCTEVfU1ZH
KTskKEVOQUJMRV9TVkdfQU5JTUFUSU9OKTskKEVOQUJMRV9TVkdfQVNfSU1BR0UpOyQoRU5BQkxF
X1NWR19ET01fT0JKQ19CSU5ESU5HUyk7JChFTkFCTEVfU1ZHX0ZPTlRTKTskKEVOQUJMRV9TVkdf
Rk9SRUlHTl9PQkpFQ1QpOyQoRU5BQkxFX1NWR19VU0UpOyQoRU5BQkxFX1ZJREVPKTskKEVOQUJM
RV9XRUJfU09DS0VUUyk7JChFTkFCTEVfV01MKTskKEVOQUJMRV9XT1JLRVJTKTskKEVOQUJMRV9Y
SFRNTE1QKTskKEVOQUJMRV9YUEFUSCk7JChFTkFCTEVfWFNMVCkiCisJCVByZXByb2Nlc3NvckRl
ZmluaXRpb25zPSIkKEVOQUJMRV8zRF9DQU5WQVMpOyQoRU5BQkxFXzNEX1JFTkRFUklORyk7JChF
TkFCTEVfQkxPQl9TTElDRSk7JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpOyQoRU5BQkxFX0NM
SUVOVF9CQVNFRF9HRU9MT0NBVElPTik7JChFTkFCTEVfREFUQUJBU0UpOyQoRU5BQkxFX0RBVEFH
UklEKTskKEVOQUJMRV9EQVRBTElTVCk7JChFTkFCTEVfRE9NX1NUT1JBR0UpOyQoRU5BQkxFX0VW
RU5UU09VUkNFKTskKEVOQUJMRV9GSUxURVJTKTskKEVOQUJMRV9GSUxFX1JFQURFUik7JChFTkFC
TEVfRklMRV9XUklURVIpOyQoRU5BQkxFX0dFT0xPQ0FUSU9OKTskKEVOQUJMRV9JQ09OREFUQUJB
U0UpOyQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpOyQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdH
RVIpOyQoRU5BQkxFX01BVEhNTCk7JChFTkFCTEVfTk9USUZJQ0FUSU9OUyk7JChFTkFCTEVfT0ZG
TElORV9XRUJfQVBQTElDQVRJT05TKTskKEVOQUJMRV9SVUJZKTskKEVOQUJMRV9TQU5EQk9YKTsk
KEVOQUJMRV9TSEFSRURfV09SS0VSUyk7JChFTkFCTEVfU1ZHKTskKEVOQUJMRV9TVkdfQU5JTUFU
SU9OKTskKEVOQUJMRV9TVkdfQVNfSU1BR0UpOyQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5H
Uyk7JChFTkFCTEVfU1ZHX0ZPTlRTKTskKEVOQUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1QpOyQoRU5B
QkxFX1NWR19VU0UpOyQoRU5BQkxFX1ZJREVPKTskKEVOQUJMRV9XRUJfU09DS0VUUyk7JChFTkFC
TEVfV01MKTskKEVOQUJMRV9XT1JLRVJTKTskKEVOQUJMRV9YSFRNTE1QKTskKEVOQUJMRV9YUEFU
SCk7JChFTkFCTEVfWFNMVCkiCiAJLz4KICAgPFVzZXJNYWNybwogCQlOYW1lPSJFTkFCTEVfM0Rf
Q0FOVkFTIgpAQCAtNjcsNiArNjcsMTYgQEAKIAkJUGVyZm9ybUVudmlyb25tZW50U2V0PSJ0cnVl
IgogCS8+CiAgIDxVc2VyTWFjcm8KKwkJTmFtZT0iRU5BQkxFX0ZJTEVfUkVBREVSIgorCQlWYWx1
ZT0iIgorCQlQZXJmb3JtRW52aXJvbm1lbnRTZXQ9InRydWUiCisJLz4KKyAgPFVzZXJNYWNybwor
CQlOYW1lPSJFTkFCTEVfRklMRV9XUklURVIiCisJCVZhbHVlPSIiCisJCVBlcmZvcm1FbnZpcm9u
bWVudFNldD0idHJ1ZSIKKwkvPgorICA8VXNlck1hY3JvCiAJCU5hbWU9IkVOQUJMRV9HRU9MT0NB
VElPTiIKIAkJVmFsdWU9IkVOQUJMRV9HRU9MT0NBVElPTiIKIAkJUGVyZm9ybUVudmlyb25tZW50
U2V0PSJ0cnVlIgpkaWZmIC0tZ2l0IGEvV2ViS2l0TGlicmFyaWVzL3dpbi90b29scy92c3Byb3Bz
L0ZlYXR1cmVEZWZpbmVzQ2Fpcm8udnNwcm9wcyBiL1dlYktpdExpYnJhcmllcy93aW4vdG9vbHMv
dnNwcm9wcy9GZWF0dXJlRGVmaW5lc0NhaXJvLnZzcHJvcHMKaW5kZXggZTczN2ZmYS4uMTQ2NDRk
NCAxMDA2NDQKLS0tIGEvV2ViS2l0TGlicmFyaWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVE
ZWZpbmVzQ2Fpcm8udnNwcm9wcworKysgYi9XZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzL3ZzcHJv
cHMvRmVhdHVyZURlZmluZXNDYWlyby52c3Byb3BzCkBAIC05LDcgKzksNyBAQAogCT4KICAgPFRv
b2wKIAkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9
IiQoRU5BQkxFXzNEX0NBTlZBUyk7JChFTkFCTEVfM0RfUkVOREVSSU5HKTskKEVOQUJMRV9CTE9C
X1NMSUNFKTskKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyk7JChFTkFCTEVfQ0xJRU5UX0JBU0VE
X0dFT0xPQ0FUSU9OKTskKEVOQUJMRV9EQVRBQkFTRSk7JChFTkFCTEVfREFUQUdSSUQpOyQoRU5B
QkxFX0RBVEFMSVNUKTskKEVOQUJMRV9ET01fU1RPUkFHRSk7JChFTkFCTEVfRVZFTlRTT1VSQ0Up
OyQoRU5BQkxFX0ZJTFRFUlMpOyQoRU5BQkxFX0dFT0xPQ0FUSU9OKTskKEVOQUJMRV9JQ09OREFU
QUJBU0UpOyQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpOyQoRU5BQkxFX0pBVkFTQ1JJUFRfREVC
VUdHRVIpOyQoRU5BQkxFX01BVEhNTCk7JChFTkFCTEVfTk9USUZJQ0FUSU9OUyk7JChFTkFCTEVf
T0ZGTElORV9XRUJfQVBQTElDQVRJT05TKTskKEVOQUJMRV9TSEFSRURfV09SS0VSUyk7JChFTkFC
TEVfU1ZHKTskKEVOQUJMRV9TVkdfQU5JTUFUSU9OKTskKEVOQUJMRV9TVkdfQVNfSU1BR0UpOyQo
RU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUyk7JChFTkFCTEVfU1ZHX0ZPTlRTKTskKEVOQUJM
RV9TVkdfRk9SRUlHTl9PQkpFQ1QpOyQoRU5BQkxFX1NWR19VU0UpOyQoRU5BQkxFX1ZJREVPKTsk
KEVOQUJMRV9XRUJfU09DS0VUUyk7JChFTkFCTEVfV01MKTskKEVOQUJMRV9XT1JLRVJTKTskKEVO
QUJMRV9YSFRNTE1QKTskKEVOQUJMRV9YUEFUSCk7JChFTkFCTEVfWFNMVCkiCisJCVByZXByb2Nl
c3NvckRlZmluaXRpb25zPSIkKEVOQUJMRV8zRF9DQU5WQVMpOyQoRU5BQkxFXzNEX1JFTkRFUklO
Ryk7JChFTkFCTEVfQkxPQl9TTElDRSk7JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpOyQoRU5B
QkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTik7JChFTkFCTEVfREFUQUJBU0UpOyQoRU5BQkxF
X0RBVEFHUklEKTskKEVOQUJMRV9EQVRBTElTVCk7JChFTkFCTEVfRE9NX1NUT1JBR0UpOyQoRU5B
QkxFX0VWRU5UU09VUkNFKTskKEVOQUJMRV9GSUxURVJTKTskKEVOQUJMRV9GSUxFX1JFQURFUik7
JChFTkFCTEVfRklMRV9XUklURVIpOyQoRU5BQkxFX0dFT0xPQ0FUSU9OKTskKEVOQUJMRV9JQ09O
REFUQUJBU0UpOyQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpOyQoRU5BQkxFX0pBVkFTQ1JJUFRf
REVCVUdHRVIpOyQoRU5BQkxFX01BVEhNTCk7JChFTkFCTEVfTk9USUZJQ0FUSU9OUyk7JChFTkFC
TEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKTskKEVOQUJMRV9TSEFSRURfV09SS0VSUyk7JChF
TkFCTEVfU1ZHKTskKEVOQUJMRV9TVkdfQU5JTUFUSU9OKTskKEVOQUJMRV9TVkdfQVNfSU1BR0Up
OyQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUyk7JChFTkFCTEVfU1ZHX0ZPTlRTKTskKEVO
QUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1QpOyQoRU5BQkxFX1NWR19VU0UpOyQoRU5BQkxFX1ZJREVP
KTskKEVOQUJMRV9XRUJfU09DS0VUUyk7JChFTkFCTEVfV01MKTskKEVOQUJMRV9XT1JLRVJTKTsk
KEVOQUJMRV9YSFRNTE1QKTskKEVOQUJMRV9YUEFUSCk7JChFTkFCTEVfWFNMVCkiCiAJLz4KICAg
PFVzZXJNYWNybwogCQlOYW1lPSJFTkFCTEVfM0RfQ0FOVkFTIgpAQCAtNjcsNiArNjcsMTYgQEAK
IAkJUGVyZm9ybUVudmlyb25tZW50U2V0PSJ0cnVlIgogCS8+CiAgIDxVc2VyTWFjcm8KKwkJTmFt
ZT0iRU5BQkxFX0ZJTEVfUkVBREVSIgorCQlWYWx1ZT0iIgorCQlQZXJmb3JtRW52aXJvbm1lbnRT
ZXQ9InRydWUiCisJLz4KKyAgPFVzZXJNYWNybworCQlOYW1lPSJFTkFCTEVfRklMRV9XUklURVIi
CisJCVZhbHVlPSIiCisJCVBlcmZvcm1FbnZpcm9ubWVudFNldD0idHJ1ZSIKKwkvPgorICA8VXNl
ck1hY3JvCiAJCU5hbWU9IkVOQUJMRV9HRU9MT0NBVElPTiIKIAkJVmFsdWU9IiIKIAkJUGVyZm9y
bUVudmlyb25tZW50U2V0PSJ0cnVlIgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9n
IGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDc5OTQ2Y2IuLjkxY2VhYWMgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMiBAQAorMjAxMC0wMy0zMSAgS2ludWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIG9wdGlvbnMgdG8gZW5hYmxlIEZJTEVfUkVBREVSIGFuZCBGSUxFX1dSSVRFUiBzdXBwb3J0
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzY4OTYK
KworICAgICAgICAqIFNjcmlwdHMvYnVpbGQtd2Via2l0OgorCiAyMDEwLTAzLTMxICBFcmljIFNl
aWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRo
LgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQgYi9XZWJLaXRU
b29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAppbmRleCBmODY2MTg4Li4yMzQwOTZjIDEwMDc1NQot
LS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAorKysgYi9XZWJLaXRUb29scy9T
Y3JpcHRzL2J1aWxkLXdlYmtpdApAQCAtNTYsNyArNTYsOCBAQCBteSAoJHRocmVlRENhbnZhc1N1
cHBvcnQsICR0aHJlZURSZW5kZXJpbmdTdXBwb3J0LCAkY2hhbm5lbE1lc3NhZ2luZ1N1cHBvcnQs
ICRjbAogICAgICRqYXZhU2NyaXB0RGVidWdnZXJTdXBwb3J0LCAkbWF0aG1sU3VwcG9ydCwgJG9m
ZmxpbmVXZWJBcHBsaWNhdGlvblN1cHBvcnQsICRydWJ5U3VwcG9ydCwgJHN5c3RlbU1hbGxvY1N1
cHBvcnQsICRzYW5kYm94U3VwcG9ydCwgJHNoYXJlZFdvcmtlcnNTdXBwb3J0LAogICAgICRzdmdT
dXBwb3J0LCAkc3ZnQW5pbWF0aW9uU3VwcG9ydCwgJHN2Z0FzSW1hZ2VTdXBwb3J0LCAkc3ZnRE9N
T2JqQ0JpbmRpbmdzU3VwcG9ydCwgJHN2Z0ZvbnRzU3VwcG9ydCwKICAgICAkc3ZnRm9yZWlnbk9i
amVjdFN1cHBvcnQsICRzdmdVc2VTdXBwb3J0LCAkdmlkZW9TdXBwb3J0LCAkd2ViU29ja2V0c1N1
cHBvcnQsICR3bWxTdXBwb3J0LCAkd2Nzc1N1cHBvcnQsICR4aHRtbG1wU3VwcG9ydCwgJHdvcmtl
cnNTdXBwb3J0LAotICAgICR4cGF0aFN1cHBvcnQsICR4c2x0U3VwcG9ydCwgJGNvdmVyYWdlU3Vw
cG9ydCwgJG5vdGlmaWNhdGlvbnNTdXBwb3J0LCAkYmxvYlNsaWNlU3VwcG9ydCwgJHRpbGVkQmFj
a2luZ1N0b3JlU3VwcG9ydCk7CisgICAgJHhwYXRoU3VwcG9ydCwgJHhzbHRTdXBwb3J0LCAkY292
ZXJhZ2VTdXBwb3J0LCAkbm90aWZpY2F0aW9uc1N1cHBvcnQsICRibG9iU2xpY2VTdXBwb3J0LCAk
dGlsZWRCYWNraW5nU3RvcmVTdXBwb3J0LAorICAgICRmaWxlUmVhZGVyU3VwcG9ydCwgJGZpbGVX
cml0ZXJTdXBwb3J0KTsKIAogbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9uID0+ICIzZC1j
YW52YXMiLCBkZXNjID0+ICJUb2dnbGUgM0QgY2FudmFzIHN1cHBvcnQiLApAQCAtMTc1LDYgKzE3
NiwxMiBAQCBteSBAZmVhdHVyZXMgPSAoCiAKICAgICB7IG9wdGlvbiA9PiAieHNsdCIsIGRlc2Mg
PT4gIlRvZ2dsZSBYU0xUIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfWFNMVCIs
IGRlZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCR4c2x0U3VwcG9ydCB9LAorCisgICAgeyBvcHRpb24g
PT4gImZpbGUtcmVhZGVyIiwgZGVzYyA9PiAiVG9nZ2xlIEZpbGVSZWFkZXIgc3VwcG9ydCIsCisg
ICAgICBkZWZpbmUgPT4gIkVOQUJMRV9GSUxFX1JFQURFUiIsIGRlZmF1bHQgPT4gMCwgdmFsdWUg
PT4gXCRmaWxlUmVhZGVyU3VwcG9ydCB9LAorCisgICAgeyBvcHRpb24gPT4gImZpbGUtd3JpdGVy
IiwgZGVzYyA9PiAiVG9nZ2xlIEZpbGVXcml0ZXIgc3VwcG9ydCIsCisgICAgICBkZWZpbmUgPT4g
IkVOQUJMRV9GSUxFX1dSSVRFUiIsIGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRmaWxlV3JpdGVy
U3VwcG9ydCB9LAogKTsKIAogIyBVcGRhdGUgZGVmYXVsdHMgZnJvbSBRdCdzIHByb2plY3QgZmls
ZQpkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCmluZGV4IDViYzE3ODEu
LjIyYmQ1NDUgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAg
LTU2OSw2ICs1NjksMjIgQEAgQUNfQVJHX0VOQUJMRShmYXN0X21vYmlsZV9zY3JvbGxpbmcsCiAg
ICAgICAgICAgICAgIFtdLFtlbmFibGVfZmFzdF9tb2JpbGVfc2Nyb2xsaW5nPSJubyJdKQogQUNf
TVNHX1JFU1VMVChbJGVuYWJsZV9mYXN0X21vYmlsZV9zY3JvbGxpbmddKQogCisjIGNoZWNrIHdo
ZXRoZXIgdG8gZW5hYmxlIEZpbGVSZWFkZXIgc3VwcG9ydAorQUNfTVNHX0NIRUNLSU5HKFt3aGV0
aGVyIHRvIGVuYWJsZSBGaWxlUmVhZGVyIHN1cHBvcnRdKQorQUNfQVJHX0VOQUJMRShmaWxlX3Jl
YWRlciwKKyAgICAgICAgICAgICAgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWZpbGUtcmVhZGVy
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VuYWJsZSBzdXBwb3J0IGZvciBGaWxl
UmVhZGVyIFtkZWZhdWx0PW5vXV0pLAorICAgICAgICAgICAgICBbXSxbZW5hYmxlX2ZpbGVfcmVh
ZGVyPSJubyJdKQorQUNfTVNHX1JFU1VMVChbJGVuYWJsZV9maWxlX3JlYWRlcl0pCisKKyMgY2hl
Y2sgd2hldGhlciB0byBlbmFibGUgRmlsZVdyaXRlciBzdXBwb3J0CitBQ19NU0dfQ0hFQ0tJTkco
W3doZXRoZXIgdG8gZW5hYmxlIEZpbGVXcml0ZXIgc3VwcG9ydF0pCitBQ19BUkdfRU5BQkxFKGZp
bGVfd3JpdGVyLAorICAgICAgICAgICAgICBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtZmlsZS13
cml0ZXJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW5hYmxlIHN1cHBvcnQgZm9y
IEZpbGVXcml0ZXIgW2RlZmF1bHQ9bm9dXSksCisgICAgICAgICAgICAgIFtdLFtlbmFibGVfZmls
ZV93cml0ZXI9Im5vIl0pCitBQ19NU0dfUkVTVUxUKFskZW5hYmxlX2ZpbGVfd3JpdGVyXSkKKwog
IyBjaGVjayB3aGV0aGVyIHRvIGVuYWJsZSBjb2RlIGNvdmVyYWdlCiBBQ19NU0dfQ0hFQ0tJTkco
W3doZXRoZXIgdG8gZW5hYmxlIGNvZGUgY292ZXJhZ2Ugc3VwcG9ydF0pCiBBQ19BUkdfRU5BQkxF
KGNvdmVyYWdlLApAQCAtODA3LDYgKzgyMyw4IEBAIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfWEhU
TUxNUF0sW3Rlc3QgIiRlbmFibGVfeGh0bWxtcCIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChb
RU5BQkxFX1hQQVRIXSxbdGVzdCAiJGVuYWJsZV94cGF0aCIgPSAieWVzIl0pCiBBTV9DT05ESVRJ
T05BTChbRU5BQkxFX1hTTFRdLFt0ZXN0ICIkZW5hYmxlX3hzbHQiID0gInllcyJdKQogQU1fQ09O
RElUSU9OQUwoW0VOQUJMRV9GSUxURVJTXSxbdGVzdCAiJGVuYWJsZV9maWx0ZXJzIiA9ICJ5ZXMi
XSkKK0FNX0NPTkRJVElPTkFMKFtFTkFCTEVfRklMRV9SRUFERVJdLFt0ZXN0ICIkZW5hYmxlX2Zp
bGVfcmVhZGVyIiA9ICJ5ZXMiXSkKK0FNX0NPTkRJVElPTkFMKFtFTkFCTEVfRklMRV9XUklURVJd
LFt0ZXN0ICIkZW5hYmxlX2ZpbGVfd3JpdGVyIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtF
TkFCTEVfR0VPTE9DQVRJT05dLCBbdGVzdCAiJGVuYWJsZV9nZW9sb2NhdGlvbiIgPSAieWVzIl0p
CiBBTV9DT05ESVRJT05BTChbRU5BQkxFX01BVEhNTF0sIFt0ZXN0ICIkZW5hYmxlX21hdGhtbCIg
PSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX1JVQlldLFt0ZXN0ICIkZW5hYmxlX3J1
YnkiID0gInllcyJdKQpAQCAtODYwLDYgKzg3OCw4IEBAIEZlYXR1cmVzOgogIEZhc3QgTW9iaWxl
IFNjcm9sbGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV9m
YXN0X21vYmlsZV9zY3JvbGxpbmcKICBKSVQgY29tcGlsYXRpb24gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfaml0CiAgRmlsdGVycyBzdXBwb3J0ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX2ZpbHRlcnMK
KyBGaWxlUmVhZGVyIHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA6ICRlbmFibGVfZmlsZV9yZWFkZXIKKyBGaWxlV3JpdGVyIHN1cHBvcnQgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfZmlsZV93cml0ZXIKICBHZW9sb2Nh
dGlvbiBzdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFi
bGVfZ2VvbG9jYXRpb24KICBKYXZhU2NyaXB0IGRlYnVnZ2VyL3Byb2ZpbGVyIHN1cHBvcnQgICAg
ICAgICAgICAgICAgICAgICA6ICRlbmFibGVfamF2YXNjcmlwdF9kZWJ1Z2dlcgogIE1hdGhNTCBz
dXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJs
ZV9tYXRobWwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52333</attachid>
            <date>2010-04-01 14:06:27 -0700</date>
            <delta_ts>2010-04-05 13:00:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-36896-20100401140626.patch</filename>
            <type>text/plain</type>
            <size>39773</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAwMDFkZGRiLi43MTgxOTJh
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTAtMDQtMDEgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBGaWxlVGhyZWFk
IGZvciBhc3luYyBmaWxlIG9wZXJhdGlvbiBzdXBwb3J0IGluIEZpbGVSZWFkZXIgYW5kIEZpbGVX
cml0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2
ODk2CisKKyAgICAgICAgQWRkIEVBTkJFTF9GSUxFX1JFQURFUiBhbmQgRU5BQkxFX0ZJTEVfV1JJ
VEVSIGZsYWdzLgorCisgICAgICAgICogY29uZmlndXJlLmFjOgorCiAyMDEwLTAzLTI2ICBKb2Nl
bHluIFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBub2tpYS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cgYi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggNTI0YzViMy4uYTFmZDUyMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL0phdmFTY3JpcHRDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEwLTA0LTAxICBLaW51a28gWWFzdWRhICA8
a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgRmlsZVRocmVhZCBmb3IgYXN5bmMgZmlsZSBvcGVyYXRpb24gc3Vw
cG9ydCBpbiBGaWxlUmVhZGVyIGFuZCBGaWxlV3JpdGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjg5NgorCisgICAgICAgIEFkZCBFTkFCTEVfRklM
RV9SRUFERVIgYW5kIEVOQUJMRV9GSUxFX1dSSVRFUiBmbGFncy4KKworICAgICAgICAqIENvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDEwLTAzLTMxICBHYXZpbiBC
YXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKHdpbmRvd3MgYnVpbGQgZml4IHB0IElJKS4KZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvSmF2YVNjcmlw
dENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOTU2NDJj
MC4uOTJjYTRhYiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKKysrIGIvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTUwLDYgKzUwLDggQEAgRU5BQkxFX0RBVEFMSVNU
ID0gRU5BQkxFX0RBVEFMSVNUOwogRU5BQkxFX0RPTV9TVE9SQUdFID0gRU5BQkxFX0RPTV9TVE9S
QUdFOwogRU5BQkxFX0VWRU5UU09VUkNFID0gRU5BQkxFX0VWRU5UU09VUkNFOwogRU5BQkxFX0ZJ
TFRFUlMgPSBFTkFCTEVfRklMVEVSUzsKK0VOQUJMRV9GSUxFX1JFQURFUiA9IDsKK0VOQUJMRV9G
SUxFX1dSSVRFUiA9IDsKIEVOQUJMRV9HRU9MT0NBVElPTiA9IEVOQUJMRV9HRU9MT0NBVElPTjsK
IEVOQUJMRV9JQ09OREFUQUJBU0UgPSBFTkFCTEVfSUNPTkRBVEFCQVNFOwogRU5BQkxFX0lOREVY
RURfREFUQUJBU0UgPSA7CkBAIC03NSw0ICs3Nyw0IEBAIEVOQUJMRV9YSFRNTE1QID0gOwogRU5B
QkxFX1hQQVRIID0gRU5BQkxFX1hQQVRIOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAot
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfQ0FOVkFTKSAkKEVOQUJMRV8zRF9SRU5ERVJJ
TkcpICQoRU5BQkxFX0JMT0JfU0xJQ0UpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVO
QUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJM
RV9EQVRBR1JJRCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVO
QUJMRV9FVkVOVFNPVVJDRSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1JVQlkp
ICQoRU5BQkxFX1NBTkRCT1gpICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcp
ICQoRU5BQkxFX1NWR19BTklNQVRJT04pICQoRU5BQkxFX1NWR19BU19JTUFHRSkgJChFTkFCTEVf
U1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19G
T1JFSUdOX09CSkVDVCkgJChFTkFCTEVfU1ZHX1VTRSkgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hI
VE1MTVApICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX0NBTlZBUykgJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9CTE9C
X1NMSUNFKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ0xJRU5UX0JBU0VE
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFCTEVfREFUQUdSSUQpICQoRU5B
QkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9ET01fU1RPUkFHRSkgJChFTkFCTEVfRVZFTlRTT1VSQ0Up
ICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZJTEVfUkVBREVSKSAkKEVOQUJMRV9GSUxFX1dS
SVRFUikgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZMSU5FX1dFQl9B
UFBMSUNBVElPTlMpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxFX1NBTkRCT1gpICQoRU5BQkxFX1NI
QVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19BTklNQVRJT04pICQoRU5B
QkxFX1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCkgJChFTkFCTEVfU1ZHX1VT
RSkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XTUwpICQo
RU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIVE1MTVApICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJM
RV9YU0xUKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggZjM3ZTZmMy4uMGZhYzc5MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OCBAQAorMjAxMC0wNC0wMSAgS2lu
dWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEZpbGVUaHJlYWQgZm9yIGFzeW5jIGZpbGUg
b3BlcmF0aW9uIHN1cHBvcnQgaW4gRmlsZVJlYWRlciBhbmQgRmlsZVdyaXRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzY4OTYKKworICAgICAgICBB
ZGQgRmlsZVRocmVhZCBmb3IgYXN5bmMgZmlsZSBvcGVyYXRpb24gc3VwcG9ydCBmb3IgRmlsZVJl
YWRlciBhbmQKKyAgICAgICAgRmlsZVdyaXRlci4gIFRoZSBwYXRjaCBhbHNvIGFkZHMgRU5BQkxF
X0ZJTEVfUkVBREVSIG9yCisgICAgICAgIEVOQUJMRV9GSUxFX1dSSVRFUiBidWlsZCBmbGFncy9k
ZWZpbmVzLiAgQm90aCBmbGFncyBhcmUgZGlzYWJsZWQKKyAgICAgICAgYnkgZGVmYXVsdC4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMsIHdpbGwgYWRkIG9uZXMgd2hlbiBhZnRlciBhZGRpbmcgbW9k
dWxlcyB3aGljaCB1c2UgdGhlIHRocmVhZC4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAg
ICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6flNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6
ZmlsZVRocmVhZCk6CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAg
ICAgICAgKiBodG1sL0ZpbGVUaHJlYWQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZp
bGVUaHJlYWQ6OkZpbGVUaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVRocmVhZDo6fkZp
bGVUaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVRocmVhZDo6c3RhcnQpOgorICAgICAg
ICAoV2ViQ29yZTo6RmlsZVRocmVhZDo6c3RvcCk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlVGhy
ZWFkOjpwb3N0VGFzayk6CisgICAgICAgIChXZWJDb3JlOjpTYW1lRmlsZVByZWRpY2F0ZTo6U2Ft
ZUZpbGVQcmVkaWNhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U2FtZUZpbGVQcmVkaWNhdGU6Om9w
ZXJhdG9yKCkpOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVRocmVhZDo6cmVtb3ZlVGFzayk6Cisg
ICAgICAgIChXZWJDb3JlOjpGaWxlVGhyZWFkOjpmaWxlVGhyZWFkU3RhcnQpOgorICAgICAgICAo
V2ViQ29yZTo6RmlsZVRocmVhZDo6cnVuTG9vcCk6CisgICAgICAgICogaHRtbC9GaWxlVGhyZWFk
Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RmlsZVRocmVhZDo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZpbGVUaHJlYWQ6OlRhc2s6OlRhc2spOgorICAgICAgICAoV2ViQ29yZTo6
RmlsZVRocmVhZDo6VGFzazo6flRhc2spOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVRocmVhZDo6
VGFzazo6ZmlsZUhhbmRsZSk6CisgICAgICAgICogcGxhdGZvcm0vTG9nZ2luZy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjopOgorICAgICAgICAoV2ViQ29yZTo6Z2V0Q2hhbm5lbEZyb21OYW1lKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9Mb2dnaW5nLmg6CisKIDIwMTAtMDMtMzEgIFpoZW55YW8gTW8g
IDx6bW9AZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
IGIvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA5
NTY0MmMwLi45MmNhNGFiIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKQEAgLTUwLDYgKzUwLDggQEAgRU5BQkxFX0RBVEFMSVNUID0gRU5BQkxF
X0RBVEFMSVNUOwogRU5BQkxFX0RPTV9TVE9SQUdFID0gRU5BQkxFX0RPTV9TVE9SQUdFOwogRU5B
QkxFX0VWRU5UU09VUkNFID0gRU5BQkxFX0VWRU5UU09VUkNFOwogRU5BQkxFX0ZJTFRFUlMgPSBF
TkFCTEVfRklMVEVSUzsKK0VOQUJMRV9GSUxFX1JFQURFUiA9IDsKK0VOQUJMRV9GSUxFX1dSSVRF
UiA9IDsKIEVOQUJMRV9HRU9MT0NBVElPTiA9IEVOQUJMRV9HRU9MT0NBVElPTjsKIEVOQUJMRV9J
Q09OREFUQUJBU0UgPSBFTkFCTEVfSUNPTkRBVEFCQVNFOwogRU5BQkxFX0lOREVYRURfREFUQUJB
U0UgPSA7CkBAIC03NSw0ICs3Nyw0IEBAIEVOQUJMRV9YSFRNTE1QID0gOwogRU5BQkxFX1hQQVRI
ID0gRU5BQkxFX1hQQVRIOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfQ0FOVkFTKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5B
QkxFX0JMT0JfU0xJQ0UpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElF
TlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBR1JJ
RCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9FVkVO
VFNPVVJDRSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSkFWQVND
UklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxF
X1NBTkRCT1gpICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxF
X1NWR19BTklNQVRJT04pICQoRU5BQkxFX1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9P
QkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09C
SkVDVCkgJChFTkFCTEVfU1ZHX1VTRSkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1dFQl9TT0NL
RVRTKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIVE1MTVApICQo
RU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX0NBTlZBUykgJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9CTE9CX1NMSUNFKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFCTEVfREFUQUdSSUQpICQoRU5BQkxFX0RBVEFM
SVNUKSAkKEVOQUJMRV9ET01fU1RPUkFHRSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxF
X0ZJTFRFUlMpICQoRU5BQkxFX0ZJTEVfUkVBREVSKSAkKEVOQUJMRV9GSUxFX1dSSVRFUikgJChF
TkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRSkgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1M
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElP
TlMpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxFX1NBTkRCT1gpICQoRU5BQkxFX1NIQVJFRF9XT1JL
RVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19BTklNQVRJT04pICQoRU5BQkxFX1NWR19B
U19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9O
VFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCkgJChFTkFCTEVfU1ZHX1VTRSkgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dP
UktFUlMpICQoRU5BQkxFX1hIVE1MTVApICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxl
LmFtCmluZGV4IGI3NzE4NjIuLmQ3MmIyMzIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZp
bGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTAyMSw2ICsxMDIxLDggQEAg
d2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2h0bWwvRmlsZS5oIFwKIAlXZWJDb3JlL2h0
bWwvRmlsZUxpc3QuY3BwIFwKIAlXZWJDb3JlL2h0bWwvRmlsZUxpc3QuaCBcCisJV2ViQ29yZS9o
dG1sL0ZpbGVUaHJlYWQuY3BwIFwKKwlXZWJDb3JlL2h0bWwvRmlsZVRocmVhZC5oIFwKIAlXZWJD
b3JlL2h0bWwvRm9ybURhdGFMaXN0LmNwcCBcCiAJV2ViQ29yZS9odG1sL0Zvcm1EYXRhTGlzdC5o
IFwKIAlXZWJDb3JlL2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uY3BwIFwKQEAgLTM1NTgsNiArMzU2
MCwyMSBAQCBGRUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX0JMT0JfU0xJQ0U9MQogd2ViY29yZV9j
cHBmbGFncyArPSAtREVOQUJMRV9CTE9CX1NMSUNFPTEKIGVuZGlmICAjIEVORCBFTkFCTEVfQkxP
Ql9TTElDRQogCisjIC0tLQorIyBGaWxlUmVhZGVyIHN1cHBvcnQKKyMgLS0tCitpZiBFTkFCTEVf
RklMRV9SRUFERVIKK0ZFQVRVUkVfREVGSU5FUyArPSBFTkFCTEVfRklMRV9SRUFERVI9MQord2Vi
Y29yZV9jcHBmbGFncyArPSAtREVOQUJMRV9GSUxFX1JFQURFUj0xCitlbmRpZiAgIyBFTkQgRU5B
QkxFX0ZJTEVfUkVBREVSCisKKyMgLS0tCisjIEZpbGVXcml0ZXIgc3VwcG9ydAorIyAtLS0KK2lm
IEVOQUJMRV9GSUxFX1dSSVRFUgorRkVBVFVSRV9ERUZJTkVTICs9IEVOQUJMRV9GSUxFX1dSSVRF
Uj0xCit3ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFX0ZJTEVfV1JJVEVSPTEKK2VuZGlmICAj
IEVORCBFTkFCTEVfRklMRV9XUklURVIKIAogRGVyaXZlZFNvdXJjZXMvQ1NTUHJvcGVydHlOYW1l
cy5oOiAkKFdFQkNPUkVfQ1NTX1BST1BFUlRZX05BTUVTKSAkKFdlYkNvcmUpL2Nzcy9tYWtlcHJv
cC5wbAogCWlmIHNvcnQgJChXRUJDT1JFX0NTU19QUk9QRVJUWV9OQU1FUykgfCB1bmlxIC1kIHwg
Z3JlcCAtRSAnXlteI10nOyB0aGVuIGVjaG8gJ0R1cGxpY2F0ZSB2YWx1ZSEnOyBleGl0IDE7IGZp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBp
CmluZGV4IDIxNGM3ZjAuLjlhNWI3YTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBp
CisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xNDI2LDYgKzE0MjYsOCBAQAogICAgICAg
ICAgICAgJ2h0bWwvRmlsZS5oJywKICAgICAgICAgICAgICdodG1sL0ZpbGVMaXN0LmNwcCcsCiAg
ICAgICAgICAgICAnaHRtbC9GaWxlTGlzdC5oJywKKyAgICAgICAgICAgICdodG1sL0ZpbGVUaHJl
YWQuY3BwJywKKyAgICAgICAgICAgICdodG1sL0ZpbGVUaHJlYWQuaCcsCiAgICAgICAgICAgICAn
aHRtbC9Gb3JtRGF0YUxpc3QuY3BwJywKICAgICAgICAgICAgICdodG1sL0Zvcm1EYXRhTGlzdC5o
JywKICAgICAgICAgICAgICdodG1sL0hUTUxBbGxDb2xsZWN0aW9uLmNwcCcsCmRpZmYgLS1naXQg
YS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCA3MzAzMzcw
Li5hODRiN2MxIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUv
V2ViQ29yZS5wcm8KQEAgLTYxMiw2ICs2MTIsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBodG1sL0RP
TUZvcm1EYXRhLmNwcCBcCiAgICAgaHRtbC9GaWxlLmNwcCBcCiAgICAgaHRtbC9GaWxlTGlzdC5j
cHAgXAorICAgIGh0bWwvRmlsZVRocmVhZC5jcHAgXAogICAgIGh0bWwvRm9ybURhdGFMaXN0LmNw
cCBcCiAgICAgaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5jcHAgXAogICAgIGh0bWwvSFRNTEFuY2hv
ckVsZW1lbnQuY3BwIFwKQEAgLTEzMTgsNiArMTMxOSw3IEBAIEhFQURFUlMgKz0gXAogICAgIGh0
bWwvRE9NRm9ybURhdGEuaCBcCiAgICAgaHRtbC9GaWxlLmggXAogICAgIGh0bWwvRmlsZUxpc3Qu
aCBcCisgICAgaHRtbC9GaWxlVGhyZWFkLmggXAogICAgIGh0bWwvRm9ybURhdGFMaXN0LmggXAog
ICAgIGh0bWwvSFRNTEFsbENvbGxlY3Rpb24uaCBcCiAgICAgaHRtbC9IVE1MQW5jaG9yRWxlbWVu
dC5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
Yi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDdmODk4NjguLjhi
NWVlOWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
KysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMzAyMjUsNiAr
MzAyMjUsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5caHRtbFxGaWxlVGhyZWFkLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8
RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcRmlsZVRocmVhZC5oIg0KKwkJCQk+DQor
CQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxGb3JtRGF0
YUxpc3QuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggNDQ5MTBmYy4uMzUzMzVhYiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIyMDcsNiArMjIwNyw4IEBACiAJCTg1
Rjc0RTBBMEFBOERGOEMwMDBEQzI4NCAvKiBET01DU1NVbmtub3duUnVsZS5oIGluIENvcHkgR2Vu
ZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUwMzJE
RDUwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1Vua25vd25SdWxlLmggKi87IH07CiAJCTg1RkYz
MTVBMEFBRkJGQ0IwMDM3NEYzOCAvKiBET01LZXlib2FyZEV2ZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUZGMzE1ODBBQUZCRkNCMDAzNzRGMzgg
LyogRE9NS2V5Ym9hcmRFdmVudC5oICovOyB9OwogCQk4NUZGMzE1QjBBQUZCRkNCMDAzNzRGMzgg
LyogRE9NS2V5Ym9hcmRFdmVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDg1RkYzMTU5MEFBRkJGQ0IwMDM3NEYzOCAvKiBET01LZXlib2FyZEV2ZW50
Lm1tICovOyB9OworCQk4OTUyNTM1MjExNjQxQjM0MDBDQUJGMDAgLyogRmlsZVRocmVhZC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4OTUyNTM1MDEx
NjQxQjM0MDBDQUJGMDAgLyogRmlsZVRocmVhZC5jcHAgKi87IH07CisJCTg5NTI1MzUzMTE2NDFC
MzQwMENBQkYwMCAvKiBGaWxlVGhyZWFkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4OTUyNTM1MTExNjQxQjM0MDBDQUJGMDAgLyogRmlsZVRocmVhZC5o
ICovOyB9OwogCQk5MzAyQjBCRDBENzlGODI5MDBDN0VFODMgLyogUGFnZUdyb3VwLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMDJCMEJDMEQ3OUY4
MjkwMEM3RUU4MyAvKiBQYWdlR3JvdXAuY3BwICovOyB9OwogCQk5MzAyQjBCRjBENzlGODJDMDBD
N0VFODMgLyogUGFnZUdyb3VwLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5MzAyQjBCRTBENzlGODJDMDBDN0VFODMgLyogUGFnZUdyb3VwLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTMwNUIyNEQwOThG
MUI2QjAwQzI4ODU1IC8qIFRpbWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5MzA1QjI0QzA5OEYxQjZCMDBDMjg4NTUgLyogVGltZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNzY0Nyw2ICs3NjQ5
LDggQEAKIAkJODVGNTZBNzkwQTk4Q0UzNzAwQURCNjBBIC8qIERPTVByb2Nlc3NpbmdJbnN0cnVj
dGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01Qcm9j
ZXNzaW5nSW5zdHJ1Y3Rpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1RkYz
MTU4MEFBRkJGQ0IwMDM3NEYzOCAvKiBET01LZXlib2FyZEV2ZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBET01LZXlib2FyZEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTg1RkYzMTU5MEFBRkJGQ0IwMDM3NEYzOCAvKiBET01LZXlib2FyZEV2ZW50
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUtleWJvYXJk
RXZlbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg5NTI1MzUwMTE2NDFCMzQw
MENBQkYwMCAvKiBGaWxlVGhyZWFkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEZpbGVUaHJlYWQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4OTUy
NTM1MTExNjQxQjM0MDBDQUJGMDAgLyogRmlsZVRocmVhZC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBGaWxlVGhyZWFkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTkzMDJCMEJDMEQ3OUY4MjkwMEM3RUU4MyAvKiBQYWdlR3JvdXAuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFnZUdyb3VwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOTMwMkIwQkUwRDc5RjgyQzAwQzdFRTgzIC8qIFBhZ2VHcm91cC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYWdlR3JvdXAuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJOTMwNUIyNEMwOThGMUI2QjAwQzI4ODU1IC8qIFRpbWVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRpbWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xMjkyNCw2ICsxMjkyOCw4IEBACiAJCTkzRUVDMUVDMDlDMjg3NzcwMEM1MTVE
MSAvKiBodG1sICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJ
CQk4OTUyNTM1MDExNjQxQjM0MDBDQUJGMDAgLyogRmlsZVRocmVhZC5jcHAgKi8sCisJCQkJODk1
MjUzNTExMTY0MUIzNDAwQ0FCRjAwIC8qIEZpbGVUaHJlYWQuaCAqLywKIAkJCQlBNDNCRjU5NjEx
NDkyOTBBMDBDNjQzQ0EgLyogSFRNTFByb2dyZXNzRWxlbWVudC5jcHAgKi8sCiAJCQkJQTQzQkY1
OTcxMTQ5MjkwQTAwQzY0M0NBIC8qIEhUTUxQcm9ncmVzc0VsZW1lbnQuaCAqLywKIAkJCQk0OTQ4
NEZBRTEwMkNGMDFFMDAxODdERDMgLyogY2FudmFzICovLApAQCAtMTg3NjgsNiArMTg3NzQsNyBA
QAogCQkJCUUxRTFCRjAwMTE1RkY2RkIwMDZGNTJDQSAvKiBXaW5kb3dzS2V5Ym9hcmRDb2Rlcy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJODQ5OUE1MTUxMTVGQjMzMDAwRjU2NkUzIC8qIFJlbmRlclNW
R1Jlc291cmNlTWFya2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTNCQkYwODExNjJEQTExMDBC
OTQwOUEgLyogVVVJRC5oIGluIEhlYWRlcnMgKi8sCisJCQkJODk1MjUzNTMxMTY0MUIzNDAwQ0FC
RjAwIC8qIEZpbGVUaHJlYWQuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjA5ODIsNiArMjA5ODksNyBA
QAogCQkJCUU0Nzc4QjdGMTE1QTU4MUEwMEI1RDM3MiAvKiBKU0N1c3RvbUV2ZW50LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTg0OTlBNTE0MTE1RkIzMzAwMEY1NjZFMyAvKiBSZW5kZXJTVkdSZXNv
dXJjZU1hcmtlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRTNCQkYwNzExNjJEQTExMDBCOTQw
OUEgLyogVVVJRC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4OTUyNTM1MjExNjQxQjM0MDBDQUJG
MDAgLyogRmlsZVRocmVhZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwIGIvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5jcHAKaW5kZXggYzJmZTEyMC4uMjI2YWFkOCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKKysrIGIvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAgLTMxLDYgKzMxLDkgQEAKICNpbmNsdWRlICJEYXRhYmFz
ZS5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVGFzay5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVGhyZWFk
LmgiCisjaWYgRU5BQkxFKEZJTEVfUkVBREVSKSB8fCBFTkFCTEUoRklMRV9XUklURVIpCisjaW5j
bHVkZSAiRmlsZVRocmVhZC5oIgorI2VuZGlmCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKICNp
bmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIldvcmtlckNvbnRleHQuaCIKQEAg
LTgzLDYgKzg2LDEyIEBAIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6On5TY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkKICAgICAgICAgbV9kYXRhYmFzZVRocmVhZCA9IDA7CiAgICAgfQogI2VuZGlmCisj
aWYgRU5BQkxFKEZJTEVfUkVBREVSKSB8fCBFTkFCTEUoRklMRV9XUklURVIpCisgICAgaWYgKG1f
ZmlsZVRocmVhZCkgeworICAgICAgICBtX2ZpbGVUaHJlYWQtPnN0b3AoKTsKKyAgICAgICAgbV9m
aWxlVGhyZWFkID0gMDsKKyAgICB9CisjZW5kaWYKIH0KIAogI2lmIEVOQUJMRShEQVRBQkFTRSkK
QEAgLTI2MSw2ICsyNzAsMTggQEAgRE9NVGltZXIqIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmZp
bmRUaW1lb3V0KGludCB0aW1lb3V0SWQpCiAgICAgcmV0dXJuIG1fdGltZW91dHMuZ2V0KHRpbWVv
dXRJZCk7CiB9CiAKKyNpZiBFTkFCTEUoRklMRV9SRUFERVIpIHx8IEVOQUJMRShGSUxFX1dSSVRF
UikKK0ZpbGVUaHJlYWQqIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmZpbGVUaHJlYWQoKQorewor
ICAgIGlmICghbV9maWxlVGhyZWFkKSB7CisgICAgICAgIG1fZmlsZVRocmVhZCA9IEZpbGVUaHJl
YWQ6OmNyZWF0ZSgpOworICAgICAgICBpZiAoIW1fZmlsZVRocmVhZC0+c3RhcnQoKSkKKyAgICAg
ICAgICAgIG1fZmlsZVRocmVhZCA9IDA7CisgICAgfQorICAgIHJldHVybiBtX2ZpbGVUaHJlYWQu
Z2V0KCk7Cit9CisjZW5kaWYKKwogU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzazo6flRhc2so
KQogewogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5o
IGIvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IGYxYzc5Y2YuLmJk
MTZkYjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAor
KysgYi9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTQ1LDYgKzQ1LDkg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERhdGFiYXNlVGhyZWFkOwogI2VuZGlm
CiAgICAgY2xhc3MgRE9NVGltZXI7CisjaWYgRU5BQkxFKEZJTEVfUkVBREVSKSB8fCBFTkFCTEUo
RklMRV9XUklURVIpCisgICAgY2xhc3MgRmlsZVRocmVhZDsKKyNlbmRpZgogICAgIGNsYXNzIE1l
c3NhZ2VQb3J0OwogICAgIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogICAgIGNsYXNzIFNjcmlwdFN0
cmluZzsKQEAgLTEzNiw2ICsxMzksMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBK
U0M6OkpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSgpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRklM
RV9SRUFERVIpIHx8IEVOQUJMRShGSUxFX1dSSVRFUikKKyAgICAgICAgRmlsZVRocmVhZCogZmls
ZVRocmVhZCgpOworICAgICAgICB2b2lkIHN0b3BGaWxlVGhyZWFkKCk7CisjZW5kaWYKKwogICAg
IHByb3RlY3RlZDoKICAgICAgICAgLy8gRXhwbGljaXRseSBvdmVycmlkZSB0aGUgc2VjdXJpdHkg
b3JpZ2luIGZvciB0aGlzIHNjcmlwdCBjb250ZXh0LgogICAgICAgICAvLyBOb3RlOiBJdCBpcyBk
YW5nZXJvdXMgdG8gY2hhbmdlIHRoZSBzZWN1cml0eSBvcmlnaW4gb2YgYSBzY3JpcHQgY29udGV4
dApAQCAtMTYzLDYgKzE3MSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHR5cGVk
ZWYgSGFzaFNldDxEYXRhYmFzZSogPiBEYXRhYmFzZVNldDsKICAgICAgICAgT3duUHRyPERhdGFi
YXNlU2V0PiBtX29wZW5EYXRhYmFzZVNldDsKICNlbmRpZgorCisjaWYgRU5BQkxFKEZJTEVfUkVB
REVSKSB8fCBFTkFCTEUoRklMRV9XUklURVIpCisgICAgICAgIFJlZlB0cjxGaWxlVGhyZWFkPiBt
X2ZpbGVUaHJlYWQ7CisjZW5kaWYKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvRmlsZVRocmVhZC5jcHAgYi9XZWJDb3JlL2h0bWwvRmls
ZVRocmVhZC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTBiNjZlOAot
LS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvaHRtbC9GaWxlVGhyZWFkLmNwcApAQCAtMCwwICsx
LDExOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoRklMRV9XUklURVIpIHx8
IEVOQUJMRShGSUxFX1JFQURFUikKKworI2luY2x1ZGUgIkZpbGVUaHJlYWQuaCIKKworI2luY2x1
ZGUgIkF1dG9kcmFpbmVkUG9vbC5oIgorI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitGaWxlVGhyZWFkOjpGaWxlVGhyZWFkKCkKKyAgICA6IG1fdGhyZWFkSUQo
MCkKK3sKKyAgICBtX3NlbGZSZWYgPSB0aGlzOworfQorCitGaWxlVGhyZWFkOjp+RmlsZVRocmVh
ZCgpCit7CisgICAgQVNTRVJUKG1fcXVldWUua2lsbGVkKCkpOworfQorCitib29sIEZpbGVUaHJl
YWQ6OnN0YXJ0KCkKK3sKKyAgICBNdXRleExvY2tlciBsb2NrKG1fdGhyZWFkQ3JlYXRpb25NdXRl
eCk7CisgICAgaWYgKG1fdGhyZWFkSUQpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIG1fdGhy
ZWFkSUQgPSBjcmVhdGVUaHJlYWQoRmlsZVRocmVhZDo6ZmlsZVRocmVhZFN0YXJ0LCB0aGlzLCAi
V2ViQ29yZTogRmlsZSIpOworICAgIHJldHVybiBtX3RocmVhZElEOworfQorCit2b2lkIEZpbGVU
aHJlYWQ6OnN0b3AoKQoreworICAgIHJldHVybiBtX3F1ZXVlLmtpbGwoKTsKK30KKwordm9pZCBG
aWxlVGhyZWFkOjpwb3N0VGFzayhQYXNzT3duUHRyPFRhc2s+IHRhc2spCit7CisgICAgbV9xdWV1
ZS5hcHBlbmQodGFzayk7Cit9CisKK2NsYXNzIFNhbWVGaWxlUHJlZGljYXRlIHsKK3B1YmxpYzoK
KyAgICBTYW1lRmlsZVByZWRpY2F0ZShjb25zdCBQbGF0Zm9ybUZpbGVIYW5kbGUgaGFuZGxlKSA6
IG1faGFuZGxlKGhhbmRsZSkgeyB9CisgICAgYm9vbCBvcGVyYXRvcigpKEZpbGVUaHJlYWQ6OlRh
c2sqIHRhc2spIGNvbnN0IHsgcmV0dXJuIHRhc2stPmZpbGVIYW5kbGUoKSA9PSBtX2hhbmRsZTsg
fQorcHJpdmF0ZToKKyAgICBQbGF0Zm9ybUZpbGVIYW5kbGUgbV9oYW5kbGU7Cit9OworCit2b2lk
IEZpbGVUaHJlYWQ6OnJlbW92ZVRhc2soUGxhdGZvcm1GaWxlSGFuZGxlIGhhbmRsZSkKK3sKKyAg
ICBTYW1lRmlsZVByZWRpY2F0ZSBwcmVkaWNhdGUoaGFuZGxlKTsKKyAgICBtX3F1ZXVlLnJlbW92
ZUlmKHByZWRpY2F0ZSk7Cit9CisKK3ZvaWQqIEZpbGVUaHJlYWQ6OmZpbGVUaHJlYWRTdGFydCh2
b2lkKiBhcmcpCit7CisgICAgRmlsZVRocmVhZCogZmlsZVRocmVhZCA9IHN0YXRpY19jYXN0PEZp
bGVUaHJlYWQqPihhcmcpOworICAgIHJldHVybiBmaWxlVGhyZWFkLT5ydW5Mb29wKCk7Cit9CisK
K3ZvaWQqIEZpbGVUaHJlYWQ6OnJ1bkxvb3AoKQoreworICAgIHsKKyAgICAgICAgLy8gV2FpdCBm
b3IgRmlsZVRocmVhZDo6c3RhcnQoKSB0byBjb21wbGV0ZSB0byBoYXZlIG1fdGhyZWFkSUQKKyAg
ICAgICAgLy8gZXN0YWJsaXNoZWQgYmVmb3JlIHN0YXJ0aW5nIHRoZSBtYWluIGxvb3AuCisgICAg
ICAgIE11dGV4TG9ja2VyIGxvY2sobV90aHJlYWRDcmVhdGlvbk11dGV4KTsKKyAgICAgICAgTE9H
KEZpbGVBUEksICJTdGFydGVkIEZpbGVUaHJlYWQgJXAiLCB0aGlzKTsKKyAgICB9CisKKyAgICBB
dXRvZHJhaW5lZFBvb2wgcG9vbDsKKyAgICB3aGlsZSAoT3duUHRyPFRhc2s+IHRhc2sgPSBtX3F1
ZXVlLndhaXRGb3JNZXNzYWdlKCkpIHsKKyAgICAgICAgdGFzay0+cGVyZm9ybVRhc2soKTsKKyAg
ICAgICAgcG9vbC5jeWNsZSgpOworICAgIH0KKworICAgIExPRyhGaWxlQVBJLCAiQWJvdXQgdG8g
ZGV0YWNoIHRocmVhZCAlaSBhbmQgY2xlYXIgdGhlIHJlZiB0byBGaWxlVGhyZWFkICVwLCB3aGlj
aCBjdXJyZW50bHkgaGFzICVpIHJlZihzKSIsIG1fdGhyZWFkSUQsIHRoaXMsIHJlZkNvdW50KCkp
OworCisgICAgZGV0YWNoVGhyZWFkKG1fdGhyZWFkSUQpOworCisgICAgLy8gQ2xlYXIgdGhlIHNl
bGYgcmVmcHRyLCBwb3NzaWJseSByZXN1bHRpbmcgaW4gZGVsZXRpb24KKyAgICBtX3NlbGZSZWYg
PSAwOworCisgICAgcmV0dXJuIDA7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShGSUxFX1dSSVRFUikgfHwgRU5BQkxFKEZJTEVfUkVBREVSKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL0ZpbGVUaHJlYWQuaCBiL1dlYkNvcmUvaHRtbC9GaWxlVGhyZWFk
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWE5M2NjMwotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYkNvcmUvaHRtbC9GaWxlVGhyZWFkLmgKQEAgLTAsMCArMSw4MiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIEZpbGVUaHJlYWRfaAorI2RlZmluZSBGaWxlVGhyZWFkX2gKKworI2lmIEVOQUJMRShGSUxF
X1dSSVRFUikgfHwgRU5BQkxFKEZJTEVfUkVBREVSKQorCisjaW5jbHVkZSAiRmlsZVN5c3RlbS5o
IgorI2luY2x1ZGUgPHd0Zi9NZXNzYWdlUXVldWUuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZGlu
Zy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEZpbGVUaHJlYWQgOiBwdWJsaWMg
VGhyZWFkU2FmZVNoYXJlZDxGaWxlVGhyZWFkPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8RmlsZVRocmVhZD4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IEZpbGVUaHJl
YWQoKSk7IH0KKyAgICB+RmlsZVRocmVhZCgpOworCisgICAgYm9vbCBzdGFydCgpOworICAgIHZv
aWQgc3RvcCgpOworCisgICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
cHVibGljOgorICAgICAgICB2aXJ0dWFsIH5UYXNrKCkgeyB9CisgICAgICAgIHZpcnR1YWwgdm9p
ZCBwZXJmb3JtVGFzaygpID0gMDsKKyAgICAgICAgUGxhdGZvcm1GaWxlSGFuZGxlIGZpbGVIYW5k
bGUoKSBjb25zdCB7IHJldHVybiBtX2hhbmRsZTsgfQorICAgIHByb3RlY3RlZDoKKyAgICAgICAg
VGFzayhQbGF0Zm9ybUZpbGVIYW5kbGUgaGFuZGxlKSA6IG1faGFuZGxlKGhhbmRsZSkgeyB9Cisg
ICAgICAgIGNvbnN0IFBsYXRmb3JtRmlsZUhhbmRsZSBtX2hhbmRsZTsKKyAgICB9OworCisgICAg
dm9pZCBwb3N0VGFzayhQYXNzT3duUHRyPFRhc2s+IHRhc2spOworICAgIHZvaWQgcmVtb3ZlVGFz
ayhQbGF0Zm9ybUZpbGVIYW5kbGUpOworCitwcml2YXRlOgorICAgIEZpbGVUaHJlYWQoKTsKKwor
ICAgIHN0YXRpYyB2b2lkKiBmaWxlVGhyZWFkU3RhcnQodm9pZCopOworICAgIHZvaWQqIHJ1bkxv
b3AoKTsKKworICAgIFRocmVhZElkZW50aWZpZXIgbV90aHJlYWRJRDsKKyAgICBSZWZQdHI8Rmls
ZVRocmVhZD4gbV9zZWxmUmVmOworICAgIE1lc3NhZ2VRdWV1ZTxUYXNrPiBtX3F1ZXVlOworCisg
ICAgTXV0ZXggbV90aHJlYWRDcmVhdGlvbk11dGV4OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEZJTEVfV1JJVEVSKSB8fCBFTkFCTEUoRklMRV9SRUFE
RVIpCisKKyNlbmRpZiAvLyBGaWxlVGhyZWFkX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vTG9nZ2luZy5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuY3BwCmluZGV4IDkyZTEx
ZTMuLjdmYjE1YjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5jcHAKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmNwcApAQCAtMjAsNyArMjAsNyBAQAogICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQogICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCkBAIC02MCw2ICs2MCw3IEBAIFdU
RkxvZ0NoYW5uZWwgTG9nTWVkaWEgPSAgICAgICAgICAgICB7IDB4MDEwMDAwMDAsICJXZWJDb3Jl
TG9nTGV2ZWwiLCBXVEZMb2dDaGFuCiBXVEZMb2dDaGFubmVsIExvZ1BsdWdpbnMgPSAgICAgICAg
ICAgeyAweDAyMDAwMDAwLCAiV2ViQ29yZUxvZ0xldmVsIiwgV1RGTG9nQ2hhbm5lbE9mZiB9Owog
V1RGTG9nQ2hhbm5lbCBMb2dBcmNoaXZlcyA9ICAgICAgICAgIHsgMHgwNDAwMDAwMCwgIldlYkNv
cmVMb2dMZXZlbCIsIFdURkxvZ0NoYW5uZWxPZmYgfTsKIFdURkxvZ0NoYW5uZWwgTG9nUHJvZ3Jl
c3MgPSAgICAgICAgICB7IDB4MDgwMDAwMDAsICJXZWJDb3JlTG9nTGV2ZWwiLCBXVEZMb2dDaGFu
bmVsT2ZmIH07CitXVEZMb2dDaGFubmVsIExvZ0ZpbGVBUEkgPSAgICAgICAgICAgeyAweDEwMDAw
MDAwLCAiV2ViQ29yZUxvZ0xldmVsIiwgV1RGTG9nQ2hhbm5lbE9mZiB9OwogCiBXVEZMb2dDaGFu
bmVsKiBnZXRDaGFubmVsRnJvbU5hbWUoY29uc3QgU3RyaW5nJiBjaGFubmVsTmFtZSkKIHsKQEAg
LTExMyw3ICsxMTQsNyBAQCBXVEZMb2dDaGFubmVsKiBnZXRDaGFubmVsRnJvbU5hbWUoY29uc3Qg
U3RyaW5nJiBjaGFubmVsTmFtZSkKIAogICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShjaGFubmVs
TmFtZSwgU3RyaW5nKCJQcm9ncmVzcyIpKSkKICAgICAgICAgcmV0dXJuICZMb2dQcm9ncmVzczsK
LSAgICAgICAgCisKICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UoY2hhbm5lbE5hbWUsIFN0cmlu
ZygiU3BlbGxpbmdBbmRHcmFtbWFyIikpKQogICAgICAgICByZXR1cm4gJkxvZ1NwZWxsaW5nQW5k
R3JhbW1hcjsKIApAQCAtMTI5LDYgKzEzMCw5IEBAIFdURkxvZ0NoYW5uZWwqIGdldENoYW5uZWxG
cm9tTmFtZShjb25zdCBTdHJpbmcmIGNoYW5uZWxOYW1lKQogICAgIGlmIChlcXVhbElnbm9yaW5n
Q2FzZShjaGFubmVsTmFtZSwgU3RyaW5nKCJUaHJlYWRpbmciKSkpCiAgICAgICAgIHJldHVybiAm
TG9nVGhyZWFkaW5nOwogCisgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKGNoYW5uZWxOYW1lLCBT
dHJpbmcoIkZpbGVBUEkiKSkpCisgICAgICAgIHJldHVybiAmTG9nRmlsZUFQSTsKKwogICAgIHJl
dHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5oCmluZGV4IGMwYzQxYzEuLjQ1YjZkMjMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vTG9n
Z2luZy5oCkBAIC01OCw2ICs1OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBleHRlcm4g
V1RGTG9nQ2hhbm5lbCBMb2dQbHVnaW5zOwogICAgIGV4dGVybiBXVEZMb2dDaGFubmVsIExvZ0Fy
Y2hpdmVzOwogICAgIGV4dGVybiBXVEZMb2dDaGFubmVsIExvZ1Byb2dyZXNzOworICAgIGV4dGVy
biBXVEZMb2dDaGFubmVsIExvZ0ZpbGVBUEk7CiAKICAgICB2b2lkIEluaXRpYWxpemVMb2dnaW5n
Q2hhbm5lbHNJZk5lY2Vzc2FyeSgpOwogICAgIFdURkxvZ0NoYW5uZWwqIGdldENoYW5uZWxGcm9t
TmFtZShjb25zdCBTdHJpbmcmIGNoYW5uZWxOYW1lKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDFkMTllNDgu
LjIxMzcyN2IgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEwLTA0LTAxICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgRmlsZVRocmVhZCBmb3IgYXN5bmMgZmlsZSBv
cGVyYXRpb24gc3VwcG9ydCBpbiBGaWxlUmVhZGVyIGFuZCBGaWxlV3JpdGVyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjg5NgorCisgICAgICAgIEFk
ZCBFTkFCTEVfRklMRV9SRUFERVIgYW5kIEVOQUJMRV9GSUxFX1dSSVRFUiBmbGFncy4KKworICAg
ICAgICAqIGZlYXR1cmVzLmd5cGk6CisKIDIwMTAtMDMtMzEgIFpoZW55YW8gTW8gIDx6bW9AZ29v
Z2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCmRpZmYgLS1naXQg
YS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaSBiL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJl
cy5neXBpCmluZGV4IDI1MmExNzYuLjcxNDY2ODUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1
bS9mZWF0dXJlcy5neXBpCisrKyBiL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCkBAIC00
Nyw2ICs0Nyw4IEBACiAgICAgICAgICdFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TPTEn
LAogICAgICAgICAnRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUPTAnLAogICAgICAgICAnRU5BQkxF
X0RPTV9TVE9SQUdFPTEnLAorICAgICAgICAnRU5BQkxFX0ZJTEVfUkVBREVSPTAnLAorICAgICAg
ICAnRU5BQkxFX0ZJTEVfV1JJVEVSPTAnLAogICAgICAgICAnRU5BQkxFX0dFT0xPQ0FUSU9OPTEn
LAogICAgICAgICAnRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVI9MScsCiAgICAgICAgICdFTkFC
TEVfSlNDX01VTFRJUExFX1RIUkVBRFM9MCcsCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGIwNGIxMmMuLjM1ODI4NWUgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTAtMDQtMDEgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBGaWxlVGhyZWFkIGZvciBhc3luYyBmaWxlIG9wZXJhdGlvbiBzdXBwb3J0IGluIEZpbGVS
ZWFkZXIgYW5kIEZpbGVXcml0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM2ODk2CisKKyAgICAgICAgQWRkIEZJTEVfUkVBREVSIG9yIEZJTEVfV1JJ
VEVSIGZlYXR1cmUgZGVmaW5lcy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnOgorCiAyMDEwLTAzLTMxICBNYXJjdXMgQnVsYWNoICA8YnVsYWNoQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBKZXJlbXkgT3Jsb3cuCmRpZmYgLS1n
aXQgYS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIv
V2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA5
NTY0MmMwLi45MmNhNGFiIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKQEAgLTUwLDYgKzUwLDggQEAgRU5BQkxFX0RBVEFMSVNUID0g
RU5BQkxFX0RBVEFMSVNUOwogRU5BQkxFX0RPTV9TVE9SQUdFID0gRU5BQkxFX0RPTV9TVE9SQUdF
OwogRU5BQkxFX0VWRU5UU09VUkNFID0gRU5BQkxFX0VWRU5UU09VUkNFOwogRU5BQkxFX0ZJTFRF
UlMgPSBFTkFCTEVfRklMVEVSUzsKK0VOQUJMRV9GSUxFX1JFQURFUiA9IDsKK0VOQUJMRV9GSUxF
X1dSSVRFUiA9IDsKIEVOQUJMRV9HRU9MT0NBVElPTiA9IEVOQUJMRV9HRU9MT0NBVElPTjsKIEVO
QUJMRV9JQ09OREFUQUJBU0UgPSBFTkFCTEVfSUNPTkRBVEFCQVNFOwogRU5BQkxFX0lOREVYRURf
REFUQUJBU0UgPSA7CkBAIC03NSw0ICs3Nyw0IEBAIEVOQUJMRV9YSFRNTE1QID0gOwogRU5BQkxF
X1hQQVRIID0gRU5BQkxFX1hQQVRIOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVB
VFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfQ0FOVkFTKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcp
ICQoRU5BQkxFX0JMT0JfU0xJQ0UpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9E
QVRBR1JJRCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJM
RV9FVkVOVFNPVVJDRSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1JVQlkpICQo
RU5BQkxFX1NBTkRCT1gpICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQo
RU5BQkxFX1NWR19BTklNQVRJT04pICQoRU5BQkxFX1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZH
X0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JF
SUdOX09CSkVDVCkgJChFTkFCTEVfU1ZHX1VTRSkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1dF
Ql9TT0NLRVRTKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIVE1M
TVApICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQo
RU5BQkxFXzNEX0NBTlZBUykgJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9CTE9CX1NM
SUNFKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dF
T0xPQ0FUSU9OKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFCTEVfREFUQUdSSUQpICQoRU5BQkxF
X0RBVEFMSVNUKSAkKEVOQUJMRV9ET01fU1RPUkFHRSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQo
RU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZJTEVfUkVBREVSKSAkKEVOQUJMRV9GSUxFX1dSSVRF
UikgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVf
TUFUSE1MKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBM
SUNBVElPTlMpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxFX1NBTkRCT1gpICQoRU5BQkxFX1NIQVJF
RF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19BTklNQVRJT04pICQoRU5BQkxF
X1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCkgJChFTkFCTEVfU1ZHX1VTRSkg
JChFTkFCTEVfVklERU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XTUwpICQoRU5B
QkxFX1dPUktFUlMpICQoRU5BQkxFX1hIVE1MTVApICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9Y
U0xUKTsKZGlmZiAtLWdpdCBhL1dlYktpdExpYnJhcmllcy9DaGFuZ2VMb2cgYi9XZWJLaXRMaWJy
YXJpZXMvQ2hhbmdlTG9nCmluZGV4IDI3MGU4YTMuLjllYzcxNDkgMTAwNjQ0Ci0tLSBhL1dlYktp
dExpYnJhcmllcy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0TGlicmFyaWVzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE2IEBACisyMDEwLTA0LTAxICBLaW51a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgRmlsZVRocmVhZCBmb3IgYXN5bmMgZmlsZSBvcGVyYXRpb24gc3VwcG9ydCBpbiBGaWxlUmVh
ZGVyIGFuZCBGaWxlV3JpdGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zNjg5NgorCisgICAgICAgIEFkZHMgRU5BQkxFX0ZJTEVfUkVBREVSIGFuZCBF
TkFCTEVfRklMRV9XUklURVIgZmVhdHVyZSBmbGFncworICAgICAgICBmb3IgRmlsZVJlYWRlciBh
bmQgRmlsZVdyaXRlciBzdXBwb3J0LgorCisgICAgICAgICogd2luL3Rvb2xzL3ZzcHJvcHMvRmVh
dHVyZURlZmluZXMudnNwcm9wczoKKyAgICAgICAgKiB3aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJl
RGVmaW5lc0NhaXJvLnZzcHJvcHM6CisKIDIwMTAtMDMtMjUgIE1hcmsgUm93ZSAgPG1yb3dlQGFw
cGxlLmNvbT4KIAogICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBEYW4gQmVybnN0ZWluLgpkaWZm
IC0tZ2l0IGEvV2ViS2l0TGlicmFyaWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVz
LnZzcHJvcHMgYi9XZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmlu
ZXMudnNwcm9wcwppbmRleCA0NWRhY2JjLi4yMTg0ZjQ2IDEwMDY0NAotLS0gYS9XZWJLaXRMaWJy
YXJpZXMvd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXMudnNwcm9wcworKysgYi9XZWJL
aXRMaWJyYXJpZXMvd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXMudnNwcm9wcwpAQCAt
OSw3ICs5LDcgQEAKIAk+CiAgIDxUb29sCiAJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCVBy
ZXByb2Nlc3NvckRlZmluaXRpb25zPSIkKEVOQUJMRV8zRF9DQU5WQVMpOyQoRU5BQkxFXzNEX1JF
TkRFUklORyk7JChFTkFCTEVfQkxPQl9TTElDRSk7JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
OyQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTik7JChFTkFCTEVfREFUQUJBU0UpOyQo
RU5BQkxFX0RBVEFHUklEKTskKEVOQUJMRV9EQVRBTElTVCk7JChFTkFCTEVfRE9NX1NUT1JBR0Up
OyQoRU5BQkxFX0VWRU5UU09VUkNFKTskKEVOQUJMRV9GSUxURVJTKTskKEVOQUJMRV9HRU9MT0NB
VElPTik7JChFTkFCTEVfSUNPTkRBVEFCQVNFKTskKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKTsk
KEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKTskKEVOQUJMRV9NQVRITUwpOyQoRU5BQkxFX05P
VElGSUNBVElPTlMpOyQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUyk7JChFTkFCTEVf
UlVCWSk7JChFTkFCTEVfU0FOREJPWCk7JChFTkFCTEVfU0hBUkVEX1dPUktFUlMpOyQoRU5BQkxF
X1NWRyk7JChFTkFCTEVfU1ZHX0FOSU1BVElPTik7JChFTkFCTEVfU1ZHX0FTX0lNQUdFKTskKEVO
QUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpOyQoRU5BQkxFX1NWR19GT05UUyk7JChFTkFCTEVf
U1ZHX0ZPUkVJR05fT0JKRUNUKTskKEVOQUJMRV9TVkdfVVNFKTskKEVOQUJMRV9WSURFTyk7JChF
TkFCTEVfV0VCX1NPQ0tFVFMpOyQoRU5BQkxFX1dNTCk7JChFTkFCTEVfV09SS0VSUyk7JChFTkFC
TEVfWEhUTUxNUCk7JChFTkFCTEVfWFBBVEgpOyQoRU5BQkxFX1hTTFQpIgorCQlQcmVwcm9jZXNz
b3JEZWZpbml0aW9ucz0iJChFTkFCTEVfM0RfQ0FOVkFTKTskKEVOQUJMRV8zRF9SRU5ERVJJTkcp
OyQoRU5BQkxFX0JMT0JfU0xJQ0UpOyQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKTskKEVOQUJM
RV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pOyQoRU5BQkxFX0RBVEFCQVNFKTskKEVOQUJMRV9E
QVRBR1JJRCk7JChFTkFCTEVfREFUQUxJU1QpOyQoRU5BQkxFX0RPTV9TVE9SQUdFKTskKEVOQUJM
RV9FVkVOVFNPVVJDRSk7JChFTkFCTEVfRklMVEVSUyk7JChFTkFCTEVfRklMRV9SRUFERVIpOyQo
RU5BQkxFX0ZJTEVfV1JJVEVSKTskKEVOQUJMRV9HRU9MT0NBVElPTik7JChFTkFCTEVfSUNPTkRB
VEFCQVNFKTskKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKTskKEVOQUJMRV9KQVZBU0NSSVBUX0RF
QlVHR0VSKTskKEVOQUJMRV9NQVRITUwpOyQoRU5BQkxFX05PVElGSUNBVElPTlMpOyQoRU5BQkxF
X09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUyk7JChFTkFCTEVfUlVCWSk7JChFTkFCTEVfU0FOREJP
WCk7JChFTkFCTEVfU0hBUkVEX1dPUktFUlMpOyQoRU5BQkxFX1NWRyk7JChFTkFCTEVfU1ZHX0FO
SU1BVElPTik7JChFTkFCTEVfU1ZHX0FTX0lNQUdFKTskKEVOQUJMRV9TVkdfRE9NX09CSkNfQklO
RElOR1MpOyQoRU5BQkxFX1NWR19GT05UUyk7JChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKTsk
KEVOQUJMRV9TVkdfVVNFKTskKEVOQUJMRV9WSURFTyk7JChFTkFCTEVfV0VCX1NPQ0tFVFMpOyQo
RU5BQkxFX1dNTCk7JChFTkFCTEVfV09SS0VSUyk7JChFTkFCTEVfWEhUTUxNUCk7JChFTkFCTEVf
WFBBVEgpOyQoRU5BQkxFX1hTTFQpIgogCS8+CiAgIDxVc2VyTWFjcm8KIAkJTmFtZT0iRU5BQkxF
XzNEX0NBTlZBUyIKQEAgLTY3LDYgKzY3LDE2IEBACiAJCVBlcmZvcm1FbnZpcm9ubWVudFNldD0i
dHJ1ZSIKIAkvPgogICA8VXNlck1hY3JvCisJCU5hbWU9IkVOQUJMRV9GSUxFX1JFQURFUiIKKwkJ
VmFsdWU9IiIKKwkJUGVyZm9ybUVudmlyb25tZW50U2V0PSJ0cnVlIgorCS8+CisgIDxVc2VyTWFj
cm8KKwkJTmFtZT0iRU5BQkxFX0ZJTEVfV1JJVEVSIgorCQlWYWx1ZT0iIgorCQlQZXJmb3JtRW52
aXJvbm1lbnRTZXQ9InRydWUiCisJLz4KKyAgPFVzZXJNYWNybwogCQlOYW1lPSJFTkFCTEVfR0VP
TE9DQVRJT04iCiAJCVZhbHVlPSJFTkFCTEVfR0VPTE9DQVRJT04iCiAJCVBlcmZvcm1FbnZpcm9u
bWVudFNldD0idHJ1ZSIKZGlmZiAtLWdpdCBhL1dlYktpdExpYnJhcmllcy93aW4vdG9vbHMvdnNw
cm9wcy9GZWF0dXJlRGVmaW5lc0NhaXJvLnZzcHJvcHMgYi9XZWJLaXRMaWJyYXJpZXMvd2luL3Rv
b2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXNDYWlyby52c3Byb3BzCmluZGV4IGU3MzdmZmEuLjE0
NjQ0ZDQgMTAwNjQ0Ci0tLSBhL1dlYktpdExpYnJhcmllcy93aW4vdG9vbHMvdnNwcm9wcy9GZWF0
dXJlRGVmaW5lc0NhaXJvLnZzcHJvcHMKKysrIGIvV2ViS2l0TGlicmFyaWVzL3dpbi90b29scy92
c3Byb3BzL0ZlYXR1cmVEZWZpbmVzQ2Fpcm8udnNwcm9wcwpAQCAtOSw3ICs5LDcgQEAKIAk+CiAg
IDxUb29sCiAJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCVByZXByb2Nlc3NvckRlZmluaXRp
b25zPSIkKEVOQUJMRV8zRF9DQU5WQVMpOyQoRU5BQkxFXzNEX1JFTkRFUklORyk7JChFTkFCTEVf
QkxPQl9TTElDRSk7JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpOyQoRU5BQkxFX0NMSUVOVF9C
QVNFRF9HRU9MT0NBVElPTik7JChFTkFCTEVfREFUQUJBU0UpOyQoRU5BQkxFX0RBVEFHUklEKTsk
KEVOQUJMRV9EQVRBTElTVCk7JChFTkFCTEVfRE9NX1NUT1JBR0UpOyQoRU5BQkxFX0VWRU5UU09V
UkNFKTskKEVOQUJMRV9GSUxURVJTKTskKEVOQUJMRV9HRU9MT0NBVElPTik7JChFTkFCTEVfSUNP
TkRBVEFCQVNFKTskKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKTskKEVOQUJMRV9KQVZBU0NSSVBU
X0RFQlVHR0VSKTskKEVOQUJMRV9NQVRITUwpOyQoRU5BQkxFX05PVElGSUNBVElPTlMpOyQoRU5B
QkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUyk7JChFTkFCTEVfU0hBUkVEX1dPUktFUlMpOyQo
RU5BQkxFX1NWRyk7JChFTkFCTEVfU1ZHX0FOSU1BVElPTik7JChFTkFCTEVfU1ZHX0FTX0lNQUdF
KTskKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpOyQoRU5BQkxFX1NWR19GT05UUyk7JChF
TkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKTskKEVOQUJMRV9TVkdfVVNFKTskKEVOQUJMRV9WSURF
Tyk7JChFTkFCTEVfV0VCX1NPQ0tFVFMpOyQoRU5BQkxFX1dNTCk7JChFTkFCTEVfV09SS0VSUyk7
JChFTkFCTEVfWEhUTUxNUCk7JChFTkFCTEVfWFBBVEgpOyQoRU5BQkxFX1hTTFQpIgorCQlQcmVw
cm9jZXNzb3JEZWZpbml0aW9ucz0iJChFTkFCTEVfM0RfQ0FOVkFTKTskKEVOQUJMRV8zRF9SRU5E
RVJJTkcpOyQoRU5BQkxFX0JMT0JfU0xJQ0UpOyQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKTsk
KEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pOyQoRU5BQkxFX0RBVEFCQVNFKTskKEVO
QUJMRV9EQVRBR1JJRCk7JChFTkFCTEVfREFUQUxJU1QpOyQoRU5BQkxFX0RPTV9TVE9SQUdFKTsk
KEVOQUJMRV9FVkVOVFNPVVJDRSk7JChFTkFCTEVfRklMVEVSUyk7JChFTkFCTEVfRklMRV9SRUFE
RVIpOyQoRU5BQkxFX0ZJTEVfV1JJVEVSKTskKEVOQUJMRV9HRU9MT0NBVElPTik7JChFTkFCTEVf
SUNPTkRBVEFCQVNFKTskKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKTskKEVOQUJMRV9KQVZBU0NS
SVBUX0RFQlVHR0VSKTskKEVOQUJMRV9NQVRITUwpOyQoRU5BQkxFX05PVElGSUNBVElPTlMpOyQo
RU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUyk7JChFTkFCTEVfU0hBUkVEX1dPUktFUlMp
OyQoRU5BQkxFX1NWRyk7JChFTkFCTEVfU1ZHX0FOSU1BVElPTik7JChFTkFCTEVfU1ZHX0FTX0lN
QUdFKTskKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpOyQoRU5BQkxFX1NWR19GT05UUyk7
JChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKTskKEVOQUJMRV9TVkdfVVNFKTskKEVOQUJMRV9W
SURFTyk7JChFTkFCTEVfV0VCX1NPQ0tFVFMpOyQoRU5BQkxFX1dNTCk7JChFTkFCTEVfV09SS0VS
Uyk7JChFTkFCTEVfWEhUTUxNUCk7JChFTkFCTEVfWFBBVEgpOyQoRU5BQkxFX1hTTFQpIgogCS8+
CiAgIDxVc2VyTWFjcm8KIAkJTmFtZT0iRU5BQkxFXzNEX0NBTlZBUyIKQEAgLTY3LDYgKzY3LDE2
IEBACiAJCVBlcmZvcm1FbnZpcm9ubWVudFNldD0idHJ1ZSIKIAkvPgogICA8VXNlck1hY3JvCisJ
CU5hbWU9IkVOQUJMRV9GSUxFX1JFQURFUiIKKwkJVmFsdWU9IiIKKwkJUGVyZm9ybUVudmlyb25t
ZW50U2V0PSJ0cnVlIgorCS8+CisgIDxVc2VyTWFjcm8KKwkJTmFtZT0iRU5BQkxFX0ZJTEVfV1JJ
VEVSIgorCQlWYWx1ZT0iIgorCQlQZXJmb3JtRW52aXJvbm1lbnRTZXQ9InRydWUiCisJLz4KKyAg
PFVzZXJNYWNybwogCQlOYW1lPSJFTkFCTEVfR0VPTE9DQVRJT04iCiAJCVZhbHVlPSIiCiAJCVBl
cmZvcm1FbnZpcm9ubWVudFNldD0idHJ1ZSIKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5n
ZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCA3OTk0NmNiLi45MWNlZjMyIDEwMDY0
NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMDQtMDEgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBGaWxlVGhyZWFkIGZvciBhc3luYyBmaWxlIG9wZXJhdGlvbiBzdXBwb3J0IGluIEZp
bGVSZWFkZXIgYW5kIEZpbGVXcml0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTM2ODk2CisKKyAgICAgICAgQWRkIG9wdGlvbnMgdG8gZW5hYmxlIEZJ
TEVfUkVBREVSIGFuZCBGSUxFX1dSSVRFUiBzdXBwb3J0LgorCisgICAgICAgICogU2NyaXB0cy9i
dWlsZC13ZWJraXQ6CisKIDIwMTAtMDMtMzEgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1naXQgYS9XZWJLaXRU
b29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdCBiL1dlYktpdFRvb2xzL1NjcmlwdHMvYnVpbGQtd2Vi
a2l0CmluZGV4IGY4NjYxODguLjIzNDA5NmMgMTAwNzU1Ci0tLSBhL1dlYktpdFRvb2xzL1Njcmlw
dHMvYnVpbGQtd2Via2l0CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CkBA
IC01Niw3ICs1Niw4IEBAIG15ICgkdGhyZWVEQ2FudmFzU3VwcG9ydCwgJHRocmVlRFJlbmRlcmlu
Z1N1cHBvcnQsICRjaGFubmVsTWVzc2FnaW5nU3VwcG9ydCwgJGNsCiAgICAgJGphdmFTY3JpcHRE
ZWJ1Z2dlclN1cHBvcnQsICRtYXRobWxTdXBwb3J0LCAkb2ZmbGluZVdlYkFwcGxpY2F0aW9uU3Vw
cG9ydCwgJHJ1YnlTdXBwb3J0LCAkc3lzdGVtTWFsbG9jU3VwcG9ydCwgJHNhbmRib3hTdXBwb3J0
LCAkc2hhcmVkV29ya2Vyc1N1cHBvcnQsCiAgICAgJHN2Z1N1cHBvcnQsICRzdmdBbmltYXRpb25T
dXBwb3J0LCAkc3ZnQXNJbWFnZVN1cHBvcnQsICRzdmdET01PYmpDQmluZGluZ3NTdXBwb3J0LCAk
c3ZnRm9udHNTdXBwb3J0LAogICAgICRzdmdGb3JlaWduT2JqZWN0U3VwcG9ydCwgJHN2Z1VzZVN1
cHBvcnQsICR2aWRlb1N1cHBvcnQsICR3ZWJTb2NrZXRzU3VwcG9ydCwgJHdtbFN1cHBvcnQsICR3
Y3NzU3VwcG9ydCwgJHhodG1sbXBTdXBwb3J0LCAkd29ya2Vyc1N1cHBvcnQsCi0gICAgJHhwYXRo
U3VwcG9ydCwgJHhzbHRTdXBwb3J0LCAkY292ZXJhZ2VTdXBwb3J0LCAkbm90aWZpY2F0aW9uc1N1
cHBvcnQsICRibG9iU2xpY2VTdXBwb3J0LCAkdGlsZWRCYWNraW5nU3RvcmVTdXBwb3J0KTsKKyAg
ICAkeHBhdGhTdXBwb3J0LCAkeHNsdFN1cHBvcnQsICRjb3ZlcmFnZVN1cHBvcnQsICRub3RpZmlj
YXRpb25zU3VwcG9ydCwgJGJsb2JTbGljZVN1cHBvcnQsICR0aWxlZEJhY2tpbmdTdG9yZVN1cHBv
cnQsCisgICAgJGZpbGVSZWFkZXJTdXBwb3J0LCAkZmlsZVdyaXRlclN1cHBvcnQpOwogCiBteSBA
ZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4gIjNkLWNhbnZhcyIsIGRlc2MgPT4gIlRvZ2ds
ZSAzRCBjYW52YXMgc3VwcG9ydCIsCkBAIC0xNzUsNiArMTc2LDEyIEBAIG15IEBmZWF0dXJlcyA9
ICgKIAogICAgIHsgb3B0aW9uID0+ICJ4c2x0IiwgZGVzYyA9PiAiVG9nZ2xlIFhTTFQgc3VwcG9y
dCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9YU0xUIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9
PiBcJHhzbHRTdXBwb3J0IH0sCisKKyAgICB7IG9wdGlvbiA9PiAiZmlsZS1yZWFkZXIiLCBkZXNj
ID0+ICJUb2dnbGUgRmlsZVJlYWRlciBzdXBwb3J0IiwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxF
X0ZJTEVfUkVBREVSIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGZpbGVSZWFkZXJTdXBwb3J0
IH0sCisKKyAgICB7IG9wdGlvbiA9PiAiZmlsZS13cml0ZXIiLCBkZXNjID0+ICJUb2dnbGUgRmls
ZVdyaXRlciBzdXBwb3J0IiwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0ZJTEVfV1JJVEVSIiwg
ZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGZpbGVXcml0ZXJTdXBwb3J0IH0sCiApOwogCiAjIFVw
ZGF0ZSBkZWZhdWx0cyBmcm9tIFF0J3MgcHJvamVjdCBmaWxlCmRpZmYgLS1naXQgYS9jb25maWd1
cmUuYWMgYi9jb25maWd1cmUuYWMKaW5kZXggNWJjMTc4MS4uMjJiZDU0NSAxMDA2NDQKLS0tIGEv
Y29uZmlndXJlLmFjCisrKyBiL2NvbmZpZ3VyZS5hYwpAQCAtNTY5LDYgKzU2OSwyMiBAQCBBQ19B
UkdfRU5BQkxFKGZhc3RfbW9iaWxlX3Njcm9sbGluZywKICAgICAgICAgICAgICAgW10sW2VuYWJs
ZV9mYXN0X21vYmlsZV9zY3JvbGxpbmc9Im5vIl0pCiBBQ19NU0dfUkVTVUxUKFskZW5hYmxlX2Zh
c3RfbW9iaWxlX3Njcm9sbGluZ10pCiAKKyMgY2hlY2sgd2hldGhlciB0byBlbmFibGUgRmlsZVJl
YWRlciBzdXBwb3J0CitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIEZpbGVSZWFk
ZXIgc3VwcG9ydF0pCitBQ19BUkdfRU5BQkxFKGZpbGVfcmVhZGVyLAorICAgICAgICAgICAgICBB
Q19IRUxQX1NUUklORyhbLS1lbmFibGUtZmlsZS1yZWFkZXJdLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBbZW5hYmxlIHN1cHBvcnQgZm9yIEZpbGVSZWFkZXIgW2RlZmF1bHQ9bm9dXSks
CisgICAgICAgICAgICAgIFtdLFtlbmFibGVfZmlsZV9yZWFkZXI9Im5vIl0pCitBQ19NU0dfUkVT
VUxUKFskZW5hYmxlX2ZpbGVfcmVhZGVyXSkKKworIyBjaGVjayB3aGV0aGVyIHRvIGVuYWJsZSBG
aWxlV3JpdGVyIHN1cHBvcnQKK0FDX01TR19DSEVDS0lORyhbd2hldGhlciB0byBlbmFibGUgRmls
ZVdyaXRlciBzdXBwb3J0XSkKK0FDX0FSR19FTkFCTEUoZmlsZV93cml0ZXIsCisgICAgICAgICAg
ICAgIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1maWxlLXdyaXRlcl0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFtlbmFibGUgc3VwcG9ydCBmb3IgRmlsZVdyaXRlciBbZGVmYXVsdD1u
b11dKSwKKyAgICAgICAgICAgICAgW10sW2VuYWJsZV9maWxlX3dyaXRlcj0ibm8iXSkKK0FDX01T
R19SRVNVTFQoWyRlbmFibGVfZmlsZV93cml0ZXJdKQorCiAjIGNoZWNrIHdoZXRoZXIgdG8gZW5h
YmxlIGNvZGUgY292ZXJhZ2UKIEFDX01TR19DSEVDS0lORyhbd2hldGhlciB0byBlbmFibGUgY29k
ZSBjb3ZlcmFnZSBzdXBwb3J0XSkKIEFDX0FSR19FTkFCTEUoY292ZXJhZ2UsCkBAIC04MDcsNiAr
ODIzLDggQEAgQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9YSFRNTE1QXSxbdGVzdCAiJGVuYWJsZV94
aHRtbG1wIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfWFBBVEhdLFt0ZXN0ICIk
ZW5hYmxlX3hwYXRoIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfWFNMVF0sW3Rl
c3QgIiRlbmFibGVfeHNsdCIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX0ZJTFRF
UlNdLFt0ZXN0ICIkZW5hYmxlX2ZpbHRlcnMiID0gInllcyJdKQorQU1fQ09ORElUSU9OQUwoW0VO
QUJMRV9GSUxFX1JFQURFUl0sW3Rlc3QgIiRlbmFibGVfZmlsZV9yZWFkZXIiID0gInllcyJdKQor
QU1fQ09ORElUSU9OQUwoW0VOQUJMRV9GSUxFX1dSSVRFUl0sW3Rlc3QgIiRlbmFibGVfZmlsZV93
cml0ZXIiID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9HRU9MT0NBVElPTl0sIFt0
ZXN0ICIkZW5hYmxlX2dlb2xvY2F0aW9uIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFC
TEVfTUFUSE1MXSwgW3Rlc3QgIiRlbmFibGVfbWF0aG1sIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElP
TkFMKFtFTkFCTEVfUlVCWV0sW3Rlc3QgIiRlbmFibGVfcnVieSIgPSAieWVzIl0pCkBAIC04NjAs
NiArODc4LDggQEAgRmVhdHVyZXM6CiAgRmFzdCBNb2JpbGUgU2Nyb2xsaW5nICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX2Zhc3RfbW9iaWxlX3Njcm9sbGluZwog
IEpJVCBjb21waWxhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDogJGVuYWJsZV9qaXQKICBGaWx0ZXJzIHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA6ICRlbmFibGVfZmlsdGVycworIEZpbGVSZWFkZXIgc3VwcG9ydCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV9maWxlX3JlYWRl
cgorIEZpbGVXcml0ZXIgc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDogJGVuYWJsZV9maWxlX3dyaXRlcgogIEdlb2xvY2F0aW9uIHN1cHBvcnQgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV9nZW9sb2NhdGlvbgogIEphdmFT
Y3JpcHQgZGVidWdnZXIvcHJvZmlsZXIgc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgIDogJGVu
YWJsZV9qYXZhc2NyaXB0X2RlYnVnZ2VyCiAgTWF0aE1MIHN1cHBvcnQgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX21hdGhtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52560</attachid>
            <date>2010-04-05 13:00:33 -0700</date>
            <delta_ts>2010-04-05 13:03:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-36896-20100405130032.patch</filename>
            <type>text/plain</type>
            <size>1596</size>
            <attacher name="Eric U.">ericu</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NzA5MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTAtMDQtMDUgIEVyaWMgVWhyaGFuZSAgPGVyaWN1QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICB3
aW5kb3cub3BlbkRhdGFiYXNlKCkgYWx3YXlzIGZhaWxzIGZvciBuZXcgZGF0YWJhc2VzIHdoZW4g
dXNpbmcgV2ViS2l0IG5pZ2h0bHkgd2l0aCBTYWZhcmkgNC4wLjUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2NjcxCisKKyAgICAgICAgVGhlIHByZXZp
b3VzICJmaXgiIEkgbWlzdGFrZW5seSBjb21wYXJlZCBoYXNoZXMsIGFuIGltcHJvdmVtZW50IG92
ZXIgY29tcGFyaW5nIHBvaW50ZXJzLCBidXQgc3RpbGwgbm90IHJpZ2h0LgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cy4KKworICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlVHJhY2tlcjo6ZnVsbFBhdGhGb3JEYXRhYmFzZU5vTG9j
ayk6IFVzZSBTZWN1cml0eU9yaWdpbjo6ZXF1YWwgdG8gY29tcGFyZSBpbnN0ZWFkIG9mIFNlY3Vy
aXR5T3JpZ2luSGFzaC4KKwogMjAxMC0wNC0wNSAgQWRhbSBUcmVhdCAgPGF0cmVhdEByaW0uY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViQ29yZS9zdG9y
YWdlL0RhdGFiYXNlVHJhY2tlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdG9yYWdlL0Rh
dGFiYXNlVHJhY2tlci5jcHAJKHJldmlzaW9uIDU3MDg1KQorKysgV2ViQ29yZS9zdG9yYWdlL0Rh
dGFiYXNlVHJhY2tlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzNCw3ICsyMzQsNyBAQCBTdHJp
bmcgRGF0YWJhc2VUcmFja2VyOjpmdWxsUGF0aEZvckRhdGFiCiAgICAgQVNTRVJUKCFvcmlnaW5R
dW90YU1hbmFnZXJOb0xvY2soKS50cnlMb2NrKCkpOwogCiAgICAgZm9yIChIYXNoU2V0PFByb3Bv
c2VkRGF0YWJhc2UqPjo6aXRlcmF0b3IgaXRlciA9IG1fcHJvcG9zZWREYXRhYmFzZXMuYmVnaW4o
KTsgaXRlciAhPSBtX3Byb3Bvc2VkRGF0YWJhc2VzLmVuZCgpOyArK2l0ZXIpCi0gICAgICAgIGlm
ICgoKml0ZXIpLT5zZWNvbmQubmFtZSgpID09IG5hbWUgJiYgU2VjdXJpdHlPcmlnaW5IYXNoOjpo
YXNoKCgqaXRlciktPmZpcnN0KSA9PSBTZWN1cml0eU9yaWdpbkhhc2g6Omhhc2gob3JpZ2luKSkK
KyAgICAgICAgaWYgKCgqaXRlciktPnNlY29uZC5uYW1lKCkgPT0gbmFtZSAmJiAoKml0ZXIpLT5m
aXJzdC0+ZXF1YWwob3JpZ2luKSkKICAgICAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKIAogICAg
IFN0cmluZyBvcmlnaW5JZGVudGlmaWVyID0gb3JpZ2luLT5kYXRhYmFzZUlkZW50aWZpZXIoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52799</attachid>
            <date>2010-04-07 16:27:34 -0700</date>
            <delta_ts>2010-04-07 16:32:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-36896-20100407162733.patch</filename>
            <type>text/plain</type>
            <size>10839</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDU3MjM3KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMDQtMDcgIERpcmsgUHJhbmtlICA8ZHBy
YW5rZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRW5hYmxlIHJlYmFzZWxpbmUtY2hyb21pdW0td2Via2l0LXRlc3RzIHRvIHJ1
biBmcm9tIGEgd2Via2l0LW9ubHkKKyAgICAgICAgY2hlY2tvdXQgKGkuZS4sIHlvdSBkb24ndCBu
ZWVkIGFueXRoaW5nIGZyb20gdGhlIENocm9taXVtIHRyZWUgY2hlY2tlZAorICAgICAgICBvdXQp
LiBUaGlzIHJlcXVpcmVzIHVzIHRvIGludHJvZHVjZSB0aGUgY29uY2VwdCBvZiBhICJ0YXJnZXQi
CisgICAgICAgIHBvcnQvcGxhdGZvcm0gdGhhdCB3ZSB1c2UgdG8gZ2V0IGNvbmZpZ3VyYXRpb24g
aW5mb3JtYXRpb24gZnJvbSBhcyB3ZWxsCisgICAgICAgIGFzIHRoZSAicnVubmluZyIgcG9ydCB0
aGF0IHdlIHVzZSB0byBtYWtlIGRpcmVjdG9yaWVzIGFuZCBkaWZmIGltYWdlcworICAgICAgICBh
bmQgdGhlICJyZWJhc2VsaW5pbmciIHBvcnQgd2UgdXNlIHRvIGFjdHVhbGx5IG1hbmFnZSBiYXNl
bGluZXMuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTM3MjM4CisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2No
cm9taXVtLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQv
bWFjLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3JlYmFzZWxp
bmVfY2hyb21pdW1fd2Via2l0X3Rlc3RzLnB5OgorCiAyMDEwLTAzLTMxICBFcmljIFNlaWRlbCAg
PGVyaWNAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpJbmRl
eDogV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcmViYXNlbGluZV9j
aHJvbWl1bV93ZWJraXRfdGVzdHMucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcmViYXNlbGluZV9jaHJvbWl1bV93ZWJraXRfdGVzdHMu
cHkJKHJldmlzaW9uIDU3MjQwKQorKysgV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcmViYXNlbGluZV9jaHJvbWl1bV93ZWJraXRfdGVzdHMucHkJKHdvcmtpbmcgY29w
eSkKQEAgLTIwMywxNCArMjAzLDIxIEBAIGNsYXNzIFJlYmFzZWxpbmVyKG9iamVjdCk6CiAKICAg
ICBSRVZJU0lPTl9SRUdFWCA9IHInPGEgaHJlZj1cIihcZCspL1wiPicKIAotICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBydW5uaW5nX3BvcnQsIHBsYXRmb3JtLCBvcHRpb25zKToKKyAgICBkZWYgX19p
bml0X18oc2VsZiwgcnVubmluZ19wb3J0LCB0YXJnZXRfcG9ydCwgcGxhdGZvcm0sIG9wdGlvbnMp
OgorICAgICAgICAiIiIKKyAgICAgICAgQXJnczoKKyAgICAgICAgICAgIHJ1bm5pbmdfcG9ydDog
dGhlIFBvcnQgdGhlIHNjcmlwdCBpcyBydW5uaW5nIG9uLgorICAgICAgICAgICAgdGFyZ2V0X3Bv
cnQ6IHRoZSBQb3J0IHRoZSBzY3JpcHQgdXNlcyB0byBmaW5kIHBvcnQtc3BlY2lmaWMKKyAgICAg
ICAgICAgICAgICBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIGxpa2UgdGhlIHRlc3RfZXhwZWN0
YXRpb25zLnR4dAorICAgICAgICAgICAgICAgIGZpbGUgbG9jYXRpb24gYW5kIHRoZSBsaXN0IG9m
IHRlc3QgcGxhdGZvcm1zLgorICAgICAgICAgICAgcGxhdGZvcm06IHRoZSB0ZXN0IHBsYXRmb3Jt
IHRvIHJlYmFzZWxpbmUKKyAgICAgICAgICAgIG9wdGlvbnM6IHRoZSBjb21tYW5kLWxpbmUgb3B0
aW9ucyBvYmplY3QuIiIiCiAgICAgICAgIHNlbGYuX3BsYXRmb3JtID0gcGxhdGZvcm0KICAgICAg
ICAgc2VsZi5fb3B0aW9ucyA9IG9wdGlvbnMKLSAgICAgICAgIyBUaGlzIGlzIHRoZSBwb3J0IHRo
YXQgdGhlIHNjcmlwdCBpcyBydW5uaW5nIG9uLgogICAgICAgICBzZWxmLl9wb3J0ID0gcnVubmlu
Z19wb3J0Ci0gICAgICAgICMgVGhpcyBpcyB0aGUgcG9ydCB0aGF0IHRoZSByZWJhc2VsaW5pbmcg
dG9vbCBjcmVhdGVzIG5ldyBiYXNlbGluZXMgZm9yLgorICAgICAgICBzZWxmLl90YXJnZXRfcG9y
dCA9IHRhcmdldF9wb3J0CiAgICAgICAgIHNlbGYuX3JlYmFzZWxpbmVfcG9ydCA9IHBvcnQuZ2V0
KAotICAgICAgICAgICAgc2VsZi5fcG9ydC50ZXN0X3BsYXRmb3JtX25hbWVfdG9fbmFtZShwbGF0
Zm9ybSksIG9wdGlvbnMpCisgICAgICAgICAgICBzZWxmLl90YXJnZXRfcG9ydC50ZXN0X3BsYXRm
b3JtX25hbWVfdG9fbmFtZShwbGF0Zm9ybSksIG9wdGlvbnMpCiAgICAgICAgIHNlbGYuX3JlYmFz
ZWxpbmluZ190ZXN0cyA9IFtdCiAgICAgICAgIHNlbGYuX3JlYmFzZWxpbmVkX3Rlc3RzID0gW10K
IApAQCAtNTA0LDcgKzUxMSw4IEBAIGNsYXNzIFJlYmFzZWxpbmVyKG9iamVjdCk6CiAgICAgICAg
ICAgVHJ1ZSBpZiB0aGUgYmFzZWxpbmUgaXMgdW5uZWNlc3NhcnkuCiAgICAgICAgICAgRmFsc2Ug
b3RoZXJ3aXNlLgogICAgICAgICAiIiIKLSAgICAgICAgdGVzdF9maWxlcGF0aCA9IG9zLnBhdGgu
am9pbihzZWxmLl9wb3J0LmxheW91dF90ZXN0c19kaXIoKSwgdGVzdCkKKyAgICAgICAgdGVzdF9m
aWxlcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLl90YXJnZXRfcG9ydC5sYXlvdXRfdGVzdHNfZGly
KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdCkKICAgICAgICAg
YWxsX2Jhc2VsaW5lcyA9IHNlbGYuX3JlYmFzZWxpbmVfcG9ydC5leHBlY3RlZF9iYXNlbGluZXMo
CiAgICAgICAgICAgICB0ZXN0X2ZpbGVwYXRoLCBzdWZmaXgsIFRydWUpCiAgICAgICAgIGZvciAo
ZmFsbGJhY2tfZGlyLCBmYWxsYmFja19maWxlKSBpbiBhbGxfYmFzZWxpbmVzOgpAQCAtNTgwLDcg
KzU4OCw3IEBAIGNsYXNzIFJlYmFzZWxpbmVyKG9iamVjdCk6CiAgICAgICAgICAgICBuZXdfZXhw
ZWN0YXRpb25zID0gKAogICAgICAgICAgICAgICAgIHNlbGYuX3Rlc3RfZXhwZWN0YXRpb25zLnJl
bW92ZV9wbGF0Zm9ybV9mcm9tX2V4cGVjdGF0aW9ucygKICAgICAgICAgICAgICAgICBzZWxmLl9y
ZWJhc2VsaW5lZF90ZXN0cywgc2VsZi5fcGxhdGZvcm0pKQotICAgICAgICAgICAgcGF0aCA9IHNl
bGYuX3BvcnQucGF0aF90b190ZXN0X2V4cGVjdGF0aW9uc19maWxlKCkKKyAgICAgICAgICAgIHBh
dGggPSBzZWxmLl90YXJnZXRfcG9ydC5wYXRoX3RvX3Rlc3RfZXhwZWN0YXRpb25zX2ZpbGUoKQog
ICAgICAgICAgICAgaWYgYmFja3VwOgogICAgICAgICAgICAgICAgIGRhdGVfc3VmZml4ID0gdGlt
ZS5zdHJmdGltZSgnJVklbSVkJUglTSVTJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdGltZS5sb2NhbHRpbWUodGltZS50aW1lKCkpKQpAQCAtNzk3LDkgKzgw
NSw5IEBAIGNsYXNzIEh0bWxHZW5lcmF0b3Iob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAg
ICAgICc8aW1nIHN0eWxlPSJ3aWR0aDogMjAwIiBzcmM9IiUodXJpKXMiIC8+PC9hPjwvdGQ+JykK
ICAgICBIVE1MX1RSID0gJzx0cj4lczwvdHI+JwogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBv
cnQsIG9wdGlvbnMsIHBsYXRmb3JtcywgcmViYXNlbGluaW5nX3Rlc3RzKToKKyAgICBkZWYgX19p
bml0X18oc2VsZiwgdGFyZ2V0X3BvcnQsIG9wdGlvbnMsIHBsYXRmb3JtcywgcmViYXNlbGluaW5n
X3Rlc3RzKToKICAgICAgICAgc2VsZi5faHRtbF9kaXJlY3RvcnkgPSBvcHRpb25zLmh0bWxfZGly
ZWN0b3J5Ci0gICAgICAgIHNlbGYuX3BvcnQgPSBwb3J0CisgICAgICAgIHNlbGYuX3RhcmdldF9w
b3J0ID0gdGFyZ2V0X3BvcnQKICAgICAgICAgc2VsZi5fcGxhdGZvcm1zID0gcGxhdGZvcm1zCiAg
ICAgICAgIHNlbGYuX3JlYmFzZWxpbmluZ190ZXN0cyA9IHJlYmFzZWxpbmluZ190ZXN0cwogICAg
ICAgICBzZWxmLl9odG1sX2ZpbGUgPSBvcy5wYXRoLmpvaW4ob3B0aW9ucy5odG1sX2RpcmVjdG9y
eSwKQEAgLTgzOCw3ICs4NDYsNyBAQCBjbGFzcyBIdG1sR2VuZXJhdG9yKG9iamVjdCk6CiAKICAg
ICAgICAgX2xvZy5pbmZvKCdMYXVuY2hpbmcgaHRtbDogIiVzIicsIHNlbGYuX2h0bWxfZmlsZSkK
IAotICAgICAgICBodG1sX3VyaSA9IHNlbGYuX3BvcnQuZmlsZW5hbWVfdG9fdXJpKHNlbGYuX2h0
bWxfZmlsZSkKKyAgICAgICAgaHRtbF91cmkgPSBzZWxmLl90YXJnZXRfcG9ydC5maWxlbmFtZV90
b191cmkoc2VsZi5faHRtbF9maWxlKQogICAgICAgICB3ZWJicm93c2VyLm9wZW4oaHRtbF91cmks
IDEpCiAKICAgICAgICAgX2xvZy5pbmZvKCdIdG1sIGxhdW5jaGVkLicpCkBAIC04NzYsMTMgKzg4
NCwxNCBAQCBjbGFzcyBIdG1sR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAgIGxpbmtzID0gJycK
ICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMob2xkX2ZpbGUpOgogICAgICAgICAgICAgbGlua3Mg
Kz0gaHRtbF90ZF9saW5rICUgewotICAgICAgICAgICAgICAgICd1cmknOiBzZWxmLl9wb3J0LmZp
bGVuYW1lX3RvX3VyaShvbGRfZmlsZSksCisgICAgICAgICAgICAgICAgJ3VyaSc6IHNlbGYuX3Rh
cmdldF9wb3J0LmZpbGVuYW1lX3RvX3VyaShvbGRfZmlsZSksCiAgICAgICAgICAgICAgICAgJ25h
bWUnOiBiYXNlbGluZV9maWxlbmFtZX0KICAgICAgICAgZWxzZToKICAgICAgICAgICAgIF9sb2cu
aW5mbygnICAgIE5vIG9sZCBiYXNlbGluZSBmaWxlOiAiJXMiJywgb2xkX2ZpbGUpCiAgICAgICAg
ICAgICBsaW5rcyArPSBzZWxmLkhUTUxfVERfTk9MSU5LICUgJycKIAotICAgICAgICBsaW5rcyAr
PSBodG1sX3RkX2xpbmsgJSB7J3VyaSc6IHNlbGYuX3BvcnQuZmlsZW5hbWVfdG9fdXJpKG5ld19m
aWxlKSwKKyAgICAgICAgbGlua3MgKz0gaHRtbF90ZF9saW5rICUgeyd1cmknOiBzZWxmLl90YXJn
ZXRfcG9ydC5maWxlbmFtZV90b191cmkoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbmV3X2ZpbGUpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUn
OiBiYXNlbGluZV9maWxlbmFtZX0KIAogICAgICAgICBkaWZmX2ZpbGUgPSBnZXRfcmVzdWx0X2Zp
bGVfZnVsbHBhdGgoc2VsZi5faHRtbF9kaXJlY3RvcnksCkBAIC05MjksOSArOTM4LDEwIEBAIGNs
YXNzIEh0bWxHZW5lcmF0b3Iob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgcm93cy5hcHBl
bmQoc2VsZi5IVE1MX1RSICUgcm93KQogCiAgICAgICAgIGlmIHJvd3M6Ci0gICAgICAgICAgICB0
ZXN0X3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5fcG9ydC5sYXlvdXRfdGVzdHNfZGlyKCksIHRl
c3QpCi0gICAgICAgICAgICBodG1sID0gc2VsZi5IVE1MX1RSX1RFU1QgJSAoc2VsZi5fcG9ydC5m
aWxlbmFtZV90b191cmkodGVzdF9wYXRoKSwKLSAgICAgICAgICAgICAgICB0ZXN0KQorICAgICAg
ICAgICAgdGVzdF9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYuX3RhcmdldF9wb3J0LmxheW91dF90
ZXN0c19kaXIoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0KQor
ICAgICAgICAgICAgaHRtbCA9IHNlbGYuSFRNTF9UUl9URVNUICUgKAorICAgICAgICAgICAgICAg
IHNlbGYuX3RhcmdldF9wb3J0LmZpbGVuYW1lX3RvX3VyaSh0ZXN0X3BhdGgpLCB0ZXN0KQogICAg
ICAgICAgICAgaHRtbCArPSBzZWxmLkhUTUxfVEVTVF9ERVRBSUwgJSAnICcuam9pbihyb3dzKQog
CiAgICAgICAgICAgICBfbG9nLmRlYnVnKCcgICAgaHRtbCBmb3IgdGVzdDogJXMnLCBodG1sKQpA
QCAtOTg3LDEyICs5OTcsMjkgQEAgZGVmIG1haW4oKToKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGVscD0oJ1RoZSBkaXJlY3RvcnkgdGhhdCBzdG9yZXMgdGhlIHJlc3VsdHMgZm9yJwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnIHJlYmFzZWxpbmluZyBjb21wYXJp
c29uLicpKQogCisgICAgb3B0aW9uX3BhcnNlci5hZGRfb3B0aW9uKCcnLCAnLS10YXJnZXQtcGxh
dGZvcm0nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PScnLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSgnVGhlIHRhcmdldCBwbGF0Zm9ybSB0byByZWJh
c2VsaW5lICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJygibWFjIiwgImNo
cm9taXVtIiwgInF0IiwgZXRjLikuIERlZmF1bHRzICcKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ3RvIENocm9taXVtLicpKQogICAgIG9wdGlvbnMgPSBvcHRpb25fcGFyc2Vy
LnBhcnNlX2FyZ3MoKVswXQogCi0gICAgIyBGSVhNRTogU2V0dGluZyBvcHRpb25zLmNocm9taXVt
IHRvIFRydWUgZm9yY2VzIHBvcnQuZ2V0KCkgdG8gb25seSBsb29rCi0gICAgIyBhdCBDaHJvbWl1
bSBwb3J0czsgd2UgaGFyZC1jb2RlIHRoaXMgYmVjYXVzZSB0aGlzIHNjcmlwdCBkb2Vzbid0IHdv
cmsKLSAgICAjIG9uIG5vbi1DaHJvbWl1bSBwb3J0cyB5ZXQuIFdlIHNob3VsZCBmaXggdGhhdC4K
LSAgICBvcHRpb25zLmNocm9taXVtID0gVHJ1ZQorICAgICMgV2UgbmVlZCB0byBjcmVhdGUgdGhy
ZWUgZGlmZmVyZW50IFBvcnQgb2JqZWN0cyBvdmVyIHRoZSBsaWZlIG9mIHRoaXMKKyAgICAjIHNj
cmlwdC4gfHRhcmdldF9wb3J0X29ianwgaXMgdXNlZCB0byBkZXRlcm1pbmUgY29uZmlndXJhdGlv
biBpbmZvcm1hdGlvbjoKKyAgICAjIGxvY2F0aW9uIG9mIHRoZSBleHBlY3RhdGlvbnMgZmlsZSwg
bmFtZXMgb2YgcG9ydHMgdG8gcmViYXNlbGluZSwgZXRjLgorICAgICMgfHBvcnRfb2JqfCBpcyB1
c2VkIGZvciBydW50aW1lIGZ1bmN0aW9uYWxpdHkgbGlrZSBhY3R1YWxseSBkaWZmaW5nCisgICAg
IyBUaGVuIHdlIGNyZWF0ZSBhIHJlYmFzZWxpbmluZyBwb3J0IHRvIGFjdHVhbCBmaW5kIGFuZCBt
YW5hZ2UgdGhlCisgICAgIyBiYXNlbGluZXMuCisgICAgIworICAgICMgRklYTUU6IGlzIHRoZXJl
IGEgbW9yZSBnZW5lcmljIHdheSB0byBjb3B5IGFuIG9wdGlvbnMgb2JqZWN0PyBUaGVyZSBtdXN0
CisgICAgIyBiZSBhIGJldHRlciB3YXkgb2YgbWFuYWdpbmcgbXVsdGlwbGUgb2JqZWN0cyBhbmQg
dGFyZ2V0cyBoZXJlLgorICAgIG9yaWdpbmFsX2Nocm9taXVtX2ZsYWcgPSBOb25lCisgICAgaWYg
aGFzYXR0cihvcHRpb25zLCAnY2hyb21pdW0nKToKKyAgICAgICAgb3JpZ2luYWxfY2hyb21pdW1f
ZmxhZyA9IG9wdGlvbnMuY2hyb21pdW0KKyAgICBpZiBvcHRpb25zLnRhcmdldF9wbGF0Zm9ybSA9
PSAnY2hyb21pdW0nOgorICAgICAgICBvcHRpb25zLmNocm9taXVtID0gVHJ1ZQorICAgIHRhcmdl
dF9wb3J0X29iaiA9IHBvcnQuZ2V0KE5vbmUsIG9wdGlvbnMpCisgICAgb3B0aW9ucy5jaHJvbWl1
bSA9IG9yaWdpbmFsX2Nocm9taXVtX2ZsYWcKIAogICAgICMgU2V0IHVwIG91ciBsb2dnaW5nIGZv
cm1hdC4KICAgICBsb2dfbGV2ZWwgPSBsb2dnaW5nLklORk8KQEAgLTEwMDYsMTQgKzEwMzMsMTQg
QEAgZGVmIG1haW4oKToKICAgICAjIG9wdGlvbnMudGFyZ2V0IGlzIHVzZWQgYnkgcG9ydCB0byBs
b2NhdGUgaW1hZ2VfZGlmZiBiaW5hcnkuCiAgICAgIyBDaGVjayB0aGUgaW1nYWdlX2RpZmYgcmVs
ZWFzZSBiaW5hcnksIGlmIGl0IGRvZXMgbm90IGV4aXN0LAogICAgICMgZmFsbGJhY2sgdG8gZGVi
dWcuCi0gICAgb3B0aW9ucy50YXJnZXQgPSAicmVsZWFzZSIKKyAgICBvcHRpb25zLnRhcmdldCA9
ICJSZWxlYXNlIgogICAgIHBvcnRfb2JqID0gcG9ydC5nZXQoTm9uZSwgb3B0aW9ucykKICAgICBp
ZiBub3QgcG9ydF9vYmouY2hlY2tfaW1hZ2VfZGlmZihvdmVycmlkZV9zdGVwPU5vbmUsIGxvZ2dp
bmc9RmFsc2UpOgogICAgICAgICBfbG9nLmRlYnVnKCdObyByZWxlYXNlIHZlcnNpb24gaW1hZ2Ug
ZGlmZiBiaW5hcnkgZm91bmQuJykKLSAgICAgICAgb3B0aW9ucy50YXJnZXQgPSAiZGVidWciCisg
ICAgICAgIG9wdGlvbnMudGFyZ2V0ID0gIkRlYnVnIgogICAgICAgICBwb3J0X29iaiA9IHBvcnQu
Z2V0KE5vbmUsIG9wdGlvbnMpCiAgICAgZWxzZToKLSAgICAgICBfbG9nLmRlYnVnKCdGb3VuZCBy
ZWxlYXNlIHZlcnNpb24gaW1hZ2UgZGlmZiBiaW5hcnkuJykKKyAgICAgICAgX2xvZy5kZWJ1Zygn
Rm91bmQgcmVsZWFzZSB2ZXJzaW9uIGltYWdlIGRpZmYgYmluYXJ5LicpCiAKICAgICAjIFZlcmlm
eSAncGxhdGZvcm1zJyBvcHRpb24gaXMgdmFsaWQKICAgICBpZiBub3Qgb3B0aW9ucy5wbGF0Zm9y
bXM6CkBAIC0xMDQwLDcgKzEwNjcsNyBAQCBkZWYgbWFpbigpOgogICAgIHJlYmFzZWxpbmluZ190
ZXN0cyA9IHNldCgpCiAgICAgYmFja3VwID0gb3B0aW9ucy5iYWNrdXAKICAgICBmb3IgcGxhdGZv
cm0gaW4gcmViYXNlbGluZV9wbGF0Zm9ybXM6Ci0gICAgICAgIHJlYmFzZWxpbmVyID0gUmViYXNl
bGluZXIocG9ydF9vYmosIHBsYXRmb3JtLCBvcHRpb25zKQorICAgICAgICByZWJhc2VsaW5lciA9
IFJlYmFzZWxpbmVyKHBvcnRfb2JqLCB0YXJnZXRfcG9ydF9vYmosIHBsYXRmb3JtLCBvcHRpb25z
KQogCiAgICAgICAgIF9sb2cuaW5mbygnJykKICAgICAgICAgbG9nX2Rhc2hlZF9zdHJpbmcoJ1Jl
YmFzZWxpbmUgc3RhcnRlZCcsIHBsYXRmb3JtKQpAQCAtMTA1NSw3ICsxMDgyLDcgQEAgZGVmIG1h
aW4oKToKIAogICAgIF9sb2cuaW5mbygnJykKICAgICBsb2dfZGFzaGVkX3N0cmluZygnUmViYXNl
bGluaW5nIHJlc3VsdCBjb21wYXJpc29uIHN0YXJ0ZWQnLCBOb25lKQotICAgIGh0bWxfZ2VuZXJh
dG9yID0gSHRtbEdlbmVyYXRvcihwb3J0X29iaiwKKyAgICBodG1sX2dlbmVyYXRvciA9IEh0bWxH
ZW5lcmF0b3IodGFyZ2V0X3BvcnRfb2JqLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBvcHRpb25zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWJhc2Vs
aW5lX3BsYXRmb3JtcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmViYXNl
bGluaW5nX3Rlc3RzKQpJbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC9tYWMucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tYWMucHkJKHJldmlzaW9uIDU3MjQwKQorKysgV2ViS2l0
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tYWMucHkJKHdvcmtpbmcg
Y29weSkKQEAgLTg1LDE2ICs4NSwxNCBAQCBjbGFzcyBNYWNQb3J0KGJhc2UuUG9ydCk6CiAgICAg
ICAgIGlmIGV4ZWN1dGl2ZS5ydW5fY29tbWFuZChidWlsZF9kcnRfY29tbWFuZCwgcmV0dXJuX2V4
aXRfY29kZT1UcnVlKToKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogCisgICAgICAgIGlmIG5v
dCBzZWxmLmNoZWNrX2ltYWdlX2RpZmYoKToKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorCiAg
ICAgICAgIGRyaXZlcl9wYXRoID0gc2VsZi5fcGF0aF90b19kcml2ZXIoKQogICAgICAgICBpZiBu
b3Qgb3MucGF0aC5leGlzdHMoZHJpdmVyX3BhdGgpOgogICAgICAgICAgICAgX2xvZy5lcnJvcigi
RHVtcFJlbmRlclRyZWUgd2FzIG5vdCBmb3VuZCBhdCAlcyIgJSBkcml2ZXJfcGF0aCkKICAgICAg
ICAgICAgIHJldHVybiBGYWxzZQogCi0gICAgICAgIGltYWdlX2RpZmZfcGF0aCA9IHNlbGYuX3Bh
dGhfdG9faW1hZ2VfZGlmZigpCi0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhpbWFnZV9k
aWZmX3BhdGgpOgotICAgICAgICAgICAgX2xvZy5lcnJvcigiSW1hZ2VEaWZmIHdhcyBub3QgZm91
bmQgYXQgJXMiICUgaW1hZ2VfZGlmZl9wYXRoKQotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0K
ICAgICAgICAgamF2YV90ZXN0c19wYXRoID0gb3MucGF0aC5qb2luKHNlbGYubGF5b3V0X3Rlc3Rz
X2RpcigpLCAiamF2YSIpCiAgICAgICAgIGJ1aWxkX2phdmEgPSBbIi91c3IvYmluL21ha2UiLCAi
LUMiLCBqYXZhX3Rlc3RzX3BhdGhdCiAgICAgICAgIGlmIGV4ZWN1dGl2ZS5ydW5fY29tbWFuZChi
dWlsZF9qYXZhLCByZXR1cm5fZXhpdF9jb2RlPVRydWUpOgpAQCAtMTAzLDYgKzEwMSwxMyBAQCBj
bGFzcyBNYWNQb3J0KGJhc2UuUG9ydCk6CiAKICAgICAgICAgcmV0dXJuIFRydWUKIAorICAgIGRl
ZiBjaGVja19pbWFnZV9kaWZmKHNlbGYsIG92ZXJyaWRlX3N0ZXA9Tm9uZSwgbG9nZ2luZz1UcnVl
KToKKyAgICAgICAgaW1hZ2VfZGlmZl9wYXRoID0gc2VsZi5fcGF0aF90b19pbWFnZV9kaWZmKCkK
KyAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGltYWdlX2RpZmZfcGF0aCk6CisgICAgICAg
ICAgICBfbG9nLmVycm9yKCJJbWFnZURpZmYgd2FzIG5vdCBmb3VuZCBhdCAlcyIgJSBpbWFnZV9k
aWZmX3BhdGgpCisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIFRydWUK
KwogICAgIGRlZiBkaWZmX2ltYWdlKHNlbGYsIGV4cGVjdGVkX2ZpbGVuYW1lLCBhY3R1YWxfZmls
ZW5hbWUsCiAgICAgICAgICAgICAgICAgICAgZGlmZl9maWxlbmFtZT1Ob25lKToKICAgICAgICAg
IiIiUmV0dXJuIFRydWUgaWYgdGhlIHR3byBmaWxlcyBhcmUgZGlmZmVyZW50LiBBbHNvIHdyaXRl
IGEgZGVsdGEK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52801</attachid>
            <date>2010-04-07 16:32:48 -0700</date>
            <delta_ts>2010-04-07 16:36:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-36896-20100407163247.patch</filename>
            <type>text/plain</type>
            <size>11168</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDU3MjM3KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDQtMDcgIERpcmsgUHJhbmtlICA8ZHBy
YW5rZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRW5hYmxlIHJlYmFzZWxpbmUtY2hyb21pdW0td2Via2l0LXRlc3RzIHRvIHJ1
biBmcm9tIGEgd2Via2l0LW9ubHkKKyAgICAgICAgY2hlY2tvdXQgKGkuZS4sIHlvdSBkb24ndCBu
ZWVkIGFueXRoaW5nIGZyb20gdGhlIENocm9taXVtIHRyZWUgY2hlY2tlZAorICAgICAgICBvdXQp
LiBUaGlzIHJlcXVpcmVzIHVzIHRvIGludHJvZHVjZSB0aGUgY29uY2VwdCBvZiBhICJ0YXJnZXQi
CisgICAgICAgIHBvcnQvcGxhdGZvcm0gdGhhdCB3ZSB1c2UgdG8gZ2V0IGNvbmZpZ3VyYXRpb24g
aW5mb3JtYXRpb24gZnJvbSBhcyB3ZWxsCisgICAgICAgIGFzIHRoZSAicnVubmluZyIgcG9ydCB0
aGF0IHdlIHVzZSB0byBtYWtlIGRpcmVjdG9yaWVzIGFuZCBkaWZmIGltYWdlcworICAgICAgICBh
bmQgdGhlICJyZWJhc2VsaW5pbmciIHBvcnQgd2UgdXNlIHRvIGFjdHVhbGx5IG1hbmFnZSBiYXNl
bGluZXMuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTM3MjM4CisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L21h
Yy5weToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9yZWJhc2VsaW5l
X2Nocm9taXVtX3dlYmtpdF90ZXN0cy5weToKKwogMjAxMC0wMy0zMSAgRXJpYyBTZWlkZWwgIDxl
cmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KSW5kZXg6
IFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3JlYmFzZWxpbmVfY2hy
b21pdW1fd2Via2l0X3Rlc3RzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3JlYmFzZWxpbmVfY2hyb21pdW1fd2Via2l0X3Rlc3RzLnB5
CShyZXZpc2lvbiA1NzI0MCkKKysrIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3JlYmFzZWxpbmVfY2hyb21pdW1fd2Via2l0X3Rlc3RzLnB5CSh3b3JraW5nIGNvcHkp
CkBAIC0yMDMsMTQgKzIwMywyMSBAQCBjbGFzcyBSZWJhc2VsaW5lcihvYmplY3QpOgogCiAgICAg
UkVWSVNJT05fUkVHRVggPSByJzxhIGhyZWY9XCIoXGQrKS9cIj4nCiAKLSAgICBkZWYgX19pbml0
X18oc2VsZiwgcnVubmluZ19wb3J0LCBwbGF0Zm9ybSwgb3B0aW9ucyk6CisgICAgZGVmIF9faW5p
dF9fKHNlbGYsIHJ1bm5pbmdfcG9ydCwgdGFyZ2V0X3BvcnQsIHBsYXRmb3JtLCBvcHRpb25zKToK
KyAgICAgICAgIiIiCisgICAgICAgIEFyZ3M6CisgICAgICAgICAgICBydW5uaW5nX3BvcnQ6IHRo
ZSBQb3J0IHRoZSBzY3JpcHQgaXMgcnVubmluZyBvbi4KKyAgICAgICAgICAgIHRhcmdldF9wb3J0
OiB0aGUgUG9ydCB0aGUgc2NyaXB0IHVzZXMgdG8gZmluZCBwb3J0LXNwZWNpZmljCisgICAgICAg
ICAgICAgICAgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBsaWtlIHRoZSB0ZXN0X2V4cGVjdGF0
aW9ucy50eHQKKyAgICAgICAgICAgICAgICBmaWxlIGxvY2F0aW9uIGFuZCB0aGUgbGlzdCBvZiB0
ZXN0IHBsYXRmb3Jtcy4KKyAgICAgICAgICAgIHBsYXRmb3JtOiB0aGUgdGVzdCBwbGF0Zm9ybSB0
byByZWJhc2VsaW5lCisgICAgICAgICAgICBvcHRpb25zOiB0aGUgY29tbWFuZC1saW5lIG9wdGlv
bnMgb2JqZWN0LiIiIgogICAgICAgICBzZWxmLl9wbGF0Zm9ybSA9IHBsYXRmb3JtCiAgICAgICAg
IHNlbGYuX29wdGlvbnMgPSBvcHRpb25zCi0gICAgICAgICMgVGhpcyBpcyB0aGUgcG9ydCB0aGF0
IHRoZSBzY3JpcHQgaXMgcnVubmluZyBvbi4KICAgICAgICAgc2VsZi5fcG9ydCA9IHJ1bm5pbmdf
cG9ydAotICAgICAgICAjIFRoaXMgaXMgdGhlIHBvcnQgdGhhdCB0aGUgcmViYXNlbGluaW5nIHRv
b2wgY3JlYXRlcyBuZXcgYmFzZWxpbmVzIGZvci4KKyAgICAgICAgc2VsZi5fdGFyZ2V0X3BvcnQg
PSB0YXJnZXRfcG9ydAogICAgICAgICBzZWxmLl9yZWJhc2VsaW5lX3BvcnQgPSBwb3J0LmdldCgK
LSAgICAgICAgICAgIHNlbGYuX3BvcnQudGVzdF9wbGF0Zm9ybV9uYW1lX3RvX25hbWUocGxhdGZv
cm0pLCBvcHRpb25zKQorICAgICAgICAgICAgc2VsZi5fdGFyZ2V0X3BvcnQudGVzdF9wbGF0Zm9y
bV9uYW1lX3RvX25hbWUocGxhdGZvcm0pLCBvcHRpb25zKQogICAgICAgICBzZWxmLl9yZWJhc2Vs
aW5pbmdfdGVzdHMgPSBbXQogICAgICAgICBzZWxmLl9yZWJhc2VsaW5lZF90ZXN0cyA9IFtdCiAK
QEAgLTUwNCw3ICs1MTEsOCBAQCBjbGFzcyBSZWJhc2VsaW5lcihvYmplY3QpOgogICAgICAgICAg
IFRydWUgaWYgdGhlIGJhc2VsaW5lIGlzIHVubmVjZXNzYXJ5LgogICAgICAgICAgIEZhbHNlIG90
aGVyd2lzZS4KICAgICAgICAgIiIiCi0gICAgICAgIHRlc3RfZmlsZXBhdGggPSBvcy5wYXRoLmpv
aW4oc2VsZi5fcG9ydC5sYXlvdXRfdGVzdHNfZGlyKCksIHRlc3QpCisgICAgICAgIHRlc3RfZmls
ZXBhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5fdGFyZ2V0X3BvcnQubGF5b3V0X3Rlc3RzX2Rpcigp
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3QpCiAgICAgICAgIGFs
bF9iYXNlbGluZXMgPSBzZWxmLl9yZWJhc2VsaW5lX3BvcnQuZXhwZWN0ZWRfYmFzZWxpbmVzKAog
ICAgICAgICAgICAgdGVzdF9maWxlcGF0aCwgc3VmZml4LCBUcnVlKQogICAgICAgICBmb3IgKGZh
bGxiYWNrX2RpciwgZmFsbGJhY2tfZmlsZSkgaW4gYWxsX2Jhc2VsaW5lczoKQEAgLTU4MCw3ICs1
ODgsNyBAQCBjbGFzcyBSZWJhc2VsaW5lcihvYmplY3QpOgogICAgICAgICAgICAgbmV3X2V4cGVj
dGF0aW9ucyA9ICgKICAgICAgICAgICAgICAgICBzZWxmLl90ZXN0X2V4cGVjdGF0aW9ucy5yZW1v
dmVfcGxhdGZvcm1fZnJvbV9leHBlY3RhdGlvbnMoCiAgICAgICAgICAgICAgICAgc2VsZi5fcmVi
YXNlbGluZWRfdGVzdHMsIHNlbGYuX3BsYXRmb3JtKSkKLSAgICAgICAgICAgIHBhdGggPSBzZWxm
Ll9wb3J0LnBhdGhfdG9fdGVzdF9leHBlY3RhdGlvbnNfZmlsZSgpCisgICAgICAgICAgICBwYXRo
ID0gc2VsZi5fdGFyZ2V0X3BvcnQucGF0aF90b190ZXN0X2V4cGVjdGF0aW9uc19maWxlKCkKICAg
ICAgICAgICAgIGlmIGJhY2t1cDoKICAgICAgICAgICAgICAgICBkYXRlX3N1ZmZpeCA9IHRpbWUu
c3RyZnRpbWUoJyVZJW0lZCVIJU0lUycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRpbWUubG9jYWx0aW1lKHRpbWUudGltZSgpKSkKQEAgLTc5Nyw5ICs4MDUs
OSBAQCBjbGFzcyBIdG1sR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgICAg
ICAnPGltZyBzdHlsZT0id2lkdGg6IDIwMCIgc3JjPSIlKHVyaSlzIiAvPjwvYT48L3RkPicpCiAg
ICAgSFRNTF9UUiA9ICc8dHI+JXM8L3RyPicKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwb3J0
LCBvcHRpb25zLCBwbGF0Zm9ybXMsIHJlYmFzZWxpbmluZ190ZXN0cyk6CisgICAgZGVmIF9faW5p
dF9fKHNlbGYsIHRhcmdldF9wb3J0LCBvcHRpb25zLCBwbGF0Zm9ybXMsIHJlYmFzZWxpbmluZ190
ZXN0cyk6CiAgICAgICAgIHNlbGYuX2h0bWxfZGlyZWN0b3J5ID0gb3B0aW9ucy5odG1sX2RpcmVj
dG9yeQotICAgICAgICBzZWxmLl9wb3J0ID0gcG9ydAorICAgICAgICBzZWxmLl90YXJnZXRfcG9y
dCA9IHRhcmdldF9wb3J0CiAgICAgICAgIHNlbGYuX3BsYXRmb3JtcyA9IHBsYXRmb3JtcwogICAg
ICAgICBzZWxmLl9yZWJhc2VsaW5pbmdfdGVzdHMgPSByZWJhc2VsaW5pbmdfdGVzdHMKICAgICAg
ICAgc2VsZi5faHRtbF9maWxlID0gb3MucGF0aC5qb2luKG9wdGlvbnMuaHRtbF9kaXJlY3Rvcnks
CkBAIC04MzgsNyArODQ2LDcgQEAgY2xhc3MgSHRtbEdlbmVyYXRvcihvYmplY3QpOgogCiAgICAg
ICAgIF9sb2cuaW5mbygnTGF1bmNoaW5nIGh0bWw6ICIlcyInLCBzZWxmLl9odG1sX2ZpbGUpCiAK
LSAgICAgICAgaHRtbF91cmkgPSBzZWxmLl9wb3J0LmZpbGVuYW1lX3RvX3VyaShzZWxmLl9odG1s
X2ZpbGUpCisgICAgICAgIGh0bWxfdXJpID0gc2VsZi5fdGFyZ2V0X3BvcnQuZmlsZW5hbWVfdG9f
dXJpKHNlbGYuX2h0bWxfZmlsZSkKICAgICAgICAgd2ViYnJvd3Nlci5vcGVuKGh0bWxfdXJpLCAx
KQogCiAgICAgICAgIF9sb2cuaW5mbygnSHRtbCBsYXVuY2hlZC4nKQpAQCAtODc2LDEzICs4ODQs
MTQgQEAgY2xhc3MgSHRtbEdlbmVyYXRvcihvYmplY3QpOgogICAgICAgICBsaW5rcyA9ICcnCiAg
ICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG9sZF9maWxlKToKICAgICAgICAgICAgIGxpbmtzICs9
IGh0bWxfdGRfbGluayAlIHsKLSAgICAgICAgICAgICAgICAndXJpJzogc2VsZi5fcG9ydC5maWxl
bmFtZV90b191cmkob2xkX2ZpbGUpLAorICAgICAgICAgICAgICAgICd1cmknOiBzZWxmLl90YXJn
ZXRfcG9ydC5maWxlbmFtZV90b191cmkob2xkX2ZpbGUpLAogICAgICAgICAgICAgICAgICduYW1l
JzogYmFzZWxpbmVfZmlsZW5hbWV9CiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBfbG9nLmlu
Zm8oJyAgICBObyBvbGQgYmFzZWxpbmUgZmlsZTogIiVzIicsIG9sZF9maWxlKQogICAgICAgICAg
ICAgbGlua3MgKz0gc2VsZi5IVE1MX1REX05PTElOSyAlICcnCiAKLSAgICAgICAgbGlua3MgKz0g
aHRtbF90ZF9saW5rICUgeyd1cmknOiBzZWxmLl9wb3J0LmZpbGVuYW1lX3RvX3VyaShuZXdfZmls
ZSksCisgICAgICAgIGxpbmtzICs9IGh0bWxfdGRfbGluayAlIHsndXJpJzogc2VsZi5fdGFyZ2V0
X3BvcnQuZmlsZW5hbWVfdG9fdXJpKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG5ld19maWxlKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJzog
YmFzZWxpbmVfZmlsZW5hbWV9CiAKICAgICAgICAgZGlmZl9maWxlID0gZ2V0X3Jlc3VsdF9maWxl
X2Z1bGxwYXRoKHNlbGYuX2h0bWxfZGlyZWN0b3J5LApAQCAtOTI5LDkgKzkzOCwxMCBAQCBjbGFz
cyBIdG1sR2VuZXJhdG9yKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgIHJvd3MuYXBwZW5k
KHNlbGYuSFRNTF9UUiAlIHJvdykKIAogICAgICAgICBpZiByb3dzOgotICAgICAgICAgICAgdGVz
dF9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYuX3BvcnQubGF5b3V0X3Rlc3RzX2RpcigpLCB0ZXN0
KQotICAgICAgICAgICAgaHRtbCA9IHNlbGYuSFRNTF9UUl9URVNUICUgKHNlbGYuX3BvcnQuZmls
ZW5hbWVfdG9fdXJpKHRlc3RfcGF0aCksCi0gICAgICAgICAgICAgICAgdGVzdCkKKyAgICAgICAg
ICAgIHRlc3RfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLl90YXJnZXRfcG9ydC5sYXlvdXRfdGVz
dHNfZGlyKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdCkKKyAg
ICAgICAgICAgIGh0bWwgPSBzZWxmLkhUTUxfVFJfVEVTVCAlICgKKyAgICAgICAgICAgICAgICBz
ZWxmLl90YXJnZXRfcG9ydC5maWxlbmFtZV90b191cmkodGVzdF9wYXRoKSwgdGVzdCkKICAgICAg
ICAgICAgIGh0bWwgKz0gc2VsZi5IVE1MX1RFU1RfREVUQUlMICUgJyAnLmpvaW4ocm93cykKIAog
ICAgICAgICAgICAgX2xvZy5kZWJ1ZygnICAgIGh0bWwgZm9yIHRlc3Q6ICVzJywgaHRtbCkKQEAg
LTk4NywxMiArOTk3LDI5IEBAIGRlZiBtYWluKCk6CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGhlbHA9KCdUaGUgZGlyZWN0b3J5IHRoYXQgc3RvcmVzIHRoZSByZXN1bHRzIGZvcicKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyByZWJhc2VsaW5pbmcgY29tcGFyaXNv
bi4nKSkKIAorICAgIG9wdGlvbl9wYXJzZXIuYWRkX29wdGlvbignJywgJy0tdGFyZ2V0LXBsYXRm
b3JtJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD0nY2hyb21pdW0nLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSgnVGhlIHRhcmdldCBwbGF0Zm9ybSB0
byByZWJhc2VsaW5lICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJygibWFj
IiwgImNocm9taXVtIiwgInF0IiwgZXRjLikuIERlZmF1bHRzICcKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJ3RvIENocm9taXVtLicpKQogICAgIG9wdGlvbnMgPSBvcHRpb25f
cGFyc2VyLnBhcnNlX2FyZ3MoKVswXQogCi0gICAgIyBGSVhNRTogU2V0dGluZyBvcHRpb25zLmNo
cm9taXVtIHRvIFRydWUgZm9yY2VzIHBvcnQuZ2V0KCkgdG8gb25seSBsb29rCi0gICAgIyBhdCBD
aHJvbWl1bSBwb3J0czsgd2UgaGFyZC1jb2RlIHRoaXMgYmVjYXVzZSB0aGlzIHNjcmlwdCBkb2Vz
bid0IHdvcmsKLSAgICAjIG9uIG5vbi1DaHJvbWl1bSBwb3J0cyB5ZXQuIFdlIHNob3VsZCBmaXgg
dGhhdC4KLSAgICBvcHRpb25zLmNocm9taXVtID0gVHJ1ZQorICAgICMgV2UgbmVlZCB0byBjcmVh
dGUgdGhyZWUgZGlmZmVyZW50IFBvcnQgb2JqZWN0cyBvdmVyIHRoZSBsaWZlIG9mIHRoaXMKKyAg
ICAjIHNjcmlwdC4gfHRhcmdldF9wb3J0X29ianwgaXMgdXNlZCB0byBkZXRlcm1pbmUgY29uZmln
dXJhdGlvbiBpbmZvcm1hdGlvbjoKKyAgICAjIGxvY2F0aW9uIG9mIHRoZSBleHBlY3RhdGlvbnMg
ZmlsZSwgbmFtZXMgb2YgcG9ydHMgdG8gcmViYXNlbGluZSwgZXRjLgorICAgICMgfHBvcnRfb2Jq
fCBpcyB1c2VkIGZvciBydW50aW1lIGZ1bmN0aW9uYWxpdHkgbGlrZSBhY3R1YWxseSBkaWZmaW5n
CisgICAgIyBUaGVuIHdlIGNyZWF0ZSBhIHJlYmFzZWxpbmluZyBwb3J0IHRvIGFjdHVhbCBmaW5k
IGFuZCBtYW5hZ2UgdGhlCisgICAgIyBiYXNlbGluZXMuCisgICAgIworICAgICMgRklYTUU6IGlz
IHRoZXJlIGEgbW9yZSBnZW5lcmljIHdheSB0byBjb3B5IGFuIG9wdGlvbnMgb2JqZWN0PyBUaGVy
ZSBtdXN0CisgICAgIyBiZSBhIGJldHRlciB3YXkgb2YgbWFuYWdpbmcgbXVsdGlwbGUgb2JqZWN0
cyBhbmQgdGFyZ2V0cyBoZXJlLgorICAgIG9yaWdpbmFsX2Nocm9taXVtX2ZsYWcgPSBOb25lCisg
ICAgaWYgaGFzYXR0cihvcHRpb25zLCAnY2hyb21pdW0nKToKKyAgICAgICAgb3JpZ2luYWxfY2hy
b21pdW1fZmxhZyA9IG9wdGlvbnMuY2hyb21pdW0KKyAgICBpZiBvcHRpb25zLnRhcmdldF9wbGF0
Zm9ybSA9PSAnY2hyb21pdW0nOgorICAgICAgICBvcHRpb25zLmNocm9taXVtID0gVHJ1ZQorICAg
IHRhcmdldF9wb3J0X29iaiA9IHBvcnQuZ2V0KE5vbmUsIG9wdGlvbnMpCisgICAgb3B0aW9ucy5j
aHJvbWl1bSA9IG9yaWdpbmFsX2Nocm9taXVtX2ZsYWcKIAogICAgICMgU2V0IHVwIG91ciBsb2dn
aW5nIGZvcm1hdC4KICAgICBsb2dfbGV2ZWwgPSBsb2dnaW5nLklORk8KQEAgLTEwMDYsMTQgKzEw
MzMsMTQgQEAgZGVmIG1haW4oKToKICAgICAjIG9wdGlvbnMudGFyZ2V0IGlzIHVzZWQgYnkgcG9y
dCB0byBsb2NhdGUgaW1hZ2VfZGlmZiBiaW5hcnkuCiAgICAgIyBDaGVjayB0aGUgaW1nYWdlX2Rp
ZmYgcmVsZWFzZSBiaW5hcnksIGlmIGl0IGRvZXMgbm90IGV4aXN0LAogICAgICMgZmFsbGJhY2sg
dG8gZGVidWcuCi0gICAgb3B0aW9ucy50YXJnZXQgPSAicmVsZWFzZSIKKyAgICBvcHRpb25zLnRh
cmdldCA9ICJSZWxlYXNlIgogICAgIHBvcnRfb2JqID0gcG9ydC5nZXQoTm9uZSwgb3B0aW9ucykK
ICAgICBpZiBub3QgcG9ydF9vYmouY2hlY2tfaW1hZ2VfZGlmZihvdmVycmlkZV9zdGVwPU5vbmUs
IGxvZ2dpbmc9RmFsc2UpOgogICAgICAgICBfbG9nLmRlYnVnKCdObyByZWxlYXNlIHZlcnNpb24g
aW1hZ2UgZGlmZiBiaW5hcnkgZm91bmQuJykKLSAgICAgICAgb3B0aW9ucy50YXJnZXQgPSAiZGVi
dWciCisgICAgICAgIG9wdGlvbnMudGFyZ2V0ID0gIkRlYnVnIgogICAgICAgICBwb3J0X29iaiA9
IHBvcnQuZ2V0KE5vbmUsIG9wdGlvbnMpCiAgICAgZWxzZToKLSAgICAgICBfbG9nLmRlYnVnKCdG
b3VuZCByZWxlYXNlIHZlcnNpb24gaW1hZ2UgZGlmZiBiaW5hcnkuJykKKyAgICAgICAgX2xvZy5k
ZWJ1ZygnRm91bmQgcmVsZWFzZSB2ZXJzaW9uIGltYWdlIGRpZmYgYmluYXJ5LicpCiAKICAgICAj
IFZlcmlmeSAncGxhdGZvcm1zJyBvcHRpb24gaXMgdmFsaWQKICAgICBpZiBub3Qgb3B0aW9ucy5w
bGF0Zm9ybXM6CkBAIC0xMDQwLDcgKzEwNjcsNyBAQCBkZWYgbWFpbigpOgogICAgIHJlYmFzZWxp
bmluZ190ZXN0cyA9IHNldCgpCiAgICAgYmFja3VwID0gb3B0aW9ucy5iYWNrdXAKICAgICBmb3Ig
cGxhdGZvcm0gaW4gcmViYXNlbGluZV9wbGF0Zm9ybXM6Ci0gICAgICAgIHJlYmFzZWxpbmVyID0g
UmViYXNlbGluZXIocG9ydF9vYmosIHBsYXRmb3JtLCBvcHRpb25zKQorICAgICAgICByZWJhc2Vs
aW5lciA9IFJlYmFzZWxpbmVyKHBvcnRfb2JqLCB0YXJnZXRfcG9ydF9vYmosIHBsYXRmb3JtLCBv
cHRpb25zKQogCiAgICAgICAgIF9sb2cuaW5mbygnJykKICAgICAgICAgbG9nX2Rhc2hlZF9zdHJp
bmcoJ1JlYmFzZWxpbmUgc3RhcnRlZCcsIHBsYXRmb3JtKQpAQCAtMTA1NSw3ICsxMDgyLDcgQEAg
ZGVmIG1haW4oKToKIAogICAgIF9sb2cuaW5mbygnJykKICAgICBsb2dfZGFzaGVkX3N0cmluZygn
UmViYXNlbGluaW5nIHJlc3VsdCBjb21wYXJpc29uIHN0YXJ0ZWQnLCBOb25lKQotICAgIGh0bWxf
Z2VuZXJhdG9yID0gSHRtbEdlbmVyYXRvcihwb3J0X29iaiwKKyAgICBodG1sX2dlbmVyYXRvciA9
IEh0bWxHZW5lcmF0b3IodGFyZ2V0X3BvcnRfb2JqLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBvcHRpb25zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy
ZWJhc2VsaW5lX3BsYXRmb3JtcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cmViYXNlbGluaW5nX3Rlc3RzKQpJbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcG9ydC9tYWMucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tYWMucHkJKHJldmlzaW9uIDU3MjQwKQorKysg
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9tYWMucHkJKHdv
cmtpbmcgY29weSkKQEAgLTYxLDcgKzYxLDggQEAgY2xhc3MgTWFjUG9ydChiYXNlLlBvcnQpOgog
CiAgICAgICAgICMgRklYTUU6IGRpc2FibGUgcGl4ZWwgdGVzdHMgdW50aWwgdGhleSBhcmUgcnVu
IGJ5IGRlZmF1bHQgb24gdGhlCiAgICAgICAgICMgYnVpbGQgbWFjaGluZXMuCi0gICAgICAgIGlm
IG9wdGlvbnMgYW5kIG9wdGlvbnMucGl4ZWxfdGVzdHMgaXMgTm9uZToKKyAgICAgICAgaWYgb3B0
aW9ucyBhbmQgKG5vdCBoYXNhdHRyKG9wdGlvbnMsICJwaXhlbF90ZXN0cyIpIG9yCisgICAgICAg
ICAgIG9wdGlvbnMucGl4ZWxfdGVzdHMgaXMgTm9uZSk6CiAgICAgICAgICAgICBvcHRpb25zLnBp
eGVsX3Rlc3RzID0gRmFsc2UKIAogICAgIGRlZiBiYXNlbGluZV9wYXRoKHNlbGYpOgpAQCAtODUs
MTYgKzg2LDE0IEBAIGNsYXNzIE1hY1BvcnQoYmFzZS5Qb3J0KToKICAgICAgICAgaWYgZXhlY3V0
aXZlLnJ1bl9jb21tYW5kKGJ1aWxkX2RydF9jb21tYW5kLCByZXR1cm5fZXhpdF9jb2RlPVRydWUp
OgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKKyAgICAgICAgaWYgbm90IHNlbGYuY2hlY2tf
aW1hZ2VfZGlmZigpOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisKICAgICAgICAgZHJpdmVy
X3BhdGggPSBzZWxmLl9wYXRoX3RvX2RyaXZlcigpCiAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4
aXN0cyhkcml2ZXJfcGF0aCk6CiAgICAgICAgICAgICBfbG9nLmVycm9yKCJEdW1wUmVuZGVyVHJl
ZSB3YXMgbm90IGZvdW5kIGF0ICVzIiAlIGRyaXZlcl9wYXRoKQogICAgICAgICAgICAgcmV0dXJu
IEZhbHNlCiAKLSAgICAgICAgaW1hZ2VfZGlmZl9wYXRoID0gc2VsZi5fcGF0aF90b19pbWFnZV9k
aWZmKCkKLSAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGltYWdlX2RpZmZfcGF0aCk6Ci0g
ICAgICAgICAgICBfbG9nLmVycm9yKCJJbWFnZURpZmYgd2FzIG5vdCBmb3VuZCBhdCAlcyIgJSBp
bWFnZV9kaWZmX3BhdGgpCi0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLQogICAgICAgICBqYXZh
X3Rlc3RzX3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5sYXlvdXRfdGVzdHNfZGlyKCksICJqYXZh
IikKICAgICAgICAgYnVpbGRfamF2YSA9IFsiL3Vzci9iaW4vbWFrZSIsICItQyIsIGphdmFfdGVz
dHNfcGF0aF0KICAgICAgICAgaWYgZXhlY3V0aXZlLnJ1bl9jb21tYW5kKGJ1aWxkX2phdmEsIHJl
dHVybl9leGl0X2NvZGU9VHJ1ZSk6CkBAIC0xMDMsNiArMTAyLDEzIEBAIGNsYXNzIE1hY1BvcnQo
YmFzZS5Qb3J0KToKIAogICAgICAgICByZXR1cm4gVHJ1ZQogCisgICAgZGVmIGNoZWNrX2ltYWdl
X2RpZmYoc2VsZiwgb3ZlcnJpZGVfc3RlcD1Ob25lLCBsb2dnaW5nPVRydWUpOgorICAgICAgICBp
bWFnZV9kaWZmX3BhdGggPSBzZWxmLl9wYXRoX3RvX2ltYWdlX2RpZmYoKQorICAgICAgICBpZiBu
b3Qgb3MucGF0aC5leGlzdHMoaW1hZ2VfZGlmZl9wYXRoKToKKyAgICAgICAgICAgIF9sb2cuZXJy
b3IoIkltYWdlRGlmZiB3YXMgbm90IGZvdW5kIGF0ICVzIiAlIGltYWdlX2RpZmZfcGF0aCkKKyAg
ICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICByZXR1cm4gVHJ1ZQorCiAgICAgZGVmIGRp
ZmZfaW1hZ2Uoc2VsZiwgZXhwZWN0ZWRfZmlsZW5hbWUsIGFjdHVhbF9maWxlbmFtZSwKICAgICAg
ICAgICAgICAgICAgICBkaWZmX2ZpbGVuYW1lPU5vbmUpOgogICAgICAgICAiIiJSZXR1cm4gVHJ1
ZSBpZiB0aGUgdHdvIGZpbGVzIGFyZSBkaWZmZXJlbnQuIEFsc28gd3JpdGUgYSBkZWx0YQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>