<?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>29233</bug_id>
          
          <creation_ts>2009-09-13 12:41:36 -0700</creation_ts>
          <short_desc>Add ENABLE(DRAG_SUPPORT)</short_desc>
          <delta_ts>2009-09-16 12:12:09 -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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Greg Bolsinga">bolsinga</reporter>
          <assigned_to name="Greg Bolsinga">bolsinga</assigned_to>
          <cc>ddkilzer</cc>
    
    <cc>mrowe</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>146994</commentid>
    <comment_count>0</comment_count>
    <who name="Greg Bolsinga">bolsinga</who>
    <bug_when>2009-09-13 12:41:36 -0700</bug_when>
    <thetext>Wrap dragging code in an ENABLE wrapper. This is for platforms (such as
iPhone) that do not support drag and drop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146995</commentid>
    <comment_count>1</comment_count>
      <attachid>39526</attachid>
    <who name="Greg Bolsinga">bolsinga</who>
    <bug_when>2009-09-13 12:58:29 -0700</bug_when>
    <thetext>Created attachment 39526
Implements the fix

This will compile and link Mac OS X without drag and drop support.

Of course Mac OS X (and many other platforms) will never ship in this
configuration, so should the Mac code really be conditionally compiled for this?

iPhone ships with this code off; the goal is to get more iPhone changes into webkit.org.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147028</commentid>
    <comment_count>2</comment_count>
      <attachid>39526</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-09-14 00:48:06 -0700</bug_when>
    <thetext>Comment on attachment 39526
Implements the fix

It doesn&apos;t make sense to include this in both wtf/Platform.h and FeatureDefines.xcconfig.  Given that it&apos;s a platform difference and not a feature, the former makes much more sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147105</commentid>
    <comment_count>3</comment_count>
      <attachid>39553</attachid>
    <who name="Greg Bolsinga">bolsinga</who>
    <bug_when>2009-09-14 10:40:54 -0700</bug_when>
    <thetext>Created attachment 39553
Address Mark&apos;s comments.

Removes the FeatureDefines.xcconfig changes, and the build-webkit changes,
since this is Platform related as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147109</commentid>
    <comment_count>4</comment_count>
    <who name="Greg Bolsinga">bolsinga</who>
    <bug_when>2009-09-14 10:45:05 -0700</bug_when>
    <thetext>&lt;rdar://problem/6732599&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147127</commentid>
    <comment_count>5</comment_count>
      <attachid>39561</attachid>
    <who name="Greg Bolsinga">bolsinga</who>
    <bug_when>2009-09-14 11:28:31 -0700</bug_when>
    <thetext>Created attachment 39561
Fix DerivedSources.make for all platforms

Similar to the work done for the CONTEXT_MENU patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147372</commentid>
    <comment_count>6</comment_count>
    <who name="Greg Bolsinga">bolsinga</who>
    <bug_when>2009-09-15 13:34:18 -0700</bug_when>
    <thetext>This is being conditionalized because it is not compiled for iPhone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147565</commentid>
    <comment_count>7</comment_count>
      <attachid>39561</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-09-16 11:20:27 -0700</bug_when>
    <thetext>Comment on attachment 39561
Fix DerivedSources.make for all platforms

&gt; diff --git a/WebCore/page/DragController.cpp b/WebCore/page/DragController.cpp
&gt; index 97f53a5..01f4bd6 100644
&gt; --- a/WebCore/page/DragController.cpp
&gt; +++ b/WebCore/page/DragController.cpp
&gt; @@ -26,6 +26,7 @@
&gt;  #include &quot;config.h&quot;
&gt;  #include &quot;DragController.h&quot;
&gt;  
&gt; +#if ENABLE(DRAG_SUPPORT)
&gt;  #include &quot;CSSStyleDeclaration.h&quot;
&gt;  #include &quot;Clipboard.h&quot;
&gt;  #include &quot;ClipboardAccessPolicy.h&quot;
&gt; @@ -785,3 +786,4 @@ void DragController::placeDragCaret(const IntPoint&amp; windowPoint)
&gt;  }
&gt;  
&gt;  } // namespace WebCore
&gt; +#endif // ENABLE(DRAG_SUPPORT)

Please add a blank line after the &quot;#if ENABLE(..&quot; statement and before the &quot;#endif // ...&quot; statement.

&gt; diff --git a/WebCore/page/mac/DragControllerMac.mm b/WebCore/page/mac/DragControllerMac.mm
&gt; index c476df7..e4a99f9 100644
&gt; --- a/WebCore/page/mac/DragControllerMac.mm
&gt; +++ b/WebCore/page/mac/DragControllerMac.mm
&gt; @@ -26,6 +26,7 @@
&gt;  #import &quot;config.h&quot;
&gt;  #import &quot;DragController.h&quot;
&gt;  
&gt; +#if ENABLE(DRAG_SUPPORT)
&gt;  #import &quot;DragData.h&quot;
&gt;  #import &quot;Frame.h&quot;
&gt;  #import &quot;FrameView.h&quot;
&gt; @@ -76,3 +77,4 @@ void DragController::cleanupAfterSystemDrag()
&gt;  }
&gt;  
&gt;  }
&gt; +#endif // ENABLE(DRAG_SUPPORT)

Ditto for blank lines.  Adding a comment for the &quot;}&quot; used to end the WebCore namespace would be nice, too, but not necessary.

&gt; diff --git a/WebCore/platform/DragData.cpp b/WebCore/platform/DragData.cpp
&gt; index bf2275a..faa4f12 100644
&gt; --- a/WebCore/platform/DragData.cpp
&gt; +++ b/WebCore/platform/DragData.cpp
&gt; @@ -26,6 +26,7 @@
&gt;  #include &quot;config.h&quot;
&gt;  #include &quot;DragData.h&quot;
&gt;  
&gt; +#if ENABLE(DRAG_SUPPORT)
&gt;  namespace WebCore {
&gt;  
&gt;  #if !PLATFORM(MAC)
&gt; @@ -40,3 +41,4 @@ DragData::DragData(DragDataRef data, const IntPoint&amp; clientPosition, const IntPo
&gt;  #endif
&gt;  
&gt;  }
&gt; +#endif // ENABLE(DRAG_SUPPORT)

Ditto.

&gt; diff --git a/WebCore/platform/DragImage.cpp b/WebCore/platform/DragImage.cpp
&gt; index adf9a57..224a7bd 100644
&gt; --- a/WebCore/platform/DragImage.cpp
&gt; +++ b/WebCore/platform/DragImage.cpp
&gt; @@ -25,6 +25,8 @@
&gt;  
&gt;  #include &quot;config.h&quot;
&gt;  #include &quot;DragImage.h&quot;
&gt; +
&gt; +#if ENABLE(DRAG_SUPPORT)
&gt;  #include &quot;DragController.h&quot;
&gt;  
&gt;  #include &quot;Frame.h&quot;
&gt; @@ -72,3 +74,4 @@ DragImageRef createDragImageForSelection(Frame* frame)
&gt;  }
&gt;  
&gt;  }
&gt; +#endif // ENABLE(DRAG_SUPPORT)

Ditto.

&gt; diff --git a/WebCore/platform/mac/DragDataMac.mm b/WebCore/platform/mac/DragDataMac.mm
&gt; index a7b751c..e742627 100644
&gt; --- a/WebCore/platform/mac/DragDataMac.mm
&gt; +++ b/WebCore/platform/mac/DragDataMac.mm
&gt; @@ -26,6 +26,7 @@
&gt;  #import &quot;config.h&quot;
&gt;  #import &quot;DragData.h&quot;
&gt;  
&gt; +#if ENABLE(DRAG_SUPPORT)
&gt;  #import &quot;ClipboardMac.h&quot;
&gt;  #import &quot;ClipboardAccessPolicy.h&quot;
&gt;  #import &quot;Document.h&quot;
&gt; @@ -128,4 +129,4 @@ PassRefPtr&lt;DocumentFragment&gt; DragData::asFragment(Document*) const
&gt;  }
&gt;      
&gt;  }
&gt; -
&gt; +#endif // ENABLE(DRAG_SUPPORT)

Ditto.

&gt; diff --git a/WebCore/platform/mac/DragImageMac.mm b/WebCore/platform/mac/DragImageMac.mm
&gt; index 842e6d4..065934a 100644
&gt; --- a/WebCore/platform/mac/DragImageMac.mm
&gt; +++ b/WebCore/platform/mac/DragImageMac.mm
&gt; @@ -26,6 +26,7 @@
&gt;  #import &quot;config.h&quot;
&gt;  #import &quot;DragImage.h&quot;
&gt;  
&gt; +#if ENABLE(DRAG_SUPPORT)
&gt;  #import &quot;CachedImage.h&quot;
&gt;  #import &quot;Image.h&quot;
&gt;  #import &quot;KURL.h&quot;
&gt; @@ -99,3 +100,4 @@ RetainPtr&lt;NSImage&gt; createDragImageIconForCachedImage(CachedImage* image)
&gt;  }
&gt;      
&gt;  }
&gt; +#endif // ENABLE(DRAG_SUPPORT)

Ditto.

&gt; diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
&gt; diff --git a/WebKit/mac/WebView/WebFrame.mm b/WebKit/mac/WebView/WebFrame.mm
&gt; diff --git a/WebKit/mac/WebView/WebFrameInternal.h b/WebKit/mac/WebView/WebFrameInternal.h
&gt; diff --git a/WebKit/mac/WebView/WebFrameView.mm b/WebKit/mac/WebView/WebFrameView.mm
&gt; diff --git a/WebKit/mac/WebView/WebHTMLView.mm b/WebKit/mac/WebView/WebHTMLView.mm
&gt; diff --git a/WebKit/mac/WebView/WebView.mm b/WebKit/mac/WebView/WebView.mm

As we discussed offline, please leave these changes out.  It doesn&apos;t make sense to disable context menu support for code in WebKit/mac.  When WebKit code for iPhone lands, it will be refactored or moved instead of shared within WebKit/mac.  (Note that mac-specific files in WebCore are needed to prevent excessive use of EXCLUDED_SOURCE_FILE_NAMES in Xcode.)

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147574</commentid>
    <comment_count>8</comment_count>
    <who name="Greg Bolsinga">bolsinga</who>
    <bug_when>2009-09-16 12:12:09 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/48426</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39526</attachid>
            <date>2009-09-13 12:58:29 -0700</date>
            <delta_ts>2009-09-14 10:40:54 -0700</delta_ts>
            <desc>Implements the fix</desc>
            <filename>0001-JavaScriptCore-Add-ENABLE-DRAG_SUPPORT.patch</filename>
            <type>text/plain</type>
            <size>56042</size>
            <attacher name="Greg Bolsinga">bolsinga</attacher>
            
              <data encoding="base64">RnJvbSAyZjY2NWJjZDQ4M2ZlMzAxNjEyNGJlZTUyNzFlODE5NGRjNDZkZGQ2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHcmVnIEJvbHNpbmdhIDxib2xzaW5nYUBhcHBsZS5jb20+CkRh
dGU6IFN1biwgMTMgU2VwIDIwMDkgMTI6NTU6MjAgLTA3MDAKU3ViamVjdDogW1BBVENIXSBKYXZh
U2NyaXB0Q29yZTogQWRkIEVOQUJMRShEUkFHX1NVUFBPUlQpCiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkyMzMKClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoK
KiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKiB3dGYvUGxhdGZvcm0u
aDoKCldlYkNvcmU6IEFkZCBFTkFCTEUoRFJBR19TVVBQT1JUKQpodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkyMzMKClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoK
Tm8gbmV3IHRlc3RzLiAoTm8gY2hhbmdlIGluIGRlZmF1bHQgYmVoYXZpb3IuKQoKKiBDb25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzogQWRkIEVOQUJMRV9EUkFHX1NVUFBPUlQu
CiogRGVyaXZlZFNvdXJjZXMubWFrZTogVXNlIG5ldyBXZWJDb3JlLkRyYWdTdXBwb3J0LmV4cCBm
aWxlIGlmIEVOQUJMRV9EUkFHX1NVUFBPUlQuCiogV2ViQ29yZS5iYXNlLmV4cDogTW92ZSBEcmFn
IFN1cHBvcnQgb25seSBleHBvcnRzIHRvIFdlYkNvcmUuRHJhZ1N1cHBvcnQuZXhwLgoqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkIFdlYkNvcmUuRHJhZ1N1cHBvcnQuZXhw
LgoqIGRvbS9DbGlwYm9hcmQuaDogVXNlIEVOQUJMRShEUkFHX1NVUFBPUlQpIHdoZXJlIGFwcGxp
Y2FibGUuCiogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOiBEaXR0by4KKiBwYWdlL0RyYWdDb250cm9s
bGVyLmNwcDogV3JhcCBlbnRpcmUgZmlsZSBpbiBFTkFCTEUoRFJBR19TVVBQT1JUKS4KKiBwYWdl
L0V2ZW50SGFuZGxlci5jcHA6IFVzZSBFTkFCTEUoRFJBR19TVVBQT1JUKSB3aGVyZSBhcHBsaWNh
YmxlLgooV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpFdmVudEhhbmRsZXIpOgooV2ViQ29yZTo6RXZl
bnRIYW5kbGVyOjpjbGVhcik6CihXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUHJl
c3NFdmVudCk6CihXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUmVsZWFzZUV2ZW50
KToKKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VNb3ZlRXZlbnQpOgoqIHBhZ2Uv
RXZlbnRIYW5kbGVyLmg6IERpdHRvLgoqIHBhZ2UvUGFnZS5jcHA6IERpdHRvLgooV2ViQ29yZTo6
UGFnZTo6UGFnZSk6CiogcGFnZS9QYWdlLmg6IERpdHRvLgoqIHBhZ2UvbWFjL0RyYWdDb250cm9s
bGVyTWFjLm1tOiBXcmFwIGVudGlyZSBmaWxlIGluIEVOQUJMRShEUkFHX1NVUFBPUlQpLgoqIHBh
Z2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbTogVXNlIEVOQUJMRShEUkFHX1NVUFBPUlQpIHdoZXJl
IGFwcGxpY2FibGUuCihXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnBhc3NTdWJmcmFtZUV2ZW50VG9T
dWJmcmFtZSk6CiogcGxhdGZvcm0vRHJhZ0RhdGEuY3BwOiBXcmFwIGVudGlyZSBmaWxlIGluIEVO
QUJMRShEUkFHX1NVUFBPUlQpLgoqIHBsYXRmb3JtL0RyYWdJbWFnZS5jcHA6IFdyYXAgZW50aXJl
IGZpbGUgaW4gRU5BQkxFKERSQUdfU1VQUE9SVCkuCiogcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1h
Yy5oOiBVc2UgRU5BQkxFKERSQUdfU1VQUE9SVCkgd2hlcmUgYXBwbGljYWJsZS4KKiBwbGF0Zm9y
bS9tYWMvQ2xpcGJvYXJkTWFjLm1tOiBEaXR0by4KKiBwbGF0Zm9ybS9tYWMvRHJhZ0RhdGFNYWMu
bW06IFdyYXAgZW50aXJlIGZpbGUgaW4gRU5BQkxFKERSQUdfU1VQUE9SVCkuCiogcGxhdGZvcm0v
bWFjL0RyYWdJbWFnZU1hYy5tbTogV3JhcCBlbnRpcmUgZmlsZSBpbiBFTkFCTEUoRFJBR19TVVBQ
T1JUKS4KKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOiBVc2UgRU5BQkxFKERSQUdfU1VQUE9S
VCkgd2hlcmUgYXBwbGljYWJsZS4KKFdlYkNvcmU6OlJlbmRlckxheWVyOjphdXRvc2Nyb2xsKToK
KiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDogRGl0dG8uCiogcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5oOiBEaXR0by4KKiBzdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwOiBEaXR0by4KKFdlYkNv
cmU6OlNWR0ltYWdlOjpkYXRhQ2hhbmdlZCk6CgpXZWJLaXQvbWFjOiBBZGQgRU5BQkxFKERSQUdf
U1VQUE9SVCkKaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MjMzCgpS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWc6IEFkZCBFTkFCTEVfRFJBR19TVVBQT1JULgoqIFdlYlZpZXcvV2ViRnJhbWUu
bW06IFVzZSBFTkFCTEUoRFJBR19TVVBQT1JUKSB3aGVyZSBhcHBsaWNhYmxlLgoqIFdlYlZpZXcv
V2ViRnJhbWVJbnRlcm5hbC5oOiBEaXR0by4KKiBXZWJWaWV3L1dlYkZyYW1lVmlldy5tbTogRGl0
dG8uCigtW1dlYkZyYW1lVmlldyBfc2V0RG9jdW1lbnRWaWV3Ol0pOgoqIFdlYlZpZXcvV2ViSFRN
TFZpZXcubW06IERpdHRvLgooLVtXZWJIVE1MVmlldyBjbG9zZV0pOgooLVtXZWJIVE1MVmlldyBh
Y2NlcHRzRmlyc3RNb3VzZTpdKToKKC1bV2ViSFRNTFZpZXcgc2hvdWxkRGVsYXlXaW5kb3dPcmRl
cmluZ0ZvckV2ZW50Ol0pOgoqIFdlYlZpZXcvV2ViVmlldy5tbTogRGl0dG8uCigtW1dlYlZpZXcg
bW92ZURyYWdDYXJldFRvUG9pbnQ6XSk6CigtW1dlYlZpZXcgcmVtb3ZlRHJhZ0NhcmV0XSk6CgpX
ZWJLaXRUb29sczogQWRkIEVOQUJMRShEUkFHX1NVUFBPUlQpCmh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yOTIzMwoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpB
bGxvdyBFTkFCTEVfRFJBR19TVVBQT1JUIHRvIGJlIHNldCBmcm9tIGJ1aWxkLXdlYmtpdC4KCiog
U2NyaXB0cy9idWlsZC13ZWJraXQ6Ci0tLQogSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgIDEwICsrKysrCiAuLi4vQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcgICAgICAgICB8ICAgIDMgKy0KIEphdmFTY3JpcHRDb3JlL3d0
Zi9QbGF0Zm9ybS5oICAgICAgICAgICAgICAgICAgICAgIHwgICAgNSArKwogV2ViQ29yZS9DaGFu
Z2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQyICsrKysrKysrKysr
KysrKysrKysrCiBXZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
ICAgICB8ICAgIDMgKy0KIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSAgICAgICAgICAgICAg
ICAgICAgICAgIHwgICAgNCArKwogV2ViQ29yZS9XZWJDb3JlLkRyYWdTdXBwb3J0LmV4cCAgICAg
ICAgICAgICAgICAgICAgfCAgIDEwICsrKysrCiBXZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTAgLS0tLS0KIFdlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qICAgICAgICAgIHwgICAgMiArCiBXZWJDb3JlL2RvbS9DbGlw
Ym9hcmQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKwogV2ViQ29yZS9sb2Fk
ZXIvRW1wdHlDbGllbnRzLmggICAgICAgICAgICAgICAgICAgICAgfCAgICAyICsKIFdlYkNvcmUv
cGFnZS9EcmFnQ29udHJvbGxlci5jcHAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArCiBXZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCAgICAgICAgICAgICAgICAgICAgICB8ICAgMzIgKysr
KysrKysrKysrKysrCiBXZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggICAgICAgICAgICAgICAg
ICAgICAgICB8ICAgMzIgKysrKysrKysrKysrKysrCiBXZWJDb3JlL3BhZ2UvUGFnZS5jcHAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDUgKysKIFdlYkNvcmUvcGFnZS9QYWdlLmgg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNCArKwogV2ViQ29yZS9wYWdlL21h
Yy9EcmFnQ29udHJvbGxlck1hYy5tbSAgICAgICAgICAgICAgfCAgICAyICsKIFdlYkNvcmUvcGFn
ZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tICAgICAgICAgICAgICAgIHwgICAgOCArKysrCiBXZWJD
b3JlL3BsYXRmb3JtL0RyYWdEYXRhLmNwcCAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKwog
V2ViQ29yZS9wbGF0Zm9ybS9EcmFnSW1hZ2UuY3BwICAgICAgICAgICAgICAgICAgICAgfCAgICAz
ICsKIFdlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oICAgICAgICAgICAgICAgIHwg
ICAgMiArCiBXZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMubW0gICAgICAgICAgICAg
ICB8ICAgIDIgKwogV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJhZ0RhdGFNYWMubW0gICAgICAgICAg
ICAgICAgfCAgICAzICstCiBXZWJDb3JlL3BsYXRmb3JtL21hYy9EcmFnSW1hZ2VNYWMubW0gICAg
ICAgICAgICAgICB8ICAgIDIgKwogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwICAg
ICAgICAgICAgICAgICAgfCAgICAyICsKIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5j
cHAgICAgICAgICAgICAgICAgIHwgICAgMiArCiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuaCAgICAgICAgICAgICAgICAgICB8ICAgIDIgKwogV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZH
SW1hZ2UuY3BwICAgICAgICAgICAgICAgICAgfCAgICA0ICsrCiBXZWJLaXQvbWFjL0NoYW5nZUxv
ZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjAgKysrKysrKysrCiBXZWJLaXQv
bWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnICB8ICAgIDMgKy0KIFdl
YktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbSAgICAgICAgICAgICAgICAgICAgIHwgICAgMiAr
CiBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVJbnRlcm5hbC5oICAgICAgICAgICAgICB8ICAg
IDIgKwogV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lVmlldy5tbSAgICAgICAgICAgICAgICAg
fCAgICAyICsKIFdlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbSAgICAgICAgICAgICAg
ICAgIHwgICAxMCArKysrKwogV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gICAgICAgICAg
ICAgICAgICAgICAgfCAgICA4ICsrKysKIFdlYktpdFRvb2xzL0NoYW5nZUxvZyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgICAxMSArKysrKwogV2ViS2l0VG9vbHMvU2NyaXB0cy9idWls
ZC13ZWJraXQgICAgICAgICAgICAgICAgICAgfCAgICA1ICsrLQogMzcgZmlsZXMgY2hhbmdlZCwg
MjUwIGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFdl
YkNvcmUvV2ViQ29yZS5EcmFnU3VwcG9ydC5leHAKCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cgYi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggZTA3ZjM3OS4uYjRm
ZjNmYyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDA5LTA5LTEzICBHcmVnIEJvbHNp
bmdhICA8Ym9sc2luZ2FAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCBFTkFCTEUoRFJBR19TVVBQT1JUKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkyMzMKKworICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIHd0Zi9QbGF0
Zm9ybS5oOgorCiAyMDA5LTA5LTEyICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChCdWlsZCBmaXgpLgpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9KYXZh
U2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCAw
ZTY3MzY4Li5kNTc5NjI5IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMzksNiArMzksNyBAQCBFTkFCTEVfREFU
QUJBU0UgPSBFTkFCTEVfREFUQUJBU0U7CiBFTkFCTEVfREFUQUdSSUQgPSBFTkFCTEVfREFUQUdS
SUQ7CiBFTkFCTEVfREFUQUxJU1QgPSBFTkFCTEVfREFUQUxJU1Q7CiBFTkFCTEVfRE9NX1NUT1JB
R0UgPSBFTkFCTEVfRE9NX1NUT1JBR0U7CitFTkFCTEVfRFJBR19TVVBQT1JUID0gRU5BQkxFX0RS
QUdfU1VQUE9SVDsKIEVOQUJMRV9FVkVOVFNPVVJDRSA9IEVOQUJMRV9FVkVOVFNPVVJDRTsKIEVO
QUJMRV9GSUxURVJTID0gOwogRU5BQkxFX0dFT0xPQ0FUSU9OID0gOwpAQCAtNjIsNCArNjMsNCBA
QCBFTkFCTEVfV09SS0VSUyA9IEVOQUJMRV9XT1JLRVJTOwogRU5BQkxFX1hQQVRIID0gRU5BQkxF
X1hQQVRIOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0g
JChFTkFCTEVfM0RfQ0FOVkFTKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFCTEVfREFUQUdSSUQpICQoRU5B
QkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9ET01fU1RPUkFHRSkgJChFTkFCTEVfRVZFTlRTT1VSQ0Up
ICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJChFTkFCTEVfUlVCWSkgJChF
TkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1BVElP
TikgJChFTkFCTEVfU1ZHX0FTX0lNQUdFKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1Mp
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVOQUJM
RV9TVkdfVVNFKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxF
X1dNTCkgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWFBBVEgpICQoRU5BQkxFX1hTTFQpOwor
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfQ0FOVkFTKSAkKEVOQUJMRV8zRF9SRU5ERVJJ
TkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFC
TEVfREFUQUdSSUQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9ET01fU1RPUkFHRSkgJChF
TkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FVkVOVFNPVVJDRSkgJChFTkFCTEVfRklMVEVS
UykgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVf
SkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZG
TElORV9XRUJfQVBQTElDQVRJT05TKSAkKEVOQUJMRV9SVUJZKSAkKEVOQUJMRV9TSEFSRURfV09S
S0VSUykgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfQU5JTUFUSU9OKSAkKEVOQUJMRV9TVkdf
QVNfSU1BR0UpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZP
TlRTKSAkKEVOQUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1QpICQoRU5BQkxFX1NWR19VU0UpICQoRU5B
QkxFX1ZJREVPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV01MKSAkKEVOQUJMRV9X
T1JLRVJTKSAkKEVOQUJMRV9YUEFUSCkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5o
CmluZGV4IDg0MmZmYmQuLmU4MTRiNDEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Q
bGF0Zm9ybS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC00MTAsNiAr
NDEwLDcgQEAKICNpZiBQTEFURk9STShJUEhPTkUpCiAjZGVmaW5lIFdURl9QTEFURk9STV9DRiAx
CiAjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQorI2RlZmluZSBFTkFCTEVfRFJBR19TVVBQT1JU
IDAKICNkZWZpbmUgRU5BQkxFX0ZUUERJUiAxCiAjZGVmaW5lIEVOQUJMRV9NQUNfSkFWQV9CUklE
R0UgMAogI2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNFIDAKQEAgLTU1Miw2ICs1NTMsMTAgQEAK
ICNkZWZpbmUgRU5BQkxFX0ZUUERJUiAxCiAjZW5kaWYKIAorI2lmICFkZWZpbmVkKEVOQUJMRV9E
UkFHX1NVUFBPUlQpCisjZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMQorI2VuZGlmCisKICNp
ZiAhZGVmaW5lZChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpCiAjZGVmaW5lIEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCAwCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDUxNzljMS4uNzlmMzc5YSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NSBAQAor
MjAwOS0wOS0xMyAgR3JlZyBCb2xzaW5nYSAgPGJvbHNpbmdhQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgRU5BQkxFKERSQUdf
U1VQUE9SVCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTI5MjMzCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoTm8gY2hhbmdlIGluIGRlZmF1bHQgYmVo
YXZpb3IuKQorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWc6IEFkZCBFTkFCTEVfRFJBR19TVVBQT1JULgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1h
a2U6IFVzZSBuZXcgV2ViQ29yZS5EcmFnU3VwcG9ydC5leHAgZmlsZSBpZiBFTkFCTEVfRFJBR19T
VVBQT1JULgorICAgICAgICAqIFdlYkNvcmUuYmFzZS5leHA6IE1vdmUgRHJhZyBTdXBwb3J0IG9u
bHkgZXhwb3J0cyB0byBXZWJDb3JlLkRyYWdTdXBwb3J0LmV4cC4KKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFkZCBXZWJDb3JlLkRyYWdTdXBwb3J0LmV4cC4K
KyAgICAgICAgKiBkb20vQ2xpcGJvYXJkLmg6IFVzZSBFTkFCTEUoRFJBR19TVVBQT1JUKSB3aGVy
ZSBhcHBsaWNhYmxlLgorICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDogRGl0dG8uCisg
ICAgICAgICogcGFnZS9EcmFnQ29udHJvbGxlci5jcHA6IFdyYXAgZW50aXJlIGZpbGUgaW4gRU5B
QkxFKERSQUdfU1VQUE9SVCkuCisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOiBVc2Ug
RU5BQkxFKERSQUdfU1VQUE9SVCkgd2hlcmUgYXBwbGljYWJsZS4KKyAgICAgICAgKFdlYkNvcmU6
OkV2ZW50SGFuZGxlcjo6RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFu
ZGxlcjo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3Vz
ZVByZXNzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3Vz
ZVJlbGVhc2VFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRsZU1v
dXNlTW92ZUV2ZW50KToKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5oOiBEaXR0by4KKyAg
ICAgICAgKiBwYWdlL1BhZ2UuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OlBh
Z2UpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOiBEaXR0by4KKyAgICAgICAgKiBwYWdlL21hYy9E
cmFnQ29udHJvbGxlck1hYy5tbTogV3JhcCBlbnRpcmUgZmlsZSBpbiBFTkFCTEUoRFJBR19TVVBQ
T1JUKS4KKyAgICAgICAgKiBwYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW06IFVzZSBFTkFCTEUo
RFJBR19TVVBQT1JUKSB3aGVyZSBhcHBsaWNhYmxlLgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRI
YW5kbGVyOjpwYXNzU3ViZnJhbWVFdmVudFRvU3ViZnJhbWUpOgorICAgICAgICAqIHBsYXRmb3Jt
L0RyYWdEYXRhLmNwcDogV3JhcCBlbnRpcmUgZmlsZSBpbiBFTkFCTEUoRFJBR19TVVBQT1JUKS4K
KyAgICAgICAgKiBwbGF0Zm9ybS9EcmFnSW1hZ2UuY3BwOiBXcmFwIGVudGlyZSBmaWxlIGluIEVO
QUJMRShEUkFHX1NVUFBPUlQpLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMu
aDogVXNlIEVOQUJMRShEUkFHX1NVUFBPUlQpIHdoZXJlIGFwcGxpY2FibGUuCisgICAgICAgICog
cGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5tbTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0v
bWFjL0RyYWdEYXRhTWFjLm1tOiBXcmFwIGVudGlyZSBmaWxlIGluIEVOQUJMRShEUkFHX1NVUFBP
UlQpLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9EcmFnSW1hZ2VNYWMubW06IFdyYXAgZW50aXJl
IGZpbGUgaW4gRU5BQkxFKERSQUdfU1VQUE9SVCkuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcDogVXNlIEVOQUJMRShEUkFHX1NVUFBPUlQpIHdoZXJlIGFwcGxpY2FibGUuCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6YXV0b3Njcm9sbCk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJPYmplY3QuaDogRGl0dG8uCisgICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZTo6ZGF0YUNoYW5nZWQpOgorCiAyMDA5
LTA5LTEyICBLZXZpbiBPbGxpdmllciAgPGtldmlub0B0aGVvbGxpdmllcnMuY29tPgogCiAgICAg
ICAgIHd4IGJ1aWxkIGZpeGVzIGZvciB3eCAyLjkuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvV2ViQ29yZS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCAwZTY3MzY4Li5kNTc5NjI5IDEwMDY0NAot
LS0gYS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBi
L1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTM5LDYg
KzM5LDcgQEAgRU5BQkxFX0RBVEFCQVNFID0gRU5BQkxFX0RBVEFCQVNFOwogRU5BQkxFX0RBVEFH
UklEID0gRU5BQkxFX0RBVEFHUklEOwogRU5BQkxFX0RBVEFMSVNUID0gRU5BQkxFX0RBVEFMSVNU
OwogRU5BQkxFX0RPTV9TVE9SQUdFID0gRU5BQkxFX0RPTV9TVE9SQUdFOworRU5BQkxFX0RSQUdf
U1VQUE9SVCA9IEVOQUJMRV9EUkFHX1NVUFBPUlQ7CiBFTkFCTEVfRVZFTlRTT1VSQ0UgPSBFTkFC
TEVfRVZFTlRTT1VSQ0U7CiBFTkFCTEVfRklMVEVSUyA9IDsKIEVOQUJMRV9HRU9MT0NBVElPTiA9
IDsKQEAgLTYyLDQgKzYzLDQgQEAgRU5BQkxFX1dPUktFUlMgPSBFTkFCTEVfV09SS0VSUzsKIEVO
QUJMRV9YUEFUSCA9IEVOQUJMRV9YUEFUSDsKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAK
LUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX0NBTlZBUykgJChFTkFCTEVfM0RfUkVOREVS
SU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfREFUQUJBU0UpICQoRU5B
QkxFX0RBVEFHUklEKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVfRE9NX1NUT1JBR0UpICQo
RU5BQkxFX0VWRU5UU09VUkNFKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAk
KEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMp
ICQoRU5BQkxFX1JVQlkpICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQo
RU5BQkxFX1NWR19BTklNQVRJT04pICQoRU5BQkxFX1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZH
X0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JF
SUdOX09CSkVDVCkgJChFTkFCTEVfU1ZHX1VTRSkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1dF
Ql9TT0NLRVRTKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hQQVRI
KSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX0NBTlZBUykg
JChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfREFUQUJBU0UpICQoRU5BQkxFX0RBVEFHUklEKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFC
TEVfRE9NX1NUT1JBR0UpICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRVZFTlRTT1VS
Q0UpICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJChFTkFCTEVfUlVCWSkg
JChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1B
VElPTikgJChFTkFCTEVfU1ZHX0FTX0lNQUdFKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElO
R1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVO
QUJMRV9TVkdfVVNFKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5B
QkxFX1dNTCkgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWFBBVEgpICQoRU5BQkxFX1hTTFQp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCmluZGV4IGZhZTc1ZTMuLjQ1MWQ2ODkgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
QEAgLTc2Miw2ICs3NjIsMTAgQEAgaWZlcSAoJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpLCAx
KQogICAgIFdFQkNPUkVfRVhQT1JUX0RFUEVOREVOQ0lFUyA6PSAkKFdFQkNPUkVfRVhQT1JUX0RF
UEVOREVOQ0lFUykgV2ViQ29yZS5EYXNoYm9hcmRTdXBwb3J0LmV4cAogZW5kaWYKIAoraWZlcSAo
JChmaW5kc3RyaW5nIEVOQUJMRV9EUkFHX1NVUFBPUlQsJChGRUFUVVJFX0RFRklORVMpKSwgRU5B
QkxFX0RSQUdfU1VQUE9SVCkKKyAgICBXRUJDT1JFX0VYUE9SVF9ERVBFTkRFTkNJRVMgOj0gJChX
RUJDT1JFX0VYUE9SVF9ERVBFTkRFTkNJRVMpIFdlYkNvcmUuRHJhZ1N1cHBvcnQuZXhwCitlbmRp
ZgorCiBpZmVxICgkKGZpbmRzdHJpbmcgMTAuNCwkKE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCkp
LCAxMC40KQogICAgIFdFQkNPUkVfRVhQT1JUX0RFUEVOREVOQ0lFUyA6PSAkKFdFQkNPUkVfRVhQ
T1JUX0RFUEVOREVOQ0lFUykgV2ViQ29yZS5UaWdlci5leHAKIGVuZGlmCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL1dlYkNvcmUuRHJhZ1N1cHBvcnQuZXhwIGIvV2ViQ29yZS9XZWJDb3JlLkRyYWdTdXBw
b3J0LmV4cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2ZkMDc2Ci0tLSAv
ZGV2L251bGwKKysrIGIvV2ViQ29yZS9XZWJDb3JlLkRyYWdTdXBwb3J0LmV4cApAQCAtMCwwICsx
LDEwIEBACitfX1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjE3ZHJhZ1NvdXJjZUVuZGVkQXRFUktO
U18xOFBsYXRmb3JtTW91c2VFdmVudEVOU18xM0RyYWdPcGVyYXRpb25FCitfX1pON1dlYkNvcmUx
MkV2ZW50SGFuZGxlcjE3ZHJhZ1NvdXJjZU1vdmVkVG9FUktOU18xOFBsYXRmb3JtTW91c2VFdmVu
dEUKK19fWk43V2ViQ29yZTEyRXZlbnRIYW5kbGVyMTdldmVudE1heVN0YXJ0RHJhZ0VQN05TRXZl
bnQKK19fWk43V2ViQ29yZTE0RHJhZ0NvbnRyb2xsZXIxMGRyYWdFeGl0ZWRFUE5TXzhEcmFnRGF0
YUUKK19fWk43V2ViQ29yZTE0RHJhZ0NvbnRyb2xsZXIxMWRyYWdFbnRlcmVkRVBOU184RHJhZ0Rh
dGFFCitfX1pON1dlYkNvcmUxNERyYWdDb250cm9sbGVyMTFkcmFnVXBkYXRlZEVQTlNfOERyYWdE
YXRhRQorX19aTjdXZWJDb3JlMTREcmFnQ29udHJvbGxlcjExcGVyZm9ybURyYWdFUE5TXzhEcmFn
RGF0YUUKK19fWk43V2ViQ29yZTE0RHJhZ0NvbnRyb2xsZXIxNHBsYWNlRHJhZ0NhcmV0RVJLTlNf
OEludFBvaW50RQorX19aTjdXZWJDb3JlMTREcmFnQ29udHJvbGxlcjlkcmFnRW5kZWRFdgorX19a
TjdXZWJDb3JlOERyYWdEYXRhQzFFUDExb2JqY19vYmplY3RSS05TXzhJbnRQb2ludEVTNV9OU18x
M0RyYWdPcGVyYXRpb25FUE5TXzE2UGFzdGVib2FyZEhlbHBlckUKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvV2ViQ29yZS5iYXNlLmV4cCBiL1dlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cAppbmRleCA3NGNm
MzM1Li5jYmMwZWM1IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAKKysrIGIv
V2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwCkBAIC0yMjMsOSArMjIzLDYgQEAgX19aTjdXZWJDb3Jl
MTJFdmVudEhhbmRsZXIxMm1vdXNlRHJhZ2dlZEVQN05TRXZlbnQKIF9fWk43V2ViQ29yZTEyRXZl
bnRIYW5kbGVyMTRjdXJyZW50TlNFdmVudEV2CiBfX1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjE0
c2Nyb2xsT3ZlcmZsb3dFTlNfMTVTY3JvbGxEaXJlY3Rpb25FTlNfMTdTY3JvbGxHcmFudWxhcml0
eUUKIF9fWk43V2ViQ29yZTEyRXZlbnRIYW5kbGVyMTVzZW5kU2Nyb2xsRXZlbnRFdgotX19aTjdX
ZWJDb3JlMTJFdmVudEhhbmRsZXIxN2RyYWdTb3VyY2VFbmRlZEF0RVJLTlNfMThQbGF0Zm9ybU1v
dXNlRXZlbnRFTlNfMTNEcmFnT3BlcmF0aW9uRQotX19aTjdXZWJDb3JlMTJFdmVudEhhbmRsZXIx
N2RyYWdTb3VyY2VNb3ZlZFRvRVJLTlNfMThQbGF0Zm9ybU1vdXNlRXZlbnRFCi1fX1pON1dlYkNv
cmUxMkV2ZW50SGFuZGxlcjE3ZXZlbnRNYXlTdGFydERyYWdFUDdOU0V2ZW50CiBfX1pON1dlYkNv
cmUxMkV2ZW50SGFuZGxlcjIwaGFuZGxlVGV4dElucHV0RXZlbnRFUktOU182U3RyaW5nRVBOU181
RXZlbnRFYmIKIF9fWk43V2ViQ29yZTEyRXZlbnRIYW5kbGVyMjBoaXRUZXN0UmVzdWx0QXRQb2lu
dEVSS05TXzhJbnRQb2ludEViYk5TXzE3SGl0VGVzdFNjcm9sbGJhcnNFCiBfX1pON1dlYkNvcmUx
MkV2ZW50SGFuZGxlcjIwc2VuZENvbnRleHRNZW51RXZlbnRFUDdOU0V2ZW50CkBAIC0zMDEsMTIg
KzI5OCw2IEBAIF9fWk43V2ViQ29yZTE0RG9jdW1lbnRMb2FkZXI4c2V0RnJhbWVFUE5TXzVGcmFt
ZUUKIF9fWk43V2ViQ29yZTE0RG9jdW1lbnRMb2FkZXI4c2V0VGl0bGVFUktOU182U3RyaW5nRQog
X19aTjdXZWJDb3JlMTREb2N1bWVudExvYWRlckMyRVJLTlNfMTVSZXNvdXJjZVJlcXVlc3RFUktO
U18xNFN1YnN0aXR1dGVEYXRhRQogX19aTjdXZWJDb3JlMTREb2N1bWVudExvYWRlckQyRXYKLV9f
Wk43V2ViQ29yZTE0RHJhZ0NvbnRyb2xsZXIxMGRyYWdFeGl0ZWRFUE5TXzhEcmFnRGF0YUUKLV9f
Wk43V2ViQ29yZTE0RHJhZ0NvbnRyb2xsZXIxMWRyYWdFbnRlcmVkRVBOU184RHJhZ0RhdGFFCi1f
X1pON1dlYkNvcmUxNERyYWdDb250cm9sbGVyMTFkcmFnVXBkYXRlZEVQTlNfOERyYWdEYXRhRQot
X19aTjdXZWJDb3JlMTREcmFnQ29udHJvbGxlcjExcGVyZm9ybURyYWdFUE5TXzhEcmFnRGF0YUUK
LV9fWk43V2ViQ29yZTE0RHJhZ0NvbnRyb2xsZXIxNHBsYWNlRHJhZ0NhcmV0RVJLTlNfOEludFBv
aW50RQotX19aTjdXZWJDb3JlMTREcmFnQ29udHJvbGxlcjlkcmFnRW5kZWRFdgogX19aTjdXZWJD
b3JlMTRSZXNvdXJjZUhhbmRsZTEycmVsZWFzZVByb3h5RXYKIF9fWk43V2ViQ29yZTE0UmVzb3Vy
Y2VIYW5kbGUyMGZvcmNlQ29udGVudFNuaWZmaW5nRXYKIF9fWk43V2ViQ29yZTE0UmVzb3VyY2VM
b2FkZXIxNGNhbmNlbGxlZEVycm9yRXYKQEAgLTYyNCw3ICs2MTUsNiBAQCBfX1pON1dlYkNvcmU4
RG9jdW1lbnQyM3JlbmRlcmVkUmVjdHNGb3JNYXJrZXJzRU5TXzE0RG9jdW1lbnRNYXJrZXIxME1h
cmtlclR5cGVFCiBfX1pON1dlYkNvcmU4RG9jdW1lbnQyNHNldFNob3VsZENyZWF0ZVJlbmRlcmVy
c0ViCiBfX1pON1dlYkNvcmU4RG9jdW1lbnQzNnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHls
ZXNoZWV0c0V2CiBfX1pON1dlYkNvcmU4RG9jdW1lbnQ0aGVhZEV2Ci1fX1pON1dlYkNvcmU4RHJh
Z0RhdGFDMUVQMTFvYmpjX29iamVjdFJLTlNfOEludFBvaW50RVM1X05TXzEzRHJhZ09wZXJhdGlv
bkVQTlNfMTZQYXN0ZWJvYXJkSGVscGVyRQogX19aTjdXZWJDb3JlOEZvcm1EYXRhRDFFdgogX19a
TjdXZWJDb3JlOEludFBvaW50QzFFUks4X05TUG9pbnQKIF9fWk43V2ViQ29yZThQb3NpdGlvbkMx
RU4zV1RGMTBQYXNzUmVmUHRySU5TXzROb2RlRUVFaQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCAyOTU2NDk2Li5iMGVhYTRmIDEwMDY0NAotLS0gYS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTgzNiw2ICs5ODM2LDcgQEAKIAkJRkU4
MERBNjIwRTlDNDcwMzAwMEQ2Rjc1IC8qIEpTR2VvcG9zaXRpb24uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNHZW9wb3NpdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGRTgwREE2RDBFOUM0NzJGMDAwRDZGNzUgLyogSlNQb3NpdGlvbkVycm9yLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUG9zaXRpb25FcnJvci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFODBEQTZFMEU5QzQ3MkYwMDBENkY3NSAv
KiBKU1Bvc2l0aW9uRXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQ
b3NpdGlvbkVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFQTQxMzNGMTA1
RDY3QUUwMDA3MjM2RiAvKiBXZWJDb3JlLkRyYWdTdXBwb3J0LmV4cCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuZXhwb3J0czsgcGF0aCA9IFdlYkNvcmUuRHJhZ1N1cHBvcnQuZXhwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlGRUFCOTAxMDBFQTUxQjlDMDA2MzQ4QzMgLyogR2VvbG9jYXRp
b25TZXJ2aWNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdlb2xv
Y2F0aW9uU2VydmljZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFQUI5MDEx
MEVBNTFCOUMwMDYzNDhDMyAvKiBHZW9sb2NhdGlvblNlcnZpY2UuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gR2VvbG9jYXRpb25TZXJ2aWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCkBAIC0xMDQzNSw2
ICsxMDQzNiw3IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQlGNThFRjU4RTAyREZERkI3MDE4NjM1
Q0EgLyogV2ViQ29yZS5iYXNlLmV4cCAqLywKIAkJCQk0NDkxOTU5RDBGQkUxN0Q3MDBEOUY4MjQg
LyogV2ViQ29yZS5EYXNoYm9hcmRTdXBwb3J0LmV4cCAqLywKKwkJCQlGRUE0MTMzRjEwNUQ2N0FF
MDAwNzIzNkYgLyogV2ViQ29yZS5EcmFnU3VwcG9ydC5leHAgKi8sCiAJCQkJNDQ5MTk1OUMwRkJF
MTdENzAwRDlGODI0IC8qIFdlYkNvcmUuSk5JLmV4cCAqLywKIAkJCQk0NDkxOTU5QjBGQkUxN0Q3
MDBEOUY4MjQgLyogV2ViQ29yZS5MUDY0LmV4cCAqLywKIAkJCQk0NDkxOTU5QTBGQkUxN0Q3MDBE
OUY4MjQgLyogV2ViQ29yZS5OUEFQSS5leHAgKi8sCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9D
bGlwYm9hcmQuaCBiL1dlYkNvcmUvZG9tL0NsaXBib2FyZC5oCmluZGV4IDBmZWE2MDQuLmY2YzA5
YjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0NsaXBib2FyZC5oCisrKyBiL1dlYkNvcmUvZG9t
L0NsaXBib2FyZC5oCkBAIC02NCw3ICs2NCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgdmlydHVhbCB2b2lkIHNldERyYWdJbWFnZUVsZW1lbnQoTm9kZSosIGNvbnN0IEludFBvaW50
JikgPSAwOwogICAgICAgICAKICAgICAgICAgdmlydHVhbCBEcmFnSW1hZ2VSZWYgY3JlYXRlRHJh
Z0ltYWdlKEludFBvaW50JiBkcmFnTG9jYXRpb24pIGNvbnN0ID0gMDsKKyNpZiBFTkFCTEUoRFJB
R19TVVBQT1JUKQogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVjbGFyZUFuZFdyaXRlRHJhZ0ltYWdl
KEVsZW1lbnQqLCBjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgRnJhbWUqKSA9IDA7
CisjZW5kaWYKICAgICAgICAgdmlydHVhbCB2b2lkIHdyaXRlVVJMKGNvbnN0IEtVUkwmLCBjb25z
dCBTdHJpbmcmLCBGcmFtZSopID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIHdyaXRlUmFuZ2Uo
UmFuZ2UqLCBGcmFtZSopID0gMDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmggYi9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCBjMDhlMjYxLi45
ZWIwNTAxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApAQCAtNDM2LDYgKzQzNiw3IEBAIHB1YmxpYzoK
ICNlbmRpZgogfTsKIAorI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiBjbGFzcyBFbXB0eURyYWdD
bGllbnQgOiBwdWJsaWMgRHJhZ0NsaWVudCB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RW1wdHlE
cmFnQ2xpZW50KCkge30KQEAgLTQ0Nyw2ICs0NDgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBE
cmFnSW1hZ2VSZWYgY3JlYXRlRHJhZ0ltYWdlRm9yTGluayhLVVJMJiwgY29uc3QgU3RyaW5nJiwg
RnJhbWUqKSB7IHJldHVybiAwOyB9CiAgICAgdmlydHVhbCB2b2lkIGRyYWdDb250cm9sbGVyRGVz
dHJveWVkKCkgeyB9CiB9OworI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAKIGNsYXNz
IEVtcHR5SW5zcGVjdG9yQ2xpZW50IDogcHVibGljIEluc3BlY3RvckNsaWVudCB7CiBwdWJsaWM6
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwIGIvV2ViQ29yZS9w
YWdlL0RyYWdDb250cm9sbGVyLmNwcAppbmRleCA5N2Y1M2E1Li4wMWY0YmQ2IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9EcmFn
Q29udHJvbGxlci5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJEcmFnQ29udHJvbGxlci5oIgogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICNp
bmNsdWRlICJDU1NTdHlsZURlY2xhcmF0aW9uLmgiCiAjaW5jbHVkZSAiQ2xpcGJvYXJkLmgiCiAj
aW5jbHVkZSAiQ2xpcGJvYXJkQWNjZXNzUG9saWN5LmgiCkBAIC03ODUsMyArNzg2LDQgQEAgdm9p
ZCBEcmFnQ29udHJvbGxlcjo6cGxhY2VEcmFnQ2FyZXQoY29uc3QgSW50UG9pbnQmIHdpbmRvd1Bv
aW50KQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisjZW5kaWYgLy8gRU5BQkxFKERSQUdf
U1VQUE9SVCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvV2Vi
Q29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggZTlkZDNiZi4uMzFmMmE0MiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5jcHAKQEAgLTc4LDYgKzc4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1
c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKIC8v
IFRoZSBsaW5rIGRyYWcgaHlzdGVyZXNpcyBpcyBtdWNoIGxhcmdlciB0aGFuIHRoZSBvdGhlcnMg
YmVjYXVzZSB0aGVyZQogLy8gbmVlZHMgdG8gYmUgZW5vdWdoIHNwYWNlIHRvIGNhbmNlbCB0aGUg
bGluayBwcmVzcyB3aXRob3V0IHN0YXJ0aW5nIGEgbGluayBkcmFnLAogLy8gYW5kIGJlY2F1c2Ug
ZHJhZ2dpbmcgbGlua3MgaXMgcmFyZS4KQEAgLTg1LDYgKzg2LDcgQEAgY29uc3QgaW50IExpbmtE
cmFnSHlzdGVyZXNpcyA9IDQwOwogY29uc3QgaW50IEltYWdlRHJhZ0h5c3RlcmVzaXMgPSA1Owog
Y29uc3QgaW50IFRleHREcmFnSHlzdGVyZXNpcyA9IDM7CiBjb25zdCBpbnQgR2VuZXJhbERyYWdI
eXN0ZXJlc2lzID0gMzsKKyNlbmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCiAvLyBNYXRj
aCBrZXkgY29kZSBvZiBjb21wb3NpdGlvbiBrZXlkb3duIGV2ZW50IG9uIHdpbmRvd3MuCiAvLyBJ
RSBzZW5kcyBWS19QUk9DRVNTS0VZIHdoaWNoIGhhcyB2YWx1ZSAyMjk7CkBAIC0xMzYsNyArMTM4
LDkgQEAgRXZlbnRIYW5kbGVyOjpFdmVudEhhbmRsZXIoRnJhbWUqIGZyYW1lKQogICAgICwgbV9t
b3VzZVByZXNzZWQoZmFsc2UpCiAgICAgLCBtX2NhcHR1cmVzRHJhZ2dpbmcoZmFsc2UpCiAgICAg
LCBtX21vdXNlRG93bk1heVN0YXJ0U2VsZWN0KGZhbHNlKQorI2lmIEVOQUJMRShEUkFHX1NVUFBP
UlQpCiAgICAgLCBtX21vdXNlRG93bk1heVN0YXJ0RHJhZyhmYWxzZSkKKyNlbmRpZgogICAgICwg
bV9tb3VzZURvd25XYXNTaW5nbGVDbGlja0luU2VsZWN0aW9uKGZhbHNlKQogICAgICwgbV9iZWdh
blNlbGVjdGluZ1RleHQoZmFsc2UpCiAgICAgLCBtX3BhblNjcm9sbEluUHJvZ3Jlc3MoZmFsc2Up
CkBAIC0xNjksMTEgKzE3MywxMyBAQCBFdmVudEhhbmRsZXI6On5FdmVudEhhbmRsZXIoKQogewog
fQogICAgIAorI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiBFdmVudEhhbmRsZXI6OkV2ZW50SGFu
ZGxlckRyYWdTdGF0ZSYgRXZlbnRIYW5kbGVyOjpkcmFnU3RhdGUoKQogewogICAgIERFRklORV9T
VEFUSUNfTE9DQUwoRXZlbnRIYW5kbGVyRHJhZ1N0YXRlLCBzdGF0ZSwgKCkpOwogICAgIHJldHVy
biBzdGF0ZTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIAogdm9pZCBF
dmVudEhhbmRsZXI6OmNsZWFyKCkKIHsKQEAgLTE5MCw3ICsxOTYsOSBAQCB2b2lkIEV2ZW50SGFu
ZGxlcjo6Y2xlYXIoKQogICAgIG1fY2xpY2tDb3VudCA9IDA7CiAgICAgbV9jbGlja05vZGUgPSAw
OwogICAgIG1fZnJhbWVTZXRCZWluZ1Jlc2l6ZWQgPSAwOworI2lmIEVOQUJMRShEUkFHX1NVUFBP
UlQpCiAgICAgbV9kcmFnVGFyZ2V0ID0gMDsKKyNlbmRpZgogICAgIG1fY3VycmVudE1vdXNlUG9z
aXRpb24gPSBJbnRQb2ludCgpOwogICAgIG1fbW91c2VQcmVzc05vZGUgPSAwOwogICAgIG1fbW91
c2VQcmVzc2VkID0gZmFsc2U7CkBAIC0zNDQsOCArMzUyLDEwIEBAIGJvb2wgRXZlbnRIYW5kbGVy
OjpoYW5kbGVNb3VzZVByZXNzRXZlbnRTaW5nbGVDbGljayhjb25zdCBNb3VzZUV2ZW50V2l0aEhp
dFRlc3RSCiAKIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQoY29uc3Qg
TW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYgZXZlbnQpCiB7CisjaWYgRU5BQkxFKERSQUdf
U1VQUE9SVCkKICAgICAvLyBSZXNldCBkcmFnIHN0YXRlLgogICAgIGRyYWdTdGF0ZSgpLm1fZHJh
Z1NyYyA9IDA7CisjZW5kaWYKIAogICAgIGlmIChTY3JvbGxWaWV3KiBzY3JvbGxWaWV3ID0gbV9m
cmFtZS0+dmlldygpKSB7CiAgICAgICAgIGlmIChzY3JvbGxWaWV3LT5pc1BvaW50SW5TY3JvbGxi
YXJDb3JuZXIoZXZlbnQuZXZlbnQoKS5wb3MoKSkpCkBAIC0zNTgsOCArMzY4LDEwIEBAIGJvb2wg
RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQoY29uc3QgTW91c2VFdmVudFdpdGhI
aXRUZXN0UmVzdWx0cyYgZXZlCiAgICAgLy8gc28gaXQncyBhbGxvd2VkIHRvIHN0YXJ0IGEgZHJh
ZyBvciBzZWxlY3Rpb24uCiAgICAgbV9tb3VzZURvd25NYXlTdGFydFNlbGVjdCA9IGNhbk1vdXNl
RG93blN0YXJ0U2VsZWN0KGV2ZW50LnRhcmdldE5vZGUoKSk7CiAgICAgCisjaWYgRU5BQkxFKERS
QUdfU1VQUE9SVCkKICAgICAvLyBDYXJlZnVsIHRoYXQgdGhlIGRyYWcgc3RhcnRpbmcgbG9naWMg
c3RheXMgaW4gc3luYyB3aXRoIGV2ZW50TWF5U3RhcnREcmFnKCkKICAgICBtX21vdXNlRG93bk1h
eVN0YXJ0RHJhZyA9IHNpbmdsZUNsaWNrOworI2VuZGlmCiAKICAgICBtX21vdXNlRG93bldhc1Np
bmdsZUNsaWNrSW5TZWxlY3Rpb24gPSBmYWxzZTsKIApAQCAtMzg3LDcgKzM5OSw5IEBAIGJvb2wg
RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQoY29uc3QgTW91c2VFdmVudFdpdGhI
aXRUZXN0UmVzdWx0cyYgZXZlCiAgICAgTm9kZSogaW5uZXJOb2RlID0gZXZlbnQudGFyZ2V0Tm9k
ZSgpOwogCiAgICAgbV9tb3VzZVByZXNzTm9kZSA9IGlubmVyTm9kZTsKKyNpZiBFTkFCTEUoRFJB
R19TVVBQT1JUKQogICAgIG1fZHJhZ1N0YXJ0UG9zID0gZXZlbnQuZXZlbnQoKS5wb3MoKTsKKyNl
bmRpZgogCiAgICAgYm9vbCBzd2FsbG93RXZlbnQgPSBmYWxzZTsKICAgICBtX2ZyYW1lLT5zZWxl
Y3Rpb24oKS0+c2V0Q2FyZXRCbGlua2luZ1N1c3BlbmRlZCh0cnVlKTsKQEAgLTQwNyw2ICs0MjEs
NyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KGNvbnN0IE1vdXNl
RXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGV2ZQogICAgIHJldHVybiBzd2FsbG93RXZlbnQ7CiB9
CiAKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1v
dXNlRHJhZ2dlZEV2ZW50KGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGV2ZW50
KQogewogICAgIGlmIChoYW5kbGVEcmFnKGV2ZW50KSkKQEAgLTU0Niw2ICs1NjEsNyBAQCB2b2lk
IEV2ZW50SGFuZGxlcjo6dXBkYXRlU2VsZWN0aW9uRm9yTW91c2VEcmFnKE5vZGUqIHRhcmdldE5v
ZGUsIGNvbnN0IEludFBvaW50JgogICAgICAgICBtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+c2V0U2Vs
ZWN0aW9uKG5ld1NlbGVjdGlvbik7CiAgICAgfQogfQorI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NV
UFBPUlQpCiAgICAgCiBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VVcChjb25zdCBNb3Vz
ZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiBldmVudCkKIHsKQEAgLTU3Myw3ICs1ODksOSBAQCBi
b29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQoY29uc3QgTW91c2VFdmVu
dFdpdGhIaXRUZXN0UmVzdWx0cyYgZQogICAgIG1fZnJhbWUtPnNlbGVjdGlvbigpLT5zZXRDYXJl
dEJsaW5raW5nU3VzcGVuZGVkKGZhbHNlKTsKICAgICBtX21vdXNlUHJlc3NlZCA9IGZhbHNlOwog
ICAgIG1fY2FwdHVyZXNEcmFnZ2luZyA9IGZhbHNlOworI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQp
CiAgICAgbV9tb3VzZURvd25NYXlTdGFydERyYWcgPSBmYWxzZTsKKyNlbmRpZgogICAgIG1fbW91
c2VEb3duTWF5U3RhcnRTZWxlY3QgPSBmYWxzZTsKICAgICBtX21vdXNlRG93bk1heVN0YXJ0QXV0
b3Njcm9sbCA9IGZhbHNlOwogICAgIG1fbW91c2VEb3duV2FzSW5TdWJmcmFtZSA9IGZhbHNlOwpA
QCAtNTg1LDcgKzYwMyw5IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVJlbGVhc2VF
dmVudChjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiBlCiAgICAgLy8gb24gdGhl
IHNlbGVjdGlvbiwgdGhlIHNlbGVjdGlvbiBnb2VzIGF3YXkuICBIb3dldmVyLCBpZiB3ZSBhcmUK
ICAgICAvLyBlZGl0aW5nLCBwbGFjZSB0aGUgY2FyZXQuCiAgICAgaWYgKG1fbW91c2VEb3duV2Fz
U2luZ2xlQ2xpY2tJblNlbGVjdGlvbiAmJiAhbV9iZWdhblNlbGVjdGluZ1RleHQKKyNpZiBFTkFC
TEUoRFJBR19TVVBQT1JUKQogICAgICAgICAgICAgJiYgbV9kcmFnU3RhcnRQb3MgPT0gZXZlbnQu
ZXZlbnQoKS5wb3MoKQorI2VuZGlmCiAgICAgICAgICAgICAmJiBtX2ZyYW1lLT5zZWxlY3Rpb24o
KS0+aXNSYW5nZSgpCiAgICAgICAgICAgICAmJiBldmVudC5ldmVudCgpLmJ1dHRvbigpICE9IFJp
Z2h0QnV0dG9uKSB7CiAgICAgICAgIFZpc2libGVTZWxlY3Rpb24gbmV3U2VsZWN0aW9uOwpAQCAt
NzI4LDYgKzc0OCw3IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpzZXRBdXRvc2Nyb2xsUmVuZGVyZXIo
UmVuZGVyT2JqZWN0KiByZW5kZXJlcikKICAgICBtX2F1dG9zY3JvbGxSZW5kZXJlciA9IHJlbmRl
cmVyOwogfQogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKIHZvaWQgRXZlbnRIYW5kbGVyOjph
bGxvd0RIVE1MRHJhZyhib29sJiBmbGFnREhUTUwsIGJvb2wmIGZsYWdVQSkgY29uc3QKIHsKICAg
ICBmbGFnREhUTUwgPSBmYWxzZTsKQEAgLTc0OCw2ICs3NjksNyBAQCB2b2lkIEV2ZW50SGFuZGxl
cjo6YWxsb3dESFRNTERyYWcoYm9vbCYgZmxhZ0RIVE1MLCBib29sJiBmbGFnVUEpIGNvbnN0CiAg
ICAgZmxhZ0RIVE1MID0gKG1hc2sgJiBEcmFnU291cmNlQWN0aW9uREhUTUwpICE9IERyYWdTb3Vy
Y2VBY3Rpb25Ob25lOwogICAgIGZsYWdVQSA9ICgobWFzayAmIERyYWdTb3VyY2VBY3Rpb25JbWFn
ZSkgfHwgKG1hc2sgJiBEcmFnU291cmNlQWN0aW9uTGluaykgfHwgKG1hc2sgJiBEcmFnU291cmNl
QWN0aW9uU2VsZWN0aW9uKSk7CiB9CisjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKICAg
ICAKIEhpdFRlc3RSZXN1bHQgRXZlbnRIYW5kbGVyOjpoaXRUZXN0UmVzdWx0QXRQb2ludChjb25z
dCBJbnRQb2ludCYgcG9pbnQsIGJvb2wgYWxsb3dTaGFkb3dDb250ZW50LCBib29sIGlnbm9yZUNs
aXBwaW5nLCBIaXRUZXN0U2Nyb2xsYmFycyB0ZXN0U2Nyb2xsYmFycykKIHsKQEAgLTExMDQsNyAr
MTEyNiw5IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQoY29uc3Qg
UGxhdGZvcm1Nb3VzZUV2ZW50JiBtb3VzZUV2ZW50KQogICAgIG1fY2FwdHVyZXNEcmFnZ2luZyA9
IHRydWU7CiAgICAgbV9jdXJyZW50TW91c2VQb3NpdGlvbiA9IG1vdXNlRXZlbnQucG9zKCk7CiAg
ICAgbV9tb3VzZURvd25UaW1lc3RhbXAgPSBtb3VzZUV2ZW50LnRpbWVzdGFtcCgpOworI2lmIEVO
QUJMRShEUkFHX1NVUFBPUlQpCiAgICAgbV9tb3VzZURvd25NYXlTdGFydERyYWcgPSBmYWxzZTsK
KyNlbmRpZgogICAgIG1fbW91c2VEb3duTWF5U3RhcnRTZWxlY3QgPSBmYWxzZTsKICAgICBtX21v
dXNlRG93bk1heVN0YXJ0QXV0b3Njcm9sbCA9IGZhbHNlOwogICAgIGlmIChGcmFtZVZpZXcqIHZp
ZXcgPSBtX2ZyYW1lLT52aWV3KCkpCkBAIC0xMzgwLDggKzE0MDQsMTAgQEAgYm9vbCBFdmVudEhh
bmRsZXI6OmhhbmRsZU1vdXNlTW92ZUV2ZW50KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgbW91
c2VFdmVudCwgSGkKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgCiAgICAgc3dhbGxvd0V2ZW50
ID0gZGlzcGF0Y2hNb3VzZUV2ZW50KGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVFdmVudCwgbWV2LnRh
cmdldE5vZGUoKSwgZmFsc2UsIDAsIG1vdXNlRXZlbnQsIHRydWUpOworI2lmIEVOQUJMRShEUkFH
X1NVUFBPUlQpCiAgICAgaWYgKCFzd2FsbG93RXZlbnQpCiAgICAgICAgIHN3YWxsb3dFdmVudCA9
IGhhbmRsZU1vdXNlRHJhZ2dlZEV2ZW50KG1ldik7CisjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQ
UE9SVCkKIAogICAgIHJldHVybiBzd2FsbG93RXZlbnQ7CiB9CkBAIC0xNDUxLDYgKzE0NzcsNyBA
QCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQoY29uc3QgUGxhdGZv
cm1Nb3VzZUV2ZW50JiBtb3VzZUV2ZW50KQogICAgIHJldHVybiBzd2FsbG93TW91c2VVcEV2ZW50
IHx8IHN3YWxsb3dDbGlja0V2ZW50IHx8IHN3YWxsb3dNb3VzZVJlbGVhc2VFdmVudDsKIH0KIAor
I2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiBib29sIEV2ZW50SGFuZGxlcjo6ZGlzcGF0Y2hEcmFn
RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIE5vZGUqIGRyYWdUYXJnZXQsIGNv
bnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQsIENsaXBib2FyZCogY2xpcGJvYXJkKQogewog
ICAgIEZyYW1lVmlldyogdmlldyA9IG1fZnJhbWUtPnZpZXcoKTsKQEAgLTE1NTgsNiArMTU4NSw3
IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpjbGVhckRyYWdTdGF0ZSgpCiAgICAgbV9zZW5kaW5nRXZl
bnRUb1N1YnZpZXcgPSBmYWxzZTsKICNlbmRpZgogfQorI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NV
UFBPUlQpCiAKIHZvaWQgRXZlbnRIYW5kbGVyOjpzZXRDYXB0dXJpbmdNb3VzZUV2ZW50c05vZGUo
UGFzc1JlZlB0cjxOb2RlPiBuKQogewpAQCAtMTg2NCw2ICsxODkyLDcgQEAgYm9vbCBFdmVudEhh
bmRsZXI6OmNhbk1vdXNlRG93blN0YXJ0U2VsZWN0KE5vZGUqIG5vZGUpCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogYm9vbCBFdmVudEhhbmRsZXI6OmNh
bk1vdXNlRHJhZ0V4dGVuZFNlbGVjdChOb2RlKiBub2RlKQogewogICAgIGlmICghbm9kZSB8fCAh
bm9kZS0+cmVuZGVyZXIoKSkKQEAgLTE4NzYsNiArMTkwNSw3IEBAIGJvb2wgRXZlbnRIYW5kbGVy
OjpjYW5Nb3VzZURyYWdFeHRlbmRTZWxlY3QoTm9kZSogbm9kZSkKIAogICAgIHJldHVybiB0cnVl
OwogfQorI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAKIHZvaWQgRXZlbnRIYW5kbGVy
OjpzZXRSZXNpemluZ0ZyYW1lU2V0KEhUTUxGcmFtZVNldEVsZW1lbnQqIGZyYW1lU2V0KQogewpA
QCAtMjA5Miw2ICsyMTIyLDcgQEAgdm9pZCBFdmVudEhhbmRsZXI6OmRlZmF1bHRLZXlib2FyZEV2
ZW50SGFuZGxlcihLZXlib2FyZEV2ZW50KiBldmVudCkKICAgICB9CiB9CiAKKyNpZiBFTkFCTEUo
RFJBR19TVVBQT1JUKQogYm9vbCBFdmVudEhhbmRsZXI6OmRyYWdIeXN0ZXJlc2lzRXhjZWVkZWQo
Y29uc3QgRmxvYXRQb2ludCYgZmxvYXREcmFnVmlld3BvcnRMb2NhdGlvbikgY29uc3QKIHsKICAg
ICBJbnRQb2ludCBkcmFnVmlld3BvcnRMb2NhdGlvbigoaW50KWZsb2F0RHJhZ1ZpZXdwb3J0TG9j
YXRpb24ueCgpLCAoaW50KWZsb2F0RHJhZ1ZpZXdwb3J0TG9jYXRpb24ueSgpKTsKQEAgLTIyOTEs
NiArMjMyMiw3IEBAIGNsZWFudXBEcmFnOgogICAgIC8vIE5vIG1vcmUgZGVmYXVsdCBoYW5kbGlu
ZyAobGlrZSBzZWxlY3Rpb24pLCB3aGV0aGVyIHdlJ3JlIHBhc3QgdGhlIGh5c3RlcmVzaXMgYm91
bmRzIG9yIG5vdAogICAgIHJldHVybiB0cnVlOwogfQorI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NV
UFBPUlQpCiAgIAogYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZVRleHRJbnB1dEV2ZW50KGNvbnN0
IFN0cmluZyYgdGV4dCwgRXZlbnQqIHVuZGVybHlpbmdFdmVudCwgYm9vbCBpc0xpbmVCcmVhaywg
Ym9vbCBpc0JhY2tUYWIpCiB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmggYi9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5kZXggYmQ1YzMxMi4uMTM0MzNjZSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCisrKyBiL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuaApAQCAtNjIsMTAgKzYyLDEyIEBAIGNsYXNzIFNWR0VsZW1lbnRJbnN0
YW5jZTsKIGNsYXNzIFRleHRFdmVudDsKIGNsYXNzIFdpZGdldDsKICAgICAKKyNpZiBFTkFCTEUo
RFJBR19TVVBQT1JUKQogZXh0ZXJuIGNvbnN0IGludCBMaW5rRHJhZ0h5c3RlcmVzaXM7CiBleHRl
cm4gY29uc3QgaW50IEltYWdlRHJhZ0h5c3RlcmVzaXM7CiBleHRlcm4gY29uc3QgaW50IFRleHRE
cmFnSHlzdGVyZXNpczsKIGV4dGVybiBjb25zdCBpbnQgR2VuZXJhbERyYWdIeXN0ZXJlc2lzOwor
I2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAKIGVudW0gSGl0VGVzdFNjcm9sbGJhcnMg
eyBTaG91bGRIaXRUZXN0U2Nyb2xsYmFycywgRG9udEhpdFRlc3RTY3JvbGxiYXJzIH07CiAKQEAg
LTc2LDcgKzc4LDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBjbGVhcigpOwogCisjaWYgRU5BQkxF
KERSQUdfU1VQUE9SVCkKICAgICB2b2lkIHVwZGF0ZVNlbGVjdGlvbkZvck1vdXNlRHJhZygpOwor
I2VuZGlmCiAKICAgICBOb2RlKiBtb3VzZVByZXNzTm9kZSgpIGNvbnN0OwogICAgIHZvaWQgc2V0
TW91c2VQcmVzc05vZGUoUGFzc1JlZlB0cjxOb2RlPik7CkBAIC05NSw5ICs5OSwxMSBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIHNldENhcHR1cmluZ01vdXNlRXZlbnRzTm9kZShQYXNzUmVmUHRyPE5v
ZGU+KTsKIAorI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgYm9vbCB1cGRhdGVEcmFnQW5k
RHJvcChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmLCBDbGlwYm9hcmQqKTsKICAgICB2b2lkIGNh
bmNlbERyYWdBbmREcm9wKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYsIENsaXBib2FyZCopOwog
ICAgIGJvb2wgcGVyZm9ybURyYWdBbmREcm9wKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYsIENs
aXBib2FyZCopOworI2VuZGlmCiAKICAgICB2b2lkIHNjaGVkdWxlSG92ZXJTdGF0ZVVwZGF0ZSgp
OwogCkBAIC0xMTUsNyArMTIxLDkgQEAgcHVibGljOgogCiAgICAgYm9vbCBzY3JvbGxSZWN1cnNp
dmVseShTY3JvbGxEaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5KTsKIAorI2lmIEVOQUJMRShE
UkFHX1NVUFBPUlQpCiAgICAgYm9vbCBzaG91bGREcmFnQXV0b05vZGUoTm9kZSosIGNvbnN0IElu
dFBvaW50JikgY29uc3Q7IC8vIC13ZWJraXQtdXNlci1kcmFnID09IGF1dG8KKyNlbmRpZgogCiAg
ICAgYm9vbCB0YWJzVG9MaW5rcyhLZXlib2FyZEV2ZW50KikgY29uc3Q7CiAgICAgYm9vbCB0YWJz
VG9BbGxDb250cm9scyhLZXlib2FyZEV2ZW50KikgY29uc3Q7CkBAIC0xNDQsMTAgKzE1MiwxMiBA
QCBwdWJsaWM6CiAgICAgICAgIGJvb2wgaXNMaW5lQnJlYWsgPSBmYWxzZSwgYm9vbCBpc0JhY2tU
YWIgPSBmYWxzZSk7CiAgICAgdm9pZCBkZWZhdWx0VGV4dElucHV0RXZlbnRIYW5kbGVyKFRleHRF
dmVudCopOwogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBib29sIGV2ZW50TWF5U3Rh
cnREcmFnKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYpIGNvbnN0OwogICAgIAogICAgIHZvaWQg
ZHJhZ1NvdXJjZU1vdmVkVG8oY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50Jik7CiAgICAgdm9pZCBk
cmFnU291cmNlRW5kZWRBdChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmLCBEcmFnT3BlcmF0aW9u
KTsKKyNlbmRpZgogCiAgICAgdm9pZCBmb2N1c0RvY3VtZW50VmlldygpOwogCkBAIC0xNzcsNiAr
MTg3LDcgQEAgcHVibGljOgogI2VuZGlmCiAKIHByaXZhdGU6CisjaWYgRU5BQkxFKERSQUdfU1VQ
UE9SVCkKICAgICBzdHJ1Y3QgRXZlbnRIYW5kbGVyRHJhZ1N0YXRlIHsKICAgICAgICAgUmVmUHRy
PE5vZGU+IG1fZHJhZ1NyYzsgLy8gZWxlbWVudCB0aGF0IG1heSBiZSBhIGRyYWcgc291cmNlLCBm
b3IgdGhlIGN1cnJlbnQgbW91c2UgZ2VzdHVyZQogICAgICAgICBib29sIG1fZHJhZ1NyY0lzTGlu
azsKQEAgLTE5MSw2ICsyMDIsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdCBkb3VibGUg
VGV4dERyYWdEZWxheTsKICAgICAKICAgICBQYXNzUmVmUHRyPENsaXBib2FyZD4gY3JlYXRlRHJh
Z2dpbmdDbGlwYm9hcmQoKSBjb25zdDsKKyNlbmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQog
ICAgIAogICAgIGJvb2wgZXZlbnRBY3RpdmF0ZWRWaWV3KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVu
dCYpIGNvbnN0OwogICAgIHZvaWQgc2VsZWN0Q2xvc2VzdFdvcmRGcm9tTW91c2VFdmVudChjb25z
dCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJik7CkBAIC0yMDIsNyArMjE0LDkgQEAgcHJp
dmF0ZToKICAgICBib29sIGhhbmRsZU1vdXNlUHJlc3NFdmVudFNpbmdsZUNsaWNrKGNvbnN0IE1v
dXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmKTsKICAgICBib29sIGhhbmRsZU1vdXNlUHJlc3NF
dmVudERvdWJsZUNsaWNrKGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmKTsKICAg
ICBib29sIGhhbmRsZU1vdXNlUHJlc3NFdmVudFRyaXBsZUNsaWNrKGNvbnN0IE1vdXNlRXZlbnRX
aXRoSGl0VGVzdFJlc3VsdHMmKTsKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIGJvb2wg
aGFuZGxlTW91c2VEcmFnZ2VkRXZlbnQoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0
cyYpOworI2VuZGlmCiAgICAgYm9vbCBoYW5kbGVNb3VzZVJlbGVhc2VFdmVudChjb25zdCBNb3Vz
ZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJik7CiAKICAgICB2b2lkIGhhbmRsZUtleWJvYXJkU2Vs
ZWN0aW9uTW92ZW1lbnQoS2V5Ym9hcmRFdmVudCopOwpAQCAtMjE1LDcgKzIyOSw5IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBob3ZlclRpbWVyRmlyZWQoVGltZXI8RXZlbnRIYW5kbGVyPiopOwogCiAg
ICAgc3RhdGljIGJvb2wgY2FuTW91c2VEb3duU3RhcnRTZWxlY3QoTm9kZSopOworI2lmIEVOQUJM
RShEUkFHX1NVUFBPUlQpCiAgICAgc3RhdGljIGJvb2wgY2FuTW91c2VEcmFnRXh0ZW5kU2VsZWN0
KE5vZGUqKTsKKyNlbmRpZgogCiAgICAgdm9pZCBoYW5kbGVBdXRvc2Nyb2xsKFJlbmRlck9iamVj
dCopOwogICAgIHZvaWQgc3RhcnRBdXRvc2Nyb2xsVGltZXIoKTsKQEAgLTIzMiwxOCArMjQ4LDIy
IEBAIHByaXZhdGU6CiAgICAgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyBwcmVwYXJlTW91
c2VFdmVudChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYp
OwogCiAgICAgYm9vbCBkaXNwYXRjaE1vdXNlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVu
dFR5cGUsIE5vZGUqIHRhcmdldCwgYm9vbCBjYW5jZWxhYmxlLCBpbnQgY2xpY2tDb3VudCwgY29u
c3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiwgYm9vbCBzZXRVbmRlcik7CisjaWYgRU5BQkxFKERSQUdf
U1VQUE9SVCkKICAgICBib29sIGRpc3BhdGNoRHJhZ0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYg
ZXZlbnRUeXBlLCBOb2RlKiB0YXJnZXQsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYsIENsaXBi
b2FyZCopOwogCiAgICAgdm9pZCBmcmVlQ2xpcGJvYXJkKCk7CiAKICAgICBib29sIGhhbmRsZURy
YWcoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYpOworI2VuZGlmCiAgICAgYm9v
bCBoYW5kbGVNb3VzZVVwKGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmKTsKKyNp
ZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIHZvaWQgY2xlYXJEcmFnU3RhdGUoKTsKIAogICAg
IGJvb2wgZGlzcGF0Y2hEcmFnU3JjRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUs
IGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYpOwogCiAgICAgYm9vbCBkcmFnSHlzdGVyZXNpc0V4
Y2VlZGVkKGNvbnN0IEZsb2F0UG9pbnQmKSBjb25zdDsKICAgICBib29sIGRyYWdIeXN0ZXJlc2lz
RXhjZWVkZWQoY29uc3QgSW50UG9pbnQmKSBjb25zdDsKKyNlbmRpZiAvLyBFTkFCTEUoRFJBR19T
VVBQT1JUKQogCiAgICAgYm9vbCBwYXNzTW91c2VQcmVzc0V2ZW50VG9TdWJmcmFtZShNb3VzZUV2
ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiwgRnJhbWUqIHN1YmZyYW1lKTsKICAgICBib29sIHBhc3NN
b3VzZU1vdmVFdmVudFRvU3ViZnJhbWUoTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYsIEZy
YW1lKiBzdWJmcmFtZSwgSGl0VGVzdFJlc3VsdCogaG92ZXJlZE5vZGUgPSAwKTsKQEAgLTI2Miwx
NiArMjgyLDIyIEBAIHByaXZhdGU6CiAgICAgdm9pZCBkZWZhdWx0U3BhY2VFdmVudEhhbmRsZXIo
S2V5Ym9hcmRFdmVudCopOwogICAgIHZvaWQgZGVmYXVsdFRhYkV2ZW50SGFuZGxlcihLZXlib2Fy
ZEV2ZW50Kik7CiAKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIHZvaWQgYWxsb3dESFRN
TERyYWcoYm9vbCYgZmxhZ0RIVE1MLCBib29sJiBmbGFnVUEpIGNvbnN0OworI2VuZGlmCiAKICAg
ICAvLyBUaGUgZm9sbG93aW5nIGFyZSBjYWxsZWQgYXQgdGhlIGJlZ2lubmluZyBvZiBoYW5kbGVN
b3VzZVVwIGFuZCBoYW5kbGVEcmFnLiAgCiAgICAgLy8gSWYgdGhleSByZXR1cm4gdHJ1ZSBpdCBp
bmRpY2F0ZXMgdGhhdCB0aGV5IGhhdmUgY29uc3VtZWQgdGhlIGV2ZW50LgogICAgIGJvb2wgZXZl
bnRMb29wSGFuZGxlTW91c2VVcChjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJik7
CisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBib29sIGV2ZW50TG9vcEhhbmRsZU1vdXNl
RHJhZ2dlZChjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJik7CisjZW5kaWYKIAog
ICAgIGJvb2wgaW52ZXJ0U2Vuc2VPZlRhYnNUb0xpbmtzKEtleWJvYXJkRXZlbnQqKSBjb25zdDsK
IAorI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgdm9pZCB1cGRhdGVTZWxlY3Rpb25Gb3JN
b3VzZURyYWcoTm9kZSogdGFyZ2V0Tm9kZSwgY29uc3QgSW50UG9pbnQmIGxvY2FsUG9pbnQpOwor
I2VuZGlmCiAKICAgICB2b2lkIHVwZGF0ZUxhc3RTY3JvbGxiYXJVbmRlck1vdXNlKFNjcm9sbGJh
ciosIGJvb2wpOwogCkBAIC0yOTAsMTEgKzMxNiwxNSBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxO
b2RlPiBtX21vdXNlUHJlc3NOb2RlOwogCiAgICAgYm9vbCBtX21vdXNlRG93bk1heVN0YXJ0U2Vs
ZWN0OworI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgYm9vbCBtX21vdXNlRG93bk1heVN0
YXJ0RHJhZzsKKyNlbmRpZgogICAgIGJvb2wgbV9tb3VzZURvd25XYXNTaW5nbGVDbGlja0luU2Vs
ZWN0aW9uOwogICAgIGJvb2wgbV9iZWdhblNlbGVjdGluZ1RleHQ7CiAKKyNpZiBFTkFCTEUoRFJB
R19TVVBQT1JUKQogICAgIEludFBvaW50IG1fZHJhZ1N0YXJ0UG9zOworI2VuZGlmCiAKICAgICBJ
bnRQb2ludCBtX3BhblNjcm9sbFN0YXJ0UG9zOwogICAgIGJvb2wgbV9wYW5TY3JvbGxJblByb2dy
ZXNzOwpAQCAtMzI4LDcgKzM1OCw5IEBAIHByaXZhdGU6CiAgICAgaW50IG1fY2xpY2tDb3VudDsK
ICAgICBSZWZQdHI8Tm9kZT4gbV9jbGlja05vZGU7CiAKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JU
KQogICAgIFJlZlB0cjxOb2RlPiBtX2RyYWdUYXJnZXQ7CisjZW5kaWYKICAgICAKICAgICBSZWZQ
dHI8SFRNTEZyYW1lU2V0RWxlbWVudD4gbV9mcmFtZVNldEJlaW5nUmVzaXplZDsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4
IDRjNDNlY2UuLmMyY2U0NGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysg
Yi9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTEwMCw3ICsxMDAsOSBAQCBzdGF0aWMgdm9pZCBu
ZXR3b3JrU3RhdGVDaGFuZ2VkKCkKIFBhZ2U6OlBhZ2UoQ2hyb21lQ2xpZW50KiBjaHJvbWVDbGll
bnQsIENvbnRleHRNZW51Q2xpZW50KiBjb250ZXh0TWVudUNsaWVudCwgRWRpdG9yQ2xpZW50KiBl
ZGl0b3JDbGllbnQsIERyYWdDbGllbnQqIGRyYWdDbGllbnQsIEluc3BlY3RvckNsaWVudCogaW5z
cGVjdG9yQ2xpZW50KQogICAgIDogbV9jaHJvbWUobmV3IENocm9tZSh0aGlzLCBjaHJvbWVDbGll
bnQpKQogICAgICwgbV9kcmFnQ2FyZXRDb250cm9sbGVyKG5ldyBTZWxlY3Rpb25Db250cm9sbGVy
KDAsIHRydWUpKQorI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgLCBtX2RyYWdDb250cm9s
bGVyKG5ldyBEcmFnQ29udHJvbGxlcih0aGlzLCBkcmFnQ2xpZW50KSkKKyNlbmRpZgogICAgICwg
bV9mb2N1c0NvbnRyb2xsZXIobmV3IEZvY3VzQ29udHJvbGxlcih0aGlzKSkKICAgICAsIG1fY29u
dGV4dE1lbnVDb250cm9sbGVyKG5ldyBDb250ZXh0TWVudUNvbnRyb2xsZXIodGhpcywgY29udGV4
dE1lbnVDbGllbnQpKQogICAgICwgbV9pbnNwZWN0b3JDb250cm9sbGVyKG5ldyBJbnNwZWN0b3JD
b250cm9sbGVyKHRoaXMsIGluc3BlY3RvckNsaWVudCkpCkBAIC0xMjYsNiArMTI4LDkgQEAgUGFn
ZTo6UGFnZShDaHJvbWVDbGllbnQqIGNocm9tZUNsaWVudCwgQ29udGV4dE1lbnVDbGllbnQqIGNv
bnRleHRNZW51Q2xpZW50LCBFZGkKICAgICAsIG1fY3VzdG9tSFRNTFRva2VuaXplckNodW5rU2l6
ZSgtMSkKICAgICAsIG1fY2FuU3RhcnRQbHVnaW5zKHRydWUpCiB7CisjaWYgIUVOQUJMRShEUkFH
X1NVUFBPUlQpCisgICAgVU5VU0VEX1BBUkFNKGRyYWdDbGllbnQpOworI2VuZGlmCiAgICAgaWYg
KCFhbGxQYWdlcykgewogICAgICAgICBhbGxQYWdlcyA9IG5ldyBIYXNoU2V0PFBhZ2UqPjsKICAg
ICAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvV2ViQ29yZS9wYWdlL1Bh
Z2UuaAppbmRleCAzYzhhYWZhLi44OGRmMDc3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFn
ZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTEyNSw3ICsxMjUsOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKICAgICAgICAgQ2hyb21lKiBjaHJvbWUoKSBjb25zdCB7IHJldHVybiBt
X2Nocm9tZS5nZXQoKTsgfQogICAgICAgICBTZWxlY3Rpb25Db250cm9sbGVyKiBkcmFnQ2FyZXRD
b250cm9sbGVyKCkgY29uc3QgeyByZXR1cm4gbV9kcmFnQ2FyZXRDb250cm9sbGVyLmdldCgpOyB9
CisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICAgICAgRHJhZ0NvbnRyb2xsZXIqIGRyYWdD
b250cm9sbGVyKCkgY29uc3QgeyByZXR1cm4gbV9kcmFnQ29udHJvbGxlci5nZXQoKTsgfQorI2Vu
ZGlmCiAgICAgICAgIEZvY3VzQ29udHJvbGxlciogZm9jdXNDb250cm9sbGVyKCkgY29uc3QgeyBy
ZXR1cm4gbV9mb2N1c0NvbnRyb2xsZXIuZ2V0KCk7IH0KICAgICAgICAgQ29udGV4dE1lbnVDb250
cm9sbGVyKiBjb250ZXh0TWVudUNvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVybiBtX2NvbnRleHRN
ZW51Q29udHJvbGxlci5nZXQoKTsgfQogICAgICAgICBJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNw
ZWN0b3JDb250cm9sbGVyKCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JDb250cm9sbGVyLmdl
dCgpOyB9CkBAIC0yMTcsNyArMjE5LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAg
IE93blB0cjxDaHJvbWU+IG1fY2hyb21lOwogICAgICAgICBPd25QdHI8U2VsZWN0aW9uQ29udHJv
bGxlcj4gbV9kcmFnQ2FyZXRDb250cm9sbGVyOworI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAg
ICAgICAgIE93blB0cjxEcmFnQ29udHJvbGxlcj4gbV9kcmFnQ29udHJvbGxlcjsKKyNlbmRpZgog
ICAgICAgICBPd25QdHI8Rm9jdXNDb250cm9sbGVyPiBtX2ZvY3VzQ29udHJvbGxlcjsKICAgICAg
ICAgT3duUHRyPENvbnRleHRNZW51Q29udHJvbGxlcj4gbV9jb250ZXh0TWVudUNvbnRyb2xsZXI7
CiAgICAgICAgIE93blB0cjxJbnNwZWN0b3JDb250cm9sbGVyPiBtX2luc3BlY3RvckNvbnRyb2xs
ZXI7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvbWFjL0RyYWdDb250cm9sbGVyTWFjLm1tIGIv
V2ViQ29yZS9wYWdlL21hYy9EcmFnQ29udHJvbGxlck1hYy5tbQppbmRleCBjNDc2ZGY3Li5lNGE5
OWY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvbWFjL0RyYWdDb250cm9sbGVyTWFjLm1tCisr
KyBiL1dlYkNvcmUvcGFnZS9tYWMvRHJhZ0NvbnRyb2xsZXJNYWMubW0KQEAgLTI2LDYgKzI2LDcg
QEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiRHJhZ0NvbnRyb2xsZXIuaCIKIAorI2lm
IEVOQUJMRShEUkFHX1NVUFBPUlQpCiAjaW1wb3J0ICJEcmFnRGF0YS5oIgogI2ltcG9ydCAiRnJh
bWUuaCIKICNpbXBvcnQgIkZyYW1lVmlldy5oIgpAQCAtNzYsMyArNzcsNCBAQCB2b2lkIERyYWdD
b250cm9sbGVyOjpjbGVhbnVwQWZ0ZXJTeXN0ZW1EcmFnKCkKIH0KIAogfQorI2VuZGlmIC8vIEVO
QUJMRShEUkFHX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFu
ZGxlck1hYy5tbSBiL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCmluZGV4IDU0
YmRmZjkuLjM3NDhhNDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVy
TWFjLm1tCisrKyBiL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCkBAIC02MCw3
ICs2MCw5IEBAIHN0YXRpYyBpbmxpbmUgSU1QIG1ldGhvZF9zZXRJbXBsZW1lbnRhdGlvbihNZXRo
b2QgbSwgSU1QIGkpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorI2lmIEVOQUJMRShEUkFHX1NV
UFBPUlQpCiBjb25zdCBkb3VibGUgRXZlbnRIYW5kbGVyOjpUZXh0RHJhZ0RlbGF5ID0gMC4xNTsK
KyNlbmRpZgogCiBzdGF0aWMgUmV0YWluUHRyPE5TRXZlbnQ+JiBjdXJyZW50TlNFdmVudFNsb3Qo
KQogewpAQCAtMzcyLDYgKzM3NCw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpldmVudEFjdGl2YXRl
ZFZpZXcoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVudCkgY29uc3QKICAgICByZXR1cm4g
bV9hY3RpdmF0aW9uRXZlbnROdW1iZXIgPT0gZXZlbnQuZXZlbnROdW1iZXIoKTsKIH0KIAorI2lm
IEVOQUJMRShEUkFHX1NVUFBPUlQpCiBib29sIEV2ZW50SGFuZGxlcjo6ZXZlbnRMb29wSGFuZGxl
TW91c2VEcmFnZ2VkKGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmKQogewogICAg
IE5TVmlldyAqdmlldyA9IG1vdXNlRG93blZpZXdJZlN0aWxsR29vZCgpOwpAQCAtMzk5LDYgKzQw
Miw3IEBAIFBhc3NSZWZQdHI8Q2xpcGJvYXJkPiBFdmVudEhhbmRsZXI6OmNyZWF0ZURyYWdnaW5n
Q2xpcGJvYXJkKCkgY29uc3QKICAgICBbcGFzdGVib2FyZCBkZWNsYXJlVHlwZXM6W05TQXJyYXkg
YXJyYXldIG93bmVyOm5pbF07CiAgICAgcmV0dXJuIENsaXBib2FyZE1hYzo6Y3JlYXRlKHRydWUs
IHBhc3RlYm9hcmQsIENsaXBib2FyZFdyaXRhYmxlLCBtX2ZyYW1lKTsKIH0KKyNlbmRpZiAvLyBF
TkFCTEUoRFJBR19TVVBQT1JUKQogICAgIAogYm9vbCBFdmVudEhhbmRsZXI6OmV2ZW50TG9vcEhh
bmRsZU1vdXNlVXAoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYpCiB7CkBAIC00
MzAsOCArNDM0LDEwIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpwYXNzU3ViZnJhbWVFdmVudFRvU3Vi
ZnJhbWUoTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYgZXZlCiAgICAgICAgICAgICAvLyBs
YXlvdXQgdGVzdHMuCiAgICAgICAgICAgICBpZiAoIW1fbW91c2VEb3duV2FzSW5TdWJmcmFtZSkK
ICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkK
ICAgICAgICAgICAgIGlmIChzdWJmcmFtZS0+cGFnZSgpLT5kcmFnQ29udHJvbGxlcigpLT5kaWRJ
bml0aWF0ZURyYWcoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKICAg
ICAgICAgY2FzZSBOU01vdXNlTW92ZWQ6CiAgICAgICAgICAgICAvLyBTaW5jZSB3ZSdyZSBwYXNz
aW5nIGluIGN1cnJlbnROU0V2ZW50KCkgaGVyZSwgd2UgY2FuIGNhbGwKICAgICAgICAgICAgIC8v
IGhhbmRsZU1vdXNlTW92ZUV2ZW50KCkgZGlyZWN0bHksIHNpbmNlIHRoZSBzYXZlL3Jlc3RvcmUg
b2YKQEAgLTcxOCw2ICs3MjQsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6c2VuZENvbnRleHRNZW51
RXZlbnQoTlNFdmVudCAqZXZlbnQpCiAgICAgcmV0dXJuIHNlbmRDb250ZXh0TWVudUV2ZW50KFBs
YXRmb3JtTW91c2VFdmVudChldmVudCwgcGFnZS0+Y2hyb21lKCktPnBsYXRmb3JtV2luZG93KCkp
KTsKIH0KIAorI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiBib29sIEV2ZW50SGFuZGxlcjo6ZXZl
bnRNYXlTdGFydERyYWcoTlNFdmVudCAqZXZlbnQpCiB7CiAgICAgUGFnZSogcGFnZSA9IG1fZnJh
bWUtPnBhZ2UoKTsKQEAgLTcyNSw1ICs3MzIsNiBAQCBib29sIEV2ZW50SGFuZGxlcjo6ZXZlbnRN
YXlTdGFydERyYWcoTlNFdmVudCAqZXZlbnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBy
ZXR1cm4gZXZlbnRNYXlTdGFydERyYWcoUGxhdGZvcm1Nb3VzZUV2ZW50KGV2ZW50LCBwYWdlLT5j
aHJvbWUoKS0+cGxhdGZvcm1XaW5kb3coKSkpOwogfQorI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NV
UFBPUlQpCiAKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEuY3BwIGIv
V2ViQ29yZS9wbGF0Zm9ybS9EcmFnRGF0YS5jcHAKaW5kZXggYmYyMjc1YS4uZmFhNGYxMiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnRGF0YS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9EcmFnRGF0YS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJEcmFnRGF0YS5oIgogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogI2lmICFQTEFURk9STShNQUMpCkBAIC00MCwzICs0MSw0IEBAIERy
YWdEYXRhOjpEcmFnRGF0YShEcmFnRGF0YVJlZiBkYXRhLCBjb25zdCBJbnRQb2ludCYgY2xpZW50
UG9zaXRpb24sIGNvbnN0IEludFBvCiAjZW5kaWYKIAogfQorI2VuZGlmIC8vIEVOQUJMRShEUkFH
X1NVUFBPUlQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdJbWFnZS5jcHAgYi9X
ZWJDb3JlL3BsYXRmb3JtL0RyYWdJbWFnZS5jcHAKaW5kZXggYWRmOWE1Ny4uMjI0YTdiZCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnSW1hZ2UuY3BwCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vRHJhZ0ltYWdlLmNwcApAQCAtMjUsNiArMjUsOCBAQAogCiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiRHJhZ0ltYWdlLmgiCisKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQog
I2luY2x1ZGUgIkRyYWdDb250cm9sbGVyLmgiCiAKICNpbmNsdWRlICJGcmFtZS5oIgpAQCAtNzIs
MyArNzQsNCBAQCBEcmFnSW1hZ2VSZWYgY3JlYXRlRHJhZ0ltYWdlRm9yU2VsZWN0aW9uKEZyYW1l
KiBmcmFtZSkKIH0KIAogfQorI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL0NsaXBib2FyZE1hYy5oCmluZGV4IDliZGQyNzYuLjNkM2M3OGUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL0NsaXBib2FyZE1hYy5oCkBAIC02Nyw3ICs2Nyw5IEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldERyYWdJbWFnZUVsZW1lbnQoTm9kZSAqLCBjb25zdCBJbnRQb2ludCYpOwogICAgIAogICAg
IHZpcnR1YWwgRHJhZ0ltYWdlUmVmIGNyZWF0ZURyYWdJbWFnZShJbnRQb2ludCYgZHJhZ0xvYykg
Y29uc3Q7CisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICB2aXJ0dWFsIHZvaWQgZGVjbGFy
ZUFuZFdyaXRlRHJhZ0ltYWdlKEVsZW1lbnQqLCBjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiB0
aXRsZSwgRnJhbWUqKTsKKyNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCB3cml0ZVJhbmdlKFJhbmdl
KiwgRnJhbWUqIGZyYW1lKTsKICAgICB2aXJ0dWFsIHZvaWQgd3JpdGVVUkwoY29uc3QgS1VSTCYs
IGNvbnN0IFN0cmluZyYsIEZyYW1lKiBmcmFtZSk7CiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMubW0gYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlw
Ym9hcmRNYWMubW0KaW5kZXggMGI0NjFmZC4uNzhmYjY1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLm1tCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0Ns
aXBib2FyZE1hYy5tbQpAQCAtMzY4LDEyICszNjgsMTQgQEAgdm9pZCBDbGlwYm9hcmRNYWM6Ondy
aXRlVVJMKGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSwgRnJhbWUqIGZyYW1l
KQogICAgIFBhc3RlYm9hcmQ6OndyaXRlVVJMKG1fcGFzdGVib2FyZC5nZXQoKSwgbmlsLCB1cmws
IHRpdGxlLCBmcmFtZSk7CiB9CiAgICAgCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKIHZvaWQg
Q2xpcGJvYXJkTWFjOjpkZWNsYXJlQW5kV3JpdGVEcmFnSW1hZ2UoRWxlbWVudCogZWxlbWVudCwg
Y29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBGcmFtZSogZnJhbWUpCiB7CiAg
ICAgQVNTRVJUKGZyYW1lKTsKICAgICBpZiAoUGFnZSogcGFnZSA9IGZyYW1lLT5wYWdlKCkpCiAg
ICAgICAgIHBhZ2UtPmRyYWdDb250cm9sbGVyKCktPmNsaWVudCgpLT5kZWNsYXJlQW5kV3JpdGVE
cmFnSW1hZ2UobV9wYXN0ZWJvYXJkLmdldCgpLCBraXQoZWxlbWVudCksIHVybCwgdGl0bGUsIGZy
YW1lKTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIAogRHJhZ0ltYWdl
UmVmIENsaXBib2FyZE1hYzo6Y3JlYXRlRHJhZ0ltYWdlKEludFBvaW50JiBsb2MpIGNvbnN0CiB7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9EcmFnRGF0YU1hYy5tbSBiL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL0RyYWdEYXRhTWFjLm1tCmluZGV4IGE3Yjc1MWMuLmU3NDI2MjcgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0RyYWdEYXRhTWFjLm1tCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL0RyYWdEYXRhTWFjLm1tCkBAIC0yNiw2ICsyNiw3IEBACiAjaW1wb3J0
ICJjb25maWcuaCIKICNpbXBvcnQgIkRyYWdEYXRhLmgiCiAKKyNpZiBFTkFCTEUoRFJBR19TVVBQ
T1JUKQogI2ltcG9ydCAiQ2xpcGJvYXJkTWFjLmgiCiAjaW1wb3J0ICJDbGlwYm9hcmRBY2Nlc3NQ
b2xpY3kuaCIKICNpbXBvcnQgIkRvY3VtZW50LmgiCkBAIC0xMjgsNCArMTI5LDQgQEAgUGFzc1Jl
ZlB0cjxEb2N1bWVudEZyYWdtZW50PiBEcmFnRGF0YTo6YXNGcmFnbWVudChEb2N1bWVudCopIGNv
bnN0CiB9CiAgICAgCiB9Ci0KKyNlbmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJhZ0ltYWdlTWFjLm1tIGIvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvRHJhZ0ltYWdlTWFjLm1tCmluZGV4IDg0MmU2ZDQuLjA2NTkzNGEgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0RyYWdJbWFnZU1hYy5tbQorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9EcmFnSW1hZ2VNYWMubW0KQEAgLTI2LDYgKzI2LDcgQEAKICNpbXBvcnQgImNv
bmZpZy5oIgogI2ltcG9ydCAiRHJhZ0ltYWdlLmgiCiAKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JU
KQogI2ltcG9ydCAiQ2FjaGVkSW1hZ2UuaCIKICNpbXBvcnQgIkltYWdlLmgiCiAjaW1wb3J0ICJL
VVJMLmgiCkBAIC05OSwzICsxMDAsNCBAQCBSZXRhaW5QdHI8TlNJbWFnZT4gY3JlYXRlRHJhZ0lt
YWdlSWNvbkZvckNhY2hlZEltYWdlKENhY2hlZEltYWdlKiBpbWFnZSkKIH0KICAgICAKIH0KKyNl
bmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmlu
ZGV4IGFjYzg4NzMuLjA4ZjVmNTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTEz
NDQsNyArMTM0NCw5IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmF1dG9zY3JvbGwoKQogICAgIGlmICgh
ZnJhbWVWaWV3KQogICAgICAgICByZXR1cm47CiAKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQog
ICAgIGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+dXBkYXRlU2VsZWN0aW9uRm9yTW91c2VEcmFnKCk7
CisjZW5kaWYKIAogICAgIEludFBvaW50IGN1cnJlbnREb2N1bWVudFBvc2l0aW9uID0gZnJhbWVW
aWV3LT53aW5kb3dUb0NvbnRlbnRzKGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+Y3VycmVudE1vdXNl
UG9zaXRpb24oKSk7CiAgICAgc2Nyb2xsUmVjdFRvVmlzaWJsZShJbnRSZWN0KGN1cnJlbnREb2N1
bWVudFBvc2l0aW9uLCBJbnRTaXplKDEsIDEpKSwgZmFsc2UsIFNjcm9sbEFsaWdubWVudDo6YWxp
Z25Ub0VkZ2VJZk5lZWRlZCwgU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvRWRnZUlmTmVlZGVkKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IDk1YjM4ZjAuLjRjYmM1MzAgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMTM2OSw2ICsxMzY5LDcgQEAgQ29sb3IgUmVu
ZGVyT2JqZWN0OjpzZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3IoKSBjb25zdAogICAgIHJldHVybiBj
b2xvcjsKIH0KIAorI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiBOb2RlKiBSZW5kZXJPYmplY3Q6
OmRyYWdnYWJsZU5vZGUoYm9vbCBkaHRtbE9LLCBib29sIHVhT0ssIGludCB4LCBpbnQgeSwgYm9v
bCYgZGh0bWxXaWxsRHJhZykgY29uc3QKIHsKICAgICBpZiAoIWRodG1sT0sgJiYgIXVhT0spCkBA
IC0xNDAzLDYgKzE0MDQsNyBAQCBOb2RlKiBSZW5kZXJPYmplY3Q6OmRyYWdnYWJsZU5vZGUoYm9v
bCBkaHRtbE9LLCBib29sIHVhT0ssIGludCB4LCBpbnQgeSwgYm9vbCYgZAogICAgIH0KICAgICBy
ZXR1cm4gMDsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCiB2b2lkIFJlbmRl
ck9iamVjdDo6c2VsZWN0aW9uU3RhcnRFbmQoaW50JiBzcG9zLCBpbnQmIGVwb3MpIGNvbnN0CiB7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IDBhMzQ3M2MuLmYzNjExOTggMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oCkBAIC02NjIsNyArNjYyLDkgQEAgcHVibGljOgogICAgIC8vIFdo
ZXRoZXIgb3Igbm90IGEgZ2l2ZW4gYmxvY2sgbmVlZHMgdG8gcGFpbnQgc2VsZWN0aW9uIGdhcHMu
CiAgICAgdmlydHVhbCBib29sIHNob3VsZFBhaW50U2VsZWN0aW9uR2FwcygpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CiAKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIE5vZGUqIGRyYWdn
YWJsZU5vZGUoYm9vbCBkaHRtbE9LLCBib29sIHVhT0ssIGludCB4LCBpbnQgeSwgYm9vbCYgZGh0
bWxXaWxsRHJhZykgY29uc3Q7CisjZW5kaWYKIAogICAgIC8qKgogICAgICAqIFJldHVybnMgdGhl
IGxvY2FsIGNvb3JkaW5hdGVzIG9mIHRoZSBjYXJldCB3aXRoaW4gdGhpcyByZW5kZXIgb2JqZWN0
LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwIGIvV2ViQ29y
ZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCmluZGV4IGNjMTYxYjUuLjNkNGFmZDYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAorKysgYi9XZWJDb3JlL3N2
Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKQEAgLTIyOSw3ICsyMjksMTEgQEAgYm9vbCBTVkdJbWFn
ZTo6ZGF0YUNoYW5nZWQoYm9vbCBhbGxEYXRhUmVjZWl2ZWQpCiAgICAgICAgIHN0YXRpYyBGcmFt
ZUxvYWRlckNsaWVudCogZHVtbXlGcmFtZUxvYWRlckNsaWVudCA9ICBuZXcgRW1wdHlGcmFtZUxv
YWRlckNsaWVudDsKICAgICAgICAgc3RhdGljIEVkaXRvckNsaWVudCogZHVtbXlFZGl0b3JDbGll
bnQgPSBuZXcgRW1wdHlFZGl0b3JDbGllbnQ7CiAgICAgICAgIHN0YXRpYyBDb250ZXh0TWVudUNs
aWVudCogZHVtbXlDb250ZXh0TWVudUNsaWVudCA9IG5ldyBFbXB0eUNvbnRleHRNZW51Q2xpZW50
OworI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgICAgIHN0YXRpYyBEcmFnQ2xpZW50KiBk
dW1teURyYWdDbGllbnQgPSBuZXcgRW1wdHlEcmFnQ2xpZW50OworI2Vsc2UKKyAgICAgICAgc3Rh
dGljIERyYWdDbGllbnQqIGR1bW15RHJhZ0NsaWVudCA9IDA7CisjZW5kaWYKICAgICAgICAgc3Rh
dGljIEluc3BlY3RvckNsaWVudCogZHVtbXlJbnNwZWN0b3JDbGllbnQgPSBuZXcgRW1wdHlJbnNw
ZWN0b3JDbGllbnQ7CiAKICAgICAgICAgbV9jaHJvbWVDbGllbnQuc2V0KG5ldyBTVkdJbWFnZUNo
cm9tZUNsaWVudCh0aGlzKSk7CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDRmMzExNGQuLjkzNDBhNjUgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjMgQEAKKzIwMDktMDktMTMgIEdyZWcgQm9sc2luZ2EgIDxib2xzaW5nYUBhcHBsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEVOQUJM
RShEUkFHX1NVUFBPUlQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yOTIzMworCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWc6IEFkZCBFTkFCTEVfRFJBR19TVVBQT1JULgorICAgICAgICAqIFdlYlZpZXcvV2Vi
RnJhbWUubW06IFVzZSBFTkFCTEUoRFJBR19TVVBQT1JUKSB3aGVyZSBhcHBsaWNhYmxlLgorICAg
ICAgICAqIFdlYlZpZXcvV2ViRnJhbWVJbnRlcm5hbC5oOiBEaXR0by4KKyAgICAgICAgKiBXZWJW
aWV3L1dlYkZyYW1lVmlldy5tbTogRGl0dG8uCisgICAgICAgICgtW1dlYkZyYW1lVmlldyBfc2V0
RG9jdW1lbnRWaWV3Ol0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViSFRNTFZpZXcubW06IERpdHRv
LgorICAgICAgICAoLVtXZWJIVE1MVmlldyBjbG9zZV0pOgorICAgICAgICAoLVtXZWJIVE1MVmll
dyBhY2NlcHRzRmlyc3RNb3VzZTpdKToKKyAgICAgICAgKC1bV2ViSFRNTFZpZXcgc2hvdWxkRGVs
YXlXaW5kb3dPcmRlcmluZ0ZvckV2ZW50Ol0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5t
bTogRGl0dG8uCisgICAgICAgICgtW1dlYlZpZXcgbW92ZURyYWdDYXJldFRvUG9pbnQ6XSk6Cisg
ICAgICAgICgtW1dlYlZpZXcgcmVtb3ZlRHJhZ0NhcmV0XSk6CisKIDIwMDktMDktMTEgIE1hcmsg
Um93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBKb24gSG9uZXlj
dXR0LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZyBiL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKaW5kZXggMGU2NzM2OC4uZDU3OTYyOSAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9XZWJLaXQvbWFjL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0zOSw2ICszOSw3IEBAIEVOQUJM
RV9EQVRBQkFTRSA9IEVOQUJMRV9EQVRBQkFTRTsKIEVOQUJMRV9EQVRBR1JJRCA9IEVOQUJMRV9E
QVRBR1JJRDsKIEVOQUJMRV9EQVRBTElTVCA9IEVOQUJMRV9EQVRBTElTVDsKIEVOQUJMRV9ET01f
U1RPUkFHRSA9IEVOQUJMRV9ET01fU1RPUkFHRTsKK0VOQUJMRV9EUkFHX1NVUFBPUlQgPSBFTkFC
TEVfRFJBR19TVVBQT1JUOwogRU5BQkxFX0VWRU5UU09VUkNFID0gRU5BQkxFX0VWRU5UU09VUkNF
OwogRU5BQkxFX0ZJTFRFUlMgPSA7CiBFTkFCTEVfR0VPTE9DQVRJT04gPSA7CkBAIC02Miw0ICs2
Myw0IEBAIEVOQUJMRV9XT1JLRVJTID0gRU5BQkxFX1dPUktFUlM7CiBFTkFCTEVfWFBBVEggPSBF
TkFCTEVfWFBBVEg7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9DQU5WQVMpICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBR1JJRCkg
JChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9FVkVOVFNP
VVJDRSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lD
T05EQVRBQkFTRSkgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKSAkKEVOQUJMRV9SVUJZ
KSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfQU5J
TUFUSU9OKSAkKEVOQUJMRV9TVkdfQVNfSU1BR0UpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5E
SU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1QpICQo
RU5BQkxFX1NWR19VU0UpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChF
TkFCTEVfV01MKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YUEFUSCkgJChFTkFCTEVfWFNM
VCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9DQU5WQVMpICQoRU5BQkxFXzNEX1JF
TkRFUklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0RBVEFCQVNFKSAk
KEVOQUJMRV9EQVRBR1JJRCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RPTV9TVE9SQUdF
KSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAkKEVOQUJMRV9G
SUxURVJTKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVO
QUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxFX1NIQVJF
RF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19BTklNQVRJT04pICQoRU5BQkxF
X1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCkgJChFTkFCTEVfU1ZHX1VTRSkg
JChFTkFCTEVfVklERU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XTUwpICQoRU5B
QkxFX1dPUktFUlMpICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBh
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbSBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJG
cmFtZS5tbQppbmRleCBjMDNlZjU4Li43ZmUxMDJhIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViRnJhbWUubW0KKysrIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCkBA
IC05MjEsNiArOTIxLDcgQEAgc3RhdGljIGlubGluZSBXZWJEYXRhU291cmNlICpkYXRhU291cmNl
KERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiAgICAgX3ByaXZhdGUtPmNvcmVGcmFtZS0+Y29tcHV0
ZUFuZFNldFR5cGluZ1N0eWxlKGNvcmUoc3R5bGUpLCB1bmRvQWN0aW9uKTsKIH0KIAorI2lmIEVO
QUJMRShEUkFHX1NVUFBPUlQpCiAtICh2b2lkKV9kcmFnU291cmNlTW92ZWRUbzooTlNQb2ludCl3
aW5kb3dMb2MKIHsKICAgICBpZiAoIV9wcml2YXRlLT5jb3JlRnJhbWUpCkBAIC05NDgsNiArOTQ5
LDcgQEAgc3RhdGljIGlubGluZSBXZWJEYXRhU291cmNlICpkYXRhU291cmNlKERvY3VtZW50TG9h
ZGVyKiBsb2FkZXIpCiAgICAgICAgIExlZnRCdXR0b24sIE1vdXNlRXZlbnRNb3ZlZCwgMCwgZmFs
c2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGN1cnJlbnRUaW1lKCkpOwogICAgIF9wcml2YXRlLT5j
b3JlRnJhbWUtPmV2ZW50SGFuZGxlcigpLT5kcmFnU291cmNlRW5kZWRBdChldmVudCwgKERyYWdP
cGVyYXRpb24pb3BlcmF0aW9uKTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQog
CiAtIChCT09MKV9jYW5Qcm92aWRlRG9jdW1lbnRTb3VyY2UKIHsKZGlmZiAtLWdpdCBhL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJGcmFtZUludGVybmFsLmggYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
RnJhbWVJbnRlcm5hbC5oCmluZGV4IDEwYTMwMTUuLmM3MjM3NjAgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJGcmFtZUludGVybmFsLmgKKysrIGIvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYkZyYW1lSW50ZXJuYWwuaApAQCAtMTU1LDggKzE1NSwxMCBAQCBXZWJWaWV3ICpnZXRXZWJW
aWV3KFdlYkZyYW1lICp3ZWJGcmFtZSk7CiAtIChET01DU1NTdHlsZURlY2xhcmF0aW9uICopX3R5
cGluZ1N0eWxlOwogLSAodm9pZClfc2V0VHlwaW5nU3R5bGU6KERPTUNTU1N0eWxlRGVjbGFyYXRp
b24gKilzdHlsZSB3aXRoVW5kb0FjdGlvbjooV2ViQ29yZTo6RWRpdEFjdGlvbil1bmRvQWN0aW9u
OwogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKIC0gKHZvaWQpX2RyYWdTb3VyY2VNb3ZlZFRv
OihOU1BvaW50KXdpbmRvd0xvYzsKIC0gKHZvaWQpX2RyYWdTb3VyY2VFbmRlZEF0OihOU1BvaW50
KXdpbmRvd0xvYyBvcGVyYXRpb246KE5TRHJhZ09wZXJhdGlvbilvcGVyYXRpb247CisjZW5kaWYK
IAogLSAoQk9PTClfY2FuUHJvdmlkZURvY3VtZW50U291cmNlOwogLSAoQk9PTClfY2FuU2F2ZUFz
V2ViQXJjaGl2ZTsKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZVZpZXcu
bW0gYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVWaWV3Lm1tCmluZGV4IGMzMDA1ODYuLjMz
YmQ5YjcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZVZpZXcubW0KKysr
IGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lVmlldy5tbQpAQCAtMTMwLDcgKzEzMCw5IEBA
IGVudW0gewogLSAodm9pZClfc2V0RG9jdW1lbnRWaWV3OihOU1ZpZXcgPFdlYkRvY3VtZW50Vmll
dz4gKil2aWV3CiB7CiAgICAgV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3ICpzdiA9IFtzZWxmIF9z
Y3JvbGxWaWV3XTsKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIGNvcmUoW3NlbGYgX3dl
YlZpZXddKS0+ZHJhZ0NvbnRyb2xsZXIoKS0+c2V0RGlkSW5pdGlhdGVEcmFnKGZhbHNlKTsKKyNl
bmRpZgogICAgIAogICAgIFtzdiBzZXRTdXBwcmVzc0xheW91dDpZRVNdOwogICAgIApkaWZmIC0t
Z2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tIGIvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYkhUTUxWaWV3Lm1tCmluZGV4IDk0NDQ1NmQuLjc5ODhlYjUgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViSFRNTFZpZXcubW0KQEAgLTE5NzcsOSArMTk3NywxMSBAQCBzdGF0aWMgdm9pZCBfdXBkYXRl
TW91c2VvdmVyVGltZXJDYWxsYmFjayhDRlJ1bkxvb3BUaW1lclJlZiB0aW1lciwgdm9pZCAqaW5m
bykKIAogICAgIFtfcHJpdmF0ZSBjbGVhcl07CiAKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQog
ICAgIFBhZ2UqIHBhZ2UgPSBjb3JlKFtzZWxmIF93ZWJWaWV3XSk7CiAgICAgaWYgKHBhZ2UpCiAg
ICAgICAgIHBhZ2UtPmRyYWdDb250cm9sbGVyKCktPnNldERyYWdnaW5nSW1hZ2VVUkwoS1VSTCgp
KTsKKyNlbmRpZgogfQogCiAtIChCT09MKV9oYXNIVE1MRG9jdW1lbnQKQEAgLTIxOTcsNiArMjE5
OSw3IEBAIHN0YXRpYyB2b2lkIF91cGRhdGVNb3VzZW92ZXJUaW1lckNhbGxiYWNrKENGUnVuTG9v
cFRpbWVyUmVmIHRpbWVyLCB2b2lkICppbmZvKQogCiBAZW5kCiAKKyNpZiBFTkFCTEUoRFJBR19T
VVBQT1JUKQogc3RhdGljIGJvb2wgbWF0Y2hlc0V4dGVuc2lvbk9yRXF1aXZhbGVudChOU1N0cmlu
ZyAqZmlsZW5hbWUsIE5TU3RyaW5nICpleHRlbnNpb24pCiB7CiAgICAgTlNTdHJpbmcgKmV4dGVu
c2lvbkFzU3VmZml4ID0gW0AiLiIgc3RyaW5nQnlBcHBlbmRpbmdTdHJpbmc6ZXh0ZW5zaW9uXTsK
QEAgLTIyMDQsNiArMjIwNyw3IEBAIHN0YXRpYyBib29sIG1hdGNoZXNFeHRlbnNpb25PckVxdWl2
YWxlbnQoTlNTdHJpbmcgKmZpbGVuYW1lLCBOU1N0cmluZyAqZXh0ZW5zaW9uCiAgICAgICAgIHx8
IChbZXh0ZW5zaW9uIF93ZWJraXRfaXNDYXNlSW5zZW5zaXRpdmVFcXVhbFRvU3RyaW5nOkAianBl
ZyJdCiAgICAgICAgICAgICAmJiBbZmlsZW5hbWUgX3dlYmtpdF9oYXNDYXNlSW5zZW5zaXRpdmVT
dWZmaXg6QCIuanBnIl0pOwogfQorI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAKICNp
ZmRlZiBCVUlMRElOR19PTl9USUdFUgogCkBAIC0zMzA0LDggKzMzMDgsMTAgQEAgV0VCQ09SRV9D
T01NQU5EKHlhbmtBbmRTZWxlY3QpCiAgICAgICAgIGlmIChGcmFtZSogY29yZUZyYW1lID0gY29y
ZShbaGl0SFRNTFZpZXcgX2ZyYW1lXSkpIHsKICAgICAgICAgICAgIGNvcmVGcmFtZS0+ZXZlbnRI
YW5kbGVyKCktPnNldEFjdGl2YXRpb25FdmVudE51bWJlcihbZXZlbnQgZXZlbnROdW1iZXJdKTsK
ICAgICAgICAgICAgIFtoaXRIVE1MVmlldyBfc2V0TW91c2VEb3duRXZlbnQ6ZXZlbnRdOworI2lm
IEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgICAgICAgICBpZiAoW2hpdEhUTUxWaWV3IF9pc1Nl
bGVjdGlvbkV2ZW50OmV2ZW50XSkKICAgICAgICAgICAgICAgICByZXN1bHQgPSBjb3JlRnJhbWUt
PmV2ZW50SGFuZGxlcigpLT5ldmVudE1heVN0YXJ0RHJhZyhldmVudCk7CisjZW5kaWYKICAgICAg
ICAgICAgIFtoaXRIVE1MVmlldyBfc2V0TW91c2VEb3duRXZlbnQ6bmlsXTsKICAgICAgICAgfQog
ICAgICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMzMyNCw2ICszMzMwLDcgQEAgV0VCQ09SRV9DT01N
QU5EKHlhbmtBbmRTZWxlY3QpCiAgICAgV2ViSFRNTFZpZXcgKmhpdEhUTUxWaWV3ID0gW2hpdFZp
ZXcgaXNLaW5kT2ZDbGFzczpbc2VsZiBjbGFzc11dID8gKFdlYkhUTUxWaWV3ICopaGl0VmlldyA6
IG5pbDsKICAgICBpZiAoaGl0SFRNTFZpZXcpIHsKICAgICAgICAgYm9vbCByZXN1bHQgPSBmYWxz
ZTsKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgICAgICBpZiAoW2hpdEhUTUxWaWV3IF9p
c1NlbGVjdGlvbkV2ZW50OmV2ZW50XSkgewogICAgICAgICAgICAgaWYgKEZyYW1lKiBjb3JlRnJh
bWUgPSBjb3JlKFtoaXRIVE1MVmlldyBfZnJhbWVdKSkgewogICAgICAgICAgICAgICAgIFtoaXRI
VE1MVmlldyBfc2V0TW91c2VEb3duRXZlbnQ6ZXZlbnRdOwpAQCAtMzMzMSw2ICszMzM4LDcgQEAg
V0VCQ09SRV9DT01NQU5EKHlhbmtBbmRTZWxlY3QpCiAgICAgICAgICAgICAgICAgW2hpdEhUTUxW
aWV3IF9zZXRNb3VzZURvd25FdmVudDpuaWxdOwogICAgICAgICAgICAgfQogICAgICAgICB9Cisj
ZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAg
ICB9CiAgICAgcmV0dXJuIFtoaXRWaWV3IHNob3VsZERlbGF5V2luZG93T3JkZXJpbmdGb3JFdmVu
dDpldmVudF07CkBAIC0zNDExLDYgKzM0MTksNyBAQCBkb25lOgogICAgIFtzZWxmIHJlbGVhc2Vd
OwogfQogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKIC0gKE5TRHJhZ09wZXJhdGlvbilkcmFn
Z2luZ1NvdXJjZU9wZXJhdGlvbk1hc2tGb3JMb2NhbDooQk9PTClpc0xvY2FsCiB7CiAgICAgQVNT
RVJUKCFbc2VsZiBfd2ViVmlld10gfHwgW3NlbGYgX2lzVG9wSFRNTFZpZXddKTsKQEAgLTM1Mjgs
NiArMzUzNyw3IEBAIG5vUHJvbWlzZWREYXRhOgogICAgIAogICAgIHJldHVybiBbTlNBcnJheSBh
cnJheVdpdGhPYmplY3Q6W3BhdGggbGFzdFBhdGhDb21wb25lbnRdXTsKIH0KKyNlbmRpZiAvLyBF
TkFCTEUoRFJBR19TVVBQT1JUKQogCiAtICh2b2lkKW1vdXNlVXA6KE5TRXZlbnQgKilldmVudAog
ewpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBiN2VkYThlLi4zNWQwMDNjIDEwMDY0NAotLS0gYS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbQpAQCAtMTY1NywxMiArMTY1NywxNCBAQCBzdGF0aWMgaW5saW5lIElNUCBnZXRNZXRo
b2QoaWQgbywgU0VMIHMpCiAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlczp0eXBlc107CiB9
CiAKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogLSAodm9pZClfc2V0SW5pdGlhdGVkRHJhZzoo
Qk9PTClpbml0aWF0ZWREcmFnCiB7CiAgICAgaWYgKCFfcHJpdmF0ZS0+cGFnZSkKICAgICAgICAg
cmV0dXJuOwogICAgIF9wcml2YXRlLT5wYWdlLT5kcmFnQ29udHJvbGxlcigpLT5zZXREaWRJbml0
aWF0ZURyYWcoaW5pdGlhdGVkRHJhZyk7CiB9CisjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9S
VCkKIAogI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKIApAQCAtMzE0NCw2ICszMTQ2LDcg
QEAgc3RhdGljIGJvb2wgbmVlZHNXZWJWaWV3SW5pdFRocmVhZFdvcmthcm91bmQoKQogICAgIHJl
dHVybiBbc2VsZiBfZWxlbWVudEF0V2luZG93UG9pbnQ6W3NlbGYgY29udmVydFBvaW50OnBvaW50
IHRvVmlldzpuaWxdXTsKIH0KIAorI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAvLyBUaGUgZm9s
bG93aW5nIDIgaW50ZXJuYWwgTlNWaWV3IG1ldGhvZHMgYXJlIGNhbGxlZCBvbiB0aGUgZHJhZyBk
ZXN0aW5hdGlvbiB0byBtYWtlIHNjcm9sbGluZyB3aGlsZSBkcmFnZ2luZyB3b3JrLgogLy8gU2Ny
b2xsaW5nIHdoaWxlIGRyYWdnaW5nIHdpbGwgb25seSB3b3JrIGlmIHRoZSBkcmFnIGRlc3RpbmF0
aW9uIGlzIGluIGEgc2Nyb2xsIHZpZXcuIFRoZSBXZWJWaWV3IGlzIHRoZSBkcmFnIGRlc3RpbmF0
aW9uLiAKIC8vIFdoZW4gZHJhZ2dpbmcgdG8gYSBXZWJWaWV3LCB0aGUgZG9jdW1lbnQgc3Vidmll
dyBzaG91bGQgc2Nyb2xsLCBidXQgaXQgZG9lc24ndCBiZWNhdXNlIGl0IGlzIG5vdCB0aGUgZHJh
ZyBkZXN0aW5hdGlvbi4gCkBAIC0zMjEyLDYgKzMyMTUsNyBAQCBzdGF0aWMgYm9vbCBuZWVkc1dl
YlZpZXdJbml0VGhyZWFkV29ya2Fyb3VuZCgpCiAgICAgRHJhZ0RhdGEgZHJhZ0RhdGEoZHJhZ2dp
bmdJbmZvLCBjbGllbnQsIGdsb2JhbCwgKERyYWdPcGVyYXRpb24pW2RyYWdnaW5nSW5mbyBkcmFn
Z2luZ1NvdXJjZU9wZXJhdGlvbk1hc2tdLCAmaGVscGVyKTsKICAgICByZXR1cm4gY29yZShzZWxm
KS0+ZHJhZ0NvbnRyb2xsZXIoKS0+cGVyZm9ybURyYWcoJmRyYWdEYXRhKTsKIH0KKyNlbmRpZiAv
LyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCiAtIChOU1ZpZXcgKilfaGl0VGVzdDooTlNQb2ludCAq
KXBvaW50IGRyYWdUeXBlczooTlNTZXQgKil0eXBlcwogewpAQCAtMzM5MiwxNCArMzM5NiwxOCBA
QCBzdGF0aWMgV2ViRnJhbWUgKmluY3JlbWVudEZyYW1lKFdlYkZyYW1lICpmcmFtZSwgQk9PTCBm
b3J3YXJkLCBCT09MIHdyYXBGbGFnKQogCiAtICh2b2lkKW1vdmVEcmFnQ2FyZXRUb1BvaW50OihO
U1BvaW50KXBvaW50CiB7CisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBpZiAoUGFnZSog
cGFnZSA9IGNvcmUoc2VsZikpCiAgICAgICAgIHBhZ2UtPmRyYWdDb250cm9sbGVyKCktPnBsYWNl
RHJhZ0NhcmV0KEludFBvaW50KFtzZWxmIGNvbnZlcnRQb2ludDpwb2ludCB0b1ZpZXc6bmlsXSkp
OworI2VuZGlmCiB9CiAKIC0gKHZvaWQpcmVtb3ZlRHJhZ0NhcmV0CiB7CisjaWYgRU5BQkxFKERS
QUdfU1VQUE9SVCkKICAgICBpZiAoUGFnZSogcGFnZSA9IGNvcmUoc2VsZikpCiAgICAgICAgIHBh
Z2UtPmRyYWdDb250cm9sbGVyKCktPmRyYWdFbmRlZCgpOworI2VuZGlmCiB9CiAKIC0gKHZvaWQp
c2V0TWFpbkZyYW1lVVJMOihOU1N0cmluZyAqKVVSTFN0cmluZwpkaWZmIC0tZ2l0IGEvV2ViS2l0
VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGY1NmIzODYuLmUx
NTE1ZmUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAwOS0wOS0xMyAgR3JlZyBCb2xzaW5nYSAg
PGJvbHNpbmdhQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgRU5BQkxFKERSQUdfU1VQUE9SVCkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MjMzCisgICAgICAgIAorICAgICAgICBB
bGxvdyBFTkFCTEVfRFJBR19TVVBQT1JUIHRvIGJlIHNldCBmcm9tIGJ1aWxkLXdlYmtpdC4KKwor
ICAgICAgICAqIFNjcmlwdHMvYnVpbGQtd2Via2l0OgorCiAyMDA5LTA5LTEzICBYYW4gTG9wZXog
IDx4bG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXggZm9yIEdUSysgPCAyLjE0
LgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQgYi9XZWJLaXRU
b29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAppbmRleCAzOWUxNzk4Li5kNzQwNDFhIDEwMDc1NQot
LS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAorKysgYi9XZWJLaXRUb29scy9T
Y3JpcHRzL2J1aWxkLXdlYmtpdApAQCAtNDksNyArNDksNyBAQCBteSAkbWFrZUFyZ3M7CiBteSAk
c3RhcnRUaW1lID0gdGltZSgpOwogCiBteSAoJHRocmVlRENhbnZhc1N1cHBvcnQsICR0aHJlZURS
ZW5kZXJpbmdTdXBwb3J0LCAkY2hhbm5lbE1lc3NhZ2luZ1N1cHBvcnQsICRkYXRhYmFzZVN1cHBv
cnQsICRkYXRhZ3JpZFN1cHBvcnQsICRkb21TdG9yYWdlU3VwcG9ydCwKLSAgICAkZXZlbnRzb3Vy
Y2VTdXBwb3J0LCAkZmlsdGVyc1N1cHBvcnQsICRnZW9sb2NhdGlvblN1cHBvcnQsICRpY29uRGF0
YWJhc2VTdXBwb3J0LAorICAgICRkcmFnU3VwcG9ydCwgJGV2ZW50c291cmNlU3VwcG9ydCwgJGZp
bHRlcnNTdXBwb3J0LCAkZ2VvbG9jYXRpb25TdXBwb3J0LCAkaWNvbkRhdGFiYXNlU3VwcG9ydCwK
ICAgICAkamF2YVNjcmlwdERlYnVnZ2VyU3VwcG9ydCwgJG9mZmxpbmVXZWJBcHBsaWNhdGlvblN1
cHBvcnQsICRydWJ5U3VwcG9ydCwgJHNoYXJlZFdvcmtlcnNTdXBwb3J0LCAKICAgICAkc3ZnU3Vw
cG9ydCwgJHN2Z0FuaW1hdGlvblN1cHBvcnQsICRzdmdBc0ltYWdlU3VwcG9ydCwgJHN2Z0RPTU9i
akNCaW5kaW5nc1N1cHBvcnQsICRzdmdGb250c1N1cHBvcnQsCiAgICAgJHN2Z0ZvcmVpZ25PYmpl
Y3RTdXBwb3J0LCAkc3ZnVXNlU3VwcG9ydCwgJHZpZGVvU3VwcG9ydCwgJHdlYlNvY2tldHNTdXBw
b3J0LCAkd21sU3VwcG9ydCwgJHdjc3NTdXBwb3J0LCAkeGh0bWxtcFN1cHBvcnQsICR3b3JrZXJz
U3VwcG9ydCwKQEAgLTc3LDYgKzc3LDkgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9u
ID0+ICJkb20tc3RvcmFnZSIsIGRlc2MgPT4gIlRvZ2dsZSBET00gU3RvcmFnZSBTdXBwb3J0IiwK
ICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0RPTV9TVE9SQUdFIiwgZGVmYXVsdCA9PiAxLCB2YWx1
ZSA9PiBcJGRvbVN0b3JhZ2VTdXBwb3J0IH0sCiAKKyAgICB7IG9wdGlvbiA9PiAiZHJhZ3N1cHBv
cnQiLCBkZXNjID0+ICJUb2dnbGUgRHJhZyBTdXBwb3J0IiwKKyAgICAgIGRlZmluZSA9PiAiRU5B
QkxFX0RSQUdfU1VQUE9SVCIsIGRlZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCRkcmFnU3VwcG9ydCB9
LAorCiAgICAgeyBvcHRpb24gPT4gImV2ZW50c291cmNlIiwgZGVzYyA9PiAiVG9nZ2xlIHNlcnZl
ci1zZW50IGV2ZW50cyBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0VWRU5UU09V
UkNFIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGV2ZW50c291cmNlU3VwcG9ydCB9LAogCi0t
IAoxLjYuMy4zCgo=
</data>
<flag name="review"
          id="20627"
          type_id="1"
          status="-"
          setter="mrowe"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39553</attachid>
            <date>2009-09-14 10:40:54 -0700</date>
            <delta_ts>2009-09-14 11:28:31 -0700</delta_ts>
            <desc>Address Mark&apos;s comments.</desc>
            <filename>0001-Add-ENABLE-DRAG_SUPPORT.patch</filename>
            <type>text/plain</type>
            <size>46815</size>
            <attacher name="Greg Bolsinga">bolsinga</attacher>
            
              <data encoding="base64">RnJvbSAxNmI0YzlhZmZhZTM5ODU0MzY4NzFiYWI5ZjI3NzdlZWFmYTU2YWQ0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHcmVnIEJvbHNpbmdhIDxib2xzaW5nYUBhcHBsZS5jb20+CkRh
dGU6IE1vbiwgMTQgU2VwIDIwMDkgMTA6MzI6MjkgLTA3MDAKU3ViamVjdDogW1BBVENIXSBBZGQg
RU5BQkxFKERSQUdfU1VQUE9SVCkKIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yOTIzMwoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpKYXZhU2NyaXB0Q29yZToK
Ciogd3RmL1BsYXRmb3JtLmg6CgpXZWJDb3JlOgoKTm8gbmV3IHRlc3RzLiAoTm8gY2hhbmdlIGlu
IGRlZmF1bHQgYmVoYXZpb3IuKQoKKiBEZXJpdmVkU291cmNlcy5tYWtlOiBVc2UgbmV3IFdlYkNv
cmUuRHJhZ1N1cHBvcnQuZXhwIGZpbGUgaWYgRU5BQkxFX0RSQUdfU1VQUE9SVC4KKiBXZWJDb3Jl
LmJhc2UuZXhwOiBNb3ZlIERyYWcgU3VwcG9ydCBvbmx5IGV4cG9ydHMgdG8gV2ViQ29yZS5EcmFn
U3VwcG9ydC5leHAuCiogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBZGQgV2Vi
Q29yZS5EcmFnU3VwcG9ydC5leHAuCiogZG9tL0NsaXBib2FyZC5oOiBVc2UgRU5BQkxFKERSQUdf
U1VQUE9SVCkgd2hlcmUgYXBwbGljYWJsZS4KKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6IERpdHRv
LgoqIHBhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwOiBXcmFwIGVudGlyZSBmaWxlIGluIEVOQUJMRShE
UkFHX1NVUFBPUlQpLgoqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDogVXNlIEVOQUJMRShEUkFHX1NV
UFBPUlQpIHdoZXJlIGFwcGxpY2FibGUuCihXZWJDb3JlOjpFdmVudEhhbmRsZXI6OkV2ZW50SGFu
ZGxlcik6CihXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmNsZWFyKToKKFdlYkNvcmU6OkV2ZW50SGFu
ZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KToKKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFu
ZGxlTW91c2VSZWxlYXNlRXZlbnQpOgooV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3Vz
ZU1vdmVFdmVudCk6CiogcGFnZS9FdmVudEhhbmRsZXIuaDogRGl0dG8uCiogcGFnZS9QYWdlLmNw
cDogRGl0dG8uCihXZWJDb3JlOjpQYWdlOjpQYWdlKToKKiBwYWdlL1BhZ2UuaDogRGl0dG8uCiog
cGFnZS9tYWMvRHJhZ0NvbnRyb2xsZXJNYWMubW06IFdyYXAgZW50aXJlIGZpbGUgaW4gRU5BQkxF
KERSQUdfU1VQUE9SVCkuCiogcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tOiBVc2UgRU5BQkxF
KERSQUdfU1VQUE9SVCkgd2hlcmUgYXBwbGljYWJsZS4KKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6
cGFzc1N1YmZyYW1lRXZlbnRUb1N1YmZyYW1lKToKKiBwbGF0Zm9ybS9EcmFnRGF0YS5jcHA6IFdy
YXAgZW50aXJlIGZpbGUgaW4gRU5BQkxFKERSQUdfU1VQUE9SVCkuCiogcGxhdGZvcm0vRHJhZ0lt
YWdlLmNwcDogV3JhcCBlbnRpcmUgZmlsZSBpbiBFTkFCTEUoRFJBR19TVVBQT1JUKS4KKiBwbGF0
Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLmg6IFVzZSBFTkFCTEUoRFJBR19TVVBQT1JUKSB3aGVyZSBh
cHBsaWNhYmxlLgoqIHBsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMubW06IERpdHRvLgoqIHBsYXRm
b3JtL21hYy9EcmFnRGF0YU1hYy5tbTogV3JhcCBlbnRpcmUgZmlsZSBpbiBFTkFCTEUoRFJBR19T
VVBQT1JUKS4KKiBwbGF0Zm9ybS9tYWMvRHJhZ0ltYWdlTWFjLm1tOiBXcmFwIGVudGlyZSBmaWxl
IGluIEVOQUJMRShEUkFHX1NVUFBPUlQpLgoqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6IFVz
ZSBFTkFCTEUoRFJBR19TVVBQT1JUKSB3aGVyZSBhcHBsaWNhYmxlLgooV2ViQ29yZTo6UmVuZGVy
TGF5ZXI6OmF1dG9zY3JvbGwpOgoqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOiBEaXR0by4K
KiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6IERpdHRvLgoqIHN2Zy9ncmFwaGljcy9TVkdJbWFn
ZS5jcHA6IERpdHRvLgooV2ViQ29yZTo6U1ZHSW1hZ2U6OmRhdGFDaGFuZ2VkKToKCldlYktpdC9t
YWM6CgoqIFdlYlZpZXcvV2ViRnJhbWUubW06IFVzZSBFTkFCTEUoRFJBR19TVVBQT1JUKSB3aGVy
ZSBhcHBsaWNhYmxlLgoqIFdlYlZpZXcvV2ViRnJhbWVJbnRlcm5hbC5oOiBEaXR0by4KKiBXZWJW
aWV3L1dlYkZyYW1lVmlldy5tbTogRGl0dG8uCigtW1dlYkZyYW1lVmlldyBfc2V0RG9jdW1lbnRW
aWV3Ol0pOgoqIFdlYlZpZXcvV2ViSFRNTFZpZXcubW06IERpdHRvLgooLVtXZWJIVE1MVmlldyBj
bG9zZV0pOgooLVtXZWJIVE1MVmlldyBhY2NlcHRzRmlyc3RNb3VzZTpdKToKKC1bV2ViSFRNTFZp
ZXcgc2hvdWxkRGVsYXlXaW5kb3dPcmRlcmluZ0ZvckV2ZW50Ol0pOgoqIFdlYlZpZXcvV2ViVmll
dy5tbTogRGl0dG8uCigtW1dlYlZpZXcgbW92ZURyYWdDYXJldFRvUG9pbnQ6XSk6CigtW1dlYlZp
ZXcgcmVtb3ZlRHJhZ0NhcmV0XSk6Ci0tLQogSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nICAgICAg
ICAgICAgICAgICAgfCAgICA5ICsrKysrKwogSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgg
ICAgICAgICAgICAgfCAgICA1ICsrKwogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDQxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UgICAgICAgICAgICAgICB8ICAgIDQgKysrCiBXZWJDb3JlL1dlYkNv
cmUuRHJhZ1N1cHBvcnQuZXhwICAgICAgICAgICB8ICAgMTAgKysrKysrKwogV2ViQ29yZS9XZWJD
b3JlLmJhc2UuZXhwICAgICAgICAgICAgICAgICAgfCAgIDEwIC0tLS0tLS0KIFdlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIHwgICAgMiArCiBXZWJDb3JlL2RvbS9DbGlw
Ym9hcmQuaCAgICAgICAgICAgICAgICAgICB8ICAgIDIgKwogV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmggICAgICAgICAgICAgfCAgICAyICsKIFdlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxl
ci5jcHAgICAgICAgICAgIHwgICAgMiArCiBXZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCAg
ICAgICAgICAgICB8ICAgMzIgKysrKysrKysrKysrKysrKysrKysrKwogV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5oICAgICAgICAgICAgICAgfCAgIDMyICsrKysrKysrKysrKysrKysrKysrKysK
IFdlYkNvcmUvcGFnZS9QYWdlLmNwcCAgICAgICAgICAgICAgICAgICAgIHwgICAgNSArKysKIFdl
YkNvcmUvcGFnZS9QYWdlLmggICAgICAgICAgICAgICAgICAgICAgIHwgICAgNCArKysKIFdlYkNv
cmUvcGFnZS9tYWMvRHJhZ0NvbnRyb2xsZXJNYWMubW0gICAgIHwgICAgMiArCiBXZWJDb3JlL3Bh
Z2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbSAgICAgICB8ICAgIDggKysrKysKIFdlYkNvcmUvcGxh
dGZvcm0vRHJhZ0RhdGEuY3BwICAgICAgICAgICAgIHwgICAgMiArCiBXZWJDb3JlL3BsYXRmb3Jt
L0RyYWdJbWFnZS5jcHAgICAgICAgICAgICB8ICAgIDMgKysKIFdlYkNvcmUvcGxhdGZvcm0vbWFj
L0NsaXBib2FyZE1hYy5oICAgICAgIHwgICAgMiArCiBXZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlw
Ym9hcmRNYWMubW0gICAgICB8ICAgIDIgKwogV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJhZ0RhdGFN
YWMubW0gICAgICAgfCAgICAzICstCiBXZWJDb3JlL3BsYXRmb3JtL21hYy9EcmFnSW1hZ2VNYWMu
bW0gICAgICB8ICAgIDIgKwogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwICAgICAg
ICAgfCAgICAyICsKIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgICAgICAgIHwg
ICAgMiArCiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCAgICAgICAgICB8ICAgIDIg
KwogV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwICAgICAgICAgfCAgICA0ICsrKwog
V2ViS2l0L21hYy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgfCAgIDE5ICsrKysrKysr
KysrKysKIFdlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbSAgICAgICAgICAgIHwgICAgMiAr
CiBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVJbnRlcm5hbC5oICAgICB8ICAgIDIgKwogV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lVmlldy5tbSAgICAgICAgfCAgICAyICsKIFdlYktpdC9t
YWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbSAgICAgICAgIHwgICAxMCArKysrKysrCiBXZWJLaXQv
bWFjL1dlYlZpZXcvV2ViVmlldy5tbSAgICAgICAgICAgICB8ICAgIDggKysrKysKIDMyIGZpbGVz
IGNoYW5nZWQsIDIyNiBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBXZWJDb3JlL1dlYkNvcmUuRHJhZ1N1cHBvcnQuZXhwCgpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDE0
NDI2ODQuLjg0NTkyNDQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysg
Yi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAwOS0wOS0xNCAg
R3JlZyBCb2xzaW5nYSAgPGJvbHNpbmdhQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgRU5BQkxFKERSQUdfU1VQUE9SVCkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MjMzCisKKyAg
ICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKwogMjAwOS0wOS0xNCAgQ3NhYmEgT3N6dHJvZ29uYWMg
IDxvc3ppQGluZi51LXN6ZWdlZC5odT4KIAogICAgICAgICBSZXZpZXdlZCBieSBUb3IgQXJuZSBW
ZXN0YsO4LgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmggYi9KYXZh
U2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAppbmRleCA4NDJmZmJkLi5lODE0YjQxIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAorKysgYi9KYXZhU2NyaXB0Q29yZS93
dGYvUGxhdGZvcm0uaApAQCAtNDEwLDYgKzQxMCw3IEBACiAjaWYgUExBVEZPUk0oSVBIT05FKQog
I2RlZmluZSBXVEZfUExBVEZPUk1fQ0YgMQogI2RlZmluZSBXVEZfVVNFX1BUSFJFQURTIDEKKyNk
ZWZpbmUgRU5BQkxFX0RSQUdfU1VQUE9SVCAwCiAjZGVmaW5lIEVOQUJMRV9GVFBESVIgMQogI2Rl
ZmluZSBFTkFCTEVfTUFDX0pBVkFfQlJJREdFIDAKICNkZWZpbmUgRU5BQkxFX0lDT05EQVRBQkFT
RSAwCkBAIC01NTIsNiArNTUzLDEwIEBACiAjZGVmaW5lIEVOQUJMRV9GVFBESVIgMQogI2VuZGlm
CiAKKyNpZiAhZGVmaW5lZChFTkFCTEVfRFJBR19TVVBQT1JUKQorI2RlZmluZSBFTkFCTEVfRFJB
R19TVVBQT1JUIDEKKyNlbmRpZgorCiAjaWYgIWRlZmluZWQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQ
T1JUKQogI2RlZmluZSBFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgMAogI2VuZGlmCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDkzNTBiZjIu
LjM2YTBhZTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDQgQEAKKzIwMDktMDktMTQgIEdyZWcgQm9sc2luZ2EgIDxib2xz
aW5nYUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIEVOQUJMRShEUkFHX1NVUFBPUlQpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTIzMworCisgICAgICAgIE5vIG5ldyB0ZXN0cy4g
KE5vIGNoYW5nZSBpbiBkZWZhdWx0IGJlaGF2aW9yLikKKworICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLm1ha2U6IFVzZSBuZXcgV2ViQ29yZS5EcmFnU3VwcG9ydC5leHAgZmlsZSBpZiBFTkFCTEVf
RFJBR19TVVBQT1JULgorICAgICAgICAqIFdlYkNvcmUuYmFzZS5leHA6IE1vdmUgRHJhZyBTdXBw
b3J0IG9ubHkgZXhwb3J0cyB0byBXZWJDb3JlLkRyYWdTdXBwb3J0LmV4cC4KKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFkZCBXZWJDb3JlLkRyYWdTdXBwb3J0
LmV4cC4KKyAgICAgICAgKiBkb20vQ2xpcGJvYXJkLmg6IFVzZSBFTkFCTEUoRFJBR19TVVBQT1JU
KSB3aGVyZSBhcHBsaWNhYmxlLgorICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDogRGl0
dG8uCisgICAgICAgICogcGFnZS9EcmFnQ29udHJvbGxlci5jcHA6IFdyYXAgZW50aXJlIGZpbGUg
aW4gRU5BQkxFKERSQUdfU1VQUE9SVCkuCisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3Bw
OiBVc2UgRU5BQkxFKERSQUdfU1VQUE9SVCkgd2hlcmUgYXBwbGljYWJsZS4KKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50SGFuZGxlcjo6RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50SGFuZGxlcjo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5k
bGVNb3VzZVByZXNzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5k
bGVNb3VzZVJlbGVhc2VFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6Omhh
bmRsZU1vdXNlTW92ZUV2ZW50KToKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5oOiBEaXR0
by4KKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlBh
Z2U6OlBhZ2UpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOiBEaXR0by4KKyAgICAgICAgKiBwYWdl
L21hYy9EcmFnQ29udHJvbGxlck1hYy5tbTogV3JhcCBlbnRpcmUgZmlsZSBpbiBFTkFCTEUoRFJB
R19TVVBQT1JUKS4KKyAgICAgICAgKiBwYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW06IFVzZSBF
TkFCTEUoRFJBR19TVVBQT1JUKSB3aGVyZSBhcHBsaWNhYmxlLgorICAgICAgICAoV2ViQ29yZTo6
RXZlbnRIYW5kbGVyOjpwYXNzU3ViZnJhbWVFdmVudFRvU3ViZnJhbWUpOgorICAgICAgICAqIHBs
YXRmb3JtL0RyYWdEYXRhLmNwcDogV3JhcCBlbnRpcmUgZmlsZSBpbiBFTkFCTEUoRFJBR19TVVBQ
T1JUKS4KKyAgICAgICAgKiBwbGF0Zm9ybS9EcmFnSW1hZ2UuY3BwOiBXcmFwIGVudGlyZSBmaWxl
IGluIEVOQUJMRShEUkFHX1NVUFBPUlQpLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9DbGlwYm9h
cmRNYWMuaDogVXNlIEVOQUJMRShEUkFHX1NVUFBPUlQpIHdoZXJlIGFwcGxpY2FibGUuCisgICAg
ICAgICogcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5tbTogRGl0dG8uCisgICAgICAgICogcGxh
dGZvcm0vbWFjL0RyYWdEYXRhTWFjLm1tOiBXcmFwIGVudGlyZSBmaWxlIGluIEVOQUJMRShEUkFH
X1NVUFBPUlQpLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9EcmFnSW1hZ2VNYWMubW06IFdyYXAg
ZW50aXJlIGZpbGUgaW4gRU5BQkxFKERSQUdfU1VQUE9SVCkuCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcDogVXNlIEVOQUJMRShEUkFHX1NVUFBPUlQpIHdoZXJlIGFwcGxpY2Fi
bGUuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6YXV0b3Njcm9sbCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuaDogRGl0dG8uCisgICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdl
LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZTo6ZGF0YUNoYW5nZWQpOgor
CiAyMDA5LTA5LTE0ICBDYW1lcm9uIE1jQ29ybWFjayAgPGNhbUBtY2MuaWQuYXU+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UgYi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZmFlNzVlMy4u
NDUxZDY4OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNzYyLDYgKzc2MiwxMCBAQCBpZmVxICgkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCksIDEpCiAgICAgV0VCQ09SRV9FWFBPUlRfREVQRU5ERU5D
SUVTIDo9ICQoV0VCQ09SRV9FWFBPUlRfREVQRU5ERU5DSUVTKSBXZWJDb3JlLkRhc2hib2FyZFN1
cHBvcnQuZXhwCiBlbmRpZgogCitpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxFX0RSQUdfU1VQUE9S
VCwkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfRFJBR19TVVBQT1JUKQorICAgIFdFQkNPUkVf
RVhQT1JUX0RFUEVOREVOQ0lFUyA6PSAkKFdFQkNPUkVfRVhQT1JUX0RFUEVOREVOQ0lFUykgV2Vi
Q29yZS5EcmFnU3VwcG9ydC5leHAKK2VuZGlmCisKIGlmZXEgKCQoZmluZHN0cmluZyAxMC40LCQo
TUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUKSksIDEwLjQpCiAgICAgV0VCQ09SRV9FWFBPUlRfREVQ
RU5ERU5DSUVTIDo9ICQoV0VCQ09SRV9FWFBPUlRfREVQRU5ERU5DSUVTKSBXZWJDb3JlLlRpZ2Vy
LmV4cAogZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5EcmFnU3VwcG9ydC5leHAg
Yi9XZWJDb3JlL1dlYkNvcmUuRHJhZ1N1cHBvcnQuZXhwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjJjZmQwNzYKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL1dlYkNvcmUu
RHJhZ1N1cHBvcnQuZXhwCkBAIC0wLDAgKzEsMTAgQEAKK19fWk43V2ViQ29yZTEyRXZlbnRIYW5k
bGVyMTdkcmFnU291cmNlRW5kZWRBdEVSS05TXzE4UGxhdGZvcm1Nb3VzZUV2ZW50RU5TXzEzRHJh
Z09wZXJhdGlvbkUKK19fWk43V2ViQ29yZTEyRXZlbnRIYW5kbGVyMTdkcmFnU291cmNlTW92ZWRU
b0VSS05TXzE4UGxhdGZvcm1Nb3VzZUV2ZW50RQorX19aTjdXZWJDb3JlMTJFdmVudEhhbmRsZXIx
N2V2ZW50TWF5U3RhcnREcmFnRVA3TlNFdmVudAorX19aTjdXZWJDb3JlMTREcmFnQ29udHJvbGxl
cjEwZHJhZ0V4aXRlZEVQTlNfOERyYWdEYXRhRQorX19aTjdXZWJDb3JlMTREcmFnQ29udHJvbGxl
cjExZHJhZ0VudGVyZWRFUE5TXzhEcmFnRGF0YUUKK19fWk43V2ViQ29yZTE0RHJhZ0NvbnRyb2xs
ZXIxMWRyYWdVcGRhdGVkRVBOU184RHJhZ0RhdGFFCitfX1pON1dlYkNvcmUxNERyYWdDb250cm9s
bGVyMTFwZXJmb3JtRHJhZ0VQTlNfOERyYWdEYXRhRQorX19aTjdXZWJDb3JlMTREcmFnQ29udHJv
bGxlcjE0cGxhY2VEcmFnQ2FyZXRFUktOU184SW50UG9pbnRFCitfX1pON1dlYkNvcmUxNERyYWdD
b250cm9sbGVyOWRyYWdFbmRlZEV2CitfX1pON1dlYkNvcmU4RHJhZ0RhdGFDMUVQMTFvYmpjX29i
amVjdFJLTlNfOEludFBvaW50RVM1X05TXzEzRHJhZ09wZXJhdGlvbkVQTlNfMTZQYXN0ZWJvYXJk
SGVscGVyRQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwIGIvV2ViQ29yZS9X
ZWJDb3JlLmJhc2UuZXhwCmluZGV4IDc0Y2YzMzUuLmNiYzBlYzUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvV2ViQ29yZS5iYXNlLmV4cAorKysgYi9XZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAKQEAgLTIy
Myw5ICsyMjMsNiBAQCBfX1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjEybW91c2VEcmFnZ2VkRVA3
TlNFdmVudAogX19aTjdXZWJDb3JlMTJFdmVudEhhbmRsZXIxNGN1cnJlbnROU0V2ZW50RXYKIF9f
Wk43V2ViQ29yZTEyRXZlbnRIYW5kbGVyMTRzY3JvbGxPdmVyZmxvd0VOU18xNVNjcm9sbERpcmVj
dGlvbkVOU18xN1Njcm9sbEdyYW51bGFyaXR5RQogX19aTjdXZWJDb3JlMTJFdmVudEhhbmRsZXIx
NXNlbmRTY3JvbGxFdmVudEV2Ci1fX1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjE3ZHJhZ1NvdXJj
ZUVuZGVkQXRFUktOU18xOFBsYXRmb3JtTW91c2VFdmVudEVOU18xM0RyYWdPcGVyYXRpb25FCi1f
X1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjE3ZHJhZ1NvdXJjZU1vdmVkVG9FUktOU18xOFBsYXRm
b3JtTW91c2VFdmVudEUKLV9fWk43V2ViQ29yZTEyRXZlbnRIYW5kbGVyMTdldmVudE1heVN0YXJ0
RHJhZ0VQN05TRXZlbnQKIF9fWk43V2ViQ29yZTEyRXZlbnRIYW5kbGVyMjBoYW5kbGVUZXh0SW5w
dXRFdmVudEVSS05TXzZTdHJpbmdFUE5TXzVFdmVudEViYgogX19aTjdXZWJDb3JlMTJFdmVudEhh
bmRsZXIyMGhpdFRlc3RSZXN1bHRBdFBvaW50RVJLTlNfOEludFBvaW50RWJiTlNfMTdIaXRUZXN0
U2Nyb2xsYmFyc0UKIF9fWk43V2ViQ29yZTEyRXZlbnRIYW5kbGVyMjBzZW5kQ29udGV4dE1lbnVF
dmVudEVQN05TRXZlbnQKQEAgLTMwMSwxMiArMjk4LDYgQEAgX19aTjdXZWJDb3JlMTREb2N1bWVu
dExvYWRlcjhzZXRGcmFtZUVQTlNfNUZyYW1lRQogX19aTjdXZWJDb3JlMTREb2N1bWVudExvYWRl
cjhzZXRUaXRsZUVSS05TXzZTdHJpbmdFCiBfX1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyQzJF
UktOU18xNVJlc291cmNlUmVxdWVzdEVSS05TXzE0U3Vic3RpdHV0ZURhdGFFCiBfX1pON1dlYkNv
cmUxNERvY3VtZW50TG9hZGVyRDJFdgotX19aTjdXZWJDb3JlMTREcmFnQ29udHJvbGxlcjEwZHJh
Z0V4aXRlZEVQTlNfOERyYWdEYXRhRQotX19aTjdXZWJDb3JlMTREcmFnQ29udHJvbGxlcjExZHJh
Z0VudGVyZWRFUE5TXzhEcmFnRGF0YUUKLV9fWk43V2ViQ29yZTE0RHJhZ0NvbnRyb2xsZXIxMWRy
YWdVcGRhdGVkRVBOU184RHJhZ0RhdGFFCi1fX1pON1dlYkNvcmUxNERyYWdDb250cm9sbGVyMTFw
ZXJmb3JtRHJhZ0VQTlNfOERyYWdEYXRhRQotX19aTjdXZWJDb3JlMTREcmFnQ29udHJvbGxlcjE0
cGxhY2VEcmFnQ2FyZXRFUktOU184SW50UG9pbnRFCi1fX1pON1dlYkNvcmUxNERyYWdDb250cm9s
bGVyOWRyYWdFbmRlZEV2CiBfX1pON1dlYkNvcmUxNFJlc291cmNlSGFuZGxlMTJyZWxlYXNlUHJv
eHlFdgogX19aTjdXZWJDb3JlMTRSZXNvdXJjZUhhbmRsZTIwZm9yY2VDb250ZW50U25pZmZpbmdF
dgogX19aTjdXZWJDb3JlMTRSZXNvdXJjZUxvYWRlcjE0Y2FuY2VsbGVkRXJyb3JFdgpAQCAtNjI0
LDcgKzYxNSw2IEBAIF9fWk43V2ViQ29yZThEb2N1bWVudDIzcmVuZGVyZWRSZWN0c0Zvck1hcmtl
cnNFTlNfMTREb2N1bWVudE1hcmtlcjEwTWFya2VyVHlwZUUKIF9fWk43V2ViQ29yZThEb2N1bWVu
dDI0c2V0U2hvdWxkQ3JlYXRlUmVuZGVyZXJzRWIKIF9fWk43V2ViQ29yZThEb2N1bWVudDM2dXBk
YXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzRXYKIF9fWk43V2ViQ29yZThEb2N1bWVu
dDRoZWFkRXYKLV9fWk43V2ViQ29yZThEcmFnRGF0YUMxRVAxMW9iamNfb2JqZWN0UktOU184SW50
UG9pbnRFUzVfTlNfMTNEcmFnT3BlcmF0aW9uRVBOU18xNlBhc3RlYm9hcmRIZWxwZXJFCiBfX1pO
N1dlYkNvcmU4Rm9ybURhdGFEMUV2CiBfX1pON1dlYkNvcmU4SW50UG9pbnRDMUVSSzhfTlNQb2lu
dAogX19aTjdXZWJDb3JlOFBvc2l0aW9uQzFFTjNXVEYxMFBhc3NSZWZQdHJJTlNfNE5vZGVFRUVp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDI5NTY0OTYu
LmIwZWFhNGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC05ODM2LDYgKzk4MzYsNyBAQAogCQlGRTgwREE2MjBFOUM0NzAzMDAwRDZGNzUgLyogSlNHZW9w
b3NpdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0dlb3Bvc2l0aW9u
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFODBEQTZEMEU5QzQ3MkYwMDBENkY3
NSAvKiBKU1Bvc2l0aW9uRXJyb3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNQb3NpdGlvbkVycm9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RkU4MERBNkUwRTlDNDcyRjAwMEQ2Rjc1IC8qIEpTUG9zaXRpb25FcnJvci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU1Bvc2l0aW9uRXJyb3IuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJRkVBNDEzM0YxMDVENjdBRTAwMDcyMzZGIC8qIFdlYkNvcmUuRHJhZ1N1
cHBvcnQuZXhwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5leHBvcnRzOyBwYXRoID0gV2ViQ29yZS5E
cmFnU3VwcG9ydC5leHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFQUI5MDEwMEVB
NTFCOUMwMDYzNDhDMyAvKiBHZW9sb2NhdGlvblNlcnZpY2UuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gR2VvbG9jYXRpb25TZXJ2aWNlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRkVBQjkwMTEwRUE1MUI5QzAwNjM0OEMzIC8qIEdlb2xvY2F0aW9u
U2VydmljZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZW9sb2NhdGlvblNl
cnZpY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIC8qIEVuZCBQQlhGaWxlUmVmZXJl
bmNlIHNlY3Rpb24gKi8KQEAgLTEwNDM1LDYgKzEwNDM2LDcgQEAKIAkJCWNoaWxkcmVuID0gKAog
CQkJCUY1OEVGNThFMDJERkRGQjcwMTg2MzVDQSAvKiBXZWJDb3JlLmJhc2UuZXhwICovLAogCQkJ
CTQ0OTE5NTlEMEZCRTE3RDcwMEQ5RjgyNCAvKiBXZWJDb3JlLkRhc2hib2FyZFN1cHBvcnQuZXhw
ICovLAorCQkJCUZFQTQxMzNGMTA1RDY3QUUwMDA3MjM2RiAvKiBXZWJDb3JlLkRyYWdTdXBwb3J0
LmV4cCAqLywKIAkJCQk0NDkxOTU5QzBGQkUxN0Q3MDBEOUY4MjQgLyogV2ViQ29yZS5KTkkuZXhw
ICovLAogCQkJCTQ0OTE5NTlCMEZCRTE3RDcwMEQ5RjgyNCAvKiBXZWJDb3JlLkxQNjQuZXhwICov
LAogCQkJCTQ0OTE5NTlBMEZCRTE3RDcwMEQ5RjgyNCAvKiBXZWJDb3JlLk5QQVBJLmV4cCAqLywK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0NsaXBib2FyZC5oIGIvV2ViQ29yZS9kb20vQ2xpcGJv
YXJkLmgKaW5kZXggMGZlYTYwNC4uZjZjMDliMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vQ2xp
cGJvYXJkLmgKKysrIGIvV2ViQ29yZS9kb20vQ2xpcGJvYXJkLmgKQEAgLTY0LDcgKzY0LDkgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0RHJhZ0ltYWdlRWxl
bWVudChOb2RlKiwgY29uc3QgSW50UG9pbnQmKSA9IDA7CiAgICAgICAgIAogICAgICAgICB2aXJ0
dWFsIERyYWdJbWFnZVJlZiBjcmVhdGVEcmFnSW1hZ2UoSW50UG9pbnQmIGRyYWdMb2NhdGlvbikg
Y29uc3QgPSAwOworI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBkZWNsYXJlQW5kV3JpdGVEcmFnSW1hZ2UoRWxlbWVudCosIGNvbnN0IEtVUkwmLCBjb25zdCBT
dHJpbmcmIHRpdGxlLCBGcmFtZSopID0gMDsKKyNlbmRpZgogICAgICAgICB2aXJ0dWFsIHZvaWQg
d3JpdGVVUkwoY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYsIEZyYW1lKikgPSAwOwogICAgICAg
ICB2aXJ0dWFsIHZvaWQgd3JpdGVSYW5nZShSYW5nZSosIEZyYW1lKikgPSAwOwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5oCmluZGV4IGMwOGUyNjEuLjllYjA1MDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9h
ZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBA
IC00MzYsNiArNDM2LDcgQEAgcHVibGljOgogI2VuZGlmCiB9OwogCisjaWYgRU5BQkxFKERSQUdf
U1VQUE9SVCkKIGNsYXNzIEVtcHR5RHJhZ0NsaWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50IHsKIHB1
YmxpYzoKICAgICB2aXJ0dWFsIH5FbXB0eURyYWdDbGllbnQoKSB7fQpAQCAtNDQ3LDYgKzQ0OCw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIERyYWdJbWFnZVJlZiBjcmVhdGVEcmFnSW1hZ2VGb3JM
aW5rKEtVUkwmLCBjb25zdCBTdHJpbmcmLCBGcmFtZSopIHsgcmV0dXJuIDA7IH0KICAgICB2aXJ0
dWFsIHZvaWQgZHJhZ0NvbnRyb2xsZXJEZXN0cm95ZWQoKSB7IH0KIH07CisjZW5kaWYgLy8gRU5B
QkxFKERSQUdfU1VQUE9SVCkKIAogY2xhc3MgRW1wdHlJbnNwZWN0b3JDbGllbnQgOiBwdWJsaWMg
SW5zcGVjdG9yQ2xpZW50IHsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9EcmFn
Q29udHJvbGxlci5jcHAgYi9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCmluZGV4IDk3
ZjUzYTUuLjAxZjRiZDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5j
cHAKKysrIGIvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcApAQCAtMjYsNiArMjYsNyBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRyYWdDb250cm9sbGVyLmgiCiAKKyNp
ZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogI2luY2x1ZGUgIkNTU1N0eWxlRGVjbGFyYXRpb24uaCIK
ICNpbmNsdWRlICJDbGlwYm9hcmQuaCIKICNpbmNsdWRlICJDbGlwYm9hcmRBY2Nlc3NQb2xpY3ku
aCIKQEAgLTc4NSwzICs3ODYsNCBAQCB2b2lkIERyYWdDb250cm9sbGVyOjpwbGFjZURyYWdDYXJl
dChjb25zdCBJbnRQb2ludCYgd2luZG93UG9pbnQpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKyNlbmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
YWdlL0V2ZW50SGFuZGxlci5jcHAgYi9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRl
eCBlOWRkM2JmLi4zMWYyYTQyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtNzgsNiArNzgsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKKyNp
ZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogLy8gVGhlIGxpbmsgZHJhZyBoeXN0ZXJlc2lzIGlzIG11
Y2ggbGFyZ2VyIHRoYW4gdGhlIG90aGVycyBiZWNhdXNlIHRoZXJlCiAvLyBuZWVkcyB0byBiZSBl
bm91Z2ggc3BhY2UgdG8gY2FuY2VsIHRoZSBsaW5rIHByZXNzIHdpdGhvdXQgc3RhcnRpbmcgYSBs
aW5rIGRyYWcsCiAvLyBhbmQgYmVjYXVzZSBkcmFnZ2luZyBsaW5rcyBpcyByYXJlLgpAQCAtODUs
NiArODYsNyBAQCBjb25zdCBpbnQgTGlua0RyYWdIeXN0ZXJlc2lzID0gNDA7CiBjb25zdCBpbnQg
SW1hZ2VEcmFnSHlzdGVyZXNpcyA9IDU7CiBjb25zdCBpbnQgVGV4dERyYWdIeXN0ZXJlc2lzID0g
MzsKIGNvbnN0IGludCBHZW5lcmFsRHJhZ0h5c3RlcmVzaXMgPSAzOworI2VuZGlmIC8vIEVOQUJM
RShEUkFHX1NVUFBPUlQpCiAKIC8vIE1hdGNoIGtleSBjb2RlIG9mIGNvbXBvc2l0aW9uIGtleWRv
d24gZXZlbnQgb24gd2luZG93cy4KIC8vIElFIHNlbmRzIFZLX1BST0NFU1NLRVkgd2hpY2ggaGFz
IHZhbHVlIDIyOTsKQEAgLTEzNiw3ICsxMzgsOSBAQCBFdmVudEhhbmRsZXI6OkV2ZW50SGFuZGxl
cihGcmFtZSogZnJhbWUpCiAgICAgLCBtX21vdXNlUHJlc3NlZChmYWxzZSkKICAgICAsIG1fY2Fw
dHVyZXNEcmFnZ2luZyhmYWxzZSkKICAgICAsIG1fbW91c2VEb3duTWF5U3RhcnRTZWxlY3QoZmFs
c2UpCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICAsIG1fbW91c2VEb3duTWF5U3RhcnRE
cmFnKGZhbHNlKQorI2VuZGlmCiAgICAgLCBtX21vdXNlRG93bldhc1NpbmdsZUNsaWNrSW5TZWxl
Y3Rpb24oZmFsc2UpCiAgICAgLCBtX2JlZ2FuU2VsZWN0aW5nVGV4dChmYWxzZSkKICAgICAsIG1f
cGFuU2Nyb2xsSW5Qcm9ncmVzcyhmYWxzZSkKQEAgLTE2OSwxMSArMTczLDEzIEBAIEV2ZW50SGFu
ZGxlcjo6fkV2ZW50SGFuZGxlcigpCiB7CiB9CiAgICAgCisjaWYgRU5BQkxFKERSQUdfU1VQUE9S
VCkKIEV2ZW50SGFuZGxlcjo6RXZlbnRIYW5kbGVyRHJhZ1N0YXRlJiBFdmVudEhhbmRsZXI6OmRy
YWdTdGF0ZSgpCiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChFdmVudEhhbmRsZXJEcmFnU3Rh
dGUsIHN0YXRlLCAoKSk7CiAgICAgcmV0dXJuIHN0YXRlOwogfQorI2VuZGlmIC8vIEVOQUJMRShE
UkFHX1NVUFBPUlQpCiAgICAgCiB2b2lkIEV2ZW50SGFuZGxlcjo6Y2xlYXIoKQogewpAQCAtMTkw
LDcgKzE5Niw5IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpjbGVhcigpCiAgICAgbV9jbGlja0NvdW50
ID0gMDsKICAgICBtX2NsaWNrTm9kZSA9IDA7CiAgICAgbV9mcmFtZVNldEJlaW5nUmVzaXplZCA9
IDA7CisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBtX2RyYWdUYXJnZXQgPSAwOworI2Vu
ZGlmCiAgICAgbV9jdXJyZW50TW91c2VQb3NpdGlvbiA9IEludFBvaW50KCk7CiAgICAgbV9tb3Vz
ZVByZXNzTm9kZSA9IDA7CiAgICAgbV9tb3VzZVByZXNzZWQgPSBmYWxzZTsKQEAgLTM0NCw4ICsz
NTIsMTAgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUHJlc3NFdmVudFNpbmdsZUNs
aWNrKGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFIKIAogYm9vbCBFdmVudEhhbmRsZXI6Omhh
bmRsZU1vdXNlUHJlc3NFdmVudChjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiBl
dmVudCkKIHsKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIC8vIFJlc2V0IGRyYWcgc3Rh
dGUuCiAgICAgZHJhZ1N0YXRlKCkubV9kcmFnU3JjID0gMDsKKyNlbmRpZgogCiAgICAgaWYgKFNj
cm9sbFZpZXcqIHNjcm9sbFZpZXcgPSBtX2ZyYW1lLT52aWV3KCkpIHsKICAgICAgICAgaWYgKHNj
cm9sbFZpZXctPmlzUG9pbnRJblNjcm9sbGJhckNvcm5lcihldmVudC5ldmVudCgpLnBvcygpKSkK
QEAgLTM1OCw4ICszNjgsMTAgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUHJlc3NF
dmVudChjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiBldmUKICAgICAvLyBzbyBp
dCdzIGFsbG93ZWQgdG8gc3RhcnQgYSBkcmFnIG9yIHNlbGVjdGlvbi4KICAgICBtX21vdXNlRG93
bk1heVN0YXJ0U2VsZWN0ID0gY2FuTW91c2VEb3duU3RhcnRTZWxlY3QoZXZlbnQudGFyZ2V0Tm9k
ZSgpKTsKICAgICAKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIC8vIENhcmVmdWwgdGhh
dCB0aGUgZHJhZyBzdGFydGluZyBsb2dpYyBzdGF5cyBpbiBzeW5jIHdpdGggZXZlbnRNYXlTdGFy
dERyYWcoKQogICAgIG1fbW91c2VEb3duTWF5U3RhcnREcmFnID0gc2luZ2xlQ2xpY2s7CisjZW5k
aWYKIAogICAgIG1fbW91c2VEb3duV2FzU2luZ2xlQ2xpY2tJblNlbGVjdGlvbiA9IGZhbHNlOwog
CkBAIC0zODcsNyArMzk5LDkgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUHJlc3NF
dmVudChjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiBldmUKICAgICBOb2RlKiBp
bm5lck5vZGUgPSBldmVudC50YXJnZXROb2RlKCk7CiAKICAgICBtX21vdXNlUHJlc3NOb2RlID0g
aW5uZXJOb2RlOworI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgbV9kcmFnU3RhcnRQb3Mg
PSBldmVudC5ldmVudCgpLnBvcygpOworI2VuZGlmCiAKICAgICBib29sIHN3YWxsb3dFdmVudCA9
IGZhbHNlOwogICAgIG1fZnJhbWUtPnNlbGVjdGlvbigpLT5zZXRDYXJldEJsaW5raW5nU3VzcGVu
ZGVkKHRydWUpOwpAQCAtNDA3LDYgKzQyMSw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVN
b3VzZVByZXNzRXZlbnQoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYgZXZlCiAg
ICAgcmV0dXJuIHN3YWxsb3dFdmVudDsKIH0KIAorI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiBi
b29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VEcmFnZ2VkRXZlbnQoY29uc3QgTW91c2VFdmVu
dFdpdGhIaXRUZXN0UmVzdWx0cyYgZXZlbnQpCiB7CiAgICAgaWYgKGhhbmRsZURyYWcoZXZlbnQp
KQpAQCAtNTQ2LDYgKzU2MSw3IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjp1cGRhdGVTZWxlY3Rpb25G
b3JNb3VzZURyYWcoTm9kZSogdGFyZ2V0Tm9kZSwgY29uc3QgSW50UG9pbnQmCiAgICAgICAgIG1f
ZnJhbWUtPnNlbGVjdGlvbigpLT5zZXRTZWxlY3Rpb24obmV3U2VsZWN0aW9uKTsKICAgICB9CiB9
CisjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICAKIGJvb2wgRXZlbnRIYW5kbGVy
OjpoYW5kbGVNb3VzZVVwKGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGV2ZW50
KQogewpAQCAtNTczLDcgKzU4OSw5IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVJl
bGVhc2VFdmVudChjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiBlCiAgICAgbV9m
cmFtZS0+c2VsZWN0aW9uKCktPnNldENhcmV0QmxpbmtpbmdTdXNwZW5kZWQoZmFsc2UpOwogICAg
IG1fbW91c2VQcmVzc2VkID0gZmFsc2U7CiAgICAgbV9jYXB0dXJlc0RyYWdnaW5nID0gZmFsc2U7
CisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBtX21vdXNlRG93bk1heVN0YXJ0RHJhZyA9
IGZhbHNlOworI2VuZGlmCiAgICAgbV9tb3VzZURvd25NYXlTdGFydFNlbGVjdCA9IGZhbHNlOwog
ICAgIG1fbW91c2VEb3duTWF5U3RhcnRBdXRvc2Nyb2xsID0gZmFsc2U7CiAgICAgbV9tb3VzZURv
d25XYXNJblN1YmZyYW1lID0gZmFsc2U7CkBAIC01ODUsNyArNjAzLDkgQEAgYm9vbCBFdmVudEhh
bmRsZXI6OmhhbmRsZU1vdXNlUmVsZWFzZUV2ZW50KGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVz
dFJlc3VsdHMmIGUKICAgICAvLyBvbiB0aGUgc2VsZWN0aW9uLCB0aGUgc2VsZWN0aW9uIGdvZXMg
YXdheS4gIEhvd2V2ZXIsIGlmIHdlIGFyZQogICAgIC8vIGVkaXRpbmcsIHBsYWNlIHRoZSBjYXJl
dC4KICAgICBpZiAobV9tb3VzZURvd25XYXNTaW5nbGVDbGlja0luU2VsZWN0aW9uICYmICFtX2Jl
Z2FuU2VsZWN0aW5nVGV4dAorI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgICAgICAgICAm
JiBtX2RyYWdTdGFydFBvcyA9PSBldmVudC5ldmVudCgpLnBvcygpCisjZW5kaWYKICAgICAgICAg
ICAgICYmIG1fZnJhbWUtPnNlbGVjdGlvbigpLT5pc1JhbmdlKCkKICAgICAgICAgICAgICYmIGV2
ZW50LmV2ZW50KCkuYnV0dG9uKCkgIT0gUmlnaHRCdXR0b24pIHsKICAgICAgICAgVmlzaWJsZVNl
bGVjdGlvbiBuZXdTZWxlY3Rpb247CkBAIC03MjgsNiArNzQ4LDcgQEAgdm9pZCBFdmVudEhhbmRs
ZXI6OnNldEF1dG9zY3JvbGxSZW5kZXJlcihSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogICAgIG1f
YXV0b3Njcm9sbFJlbmRlcmVyID0gcmVuZGVyZXI7CiB9CiAKKyNpZiBFTkFCTEUoRFJBR19TVVBQ
T1JUKQogdm9pZCBFdmVudEhhbmRsZXI6OmFsbG93REhUTUxEcmFnKGJvb2wmIGZsYWdESFRNTCwg
Ym9vbCYgZmxhZ1VBKSBjb25zdAogewogICAgIGZsYWdESFRNTCA9IGZhbHNlOwpAQCAtNzQ4LDYg
Kzc2OSw3IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjphbGxvd0RIVE1MRHJhZyhib29sJiBmbGFnREhU
TUwsIGJvb2wmIGZsYWdVQSkgY29uc3QKICAgICBmbGFnREhUTUwgPSAobWFzayAmIERyYWdTb3Vy
Y2VBY3Rpb25ESFRNTCkgIT0gRHJhZ1NvdXJjZUFjdGlvbk5vbmU7CiAgICAgZmxhZ1VBID0gKCht
YXNrICYgRHJhZ1NvdXJjZUFjdGlvbkltYWdlKSB8fCAobWFzayAmIERyYWdTb3VyY2VBY3Rpb25M
aW5rKSB8fCAobWFzayAmIERyYWdTb3VyY2VBY3Rpb25TZWxlY3Rpb24pKTsKIH0KKyNlbmRpZiAv
LyBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIAogSGl0VGVzdFJlc3VsdCBFdmVudEhhbmRsZXI6
OmhpdFRlc3RSZXN1bHRBdFBvaW50KGNvbnN0IEludFBvaW50JiBwb2ludCwgYm9vbCBhbGxvd1No
YWRvd0NvbnRlbnQsIGJvb2wgaWdub3JlQ2xpcHBpbmcsIEhpdFRlc3RTY3JvbGxiYXJzIHRlc3RT
Y3JvbGxiYXJzKQogewpAQCAtMTEwNCw3ICsxMTI2LDkgQEAgYm9vbCBFdmVudEhhbmRsZXI6Omhh
bmRsZU1vdXNlUHJlc3NFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIG1vdXNlRXZlbnQp
CiAgICAgbV9jYXB0dXJlc0RyYWdnaW5nID0gdHJ1ZTsKICAgICBtX2N1cnJlbnRNb3VzZVBvc2l0
aW9uID0gbW91c2VFdmVudC5wb3MoKTsKICAgICBtX21vdXNlRG93blRpbWVzdGFtcCA9IG1vdXNl
RXZlbnQudGltZXN0YW1wKCk7CisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBtX21vdXNl
RG93bk1heVN0YXJ0RHJhZyA9IGZhbHNlOworI2VuZGlmCiAgICAgbV9tb3VzZURvd25NYXlTdGFy
dFNlbGVjdCA9IGZhbHNlOwogICAgIG1fbW91c2VEb3duTWF5U3RhcnRBdXRvc2Nyb2xsID0gZmFs
c2U7CiAgICAgaWYgKEZyYW1lVmlldyogdmlldyA9IG1fZnJhbWUtPnZpZXcoKSkKQEAgLTEzODAs
OCArMTQwNCwxMCBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VNb3ZlRXZlbnQoY29u
c3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBtb3VzZUV2ZW50LCBIaQogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICAKICAgICBzd2FsbG93RXZlbnQgPSBkaXNwYXRjaE1vdXNlRXZlbnQoZXZlbnROYW1l
cygpLm1vdXNlbW92ZUV2ZW50LCBtZXYudGFyZ2V0Tm9kZSgpLCBmYWxzZSwgMCwgbW91c2VFdmVu
dCwgdHJ1ZSk7CisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBpZiAoIXN3YWxsb3dFdmVu
dCkKICAgICAgICAgc3dhbGxvd0V2ZW50ID0gaGFuZGxlTW91c2VEcmFnZ2VkRXZlbnQobWV2KTsK
KyNlbmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCiAgICAgcmV0dXJuIHN3YWxsb3dFdmVu
dDsKIH0KQEAgLTE0NTEsNiArMTQ3Nyw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3Vz
ZVJlbGVhc2VFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIG1vdXNlRXZlbnQpCiAgICAg
cmV0dXJuIHN3YWxsb3dNb3VzZVVwRXZlbnQgfHwgc3dhbGxvd0NsaWNrRXZlbnQgfHwgc3dhbGxv
d01vdXNlUmVsZWFzZUV2ZW50OwogfQogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKIGJvb2wg
RXZlbnRIYW5kbGVyOjpkaXNwYXRjaERyYWdFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50
VHlwZSwgTm9kZSogZHJhZ1RhcmdldCwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVudCwg
Q2xpcGJvYXJkKiBjbGlwYm9hcmQpCiB7CiAgICAgRnJhbWVWaWV3KiB2aWV3ID0gbV9mcmFtZS0+
dmlldygpOwpAQCAtMTU1OCw2ICsxNTg1LDcgQEAgdm9pZCBFdmVudEhhbmRsZXI6OmNsZWFyRHJh
Z1N0YXRlKCkKICAgICBtX3NlbmRpbmdFdmVudFRvU3VidmlldyA9IGZhbHNlOwogI2VuZGlmCiB9
CisjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKIAogdm9pZCBFdmVudEhhbmRsZXI6OnNl
dENhcHR1cmluZ01vdXNlRXZlbnRzTm9kZShQYXNzUmVmUHRyPE5vZGU+IG4pCiB7CkBAIC0xODY0
LDYgKzE4OTIsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6Y2FuTW91c2VEb3duU3RhcnRTZWxlY3Qo
Tm9kZSogbm9kZSkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorI2lmIEVOQUJMRShEUkFHX1NVUFBP
UlQpCiBib29sIEV2ZW50SGFuZGxlcjo6Y2FuTW91c2VEcmFnRXh0ZW5kU2VsZWN0KE5vZGUqIG5v
ZGUpCiB7CiAgICAgaWYgKCFub2RlIHx8ICFub2RlLT5yZW5kZXJlcigpKQpAQCAtMTg3Niw2ICsx
OTA1LDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmNhbk1vdXNlRHJhZ0V4dGVuZFNlbGVjdChOb2Rl
KiBub2RlKQogCiAgICAgcmV0dXJuIHRydWU7CiB9CisjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQ
UE9SVCkKIAogdm9pZCBFdmVudEhhbmRsZXI6OnNldFJlc2l6aW5nRnJhbWVTZXQoSFRNTEZyYW1l
U2V0RWxlbWVudCogZnJhbWVTZXQpCiB7CkBAIC0yMDkyLDYgKzIxMjIsNyBAQCB2b2lkIEV2ZW50
SGFuZGxlcjo6ZGVmYXVsdEtleWJvYXJkRXZlbnRIYW5kbGVyKEtleWJvYXJkRXZlbnQqIGV2ZW50
KQogICAgIH0KIH0KIAorI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiBib29sIEV2ZW50SGFuZGxl
cjo6ZHJhZ0h5c3RlcmVzaXNFeGNlZWRlZChjb25zdCBGbG9hdFBvaW50JiBmbG9hdERyYWdWaWV3
cG9ydExvY2F0aW9uKSBjb25zdAogewogICAgIEludFBvaW50IGRyYWdWaWV3cG9ydExvY2F0aW9u
KChpbnQpZmxvYXREcmFnVmlld3BvcnRMb2NhdGlvbi54KCksIChpbnQpZmxvYXREcmFnVmlld3Bv
cnRMb2NhdGlvbi55KCkpOwpAQCAtMjI5MSw2ICsyMzIyLDcgQEAgY2xlYW51cERyYWc6CiAgICAg
Ly8gTm8gbW9yZSBkZWZhdWx0IGhhbmRsaW5nIChsaWtlIHNlbGVjdGlvbiksIHdoZXRoZXIgd2Un
cmUgcGFzdCB0aGUgaHlzdGVyZXNpcyBib3VuZHMgb3Igbm90CiAgICAgcmV0dXJuIHRydWU7CiB9
CisjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgCiBib29sIEV2ZW50SGFuZGxlcjo6
aGFuZGxlVGV4dElucHV0RXZlbnQoY29uc3QgU3RyaW5nJiB0ZXh0LCBFdmVudCogdW5kZXJseWlu
Z0V2ZW50LCBib29sIGlzTGluZUJyZWFrLCBib29sIGlzQmFja1RhYikKIHsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIu
aAppbmRleCBiZDVjMzEyLi4xMzQzM2NlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC02MiwxMCArNjIs
MTIgQEAgY2xhc3MgU1ZHRWxlbWVudEluc3RhbmNlOwogY2xhc3MgVGV4dEV2ZW50OwogY2xhc3Mg
V2lkZ2V0OwogICAgIAorI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiBleHRlcm4gY29uc3QgaW50
IExpbmtEcmFnSHlzdGVyZXNpczsKIGV4dGVybiBjb25zdCBpbnQgSW1hZ2VEcmFnSHlzdGVyZXNp
czsKIGV4dGVybiBjb25zdCBpbnQgVGV4dERyYWdIeXN0ZXJlc2lzOwogZXh0ZXJuIGNvbnN0IGlu
dCBHZW5lcmFsRHJhZ0h5c3RlcmVzaXM7CisjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkK
IAogZW51bSBIaXRUZXN0U2Nyb2xsYmFycyB7IFNob3VsZEhpdFRlc3RTY3JvbGxiYXJzLCBEb250
SGl0VGVzdFNjcm9sbGJhcnMgfTsKIApAQCAtNzYsNyArNzgsOSBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIGNsZWFyKCk7CiAKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIHZvaWQgdXBkYXRl
U2VsZWN0aW9uRm9yTW91c2VEcmFnKCk7CisjZW5kaWYKIAogICAgIE5vZGUqIG1vdXNlUHJlc3NO
b2RlKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRNb3VzZVByZXNzTm9kZShQYXNzUmVmUHRyPE5vZGU+
KTsKQEAgLTk1LDkgKzk5LDExIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0Q2FwdHVyaW5nTW91
c2VFdmVudHNOb2RlKFBhc3NSZWZQdHI8Tm9kZT4pOwogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9S
VCkKICAgICBib29sIHVwZGF0ZURyYWdBbmREcm9wKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYs
IENsaXBib2FyZCopOwogICAgIHZvaWQgY2FuY2VsRHJhZ0FuZERyb3AoY29uc3QgUGxhdGZvcm1N
b3VzZUV2ZW50JiwgQ2xpcGJvYXJkKik7CiAgICAgYm9vbCBwZXJmb3JtRHJhZ0FuZERyb3AoY29u
c3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiwgQ2xpcGJvYXJkKik7CisjZW5kaWYKIAogICAgIHZvaWQg
c2NoZWR1bGVIb3ZlclN0YXRlVXBkYXRlKCk7CiAKQEAgLTExNSw3ICsxMjEsOSBAQCBwdWJsaWM6
CiAKICAgICBib29sIHNjcm9sbFJlY3Vyc2l2ZWx5KFNjcm9sbERpcmVjdGlvbiwgU2Nyb2xsR3Jh
bnVsYXJpdHkpOwogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBib29sIHNob3VsZERy
YWdBdXRvTm9kZShOb2RlKiwgY29uc3QgSW50UG9pbnQmKSBjb25zdDsgLy8gLXdlYmtpdC11c2Vy
LWRyYWcgPT0gYXV0bworI2VuZGlmCiAKICAgICBib29sIHRhYnNUb0xpbmtzKEtleWJvYXJkRXZl
bnQqKSBjb25zdDsKICAgICBib29sIHRhYnNUb0FsbENvbnRyb2xzKEtleWJvYXJkRXZlbnQqKSBj
b25zdDsKQEAgLTE0NCwxMCArMTUyLDEyIEBAIHB1YmxpYzoKICAgICAgICAgYm9vbCBpc0xpbmVC
cmVhayA9IGZhbHNlLCBib29sIGlzQmFja1RhYiA9IGZhbHNlKTsKICAgICB2b2lkIGRlZmF1bHRU
ZXh0SW5wdXRFdmVudEhhbmRsZXIoVGV4dEV2ZW50Kik7CiAKKyNpZiBFTkFCTEUoRFJBR19TVVBQ
T1JUKQogICAgIGJvb2wgZXZlbnRNYXlTdGFydERyYWcoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50
JikgY29uc3Q7CiAgICAgCiAgICAgdm9pZCBkcmFnU291cmNlTW92ZWRUbyhjb25zdCBQbGF0Zm9y
bU1vdXNlRXZlbnQmKTsKICAgICB2b2lkIGRyYWdTb3VyY2VFbmRlZEF0KGNvbnN0IFBsYXRmb3Jt
TW91c2VFdmVudCYsIERyYWdPcGVyYXRpb24pOworI2VuZGlmCiAKICAgICB2b2lkIGZvY3VzRG9j
dW1lbnRWaWV3KCk7CiAKQEAgLTE3Nyw2ICsxODcsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogcHJp
dmF0ZToKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIHN0cnVjdCBFdmVudEhhbmRsZXJE
cmFnU3RhdGUgewogICAgICAgICBSZWZQdHI8Tm9kZT4gbV9kcmFnU3JjOyAvLyBlbGVtZW50IHRo
YXQgbWF5IGJlIGEgZHJhZyBzb3VyY2UsIGZvciB0aGUgY3VycmVudCBtb3VzZSBnZXN0dXJlCiAg
ICAgICAgIGJvb2wgbV9kcmFnU3JjSXNMaW5rOwpAQCAtMTkxLDYgKzIwMiw3IEBAIHByaXZhdGU6
CiAgICAgc3RhdGljIGNvbnN0IGRvdWJsZSBUZXh0RHJhZ0RlbGF5OwogICAgIAogICAgIFBhc3NS
ZWZQdHI8Q2xpcGJvYXJkPiBjcmVhdGVEcmFnZ2luZ0NsaXBib2FyZCgpIGNvbnN0OworI2VuZGlm
IC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgCiAgICAgYm9vbCBldmVudEFjdGl2YXRlZFZp
ZXcoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JikgY29uc3Q7CiAgICAgdm9pZCBzZWxlY3RDbG9z
ZXN0V29yZEZyb21Nb3VzZUV2ZW50KGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMm
KTsKQEAgLTIwMiw3ICsyMTQsOSBAQCBwcml2YXRlOgogICAgIGJvb2wgaGFuZGxlTW91c2VQcmVz
c0V2ZW50U2luZ2xlQ2xpY2soY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYpOwog
ICAgIGJvb2wgaGFuZGxlTW91c2VQcmVzc0V2ZW50RG91YmxlQ2xpY2soY29uc3QgTW91c2VFdmVu
dFdpdGhIaXRUZXN0UmVzdWx0cyYpOwogICAgIGJvb2wgaGFuZGxlTW91c2VQcmVzc0V2ZW50VHJp
cGxlQ2xpY2soY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYpOworI2lmIEVOQUJM
RShEUkFHX1NVUFBPUlQpCiAgICAgYm9vbCBoYW5kbGVNb3VzZURyYWdnZWRFdmVudChjb25zdCBN
b3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJik7CisjZW5kaWYKICAgICBib29sIGhhbmRsZU1v
dXNlUmVsZWFzZUV2ZW50KGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmKTsKIAog
ICAgIHZvaWQgaGFuZGxlS2V5Ym9hcmRTZWxlY3Rpb25Nb3ZlbWVudChLZXlib2FyZEV2ZW50Kik7
CkBAIC0yMTUsNyArMjI5LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIGhvdmVyVGltZXJGaXJlZChU
aW1lcjxFdmVudEhhbmRsZXI+Kik7CiAKICAgICBzdGF0aWMgYm9vbCBjYW5Nb3VzZURvd25TdGFy
dFNlbGVjdChOb2RlKik7CisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBzdGF0aWMgYm9v
bCBjYW5Nb3VzZURyYWdFeHRlbmRTZWxlY3QoTm9kZSopOworI2VuZGlmCiAKICAgICB2b2lkIGhh
bmRsZUF1dG9zY3JvbGwoUmVuZGVyT2JqZWN0Kik7CiAgICAgdm9pZCBzdGFydEF1dG9zY3JvbGxU
aW1lcigpOwpAQCAtMjMyLDE4ICsyNDgsMjIgQEAgcHJpdmF0ZToKICAgICBNb3VzZUV2ZW50V2l0
aEhpdFRlc3RSZXN1bHRzIHByZXBhcmVNb3VzZUV2ZW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0Jiwg
Y29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50Jik7CiAKICAgICBib29sIGRpc3BhdGNoTW91c2VFdmVu
dChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgTm9kZSogdGFyZ2V0LCBib29sIGNhbmNl
bGFibGUsIGludCBjbGlja0NvdW50LCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmLCBib29sIHNl
dFVuZGVyKTsKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIGJvb2wgZGlzcGF0Y2hEcmFn
RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIE5vZGUqIHRhcmdldCwgY29uc3Qg
UGxhdGZvcm1Nb3VzZUV2ZW50JiwgQ2xpcGJvYXJkKik7CiAKICAgICB2b2lkIGZyZWVDbGlwYm9h
cmQoKTsKIAogICAgIGJvb2wgaGFuZGxlRHJhZyhjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RS
ZXN1bHRzJik7CisjZW5kaWYKICAgICBib29sIGhhbmRsZU1vdXNlVXAoY29uc3QgTW91c2VFdmVu
dFdpdGhIaXRUZXN0UmVzdWx0cyYpOworI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgdm9p
ZCBjbGVhckRyYWdTdGF0ZSgpOwogCiAgICAgYm9vbCBkaXNwYXRjaERyYWdTcmNFdmVudChjb25z
dCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50Jik7CiAK
ICAgICBib29sIGRyYWdIeXN0ZXJlc2lzRXhjZWVkZWQoY29uc3QgRmxvYXRQb2ludCYpIGNvbnN0
OwogICAgIGJvb2wgZHJhZ0h5c3RlcmVzaXNFeGNlZWRlZChjb25zdCBJbnRQb2ludCYpIGNvbnN0
OworI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAKICAgICBib29sIHBhc3NNb3VzZVBy
ZXNzRXZlbnRUb1N1YmZyYW1lKE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmLCBGcmFtZSog
c3ViZnJhbWUpOwogICAgIGJvb2wgcGFzc01vdXNlTW92ZUV2ZW50VG9TdWJmcmFtZShNb3VzZUV2
ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiwgRnJhbWUqIHN1YmZyYW1lLCBIaXRUZXN0UmVzdWx0KiBo
b3ZlcmVkTm9kZSA9IDApOwpAQCAtMjYyLDE2ICsyODIsMjIgQEAgcHJpdmF0ZToKICAgICB2b2lk
IGRlZmF1bHRTcGFjZUV2ZW50SGFuZGxlcihLZXlib2FyZEV2ZW50Kik7CiAgICAgdm9pZCBkZWZh
dWx0VGFiRXZlbnRIYW5kbGVyKEtleWJvYXJkRXZlbnQqKTsKIAorI2lmIEVOQUJMRShEUkFHX1NV
UFBPUlQpCiAgICAgdm9pZCBhbGxvd0RIVE1MRHJhZyhib29sJiBmbGFnREhUTUwsIGJvb2wmIGZs
YWdVQSkgY29uc3Q7CisjZW5kaWYKIAogICAgIC8vIFRoZSBmb2xsb3dpbmcgYXJlIGNhbGxlZCBh
dCB0aGUgYmVnaW5uaW5nIG9mIGhhbmRsZU1vdXNlVXAgYW5kIGhhbmRsZURyYWcuICAKICAgICAv
LyBJZiB0aGV5IHJldHVybiB0cnVlIGl0IGluZGljYXRlcyB0aGF0IHRoZXkgaGF2ZSBjb25zdW1l
ZCB0aGUgZXZlbnQuCiAgICAgYm9vbCBldmVudExvb3BIYW5kbGVNb3VzZVVwKGNvbnN0IE1vdXNl
RXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmKTsKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAg
IGJvb2wgZXZlbnRMb29wSGFuZGxlTW91c2VEcmFnZ2VkKGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0
VGVzdFJlc3VsdHMmKTsKKyNlbmRpZgogCiAgICAgYm9vbCBpbnZlcnRTZW5zZU9mVGFic1RvTGlu
a3MoS2V5Ym9hcmRFdmVudCopIGNvbnN0OwogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAg
ICB2b2lkIHVwZGF0ZVNlbGVjdGlvbkZvck1vdXNlRHJhZyhOb2RlKiB0YXJnZXROb2RlLCBjb25z
dCBJbnRQb2ludCYgbG9jYWxQb2ludCk7CisjZW5kaWYKIAogICAgIHZvaWQgdXBkYXRlTGFzdFNj
cm9sbGJhclVuZGVyTW91c2UoU2Nyb2xsYmFyKiwgYm9vbCk7CiAKQEAgLTI5MCwxMSArMzE2LDE1
IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE5vZGU+IG1fbW91c2VQcmVzc05vZGU7CiAKICAgICBi
b29sIG1fbW91c2VEb3duTWF5U3RhcnRTZWxlY3Q7CisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkK
ICAgICBib29sIG1fbW91c2VEb3duTWF5U3RhcnREcmFnOworI2VuZGlmCiAgICAgYm9vbCBtX21v
dXNlRG93bldhc1NpbmdsZUNsaWNrSW5TZWxlY3Rpb247CiAgICAgYm9vbCBtX2JlZ2FuU2VsZWN0
aW5nVGV4dDsKIAorI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgSW50UG9pbnQgbV9kcmFn
U3RhcnRQb3M7CisjZW5kaWYKIAogICAgIEludFBvaW50IG1fcGFuU2Nyb2xsU3RhcnRQb3M7CiAg
ICAgYm9vbCBtX3BhblNjcm9sbEluUHJvZ3Jlc3M7CkBAIC0zMjgsNyArMzU4LDkgQEAgcHJpdmF0
ZToKICAgICBpbnQgbV9jbGlja0NvdW50OwogICAgIFJlZlB0cjxOb2RlPiBtX2NsaWNrTm9kZTsK
IAorI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgUmVmUHRyPE5vZGU+IG1fZHJhZ1Rhcmdl
dDsKKyNlbmRpZgogICAgIAogICAgIFJlZlB0cjxIVE1MRnJhbWVTZXRFbGVtZW50PiBtX2ZyYW1l
U2V0QmVpbmdSZXNpemVkOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggNGM0M2VjZS4uYzJjZTQ0ZCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTAw
LDcgKzEwMCw5IEBAIHN0YXRpYyB2b2lkIG5ldHdvcmtTdGF0ZUNoYW5nZWQoKQogUGFnZTo6UGFn
ZShDaHJvbWVDbGllbnQqIGNocm9tZUNsaWVudCwgQ29udGV4dE1lbnVDbGllbnQqIGNvbnRleHRN
ZW51Q2xpZW50LCBFZGl0b3JDbGllbnQqIGVkaXRvckNsaWVudCwgRHJhZ0NsaWVudCogZHJhZ0Ns
aWVudCwgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDbGllbnQpCiAgICAgOiBtX2Nocm9tZShu
ZXcgQ2hyb21lKHRoaXMsIGNocm9tZUNsaWVudCkpCiAgICAgLCBtX2RyYWdDYXJldENvbnRyb2xs
ZXIobmV3IFNlbGVjdGlvbkNvbnRyb2xsZXIoMCwgdHJ1ZSkpCisjaWYgRU5BQkxFKERSQUdfU1VQ
UE9SVCkKICAgICAsIG1fZHJhZ0NvbnRyb2xsZXIobmV3IERyYWdDb250cm9sbGVyKHRoaXMsIGRy
YWdDbGllbnQpKQorI2VuZGlmCiAgICAgLCBtX2ZvY3VzQ29udHJvbGxlcihuZXcgRm9jdXNDb250
cm9sbGVyKHRoaXMpKQogICAgICwgbV9jb250ZXh0TWVudUNvbnRyb2xsZXIobmV3IENvbnRleHRN
ZW51Q29udHJvbGxlcih0aGlzLCBjb250ZXh0TWVudUNsaWVudCkpCiAgICAgLCBtX2luc3BlY3Rv
ckNvbnRyb2xsZXIobmV3IEluc3BlY3RvckNvbnRyb2xsZXIodGhpcywgaW5zcGVjdG9yQ2xpZW50
KSkKQEAgLTEyNiw2ICsxMjgsOSBAQCBQYWdlOjpQYWdlKENocm9tZUNsaWVudCogY2hyb21lQ2xp
ZW50LCBDb250ZXh0TWVudUNsaWVudCogY29udGV4dE1lbnVDbGllbnQsIEVkaQogICAgICwgbV9j
dXN0b21IVE1MVG9rZW5pemVyQ2h1bmtTaXplKC0xKQogICAgICwgbV9jYW5TdGFydFBsdWdpbnMo
dHJ1ZSkKIHsKKyNpZiAhRU5BQkxFKERSQUdfU1VQUE9SVCkKKyAgICBVTlVTRURfUEFSQU0oZHJh
Z0NsaWVudCk7CisjZW5kaWYKICAgICBpZiAoIWFsbFBhZ2VzKSB7CiAgICAgICAgIGFsbFBhZ2Vz
ID0gbmV3IEhhc2hTZXQ8UGFnZSo+OwogICAgICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFn
ZS9QYWdlLmggYi9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IDNjOGFhZmEuLjg4ZGYwNzcgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2UuaApA
QCAtMTI1LDcgKzEyNSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBDaHJvbWUq
IGNocm9tZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2hyb21lLmdldCgpOyB9CiAgICAgICAgIFNlbGVj
dGlvbkNvbnRyb2xsZXIqIGRyYWdDYXJldENvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVybiBtX2Ry
YWdDYXJldENvbnRyb2xsZXIuZ2V0KCk7IH0KKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAg
ICAgICBEcmFnQ29udHJvbGxlciogZHJhZ0NvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVybiBtX2Ry
YWdDb250cm9sbGVyLmdldCgpOyB9CisjZW5kaWYKICAgICAgICAgRm9jdXNDb250cm9sbGVyKiBm
b2N1c0NvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVybiBtX2ZvY3VzQ29udHJvbGxlci5nZXQoKTsg
fQogICAgICAgICBDb250ZXh0TWVudUNvbnRyb2xsZXIqIGNvbnRleHRNZW51Q29udHJvbGxlcigp
IGNvbnN0IHsgcmV0dXJuIG1fY29udGV4dE1lbnVDb250cm9sbGVyLmdldCgpOyB9CiAgICAgICAg
IEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVy
biBtX2luc3BlY3RvckNvbnRyb2xsZXIuZ2V0KCk7IH0KQEAgLTIxNyw3ICsyMTksOSBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgT3duUHRyPENocm9tZT4gbV9jaHJvbWU7CiAgICAg
ICAgIE93blB0cjxTZWxlY3Rpb25Db250cm9sbGVyPiBtX2RyYWdDYXJldENvbnRyb2xsZXI7Cisj
aWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICAgICAgT3duUHRyPERyYWdDb250cm9sbGVyPiBt
X2RyYWdDb250cm9sbGVyOworI2VuZGlmCiAgICAgICAgIE93blB0cjxGb2N1c0NvbnRyb2xsZXI+
IG1fZm9jdXNDb250cm9sbGVyOwogICAgICAgICBPd25QdHI8Q29udGV4dE1lbnVDb250cm9sbGVy
PiBtX2NvbnRleHRNZW51Q29udHJvbGxlcjsKICAgICAgICAgT3duUHRyPEluc3BlY3RvckNvbnRy
b2xsZXI+IG1faW5zcGVjdG9yQ29udHJvbGxlcjsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9t
YWMvRHJhZ0NvbnRyb2xsZXJNYWMubW0gYi9XZWJDb3JlL3BhZ2UvbWFjL0RyYWdDb250cm9sbGVy
TWFjLm1tCmluZGV4IGM0NzZkZjcuLmU0YTk5ZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9t
YWMvRHJhZ0NvbnRyb2xsZXJNYWMubW0KKysrIGIvV2ViQ29yZS9wYWdlL21hYy9EcmFnQ29udHJv
bGxlck1hYy5tbQpAQCAtMjYsNiArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0
ICJEcmFnQ29udHJvbGxlci5oIgogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICNpbXBvcnQg
IkRyYWdEYXRhLmgiCiAjaW1wb3J0ICJGcmFtZS5oIgogI2ltcG9ydCAiRnJhbWVWaWV3LmgiCkBA
IC03NiwzICs3Nyw0IEBAIHZvaWQgRHJhZ0NvbnRyb2xsZXI6OmNsZWFudXBBZnRlclN5c3RlbURy
YWcoKQogfQogCiB9CisjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tIGIvV2ViQ29yZS9wYWdlL21hYy9F
dmVudEhhbmRsZXJNYWMubW0KaW5kZXggNTRiZGZmOS4uMzc0OGE0NCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0KKysrIGIvV2ViQ29yZS9wYWdlL21hYy9F
dmVudEhhbmRsZXJNYWMubW0KQEAgLTYwLDcgKzYwLDkgQEAgc3RhdGljIGlubGluZSBJTVAgbWV0
aG9kX3NldEltcGxlbWVudGF0aW9uKE1ldGhvZCBtLCBJTVAgaSkKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKIGNvbnN0IGRvdWJsZSBFdmVudEhhbmRs
ZXI6OlRleHREcmFnRGVsYXkgPSAwLjE1OworI2VuZGlmCiAKIHN0YXRpYyBSZXRhaW5QdHI8TlNF
dmVudD4mIGN1cnJlbnROU0V2ZW50U2xvdCgpCiB7CkBAIC0zNzIsNiArMzc0LDcgQEAgYm9vbCBF
dmVudEhhbmRsZXI6OmV2ZW50QWN0aXZhdGVkVmlldyhjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQm
IGV2ZW50KSBjb25zdAogICAgIHJldHVybiBtX2FjdGl2YXRpb25FdmVudE51bWJlciA9PSBldmVu
dC5ldmVudE51bWJlcigpOwogfQogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKIGJvb2wgRXZl
bnRIYW5kbGVyOjpldmVudExvb3BIYW5kbGVNb3VzZURyYWdnZWQoY29uc3QgTW91c2VFdmVudFdp
dGhIaXRUZXN0UmVzdWx0cyYpCiB7CiAgICAgTlNWaWV3ICp2aWV3ID0gbW91c2VEb3duVmlld0lm
U3RpbGxHb29kKCk7CkBAIC0zOTksNiArNDAyLDcgQEAgUGFzc1JlZlB0cjxDbGlwYm9hcmQ+IEV2
ZW50SGFuZGxlcjo6Y3JlYXRlRHJhZ2dpbmdDbGlwYm9hcmQoKSBjb25zdAogICAgIFtwYXN0ZWJv
YXJkIGRlY2xhcmVUeXBlczpbTlNBcnJheSBhcnJheV0gb3duZXI6bmlsXTsKICAgICByZXR1cm4g
Q2xpcGJvYXJkTWFjOjpjcmVhdGUodHJ1ZSwgcGFzdGVib2FyZCwgQ2xpcGJvYXJkV3JpdGFibGUs
IG1fZnJhbWUpOwogfQorI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgCiBib29s
IEV2ZW50SGFuZGxlcjo6ZXZlbnRMb29wSGFuZGxlTW91c2VVcChjb25zdCBNb3VzZUV2ZW50V2l0
aEhpdFRlc3RSZXN1bHRzJikKIHsKQEAgLTQzMCw4ICs0MzQsMTAgQEAgYm9vbCBFdmVudEhhbmRs
ZXI6OnBhc3NTdWJmcmFtZUV2ZW50VG9TdWJmcmFtZShNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1
bHRzJiBldmUKICAgICAgICAgICAgIC8vIGxheW91dCB0ZXN0cy4KICAgICAgICAgICAgIGlmICgh
bV9tb3VzZURvd25XYXNJblN1YmZyYW1lKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgICAgICAgICAgaWYgKHN1YmZyYW1lLT5wYWdl
KCktPmRyYWdDb250cm9sbGVyKCktPmRpZEluaXRpYXRlRHJhZygpKQogICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKyNlbmRpZgogICAgICAgICBjYXNlIE5TTW91c2VNb3ZlZDoKICAgICAg
ICAgICAgIC8vIFNpbmNlIHdlJ3JlIHBhc3NpbmcgaW4gY3VycmVudE5TRXZlbnQoKSBoZXJlLCB3
ZSBjYW4gY2FsbAogICAgICAgICAgICAgLy8gaGFuZGxlTW91c2VNb3ZlRXZlbnQoKSBkaXJlY3Rs
eSwgc2luY2UgdGhlIHNhdmUvcmVzdG9yZSBvZgpAQCAtNzE4LDYgKzcyNCw3IEBAIGJvb2wgRXZl
bnRIYW5kbGVyOjpzZW5kQ29udGV4dE1lbnVFdmVudChOU0V2ZW50ICpldmVudCkKICAgICByZXR1
cm4gc2VuZENvbnRleHRNZW51RXZlbnQoUGxhdGZvcm1Nb3VzZUV2ZW50KGV2ZW50LCBwYWdlLT5j
aHJvbWUoKS0+cGxhdGZvcm1XaW5kb3coKSkpOwogfQogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9S
VCkKIGJvb2wgRXZlbnRIYW5kbGVyOjpldmVudE1heVN0YXJ0RHJhZyhOU0V2ZW50ICpldmVudCkK
IHsKICAgICBQYWdlKiBwYWdlID0gbV9mcmFtZS0+cGFnZSgpOwpAQCAtNzI1LDUgKzczMiw2IEBA
IGJvb2wgRXZlbnRIYW5kbGVyOjpldmVudE1heVN0YXJ0RHJhZyhOU0V2ZW50ICpldmVudCkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHJldHVybiBldmVudE1heVN0YXJ0RHJhZyhQbGF0Zm9y
bU1vdXNlRXZlbnQoZXZlbnQsIHBhZ2UtPmNocm9tZSgpLT5wbGF0Zm9ybVdpbmRvdygpKSk7CiB9
CisjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKIAogfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9EcmFnRGF0YS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL0RyYWdEYXRhLmNwcApp
bmRleCBiZjIyNzVhLi5mYWE0ZjEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdE
YXRhLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0RyYWdEYXRhLmNwcApAQCAtMjYsNiArMjYs
NyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRyYWdEYXRhLmgiCiAKKyNpZiBF
TkFCTEUoRFJBR19TVVBQT1JUKQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYgIVBMQVRGT1JN
KE1BQykKQEAgLTQwLDMgKzQxLDQgQEAgRHJhZ0RhdGE6OkRyYWdEYXRhKERyYWdEYXRhUmVmIGRh
dGEsIGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgSW50UG8KICNlbmRpZgog
CiB9CisjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vRHJhZ0ltYWdlLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0ltYWdlLmNwcApp
bmRleCBhZGY5YTU3Li4yMjRhN2JkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdJ
bWFnZS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnSW1hZ2UuY3BwCkBAIC0yNSw2ICsy
NSw4IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJEcmFnSW1hZ2UuaCIKKwor
I2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAjaW5jbHVkZSAiRHJhZ0NvbnRyb2xsZXIuaCIKIAog
I2luY2x1ZGUgIkZyYW1lLmgiCkBAIC03MiwzICs3NCw0IEBAIERyYWdJbWFnZVJlZiBjcmVhdGVE
cmFnSW1hZ2VGb3JTZWxlY3Rpb24oRnJhbWUqIGZyYW1lKQogfQogCiB9CisjZW5kaWYgLy8gRU5B
QkxFKERSQUdfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBi
b2FyZE1hYy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLmgKaW5kZXggOWJk
ZDI3Ni4uM2QzYzc4ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJk
TWFjLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLmgKQEAgLTY3LDcg
KzY3LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RHJhZ0ltYWdlRWxlbWVudChOb2RlICosIGNv
bnN0IEludFBvaW50Jik7CiAgICAgCiAgICAgdmlydHVhbCBEcmFnSW1hZ2VSZWYgY3JlYXRlRHJh
Z0ltYWdlKEludFBvaW50JiBkcmFnTG9jKSBjb25zdDsKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JU
KQogICAgIHZpcnR1YWwgdm9pZCBkZWNsYXJlQW5kV3JpdGVEcmFnSW1hZ2UoRWxlbWVudCosIGNv
bnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBGcmFtZSopOworI2VuZGlmCiAgICAgdmly
dHVhbCB2b2lkIHdyaXRlUmFuZ2UoUmFuZ2UqLCBGcmFtZSogZnJhbWUpOwogICAgIHZpcnR1YWwg
dm9pZCB3cml0ZVVSTChjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiwgRnJhbWUqIGZyYW1lKTsK
ICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5tbSBi
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5tbQppbmRleCAwYjQ2MWZkLi43OGZi
NjU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMubW0KKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLm1tCkBAIC0zNjgsMTIgKzM2OCwx
NCBAQCB2b2lkIENsaXBib2FyZE1hYzo6d3JpdGVVUkwoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBT
dHJpbmcmIHRpdGxlLCBGcmFtZSogZnJhbWUpCiAgICAgUGFzdGVib2FyZDo6d3JpdGVVUkwobV9w
YXN0ZWJvYXJkLmdldCgpLCBuaWwsIHVybCwgdGl0bGUsIGZyYW1lKTsKIH0KICAgICAKKyNpZiBF
TkFCTEUoRFJBR19TVVBQT1JUKQogdm9pZCBDbGlwYm9hcmRNYWM6OmRlY2xhcmVBbmRXcml0ZURy
YWdJbWFnZShFbGVtZW50KiBlbGVtZW50LCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYg
dGl0bGUsIEZyYW1lKiBmcmFtZSkKIHsKICAgICBBU1NFUlQoZnJhbWUpOwogICAgIGlmIChQYWdl
KiBwYWdlID0gZnJhbWUtPnBhZ2UoKSkKICAgICAgICAgcGFnZS0+ZHJhZ0NvbnRyb2xsZXIoKS0+
Y2xpZW50KCktPmRlY2xhcmVBbmRXcml0ZURyYWdJbWFnZShtX3Bhc3RlYm9hcmQuZ2V0KCksIGtp
dChlbGVtZW50KSwgdXJsLCB0aXRsZSwgZnJhbWUpOwogfQorI2VuZGlmIC8vIEVOQUJMRShEUkFH
X1NVUFBPUlQpCiAgICAgCiBEcmFnSW1hZ2VSZWYgQ2xpcGJvYXJkTWFjOjpjcmVhdGVEcmFnSW1h
Z2UoSW50UG9pbnQmIGxvYykgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL0RyYWdEYXRhTWFjLm1tIGIvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJhZ0RhdGFNYWMubW0K
aW5kZXggYTdiNzUxYy4uZTc0MjYyNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
RHJhZ0RhdGFNYWMubW0KKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJhZ0RhdGFNYWMubW0K
QEAgLTI2LDYgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiRHJhZ0RhdGEu
aCIKIAorI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAjaW1wb3J0ICJDbGlwYm9hcmRNYWMuaCIK
ICNpbXBvcnQgIkNsaXBib2FyZEFjY2Vzc1BvbGljeS5oIgogI2ltcG9ydCAiRG9jdW1lbnQuaCIK
QEAgLTEyOCw0ICsxMjksNCBAQCBQYXNzUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IERyYWdEYXRh
Ojphc0ZyYWdtZW50KERvY3VtZW50KikgY29uc3QKIH0KICAgICAKIH0KLQorI2VuZGlmIC8vIEVO
QUJMRShEUkFHX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9EcmFn
SW1hZ2VNYWMubW0gYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9EcmFnSW1hZ2VNYWMubW0KaW5kZXgg
ODQyZTZkNC4uMDY1OTM0YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJhZ0lt
YWdlTWFjLm1tCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0RyYWdJbWFnZU1hYy5tbQpAQCAt
MjYsNiArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJEcmFnSW1hZ2UuaCIK
IAorI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAjaW1wb3J0ICJDYWNoZWRJbWFnZS5oIgogI2lt
cG9ydCAiSW1hZ2UuaCIKICNpbXBvcnQgIktVUkwuaCIKQEAgLTk5LDMgKzEwMCw0IEBAIFJldGFp
blB0cjxOU0ltYWdlPiBjcmVhdGVEcmFnSW1hZ2VJY29uRm9yQ2FjaGVkSW1hZ2UoQ2FjaGVkSW1h
Z2UqIGltYWdlKQogfQogICAgIAogfQorI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggYWNjODg3My4uMDhmNWY1NyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmNwcApAQCAtMTM0NCw3ICsxMzQ0LDkgQEAgdm9pZCBSZW5kZXJMYXll
cjo6YXV0b3Njcm9sbCgpCiAgICAgaWYgKCFmcmFtZVZpZXcpCiAgICAgICAgIHJldHVybjsKIAor
I2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgZnJhbWUtPmV2ZW50SGFuZGxlcigpLT51cGRh
dGVTZWxlY3Rpb25Gb3JNb3VzZURyYWcoKTsKKyNlbmRpZgogCiAgICAgSW50UG9pbnQgY3VycmVu
dERvY3VtZW50UG9zaXRpb24gPSBmcmFtZVZpZXctPndpbmRvd1RvQ29udGVudHMoZnJhbWUtPmV2
ZW50SGFuZGxlcigpLT5jdXJyZW50TW91c2VQb3NpdGlvbigpKTsKICAgICBzY3JvbGxSZWN0VG9W
aXNpYmxlKEludFJlY3QoY3VycmVudERvY3VtZW50UG9zaXRpb24sIEludFNpemUoMSwgMSkpLCBm
YWxzZSwgU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvRWRnZUlmTmVlZGVkLCBTY3JvbGxBbGlnbm1l
bnQ6OmFsaWduVG9FZGdlSWZOZWVkZWQpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5k
ZXggOTViMzhmMC4uNGNiYzUzMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0x
MzY5LDYgKzEzNjksNyBAQCBDb2xvciBSZW5kZXJPYmplY3Q6OnNlbGVjdGlvbkZvcmVncm91bmRD
b2xvcigpIGNvbnN0CiAgICAgcmV0dXJuIGNvbG9yOwogfQogCisjaWYgRU5BQkxFKERSQUdfU1VQ
UE9SVCkKIE5vZGUqIFJlbmRlck9iamVjdDo6ZHJhZ2dhYmxlTm9kZShib29sIGRodG1sT0ssIGJv
b2wgdWFPSywgaW50IHgsIGludCB5LCBib29sJiBkaHRtbFdpbGxEcmFnKSBjb25zdAogewogICAg
IGlmICghZGh0bWxPSyAmJiAhdWFPSykKQEAgLTE0MDMsNiArMTQwNCw3IEBAIE5vZGUqIFJlbmRl
ck9iamVjdDo6ZHJhZ2dhYmxlTm9kZShib29sIGRodG1sT0ssIGJvb2wgdWFPSywgaW50IHgsIGlu
dCB5LCBib29sJiBkCiAgICAgfQogICAgIHJldHVybiAwOwogfQorI2VuZGlmIC8vIEVOQUJMRShE
UkFHX1NVUFBPUlQpCiAKIHZvaWQgUmVuZGVyT2JqZWN0OjpzZWxlY3Rpb25TdGFydEVuZChpbnQm
IHNwb3MsIGludCYgZXBvcykgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKaW5kZXgg
MGEzNDczYy4uZjM2MTE5OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTY2Miw3ICs2
NjIsOSBAQCBwdWJsaWM6CiAgICAgLy8gV2hldGhlciBvciBub3QgYSBnaXZlbiBibG9jayBuZWVk
cyB0byBwYWludCBzZWxlY3Rpb24gZ2Fwcy4KICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUGFpbnRT
ZWxlY3Rpb25HYXBzKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAorI2lmIEVOQUJMRShEUkFH
X1NVUFBPUlQpCiAgICAgTm9kZSogZHJhZ2dhYmxlTm9kZShib29sIGRodG1sT0ssIGJvb2wgdWFP
SywgaW50IHgsIGludCB5LCBib29sJiBkaHRtbFdpbGxEcmFnKSBjb25zdDsKKyNlbmRpZgogCiAg
ICAgLyoqCiAgICAgICogUmV0dXJucyB0aGUgbG9jYWwgY29vcmRpbmF0ZXMgb2YgdGhlIGNhcmV0
IHdpdGhpbiB0aGlzIHJlbmRlciBvYmplY3QuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9ncmFw
aGljcy9TVkdJbWFnZS5jcHAgYi9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKaW5k
ZXggY2MxNjFiNS4uM2Q0YWZkNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZH
SW1hZ2UuY3BwCisrKyBiL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcApAQCAtMjI5
LDcgKzIyOSwxMSBAQCBib29sIFNWR0ltYWdlOjpkYXRhQ2hhbmdlZChib29sIGFsbERhdGFSZWNl
aXZlZCkKICAgICAgICAgc3RhdGljIEZyYW1lTG9hZGVyQ2xpZW50KiBkdW1teUZyYW1lTG9hZGVy
Q2xpZW50ID0gIG5ldyBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50OwogICAgICAgICBzdGF0aWMgRWRp
dG9yQ2xpZW50KiBkdW1teUVkaXRvckNsaWVudCA9IG5ldyBFbXB0eUVkaXRvckNsaWVudDsKICAg
ICAgICAgc3RhdGljIENvbnRleHRNZW51Q2xpZW50KiBkdW1teUNvbnRleHRNZW51Q2xpZW50ID0g
bmV3IEVtcHR5Q29udGV4dE1lbnVDbGllbnQ7CisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAg
ICAgICAgc3RhdGljIERyYWdDbGllbnQqIGR1bW15RHJhZ0NsaWVudCA9IG5ldyBFbXB0eURyYWdD
bGllbnQ7CisjZWxzZQorICAgICAgICBzdGF0aWMgRHJhZ0NsaWVudCogZHVtbXlEcmFnQ2xpZW50
ID0gMDsKKyNlbmRpZgogICAgICAgICBzdGF0aWMgSW5zcGVjdG9yQ2xpZW50KiBkdW1teUluc3Bl
Y3RvckNsaWVudCA9IG5ldyBFbXB0eUluc3BlY3RvckNsaWVudDsKIAogICAgICAgICBtX2Nocm9t
ZUNsaWVudC5zZXQobmV3IFNWR0ltYWdlQ2hyb21lQ2xpZW50KHRoaXMpKTsKZGlmZiAtLWdpdCBh
L1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNGYzMTE0
ZC4uODVkYzIxMCAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAwOS0wOS0xNCAgR3JlZyBCb2xzaW5n
YSAgPGJvbHNpbmdhQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgRU5BQkxFKERSQUdfU1VQUE9SVCkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MjMzCisKKyAgICAgICAgKiBXZWJW
aWV3L1dlYkZyYW1lLm1tOiBVc2UgRU5BQkxFKERSQUdfU1VQUE9SVCkgd2hlcmUgYXBwbGljYWJs
ZS4KKyAgICAgICAgKiBXZWJWaWV3L1dlYkZyYW1lSW50ZXJuYWwuaDogRGl0dG8uCisgICAgICAg
ICogV2ViVmlldy9XZWJGcmFtZVZpZXcubW06IERpdHRvLgorICAgICAgICAoLVtXZWJGcmFtZVZp
ZXcgX3NldERvY3VtZW50VmlldzpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxWaWV3Lm1t
OiBEaXR0by4KKyAgICAgICAgKC1bV2ViSFRNTFZpZXcgY2xvc2VdKToKKyAgICAgICAgKC1bV2Vi
SFRNTFZpZXcgYWNjZXB0c0ZpcnN0TW91c2U6XSk6CisgICAgICAgICgtW1dlYkhUTUxWaWV3IHNo
b3VsZERlbGF5V2luZG93T3JkZXJpbmdGb3JFdmVudDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dl
YlZpZXcubW06IERpdHRvLgorICAgICAgICAoLVtXZWJWaWV3IG1vdmVEcmFnQ2FyZXRUb1BvaW50
Ol0pOgorICAgICAgICAoLVtXZWJWaWV3IHJlbW92ZURyYWdDYXJldF0pOgorCiAyMDA5LTA5LTEx
ICBNYXJrIFJvd2UgIDxtcm93ZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSm9u
IEhvbmV5Y3V0dC4KZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbSBi
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQppbmRleCBjMDNlZjU4Li43ZmUxMDJhIDEw
MDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0KKysrIGIvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYkZyYW1lLm1tCkBAIC05MjEsNiArOTIxLDcgQEAgc3RhdGljIGlubGluZSBX
ZWJEYXRhU291cmNlICpkYXRhU291cmNlKERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiAgICAgX3By
aXZhdGUtPmNvcmVGcmFtZS0+Y29tcHV0ZUFuZFNldFR5cGluZ1N0eWxlKGNvcmUoc3R5bGUpLCB1
bmRvQWN0aW9uKTsKIH0KIAorI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAtICh2b2lkKV9kcmFn
U291cmNlTW92ZWRUbzooTlNQb2ludCl3aW5kb3dMb2MKIHsKICAgICBpZiAoIV9wcml2YXRlLT5j
b3JlRnJhbWUpCkBAIC05NDgsNiArOTQ5LDcgQEAgc3RhdGljIGlubGluZSBXZWJEYXRhU291cmNl
ICpkYXRhU291cmNlKERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiAgICAgICAgIExlZnRCdXR0b24s
IE1vdXNlRXZlbnRNb3ZlZCwgMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGN1cnJlbnRU
aW1lKCkpOwogICAgIF9wcml2YXRlLT5jb3JlRnJhbWUtPmV2ZW50SGFuZGxlcigpLT5kcmFnU291
cmNlRW5kZWRBdChldmVudCwgKERyYWdPcGVyYXRpb24pb3BlcmF0aW9uKTsKIH0KKyNlbmRpZiAv
LyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCiAtIChCT09MKV9jYW5Qcm92aWRlRG9jdW1lbnRTb3Vy
Y2UKIHsKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZUludGVybmFsLmgg
Yi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVJbnRlcm5hbC5oCmluZGV4IDEwYTMwMTUuLmM3
MjM3NjAgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZUludGVybmFsLmgK
KysrIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lSW50ZXJuYWwuaApAQCAtMTU1LDggKzE1
NSwxMCBAQCBXZWJWaWV3ICpnZXRXZWJWaWV3KFdlYkZyYW1lICp3ZWJGcmFtZSk7CiAtIChET01D
U1NTdHlsZURlY2xhcmF0aW9uICopX3R5cGluZ1N0eWxlOwogLSAodm9pZClfc2V0VHlwaW5nU3R5
bGU6KERPTUNTU1N0eWxlRGVjbGFyYXRpb24gKilzdHlsZSB3aXRoVW5kb0FjdGlvbjooV2ViQ29y
ZTo6RWRpdEFjdGlvbil1bmRvQWN0aW9uOwogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKIC0g
KHZvaWQpX2RyYWdTb3VyY2VNb3ZlZFRvOihOU1BvaW50KXdpbmRvd0xvYzsKIC0gKHZvaWQpX2Ry
YWdTb3VyY2VFbmRlZEF0OihOU1BvaW50KXdpbmRvd0xvYyBvcGVyYXRpb246KE5TRHJhZ09wZXJh
dGlvbilvcGVyYXRpb247CisjZW5kaWYKIAogLSAoQk9PTClfY2FuUHJvdmlkZURvY3VtZW50U291
cmNlOwogLSAoQk9PTClfY2FuU2F2ZUFzV2ViQXJjaGl2ZTsKZGlmZiAtLWdpdCBhL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJGcmFtZVZpZXcubW0gYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVW
aWV3Lm1tCmluZGV4IGMzMDA1ODYuLjMzYmQ5YjcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJGcmFtZVZpZXcubW0KKysrIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lVmll
dy5tbQpAQCAtMTMwLDcgKzEzMCw5IEBAIGVudW0gewogLSAodm9pZClfc2V0RG9jdW1lbnRWaWV3
OihOU1ZpZXcgPFdlYkRvY3VtZW50Vmlldz4gKil2aWV3CiB7CiAgICAgV2ViRHluYW1pY1Njcm9s
bEJhcnNWaWV3ICpzdiA9IFtzZWxmIF9zY3JvbGxWaWV3XTsKKyNpZiBFTkFCTEUoRFJBR19TVVBQ
T1JUKQogICAgIGNvcmUoW3NlbGYgX3dlYlZpZXddKS0+ZHJhZ0NvbnRyb2xsZXIoKS0+c2V0RGlk
SW5pdGlhdGVEcmFnKGZhbHNlKTsKKyNlbmRpZgogICAgIAogICAgIFtzdiBzZXRTdXBwcmVzc0xh
eW91dDpZRVNdOwogICAgIApkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxW
aWV3Lm1tIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCmluZGV4IDk0NDQ1NmQu
Ljc5ODhlYjUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQor
KysgYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KQEAgLTE5NzcsOSArMTk3Nywx
MSBAQCBzdGF0aWMgdm9pZCBfdXBkYXRlTW91c2VvdmVyVGltZXJDYWxsYmFjayhDRlJ1bkxvb3BU
aW1lclJlZiB0aW1lciwgdm9pZCAqaW5mbykKIAogICAgIFtfcHJpdmF0ZSBjbGVhcl07CiAKKyNp
ZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIFBhZ2UqIHBhZ2UgPSBjb3JlKFtzZWxmIF93ZWJW
aWV3XSk7CiAgICAgaWYgKHBhZ2UpCiAgICAgICAgIHBhZ2UtPmRyYWdDb250cm9sbGVyKCktPnNl
dERyYWdnaW5nSW1hZ2VVUkwoS1VSTCgpKTsKKyNlbmRpZgogfQogCiAtIChCT09MKV9oYXNIVE1M
RG9jdW1lbnQKQEAgLTIxOTcsNiArMjE5OSw3IEBAIHN0YXRpYyB2b2lkIF91cGRhdGVNb3VzZW92
ZXJUaW1lckNhbGxiYWNrKENGUnVuTG9vcFRpbWVyUmVmIHRpbWVyLCB2b2lkICppbmZvKQogCiBA
ZW5kCiAKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogc3RhdGljIGJvb2wgbWF0Y2hlc0V4dGVu
c2lvbk9yRXF1aXZhbGVudChOU1N0cmluZyAqZmlsZW5hbWUsIE5TU3RyaW5nICpleHRlbnNpb24p
CiB7CiAgICAgTlNTdHJpbmcgKmV4dGVuc2lvbkFzU3VmZml4ID0gW0AiLiIgc3RyaW5nQnlBcHBl
bmRpbmdTdHJpbmc6ZXh0ZW5zaW9uXTsKQEAgLTIyMDQsNiArMjIwNyw3IEBAIHN0YXRpYyBib29s
IG1hdGNoZXNFeHRlbnNpb25PckVxdWl2YWxlbnQoTlNTdHJpbmcgKmZpbGVuYW1lLCBOU1N0cmlu
ZyAqZXh0ZW5zaW9uCiAgICAgICAgIHx8IChbZXh0ZW5zaW9uIF93ZWJraXRfaXNDYXNlSW5zZW5z
aXRpdmVFcXVhbFRvU3RyaW5nOkAianBlZyJdCiAgICAgICAgICAgICAmJiBbZmlsZW5hbWUgX3dl
YmtpdF9oYXNDYXNlSW5zZW5zaXRpdmVTdWZmaXg6QCIuanBnIl0pOwogfQorI2VuZGlmIC8vIEVO
QUJMRShEUkFHX1NVUFBPUlQpCiAKICNpZmRlZiBCVUlMRElOR19PTl9USUdFUgogCkBAIC0zMzA0
LDggKzMzMDgsMTAgQEAgV0VCQ09SRV9DT01NQU5EKHlhbmtBbmRTZWxlY3QpCiAgICAgICAgIGlm
IChGcmFtZSogY29yZUZyYW1lID0gY29yZShbaGl0SFRNTFZpZXcgX2ZyYW1lXSkpIHsKICAgICAg
ICAgICAgIGNvcmVGcmFtZS0+ZXZlbnRIYW5kbGVyKCktPnNldEFjdGl2YXRpb25FdmVudE51bWJl
cihbZXZlbnQgZXZlbnROdW1iZXJdKTsKICAgICAgICAgICAgIFtoaXRIVE1MVmlldyBfc2V0TW91
c2VEb3duRXZlbnQ6ZXZlbnRdOworI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgICAgICAg
ICBpZiAoW2hpdEhUTUxWaWV3IF9pc1NlbGVjdGlvbkV2ZW50OmV2ZW50XSkKICAgICAgICAgICAg
ICAgICByZXN1bHQgPSBjb3JlRnJhbWUtPmV2ZW50SGFuZGxlcigpLT5ldmVudE1heVN0YXJ0RHJh
ZyhldmVudCk7CisjZW5kaWYKICAgICAgICAgICAgIFtoaXRIVE1MVmlldyBfc2V0TW91c2VEb3du
RXZlbnQ6bmlsXTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMzMyNCw2
ICszMzMwLDcgQEAgV0VCQ09SRV9DT01NQU5EKHlhbmtBbmRTZWxlY3QpCiAgICAgV2ViSFRNTFZp
ZXcgKmhpdEhUTUxWaWV3ID0gW2hpdFZpZXcgaXNLaW5kT2ZDbGFzczpbc2VsZiBjbGFzc11dID8g
KFdlYkhUTUxWaWV3ICopaGl0VmlldyA6IG5pbDsKICAgICBpZiAoaGl0SFRNTFZpZXcpIHsKICAg
ICAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAg
ICAgICBpZiAoW2hpdEhUTUxWaWV3IF9pc1NlbGVjdGlvbkV2ZW50OmV2ZW50XSkgewogICAgICAg
ICAgICAgaWYgKEZyYW1lKiBjb3JlRnJhbWUgPSBjb3JlKFtoaXRIVE1MVmlldyBfZnJhbWVdKSkg
ewogICAgICAgICAgICAgICAgIFtoaXRIVE1MVmlldyBfc2V0TW91c2VEb3duRXZlbnQ6ZXZlbnRd
OwpAQCAtMzMzMSw2ICszMzM4LDcgQEAgV0VCQ09SRV9DT01NQU5EKHlhbmtBbmRTZWxlY3QpCiAg
ICAgICAgICAgICAgICAgW2hpdEhUTUxWaWV3IF9zZXRNb3VzZURvd25FdmVudDpuaWxdOwogICAg
ICAgICAgICAgfQogICAgICAgICB9CisjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKICAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAgICAgcmV0dXJuIFtoaXRWaWV3IHNob3VsZERl
bGF5V2luZG93T3JkZXJpbmdGb3JFdmVudDpldmVudF07CkBAIC0zNDExLDYgKzM0MTksNyBAQCBk
b25lOgogICAgIFtzZWxmIHJlbGVhc2VdOwogfQogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkK
IC0gKE5TRHJhZ09wZXJhdGlvbilkcmFnZ2luZ1NvdXJjZU9wZXJhdGlvbk1hc2tGb3JMb2NhbDoo
Qk9PTClpc0xvY2FsCiB7CiAgICAgQVNTRVJUKCFbc2VsZiBfd2ViVmlld10gfHwgW3NlbGYgX2lz
VG9wSFRNTFZpZXddKTsKQEAgLTM1MjgsNiArMzUzNyw3IEBAIG5vUHJvbWlzZWREYXRhOgogICAg
IAogICAgIHJldHVybiBbTlNBcnJheSBhcnJheVdpdGhPYmplY3Q6W3BhdGggbGFzdFBhdGhDb21w
b25lbnRdXTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCiAtICh2b2lkKW1v
dXNlVXA6KE5TRXZlbnQgKilldmVudAogewpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0gYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBiN2VkYThl
Li4zNWQwMDNjIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysg
Yi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMTY1NywxMiArMTY1NywxNCBAQCBz
dGF0aWMgaW5saW5lIElNUCBnZXRNZXRob2QoaWQgbywgU0VMIHMpCiAgICAgICAgICAgICAgICAg
ICAgICAgICB0eXBlczp0eXBlc107CiB9CiAKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogLSAo
dm9pZClfc2V0SW5pdGlhdGVkRHJhZzooQk9PTClpbml0aWF0ZWREcmFnCiB7CiAgICAgaWYgKCFf
cHJpdmF0ZS0+cGFnZSkKICAgICAgICAgcmV0dXJuOwogICAgIF9wcml2YXRlLT5wYWdlLT5kcmFn
Q29udHJvbGxlcigpLT5zZXREaWRJbml0aWF0ZURyYWcoaW5pdGlhdGVkRHJhZyk7CiB9CisjZW5k
aWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKIAogI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9S
VCkKIApAQCAtMzE0NCw2ICszMTQ2LDcgQEAgc3RhdGljIGJvb2wgbmVlZHNXZWJWaWV3SW5pdFRo
cmVhZFdvcmthcm91bmQoKQogICAgIHJldHVybiBbc2VsZiBfZWxlbWVudEF0V2luZG93UG9pbnQ6
W3NlbGYgY29udmVydFBvaW50OnBvaW50IHRvVmlldzpuaWxdXTsKIH0KIAorI2lmIEVOQUJMRShE
UkFHX1NVUFBPUlQpCiAvLyBUaGUgZm9sbG93aW5nIDIgaW50ZXJuYWwgTlNWaWV3IG1ldGhvZHMg
YXJlIGNhbGxlZCBvbiB0aGUgZHJhZyBkZXN0aW5hdGlvbiB0byBtYWtlIHNjcm9sbGluZyB3aGls
ZSBkcmFnZ2luZyB3b3JrLgogLy8gU2Nyb2xsaW5nIHdoaWxlIGRyYWdnaW5nIHdpbGwgb25seSB3
b3JrIGlmIHRoZSBkcmFnIGRlc3RpbmF0aW9uIGlzIGluIGEgc2Nyb2xsIHZpZXcuIFRoZSBXZWJW
aWV3IGlzIHRoZSBkcmFnIGRlc3RpbmF0aW9uLiAKIC8vIFdoZW4gZHJhZ2dpbmcgdG8gYSBXZWJW
aWV3LCB0aGUgZG9jdW1lbnQgc3VidmlldyBzaG91bGQgc2Nyb2xsLCBidXQgaXQgZG9lc24ndCBi
ZWNhdXNlIGl0IGlzIG5vdCB0aGUgZHJhZyBkZXN0aW5hdGlvbi4gCkBAIC0zMjEyLDYgKzMyMTUs
NyBAQCBzdGF0aWMgYm9vbCBuZWVkc1dlYlZpZXdJbml0VGhyZWFkV29ya2Fyb3VuZCgpCiAgICAg
RHJhZ0RhdGEgZHJhZ0RhdGEoZHJhZ2dpbmdJbmZvLCBjbGllbnQsIGdsb2JhbCwgKERyYWdPcGVy
YXRpb24pW2RyYWdnaW5nSW5mbyBkcmFnZ2luZ1NvdXJjZU9wZXJhdGlvbk1hc2tdLCAmaGVscGVy
KTsKICAgICByZXR1cm4gY29yZShzZWxmKS0+ZHJhZ0NvbnRyb2xsZXIoKS0+cGVyZm9ybURyYWco
JmRyYWdEYXRhKTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCiAtIChOU1Zp
ZXcgKilfaGl0VGVzdDooTlNQb2ludCAqKXBvaW50IGRyYWdUeXBlczooTlNTZXQgKil0eXBlcwog
ewpAQCAtMzM5MiwxNCArMzM5NiwxOCBAQCBzdGF0aWMgV2ViRnJhbWUgKmluY3JlbWVudEZyYW1l
KFdlYkZyYW1lICpmcmFtZSwgQk9PTCBmb3J3YXJkLCBCT09MIHdyYXBGbGFnKQogCiAtICh2b2lk
KW1vdmVEcmFnQ2FyZXRUb1BvaW50OihOU1BvaW50KXBvaW50CiB7CisjaWYgRU5BQkxFKERSQUdf
U1VQUE9SVCkKICAgICBpZiAoUGFnZSogcGFnZSA9IGNvcmUoc2VsZikpCiAgICAgICAgIHBhZ2Ut
PmRyYWdDb250cm9sbGVyKCktPnBsYWNlRHJhZ0NhcmV0KEludFBvaW50KFtzZWxmIGNvbnZlcnRQ
b2ludDpwb2ludCB0b1ZpZXc6bmlsXSkpOworI2VuZGlmCiB9CiAKIC0gKHZvaWQpcmVtb3ZlRHJh
Z0NhcmV0CiB7CisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBpZiAoUGFnZSogcGFnZSA9
IGNvcmUoc2VsZikpCiAgICAgICAgIHBhZ2UtPmRyYWdDb250cm9sbGVyKCktPmRyYWdFbmRlZCgp
OworI2VuZGlmCiB9CiAKIC0gKHZvaWQpc2V0TWFpbkZyYW1lVVJMOihOU1N0cmluZyAqKVVSTFN0
cmluZwotLSAKMS42LjMuMwoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39561</attachid>
            <date>2009-09-14 11:28:31 -0700</date>
            <delta_ts>2009-09-16 11:20:26 -0700</delta_ts>
            <desc>Fix DerivedSources.make for all platforms</desc>
            <filename>0001-Add-ENABLE-DRAG_SUPPORT.patch</filename>
            <type>text/plain</type>
            <size>47176</size>
            <attacher name="Greg Bolsinga">bolsinga</attacher>
            
              <data encoding="base64">RnJvbSBmMmQ4NzNjMjNkZjYyMmMwOTRiNTJiZjM2NzhiMWIzYTZlN2YzZjYzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHcmVnIEJvbHNpbmdhIDxib2xzaW5nYUBhcHBsZS5jb20+CkRh
dGU6IE1vbiwgMTQgU2VwIDIwMDkgMTA6MzI6MjkgLTA3MDAKU3ViamVjdDogW1BBVENIXSBBZGQg
RU5BQkxFKERSQUdfU1VQUE9SVCkKIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yOTIzMwoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpKYXZhU2NyaXB0Q29yZToK
Ciogd3RmL1BsYXRmb3JtLmg6CgpXZWJDb3JlOgoKTm8gbmV3IHRlc3RzLiAoTm8gY2hhbmdlIGlu
IGRlZmF1bHQgYmVoYXZpb3IuKQoKKiBEZXJpdmVkU291cmNlcy5tYWtlOiBVc2UgbmV3IFdlYkNv
cmUuRHJhZ1N1cHBvcnQuZXhwIGZpbGUgaWYgRU5BQkxFX0RSQUdfU1VQUE9SVC4KKiBXZWJDb3Jl
LmJhc2UuZXhwOiBNb3ZlIERyYWcgU3VwcG9ydCBvbmx5IGV4cG9ydHMgdG8gV2ViQ29yZS5EcmFn
U3VwcG9ydC5leHAuCiogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBZGQgV2Vi
Q29yZS5EcmFnU3VwcG9ydC5leHAuCiogZG9tL0NsaXBib2FyZC5oOiBVc2UgRU5BQkxFKERSQUdf
U1VQUE9SVCkgd2hlcmUgYXBwbGljYWJsZS4KKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6IERpdHRv
LgoqIHBhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwOiBXcmFwIGVudGlyZSBmaWxlIGluIEVOQUJMRShE
UkFHX1NVUFBPUlQpLgoqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDogVXNlIEVOQUJMRShEUkFHX1NV
UFBPUlQpIHdoZXJlIGFwcGxpY2FibGUuCihXZWJDb3JlOjpFdmVudEhhbmRsZXI6OkV2ZW50SGFu
ZGxlcik6CihXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmNsZWFyKToKKFdlYkNvcmU6OkV2ZW50SGFu
ZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KToKKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFu
ZGxlTW91c2VSZWxlYXNlRXZlbnQpOgooV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3Vz
ZU1vdmVFdmVudCk6CiogcGFnZS9FdmVudEhhbmRsZXIuaDogRGl0dG8uCiogcGFnZS9QYWdlLmNw
cDogRGl0dG8uCihXZWJDb3JlOjpQYWdlOjpQYWdlKToKKiBwYWdlL1BhZ2UuaDogRGl0dG8uCiog
cGFnZS9tYWMvRHJhZ0NvbnRyb2xsZXJNYWMubW06IFdyYXAgZW50aXJlIGZpbGUgaW4gRU5BQkxF
KERSQUdfU1VQUE9SVCkuCiogcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tOiBVc2UgRU5BQkxF
KERSQUdfU1VQUE9SVCkgd2hlcmUgYXBwbGljYWJsZS4KKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6
cGFzc1N1YmZyYW1lRXZlbnRUb1N1YmZyYW1lKToKKiBwbGF0Zm9ybS9EcmFnRGF0YS5jcHA6IFdy
YXAgZW50aXJlIGZpbGUgaW4gRU5BQkxFKERSQUdfU1VQUE9SVCkuCiogcGxhdGZvcm0vRHJhZ0lt
YWdlLmNwcDogV3JhcCBlbnRpcmUgZmlsZSBpbiBFTkFCTEUoRFJBR19TVVBQT1JUKS4KKiBwbGF0
Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLmg6IFVzZSBFTkFCTEUoRFJBR19TVVBQT1JUKSB3aGVyZSBh
cHBsaWNhYmxlLgoqIHBsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMubW06IERpdHRvLgoqIHBsYXRm
b3JtL21hYy9EcmFnRGF0YU1hYy5tbTogV3JhcCBlbnRpcmUgZmlsZSBpbiBFTkFCTEUoRFJBR19T
VVBQT1JUKS4KKiBwbGF0Zm9ybS9tYWMvRHJhZ0ltYWdlTWFjLm1tOiBXcmFwIGVudGlyZSBmaWxl
IGluIEVOQUJMRShEUkFHX1NVUFBPUlQpLgoqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6IFVz
ZSBFTkFCTEUoRFJBR19TVVBQT1JUKSB3aGVyZSBhcHBsaWNhYmxlLgooV2ViQ29yZTo6UmVuZGVy
TGF5ZXI6OmF1dG9zY3JvbGwpOgoqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOiBEaXR0by4K
KiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6IERpdHRvLgoqIHN2Zy9ncmFwaGljcy9TVkdJbWFn
ZS5jcHA6IERpdHRvLgooV2ViQ29yZTo6U1ZHSW1hZ2U6OmRhdGFDaGFuZ2VkKToKCldlYktpdC9t
YWM6CgoqIFdlYlZpZXcvV2ViRnJhbWUubW06IFVzZSBFTkFCTEUoRFJBR19TVVBQT1JUKSB3aGVy
ZSBhcHBsaWNhYmxlLgoqIFdlYlZpZXcvV2ViRnJhbWVJbnRlcm5hbC5oOiBEaXR0by4KKiBXZWJW
aWV3L1dlYkZyYW1lVmlldy5tbTogRGl0dG8uCigtW1dlYkZyYW1lVmlldyBfc2V0RG9jdW1lbnRW
aWV3Ol0pOgoqIFdlYlZpZXcvV2ViSFRNTFZpZXcubW06IERpdHRvLgooLVtXZWJIVE1MVmlldyBj
bG9zZV0pOgooLVtXZWJIVE1MVmlldyBhY2NlcHRzRmlyc3RNb3VzZTpdKToKKC1bV2ViSFRNTFZp
ZXcgc2hvdWxkRGVsYXlXaW5kb3dPcmRlcmluZ0ZvckV2ZW50Ol0pOgoqIFdlYlZpZXcvV2ViVmll
dy5tbTogRGl0dG8uCigtW1dlYlZpZXcgbW92ZURyYWdDYXJldFRvUG9pbnQ6XSk6CigtW1dlYlZp
ZXcgcmVtb3ZlRHJhZ0NhcmV0XSk6Ci0tLQogSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nICAgICAg
ICAgICAgICAgICAgfCAgICA5ICsrKysrKwogSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgg
ICAgICAgICAgICAgfCAgICA1ICsrKwogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDQxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UgICAgICAgICAgICAgICB8ICAgMTAgKysrKysrKwogV2ViQ29yZS9X
ZWJDb3JlLkRyYWdTdXBwb3J0LmV4cCAgICAgICAgICAgfCAgIDEwICsrKysrKysKIFdlYkNvcmUv
V2ViQ29yZS5iYXNlLmV4cCAgICAgICAgICAgICAgICAgIHwgICAxMCAtLS0tLS0tCiBXZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiB8ICAgIDIgKwogV2ViQ29yZS9kb20v
Q2xpcGJvYXJkLmggICAgICAgICAgICAgICAgICAgfCAgICAyICsKIFdlYkNvcmUvbG9hZGVyL0Vt
cHR5Q2xpZW50cy5oICAgICAgICAgICAgIHwgICAgMiArCiBXZWJDb3JlL3BhZ2UvRHJhZ0NvbnRy
b2xsZXIuY3BwICAgICAgICAgICB8ICAgIDIgKwogV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5j
cHAgICAgICAgICAgICAgfCAgIDMyICsrKysrKysrKysrKysrKysrKysrKysKIFdlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuaCAgICAgICAgICAgICAgIHwgICAzMiArKysrKysrKysrKysrKysrKysr
KysrCiBXZWJDb3JlL3BhZ2UvUGFnZS5jcHAgICAgICAgICAgICAgICAgICAgICB8ICAgIDUgKysr
CiBXZWJDb3JlL3BhZ2UvUGFnZS5oICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKysrCiBX
ZWJDb3JlL3BhZ2UvbWFjL0RyYWdDb250cm9sbGVyTWFjLm1tICAgICB8ICAgIDIgKwogV2ViQ29y
ZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0gICAgICAgfCAgICA4ICsrKysrCiBXZWJDb3Jl
L3BsYXRmb3JtL0RyYWdEYXRhLmNwcCAgICAgICAgICAgICB8ICAgIDIgKwogV2ViQ29yZS9wbGF0
Zm9ybS9EcmFnSW1hZ2UuY3BwICAgICAgICAgICAgfCAgICAzICsrCiBXZWJDb3JlL3BsYXRmb3Jt
L21hYy9DbGlwYm9hcmRNYWMuaCAgICAgICB8ICAgIDIgKwogV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
Q2xpcGJvYXJkTWFjLm1tICAgICAgfCAgICAyICsKIFdlYkNvcmUvcGxhdGZvcm0vbWFjL0RyYWdE
YXRhTWFjLm1tICAgICAgIHwgICAgMyArLQogV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJhZ0ltYWdl
TWFjLm1tICAgICAgfCAgICAyICsKIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCAg
ICAgICAgIHwgICAgMiArCiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwICAgICAg
ICB8ICAgIDIgKwogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggICAgICAgICAgfCAg
ICAyICsKIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcCAgICAgICAgIHwgICAgNCAr
KysKIFdlYktpdC9tYWMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgIHwgICAxOSArKysr
KysrKysrKysrCiBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0gICAgICAgICAgICB8ICAg
IDIgKwogV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lSW50ZXJuYWwuaCAgICAgfCAgICAyICsK
IFdlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZVZpZXcubW0gICAgICAgIHwgICAgMiArCiBXZWJL
aXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0gICAgICAgICB8ICAgMTAgKysrKysrKwogV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gICAgICAgICAgICAgfCAgICA4ICsrKysrCiAzMiBm
aWxlcyBjaGFuZ2VkLCAyMzIgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCiBjcmVhdGUg
bW9kZSAxMDA2NDQgV2ViQ29yZS9XZWJDb3JlLkRyYWdTdXBwb3J0LmV4cAoKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRl
eCAxNDQyNjg0Li44NDU5MjQ0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cK
KysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMDktMDkt
MTQgIEdyZWcgQm9sc2luZ2EgIDxib2xzaW5nYUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEVOQUJMRShEUkFHX1NVUFBPUlQp
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTIzMwor
CisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMDktMDktMTQgIENzYWJhIE9zenRyb2dv
bmFjICA8b3N6aUBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVG9yIEFy
bmUgVmVzdGLDuC4KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKaW5kZXggODQyZmZiZC4uZTgxNGI0MSAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKKysrIGIvSmF2YVNjcmlwdENv
cmUvd3RmL1BsYXRmb3JtLmgKQEAgLTQxMCw2ICs0MTAsNyBAQAogI2lmIFBMQVRGT1JNKElQSE9O
RSkKICNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGIDEKICNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAx
CisjZGVmaW5lIEVOQUJMRV9EUkFHX1NVUFBPUlQgMAogI2RlZmluZSBFTkFCTEVfRlRQRElSIDEK
ICNkZWZpbmUgRU5BQkxFX01BQ19KQVZBX0JSSURHRSAwCiAjZGVmaW5lIEVOQUJMRV9JQ09OREFU
QUJBU0UgMApAQCAtNTUyLDYgKzU1MywxMCBAQAogI2RlZmluZSBFTkFCTEVfRlRQRElSIDEKICNl
bmRpZgogCisjaWYgIWRlZmluZWQoRU5BQkxFX0RSQUdfU1VQUE9SVCkKKyNkZWZpbmUgRU5BQkxF
X0RSQUdfU1VQUE9SVCAxCisjZW5kaWYKKwogI2lmICFkZWZpbmVkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkKICNkZWZpbmUgRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUIDAKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5MzUw
YmYyLi4zNmEwYWU3IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDA5LTA5LTE0ICBHcmVnIEJvbHNpbmdhICA8
Ym9sc2luZ2FAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBFTkFCTEUoRFJBR19TVVBQT1JUKQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkyMzMKKworICAgICAgICBObyBuZXcgdGVz
dHMuIChObyBjaGFuZ2UgaW4gZGVmYXVsdCBiZWhhdmlvci4pCisKKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy5tYWtlOiBVc2UgbmV3IFdlYkNvcmUuRHJhZ1N1cHBvcnQuZXhwIGZpbGUgaWYgRU5B
QkxFX0RSQUdfU1VQUE9SVC4KKyAgICAgICAgKiBXZWJDb3JlLmJhc2UuZXhwOiBNb3ZlIERyYWcg
U3VwcG9ydCBvbmx5IGV4cG9ydHMgdG8gV2ViQ29yZS5EcmFnU3VwcG9ydC5leHAuCisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBZGQgV2ViQ29yZS5EcmFnU3Vw
cG9ydC5leHAuCisgICAgICAgICogZG9tL0NsaXBib2FyZC5oOiBVc2UgRU5BQkxFKERSQUdfU1VQ
UE9SVCkgd2hlcmUgYXBwbGljYWJsZS4KKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6
IERpdHRvLgorICAgICAgICAqIHBhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwOiBXcmFwIGVudGlyZSBm
aWxlIGluIEVOQUJMRShEUkFHX1NVUFBPUlQpLgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVy
LmNwcDogVXNlIEVOQUJMRShEUkFHX1NVUFBPUlQpIHdoZXJlIGFwcGxpY2FibGUuCisgICAgICAg
IChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OkV2ZW50SGFuZGxlcik6CisgICAgICAgIChXZWJDb3Jl
OjpFdmVudEhhbmRsZXI6OmNsZWFyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6
aGFuZGxlTW91c2VQcmVzc0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6
aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVy
OjpoYW5kbGVNb3VzZU1vdmVFdmVudCk6CisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuaDog
RGl0dG8uCisgICAgICAgICogcGFnZS9QYWdlLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpQYWdlOjpQYWdlKToKKyAgICAgICAgKiBwYWdlL1BhZ2UuaDogRGl0dG8uCisgICAgICAgICog
cGFnZS9tYWMvRHJhZ0NvbnRyb2xsZXJNYWMubW06IFdyYXAgZW50aXJlIGZpbGUgaW4gRU5BQkxF
KERSQUdfU1VQUE9SVCkuCisgICAgICAgICogcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tOiBV
c2UgRU5BQkxFKERSQUdfU1VQUE9SVCkgd2hlcmUgYXBwbGljYWJsZS4KKyAgICAgICAgKFdlYkNv
cmU6OkV2ZW50SGFuZGxlcjo6cGFzc1N1YmZyYW1lRXZlbnRUb1N1YmZyYW1lKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9EcmFnRGF0YS5jcHA6IFdyYXAgZW50aXJlIGZpbGUgaW4gRU5BQkxFKERSQUdf
U1VQUE9SVCkuCisgICAgICAgICogcGxhdGZvcm0vRHJhZ0ltYWdlLmNwcDogV3JhcCBlbnRpcmUg
ZmlsZSBpbiBFTkFCTEUoRFJBR19TVVBQT1JUKS4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvQ2xp
cGJvYXJkTWFjLmg6IFVzZSBFTkFCTEUoRFJBR19TVVBQT1JUKSB3aGVyZSBhcHBsaWNhYmxlLgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMubW06IERpdHRvLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9EcmFnRGF0YU1hYy5tbTogV3JhcCBlbnRpcmUgZmlsZSBpbiBFTkFCTEUo
RFJBR19TVVBQT1JUKS4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvRHJhZ0ltYWdlTWFjLm1tOiBX
cmFwIGVudGlyZSBmaWxlIGluIEVOQUJMRShEUkFHX1NVUFBPUlQpLgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMYXllci5jcHA6IFVzZSBFTkFCTEUoRFJBR19TVVBQT1JUKSB3aGVyZSBhcHBs
aWNhYmxlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmF1dG9zY3JvbGwpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOiBEaXR0by4KKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0Lmg6IERpdHRvLgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdJ
bWFnZS5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U1ZHSW1hZ2U6OmRhdGFDaGFuZ2Vk
KToKKwogMjAwOS0wOS0xNCAgQ2FtZXJvbiBNY0Nvcm1hY2sgIDxjYW1AbWNjLmlkLmF1PgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGZhZTc1
ZTMuLmU2Zjc0MDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysg
Yi9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTQ2NCw2ICs0NjQsMTIgQEAgRU5BQkxF
X0RBU0hCT0FSRF9TVVBQT1JUID0gMAogCiBlbmRpZgogCitpZmVxICgkKHNoZWxsIGdjYyAtRSAt
UCAtZE0gLUYgJChCVUlMVF9QUk9EVUNUU19ESVIpICQoRlJBTUVXT1JLX0ZMQUdTKSBXZWJDb3Jl
L0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9QbGF0Zm9ybS5oIHwgZ3JlcCBFTkFCTEVfRFJBR19TVVBQ
T1JUIHwgY3V0IC1kJyAnIC1mMyksIDEpCisgICAgRU5BQkxFX0RSQUdfU1VQUE9SVCA9IDEKK2Vs
c2UKKyAgICBFTkFCTEVfRFJBR19TVVBQT1JUID0gMAorZW5kaWYKKwogIyBDU1MgcHJvcGVydHkg
bmFtZXMgYW5kIHZhbHVlIGtleXdvcmRzCiAKIFdFQkNPUkVfQ1NTX1BST1BFUlRZX05BTUVTIDo9
ICQoV2ViQ29yZSkvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KQEAgLTc2Miw2ICs3NjgsMTAgQEAg
aWZlcSAoJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpLCAxKQogICAgIFdFQkNPUkVfRVhQT1JU
X0RFUEVOREVOQ0lFUyA6PSAkKFdFQkNPUkVfRVhQT1JUX0RFUEVOREVOQ0lFUykgV2ViQ29yZS5E
YXNoYm9hcmRTdXBwb3J0LmV4cAogZW5kaWYKIAoraWZlcSAoJChFTkFCTEVfRFJBR19TVVBQT1JU
KSwgMSkKKyAgICBXRUJDT1JFX0VYUE9SVF9ERVBFTkRFTkNJRVMgOj0gJChXRUJDT1JFX0VYUE9S
VF9ERVBFTkRFTkNJRVMpIFdlYkNvcmUuRHJhZ1N1cHBvcnQuZXhwCitlbmRpZgorCiBpZmVxICgk
KGZpbmRzdHJpbmcgMTAuNCwkKE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCkpLCAxMC40KQogICAg
IFdFQkNPUkVfRVhQT1JUX0RFUEVOREVOQ0lFUyA6PSAkKFdFQkNPUkVfRVhQT1JUX0RFUEVOREVO
Q0lFUykgV2ViQ29yZS5UaWdlci5leHAKIGVuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNv
cmUuRHJhZ1N1cHBvcnQuZXhwIGIvV2ViQ29yZS9XZWJDb3JlLkRyYWdTdXBwb3J0LmV4cApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2ZkMDc2Ci0tLSAvZGV2L251bGwKKysr
IGIvV2ViQ29yZS9XZWJDb3JlLkRyYWdTdXBwb3J0LmV4cApAQCAtMCwwICsxLDEwIEBACitfX1pO
N1dlYkNvcmUxMkV2ZW50SGFuZGxlcjE3ZHJhZ1NvdXJjZUVuZGVkQXRFUktOU18xOFBsYXRmb3Jt
TW91c2VFdmVudEVOU18xM0RyYWdPcGVyYXRpb25FCitfX1pON1dlYkNvcmUxMkV2ZW50SGFuZGxl
cjE3ZHJhZ1NvdXJjZU1vdmVkVG9FUktOU18xOFBsYXRmb3JtTW91c2VFdmVudEUKK19fWk43V2Vi
Q29yZTEyRXZlbnRIYW5kbGVyMTdldmVudE1heVN0YXJ0RHJhZ0VQN05TRXZlbnQKK19fWk43V2Vi
Q29yZTE0RHJhZ0NvbnRyb2xsZXIxMGRyYWdFeGl0ZWRFUE5TXzhEcmFnRGF0YUUKK19fWk43V2Vi
Q29yZTE0RHJhZ0NvbnRyb2xsZXIxMWRyYWdFbnRlcmVkRVBOU184RHJhZ0RhdGFFCitfX1pON1dl
YkNvcmUxNERyYWdDb250cm9sbGVyMTFkcmFnVXBkYXRlZEVQTlNfOERyYWdEYXRhRQorX19aTjdX
ZWJDb3JlMTREcmFnQ29udHJvbGxlcjExcGVyZm9ybURyYWdFUE5TXzhEcmFnRGF0YUUKK19fWk43
V2ViQ29yZTE0RHJhZ0NvbnRyb2xsZXIxNHBsYWNlRHJhZ0NhcmV0RVJLTlNfOEludFBvaW50RQor
X19aTjdXZWJDb3JlMTREcmFnQ29udHJvbGxlcjlkcmFnRW5kZWRFdgorX19aTjdXZWJDb3JlOERy
YWdEYXRhQzFFUDExb2JqY19vYmplY3RSS05TXzhJbnRQb2ludEVTNV9OU18xM0RyYWdPcGVyYXRp
b25FUE5TXzE2UGFzdGVib2FyZEhlbHBlckUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5i
YXNlLmV4cCBiL1dlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cAppbmRleCA3NGNmMzM1Li5jYmMwZWM1
IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAKKysrIGIvV2ViQ29yZS9XZWJD
b3JlLmJhc2UuZXhwCkBAIC0yMjMsOSArMjIzLDYgQEAgX19aTjdXZWJDb3JlMTJFdmVudEhhbmRs
ZXIxMm1vdXNlRHJhZ2dlZEVQN05TRXZlbnQKIF9fWk43V2ViQ29yZTEyRXZlbnRIYW5kbGVyMTRj
dXJyZW50TlNFdmVudEV2CiBfX1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjE0c2Nyb2xsT3ZlcmZs
b3dFTlNfMTVTY3JvbGxEaXJlY3Rpb25FTlNfMTdTY3JvbGxHcmFudWxhcml0eUUKIF9fWk43V2Vi
Q29yZTEyRXZlbnRIYW5kbGVyMTVzZW5kU2Nyb2xsRXZlbnRFdgotX19aTjdXZWJDb3JlMTJFdmVu
dEhhbmRsZXIxN2RyYWdTb3VyY2VFbmRlZEF0RVJLTlNfMThQbGF0Zm9ybU1vdXNlRXZlbnRFTlNf
MTNEcmFnT3BlcmF0aW9uRQotX19aTjdXZWJDb3JlMTJFdmVudEhhbmRsZXIxN2RyYWdTb3VyY2VN
b3ZlZFRvRVJLTlNfMThQbGF0Zm9ybU1vdXNlRXZlbnRFCi1fX1pON1dlYkNvcmUxMkV2ZW50SGFu
ZGxlcjE3ZXZlbnRNYXlTdGFydERyYWdFUDdOU0V2ZW50CiBfX1pON1dlYkNvcmUxMkV2ZW50SGFu
ZGxlcjIwaGFuZGxlVGV4dElucHV0RXZlbnRFUktOU182U3RyaW5nRVBOU181RXZlbnRFYmIKIF9f
Wk43V2ViQ29yZTEyRXZlbnRIYW5kbGVyMjBoaXRUZXN0UmVzdWx0QXRQb2ludEVSS05TXzhJbnRQ
b2ludEViYk5TXzE3SGl0VGVzdFNjcm9sbGJhcnNFCiBfX1pON1dlYkNvcmUxMkV2ZW50SGFuZGxl
cjIwc2VuZENvbnRleHRNZW51RXZlbnRFUDdOU0V2ZW50CkBAIC0zMDEsMTIgKzI5OCw2IEBAIF9f
Wk43V2ViQ29yZTE0RG9jdW1lbnRMb2FkZXI4c2V0RnJhbWVFUE5TXzVGcmFtZUUKIF9fWk43V2Vi
Q29yZTE0RG9jdW1lbnRMb2FkZXI4c2V0VGl0bGVFUktOU182U3RyaW5nRQogX19aTjdXZWJDb3Jl
MTREb2N1bWVudExvYWRlckMyRVJLTlNfMTVSZXNvdXJjZVJlcXVlc3RFUktOU18xNFN1YnN0aXR1
dGVEYXRhRQogX19aTjdXZWJDb3JlMTREb2N1bWVudExvYWRlckQyRXYKLV9fWk43V2ViQ29yZTE0
RHJhZ0NvbnRyb2xsZXIxMGRyYWdFeGl0ZWRFUE5TXzhEcmFnRGF0YUUKLV9fWk43V2ViQ29yZTE0
RHJhZ0NvbnRyb2xsZXIxMWRyYWdFbnRlcmVkRVBOU184RHJhZ0RhdGFFCi1fX1pON1dlYkNvcmUx
NERyYWdDb250cm9sbGVyMTFkcmFnVXBkYXRlZEVQTlNfOERyYWdEYXRhRQotX19aTjdXZWJDb3Jl
MTREcmFnQ29udHJvbGxlcjExcGVyZm9ybURyYWdFUE5TXzhEcmFnRGF0YUUKLV9fWk43V2ViQ29y
ZTE0RHJhZ0NvbnRyb2xsZXIxNHBsYWNlRHJhZ0NhcmV0RVJLTlNfOEludFBvaW50RQotX19aTjdX
ZWJDb3JlMTREcmFnQ29udHJvbGxlcjlkcmFnRW5kZWRFdgogX19aTjdXZWJDb3JlMTRSZXNvdXJj
ZUhhbmRsZTEycmVsZWFzZVByb3h5RXYKIF9fWk43V2ViQ29yZTE0UmVzb3VyY2VIYW5kbGUyMGZv
cmNlQ29udGVudFNuaWZmaW5nRXYKIF9fWk43V2ViQ29yZTE0UmVzb3VyY2VMb2FkZXIxNGNhbmNl
bGxlZEVycm9yRXYKQEAgLTYyNCw3ICs2MTUsNiBAQCBfX1pON1dlYkNvcmU4RG9jdW1lbnQyM3Jl
bmRlcmVkUmVjdHNGb3JNYXJrZXJzRU5TXzE0RG9jdW1lbnRNYXJrZXIxME1hcmtlclR5cGVFCiBf
X1pON1dlYkNvcmU4RG9jdW1lbnQyNHNldFNob3VsZENyZWF0ZVJlbmRlcmVyc0ViCiBfX1pON1dl
YkNvcmU4RG9jdW1lbnQzNnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0c0V2CiBf
X1pON1dlYkNvcmU4RG9jdW1lbnQ0aGVhZEV2Ci1fX1pON1dlYkNvcmU4RHJhZ0RhdGFDMUVQMTFv
YmpjX29iamVjdFJLTlNfOEludFBvaW50RVM1X05TXzEzRHJhZ09wZXJhdGlvbkVQTlNfMTZQYXN0
ZWJvYXJkSGVscGVyRQogX19aTjdXZWJDb3JlOEZvcm1EYXRhRDFFdgogX19aTjdXZWJDb3JlOElu
dFBvaW50QzFFUks4X05TUG9pbnQKIF9fWk43V2ViQ29yZThQb3NpdGlvbkMxRU4zV1RGMTBQYXNz
UmVmUHRySU5TXzROb2RlRUVFaQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCAyOTU2NDk2Li5iMGVhYTRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtOTgzNiw2ICs5ODM2LDcgQEAKIAkJRkU4MERBNjIwRTlDNDcw
MzAwMEQ2Rjc1IC8qIEpTR2VvcG9zaXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNHZW9wb3NpdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRTgw
REE2RDBFOUM0NzJGMDAwRDZGNzUgLyogSlNQb3NpdGlvbkVycm9yLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUG9zaXRpb25FcnJvci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUZFODBEQTZFMEU5QzQ3MkYwMDBENkY3NSAvKiBKU1Bvc2l0aW9u
RXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQb3NpdGlvbkVycm9y
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFQTQxMzNGMTA1RDY3QUUwMDA3MjM2
RiAvKiBXZWJDb3JlLkRyYWdTdXBwb3J0LmV4cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuZXhwb3J0
czsgcGF0aCA9IFdlYkNvcmUuRHJhZ1N1cHBvcnQuZXhwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGRUFCOTAxMDBFQTUxQjlDMDA2MzQ4QzMgLyogR2VvbG9jYXRpb25TZXJ2aWNlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdlb2xvY2F0aW9uU2Vydmlj
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFQUI5MDExMEVBNTFCOUMwMDYz
NDhDMyAvKiBHZW9sb2NhdGlvblNlcnZpY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gR2VvbG9jYXRpb25TZXJ2aWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAv
KiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCkBAIC0xMDQzNSw2ICsxMDQzNiw3IEBA
CiAJCQljaGlsZHJlbiA9ICgKIAkJCQlGNThFRjU4RTAyREZERkI3MDE4NjM1Q0EgLyogV2ViQ29y
ZS5iYXNlLmV4cCAqLywKIAkJCQk0NDkxOTU5RDBGQkUxN0Q3MDBEOUY4MjQgLyogV2ViQ29yZS5E
YXNoYm9hcmRTdXBwb3J0LmV4cCAqLywKKwkJCQlGRUE0MTMzRjEwNUQ2N0FFMDAwNzIzNkYgLyog
V2ViQ29yZS5EcmFnU3VwcG9ydC5leHAgKi8sCiAJCQkJNDQ5MTk1OUMwRkJFMTdENzAwRDlGODI0
IC8qIFdlYkNvcmUuSk5JLmV4cCAqLywKIAkJCQk0NDkxOTU5QjBGQkUxN0Q3MDBEOUY4MjQgLyog
V2ViQ29yZS5MUDY0LmV4cCAqLywKIAkJCQk0NDkxOTU5QTBGQkUxN0Q3MDBEOUY4MjQgLyogV2Vi
Q29yZS5OUEFQSS5leHAgKi8sCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9DbGlwYm9hcmQuaCBi
L1dlYkNvcmUvZG9tL0NsaXBib2FyZC5oCmluZGV4IDBmZWE2MDQuLmY2YzA5YjIgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZG9tL0NsaXBib2FyZC5oCisrKyBiL1dlYkNvcmUvZG9tL0NsaXBib2FyZC5o
CkBAIC02NCw3ICs2NCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2
b2lkIHNldERyYWdJbWFnZUVsZW1lbnQoTm9kZSosIGNvbnN0IEludFBvaW50JikgPSAwOwogICAg
ICAgICAKICAgICAgICAgdmlydHVhbCBEcmFnSW1hZ2VSZWYgY3JlYXRlRHJhZ0ltYWdlKEludFBv
aW50JiBkcmFnTG9jYXRpb24pIGNvbnN0ID0gMDsKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQog
ICAgICAgICB2aXJ0dWFsIHZvaWQgZGVjbGFyZUFuZFdyaXRlRHJhZ0ltYWdlKEVsZW1lbnQqLCBj
b25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgRnJhbWUqKSA9IDA7CisjZW5kaWYKICAg
ICAgICAgdmlydHVhbCB2b2lkIHdyaXRlVVJMKGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmLCBG
cmFtZSopID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIHdyaXRlUmFuZ2UoUmFuZ2UqLCBGcmFt
ZSopID0gMDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9X
ZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCBjMDhlMjYxLi45ZWIwNTAxIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuaApAQCAtNDM2LDYgKzQzNiw3IEBAIHB1YmxpYzoKICNlbmRpZgogfTsK
IAorI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiBjbGFzcyBFbXB0eURyYWdDbGllbnQgOiBwdWJs
aWMgRHJhZ0NsaWVudCB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RW1wdHlEcmFnQ2xpZW50KCkg
e30KQEAgLTQ0Nyw2ICs0NDgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBEcmFnSW1hZ2VSZWYg
Y3JlYXRlRHJhZ0ltYWdlRm9yTGluayhLVVJMJiwgY29uc3QgU3RyaW5nJiwgRnJhbWUqKSB7IHJl
dHVybiAwOyB9CiAgICAgdmlydHVhbCB2b2lkIGRyYWdDb250cm9sbGVyRGVzdHJveWVkKCkgeyB9
CiB9OworI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAKIGNsYXNzIEVtcHR5SW5zcGVj
dG9yQ2xpZW50IDogcHVibGljIEluc3BlY3RvckNsaWVudCB7CiBwdWJsaWM6CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwIGIvV2ViQ29yZS9wYWdlL0RyYWdDb250
cm9sbGVyLmNwcAppbmRleCA5N2Y1M2E1Li4wMWY0YmQ2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bh
Z2UvRHJhZ0NvbnRyb2xsZXIuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5j
cHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJEcmFn
Q29udHJvbGxlci5oIgogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICNpbmNsdWRlICJDU1NT
dHlsZURlY2xhcmF0aW9uLmgiCiAjaW5jbHVkZSAiQ2xpcGJvYXJkLmgiCiAjaW5jbHVkZSAiQ2xp
cGJvYXJkQWNjZXNzUG9saWN5LmgiCkBAIC03ODUsMyArNzg2LDQgQEAgdm9pZCBEcmFnQ29udHJv
bGxlcjo6cGxhY2VEcmFnQ2FyZXQoY29uc3QgSW50UG9pbnQmIHdpbmRvd1BvaW50KQogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5jcHAKaW5kZXggZTlkZDNiZi4uMzFmMmE0MiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5j
cHAKQEAgLTc4LDYgKzc4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3Bh
Y2UgSFRNTE5hbWVzOwogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKIC8vIFRoZSBsaW5rIGRy
YWcgaHlzdGVyZXNpcyBpcyBtdWNoIGxhcmdlciB0aGFuIHRoZSBvdGhlcnMgYmVjYXVzZSB0aGVy
ZQogLy8gbmVlZHMgdG8gYmUgZW5vdWdoIHNwYWNlIHRvIGNhbmNlbCB0aGUgbGluayBwcmVzcyB3
aXRob3V0IHN0YXJ0aW5nIGEgbGluayBkcmFnLAogLy8gYW5kIGJlY2F1c2UgZHJhZ2dpbmcgbGlu
a3MgaXMgcmFyZS4KQEAgLTg1LDYgKzg2LDcgQEAgY29uc3QgaW50IExpbmtEcmFnSHlzdGVyZXNp
cyA9IDQwOwogY29uc3QgaW50IEltYWdlRHJhZ0h5c3RlcmVzaXMgPSA1OwogY29uc3QgaW50IFRl
eHREcmFnSHlzdGVyZXNpcyA9IDM7CiBjb25zdCBpbnQgR2VuZXJhbERyYWdIeXN0ZXJlc2lzID0g
MzsKKyNlbmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCiAvLyBNYXRjaCBrZXkgY29kZSBv
ZiBjb21wb3NpdGlvbiBrZXlkb3duIGV2ZW50IG9uIHdpbmRvd3MuCiAvLyBJRSBzZW5kcyBWS19Q
Uk9DRVNTS0VZIHdoaWNoIGhhcyB2YWx1ZSAyMjk7CkBAIC0xMzYsNyArMTM4LDkgQEAgRXZlbnRI
YW5kbGVyOjpFdmVudEhhbmRsZXIoRnJhbWUqIGZyYW1lKQogICAgICwgbV9tb3VzZVByZXNzZWQo
ZmFsc2UpCiAgICAgLCBtX2NhcHR1cmVzRHJhZ2dpbmcoZmFsc2UpCiAgICAgLCBtX21vdXNlRG93
bk1heVN0YXJ0U2VsZWN0KGZhbHNlKQorI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgLCBt
X21vdXNlRG93bk1heVN0YXJ0RHJhZyhmYWxzZSkKKyNlbmRpZgogICAgICwgbV9tb3VzZURvd25X
YXNTaW5nbGVDbGlja0luU2VsZWN0aW9uKGZhbHNlKQogICAgICwgbV9iZWdhblNlbGVjdGluZ1Rl
eHQoZmFsc2UpCiAgICAgLCBtX3BhblNjcm9sbEluUHJvZ3Jlc3MoZmFsc2UpCkBAIC0xNjksMTEg
KzE3MywxMyBAQCBFdmVudEhhbmRsZXI6On5FdmVudEhhbmRsZXIoKQogewogfQogICAgIAorI2lm
IEVOQUJMRShEUkFHX1NVUFBPUlQpCiBFdmVudEhhbmRsZXI6OkV2ZW50SGFuZGxlckRyYWdTdGF0
ZSYgRXZlbnRIYW5kbGVyOjpkcmFnU3RhdGUoKQogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwo
RXZlbnRIYW5kbGVyRHJhZ1N0YXRlLCBzdGF0ZSwgKCkpOwogICAgIHJldHVybiBzdGF0ZTsKIH0K
KyNlbmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIAogdm9pZCBFdmVudEhhbmRsZXI6
OmNsZWFyKCkKIHsKQEAgLTE5MCw3ICsxOTYsOSBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6Y2xlYXIo
KQogICAgIG1fY2xpY2tDb3VudCA9IDA7CiAgICAgbV9jbGlja05vZGUgPSAwOwogICAgIG1fZnJh
bWVTZXRCZWluZ1Jlc2l6ZWQgPSAwOworI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgbV9k
cmFnVGFyZ2V0ID0gMDsKKyNlbmRpZgogICAgIG1fY3VycmVudE1vdXNlUG9zaXRpb24gPSBJbnRQ
b2ludCgpOwogICAgIG1fbW91c2VQcmVzc05vZGUgPSAwOwogICAgIG1fbW91c2VQcmVzc2VkID0g
ZmFsc2U7CkBAIC0zNDQsOCArMzUyLDEwIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3Vz
ZVByZXNzRXZlbnRTaW5nbGVDbGljayhjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSCiAKIGJv
b2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQoY29uc3QgTW91c2VFdmVudFdp
dGhIaXRUZXN0UmVzdWx0cyYgZXZlbnQpCiB7CisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAg
ICAvLyBSZXNldCBkcmFnIHN0YXRlLgogICAgIGRyYWdTdGF0ZSgpLm1fZHJhZ1NyYyA9IDA7Cisj
ZW5kaWYKIAogICAgIGlmIChTY3JvbGxWaWV3KiBzY3JvbGxWaWV3ID0gbV9mcmFtZS0+dmlldygp
KSB7CiAgICAgICAgIGlmIChzY3JvbGxWaWV3LT5pc1BvaW50SW5TY3JvbGxiYXJDb3JuZXIoZXZl
bnQuZXZlbnQoKS5wb3MoKSkpCkBAIC0zNTgsOCArMzY4LDEwIEBAIGJvb2wgRXZlbnRIYW5kbGVy
OjpoYW5kbGVNb3VzZVByZXNzRXZlbnQoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0
cyYgZXZlCiAgICAgLy8gc28gaXQncyBhbGxvd2VkIHRvIHN0YXJ0IGEgZHJhZyBvciBzZWxlY3Rp
b24uCiAgICAgbV9tb3VzZURvd25NYXlTdGFydFNlbGVjdCA9IGNhbk1vdXNlRG93blN0YXJ0U2Vs
ZWN0KGV2ZW50LnRhcmdldE5vZGUoKSk7CiAgICAgCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkK
ICAgICAvLyBDYXJlZnVsIHRoYXQgdGhlIGRyYWcgc3RhcnRpbmcgbG9naWMgc3RheXMgaW4gc3lu
YyB3aXRoIGV2ZW50TWF5U3RhcnREcmFnKCkKICAgICBtX21vdXNlRG93bk1heVN0YXJ0RHJhZyA9
IHNpbmdsZUNsaWNrOworI2VuZGlmCiAKICAgICBtX21vdXNlRG93bldhc1NpbmdsZUNsaWNrSW5T
ZWxlY3Rpb24gPSBmYWxzZTsKIApAQCAtMzg3LDcgKzM5OSw5IEBAIGJvb2wgRXZlbnRIYW5kbGVy
OjpoYW5kbGVNb3VzZVByZXNzRXZlbnQoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0
cyYgZXZlCiAgICAgTm9kZSogaW5uZXJOb2RlID0gZXZlbnQudGFyZ2V0Tm9kZSgpOwogCiAgICAg
bV9tb3VzZVByZXNzTm9kZSA9IGlubmVyTm9kZTsKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQog
ICAgIG1fZHJhZ1N0YXJ0UG9zID0gZXZlbnQuZXZlbnQoKS5wb3MoKTsKKyNlbmRpZgogCiAgICAg
Ym9vbCBzd2FsbG93RXZlbnQgPSBmYWxzZTsKICAgICBtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+c2V0
Q2FyZXRCbGlua2luZ1N1c3BlbmRlZCh0cnVlKTsKQEAgLTQwNyw2ICs0MjEsNyBAQCBib29sIEV2
ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0
VGVzdFJlc3VsdHMmIGV2ZQogICAgIHJldHVybiBzd2FsbG93RXZlbnQ7CiB9CiAKKyNpZiBFTkFC
TEUoRFJBR19TVVBQT1JUKQogYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlRHJhZ2dlZEV2
ZW50KGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGV2ZW50KQogewogICAgIGlm
IChoYW5kbGVEcmFnKGV2ZW50KSkKQEAgLTU0Niw2ICs1NjEsNyBAQCB2b2lkIEV2ZW50SGFuZGxl
cjo6dXBkYXRlU2VsZWN0aW9uRm9yTW91c2VEcmFnKE5vZGUqIHRhcmdldE5vZGUsIGNvbnN0IElu
dFBvaW50JgogICAgICAgICBtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+c2V0U2VsZWN0aW9uKG5ld1Nl
bGVjdGlvbik7CiAgICAgfQogfQorI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAg
CiBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VVcChjb25zdCBNb3VzZUV2ZW50V2l0aEhp
dFRlc3RSZXN1bHRzJiBldmVudCkKIHsKQEAgLTU3Myw3ICs1ODksOSBAQCBib29sIEV2ZW50SGFu
ZGxlcjo6aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0
UmVzdWx0cyYgZQogICAgIG1fZnJhbWUtPnNlbGVjdGlvbigpLT5zZXRDYXJldEJsaW5raW5nU3Vz
cGVuZGVkKGZhbHNlKTsKICAgICBtX21vdXNlUHJlc3NlZCA9IGZhbHNlOwogICAgIG1fY2FwdHVy
ZXNEcmFnZ2luZyA9IGZhbHNlOworI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgbV9tb3Vz
ZURvd25NYXlTdGFydERyYWcgPSBmYWxzZTsKKyNlbmRpZgogICAgIG1fbW91c2VEb3duTWF5U3Rh
cnRTZWxlY3QgPSBmYWxzZTsKICAgICBtX21vdXNlRG93bk1heVN0YXJ0QXV0b3Njcm9sbCA9IGZh
bHNlOwogICAgIG1fbW91c2VEb3duV2FzSW5TdWJmcmFtZSA9IGZhbHNlOwpAQCAtNTg1LDcgKzYw
Myw5IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVJlbGVhc2VFdmVudChjb25zdCBN
b3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiBlCiAgICAgLy8gb24gdGhlIHNlbGVjdGlvbiwg
dGhlIHNlbGVjdGlvbiBnb2VzIGF3YXkuICBIb3dldmVyLCBpZiB3ZSBhcmUKICAgICAvLyBlZGl0
aW5nLCBwbGFjZSB0aGUgY2FyZXQuCiAgICAgaWYgKG1fbW91c2VEb3duV2FzU2luZ2xlQ2xpY2tJ
blNlbGVjdGlvbiAmJiAhbV9iZWdhblNlbGVjdGluZ1RleHQKKyNpZiBFTkFCTEUoRFJBR19TVVBQ
T1JUKQogICAgICAgICAgICAgJiYgbV9kcmFnU3RhcnRQb3MgPT0gZXZlbnQuZXZlbnQoKS5wb3Mo
KQorI2VuZGlmCiAgICAgICAgICAgICAmJiBtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+aXNSYW5nZSgp
CiAgICAgICAgICAgICAmJiBldmVudC5ldmVudCgpLmJ1dHRvbigpICE9IFJpZ2h0QnV0dG9uKSB7
CiAgICAgICAgIFZpc2libGVTZWxlY3Rpb24gbmV3U2VsZWN0aW9uOwpAQCAtNzI4LDYgKzc0OCw3
IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjpzZXRBdXRvc2Nyb2xsUmVuZGVyZXIoUmVuZGVyT2JqZWN0
KiByZW5kZXJlcikKICAgICBtX2F1dG9zY3JvbGxSZW5kZXJlciA9IHJlbmRlcmVyOwogfQogCisj
aWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKIHZvaWQgRXZlbnRIYW5kbGVyOjphbGxvd0RIVE1MRHJh
Zyhib29sJiBmbGFnREhUTUwsIGJvb2wmIGZsYWdVQSkgY29uc3QKIHsKICAgICBmbGFnREhUTUwg
PSBmYWxzZTsKQEAgLTc0OCw2ICs3NjksNyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6YWxsb3dESFRN
TERyYWcoYm9vbCYgZmxhZ0RIVE1MLCBib29sJiBmbGFnVUEpIGNvbnN0CiAgICAgZmxhZ0RIVE1M
ID0gKG1hc2sgJiBEcmFnU291cmNlQWN0aW9uREhUTUwpICE9IERyYWdTb3VyY2VBY3Rpb25Ob25l
OwogICAgIGZsYWdVQSA9ICgobWFzayAmIERyYWdTb3VyY2VBY3Rpb25JbWFnZSkgfHwgKG1hc2sg
JiBEcmFnU291cmNlQWN0aW9uTGluaykgfHwgKG1hc2sgJiBEcmFnU291cmNlQWN0aW9uU2VsZWN0
aW9uKSk7CiB9CisjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICAKIEhpdFRlc3RS
ZXN1bHQgRXZlbnRIYW5kbGVyOjpoaXRUZXN0UmVzdWx0QXRQb2ludChjb25zdCBJbnRQb2ludCYg
cG9pbnQsIGJvb2wgYWxsb3dTaGFkb3dDb250ZW50LCBib29sIGlnbm9yZUNsaXBwaW5nLCBIaXRU
ZXN0U2Nyb2xsYmFycyB0ZXN0U2Nyb2xsYmFycykKIHsKQEAgLTExMDQsNyArMTEyNiw5IEBAIGJv
b2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQoY29uc3QgUGxhdGZvcm1Nb3Vz
ZUV2ZW50JiBtb3VzZUV2ZW50KQogICAgIG1fY2FwdHVyZXNEcmFnZ2luZyA9IHRydWU7CiAgICAg
bV9jdXJyZW50TW91c2VQb3NpdGlvbiA9IG1vdXNlRXZlbnQucG9zKCk7CiAgICAgbV9tb3VzZURv
d25UaW1lc3RhbXAgPSBtb3VzZUV2ZW50LnRpbWVzdGFtcCgpOworI2lmIEVOQUJMRShEUkFHX1NV
UFBPUlQpCiAgICAgbV9tb3VzZURvd25NYXlTdGFydERyYWcgPSBmYWxzZTsKKyNlbmRpZgogICAg
IG1fbW91c2VEb3duTWF5U3RhcnRTZWxlY3QgPSBmYWxzZTsKICAgICBtX21vdXNlRG93bk1heVN0
YXJ0QXV0b3Njcm9sbCA9IGZhbHNlOwogICAgIGlmIChGcmFtZVZpZXcqIHZpZXcgPSBtX2ZyYW1l
LT52aWV3KCkpCkBAIC0xMzgwLDggKzE0MDQsMTAgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRs
ZU1vdXNlTW92ZUV2ZW50KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgbW91c2VFdmVudCwgSGkK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgCiAgICAgc3dhbGxvd0V2ZW50ID0gZGlzcGF0Y2hN
b3VzZUV2ZW50KGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVFdmVudCwgbWV2LnRhcmdldE5vZGUoKSwg
ZmFsc2UsIDAsIG1vdXNlRXZlbnQsIHRydWUpOworI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAg
ICAgaWYgKCFzd2FsbG93RXZlbnQpCiAgICAgICAgIHN3YWxsb3dFdmVudCA9IGhhbmRsZU1vdXNl
RHJhZ2dlZEV2ZW50KG1ldik7CisjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKIAogICAg
IHJldHVybiBzd2FsbG93RXZlbnQ7CiB9CkBAIC0xNDUxLDYgKzE0NzcsNyBAQCBib29sIEV2ZW50
SGFuZGxlcjo6aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50
JiBtb3VzZUV2ZW50KQogICAgIHJldHVybiBzd2FsbG93TW91c2VVcEV2ZW50IHx8IHN3YWxsb3dD
bGlja0V2ZW50IHx8IHN3YWxsb3dNb3VzZVJlbGVhc2VFdmVudDsKIH0KIAorI2lmIEVOQUJMRShE
UkFHX1NVUFBPUlQpCiBib29sIEV2ZW50SGFuZGxlcjo6ZGlzcGF0Y2hEcmFnRXZlbnQoY29uc3Qg
QXRvbWljU3RyaW5nJiBldmVudFR5cGUsIE5vZGUqIGRyYWdUYXJnZXQsIGNvbnN0IFBsYXRmb3Jt
TW91c2VFdmVudCYgZXZlbnQsIENsaXBib2FyZCogY2xpcGJvYXJkKQogewogICAgIEZyYW1lVmll
dyogdmlldyA9IG1fZnJhbWUtPnZpZXcoKTsKQEAgLTE1NTgsNiArMTU4NSw3IEBAIHZvaWQgRXZl
bnRIYW5kbGVyOjpjbGVhckRyYWdTdGF0ZSgpCiAgICAgbV9zZW5kaW5nRXZlbnRUb1N1YnZpZXcg
PSBmYWxzZTsKICNlbmRpZgogfQorI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAKIHZv
aWQgRXZlbnRIYW5kbGVyOjpzZXRDYXB0dXJpbmdNb3VzZUV2ZW50c05vZGUoUGFzc1JlZlB0cjxO
b2RlPiBuKQogewpAQCAtMTg2NCw2ICsxODkyLDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmNhbk1v
dXNlRG93blN0YXJ0U2VsZWN0KE5vZGUqIG5vZGUpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKKyNp
ZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogYm9vbCBFdmVudEhhbmRsZXI6OmNhbk1vdXNlRHJhZ0V4
dGVuZFNlbGVjdChOb2RlKiBub2RlKQogewogICAgIGlmICghbm9kZSB8fCAhbm9kZS0+cmVuZGVy
ZXIoKSkKQEAgLTE4NzYsNiArMTkwNSw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpjYW5Nb3VzZURy
YWdFeHRlbmRTZWxlY3QoTm9kZSogbm9kZSkKIAogICAgIHJldHVybiB0cnVlOwogfQorI2VuZGlm
IC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAKIHZvaWQgRXZlbnRIYW5kbGVyOjpzZXRSZXNpemlu
Z0ZyYW1lU2V0KEhUTUxGcmFtZVNldEVsZW1lbnQqIGZyYW1lU2V0KQogewpAQCAtMjA5Miw2ICsy
MTIyLDcgQEAgdm9pZCBFdmVudEhhbmRsZXI6OmRlZmF1bHRLZXlib2FyZEV2ZW50SGFuZGxlcihL
ZXlib2FyZEV2ZW50KiBldmVudCkKICAgICB9CiB9CiAKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JU
KQogYm9vbCBFdmVudEhhbmRsZXI6OmRyYWdIeXN0ZXJlc2lzRXhjZWVkZWQoY29uc3QgRmxvYXRQ
b2ludCYgZmxvYXREcmFnVmlld3BvcnRMb2NhdGlvbikgY29uc3QKIHsKICAgICBJbnRQb2ludCBk
cmFnVmlld3BvcnRMb2NhdGlvbigoaW50KWZsb2F0RHJhZ1ZpZXdwb3J0TG9jYXRpb24ueCgpLCAo
aW50KWZsb2F0RHJhZ1ZpZXdwb3J0TG9jYXRpb24ueSgpKTsKQEAgLTIyOTEsNiArMjMyMiw3IEBA
IGNsZWFudXBEcmFnOgogICAgIC8vIE5vIG1vcmUgZGVmYXVsdCBoYW5kbGluZyAobGlrZSBzZWxl
Y3Rpb24pLCB3aGV0aGVyIHdlJ3JlIHBhc3QgdGhlIGh5c3RlcmVzaXMgYm91bmRzIG9yIG5vdAog
ICAgIHJldHVybiB0cnVlOwogfQorI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgIAog
Ym9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZVRleHRJbnB1dEV2ZW50KGNvbnN0IFN0cmluZyYgdGV4
dCwgRXZlbnQqIHVuZGVybHlpbmdFdmVudCwgYm9vbCBpc0xpbmVCcmVhaywgYm9vbCBpc0JhY2tU
YWIpCiB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9XZWJDb3Jl
L3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5kZXggYmQ1YzMxMi4uMTM0MzNjZSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRs
ZXIuaApAQCAtNjIsMTAgKzYyLDEyIEBAIGNsYXNzIFNWR0VsZW1lbnRJbnN0YW5jZTsKIGNsYXNz
IFRleHRFdmVudDsKIGNsYXNzIFdpZGdldDsKICAgICAKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JU
KQogZXh0ZXJuIGNvbnN0IGludCBMaW5rRHJhZ0h5c3RlcmVzaXM7CiBleHRlcm4gY29uc3QgaW50
IEltYWdlRHJhZ0h5c3RlcmVzaXM7CiBleHRlcm4gY29uc3QgaW50IFRleHREcmFnSHlzdGVyZXNp
czsKIGV4dGVybiBjb25zdCBpbnQgR2VuZXJhbERyYWdIeXN0ZXJlc2lzOworI2VuZGlmIC8vIEVO
QUJMRShEUkFHX1NVUFBPUlQpCiAKIGVudW0gSGl0VGVzdFNjcm9sbGJhcnMgeyBTaG91bGRIaXRU
ZXN0U2Nyb2xsYmFycywgRG9udEhpdFRlc3RTY3JvbGxiYXJzIH07CiAKQEAgLTc2LDcgKzc4LDkg
QEAgcHVibGljOgogCiAgICAgdm9pZCBjbGVhcigpOwogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9S
VCkKICAgICB2b2lkIHVwZGF0ZVNlbGVjdGlvbkZvck1vdXNlRHJhZygpOworI2VuZGlmCiAKICAg
ICBOb2RlKiBtb3VzZVByZXNzTm9kZSgpIGNvbnN0OwogICAgIHZvaWQgc2V0TW91c2VQcmVzc05v
ZGUoUGFzc1JlZlB0cjxOb2RlPik7CkBAIC05NSw5ICs5OSwxMSBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIHNldENhcHR1cmluZ01vdXNlRXZlbnRzTm9kZShQYXNzUmVmUHRyPE5vZGU+KTsKIAorI2lm
IEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgYm9vbCB1cGRhdGVEcmFnQW5kRHJvcChjb25zdCBQ
bGF0Zm9ybU1vdXNlRXZlbnQmLCBDbGlwYm9hcmQqKTsKICAgICB2b2lkIGNhbmNlbERyYWdBbmRE
cm9wKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYsIENsaXBib2FyZCopOwogICAgIGJvb2wgcGVy
Zm9ybURyYWdBbmREcm9wKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYsIENsaXBib2FyZCopOwor
I2VuZGlmCiAKICAgICB2b2lkIHNjaGVkdWxlSG92ZXJTdGF0ZVVwZGF0ZSgpOwogCkBAIC0xMTUs
NyArMTIxLDkgQEAgcHVibGljOgogCiAgICAgYm9vbCBzY3JvbGxSZWN1cnNpdmVseShTY3JvbGxE
aXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5KTsKIAorI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQp
CiAgICAgYm9vbCBzaG91bGREcmFnQXV0b05vZGUoTm9kZSosIGNvbnN0IEludFBvaW50JikgY29u
c3Q7IC8vIC13ZWJraXQtdXNlci1kcmFnID09IGF1dG8KKyNlbmRpZgogCiAgICAgYm9vbCB0YWJz
VG9MaW5rcyhLZXlib2FyZEV2ZW50KikgY29uc3Q7CiAgICAgYm9vbCB0YWJzVG9BbGxDb250cm9s
cyhLZXlib2FyZEV2ZW50KikgY29uc3Q7CkBAIC0xNDQsMTAgKzE1MiwxMiBAQCBwdWJsaWM6CiAg
ICAgICAgIGJvb2wgaXNMaW5lQnJlYWsgPSBmYWxzZSwgYm9vbCBpc0JhY2tUYWIgPSBmYWxzZSk7
CiAgICAgdm9pZCBkZWZhdWx0VGV4dElucHV0RXZlbnRIYW5kbGVyKFRleHRFdmVudCopOwogCisj
aWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBib29sIGV2ZW50TWF5U3RhcnREcmFnKGNvbnN0
IFBsYXRmb3JtTW91c2VFdmVudCYpIGNvbnN0OwogICAgIAogICAgIHZvaWQgZHJhZ1NvdXJjZU1v
dmVkVG8oY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50Jik7CiAgICAgdm9pZCBkcmFnU291cmNlRW5k
ZWRBdChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmLCBEcmFnT3BlcmF0aW9uKTsKKyNlbmRpZgog
CiAgICAgdm9pZCBmb2N1c0RvY3VtZW50VmlldygpOwogCkBAIC0xNzcsNiArMTg3LDcgQEAgcHVi
bGljOgogI2VuZGlmCiAKIHByaXZhdGU6CisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBz
dHJ1Y3QgRXZlbnRIYW5kbGVyRHJhZ1N0YXRlIHsKICAgICAgICAgUmVmUHRyPE5vZGU+IG1fZHJh
Z1NyYzsgLy8gZWxlbWVudCB0aGF0IG1heSBiZSBhIGRyYWcgc291cmNlLCBmb3IgdGhlIGN1cnJl
bnQgbW91c2UgZ2VzdHVyZQogICAgICAgICBib29sIG1fZHJhZ1NyY0lzTGluazsKQEAgLTE5MSw2
ICsyMDIsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdCBkb3VibGUgVGV4dERyYWdEZWxh
eTsKICAgICAKICAgICBQYXNzUmVmUHRyPENsaXBib2FyZD4gY3JlYXRlRHJhZ2dpbmdDbGlwYm9h
cmQoKSBjb25zdDsKKyNlbmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIAogICAgIGJv
b2wgZXZlbnRBY3RpdmF0ZWRWaWV3KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYpIGNvbnN0Owog
ICAgIHZvaWQgc2VsZWN0Q2xvc2VzdFdvcmRGcm9tTW91c2VFdmVudChjb25zdCBNb3VzZUV2ZW50
V2l0aEhpdFRlc3RSZXN1bHRzJik7CkBAIC0yMDIsNyArMjE0LDkgQEAgcHJpdmF0ZToKICAgICBi
b29sIGhhbmRsZU1vdXNlUHJlc3NFdmVudFNpbmdsZUNsaWNrKGNvbnN0IE1vdXNlRXZlbnRXaXRo
SGl0VGVzdFJlc3VsdHMmKTsKICAgICBib29sIGhhbmRsZU1vdXNlUHJlc3NFdmVudERvdWJsZUNs
aWNrKGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmKTsKICAgICBib29sIGhhbmRs
ZU1vdXNlUHJlc3NFdmVudFRyaXBsZUNsaWNrKGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJl
c3VsdHMmKTsKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIGJvb2wgaGFuZGxlTW91c2VE
cmFnZ2VkRXZlbnQoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYpOworI2VuZGlm
CiAgICAgYm9vbCBoYW5kbGVNb3VzZVJlbGVhc2VFdmVudChjb25zdCBNb3VzZUV2ZW50V2l0aEhp
dFRlc3RSZXN1bHRzJik7CiAKICAgICB2b2lkIGhhbmRsZUtleWJvYXJkU2VsZWN0aW9uTW92ZW1l
bnQoS2V5Ym9hcmRFdmVudCopOwpAQCAtMjE1LDcgKzIyOSw5IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBob3ZlclRpbWVyRmlyZWQoVGltZXI8RXZlbnRIYW5kbGVyPiopOwogCiAgICAgc3RhdGljIGJv
b2wgY2FuTW91c2VEb3duU3RhcnRTZWxlY3QoTm9kZSopOworI2lmIEVOQUJMRShEUkFHX1NVUFBP
UlQpCiAgICAgc3RhdGljIGJvb2wgY2FuTW91c2VEcmFnRXh0ZW5kU2VsZWN0KE5vZGUqKTsKKyNl
bmRpZgogCiAgICAgdm9pZCBoYW5kbGVBdXRvc2Nyb2xsKFJlbmRlck9iamVjdCopOwogICAgIHZv
aWQgc3RhcnRBdXRvc2Nyb2xsVGltZXIoKTsKQEAgLTIzMiwxOCArMjQ4LDIyIEBAIHByaXZhdGU6
CiAgICAgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyBwcmVwYXJlTW91c2VFdmVudChjb25z
dCBIaXRUZXN0UmVxdWVzdCYsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYpOwogCiAgICAgYm9v
bCBkaXNwYXRjaE1vdXNlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIE5vZGUq
IHRhcmdldCwgYm9vbCBjYW5jZWxhYmxlLCBpbnQgY2xpY2tDb3VudCwgY29uc3QgUGxhdGZvcm1N
b3VzZUV2ZW50JiwgYm9vbCBzZXRVbmRlcik7CisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAg
ICBib29sIGRpc3BhdGNoRHJhZ0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBO
b2RlKiB0YXJnZXQsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYsIENsaXBib2FyZCopOwogCiAg
ICAgdm9pZCBmcmVlQ2xpcGJvYXJkKCk7CiAKICAgICBib29sIGhhbmRsZURyYWcoY29uc3QgTW91
c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYpOworI2VuZGlmCiAgICAgYm9vbCBoYW5kbGVNb3Vz
ZVVwKGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmKTsKKyNpZiBFTkFCTEUoRFJB
R19TVVBQT1JUKQogICAgIHZvaWQgY2xlYXJEcmFnU3RhdGUoKTsKIAogICAgIGJvb2wgZGlzcGF0
Y2hEcmFnU3JjRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IFBsYXRm
b3JtTW91c2VFdmVudCYpOwogCiAgICAgYm9vbCBkcmFnSHlzdGVyZXNpc0V4Y2VlZGVkKGNvbnN0
IEZsb2F0UG9pbnQmKSBjb25zdDsKICAgICBib29sIGRyYWdIeXN0ZXJlc2lzRXhjZWVkZWQoY29u
c3QgSW50UG9pbnQmKSBjb25zdDsKKyNlbmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCiAg
ICAgYm9vbCBwYXNzTW91c2VQcmVzc0V2ZW50VG9TdWJmcmFtZShNb3VzZUV2ZW50V2l0aEhpdFRl
c3RSZXN1bHRzJiwgRnJhbWUqIHN1YmZyYW1lKTsKICAgICBib29sIHBhc3NNb3VzZU1vdmVFdmVu
dFRvU3ViZnJhbWUoTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYsIEZyYW1lKiBzdWJmcmFt
ZSwgSGl0VGVzdFJlc3VsdCogaG92ZXJlZE5vZGUgPSAwKTsKQEAgLTI2MiwxNiArMjgyLDIyIEBA
IHByaXZhdGU6CiAgICAgdm9pZCBkZWZhdWx0U3BhY2VFdmVudEhhbmRsZXIoS2V5Ym9hcmRFdmVu
dCopOwogICAgIHZvaWQgZGVmYXVsdFRhYkV2ZW50SGFuZGxlcihLZXlib2FyZEV2ZW50Kik7CiAK
KyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIHZvaWQgYWxsb3dESFRNTERyYWcoYm9vbCYg
ZmxhZ0RIVE1MLCBib29sJiBmbGFnVUEpIGNvbnN0OworI2VuZGlmCiAKICAgICAvLyBUaGUgZm9s
bG93aW5nIGFyZSBjYWxsZWQgYXQgdGhlIGJlZ2lubmluZyBvZiBoYW5kbGVNb3VzZVVwIGFuZCBo
YW5kbGVEcmFnLiAgCiAgICAgLy8gSWYgdGhleSByZXR1cm4gdHJ1ZSBpdCBpbmRpY2F0ZXMgdGhh
dCB0aGV5IGhhdmUgY29uc3VtZWQgdGhlIGV2ZW50LgogICAgIGJvb2wgZXZlbnRMb29wSGFuZGxl
TW91c2VVcChjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJik7CisjaWYgRU5BQkxF
KERSQUdfU1VQUE9SVCkKICAgICBib29sIGV2ZW50TG9vcEhhbmRsZU1vdXNlRHJhZ2dlZChjb25z
dCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJik7CisjZW5kaWYKIAogICAgIGJvb2wgaW52
ZXJ0U2Vuc2VPZlRhYnNUb0xpbmtzKEtleWJvYXJkRXZlbnQqKSBjb25zdDsKIAorI2lmIEVOQUJM
RShEUkFHX1NVUFBPUlQpCiAgICAgdm9pZCB1cGRhdGVTZWxlY3Rpb25Gb3JNb3VzZURyYWcoTm9k
ZSogdGFyZ2V0Tm9kZSwgY29uc3QgSW50UG9pbnQmIGxvY2FsUG9pbnQpOworI2VuZGlmCiAKICAg
ICB2b2lkIHVwZGF0ZUxhc3RTY3JvbGxiYXJVbmRlck1vdXNlKFNjcm9sbGJhciosIGJvb2wpOwog
CkBAIC0yOTAsMTEgKzMxNiwxNSBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxOb2RlPiBtX21vdXNl
UHJlc3NOb2RlOwogCiAgICAgYm9vbCBtX21vdXNlRG93bk1heVN0YXJ0U2VsZWN0OworI2lmIEVO
QUJMRShEUkFHX1NVUFBPUlQpCiAgICAgYm9vbCBtX21vdXNlRG93bk1heVN0YXJ0RHJhZzsKKyNl
bmRpZgogICAgIGJvb2wgbV9tb3VzZURvd25XYXNTaW5nbGVDbGlja0luU2VsZWN0aW9uOwogICAg
IGJvb2wgbV9iZWdhblNlbGVjdGluZ1RleHQ7CiAKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQog
ICAgIEludFBvaW50IG1fZHJhZ1N0YXJ0UG9zOworI2VuZGlmCiAKICAgICBJbnRQb2ludCBtX3Bh
blNjcm9sbFN0YXJ0UG9zOwogICAgIGJvb2wgbV9wYW5TY3JvbGxJblByb2dyZXNzOwpAQCAtMzI4
LDcgKzM1OCw5IEBAIHByaXZhdGU6CiAgICAgaW50IG1fY2xpY2tDb3VudDsKICAgICBSZWZQdHI8
Tm9kZT4gbV9jbGlja05vZGU7CiAKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIFJlZlB0
cjxOb2RlPiBtX2RyYWdUYXJnZXQ7CisjZW5kaWYKICAgICAKICAgICBSZWZQdHI8SFRNTEZyYW1l
U2V0RWxlbWVudD4gbV9mcmFtZVNldEJlaW5nUmVzaXplZDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wYWdlL1BhZ2UuY3BwIGIvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDRjNDNlY2UuLmMy
Y2U0NGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9XZWJDb3JlL3Bh
Z2UvUGFnZS5jcHAKQEAgLTEwMCw3ICsxMDAsOSBAQCBzdGF0aWMgdm9pZCBuZXR3b3JrU3RhdGVD
aGFuZ2VkKCkKIFBhZ2U6OlBhZ2UoQ2hyb21lQ2xpZW50KiBjaHJvbWVDbGllbnQsIENvbnRleHRN
ZW51Q2xpZW50KiBjb250ZXh0TWVudUNsaWVudCwgRWRpdG9yQ2xpZW50KiBlZGl0b3JDbGllbnQs
IERyYWdDbGllbnQqIGRyYWdDbGllbnQsIEluc3BlY3RvckNsaWVudCogaW5zcGVjdG9yQ2xpZW50
KQogICAgIDogbV9jaHJvbWUobmV3IENocm9tZSh0aGlzLCBjaHJvbWVDbGllbnQpKQogICAgICwg
bV9kcmFnQ2FyZXRDb250cm9sbGVyKG5ldyBTZWxlY3Rpb25Db250cm9sbGVyKDAsIHRydWUpKQor
I2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgLCBtX2RyYWdDb250cm9sbGVyKG5ldyBEcmFn
Q29udHJvbGxlcih0aGlzLCBkcmFnQ2xpZW50KSkKKyNlbmRpZgogICAgICwgbV9mb2N1c0NvbnRy
b2xsZXIobmV3IEZvY3VzQ29udHJvbGxlcih0aGlzKSkKICAgICAsIG1fY29udGV4dE1lbnVDb250
cm9sbGVyKG5ldyBDb250ZXh0TWVudUNvbnRyb2xsZXIodGhpcywgY29udGV4dE1lbnVDbGllbnQp
KQogICAgICwgbV9pbnNwZWN0b3JDb250cm9sbGVyKG5ldyBJbnNwZWN0b3JDb250cm9sbGVyKHRo
aXMsIGluc3BlY3RvckNsaWVudCkpCkBAIC0xMjYsNiArMTI4LDkgQEAgUGFnZTo6UGFnZShDaHJv
bWVDbGllbnQqIGNocm9tZUNsaWVudCwgQ29udGV4dE1lbnVDbGllbnQqIGNvbnRleHRNZW51Q2xp
ZW50LCBFZGkKICAgICAsIG1fY3VzdG9tSFRNTFRva2VuaXplckNodW5rU2l6ZSgtMSkKICAgICAs
IG1fY2FuU3RhcnRQbHVnaW5zKHRydWUpCiB7CisjaWYgIUVOQUJMRShEUkFHX1NVUFBPUlQpCisg
ICAgVU5VU0VEX1BBUkFNKGRyYWdDbGllbnQpOworI2VuZGlmCiAgICAgaWYgKCFhbGxQYWdlcykg
ewogICAgICAgICBhbGxQYWdlcyA9IG5ldyBIYXNoU2V0PFBhZ2UqPjsKICAgICAgICAgCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCAz
YzhhYWZhLi44OGRmMDc3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1dl
YkNvcmUvcGFnZS9QYWdlLmgKQEAgLTEyNSw3ICsxMjUsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKICAgICAgICAgQ2hyb21lKiBjaHJvbWUoKSBjb25zdCB7IHJldHVybiBtX2Nocm9tZS5nZXQo
KTsgfQogICAgICAgICBTZWxlY3Rpb25Db250cm9sbGVyKiBkcmFnQ2FyZXRDb250cm9sbGVyKCkg
Y29uc3QgeyByZXR1cm4gbV9kcmFnQ2FyZXRDb250cm9sbGVyLmdldCgpOyB9CisjaWYgRU5BQkxF
KERSQUdfU1VQUE9SVCkKICAgICAgICAgRHJhZ0NvbnRyb2xsZXIqIGRyYWdDb250cm9sbGVyKCkg
Y29uc3QgeyByZXR1cm4gbV9kcmFnQ29udHJvbGxlci5nZXQoKTsgfQorI2VuZGlmCiAgICAgICAg
IEZvY3VzQ29udHJvbGxlciogZm9jdXNDb250cm9sbGVyKCkgY29uc3QgeyByZXR1cm4gbV9mb2N1
c0NvbnRyb2xsZXIuZ2V0KCk7IH0KICAgICAgICAgQ29udGV4dE1lbnVDb250cm9sbGVyKiBjb250
ZXh0TWVudUNvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVybiBtX2NvbnRleHRNZW51Q29udHJvbGxl
ci5nZXQoKTsgfQogICAgICAgICBJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0b3JDb250cm9s
bGVyKCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JDb250cm9sbGVyLmdldCgpOyB9CkBAIC0y
MTcsNyArMjE5LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIE93blB0cjxDaHJv
bWU+IG1fY2hyb21lOwogICAgICAgICBPd25QdHI8U2VsZWN0aW9uQ29udHJvbGxlcj4gbV9kcmFn
Q2FyZXRDb250cm9sbGVyOworI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgICAgIE93blB0
cjxEcmFnQ29udHJvbGxlcj4gbV9kcmFnQ29udHJvbGxlcjsKKyNlbmRpZgogICAgICAgICBPd25Q
dHI8Rm9jdXNDb250cm9sbGVyPiBtX2ZvY3VzQ29udHJvbGxlcjsKICAgICAgICAgT3duUHRyPENv
bnRleHRNZW51Q29udHJvbGxlcj4gbV9jb250ZXh0TWVudUNvbnRyb2xsZXI7CiAgICAgICAgIE93
blB0cjxJbnNwZWN0b3JDb250cm9sbGVyPiBtX2luc3BlY3RvckNvbnRyb2xsZXI7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BhZ2UvbWFjL0RyYWdDb250cm9sbGVyTWFjLm1tIGIvV2ViQ29yZS9wYWdl
L21hYy9EcmFnQ29udHJvbGxlck1hYy5tbQppbmRleCBjNDc2ZGY3Li5lNGE5OWY5IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvbWFjL0RyYWdDb250cm9sbGVyTWFjLm1tCisrKyBiL1dlYkNvcmUv
cGFnZS9tYWMvRHJhZ0NvbnRyb2xsZXJNYWMubW0KQEAgLTI2LDYgKzI2LDcgQEAKICNpbXBvcnQg
ImNvbmZpZy5oIgogI2ltcG9ydCAiRHJhZ0NvbnRyb2xsZXIuaCIKIAorI2lmIEVOQUJMRShEUkFH
X1NVUFBPUlQpCiAjaW1wb3J0ICJEcmFnRGF0YS5oIgogI2ltcG9ydCAiRnJhbWUuaCIKICNpbXBv
cnQgIkZyYW1lVmlldy5oIgpAQCAtNzYsMyArNzcsNCBAQCB2b2lkIERyYWdDb250cm9sbGVyOjpj
bGVhbnVwQWZ0ZXJTeXN0ZW1EcmFnKCkKIH0KIAogfQorI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NV
UFBPUlQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbSBi
L1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCmluZGV4IDU0YmRmZjkuLjM3NDhh
NDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCisrKyBi
L1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCkBAIC02MCw3ICs2MCw5IEBAIHN0
YXRpYyBpbmxpbmUgSU1QIG1ldGhvZF9zZXRJbXBsZW1lbnRhdGlvbihNZXRob2QgbSwgSU1QIGkp
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiBjb25z
dCBkb3VibGUgRXZlbnRIYW5kbGVyOjpUZXh0RHJhZ0RlbGF5ID0gMC4xNTsKKyNlbmRpZgogCiBz
dGF0aWMgUmV0YWluUHRyPE5TRXZlbnQ+JiBjdXJyZW50TlNFdmVudFNsb3QoKQogewpAQCAtMzcy
LDYgKzM3NCw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpldmVudEFjdGl2YXRlZFZpZXcoY29uc3Qg
UGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVudCkgY29uc3QKICAgICByZXR1cm4gbV9hY3RpdmF0aW9u
RXZlbnROdW1iZXIgPT0gZXZlbnQuZXZlbnROdW1iZXIoKTsKIH0KIAorI2lmIEVOQUJMRShEUkFH
X1NVUFBPUlQpCiBib29sIEV2ZW50SGFuZGxlcjo6ZXZlbnRMb29wSGFuZGxlTW91c2VEcmFnZ2Vk
KGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmKQogewogICAgIE5TVmlldyAqdmll
dyA9IG1vdXNlRG93blZpZXdJZlN0aWxsR29vZCgpOwpAQCAtMzk5LDYgKzQwMiw3IEBAIFBhc3NS
ZWZQdHI8Q2xpcGJvYXJkPiBFdmVudEhhbmRsZXI6OmNyZWF0ZURyYWdnaW5nQ2xpcGJvYXJkKCkg
Y29uc3QKICAgICBbcGFzdGVib2FyZCBkZWNsYXJlVHlwZXM6W05TQXJyYXkgYXJyYXldIG93bmVy
Om5pbF07CiAgICAgcmV0dXJuIENsaXBib2FyZE1hYzo6Y3JlYXRlKHRydWUsIHBhc3RlYm9hcmQs
IENsaXBib2FyZFdyaXRhYmxlLCBtX2ZyYW1lKTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoRFJBR19T
VVBQT1JUKQogICAgIAogYm9vbCBFdmVudEhhbmRsZXI6OmV2ZW50TG9vcEhhbmRsZU1vdXNlVXAo
Y29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYpCiB7CkBAIC00MzAsOCArNDM0LDEw
IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpwYXNzU3ViZnJhbWVFdmVudFRvU3ViZnJhbWUoTW91c2VF
dmVudFdpdGhIaXRUZXN0UmVzdWx0cyYgZXZlCiAgICAgICAgICAgICAvLyBsYXlvdXQgdGVzdHMu
CiAgICAgICAgICAgICBpZiAoIW1fbW91c2VEb3duV2FzSW5TdWJmcmFtZSkKICAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICAgICAgICAg
IGlmIChzdWJmcmFtZS0+cGFnZSgpLT5kcmFnQ29udHJvbGxlcigpLT5kaWRJbml0aWF0ZURyYWco
KSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKICAgICAgICAgY2FzZSBO
U01vdXNlTW92ZWQ6CiAgICAgICAgICAgICAvLyBTaW5jZSB3ZSdyZSBwYXNzaW5nIGluIGN1cnJl
bnROU0V2ZW50KCkgaGVyZSwgd2UgY2FuIGNhbGwKICAgICAgICAgICAgIC8vIGhhbmRsZU1vdXNl
TW92ZUV2ZW50KCkgZGlyZWN0bHksIHNpbmNlIHRoZSBzYXZlL3Jlc3RvcmUgb2YKQEAgLTcxOCw2
ICs3MjQsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6c2VuZENvbnRleHRNZW51RXZlbnQoTlNFdmVu
dCAqZXZlbnQpCiAgICAgcmV0dXJuIHNlbmRDb250ZXh0TWVudUV2ZW50KFBsYXRmb3JtTW91c2VF
dmVudChldmVudCwgcGFnZS0+Y2hyb21lKCktPnBsYXRmb3JtV2luZG93KCkpKTsKIH0KIAorI2lm
IEVOQUJMRShEUkFHX1NVUFBPUlQpCiBib29sIEV2ZW50SGFuZGxlcjo6ZXZlbnRNYXlTdGFydERy
YWcoTlNFdmVudCAqZXZlbnQpCiB7CiAgICAgUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKTsK
QEAgLTcyNSw1ICs3MzIsNiBAQCBib29sIEV2ZW50SGFuZGxlcjo6ZXZlbnRNYXlTdGFydERyYWco
TlNFdmVudCAqZXZlbnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gZXZlbnRN
YXlTdGFydERyYWcoUGxhdGZvcm1Nb3VzZUV2ZW50KGV2ZW50LCBwYWdlLT5jaHJvbWUoKS0+cGxh
dGZvcm1XaW5kb3coKSkpOwogfQorI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAKIH0K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEuY3BwIGIvV2ViQ29yZS9wbGF0
Zm9ybS9EcmFnRGF0YS5jcHAKaW5kZXggYmYyMjc1YS4uZmFhNGYxMiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9EcmFnRGF0YS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnRGF0
YS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJE
cmFnRGF0YS5oIgogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogI2lmICFQTEFURk9STShNQUMpCkBAIC00MCwzICs0MSw0IEBAIERyYWdEYXRhOjpEcmFn
RGF0YShEcmFnRGF0YVJlZiBkYXRhLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNv
bnN0IEludFBvCiAjZW5kaWYKIAogfQorI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdJbWFnZS5jcHAgYi9XZWJDb3JlL3BsYXRm
b3JtL0RyYWdJbWFnZS5jcHAKaW5kZXggYWRmOWE1Ny4uMjI0YTdiZCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9EcmFnSW1hZ2UuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0lt
YWdlLmNwcApAQCAtMjUsNiArMjUsOCBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiRHJhZ0ltYWdlLmgiCisKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogI2luY2x1ZGUgIkRy
YWdDb250cm9sbGVyLmgiCiAKICNpbmNsdWRlICJGcmFtZS5oIgpAQCAtNzIsMyArNzQsNCBAQCBE
cmFnSW1hZ2VSZWYgY3JlYXRlRHJhZ0ltYWdlRm9yU2VsZWN0aW9uKEZyYW1lKiBmcmFtZSkKIH0K
IAogfQorI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBi
b2FyZE1hYy5oCmluZGV4IDliZGQyNzYuLjNkM2M3OGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBi
b2FyZE1hYy5oCkBAIC02Nyw3ICs2Nyw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldERyYWdJbWFn
ZUVsZW1lbnQoTm9kZSAqLCBjb25zdCBJbnRQb2ludCYpOwogICAgIAogICAgIHZpcnR1YWwgRHJh
Z0ltYWdlUmVmIGNyZWF0ZURyYWdJbWFnZShJbnRQb2ludCYgZHJhZ0xvYykgY29uc3Q7CisjaWYg
RU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICB2aXJ0dWFsIHZvaWQgZGVjbGFyZUFuZFdyaXRlRHJh
Z0ltYWdlKEVsZW1lbnQqLCBjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgRnJhbWUq
KTsKKyNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCB3cml0ZVJhbmdlKFJhbmdlKiwgRnJhbWUqIGZy
YW1lKTsKICAgICB2aXJ0dWFsIHZvaWQgd3JpdGVVUkwoY29uc3QgS1VSTCYsIGNvbnN0IFN0cmlu
ZyYsIEZyYW1lKiBmcmFtZSk7CiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9DbGlwYm9hcmRNYWMubW0gYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMubW0K
aW5kZXggMGI0NjFmZC4uNzhmYjY1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
Q2xpcGJvYXJkTWFjLm1tCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5t
bQpAQCAtMzY4LDEyICszNjgsMTQgQEAgdm9pZCBDbGlwYm9hcmRNYWM6OndyaXRlVVJMKGNvbnN0
IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSwgRnJhbWUqIGZyYW1lKQogICAgIFBhc3Rl
Ym9hcmQ6OndyaXRlVVJMKG1fcGFzdGVib2FyZC5nZXQoKSwgbmlsLCB1cmwsIHRpdGxlLCBmcmFt
ZSk7CiB9CiAgICAgCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKIHZvaWQgQ2xpcGJvYXJkTWFj
OjpkZWNsYXJlQW5kV3JpdGVEcmFnSW1hZ2UoRWxlbWVudCogZWxlbWVudCwgY29uc3QgS1VSTCYg
dXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBGcmFtZSogZnJhbWUpCiB7CiAgICAgQVNTRVJUKGZy
YW1lKTsKICAgICBpZiAoUGFnZSogcGFnZSA9IGZyYW1lLT5wYWdlKCkpCiAgICAgICAgIHBhZ2Ut
PmRyYWdDb250cm9sbGVyKCktPmNsaWVudCgpLT5kZWNsYXJlQW5kV3JpdGVEcmFnSW1hZ2UobV9w
YXN0ZWJvYXJkLmdldCgpLCBraXQoZWxlbWVudCksIHVybCwgdGl0bGUsIGZyYW1lKTsKIH0KKyNl
bmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIAogRHJhZ0ltYWdlUmVmIENsaXBib2Fy
ZE1hYzo6Y3JlYXRlRHJhZ0ltYWdlKEludFBvaW50JiBsb2MpIGNvbnN0CiB7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL21hYy9EcmFnRGF0YU1hYy5tbSBiL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL0RyYWdEYXRhTWFjLm1tCmluZGV4IGE3Yjc1MWMuLmU3NDI2MjcgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL0RyYWdEYXRhTWFjLm1tCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL0RyYWdEYXRhTWFjLm1tCkBAIC0yNiw2ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIK
ICNpbXBvcnQgIkRyYWdEYXRhLmgiCiAKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogI2ltcG9y
dCAiQ2xpcGJvYXJkTWFjLmgiCiAjaW1wb3J0ICJDbGlwYm9hcmRBY2Nlc3NQb2xpY3kuaCIKICNp
bXBvcnQgIkRvY3VtZW50LmgiCkBAIC0xMjgsNCArMTI5LDQgQEAgUGFzc1JlZlB0cjxEb2N1bWVu
dEZyYWdtZW50PiBEcmFnRGF0YTo6YXNGcmFnbWVudChEb2N1bWVudCopIGNvbnN0CiB9CiAgICAg
CiB9Ci0KKyNlbmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvRHJhZ0ltYWdlTWFjLm1tIGIvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJh
Z0ltYWdlTWFjLm1tCmluZGV4IDg0MmU2ZDQuLjA2NTkzNGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL0RyYWdJbWFnZU1hYy5tbQorKysgYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9E
cmFnSW1hZ2VNYWMubW0KQEAgLTI2LDYgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2lt
cG9ydCAiRHJhZ0ltYWdlLmgiCiAKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogI2ltcG9ydCAi
Q2FjaGVkSW1hZ2UuaCIKICNpbXBvcnQgIkltYWdlLmgiCiAjaW1wb3J0ICJLVVJMLmgiCkBAIC05
OSwzICsxMDAsNCBAQCBSZXRhaW5QdHI8TlNJbWFnZT4gY3JlYXRlRHJhZ0ltYWdlSWNvbkZvckNh
Y2hlZEltYWdlKENhY2hlZEltYWdlKiBpbWFnZSkKIH0KICAgICAKIH0KKyNlbmRpZiAvLyBFTkFC
TEUoRFJBR19TVVBQT1JUKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGFjYzg4NzMu
LjA4ZjVmNTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAor
KysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTEzNDQsNyArMTM0NCw5
IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmF1dG9zY3JvbGwoKQogICAgIGlmICghZnJhbWVWaWV3KQog
ICAgICAgICByZXR1cm47CiAKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIGZyYW1lLT5l
dmVudEhhbmRsZXIoKS0+dXBkYXRlU2VsZWN0aW9uRm9yTW91c2VEcmFnKCk7CisjZW5kaWYKIAog
ICAgIEludFBvaW50IGN1cnJlbnREb2N1bWVudFBvc2l0aW9uID0gZnJhbWVWaWV3LT53aW5kb3dU
b0NvbnRlbnRzKGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+Y3VycmVudE1vdXNlUG9zaXRpb24oKSk7
CiAgICAgc2Nyb2xsUmVjdFRvVmlzaWJsZShJbnRSZWN0KGN1cnJlbnREb2N1bWVudFBvc2l0aW9u
LCBJbnRTaXplKDEsIDEpKSwgZmFsc2UsIFNjcm9sbEFsaWdubWVudDo6YWxpZ25Ub0VkZ2VJZk5l
ZWRlZCwgU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvRWRnZUlmTmVlZGVkKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwCmluZGV4IDk1YjM4ZjAuLjRjYmM1MzAgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcApAQCAtMTM2OSw2ICsxMzY5LDcgQEAgQ29sb3IgUmVuZGVyT2JqZWN0Ojpz
ZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3IoKSBjb25zdAogICAgIHJldHVybiBjb2xvcjsKIH0KIAor
I2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiBOb2RlKiBSZW5kZXJPYmplY3Q6OmRyYWdnYWJsZU5v
ZGUoYm9vbCBkaHRtbE9LLCBib29sIHVhT0ssIGludCB4LCBpbnQgeSwgYm9vbCYgZGh0bWxXaWxs
RHJhZykgY29uc3QKIHsKICAgICBpZiAoIWRodG1sT0sgJiYgIXVhT0spCkBAIC0xNDAzLDYgKzE0
MDQsNyBAQCBOb2RlKiBSZW5kZXJPYmplY3Q6OmRyYWdnYWJsZU5vZGUoYm9vbCBkaHRtbE9LLCBi
b29sIHVhT0ssIGludCB4LCBpbnQgeSwgYm9vbCYgZAogICAgIH0KICAgICByZXR1cm4gMDsKIH0K
KyNlbmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCiB2b2lkIFJlbmRlck9iamVjdDo6c2Vs
ZWN0aW9uU3RhcnRFbmQoaW50JiBzcG9zLCBpbnQmIGVwb3MpIGNvbnN0CiB7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5oCmluZGV4IDBhMzQ3M2MuLmYzNjExOTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5oCkBAIC02NjIsNyArNjYyLDkgQEAgcHVibGljOgogICAgIC8vIFdoZXRoZXIgb3Igbm90
IGEgZ2l2ZW4gYmxvY2sgbmVlZHMgdG8gcGFpbnQgc2VsZWN0aW9uIGdhcHMuCiAgICAgdmlydHVh
bCBib29sIHNob3VsZFBhaW50U2VsZWN0aW9uR2FwcygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CiAKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIE5vZGUqIGRyYWdnYWJsZU5vZGUoYm9v
bCBkaHRtbE9LLCBib29sIHVhT0ssIGludCB4LCBpbnQgeSwgYm9vbCYgZGh0bWxXaWxsRHJhZykg
Y29uc3Q7CisjZW5kaWYKIAogICAgIC8qKgogICAgICAqIFJldHVybnMgdGhlIGxvY2FsIGNvb3Jk
aW5hdGVzIG9mIHRoZSBjYXJldCB3aXRoaW4gdGhpcyByZW5kZXIgb2JqZWN0LgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwIGIvV2ViQ29yZS9zdmcvZ3JhcGhp
Y3MvU1ZHSW1hZ2UuY3BwCmluZGV4IGNjMTYxYjUuLjNkNGFmZDYgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAorKysgYi9XZWJDb3JlL3N2Zy9ncmFwaGljcy9T
VkdJbWFnZS5jcHAKQEAgLTIyOSw3ICsyMjksMTEgQEAgYm9vbCBTVkdJbWFnZTo6ZGF0YUNoYW5n
ZWQoYm9vbCBhbGxEYXRhUmVjZWl2ZWQpCiAgICAgICAgIHN0YXRpYyBGcmFtZUxvYWRlckNsaWVu
dCogZHVtbXlGcmFtZUxvYWRlckNsaWVudCA9ICBuZXcgRW1wdHlGcmFtZUxvYWRlckNsaWVudDsK
ICAgICAgICAgc3RhdGljIEVkaXRvckNsaWVudCogZHVtbXlFZGl0b3JDbGllbnQgPSBuZXcgRW1w
dHlFZGl0b3JDbGllbnQ7CiAgICAgICAgIHN0YXRpYyBDb250ZXh0TWVudUNsaWVudCogZHVtbXlD
b250ZXh0TWVudUNsaWVudCA9IG5ldyBFbXB0eUNvbnRleHRNZW51Q2xpZW50OworI2lmIEVOQUJM
RShEUkFHX1NVUFBPUlQpCiAgICAgICAgIHN0YXRpYyBEcmFnQ2xpZW50KiBkdW1teURyYWdDbGll
bnQgPSBuZXcgRW1wdHlEcmFnQ2xpZW50OworI2Vsc2UKKyAgICAgICAgc3RhdGljIERyYWdDbGll
bnQqIGR1bW15RHJhZ0NsaWVudCA9IDA7CisjZW5kaWYKICAgICAgICAgc3RhdGljIEluc3BlY3Rv
ckNsaWVudCogZHVtbXlJbnNwZWN0b3JDbGllbnQgPSBuZXcgRW1wdHlJbnNwZWN0b3JDbGllbnQ7
CiAKICAgICAgICAgbV9jaHJvbWVDbGllbnQuc2V0KG5ldyBTVkdJbWFnZUNocm9tZUNsaWVudCh0
aGlzKSk7CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCmluZGV4IDRmMzExNGQuLjg1ZGMyMTAgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCisrKyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDkt
MDktMTQgIEdyZWcgQm9sc2luZ2EgIDxib2xzaW5nYUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEVOQUJMRShEUkFHX1NVUFBP
UlQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTIz
MworCisgICAgICAgICogV2ViVmlldy9XZWJGcmFtZS5tbTogVXNlIEVOQUJMRShEUkFHX1NVUFBP
UlQpIHdoZXJlIGFwcGxpY2FibGUuCisgICAgICAgICogV2ViVmlldy9XZWJGcmFtZUludGVybmFs
Lmg6IERpdHRvLgorICAgICAgICAqIFdlYlZpZXcvV2ViRnJhbWVWaWV3Lm1tOiBEaXR0by4KKyAg
ICAgICAgKC1bV2ViRnJhbWVWaWV3IF9zZXREb2N1bWVudFZpZXc6XSk6CisgICAgICAgICogV2Vi
Vmlldy9XZWJIVE1MVmlldy5tbTogRGl0dG8uCisgICAgICAgICgtW1dlYkhUTUxWaWV3IGNsb3Nl
XSk6CisgICAgICAgICgtW1dlYkhUTUxWaWV3IGFjY2VwdHNGaXJzdE1vdXNlOl0pOgorICAgICAg
ICAoLVtXZWJIVE1MVmlldyBzaG91bGREZWxheVdpbmRvd09yZGVyaW5nRm9yRXZlbnQ6XSk6Cisg
ICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOiBEaXR0by4KKyAgICAgICAgKC1bV2ViVmlldyBt
b3ZlRHJhZ0NhcmV0VG9Qb2ludDpdKToKKyAgICAgICAgKC1bV2ViVmlldyByZW1vdmVEcmFnQ2Fy
ZXRdKToKKwogMjAwOS0wOS0xMSAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEpvbiBIb25leWN1dHQuCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViRnJhbWUubW0gYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0KaW5kZXgg
YzAzZWY1OC4uN2ZlMTAyYSAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1l
Lm1tCisrKyBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQpAQCAtOTIxLDYgKzkyMSw3
IEBAIHN0YXRpYyBpbmxpbmUgV2ViRGF0YVNvdXJjZSAqZGF0YVNvdXJjZShEb2N1bWVudExvYWRl
ciogbG9hZGVyKQogICAgIF9wcml2YXRlLT5jb3JlRnJhbWUtPmNvbXB1dGVBbmRTZXRUeXBpbmdT
dHlsZShjb3JlKHN0eWxlKSwgdW5kb0FjdGlvbik7CiB9CiAKKyNpZiBFTkFCTEUoRFJBR19TVVBQ
T1JUKQogLSAodm9pZClfZHJhZ1NvdXJjZU1vdmVkVG86KE5TUG9pbnQpd2luZG93TG9jCiB7CiAg
ICAgaWYgKCFfcHJpdmF0ZS0+Y29yZUZyYW1lKQpAQCAtOTQ4LDYgKzk0OSw3IEBAIHN0YXRpYyBp
bmxpbmUgV2ViRGF0YVNvdXJjZSAqZGF0YVNvdXJjZShEb2N1bWVudExvYWRlciogbG9hZGVyKQog
ICAgICAgICBMZWZ0QnV0dG9uLCBNb3VzZUV2ZW50TW92ZWQsIDAsIGZhbHNlLCBmYWxzZSwgZmFs
c2UsIGZhbHNlLCBjdXJyZW50VGltZSgpKTsKICAgICBfcHJpdmF0ZS0+Y29yZUZyYW1lLT5ldmVu
dEhhbmRsZXIoKS0+ZHJhZ1NvdXJjZUVuZGVkQXQoZXZlbnQsIChEcmFnT3BlcmF0aW9uKW9wZXJh
dGlvbik7CiB9CisjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKIAogLSAoQk9PTClfY2Fu
UHJvdmlkZURvY3VtZW50U291cmNlCiB7CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViRnJhbWVJbnRlcm5hbC5oIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lSW50ZXJuYWwu
aAppbmRleCAxMGEzMDE1Li5jNzIzNzYwIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViRnJhbWVJbnRlcm5hbC5oCisrKyBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZUludGVy
bmFsLmgKQEAgLTE1NSw4ICsxNTUsMTAgQEAgV2ViVmlldyAqZ2V0V2ViVmlldyhXZWJGcmFtZSAq
d2ViRnJhbWUpOwogLSAoRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbiAqKV90eXBpbmdTdHlsZTsKIC0g
KHZvaWQpX3NldFR5cGluZ1N0eWxlOihET01DU1NTdHlsZURlY2xhcmF0aW9uICopc3R5bGUgd2l0
aFVuZG9BY3Rpb246KFdlYkNvcmU6OkVkaXRBY3Rpb24pdW5kb0FjdGlvbjsKIAorI2lmIEVOQUJM
RShEUkFHX1NVUFBPUlQpCiAtICh2b2lkKV9kcmFnU291cmNlTW92ZWRUbzooTlNQb2ludCl3aW5k
b3dMb2M7CiAtICh2b2lkKV9kcmFnU291cmNlRW5kZWRBdDooTlNQb2ludCl3aW5kb3dMb2Mgb3Bl
cmF0aW9uOihOU0RyYWdPcGVyYXRpb24pb3BlcmF0aW9uOworI2VuZGlmCiAKIC0gKEJPT0wpX2Nh
blByb3ZpZGVEb2N1bWVudFNvdXJjZTsKIC0gKEJPT0wpX2NhblNhdmVBc1dlYkFyY2hpdmU7CmRp
ZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVWaWV3Lm1tIGIvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYkZyYW1lVmlldy5tbQppbmRleCBjMzAwNTg2Li4zM2JkOWI3IDEwMDY0NAot
LS0gYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVWaWV3Lm1tCisrKyBiL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJGcmFtZVZpZXcubW0KQEAgLTEzMCw3ICsxMzAsOSBAQCBlbnVtIHsKIC0gKHZv
aWQpX3NldERvY3VtZW50VmlldzooTlNWaWV3IDxXZWJEb2N1bWVudFZpZXc+ICopdmlldwogewog
ICAgIFdlYkR5bmFtaWNTY3JvbGxCYXJzVmlldyAqc3YgPSBbc2VsZiBfc2Nyb2xsVmlld107Cisj
aWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBjb3JlKFtzZWxmIF93ZWJWaWV3XSktPmRyYWdD
b250cm9sbGVyKCktPnNldERpZEluaXRpYXRlRHJhZyhmYWxzZSk7CisjZW5kaWYKICAgICAKICAg
ICBbc3Ygc2V0U3VwcHJlc3NMYXlvdXQ6WUVTXTsKICAgICAKZGlmZiAtLWdpdCBhL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbSBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmll
dy5tbQppbmRleCA5NDQ0NTZkLi43OTg4ZWI1IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViSFRNTFZpZXcubW0KKysrIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1t
CkBAIC0xOTc3LDkgKzE5NzcsMTEgQEAgc3RhdGljIHZvaWQgX3VwZGF0ZU1vdXNlb3ZlclRpbWVy
Q2FsbGJhY2soQ0ZSdW5Mb29wVGltZXJSZWYgdGltZXIsIHZvaWQgKmluZm8pCiAKICAgICBbX3By
aXZhdGUgY2xlYXJdOwogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBQYWdlKiBwYWdl
ID0gY29yZShbc2VsZiBfd2ViVmlld10pOwogICAgIGlmIChwYWdlKQogICAgICAgICBwYWdlLT5k
cmFnQ29udHJvbGxlcigpLT5zZXREcmFnZ2luZ0ltYWdlVVJMKEtVUkwoKSk7CisjZW5kaWYKIH0K
IAogLSAoQk9PTClfaGFzSFRNTERvY3VtZW50CkBAIC0yMTk3LDYgKzIxOTksNyBAQCBzdGF0aWMg
dm9pZCBfdXBkYXRlTW91c2VvdmVyVGltZXJDYWxsYmFjayhDRlJ1bkxvb3BUaW1lclJlZiB0aW1l
ciwgdm9pZCAqaW5mbykKIAogQGVuZAogCisjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKIHN0YXRp
YyBib29sIG1hdGNoZXNFeHRlbnNpb25PckVxdWl2YWxlbnQoTlNTdHJpbmcgKmZpbGVuYW1lLCBO
U1N0cmluZyAqZXh0ZW5zaW9uKQogewogICAgIE5TU3RyaW5nICpleHRlbnNpb25Bc1N1ZmZpeCA9
IFtAIi4iIHN0cmluZ0J5QXBwZW5kaW5nU3RyaW5nOmV4dGVuc2lvbl07CkBAIC0yMjA0LDYgKzIy
MDcsNyBAQCBzdGF0aWMgYm9vbCBtYXRjaGVzRXh0ZW5zaW9uT3JFcXVpdmFsZW50KE5TU3RyaW5n
ICpmaWxlbmFtZSwgTlNTdHJpbmcgKmV4dGVuc2lvbgogICAgICAgICB8fCAoW2V4dGVuc2lvbiBf
d2Via2l0X2lzQ2FzZUluc2Vuc2l0aXZlRXF1YWxUb1N0cmluZzpAImpwZWciXQogICAgICAgICAg
ICAgJiYgW2ZpbGVuYW1lIF93ZWJraXRfaGFzQ2FzZUluc2Vuc2l0aXZlU3VmZml4OkAiLmpwZyJd
KTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCiAjaWZkZWYgQlVJTERJTkdf
T05fVElHRVIKIApAQCAtMzMwNCw4ICszMzA4LDEwIEBAIFdFQkNPUkVfQ09NTUFORCh5YW5rQW5k
U2VsZWN0KQogICAgICAgICBpZiAoRnJhbWUqIGNvcmVGcmFtZSA9IGNvcmUoW2hpdEhUTUxWaWV3
IF9mcmFtZV0pKSB7CiAgICAgICAgICAgICBjb3JlRnJhbWUtPmV2ZW50SGFuZGxlcigpLT5zZXRB
Y3RpdmF0aW9uRXZlbnROdW1iZXIoW2V2ZW50IGV2ZW50TnVtYmVyXSk7CiAgICAgICAgICAgICBb
aGl0SFRNTFZpZXcgX3NldE1vdXNlRG93bkV2ZW50OmV2ZW50XTsKKyNpZiBFTkFCTEUoRFJBR19T
VVBQT1JUKQogICAgICAgICAgICAgaWYgKFtoaXRIVE1MVmlldyBfaXNTZWxlY3Rpb25FdmVudDpl
dmVudF0pCiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gY29yZUZyYW1lLT5ldmVudEhhbmRsZXIo
KS0+ZXZlbnRNYXlTdGFydERyYWcoZXZlbnQpOworI2VuZGlmCiAgICAgICAgICAgICBbaGl0SFRN
TFZpZXcgX3NldE1vdXNlRG93bkV2ZW50Om5pbF07CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJu
IHJlc3VsdDsKQEAgLTMzMjQsNiArMzMzMCw3IEBAIFdFQkNPUkVfQ09NTUFORCh5YW5rQW5kU2Vs
ZWN0KQogICAgIFdlYkhUTUxWaWV3ICpoaXRIVE1MVmlldyA9IFtoaXRWaWV3IGlzS2luZE9mQ2xh
c3M6W3NlbGYgY2xhc3NdXSA/IChXZWJIVE1MVmlldyAqKWhpdFZpZXcgOiBuaWw7CiAgICAgaWYg
KGhpdEhUTUxWaWV3KSB7CiAgICAgICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CisjaWYgRU5BQkxF
KERSQUdfU1VQUE9SVCkKICAgICAgICAgaWYgKFtoaXRIVE1MVmlldyBfaXNTZWxlY3Rpb25FdmVu
dDpldmVudF0pIHsKICAgICAgICAgICAgIGlmIChGcmFtZSogY29yZUZyYW1lID0gY29yZShbaGl0
SFRNTFZpZXcgX2ZyYW1lXSkpIHsKICAgICAgICAgICAgICAgICBbaGl0SFRNTFZpZXcgX3NldE1v
dXNlRG93bkV2ZW50OmV2ZW50XTsKQEAgLTMzMzEsNiArMzMzOCw3IEBAIFdFQkNPUkVfQ09NTUFO
RCh5YW5rQW5kU2VsZWN0KQogICAgICAgICAgICAgICAgIFtoaXRIVE1MVmlldyBfc2V0TW91c2VE
b3duRXZlbnQ6bmlsXTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQorI2VuZGlmIC8vIEVOQUJM
RShEUkFHX1NVUFBPUlQpCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogICAgIHJldHVy
biBbaGl0VmlldyBzaG91bGREZWxheVdpbmRvd09yZGVyaW5nRm9yRXZlbnQ6ZXZlbnRdOwpAQCAt
MzQxMSw2ICszNDE5LDcgQEAgZG9uZToKICAgICBbc2VsZiByZWxlYXNlXTsKIH0KIAorI2lmIEVO
QUJMRShEUkFHX1NVUFBPUlQpCiAtIChOU0RyYWdPcGVyYXRpb24pZHJhZ2dpbmdTb3VyY2VPcGVy
YXRpb25NYXNrRm9yTG9jYWw6KEJPT0wpaXNMb2NhbAogewogICAgIEFTU0VSVCghW3NlbGYgX3dl
YlZpZXddIHx8IFtzZWxmIF9pc1RvcEhUTUxWaWV3XSk7CkBAIC0zNTI4LDYgKzM1MzcsNyBAQCBu
b1Byb21pc2VkRGF0YToKICAgICAKICAgICByZXR1cm4gW05TQXJyYXkgYXJyYXlXaXRoT2JqZWN0
OltwYXRoIGxhc3RQYXRoQ29tcG9uZW50XV07CiB9CisjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQ
UE9SVCkKIAogLSAodm9pZCltb3VzZVVwOihOU0V2ZW50ICopZXZlbnQKIHsKZGlmZiAtLWdpdCBh
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0KaW5kZXggYjdlZGE4ZS4uMzVkMDAzYyAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0KKysrIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTE2
NTcsMTIgKzE2NTcsMTQgQEAgc3RhdGljIGlubGluZSBJTVAgZ2V0TWV0aG9kKGlkIG8sIFNFTCBz
KQogICAgICAgICAgICAgICAgICAgICAgICAgdHlwZXM6dHlwZXNdOwogfQogCisjaWYgRU5BQkxF
KERSQUdfU1VQUE9SVCkKIC0gKHZvaWQpX3NldEluaXRpYXRlZERyYWc6KEJPT0wpaW5pdGlhdGVk
RHJhZwogewogICAgIGlmICghX3ByaXZhdGUtPnBhZ2UpCiAgICAgICAgIHJldHVybjsKICAgICBf
cHJpdmF0ZS0+cGFnZS0+ZHJhZ0NvbnRyb2xsZXIoKS0+c2V0RGlkSW5pdGlhdGVEcmFnKGluaXRp
YXRlZERyYWcpOwogfQorI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAKICNpZiBFTkFC
TEUoREFTSEJPQVJEX1NVUFBPUlQpCiAKQEAgLTMxNDQsNiArMzE0Niw3IEBAIHN0YXRpYyBib29s
IG5lZWRzV2ViVmlld0luaXRUaHJlYWRXb3JrYXJvdW5kKCkKICAgICByZXR1cm4gW3NlbGYgX2Vs
ZW1lbnRBdFdpbmRvd1BvaW50OltzZWxmIGNvbnZlcnRQb2ludDpwb2ludCB0b1ZpZXc6bmlsXV07
CiB9CiAKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogLy8gVGhlIGZvbGxvd2luZyAyIGludGVy
bmFsIE5TVmlldyBtZXRob2RzIGFyZSBjYWxsZWQgb24gdGhlIGRyYWcgZGVzdGluYXRpb24gdG8g
bWFrZSBzY3JvbGxpbmcgd2hpbGUgZHJhZ2dpbmcgd29yay4KIC8vIFNjcm9sbGluZyB3aGlsZSBk
cmFnZ2luZyB3aWxsIG9ubHkgd29yayBpZiB0aGUgZHJhZyBkZXN0aW5hdGlvbiBpcyBpbiBhIHNj
cm9sbCB2aWV3LiBUaGUgV2ViVmlldyBpcyB0aGUgZHJhZyBkZXN0aW5hdGlvbi4gCiAvLyBXaGVu
IGRyYWdnaW5nIHRvIGEgV2ViVmlldywgdGhlIGRvY3VtZW50IHN1YnZpZXcgc2hvdWxkIHNjcm9s
bCwgYnV0IGl0IGRvZXNuJ3QgYmVjYXVzZSBpdCBpcyBub3QgdGhlIGRyYWcgZGVzdGluYXRpb24u
IApAQCAtMzIxMiw2ICszMjE1LDcgQEAgc3RhdGljIGJvb2wgbmVlZHNXZWJWaWV3SW5pdFRocmVh
ZFdvcmthcm91bmQoKQogICAgIERyYWdEYXRhIGRyYWdEYXRhKGRyYWdnaW5nSW5mbywgY2xpZW50
LCBnbG9iYWwsIChEcmFnT3BlcmF0aW9uKVtkcmFnZ2luZ0luZm8gZHJhZ2dpbmdTb3VyY2VPcGVy
YXRpb25NYXNrXSwgJmhlbHBlcik7CiAgICAgcmV0dXJuIGNvcmUoc2VsZiktPmRyYWdDb250cm9s
bGVyKCktPnBlcmZvcm1EcmFnKCZkcmFnRGF0YSk7CiB9CisjZW5kaWYgLy8gRU5BQkxFKERSQUdf
U1VQUE9SVCkKIAogLSAoTlNWaWV3ICopX2hpdFRlc3Q6KE5TUG9pbnQgKilwb2ludCBkcmFnVHlw
ZXM6KE5TU2V0ICopdHlwZXMKIHsKQEAgLTMzOTIsMTQgKzMzOTYsMTggQEAgc3RhdGljIFdlYkZy
YW1lICppbmNyZW1lbnRGcmFtZShXZWJGcmFtZSAqZnJhbWUsIEJPT0wgZm9yd2FyZCwgQk9PTCB3
cmFwRmxhZykKIAogLSAodm9pZCltb3ZlRHJhZ0NhcmV0VG9Qb2ludDooTlNQb2ludClwb2ludAog
eworI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBjb3JlKHNl
bGYpKQogICAgICAgICBwYWdlLT5kcmFnQ29udHJvbGxlcigpLT5wbGFjZURyYWdDYXJldChJbnRQ
b2ludChbc2VsZiBjb252ZXJ0UG9pbnQ6cG9pbnQgdG9WaWV3Om5pbF0pKTsKKyNlbmRpZgogfQog
CiAtICh2b2lkKXJlbW92ZURyYWdDYXJldAogeworI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAg
ICAgaWYgKFBhZ2UqIHBhZ2UgPSBjb3JlKHNlbGYpKQogICAgICAgICBwYWdlLT5kcmFnQ29udHJv
bGxlcigpLT5kcmFnRW5kZWQoKTsKKyNlbmRpZgogfQogCiAtICh2b2lkKXNldE1haW5GcmFtZVVS
TDooTlNTdHJpbmcgKilVUkxTdHJpbmcKLS0gCjEuNi4zLjMKCg==
</data>
<flag name="review"
          id="20661"
          type_id="1"
          status="+"
          setter="ddkilzer"
    />
    <flag name="commit-queue"
          id="20765"
          type_id="3"
          status="-"
          setter="ddkilzer"
    />
          </attachment>
      

    </bug>

</bugzilla>