<?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>231085</bug_id>
          
          <creation_ts>2021-10-01 09:51:35 -0700</creation_ts>
          <short_desc>Drop support for macOS &lt; 10.15</short_desc>
          <delta_ts>2022-03-17 16:20:10 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=231081</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=234339</see_also>
          <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>
          
          <blocked>233671</blocked>
    
    <blocked>238056</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hi</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>msaboff</cc>
    
    <cc>pangle</cc>
    
    <cc>philipj</cc>
    
    <cc>pvollan</cc>
    
    <cc>saam</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1799358</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-01 09:51:35 -0700</bug_when>
    <thetext>Drop support for macOS &lt; 10.15.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799365</commentid>
    <comment_count>1</comment_count>
      <attachid>439871</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-01 10:05:49 -0700</bug_when>
    <thetext>Created attachment 439871
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799368</commentid>
    <comment_count>2</comment_count>
      <attachid>439872</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-01 10:09:43 -0700</bug_when>
    <thetext>Created attachment 439872
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799403</commentid>
    <comment_count>3</comment_count>
      <attachid>439871</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-01 10:57:56 -0700</bug_when>
    <thetext>Comment on attachment 439871
Patch

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

Many of these HAVE() macros might be in code that is already Cocoa-specific, so could drop them entirely. Others are close to that.

&gt; Source/JavaScriptCore/API/JSValue.h:-556
&gt; -#if (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101500) || (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &lt; 130000)
&gt; -typedef NSString *JSValueProperty;
&gt; -#else
&gt;  typedef id JSValueProperty;
&gt; -#endif

Are there different considerations for this public header that is in the SDK? Do we need this header to stay compatible with targeting older versions even if the WebKit code doesn’t?

&gt; Source/WTF/wtf/PlatformEnableCocoa.h:177
&gt;  // FIXME: Seems likely this can be enabled for tvOS.
&gt; -#if !defined(ENABLE_CSS_CONIC_GRADIENTS) &amp;&amp; !(PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101400) &amp;&amp; !PLATFORM(APPLETV)
&gt; +#if !defined(ENABLE_CSS_CONIC_GRADIENTS) &amp;&amp; !PLATFORM(APPLETV)
&gt;  #define ENABLE_CSS_CONIC_GRADIENTS 1
&gt;  #endif

Pretty sure we don’t need this at all, and the tvOS thing here was just a mistake. Doesn’t need to be fixed in this patch, but may want to check this out and remove it entirely.

&gt; Source/WTF/wtf/PlatformEnableCocoa.h:231
&gt; +#if !defined(ENABLE_ENCRYPTED_MEDIA) &amp;&amp; &amp;&amp; !PLATFORM(MACCATALYST)

Oops: &quot;&amp;&amp; &amp;&amp;&quot;

&gt; Source/WTF/wtf/PlatformEnableCocoa.h:407
&gt;  // FIXME: We almost certainly do not need this monospace font exception for watchOS and tvOS.
&gt; -#if !defined(ENABLE_MONOSPACE_FONT_EXCEPTION) &amp;&amp; ((PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101500) || PLATFORM(WATCHOS) || PLATFORM(APPLETV))
&gt; +#if !defined(ENABLE_MONOSPACE_FONT_EXCEPTION) &amp;&amp; (PLATFORM(WATCHOS) || PLATFORM(APPLETV))
&gt;  #define ENABLE_MONOSPACE_FONT_EXCEPTION 1
&gt;  #endif

Pretty sure we don’t need this at all, and the watchOS/tvOS thing here was just a mistake. Doesn’t need to be fixed in this patch, but may want to check with Myles.

&gt; Source/WTF/wtf/PlatformHave.h:253
&gt; +#if PLATFORM(IOS) || PLATFORM(MAC)

I think items like this might be clearer as:

    #if PLATFORM(COCOA) &amp;&amp; !PLATFORM(WATCHOS) &amp;&amp; !PLATFORM(APPLETV) &amp;&amp; !PLATFORM(MACCATALYST)

Not sure, though. I think the IOS || MAC form is not as clear and explicit.

&gt; Source/WTF/wtf/PlatformHave.h:321
&gt; +#if PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) &amp;&amp; !PLATFORM(IOS_FAMILY_SIMULATOR))

#if PLATFORM(COCOA) &amp;&amp; !PLATFORM(IOS_FAMILY_SIMULATOR)

&gt; Source/WTF/wtf/PlatformHave.h:360
&gt; -#if PLATFORM(COCOA) &amp;&amp; !(PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101500) &amp;&amp; !PLATFORM(WATCHOS) &amp;&amp; !PLATFORM(APPLETV)
&gt; +#if PLATFORM(COCOA) &amp;&amp; !PLATFORM(WATCHOS) &amp;&amp; !PLATFORM(APPLETV)
&gt;  #define HAVE_HSTS_STORAGE_PATH 1
&gt;  #endif

I wonder if this is really different for watchOS and tvOS or if it’s just a mistake.

&gt; Source/WTF/wtf/PlatformHave.h:433
&gt; -#if PLATFORM(COCOA) &amp;&amp; !(PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101500) &amp;&amp; !PLATFORM(WATCHOS) &amp;&amp; !PLATFORM(APPLETV)
&gt; +#if PLATFORM(COCOA) &amp;&amp; !PLATFORM(WATCHOS) &amp;&amp; !PLATFORM(APPLETV)
&gt;  #define HAVE_CFNETWORK_NSURLSESSION_STRICTRUSTEVALUATE 1
&gt;  #endif

I wonder if this is really different for watchOS and tvOS or if it’s just a mistake.

&gt; Source/WTF/wtf/PlatformHave.h:444
&gt; +#if PLATFORM(COCOA)
&gt;  #define HAVE_CFNETWORK_NEGOTIATED_SSL_PROTOCOL_CIPHER 1
&gt;  #endif

This is only used in Cocoa-specific code, so it can be removed entirely.

&gt; Source/WTF/wtf/PlatformHave.h:448
&gt; +#if PLATFORM(COCOA)
&gt;  #define HAVE_CFNETWORK_SAMESITE_COOKIE_API 1
&gt;  #endif

This is only used in a Cocoa-specific source file, so it can be removed entirely.

&gt; Source/WTF/wtf/PlatformHave.h:452
&gt; +#if PLATFORM(COCOA)
&gt;  #define HAVE_CFNETWORK_METRICS_CONNECTION_PROPERTIES 1
&gt;  #endif

This is only used in a Cocoa-specific source file, so it can be removed entirely.

&gt; Source/WTF/wtf/PlatformHave.h:476
&gt; +#if PLATFORM(COCOA) &amp;&amp; !PLATFORM(WATCHOS) &amp;&amp; !PLATFORM(APPLETV)
&gt;  #define HAVE_MDNS_FAST_REGISTRATION 1
&gt;  #endif

I wonder if this is really different for watchOS and tvOS or if it’s just a mistake.

&gt; Source/WTF/wtf/PlatformHave.h:480
&gt; +#if PLATFORM(COCOA) &amp;&amp; !PLATFORM(WATCHOS) &amp;&amp; !PLATFORM(APPLETV)
&gt;  #define HAVE_CTFONTCREATEFORCHARACTERSWITHLANGUAGEANDOPTION 1
&gt;  #endif

I wonder if this is really different for watchOS and tvOS or if it’s just a mistake.

&gt; Source/WTF/wtf/PlatformHave.h:561
&gt; +#if PLATFORM(COCOA)
&gt;  #define HAVE_TLS_PROTOCOL_VERSION_T 1
&gt;  #endif

This is used only in a Cocoa-specific source file, so we can remove it.

&gt; Source/WTF/wtf/PlatformHave.h:565
&gt; +#if PLATFORM(MAC)
&gt;  #define HAVE_SUBVIEWS_IVAR_SPI 1
&gt;  #endif

This is used only in Mac-specific parts of source files, so we can remove it.

&gt; Source/WTF/wtf/PlatformHave.h:569
&gt; +#if PLATFORM(MAC)
&gt;  #define HAVE_AX_CLIENT_TYPE 1
&gt;  #endif

This is used only in an SPI header, so we can remove it.

&gt; Source/WTF/wtf/PlatformHave.h:581
&gt; +#if PLATFORM(COCOA)
&gt;  #define HAVE_DATA_PROTECTION_KEYCHAIN 1
&gt;  #endif

This is used only in Cocoa-specific source files, so we can remove it.

&gt; Source/WTF/wtf/PlatformHave.h:583
&gt; +#if PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) &amp;&amp; !PLATFORM(IOS_FAMILY_SIMULATOR))

#if PLATFORM(COCOA) &amp;&amp; !PLATFORM(IOS_FAMILY_SIMULATOR)

&gt; Source/WTF/wtf/PlatformHave.h:593
&gt; -#if (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101500) || (PLATFORM(IOS_FAMILY) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &gt;= 130000)
&gt; +#if PLATFORM(COCOA)
&gt;  #define HAVE_AVASSETWRITERDELEGATE 1
&gt;  #endif

I think this change is turning this on for watchOS and tvOS for the first time, since I believe they have __IPHONE_OS_VERSION_MIN_REQUIRED values lower than 130000.

Not saying that’s incorrect.

&gt; Source/WTF/wtf/PlatformHave.h:613
&gt; +#if PLATFORM(COCOA)
&gt;  #define HAVE_GCEXTENDEDGAMEPAD_BUTTONS_OPTIONS_MENU 1
&gt;  #endif

This is used only in a Cocoa-specific source file, so we can remove it.

&gt; Source/WTF/wtf/PlatformHave.h:625
&gt; +#if PLATFORM(MAC)
&gt;  #define HAVE_HID_FRAMEWORK 1
&gt;  #endif

This is unused so it can be removed.

&gt; Source/WTF/wtf/PlatformHave.h:689
&gt; +#if PLATFORM(IOS) || PLATFORM(MAC)
&gt;  #define HAVE_PASSKIT_BOUND_INTERFACE_IDENTIFIER 1
&gt;  #endif

Pretty sure we can remove this; it’s used only in code that’s already PassKit-specific.

&gt; Source/WTF/wtf/PlatformHave.h:693
&gt; +#if PLATFORM(IOS) || PLATFORM(MAC)
&gt;  #define HAVE_PASSKIT_INSTALLMENTS 1
&gt;  #endif

Pretty sure we can remove this; it’s used only in code that’s already PassKit-specific.

&gt; Source/WTF/wtf/PlatformHave.h:697
&gt; +#if PLATFORM(IOS) || PLATFORM(MAC)
&gt;  #define HAVE_PASSKIT_PAYMENT_METHOD_BILLING_ADDRESS 1
&gt;  #endif

Pretty sure we can remove this; it’s used only in code that’s already PassKit-specific.

&gt; Source/WTF/wtf/PlatformHave.h:710
&gt; +#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST)
&gt;  #define HAVE_QUICKLOOK_THUMBNAILING 1
&gt;  #endif

I think this might be clearer as:

    #if PLATFORM(COCOA) &amp;&amp; !PLATFORM(WATCHOS) &amp;&amp; !PLATFORM(APPLETV)

&gt; Source/WTF/wtf/PlatformHave.h:774
&gt; +#if PLATFORM(COCOA)
&gt;  #define HAVE_CTFONTGETPHYSICALSYMBOLICTRAITS 1
&gt;  #endif

This is used only in a Cocoa-specific source file, so it can be removed entirely.

&gt; Source/WTF/wtf/PlatformHave.h:865
&gt; +#if PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(MAC)
&gt;  #define HAVE_SPEECHRECOGNIZER 1
&gt;  #endif

I think this might be clearer as:

    #if PLATFORM(COCOA) &amp;&amp; !PLATFORM(WATCHOS) &amp;&amp; !PLATFORM(APPLETV)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799423</commentid>
    <comment_count>4</comment_count>
      <attachid>439872</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-10-01 11:29:20 -0700</bug_when>
    <thetext>Comment on attachment 439872
Patch

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

&gt; Tools/TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm:164
&gt; +#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)

I wonder if this could be USE(COCOA) or something like that? Maybe we just don&apos;t want CATALYST?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799424</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-01 11:30:13 -0700</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #4)
&gt; Comment on attachment 439872 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=439872&amp;action=review
&gt; 
&gt; &gt; Tools/TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm:164
&gt; &gt; +#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)
&gt; 
&gt; I wonder if this could be USE(COCOA) or something like that? Maybe we just
&gt; don&apos;t want CATALYST?

Right, that would be a behavior change in Catalyst, I don&apos;t think I want to take any chances in this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799427</commentid>
    <comment_count>6</comment_count>
      <attachid>439872</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-10-01 11:33:48 -0700</bug_when>
    <thetext>Comment on attachment 439872
Patch

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

&gt; Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:121
&gt; +#if PLATFORM(MAC) || PLATFORM(MACCATALYST)

I think we can just remove this guard entirely. This file is only used by macOS or catalyst, so now all uses of this file need this rule.

&gt; Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:691
&gt; +#if PLATFORM(MAC) || PLATFORM(MACCATALYST)

Ditto. This file is not used on iOS or elsewhere -- only Mac and MacCatalyst.

&gt; Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:718
&gt; +#if PLATFORM(MAC) || PLATFORM(MACCATALYST)

Ditto.

&gt; Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:723
&gt; +#if PLATFORM(MAC) || PLATFORM(MACCATALYST)

Ditto.

&gt; Source/WebKit/WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:357
&gt; +#if PLATFORM(MAC) || PLATFORM(MACCATALYST)

We can remove the guard and the &apos;#else&apos; clause here. Only Mac/Maccatlyst use this file.

&gt; Source/WebKit/WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:364
&gt; +#if PLATFORM(MAC) || PLATFORM(MACCATALYST)

Remove

&gt; Source/WebKit/WebAuthnProcess/mac/com.apple.WebKit.WebAuthnProcess.sb.in:369
&gt; +#if PLATFORM(MAC) || PLATFORM(MACCATALYST)

Ditto.

&gt; Source/WebKit/WebProcess/com.apple.WebProcess.sb.in:309
&gt; +#if PLATFORM(MAC) || PLATFORM(MACCATALYST)

We can remove this guard. Only Mac/MacCatalyst use this file.

&gt; Source/WebKit/WebProcess/com.apple.WebProcess.sb.in:1351
&gt; +#if PLATFORM(MAC) || PLATFORM(MACCATALYST)

Ditto.

&gt; Source/WebKit/WebProcess/com.apple.WebProcess.sb.in:1387
&gt; +#if PLATFORM(MAC) || PLATFORM(MACCATALYST)

Ditto.

&gt; Source/WebKit/WebProcess/com.apple.WebProcess.sb.in:1404
&gt; +#if PLATFORM(MAC) || PLATFORM(MACCATALYST)

Ditto.

&gt; Source/WebKit/WebProcess/com.apple.WebProcess.sb.in:1709
&gt; +#if PLATFORM(MAC) || PLATFORM(MACCATALYST)

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799428</commentid>
    <comment_count>7</comment_count>
      <attachid>439872</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-10-01 11:34:06 -0700</bug_when>
    <thetext>Comment on attachment 439872
Patch

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

&gt; Source/WebCore/PAL/pal/spi/cocoa/PassKitSPI.h:445
&gt; +#if PLATFORM(COCOA)

i think you can drop this entirely since PassKit only exists on cocoa

&gt; Source/WebCore/inspector/InspectorFrontendHost.cpp:-405
&gt; -#elif PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101400
&gt; -    return &quot;mojave&quot;_s;

Can you file a Web Inspector bug about removing support for Mojave?  I don&apos;t think there&apos;s much work to do but it&apos;d be nice to remove dead code :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799459</commentid>
    <comment_count>8</comment_count>
      <attachid>439896</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-01 12:17:08 -0700</bug_when>
    <thetext>Created attachment 439896
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799461</commentid>
    <comment_count>9</comment_count>
      <attachid>439897</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-01 12:22:06 -0700</bug_when>
    <thetext>Created attachment 439897
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799464</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-01 12:30:09 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #9)
&gt; Created attachment 439897 [details]
&gt; Patch

Looks like enabling PASSKIT_INSTALLMENTS on TVOS was not OK after all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799476</commentid>
    <comment_count>11</comment_count>
      <attachid>439899</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-01 12:42:30 -0700</bug_when>
    <thetext>Created attachment 439899
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799581</commentid>
    <comment_count>12</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-01 15:17:59 -0700</bug_when>
    <thetext>Patch is green on EWS. I have cleared the HAVE_AVASSETWRITERDELEGATE change with Eric (who says it is fine as long as it builds, we don&apos;t actually support capture in WebKit on TV or Watch).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799592</commentid>
    <comment_count>13</comment_count>
      <attachid>439899</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-01 15:55:52 -0700</bug_when>
    <thetext>Comment on attachment 439899
Patch

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

&gt; Source/JavaScriptCore/API/JSValue.h:-556
&gt; -#if (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101500) || (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &lt; 130000)
&gt; -typedef NSString *JSValueProperty;
&gt; -#else
&gt;  typedef id JSValueProperty;
&gt; -#endif

I asked you this before and you didn’t respond:

Is it OK to make this change in a public SDK header? Maybe we still support targeting these older versions with this header even if WebKit *code* no longer supports them?

&gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:805
&gt;          if (shouldComputePhysicalTraits == ShouldComputePhysicalTraits::Yes) {

Remove braces because this is now one line?

&gt; Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:41
&gt; +#if PLATFORM(MAC)

Is this file used on iOS family at all?

&gt; Source/WebKit/PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in:171
&gt; +#if PLATFORM(MAC)

Same question.

&gt; Tools/TestRunnerShared/spi/AppKitTestSPI.h:-33
&gt; -#if __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101500
&gt;  #define HAVE_NSDRAGGINGITEM_INITWITHITEM 1
&gt; -#endif

This is only used in 3 places; we should simply remove the #if in all 3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799597</commentid>
    <comment_count>14</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-01 16:05:56 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #13)
&gt; Comment on attachment 439899 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=439899&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/API/JSValue.h:-556
&gt; &gt; -#if (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101500) || (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &lt; 130000)
&gt; &gt; -typedef NSString *JSValueProperty;
&gt; &gt; -#else
&gt; &gt;  typedef id JSValueProperty;
&gt; &gt; -#endif
&gt; 
&gt; I asked you this before and you didn’t respond:
&gt; 
&gt; Is it OK to make this change in a public SDK header? Maybe we still support
&gt; targeting these older versions with this header even if WebKit *code* no
&gt; longer supports them?

I asked on the JSC channel. I haven&apos;t gotten a response yet. If I don&apos;t get the OK from JSC people, I&apos;ll land without this header change.

&gt; 
&gt; &gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:805
&gt; &gt;          if (shouldComputePhysicalTraits == ShouldComputePhysicalTraits::Yes) {
&gt; 
&gt; Remove braces because this is now one line?

OK.

&gt; 
&gt; &gt; Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:41
&gt; &gt; +#if PLATFORM(MAC)
&gt; 
&gt; Is this file used on iOS family at all?
&gt; 
&gt; &gt; Source/WebKit/PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in:171
&gt; &gt; +#if PLATFORM(MAC)
&gt; 
&gt; Same question.

Per Brent&apos;s previous comment, it seems those sandbox files are used on MAC and MACCATALYST. If so, dropping this #if would cause a behavior change on Catalyst I think.

&gt; 
&gt; &gt; Tools/TestRunnerShared/spi/AppKitTestSPI.h:-33
&gt; &gt; -#if __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101500
&gt; &gt;  #define HAVE_NSDRAGGINGITEM_INITWITHITEM 1
&gt; &gt; -#endif
&gt; 
&gt; This is only used in 3 places; we should simply remove the #if in all 3.

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799602</commentid>
    <comment_count>15</comment_count>
      <attachid>439925</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-01 16:10:56 -0700</bug_when>
    <thetext>Created attachment 439925
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799603</commentid>
    <comment_count>16</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-01 16:11:42 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #14)
&gt; (In reply to Darin Adler from comment #13)
&gt; &gt; Comment on attachment 439899 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=439899&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/API/JSValue.h:-556
&gt; &gt; &gt; -#if (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101500) || (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &lt; 130000)
&gt; &gt; &gt; -typedef NSString *JSValueProperty;
&gt; &gt; &gt; -#else
&gt; &gt; &gt;  typedef id JSValueProperty;
&gt; &gt; &gt; -#endif
&gt; &gt; 
&gt; &gt; I asked you this before and you didn’t respond:
&gt; &gt; 
&gt; &gt; Is it OK to make this change in a public SDK header? Maybe we still support
&gt; &gt; targeting these older versions with this header even if WebKit *code* no
&gt; &gt; longer supports them?
&gt; 
&gt; I asked on the JSC channel. I haven&apos;t gotten a response yet. If I don&apos;t get
&gt; the OK from JSC people, I&apos;ll land without this header change.

I didn&apos;t get a response yet so I&apos;ll just land without the JSValue.h header change for now and follow-up if needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799641</commentid>
    <comment_count>17</comment_count>
      <attachid>439935</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-01 17:03:54 -0700</bug_when>
    <thetext>Created attachment 439935
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799659</commentid>
    <comment_count>18</comment_count>
      <attachid>439941</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-01 17:33:54 -0700</bug_when>
    <thetext>Created attachment 439941
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799683</commentid>
    <comment_count>19</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-01 19:48:12 -0700</bug_when>
    <thetext>Committed r283431 (242418@main): &lt;https://commits.webkit.org/242418@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 439941.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799684</commentid>
    <comment_count>20</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-01 19:49:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/83791576&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800256</commentid>
    <comment_count>21</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-04 15:43:07 -0700</bug_when>
    <thetext>Follow-up build fix in &lt;https://commits.webkit.org/r283518&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800259</commentid>
    <comment_count>22</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-04 15:45:35 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #21)
&gt; Follow-up build fix in &lt;https://commits.webkit.org/r283518&gt;.

and &lt;https://commits.webkit.org/r283519&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824407</commentid>
    <comment_count>23</comment_count>
      <attachid>439941</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-12-15 10:05:07 -0800</bug_when>
    <thetext>Comment on attachment 439941
Patch

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

&gt; Source/WebCore/inspector/InspectorFrontendHost.cpp:-405
&gt; -    return &quot;mojave&quot;_s;

this probably should be removed from `Source/WebInspectorUI` as well :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439871</attachid>
            <date>2021-10-01 10:05:49 -0700</date>
            <delta_ts>2021-10-01 12:17:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231085-20211001100548.patch</filename>
            <type>text/plain</type>
            <size>49340</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMzY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
YzU2M2MyZmVlMmQ0M2E3YjlhY2FhMmIxOWY1YTEwMDEyNTA3MTkyLi4xYzQwNWU0OGQ5NTU2ZGNl
NWM4MTJkOThjZGY3MTM5ZTFhMDY0MmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAyMS0xMC0wMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIERyb3Agc3VwcG9ydCBmb3IgbWFjT1MgPCAxMC4xNQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMDg1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBBUEkvSlNWYWx1ZS5oOgorICAgICAg
ICAqIEFQSS90ZXN0cy90ZXN0YXBpLm1tOgorICAgICAgICAodGVzdE9iamVjdGl2ZUNBUElNYWlu
KToKKwogMjAyMS0xMC0wMSAgT2xpdmllciBCbGluICA8b2xpdmllci5ibGluQHNvZnRhdGhvbWUu
Y29tPgogCiAgICAgICAgIFtKU0NdW0dMaWJdIEZpeCB0eXBvIGluIFdyYXBwZXJNYXAgY3JlYXRp
b24gbWV0aG9kcwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9DaGFuZ2VMb2cKaW5kZXggODA4MzJh
YTlhMzMzOGEwYzQzNzYwZGMzNDY3N2M0M2VhNGI1ZjMxYi4uMzU3NzMwOTBkMzgyZThlYmY5ZTYy
MDdmYjk3ODI0YTJhZDVmZjViYiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTAtMDEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KKworICAgICAgICBEcm9wIHN1cHBvcnQgZm9yIG1hY09TIDwgMTAuMTUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTA4NQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU291cmNlL3dlYnJ0Yy9z
ZGsvV2ViS2l0L1ZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmg6CisKIDIwMjEtMDktMzAgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFN1cHBvcnQgQUVTIEdDTSBj
aXBoZXJzIGluIFdlYlJUQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV1RGL0NoYW5nZUxvZwppbmRleCA5ZWIzZTU2MGY2ODIxMTIzNzJlMTA3MjgzYzRiNGI0ZGQ0
MDk3MmUzLi4zZTYxNjc0YjAzZmQ1OGVlYThhMDRlN2RiOTFlMDc5MzQxNTIzNjcyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE0IEBACisyMDIxLTEwLTAxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CisKKyAgICAgICAgRHJvcCBzdXBwb3J0IGZvciBtYWNPUyA8IDEwLjE1CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwODUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybUVuYWJsZUNv
Y29hLmg6CisgICAgICAgICogd3RmL1BsYXRmb3JtSGF2ZS5oOgorICAgICAgICAqIHd0Zi9QbGF0
Zm9ybVVzZS5oOgorCiAyMDIxLTA5LTMwICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29t
PgogCiAgICAgICAgIE1ha2UgRmlsZSBTeXN0ZW0gQWNjZXNzIEFQSSBhdmFpbGFibGUgaW4gV29y
a2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggOTUyMjIwMjQ4OTM4ZTQwMjA3NTY3ODNhMGViZGIwY2UxNDMzMWFh
Mi4uM2JkNDk5Yzg0MDA5MjZkMjJiNjNiNDQ2YjdhOGIwOTExMWFiMWNhOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE0IEBACisyMDIxLTEwLTAxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CisKKyAgICAgICAgRHJvcCBzdXBwb3J0IGZvciBtYWNPUyA8IDEwLjE1CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwODUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZEhvc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRI
b3N0OjpwbGF0Zm9ybVZlcnNpb25OYW1lIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL2NvY29hL0Nvb2tpZUNvY29hLm1tOgorCiAyMDIxLTEwLTAxICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBdHRyaWJ1dGUgSU9TdXJmYWNlcyBjcmVhdGVk
IGJ5IGNhbWVyYSBhbmQgZGVjb2RlcnMgdG8gcmVzcG9uc2libGUgV2ViUHJvY2VzcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9D
aGFuZ2VMb2cKaW5kZXggYTkxN2U5NTA5NGRjZTI1MDczYWFmM2Q1YmUzODg3ZjFmNmMwZTk1MC4u
YzZlZTdmYWUyMTlkODhiYTc0OTllMjc5ZDU5NTY1NjM5YTU2NzZiMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMTAtMDEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KKworICAgICAgICBEcm9wIHN1cHBvcnQgZm9yIG1hY09TIDwgMTAuMTUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTA4NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFsL2NvY29hL0FW
Rm91bmRhdGlvblNvZnRMaW5rLm1tOgorICAgICAgICAqIHBhbC9zcGkvY29jb2EvQVZGb3VuZGF0
aW9uU1BJLmg6CisgICAgICAgICogcGFsL3NwaS9tYWMvTlNNZW51U1BJLmg6CisgICAgICAgICog
cGFsL3NwaS9tYWMvTlNWaWV3U1BJLmg6CisKIDIwMjEtMDktMzAgIERldmluIFJvdXNzbyAgPGRy
b3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdW0dQVSBQcm9jZXNzXSBzdXBwb3J0IGA8
YXR0YWNobWVudD5gCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDIzMmQ1YjhkOTdjODRmMjkwMzQwYzhkYTAyMmQ5MjM3
YmMxMmM4YTMuLjQwNGVlM2U5MzE0ZjYwNTUzMGFhN2YyZTkyYmQwOTRjMDk3Y2U3MTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMTAtMDEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KKworICAgICAgICBEcm9wIHN1cHBvcnQgZm9yIG1hY09TIDwgMTAuMTUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTA4NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IuaW46CisgICAgICAgICog
U2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW06CisgICAgICAgICgtW1dLU2VjdXJl
Q29kaW5nQXJjaGl2aW5nRGVsZWdhdGUgYXJjaGl2ZXI6d2lsbEVuY29kZU9iamVjdDpdKToKKyAg
ICAgICAgKiBTaGFyZWQvQ29jb2EvQ29yZVRleHRIZWxwZXJzLm1tOgorICAgICAgICAoV2ViS2l0
Ojpmb250V2l0aEF0dHJpYnV0ZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdl
UHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpjcmVhdGVOZXR3
b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKToKKyAgICAgICAgKiBXZWJBdXRoblByb2Nl
c3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluOgorICAgICAgICAq
IFdlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW46CisKIDIwMjEtMTAtMDEgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEF0dHJpYnV0ZSBJT1N1
cmZhY2VzIGNyZWF0ZWQgYnkgY2FtZXJhIGFuZCBkZWNvZGVycyB0byByZXNwb25zaWJsZSBXZWJQ
cm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggNzMwZTYxZDhkMjk2YzY4ZjQ2
ZmU5YzI4MjVkMWUxMWJmNmZjNGYwYS4uN2JlNDUyNTgzYjE3MGExNGRiNTEyNzYwMjI2YThmNWEx
ZjQ2ODBiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDIxLTEwLTAxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHJv
cCBzdXBwb3J0IGZvciBtYWNPUyA8IDEwLjE1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViSFRNTFZpZXcubW06CisgICAgICAgICgt
W1dlYkhUTUxWaWV3IF9yZWN1cnNpdmU6ZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6aW5Db250
ZXh0OnN0b3BBdExheWVyQmFja2VkVmlld3M6XSk6CisgICAgICAgICgtW1dlYkhUTUxWaWV3IF9y
ZWN1cnNpdmU6ZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6aW5Db250ZXh0OnN0b3BBdExheWVy
QmFja2VkVmlld3M6X3JlY3Vyc2l2ZTpkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTppbkNvbnRl
eHQ6c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOnN0b3BBdExheWVyQmFja2VkVmlld3M6
XSk6IERlbGV0ZWQuCisKIDIwMjEtMDktMjkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBNYWtlIFdlYkxvY2FsaXplZFN0cmluZygpIHRocmVhZC1zYWZlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWUuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNWYWx1ZS5oCmluZGV4IDFiODVkODdlMGMxNjEwOTZjNWQ3ODc1Mzhi
YTI1NTBjZTEzMzI2YTUuLjdiYjdjMjVhMGM4ZTVlNjhjY2Y2OTFkZWI0MmVlNjU4OTM1ZDM1ZTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZS5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZS5oCkBAIC01NDksMTEgKzU0OSw3IEBAIENy
ZWF0ZSBhIEpTVmFsdWUgZnJvbSBhIENHUmVjdC4KICAqLwogQGludGVyZmFjZSBKU1ZhbHVlIChQ
cm9wZXJ0eUFjY2VzcykKIAotI2lmIChkZWZpbmVkKF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApIHx8IChk
ZWZpbmVkKF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEKSAmJiBfX0lQSE9ORV9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCA8IDEzMDAwMCkKLXR5cGVkZWYgTlNTdHJpbmcgKkpTVmFsdWVQ
cm9wZXJ0eTsKLSNlbHNlCiB0eXBlZGVmIGlkIEpTVmFsdWVQcm9wZXJ0eTsKLSNlbmRpZgogCiAv
KiEKICBAbWV0aG9kCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3Rz
L3Rlc3RhcGkubW0gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL3Rlc3RhcGkubW0K
aW5kZXggZjJlYzQyYmE4ODhhZjc0OWE2MDRjNzgwN2ZlM2Y1NTEzOTQ2NTRlYy4uNDNhZjI5OTY2
YTMzZDMwZWZlZTJlMzVhZjMxOGUyNjk2YTBiYjI2MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLm1tCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvdGVzdHMvdGVzdGFwaS5tbQpAQCAtNjQzLDEwICs2NDMsNiBAQCBzdGF0aWMgdm9pZCB0
ZXN0T2JqZWN0aXZlQ0FQSU1haW4oKQogICAgICAgICBjaGVja1Jlc3VsdChAIlNob3VsZCBiZSBh
IGNyZWF0ZWQgZnJvbSBPYmotQyIsIHN5bWJvbC5pc1N5bWJvbCk7CiAgICAgfQogCi0vLyBPbGRl
ciBwbGF0Zm9ybXMgaWZkZWYgdGhlIHR5cGUgb2Ygc29tZSBzZWxlY3RvcnMgc28gdGhlc2UgdGVz
dHMgZG9uJ3Qgd29yay4KLS8vIEZJWE1FOiBSZW1vdmUgdGhpcyB3aGVuIHdlIHN0b3AgYnVpbGRp
bmcgZm9yIG1hY09TIDEwLjE0L2lPUyAxMi4KLSNpZiAoZGVmaW5lZChfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTUwMCkgfHwgKGRlZmluZWQoX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQpICYmIF9f
SVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkKLQogICAgIEBhdXRvcmVs
ZWFzZXBvb2wgewogICAgICAgICBKU0NvbnRleHQgKmNvbnRleHQgPSBbW0pTQ29udGV4dCBhbGxv
Y10gaW5pdF07CiAgICAgICAgIEpTVmFsdWUgKmFycmF5SXRlcmF0b3IgPSBbY29udGV4dCBldmFs
dWF0ZVNjcmlwdDpAIkFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIl07CkBAIC03MzIs
OCArNzI4LDYgQEAgc3RhdGljIHZvaWQgdGVzdE9iamVjdGl2ZUNBUElNYWluKCkKICAgICAgICAg
Y2hlY2tSZXN1bHQoQCJpdGVyYXRpb24gY291bnQgc2hvdWxkIGJlIDEiLCBbY291bnQgdG9VSW50
MzJdID09IDEpOwogICAgIH0KIAotI2VuZGlmCi0KICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKICAg
ICAgICAgSlNDb2xsZWN0aW9uKiBteVByaXZhdGVQcm9wZXJ0aWVzID0gW1tKU0NvbGxlY3Rpb24g
YWxsb2NdIGluaXRdOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1ZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmggYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1ZpZGVvUHJv
Y2Vzc2luZ1NvZnRMaW5rLmgKaW5kZXggY2EwZDk5OGRkYTcwYjhmMzJjYzIzMzIzNzFjN2U2ZTIz
ZDBhNmJlYS4uOWFjZjA4ZjY2NGE0ODk2NTA2ZTA2OWNlYzQxODVkMTEwNDAwMzY3MiAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktp
dC9WaWRlb1Byb2Nlc3NpbmdTb2Z0TGluay5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsuaApA
QCAtNDIsNyArNDIsNyBAQAogI2RlZmluZSBFTkFCTEVfVkNQX0ZPUl9IMjY0X0JBU0VMSU5FIF9f
SVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE1MDAwMAogI2VsaWYgKGRlZmluZWQo
VEFSR0VUX09TX01BQykgJiYgVEFSR0VUX09TX01BQykKICNkZWZpbmUgRU5BQkxFX1ZDUF9FTkNP
REVSIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMTAwMDAKLSNkZWZpbmUgRU5B
QkxFX1ZDUF9WVEJfRU5DT0RFUiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTUwMCAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTEwMDAwCisjZGVmaW5l
IEVOQUJMRV9WQ1BfVlRCX0VOQ09ERVIgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8
IDExMDAwMAogI2RlZmluZSBIQVZFX1ZUQl9SRVFVSVJFRExPV0xBVEVOQ1kgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDAKICNkZWZpbmUgRU5BQkxFX1ZDUF9GT1JfSDI2
NF9CQVNFTElORSBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEyMDAwMAogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmggYi9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKaW5kZXggODdiMmIxY2NlY2I5NWU2
ZWEyMjY3Y2IzNWJmNmExMmUyZTZhNzU5YS4uNGU2NjUyZDI2OTAwNjZmNGFmMzI4MzYwNDJmNzcw
MzI5NDk3ZDI4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2Nv
YS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaApAQCAtMTcyLDcg
KzE3Miw3IEBACiAjZW5kaWYKIAogLy8gRklYTUU6IFNlZW1zIGxpa2VseSB0aGlzIGNhbiBiZSBl
bmFibGVkIGZvciB0dk9TLgotI2lmICFkZWZpbmVkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRT
KSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8
IDEwMTQwMCkgJiYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgIWRlZmluZWQoRU5BQkxFX0NTU19D
T05JQ19HUkFESUVOVFMpICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBFTkFCTEVfQ1NT
X0NPTklDX0dSQURJRU5UUyAxCiAjZW5kaWYKIApAQCAtMjI4LDcgKzIyOCw3IEBACiAjZGVmaW5l
IEVOQUJMRV9FRElUQUJMRV9SRUdJT04gMQogI2VuZGlmCiAKLSNpZiAhZGVmaW5lZChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA8IDEwMTQwMCkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorI2lmICFk
ZWZpbmVkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICYmICYmICFQTEFURk9STShNQUNDQVRBTFlT
VCkKICNkZWZpbmUgRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSAxCiAjZW5kaWYKIApAQCAtNDAyLDcg
KzQwMiw3IEBACiAjZW5kaWYKIAogLy8gRklYTUU6IFdlIGFsbW9zdCBjZXJ0YWlubHkgZG8gbm90
IG5lZWQgdGhpcyBtb25vc3BhY2UgZm9udCBleGNlcHRpb24gZm9yIHdhdGNoT1MgYW5kIHR2T1Mu
Ci0jaWYgIWRlZmluZWQoRU5BQkxFX01PTk9TUEFDRV9GT05UX0VYQ0VQVElPTikgJiYgKChQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApIHx8
IFBMQVRGT1JNKFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQUExFVFYpKQorI2lmICFkZWZpbmVkKEVO
QUJMRV9NT05PU1BBQ0VfRk9OVF9FWENFUFRJT04pICYmIChQTEFURk9STShXQVRDSE9TKSB8fCBQ
TEFURk9STShBUFBMRVRWKSkKICNkZWZpbmUgRU5BQkxFX01PTk9TUEFDRV9GT05UX0VYQ0VQVElP
TiAxCiAjZW5kaWYKIApAQCAtNDk0LDcgKzQ5NCw3IEBACiAjZGVmaW5lIEVOQUJMRV9SRVNPVVJD
RV9VU0FHRSAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9SRVZFQUwpICYmICEoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKSAm
JiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgIWRlZmluZWQo
RU5BQkxFX1JFVkVBTCkgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRW
KQogI2RlZmluZSBFTkFCTEVfUkVWRUFMIDEKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCmlu
ZGV4IDE5N2YxYmE3NWY0ZTBjMmM5ZmQ2NDA1ODllNTU5YzNjMjI1ZTM0Y2QuLjEzZDcyZWU2YmRm
Y2FjMmNlZjhmMmExMDM4YWJhZjQ5YmZjZDczNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCkBAIC0y
NTAsNyArMjUwLDcgQEAKICNkZWZpbmUgSEFWRV9GSkNWVFpTX0lOU1RSVUNUSU9OIDEKICNlbmRp
ZgogCi0jaWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkKKyNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRG
T1JNKE1BQykKICNkZWZpbmUgSEFWRV9BUFBfTElOS1MgMQogI2VuZGlmCiAKQEAgLTMxOCwxMCAr
MzE4LDcgQEAKICNkZWZpbmUgSEFWRV9JT1NVUkZBQ0VfQUNDRUxFUkFUT1IgMQogI2VuZGlmCiAK
LSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMTUwMCkgXAotICAgIHx8ICgoKFBMQVRGT1JNKElPUykgJiYgIVBMQVRGT1JNKElPU19GQU1J
TFlfU0lNVUxBVE9SKSkgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpKSAmJiBfX0lQSE9ORV9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDApIFwKLSAgICB8fCAoUExBVEZPUk0oV0FUQ0hP
UykgJiYgIVBMQVRGT1JNKElPU19GQU1JTFlfU0lNVUxBVE9SKSAmJiBfX1dBVENIX09TX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDYwMDAwKSBcCi0gICAgfHwgKFBMQVRGT1JNKEFQUExFVFYpICYm
ICFQTEFURk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikgJiYgX19UVl9PU19WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMzAwMDApCisjaWYgUExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oSU9TX0ZB
TUlMWSkgJiYgIVBMQVRGT1JNKElPU19GQU1JTFlfU0lNVUxBVE9SKSkKICNkZWZpbmUgSEFWRV9J
T1NVUkZBQ0VfU0VUX09XTkVSU0hJUCAxCiAjZW5kaWYKIApAQCAtMzU4LDcgKzM1NSw3IEBACiAj
ZGVmaW5lIEhBVkVfVE9VQ0hfQkFSIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYm
ICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAx
NTAwKSAmJiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgUExB
VEZPUk0oQ09DT0EpICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikK
ICNkZWZpbmUgSEFWRV9IU1RTX1NUT1JBR0VfUEFUSCAxCiAjZW5kaWYKIApAQCAtMzg3LDEwICsz
ODQsNiBAQAogI2RlZmluZSBIQVZFX0ZPVU5EQVRJT05fV0lUSF9TQU1FX1NJVEVfQ09PS0lFX1NV
UFBPUlQgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NQVhfQUxMT1dFRCA8IDEwMTQwMAotI2RlZmluZSBIQVZFX05TSFRUUENPT0tJRVNUT1JBR0Vf
X0lOSVRXSVRISURFTlRJRklFUl9XSVRIX0lOQUNDVVJBVEVfTlVMTEFCSUxJVFkgMQotI2VuZGlm
Ci0KICNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDQ0FU
QUxZU1QpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKQogI2RlZmluZSBIQVZFX09T
X0RBUktfTU9ERV9TVVBQT1JUIDEKICNlbmRpZgpAQCAtMzk5LDcgKzM5Miw3IEBACiAjZGVmaW5l
IEhBVkVfQ0dfRk9OVF9SRU5ERVJJTkdfR0VUX0ZPTlRfU01PT1RISU5HX0RJU0FCTEVEIDEKICNl
bmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTUwMAorI2lmIFBMQVRGT1JNKE1BQykKICNkZWZpbmUgSEFWRV9SRUFEX09OTFlf
U1lTVEVNX1ZPTFVNRSAxCiAjZW5kaWYKIApAQCAtNDMxLDExICs0MjQsMTEgQEAKICNkZWZpbmUg
SEFWRV9BQ0NFU1NJQklMSVRZX0JVTkRMRVNfUEFUSCAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JN
KENPQ09BKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgIShfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTQwMCAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAx
NDA0KSkKKyNpZiBQTEFURk9STShDT0NPQSkKICNkZWZpbmUgSEFWRV9DRk5FVFdPUktfT1ZFUlJJ
REVfU0VTU0lPTl9DT09LSUVfQUNDRVBUX1BPTElDWSAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JN
KENPQ09BKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA8IDEwMTUwMCkgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRW
KQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JN
KEFQUExFVFYpCiAjZGVmaW5lIEhBVkVfQ0ZORVRXT1JLX05TVVJMU0VTU0lPTl9TVFJJQ1RSVVNU
RVZBTFVBVEUgMQogI2VuZGlmCiAKQEAgLTQ0NiwxOCArNDM5LDE1IEBACiAjZGVmaW5lIEhBVkVf
Q0ZORVRXT1JLX05TVVJMU0VTU0lPTl9DT05ORUNUSU9OX0NBQ0hFX0xJTUlUUyAxCiAjZW5kaWYK
IAotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQorI2lmIFBMQVRGT1JNKENPQ09BKQog
I2RlZmluZSBIQVZFX0NGTkVUV09SS19ORUdPVElBVEVEX1NTTF9QUk9UT0NPTF9DSVBIRVIgMQog
I2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTUwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1Qp
IHx8IFBMQVRGT1JNKFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQUExFVFYpCisjaWYgUExBVEZPUk0o
Q09DT0EpCiAjZGVmaW5lIEhBVkVfQ0ZORVRXT1JLX1NBTUVTSVRFX0NPT0tJRV9BUEkgMQogI2Vu
ZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTUwMCkgXAotICAgIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkgXAotICAgIHx8IChQTEFURk9STShXQVRDSE9T
KSAmJiBfX1dBVENIX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDYwMDAwKSBcCi0gICAgfHwg
KFBMQVRGT1JNKEFQUExFVFYpICYmIF9fVFZfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMw
MDAwKQorI2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBIQVZFX0NGTkVUV09SS19NRVRSSUNT
X0NPTk5FQ1RJT05fUFJPUEVSVElFUyAxCiAjZW5kaWYKIApAQCAtNDc3LDE1ICs0NjcsMTUgQEAK
ICNkZWZpbmUgSEFWRV9DRk5FVFdPUktfQUxURVJOQVRJVkVfU0VSVklDRSAxCiAjZW5kaWYKIAot
I2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDE1MDAKKyNpZiBQTEFURk9STShNQUMpCiAjZGVmaW5lIEhBVkVfQ1NDSEVDS0ZJWERJU0FCTEUg
MQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApICYmICFQTEFURk9STShXQVRD
SE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVBMQVRG
T1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBIQVZFX01ETlNfRkFT
VF9SRUdJU1RSQVRJT04gMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApICYm
ICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKKyNpZiBQTEFURk9STShD
T0NPQSkgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmlu
ZSBIQVZFX0NURk9OVENSRUFURUZPUkNIQVJBQ1RFUlNXSVRITEFOR1VBR0VBTkRPUFRJT04gMQog
I2VuZGlmCiAKQEAgLTUxOCwxMSArNTA4LDExIEBACiAjZGVmaW5lIEhBVkVfTE9PS1VQX0dFU1RV
UkVfUkVDT0dOSVpFUiAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZ
KQorI2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBIQVZFX0FMTE9XU19TRU5TSVRJVkVfTE9H
R0lORyAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQorI2lmIFBM
QVRGT1JNKENPQ09BKQogI2RlZmluZSBIQVZFX0ZBSVJQTEFZU1RSRUFNSU5HX0NFTkNfSU5JVERB
VEEgMQogI2VuZGlmCiAKQEAgLTU0Niw3ICs1MzYsNyBAQAogI2RlZmluZSBIQVZFX05XUEFSQU1F
VEVSU19UUkFDS0VSX0FQSSAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhKFBM
QVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkg
JiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhUExBVEZP
Uk0oTUFDQ0FUQUxZU1QpCiAjZGVmaW5lIEhBVkVfQVZQTEFZRVJfUkVTT1VSQ0VfQ09OU0VSVkFU
SU9OX0xFVkVMIDEKICNlbmRpZgogCkBAIC01NjIsMzEgKzU1MiwyMyBAQAogI2RlZmluZSBIQVZF
X0NPUkVURVhUX0FVVE9fT1BUSUNBTF9TSVpJTkcgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKQotI2RlZmlu
ZSBIQVZFX05TRk9OVF9XSVRIX09QVElDQUxfU0laSU5HX0JVRyAxCi0jZW5kaWYKLQotI2lmIChQ
TEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTAxNTAwKSkKKyNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykK
ICNkZWZpbmUgSEFWRV9BUFBfU1NPIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYm
ICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAx
NTAwKQorI2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBIQVZFX1RMU19QUk9UT0NPTF9WRVJT
SU9OX1QgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCisjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZF
X1NVQlZJRVdTX0lWQVJfU1BJIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01B
Q19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMDE1MDAKLSNkZWZpbmUgSEFWRV9TVUJWSUVX
U19JVkFSX0RFQ0xBUkVEX0JZX1NESyAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTUwMAorI2lmIFBMQVRGT1JNKE1B
QykKICNkZWZpbmUgSEFWRV9BWF9DTElFTlRfVFlQRSAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JN
KENPQ09BKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA8IDEwMTUwMCkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorI2lmIFBMQVRGT1JNKENP
Q09BKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAjZGVmaW5lIEhBVkVfREVTSUdOX1NZU1RF
TV9VSV9GT05UUyAxCiAjZW5kaWYKIApAQCAtNTk0LDExICs1NzYsMTEgQEAKICNkZWZpbmUgSEFW
RV9DT09LSUVfQ0hBTkdFX0xJU1RFTkVSX0FQSSAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShN
QUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFU
Rk9STShJT1NfRkFNSUxZKQorI2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBIQVZFX0RBVEFf
UFJPVEVDVElPTl9LRVlDSEFJTiAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCAoUExBVEZPUk0oSU9T
X0ZBTUlMWSkgJiYgIVBMQVRGT1JNKElPU19GQU1JTFlfU0lNVUxBVE9SKSkKKyNpZiBQTEFURk9S
TShNQUMpIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oSU9TX0ZBTUlMWV9T
SU1VTEFUT1IpKQogI2RlZmluZSBIQVZFX05FQVJfRklFTEQgMQogI2VuZGlmCiAKQEAgLTYwNiw3
ICs1ODgsNyBAQAogI2RlZmluZSBIQVZFX09TX1NJR05QT1NUIDEKICNlbmRpZgogCi0jaWYgKFBM
QVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAp
IHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMzAwMDApCisjaWYgUExBVEZPUk0oQ09DT0EpCiAjZGVmaW5lIEhBVkVfQVZBU1NF
VFdSSVRFUkRFTEVHQVRFIDEKICNlbmRpZgogCkBAIC02MjYsNyArNjA4LDcgQEAKICNkZWZpbmUg
SEFWRV9OU1BST0dSRVNTX1BVQkxJU0hJTkdfU1BJIDEKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IChQ
TEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMzAwMDApCisjaWYgUExBVEZPUk0oQ09DT0EpCiAjZGVmaW5lIEhBVkVfR0NFWFRFTkRFREdB
TUVQQURfQlVUVE9OU19PUFRJT05TX01FTlUgMQogI2VuZGlmCiAKQEAgLTYzNCwxMSArNjE2LDEx
IEBACiAjZGVmaW5lIEhBVkVfR0NFWFRFTkRFREdBTUVQQURfQlVUVE9OU19USFVNQlNUSUNLIDEK
ICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDE1MDApCisjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX01VTFRJ
R0FNRVBBRFBST1ZJREVSX1NVUFBPUlQgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAm
JiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkKKyNpZiBQTEFURk9S
TShNQUMpCiAjZGVmaW5lIEhBVkVfSElEX0ZSQU1FV09SSyAxCiAjZW5kaWYKIApAQCAtNzAyLDE1
ICs2ODQsMTUgQEAKICNkZWZpbmUgSEFWRV9NRURJQV9VU0FHRV9GUkFNRVdPUksgMQogI2VuZGlm
CiAKLSNpZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKQorI2lmIFBMQVRGT1JNKElPUykgfHwgUExBVEZP
Uk0oTUFDKQogI2RlZmluZSBIQVZFX1BBU1NLSVRfQk9VTkRfSU5URVJGQUNFX0lERU5USUZJRVIg
MQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKQorI2lmIFBMQVRGT1JNKElPUykg
fHwgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1BBU1NLSVRfSU5TVEFMTE1FTlRTIDEKICNl
bmRpZgogCi0jaWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkKKyNpZiBQTEFURk9STShJT1MpIHx8IFBM
QVRGT1JNKE1BQykKICNkZWZpbmUgSEFWRV9QQVNTS0lUX1BBWU1FTlRfTUVUSE9EX0JJTExJTkdf
QUREUkVTUyAxCiAjZW5kaWYKIApAQCAtNzIzLDcgKzcwNSw3IEBACiAjZGVmaW5lIEhBVkVfUEFT
U0tJVF9VUERBVEVfU0hJUFBJTkdfTUVUSE9EU19XSEVOX0NIQU5HSU5HX1NVTU1BUllfSVRFTVMg
MQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRB
TFlTVCkKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFD
Q0FUQUxZU1QpCiAjZGVmaW5lIEhBVkVfUVVJQ0tMT09LX1RIVU1CTkFJTElORyAxCiAjZW5kaWYK
IApAQCAtNzg3LDcgKzc2OSw3IEBACiAjZGVmaW5lIEhBVkVfQ1RGT05USVNTWVNURU1VSUZPTlQg
MQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApCisjaWYgUExBVEZPUk0oQ09D
T0EpCiAjZGVmaW5lIEhBVkVfQ1RGT05UR0VUUEhZU0lDQUxTWU1CT0xJQ1RSQUlUUyAxCiAjZW5k
aWYKIApAQCAtODc4LDcgKzg2MCw3IEBACiAjZGVmaW5lIEhBVkVfQVZPVVRQVVRERVZJQ0VfU1BB
VElBTEFVRElPIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUND
QVRBTFlTVCkgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMDE1MDApCisjaWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRBTFlT
VCkgfHwgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1NQRUVDSFJFQ09HTklaRVIgMQogI2Vu
ZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmggYi9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybVVzZS5oCmluZGV4IGZiZDhiZDlhZGMxMjQwMmVjYjhlMjRiMjlmNGUx
ZTM0NTQ4YzdlYjcuLmFkYTE4MDc2Y2MwZDQ4NjYwNGY4MGE2OGM1ZDI0OTg3Mjg3ZmU5NzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKKysrIGIvU291cmNlL1dURi93
dGYvUGxhdGZvcm1Vc2UuaApAQCAtMTg5LDEwICsxODksNiBAQAogI2RlZmluZSBVU0VfSU1MQU5H
X0ZPTlRfTElOSzIgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEwMTUwMAotI2RlZmluZSBVU0VfQVZfU0FNUExFX0JVRkZF
Ul9ESVNQTEFZX0xBWUVSIDEKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRG
T1JNKEdUSykKICNkZWZpbmUgVVNFX1VOSUZJRURfVEVYVF9DSEVDS0lORyAxCiAjZW5kaWYKQEAg
LTI1OSw3ICsyNTUsNyBAQAogI2RlZmluZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCiAj
ZW5kaWYKIAotI2lmIChQTEFURk9STShNQUMpICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJ
T1NfRkFNSUxZKQorI2lmIChQTEFURk9STShNQUMpICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREsp
KSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQogI2RlZmluZSBVU0VfU09VUkNFX0FQUExJQ0FUSU9O
X0FVRElUX0RBVEEgMQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9D
b3JlTWVkaWFTb2Z0TGluay5jcHAKaW5kZXggOGJkM2EyM2IzZjlmNzdmNTIwZDk3YzU4MzYwMGIy
ZTVjZTA4YmIwOC4uZGY3NTc0YTc0ZDdhNWM2YzQ3OWRmOWE0YTNlZGVjZjYyNTRhNzczNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAKQEAg
LTM4LDcgKzM4LDcgQEAKIAogI2luY2x1ZGUgPENvcmVBdWRpby9Db3JlQXVkaW9UeXBlcy5oPgog
Ci0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1Nf
WF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTQwMCkKKyNpZiBQTEFURk9STShDT0NPQSkKICNk
ZWZpbmUgQ01TQU1QTEVCVUZGRVJDQUxMX05PRVNDQVBFIENGX05PRVNDQVBFCiAjZWxzZQogI2Rl
ZmluZSBDTVNBTVBMRUJVRkZFUkNBTExfTk9FU0NBUEUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaAppbmRleCA5ODc2OTJiY2Y4MjUwODgzMzE5NTdmMjJk
MGQ1ODc4MmZjZjc3MDBmLi5jNDFiNDgzYTQ3Y2RmNzJhZjA2YmMxMDQ5ZmUyZGNmZDk2NDQ0NjJk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5r
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCkBA
IC0zOCw3ICszOCw3IEBACiAjZGVmaW5lIFNPRlRMSU5LX0FWS0lUX0ZSQU1FV09SSygpIFNPRlRf
TElOS19GUkFNRVdPUktfT1BUSU9OQUwoQVZLaXQpCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxM
T1dFRCA+PSAxMDE0MDApCisjaWYgUExBVEZPUk0oQ09DT0EpCiAjZGVmaW5lIENNU0FNUExFQlVG
RkVSQ0FMTF9OT0VTQ0FQRSBDRl9OT0VTQ0FQRQogI2Vsc2UKICNkZWZpbmUgQ01TQU1QTEVCVUZG
RVJDQUxMX05PRVNDQVBFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29h
L0FWRm91bmRhdGlvblNvZnRMaW5rLm1tIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9B
VkZvdW5kYXRpb25Tb2Z0TGluay5tbQppbmRleCAzNTFjNmYyZjBkZjE0OTgwYzIzYjkxMjkyMzlh
ODljNDA5M2JkNGM0Li4xMTZlN2RkNzU4ZDg3MmQxOTM3YTFmOTcxNWM5ZGY3Y2QxNjE4YzU0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRM
aW5rLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29m
dExpbmsubW0KQEAgLTMwLDcgKzMwLDcgQEAKICNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVkZvdW5k
YXRpb24uaD4KICNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgogCi0jaWYgIShQTEFURk9STShN
QUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApICYmICFQTEFU
Rk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKKyNpZiAhUExBVEZPUk0oV0FUQ0hP
UykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCiBTT0ZUX0xJTktfRlJBTUVXT1JLX0ZPUl9TT1VSQ0Vf
V0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIFBBTF9FWFBPUlQpCiAjZWxzZQogQGludGVy
ZmFjZSBBVlBsYXllckl0ZW0gKERpc2FibGVLVk9PblN1cHJlc3Nlc1ZpZGVvTGF5ZXJzKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQVZGb3VuZGF0aW9uU1BJ
LmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9BVkZvdW5kYXRpb25TUEkuaApp
bmRleCBjYjFlZDExZmRlNzc5NmU0ZGI0NjlkZTFmOGEyMDliNzRmZDYzNzFkLi4wY2QzZTY0MTNj
OWYzNGY3MGU5NmFjYjlmMDA3Nzk5YzE1OGEwMjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL3NwaS9jb2NvYS9BVkZvdW5kYXRpb25TUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL3NwaS9jb2NvYS9BVkZvdW5kYXRpb25TUEkuaApAQCAtMzgxLDcgKzM4MSw3IEBA
IE5TX0FTU1VNRV9OT05OVUxMX0VORAogQGVuZAogI2VuZGlmCiAKLSNpZiAhVVNFKEFQUExFX0lO
VEVSTkFMX1NESykgfHwgVVNFKEFWX1NBTVBMRV9CVUZGRVJfRElTUExBWV9MQVlFUikKKyNpZiAh
VVNFKEFQUExFX0lOVEVSTkFMX1NESykKIEBpbnRlcmZhY2UgQVZTYW1wbGVCdWZmZXJEaXNwbGF5
TGF5ZXIgKFdlYkNvcmVQcml2YXRlKQogQHByb3BlcnR5IChhc3NpZ24sIG5vbmF0b21pYykgQk9P
TCBwcmV2ZW50c0Rpc3BsYXlTbGVlcER1cmluZ1ZpZGVvUGxheWJhY2s7CiBAZW5kCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmgKaW5kZXggODQ5NmU3NmM3
NWQyYjk1NzNkNDBiODQyYjJiZjcyZTk5ODQ3ZmZlZS4uZTlkNjNjOTE0ZjMwMmZmMTVjNTRiNzlk
ZGNhYzE0OTE4NGFiZTM2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkv
Y29jb2EvUGFzc0tpdFNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29h
L1Bhc3NLaXRTUEkuaApAQCAtNDQyLDcgKzQ0Miw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVn
ZXIsIFBLUGF5bWVudEJ1dHRvblR5cGUpIHsKICAgICBQS1BheW1lbnRCdXR0b25UeXBlU2V0VXAs
CiAgICAgUEtQYXltZW50QnV0dG9uVHlwZUluU3RvcmUsCiAgICAgUEtQYXltZW50QnV0dG9uVHlw
ZURvbmF0ZSwKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FM
TE9XRUQgPj0gMTAxNDAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQorI2lmIFBMQVRGT1JNKENP
Q09BKQogICAgIFBLUGF5bWVudEJ1dHRvblR5cGVDaGVja291dCwKICAgICBQS1BheW1lbnRCdXR0
b25UeXBlQm9vaywKICAgICBQS1BheW1lbnRCdXR0b25UeXBlU3Vic2NyaWJlLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05TTWVudVNQSS5oIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvbWFjL05TTWVudVNQSS5oCmluZGV4IGViYWE2OWJhNzI3MjkzN2Mx
ZTQwM2ExOGIzYzkzNzY2YzQxYmUwNGUuLjBlNjQ3MGUwYzFhNjkwNTRlYzUyOWM4Mjk4ZGI2ZWQw
YWEzMDQzZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU01l
bnVTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNNZW51U1BJLmgK
QEAgLTI3LDcgKzI3LDcgQEAKIAogI2lmIFBMQVRGT1JNKE1BQykKIAotI2lmIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAw
CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAogI2ltcG9ydCA8QXBwS2l0L05TTWVudV9Q
cml2YXRlLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9O
U1ZpZXdTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU1ZpZXdTUEkuaApp
bmRleCA2OGNlOGJmYzM0ZTk4NWVjYWRlYTkyNjkxYThkNmE2YzNmYmI0ODNmLi4xMDc0YTY2NTlj
OGIxMDFiNTYzNTQ3NzIwYmZkZTUwYjM0ZDVlYzQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL3NwaS9tYWMvTlNWaWV3U1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvbWFjL05TVmlld1NQSS5oCkBAIC0zMCw3ICszMCw3IEBACiAjaW1wb3J0IDxwYWwvc3Bp
L2NvY29hL1F1YXJ0ekNvcmVTUEkuaD4KIAogQGludGVyZmFjZSBOU1ZpZXcgKCkgPENBTGF5ZXJE
ZWxlZ2F0ZT4gewotI2lmICFIQVZFKFNVQlZJRVdTX0lWQVJfU1BJKSAmJiAhSEFWRShTVUJWSUVX
U19JVkFSX0RFQ0xBUkVEX0JZX1NESykKKyNpZiAhSEFWRShTVUJWSUVXU19JVkFSX1NQSSkKIEBw
YWNrYWdlCiAgICAgTlNNdXRhYmxlQXJyYXk8X19raW5kb2YgTlNWaWV3ICo+ICpfc3Vidmlld3M7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JG
cm9udGVuZEhvc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kSG9zdC5jcHAKaW5kZXggZTU0ODhhMjE3YWM5N2IxNjE0NThkYTI3MDJhM2ViOGRlZjQzN2Yz
ZS4uMGJmMWJkNzM2NDczNjQ2ODc3YTEwMzM4YTQyNDFlYzYwYTI2NDFiYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKQEAgLTQw
MSw4ICs0MDEsNiBAQCBTdHJpbmcgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpwbGF0Zm9ybVZlcnNp
b25OYW1lKCkgY29uc3QKICAgICByZXR1cm4gImJpZy1zdXIiX3M7CiAjZWxpZiBQTEFURk9STShN
QUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCiAgICAgcmV0
dXJuICJjYXRhbGluYSJfczsKLSNlbGlmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAKLSAgICByZXR1cm4gIm1vamF2ZSJfczsKICNlbHNl
CiAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1t
CmluZGV4IGYzMTRkY2ViZGEzNGY4YjIwODNiMzRhOWQ5ZTEzNjU0MmM5ZDFhYjkuLmZhYjhhOGNi
ZjRlNWNmZWRhNmQ1MjkyZmRmY2Q4MGQzMTIxZTgxYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5t
bQpAQCAtMzE5MiwxNCArMzE5Miw2IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQzo6cGxheWVySXRlbVN0YXR1c0RpZENoYW5nZShpbnQgc3RhdHVzKQogewogICAgIG1f
Y2FjaGVkSXRlbVN0YXR1cyA9IHN0YXR1czsKIAotICAgIC8vIFNldHRpbmcgdGhlIHBpdGNoIGFs
Z29yaXRobSBoZXJlIGNhdXNlcyB0ZXN0cyB0byBmYWlsIG9uIE1vamF2ZTsgcmV2ZXJ0IHRoaXMg
Y2hhbmdlCi0gICAgLy8gZm9yIDw9IE1vamF2ZSBidWlsZHMuCi0jaWYgIShQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPiAxMDE0MDApCi0gICAgLy8gRklY
TUUocmRhcjovLzcyODI5MzU0KTogUmVtb3ZlIGFmdGVyIEFWRm91bmRhdGlvbiByYWRhciBpcyBm
aXhlZC4KLSAgICBpZiAoc3RhdHVzID09IEFWUGxheWVySXRlbVN0YXR1c1JlYWR5VG9QbGF5KQot
ICAgICAgICBbbV9hdlBsYXllckl0ZW0gc2V0QXVkaW9UaW1lUGl0Y2hBbGdvcml0aG06YXVkaW9U
aW1lUGl0Y2hBbGdvcml0aG1Gb3JNZWRpYVBsYXllclBpdGNoQ29ycmVjdGlvbkFsZ29yaXRobShw
bGF5ZXIoKS0+cGl0Y2hDb3JyZWN0aW9uQWxnb3JpdGhtKCksIHBsYXllcigpLT5wcmVzZXJ2ZXNQ
aXRjaCgpLCBtX3JlcXVlc3RlZFJhdGUpXTsKLSNlbmRpZgotCiAgICAgdXBkYXRlU3RhdGVzKCk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2Ev
Q29va2llQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL0Nv
b2tpZUNvY29hLm1tCmluZGV4IDEwZWM3NWE3ZWVlODc4NDFjZTAxMmI5YWYxOWI0NjcwYjBjMTky
MDAuLjBkYzU4YTk5MDZlY2E3NDZjNmJmOWU3NGE4M2VmZjI4NGZmNTA5NmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvQ29va2llQ29jb2EubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9Db29raWVDb2NvYS5tbQpA
QCAtMjksMTYgKzI5LDYgQEAKIC8vIEZJWE1FOiBSZW1vdmUgTlNfQVNTVU1FX05PTk5VTExfQkVH
SU4vRU5EIGFuZCBhbGwgX051bGxhYmxlIGFubm90YXRpb25zIG9uY2Ugd2UgcmVtb3ZlIHRoZSBO
U0hUVFBDb29raWUgZm9yd2FyZCBkZWNsYXJhdGlvbiBiZWxvdy4KIE5TX0FTU1VNRV9OT05OVUxM
X0JFR0lOCiAKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxM
T1dFRCA8IDEwMTUwMAotdHlwZWRlZiBOU1N0cmluZyAqIE5TSFRUUENvb2tpZVN0cmluZ1BvbGlj
eTsKLUBpbnRlcmZhY2UgTlNIVFRQQ29va2llIChTdGFnaW5nKQotQHByb3BlcnR5IChudWxsYWJs
ZSwgcmVhZG9ubHksIGNvcHkpIE5TSFRUUENvb2tpZVN0cmluZ1BvbGljeSBzYW1lU2l0ZVBvbGlj
eTsKLUBlbmQKLQotc3RhdGljIE5TU3RyaW5nICogY29uc3QgTlNIVFRQQ29va2llU2FtZVNpdGVM
YXggPSBAImxheCI7Ci1zdGF0aWMgTlNTdHJpbmcgKiBjb25zdCBOU0hUVFBDb29raWVTYW1lU2l0
ZVN0cmljdCA9IEAic3RyaWN0IjsKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0
YXRpYyBWZWN0b3I8dWludDE2X3Q+IHBvcnRWZWN0b3JGcm9tTGlzdChOU0FycmF5PE5TTnVtYmVy
ICo+ICpwb3J0TGlzdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tYWMv
Y29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4KaW5kZXggMDYyNWQyMjNh
NTRmYjU2MTA4YWU5YmY2MGFjOGM3NjgxZDU0NzViZC4uYjJiNDNjNzJiNzM2NjQ1N2JlNWJiMzEw
YThjNWExYzBmYjYyYjMzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21h
Yy9jb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4KKysrIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4KQEAgLTExOCw3
ICsxMTgsNyBAQAogICAgIDs7IENWTVMKICAgICAoYWxsb3cgbWFjaC1sb29rdXAgKHdpdGggdGVs
ZW1ldHJ5KQogICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5jdm1zU2VydiIpKQotI2lm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwIHx8IFBMQVRGT1JNKE1B
Q0NBVEFMWVNUKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAg
ICAgKGFsbG93IGZpbGUtcmVhZCogKHdpdGggdGVsZW1ldHJ5KQogICAgICAgICAocHJlZml4ICIv
cHJpdmF0ZS92YXIvZGIvQ1ZNUy9jdm1zQ29kZVNpZ25PYmoiKSkKICNlbmRpZgpAQCAtNDI3LDcg
KzQyNyw2IEBACiAgICAgKGlva2l0LXByb3BlcnR5ICJzYXZlZC1jb25maWciKQogICAgIChpb2tp
dC1wcm9wZXJ0eSAic3RhcnR1cC10aW1pbmciKQogICAgIChpb2tpdC1wcm9wZXJ0eSAidG91Y2gt
c2l6ZS1pZCIpCi0jaWYgIVBMQVRGT1JNKE1BQykgfHwgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDE0MDAKICAgICAoaW9raXQtcHJvcGVydHkgIkFUWSxjYml0cyIpCiAgICAg
KGlva2l0LXByb3BlcnR5ICJBVFksaW50cmV2IikKICAgICAoaW9raXQtcHJvcGVydHkgIkFjY2Vs
TmF0aXZlRE1BUm93Qnl0ZUFsaWdubWVudCIpCkBAIC00NDUsNyArNDQ0LDYgQEAKICAgICAoaW9r
aXQtcHJvcGVydHkgIlRlbGVtZXRyeURpc2FibGUiKQogICAgIChpb2tpdC1wcm9wZXJ0eSAiY2Fp
bF9wcm9wZXJ0aWVzIikKICAgICAoaW9raXQtcHJvcGVydHkgImRwbSIpCi0jZW5kaWYKICAgICAo
aW9raXQtcHJvcGVydHkgIklPR1ZBSDI2NEVuY29kZUNhcGFiaWxpdGllcyIpIDs7IDxyZGFyOi8v
cHJvYmxlbS80OTQ5ODA0MD4KICNpZiAhUExBVEZPUk0oTUFDKSB8fCBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID4gMTAxNTAwCiAgICAgKGlva2l0LXByb3BlcnR5ICJJT0FWREhFVkNE
ZWNvZGVDYXBhYmlsaXRpZXMiKSA7OyA8cmRhcjovL3Byb2JsZW0vNzExMDAxODg+CkBAIC02OTAs
NyArNjg4LDcgQEAKIDs7IFZhcmlvdXMgc2VydmljZXMgcmVxdWlyZWQgYnkgQXBwS2l0IGFuZCBv
dGhlciBmcmFtZXdvcmtzCiAoYWxsb3cgbWFjaC1sb29rdXAKICAgICAgICAoZ2xvYmFsLW5hbWUg
ImNvbS5hcHBsZS5hdWRpby5hdWRpb2hhbGQiKQotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTAxNDAwIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorI2lmIFBMQVRGT1JN
KE1BQykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20u
YXBwbGUuQ0FSZW5kZXJTZXJ2ZXIiKSA7IE5lZWRlZCBmb3IgW0NBQ29udGV4dCByZW1vdGVDb250
ZXh0V2l0aE9wdGlvbnNdCiAjZWxzZQogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLndp
bmRvd3NlcnZlci5hY3RpdmUiKQpAQCAtNzAyLDkgKzcwMCw2IEBACiAgICAgICAgKGdsb2JhbC1u
YW1lICJjb20uYXBwbGUubG9nZC5ldmVudHMiKSkKIAogKGFsbG93IG1hY2gtbG9va3VwICh3aXRo
IHRlbGVtZXRyeSkKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNDAw
Ci0gICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuRm9udE9iamVjdHNTZXJ2ZXIiKQotI2Vu
ZGlmCiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuU3lzdGVtQ29uZmlndXJhdGlvbi5j
b25maWdkIikKICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5hc3NlcnRpb25kLnByb2Nl
c3Nhc3NlcnRpb25jb25uZWN0aW9uIikKICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5h
dWRpby50b29sYm94LnJlcG9ydGluZy5zZXJ2aWNlIikKQEAgLTcyMCwxMiArNzE1LDEyIEBACiAg
ICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUudGNjZC5zeXN0ZW0iKQogKQogCi0jaWYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAgfHwgUExBVEZPUk0oTUFDQ0FU
QUxZU1QpCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKIDs7IDxy
ZGFyOi8vcHJvYmxlbS80NzI2ODE2Nj4KIChhbGxvdyBtYWNoLWxvb2t1cCAod2l0aCB0ZWxlbWV0
cnkpICh4cGMtc2VydmljZS1uYW1lICJjb20uYXBwbGUuTVRMQ29tcGlsZXJTZXJ2aWNlIikpCiAj
ZW5kaWYKIAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwIHx8
IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oTUFD
Q0FUQUxZU1QpCiAoZGVueSBtYWNoLWxvb2t1cCAod2l0aCBuby1sb2cpCiAgICAgKGdsb2JhbC1u
YW1lICJjb20uYXBwbGUuQ29yZVNlcnZpY2VzLmNvcmVzZXJ2aWNlc2QiKQogICAgIChnbG9iYWwt
bmFtZSAiY29tLmFwcGxlLkRpc2tBcmJpdHJhdGlvbi5kaXNrYXJiaXRyYXRpb25kIikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNr
Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRh
VGFza0NvY29hLm1tCmluZGV4IDVjMTI1MWFmNDE2YzM2YTIxYTcxYmM4NGYxOGQwNGM5NTFhNjc5
OWYuLmVmMDQ2MDE5M2VmMWI0OGI3ZmI3YWQ3MWJhNzBiZDMyZDk1NjU1ZDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRh
c2tDb2NvYS5tbQpAQCAtMTMwLDEzICsxMzAsNyBAQCBOU0hUVFBDb29raWVTdG9yYWdlICpOZXR3
b3JrRGF0YVRhc2tDb2NvYTo6c3RhdGVsZXNzQ29va2llU3RvcmFnZSgpCiB7CiAgICAgc3RhdGlj
IE5ldmVyRGVzdHJveWVkPFJldGFpblB0cjxOU0hUVFBDb29raWVTdG9yYWdlPj4gc3RhdGVsZXNz
Q29va2llU3RvcmFnZTsKICAgICBpZiAoIXN0YXRlbGVzc0Nvb2tpZVN0b3JhZ2UuZ2V0KCkpIHsK
LSNpZiBIQVZFKE5TSFRUUENPT0tJRVNUT1JBR0VfX0lOSVRXSVRISURFTlRJRklFUl9XSVRIX0lO
QUNDVVJBVEVfTlVMTEFCSUxJVFkpCi0gICAgICAgIElHTk9SRV9OVUxMX0NIRUNLX1dBUk5JTkdT
X0JFR0lOCi0jZW5kaWYKICAgICAgICAgc3RhdGVsZXNzQ29va2llU3RvcmFnZS5nZXQoKSA9IGFk
b3B0TlMoW1tOU0hUVFBDb29raWVTdG9yYWdlIGFsbG9jXSBfaW5pdFdpdGhJZGVudGlmaWVyOm5p
bCBwcml2YXRlOllFU10pOwotI2lmIEhBVkUoTlNIVFRQQ09PS0lFU1RPUkFHRV9fSU5JVFdJVEhJ
REVOVElGSUVSX1dJVEhfSU5BQ0NVUkFURV9OVUxMQUJJTElUWSkKLSAgICAgICAgSUdOT1JFX05V
TExfQ0hFQ0tfV0FSTklOR1NfRU5ECi0jZW5kaWYKICAgICAgICAgc3RhdGVsZXNzQ29va2llU3Rv
cmFnZS5nZXQoKS5nZXQoKS5jb29raWVBY2NlcHRQb2xpY3kgPSBOU0hUVFBDb29raWVBY2NlcHRQ
b2xpY3lOZXZlcjsKICAgICB9CiAgICAgQVNTRVJUKHN0YXRlbGVzc0Nvb2tpZVN0b3JhZ2UuZ2V0
KCkuZ2V0KCkuY29va2llcy5jb3VudCA9PSAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IuaW4g
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdv
cmtQcm9jZXNzLnNiLmluCmluZGV4IDkwMzliYzg3MDFjZWEyYWExZDA5ODA5M2NjNWNkMTNhY2I5
Y2Y3MDQuLjE3NDQxYzczZjRlNTJlNDcyYTI1ZGFjYmMxOGQxNzAxMDhkNDhiODkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuTmV0
d29ya1Byb2Nlc3Muc2IuaW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9tYWMv
Y29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYi5pbgpAQCAtMzgsNyArMzgsNyBAQAog
CiAjaW5jbHVkZSAiU2hhcmVkL1NhbmRib3gvcHJlZmVyZW5jZXMuc2IiCiAKLSNpZiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMAorI2lmIFBMQVRGT1JNKE1BQykKIDs7
OwogOzs7IFRoZSBmb2xsb3dpbmcgcnVsZXMgd2VyZSBvcmlnaW5hbGx5IGNvbnRhaW5lZCBpbiAn
Y29tbW9uLnNiJy4gV2UgYXJlIGR1cGxpY2F0aW5nIHRoZW0gaGVyZSBzbyB3ZSBjYW4KIDs7OyBy
ZW1vdmUgdW5uZWVkZWQgc2FuZGJveCBleHRlbnNpb25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9zcGkvbWFjL0FwcEtpdFNQSS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9zcGkvbWFjL0FwcEtpdFNQSS5oCmluZGV4IGNhMWJhNmNkNjZhOWFmMTA0Mzk0YjlkZGQ3MTI4
ZGY4MmIxMDNmZmUuLmIyYjJhNjk4Mzg5MDMwOTJjOGZiOGRmYjY4MTEzYjAyZjQ0OTk3NmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL21hYy9BcHBLaXRTUEkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9tYWMvQXBwS2l0U1BJLmgKQEAgLTYwLDEwICs2
MCw3IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBOU1dpbmRvd1NoYWRvd09wdGlv
bnMpIHsKIC0gKHZvaWQpc2V0SW5zcGVjdG9yQmFyOihOU0luc3BlY3RvckJhciAqKWJhcjsKIAog
QHByb3BlcnR5IChyZWFkb25seSkgTlNXaW5kb3dTaGFkb3dPcHRpb25zIHNoYWRvd09wdGlvbnM7
Ci0KLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxNDAwCiBAcHJvcGVy
dHkgQ0dGbG9hdCB0aXRsZWJhckFscGhhVmFsdWU7Ci0jZW5kaWYKIAogI2lmIEhBVkUoTlNTQ1JP
TExWSUVXX1NFUEFSQVRPUl9UUkFDS0lOR19BREFQVEVSKQogLSAoQk9PTClyZWdpc3RlclNjcm9s
bFZpZXdTZXBhcmF0b3JUcmFja2luZ0FkYXB0ZXI6KE5TT2JqZWN0PE5TU2Nyb2xsVmlld1NlcGFy
YXRvclRyYWNraW5nQWRhcHRlcj4gKilhZGFwdGVyOwpAQCAtODIsMTIgKzc5LDYgQEAgdHlwZWRl
ZiBOU19PUFRJT05TKE5TVUludGVnZXIsIE5TV2luZG93U2hhZG93T3B0aW9ucykgewogLSAodm9p
ZClfdXBkYXRlOwogQGVuZAogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwg
MTAxNDAwCi1AaW50ZXJmYWNlIE5TV2luZG93IChJUEkpCi1AcHJvcGVydHkgQ0dGbG9hdCB0aXRs
ZWJhckFscGhhVmFsdWU7Ci1AZW5kCi0jZW5kaWYKLQogLy8gRklYTUU6IE1vdmUgdGhpcyBhYm92
ZSBvbmNlIDxyZGFyOi8vcHJvYmxlbS83MDIyNDk4MD4gaXMgaW4gYW4gU0RLLgogQGludGVyZmFj
ZSBOU0N1cnNvciAoKQogKyAodm9pZCloaWRlVW50aWxDaGFuZ2VkOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9QbHVnaW5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LnBsdWdpbi1jb21t
b24uc2IuaW4gYi9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJL
aXQucGx1Z2luLWNvbW1vbi5zYi5pbgppbmRleCAxMGRkZTI3NjYwMmY3ZDQ1Y2Q2NTY1OTVmZTFi
ODBhNGFjNTk2NGFlLi5jMjAxNWVhZjA1ZjcwMmQ4N2Q3YTA1ZTRjNTc1ODIyZTkwYzcxZmY5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJL
aXQucGx1Z2luLWNvbW1vbi5zYi5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3Mv
bWFjL2NvbS5hcHBsZS5XZWJLaXQucGx1Z2luLWNvbW1vbi5zYi5pbgpAQCAtMTY4LDcgKzE2OCw3
IEBACiAgICAgKHhwYy1zZXJ2aWNlLW5hbWUgImNvbS5hcHBsZS5oaXNlcnZpY2VzLXhwY3NlcnZp
Y2UiKQogKQogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAK
KyNpZiBQTEFURk9STShNQUMpCiA7OyA8cmRhcjovL3Byb2JsZW0vNDcyNjgxNjY+CiAoYWxsb3cg
bWFjaC1sb29rdXAgKHhwYy1zZXJ2aWNlLW5hbWUgImNvbS5hcHBsZS5NVExDb21waWxlclNlcnZp
Y2UiKSkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJn
dW1lbnRDb2RlcnNDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FyZ3VtZW50
Q29kZXJzQ29jb2EubW0KaW5kZXggYmE0OTkwOTEyYmI0NDAyYzQ0YjU2MGQzNDU1ZjkxNGE4ODMx
NGQ1YS4uMjEyNTM5OTI2NGFiMWZjMGEzNmM1YzM2MDU0MTdkYmQzNjMzYzhkOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLm1tCkBAIC02
NiwxNCArNjYsNiBAQCBAaW1wbGVtZW50YXRpb24gV0tTZWN1cmVDb2RpbmdBcmNoaXZpbmdEZWxl
Z2F0ZQogCiAtIChudWxsYWJsZSBpZClhcmNoaXZlcjooTlNLZXllZEFyY2hpdmVyICopYXJjaGl2
ZXIgd2lsbEVuY29kZU9iamVjdDooaWQpb2JqZWN0CiB7Ci0jaWYgSEFWRShOU0ZPTlRfV0lUSF9P
UFRJQ0FMX1NJWklOR19CVUcpCi0gICAgaWYgKGF1dG8gZm9udCA9IGR5bmFtaWNfb2JqY19jYXN0
PE5TRm9udD4ob2JqZWN0KSkgewotICAgICAgICAvLyBSZWNyZWF0ZSBhbnkgc2VyaWFsaXplZCBm
b250cyBhZnRlciBub3JtYWxpemluZyB0aGUKLSAgICAgICAgLy8gZm9udCBhdHRyaWJ1dGVzIHRv
IHdvcmsgYXJvdW5kIDxyZGFyOi8vcHJvYmxlbS81MTY1Nzg4MD4uCi0gICAgICAgIHJldHVybiBX
ZWJLaXQ6OmZvbnRXaXRoQXR0cmlidXRlcyhmb250LmZvbnREZXNjcmlwdG9yLmZvbnRBdHRyaWJ1
dGVzLCAwKTsKLSAgICB9Ci0jZW5kaWYKLQogICAgIGlmIChhdXRvIHVud3JhcHBlZFVSTCA9IGR5
bmFtaWNfb2JqY19jYXN0PE5TVVJMPihvYmplY3QpKQogICAgICAgICByZXR1cm4gYWRvcHROUyhb
W1dLU2VjdXJlQ29kaW5nVVJMV3JhcHBlciBhbGxvY10gaW5pdFdpdGhVUkw6dW53cmFwcGVkVVJM
XSkuYXV0b3JlbGVhc2UoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29j
b2EvQ29yZVRleHRIZWxwZXJzLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZVRl
eHRIZWxwZXJzLm1tCmluZGV4IGNhYWE3Y2I2MmM1NmZmOGY3NTYwZGE5NmYxYWNhZGJmZGRhMTFk
NDIuLmEyNTEwYzY0MzUwNGQ4Mzk1NWRmOTQyZWY0Nzc0NzM1MWM5ZWZiYzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVUZXh0SGVscGVycy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMubW0KQEAgLTM1LDIxICszNSw3
IEBAIENvY29hRm9udCAqZm9udFdpdGhBdHRyaWJ1dGVzKE5TRGljdGlvbmFyeSAqYXR0cmlidXRl
cywgQ0dGbG9hdCBzaXplKQogewogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUwogCi0j
aWYgSEFWRShOU0ZPTlRfV0lUSF9PUFRJQ0FMX1NJWklOR19CVUcpCi0gICAgYXV0byBtdXRhYmxl
RGljdGlvbmFyeSA9IGFkb3B0TlMoW2F0dHJpYnV0ZXMgbXV0YWJsZUNvcHldKTsKLSAgICBpZiAo
aWQgb3B0aWNhbFNpemVBdHRyaWJ1dGUgPSBbbXV0YWJsZURpY3Rpb25hcnkgb2JqZWN0Rm9yS2V5
OihfX2JyaWRnZSBOU1N0cmluZyAqKWtDVEZvbnRPcHRpY2FsU2l6ZUF0dHJpYnV0ZV0pIHsKLSAg
ICAgICAgaWYgKFtvcHRpY2FsU2l6ZUF0dHJpYnV0ZSBpc0tpbmRPZkNsYXNzOltOU1N0cmluZyBj
bGFzc11dKSB7Ci0gICAgICAgICAgICBbbXV0YWJsZURpY3Rpb25hcnkgcmVtb3ZlT2JqZWN0Rm9y
S2V5OihfX2JyaWRnZSBOU1N0cmluZyAqKWtDVEZvbnRPcHRpY2FsU2l6ZUF0dHJpYnV0ZV07Ci0g
ICAgICAgICAgICBpZiAoTlNOdW1iZXIgKnNpemUgPSBbbXV0YWJsZURpY3Rpb25hcnkgb2JqZWN0
Rm9yS2V5OihfX2JyaWRnZSBOU1N0cmluZyAqKWtDVEZvbnRTaXplQXR0cmlidXRlXSkKLSAgICAg
ICAgICAgICAgICBbbXV0YWJsZURpY3Rpb25hcnkgc2V0T2JqZWN0OnNpemUgZm9yS2V5OihfX2Jy
aWRnZSBOU1N0cmluZyAqKWtDVEZvbnRPcHRpY2FsU2l6ZUF0dHJpYnV0ZV07Ci0gICAgICAgIH0K
LSAgICB9Ci0KLSAgICBhdXRvIGRlc2NyaXB0b3IgPSBbQ29jb2FGb250RGVzY3JpcHRvciBmb250
RGVzY3JpcHRvcldpdGhGb250QXR0cmlidXRlczptdXRhYmxlRGljdGlvbmFyeS5nZXQoKV07Ci0j
ZWxzZQogICAgIGF1dG8gZGVzY3JpcHRvciA9IFtDb2NvYUZvbnREZXNjcmlwdG9yIGZvbnREZXNj
cmlwdG9yV2l0aEZvbnRBdHRyaWJ1dGVzOmF0dHJpYnV0ZXNdOwotI2VuZGlmCi0KICAgICByZXR1
cm4gW0NvY29hRm9udCBmb250V2l0aERlc2NyaXB0b3I6ZGVzY3JpcHRvciBzaXplOnNpemVdOwog
CiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL1dLUGFnZS5jcHAKaW5kZXggYzBkNjkwNDVmOGI2NzQ2ZGYxMGU3MWY5YjQzNWI4YjkyNmY2
OTkxZi4uNzAxZjFhMjkwODhkODQyMDE2MGM3M2UwY2Q5ZWZkMzJkY2M2ZjIzZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCkBAIC0xMTUxLDcgKzExNTEsNiBAQCB2
b2lkIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQoV0tQYWdlUmVmIHBhZ2VSZWYsIGNvbnN0IFdL
UGFnZUxvYWRlckNsaWVudEJhc2UqCiAgICAgICAgIHsKICAgICAgICAgICAgIGluaXRpYWxpemUo
Y2xpZW50KTsKICAgICAgICAgICAgIAotI2lmICFQTEFURk9STShNQUMpIHx8IF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPiAxMDE0MDAKICAgICAgICAgICAgIC8vIFdLUGFnZVNldFBh
Z2VMb2FkZXJDbGllbnQgaXMgZGVwcmVjYXRlZC4gVXNlIFdLUGFnZVNldFBhZ2VOYXZpZ2F0aW9u
Q2xpZW50IGluc3RlYWQuCiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCghbV9jbGllbnQuZGlk
RmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUpOwogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQo
IW1fY2xpZW50LmRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZSk7CkBAIC0xMTg0LDcg
KzExODMsNiBAQCB2b2lkIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQoV0tQYWdlUmVmIHBhZ2VS
ZWYsIGNvbnN0IFdLUGFnZUxvYWRlckNsaWVudEJhc2UqCiAgICAgICAgICAgICBSRUxFQVNFX0FT
U0VSVCghbV9jbGllbnQubmF2aWdhdGlvbkdlc3R1cmVEaWRCZWdpbik7CiAgICAgICAgICAgICBS
RUxFQVNFX0FTU0VSVCghbV9jbGllbnQubmF2aWdhdGlvbkdlc3R1cmVXaWxsRW5kKTsKICAgICAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKCFtX2NsaWVudC5uYXZpZ2F0aW9uR2VzdHVyZURpZEVuZCk7
Ci0jZW5kaWYKICAgICAgICAgfQogCiAgICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KaW5kZXggMmFiNTBkZDc2ZmQz
YWUzY2YzMWY2ZjgyZWJkZjViN2EyNzFiZWRjNS4uYzcyN2MyMGRhYzY2NGQ4ZDUwNTY3NWFiNmZm
YjUyNWUzNWY1ZTJiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViUGFnZVByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViUGFnZVByb3h5Q29jb2EubW0KQEAgLTYzNCwxMSArNjM0LDcgQEAgVmVjdG9yPFNhbmRib3hF
eHRlbnNpb246OkhhbmRsZT4gV2ViUGFnZVByb3h5OjpjcmVhdGVOZXR3b3JrRXh0ZW5zaW9uc1Nh
bmRib3hFeHQKICAgICBpZiAoIXByb2Nlc3MuaGFzTmV0d29ya0V4dGVuc2lvblNhbmRib3hBY2Nl
c3MoKSAmJiBOZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlcjo6aXNSZXF1aXJlZCgpKSB7CiAg
ICAgICAgIHByb2Nlc3MubWFya0hhc05ldHdvcmtFeHRlbnNpb25TYW5kYm94QWNjZXNzKCk7CiAg
ICAgICAgIGNvbnN0ZXhwciBBU0NJSUxpdGVyYWwgbmVIZWxwZXJTZXJ2aWNlIHsgImNvbS5hcHBs
ZS5uZWhlbHBlciJfcyB9OwotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA8IDEwMTUwMAotICAgICAgICBjb25zdGV4cHIgQVNDSUlMaXRlcmFsIG5l
U2Vzc2lvbk1hbmFnZXJTZXJ2aWNlIHsgImNvbS5hcHBsZS5uZXNlc3Npb25tYW5hZ2VyIl9zIH07
Ci0jZWxzZQogICAgICAgICBjb25zdGV4cHIgQVNDSUlMaXRlcmFsIG5lU2Vzc2lvbk1hbmFnZXJT
ZXJ2aWNlIHsgImNvbS5hcHBsZS5uZXNlc3Npb25tYW5hZ2VyLmNvbnRlbnQtZmlsdGVyIl9zIH07
Ci0jZW5kaWYKICAgICAgICAgcmV0dXJuIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZXNG
b3JNYWNoTG9va3VwKHsgbmVIZWxwZXJTZXJ2aWNlLCBuZVNlc3Npb25NYW5hZ2VyU2VydmljZSB9
LCBzdGQ6Om51bGxvcHQpOwogICAgIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNi
LmluIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQu
V2ViQXV0aG5Qcm9jZXNzLnNiLmluCmluZGV4IDM0ZGE5OThkODc0ZjZlZTQyZDYwYTM3ZWIzZTgz
ZDk2YjEzMWFmM2UuLjBiZDI3NjY1YzQyM2EyZGE4YTkwZDNmOGQyYzFmMjMyNTQ5MjMzMjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2Vi
S2l0LldlYkF1dGhuUHJvY2Vzcy5zYi5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJv
Y2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW4KQEAgLTMxOCw3
ICszMTgsNyBAQAogKGFsbG93IG1hY2gtbG9va3VwIChleHRlbnNpb24gImNvbS5hcHBsZS5hcHAt
c2FuZGJveC5tYWNoIikpIDs7IEZJWE1FOiBTaG91bGQgYmUgcmVtb3ZlZCB3aGVuIDxyZGFyOi8v
cHJvYmxlbS8xMzA2NjIwNj4gaXMgZml4ZWQuCiAKIChhbGxvdyBtYWNoLWxvb2t1cAotI2lmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCisjaWYgUExBVEZPUk0oTUFD
KQogICAgICh3aXRoIHJlcG9ydCkgKHdpdGggdGVsZW1ldHJ5KQogI2VuZGlmCiAgICAgKGdsb2Jh
bC1uYW1lICJjb20uYXBwbGUuYXVkaW8uQXVkaW9Db21wb25lbnRSZWdpc3RyYXIiKQpAQCAtMzM1
LDkgKzMzNSw2IEBACiAKIDs7IFZhcmlvdXMgc2VydmljZXMgcmVxdWlyZWQgYnkgQXBwS2l0IGFu
ZCBvdGhlciBmcmFtZXdvcmtzCiAoYWxsb3cgbWFjaC1sb29rdXAKLSNpZiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNDAwCi0gICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBw
bGUuRm9udE9iamVjdHNTZXJ2ZXIiKQotI2VuZGlmCiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20u
YXBwbGUuUG93ZXJNYW5hZ2VtZW50LmNvbnRyb2wiKQogICAgICAgIChnbG9iYWwtbmFtZSAiY29t
LmFwcGxlLlN5c3RlbUNvbmZpZ3VyYXRpb24uY29uZmlnZCIpCiAgICAgICAgKGdsb2JhbC1uYW1l
ICJjb20uYXBwbGUuYW5hbHl0aWNzZCIpCkBAIC0zNTcsMTkgKzM1NCwxOSBAQAogICAgICAgIChn
bG9iYWwtbmFtZSAiY29tLmFwcGxlLnRjY2QiKQogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFw
cGxlLnRjY2Quc3lzdGVtIikKICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS50cnVzdGQu
YWdlbnQiKQotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwIHx8
IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oTUFD
Q0FUQUxZU1QpCiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuQ0FSZW5kZXJTZXJ2ZXIi
KSA7IE5lZWRlZCBmb3IgW0NBQ29udGV4dCByZW1vdGVDb250ZXh0V2l0aE9wdGlvbnNdCiAjZWxz
ZQogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLndpbmRvd3NlcnZlci5hY3RpdmUiKQog
I2VuZGlmCiApCiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQw
MCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JN
KE1BQ0NBVEFMWVNUKQogOzsgPHJkYXI6Ly9wcm9ibGVtLzQ3MjY4MTY2PgogKGFsbG93IG1hY2gt
bG9va3VwICh4cGMtc2VydmljZS1uYW1lICJjb20uYXBwbGUuTVRMQ29tcGlsZXJTZXJ2aWNlIikp
CiAjZW5kaWYKIAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAw
IHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0o
TUFDQ0FUQUxZU1QpCiAoZGVueSBtYWNoLWxvb2t1cCAod2l0aCBuby1sb2cpCiAgICAgKGdsb2Jh
bC1uYW1lICJjb20uYXBwbGUuQ29yZVNlcnZpY2VzLmNvcmVzZXJ2aWNlc2QiKQogICAgIChnbG9i
YWwtbmFtZSAiY29tLmFwcGxlLkRpc2tBcmJpdHJhdGlvbi5kaXNrYXJiaXRyYXRpb25kIikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZVBhZ2VMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVudC5jcHAKaW5kZXggNTEw
ZDJkYTc5OGNkYTI1MDk5M2FiNTBkZDM2OTdkZWE1ZGFlM2FkMS4uNzVkODRlOWE4YWIwNDJiNjhi
YTcxMmRkZDQ2MjE5N2YzOTU3YjEwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVudC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
UGFnZUxvYWRlckNsaWVudC5jcHAKQEAgLTQ3LDEwICs0Nyw4IEBAIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogSW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50OjpJbmplY3RlZEJ1bmRsZVBh
Z2VMb2FkZXJDbGllbnQoY29uc3QgV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50QmFzZSogY2xpZW50
KQogewogICAgIGluaXRpYWxpemUoY2xpZW50KTsKLSNpZiAhUExBVEZPUk0oTUFDKSB8fCBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID4gMTAxNDAwCiAgICAgLy8gRGVwcmVjYXRlZCBj
YWxsYmFja3MuCiAgICAgQVNTRVJUKCFtX2NsaWVudC5zaG91bGRHb1RvQmFja0ZvcndhcmRMaXN0
SXRlbSk7Ci0jZW5kaWYKIH0KIAogdm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJDbGllbnQ6
OndpbGxMb2FkVVJMUmVxdWVzdChXZWJQYWdlJiBwYWdlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbiBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbgppbmRleCA2MjM0ZjI4ZGZlNWE3
MjAzNzU5ODU2MDc1ZmQ4NDkzMGNkNWRhOWE0Li43YzM4MzIzNDg0YTNjY2NmZmFjZTEyMmVlNWE3
Yjc2YmZkYjdiN2I0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29tLmFw
cGxlLldlYlByb2Nlc3Muc2IuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5h
cHBsZS5XZWJQcm9jZXNzLnNiLmluCkBAIC0zMDYsNyArMzA2LDcgQEAKICAgICAgICAgICAgIChn
bG9iYWwtbmFtZSAiY29tLmFwcGxlLmN2bXNTZXJ2IikKICAgICAgICAgKQogICAgICkKLSNpZiBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCB8fCBQTEFURk9STShNQUND
QVRBTFlTVCkKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAg
IChhbGxvdyBmaWxlLXJlYWQqCiAgICAgICAgIChwcmVmaXggIi9wcml2YXRlL3Zhci9kYi9DVk1T
L2N2bXNDb2RlU2lnbk9iaiIpKQogI2VuZGlmCkBAIC04MzMsNyArODMzLDYgQEAKICAgICAoaW9r
aXQtcHJvcGVydHkgInNhdmVkLWNvbmZpZyIpCiAgICAgKGlva2l0LXByb3BlcnR5ICJzdGFydHVw
LXRpbWluZyIpCiAgICAgKGlva2l0LXByb3BlcnR5ICJ0b3VjaC1zaXplLWlkIikKLSNpZiAhUExB
VEZPUk0oTUFDKSB8fCBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMAog
ICAgIChpb2tpdC1wcm9wZXJ0eSAiQVRZLGNiaXRzIikKICAgICAoaW9raXQtcHJvcGVydHkgIkFU
WSxpbnRyZXYiKQogICAgIChpb2tpdC1wcm9wZXJ0eSAiQWNjZWxOYXRpdmVETUFSb3dCeXRlQWxp
Z25tZW50IikKQEAgLTg1MSw3ICs4NTAsNiBAQAogICAgIChpb2tpdC1wcm9wZXJ0eSAiVGVsZW1l
dHJ5RGlzYWJsZSIpCiAgICAgKGlva2l0LXByb3BlcnR5ICJjYWlsX3Byb3BlcnRpZXMiKQogICAg
IChpb2tpdC1wcm9wZXJ0eSAiZHBtIikKLSNlbmRpZgogICAgIChpb2tpdC1wcm9wZXJ0eSAiSU9H
VkFIMjY0RW5jb2RlQ2FwYWJpbGl0aWVzIikgOzsgPHJkYXI6Ly9wcm9ibGVtLzQ5NDk4MDQwPgog
I2lmICFQTEFURk9STShNQUMpIHx8IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPiAx
MDE1MDAKICAgICAoaW9raXQtcHJvcGVydHkgIklPQVZESEVWQ0RlY29kZUNhcGFiaWxpdGllcyIp
IDs7IDxyZGFyOi8vcHJvYmxlbS83MTEwMDE4OD4KQEAgLTEzNDgsMTIgKzEzNDYsOSBAQAogCiA7
OyBWYXJpb3VzIHNlcnZpY2VzIHJlcXVpcmVkIGJ5IEFwcEtpdCBhbmQgb3RoZXIgZnJhbWV3b3Jr
cwogKGFsbG93IG1hY2gtbG9va3VwCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA8IDEwMTQwMAotICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLkZvbnRPYmplY3RzU2Vy
dmVyIikKLSNlbmRpZgogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmxvZ2QiKQogICAg
ICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmxvZ2QuZXZlbnRzIikKLSNpZiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkK
KyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgICAgIChnbG9i
YWwtbmFtZSAiY29tLmFwcGxlLkNBUmVuZGVyU2VydmVyIikgOyBOZWVkZWQgZm9yIFtDQUNvbnRl
eHQgcmVtb3RlQ29udGV4dFdpdGhPcHRpb25zXQogI2Vsc2UKICAgICAgICAoZ2xvYmFsLW5hbWUg
ImNvbS5hcHBsZS53aW5kb3dzZXJ2ZXIuYWN0aXZlIikKQEAgLTEzODksNyArMTM4NCw3IEBACiAg
ICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUubHNkLm1hcGRiIikKICkKIAotI2lmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNU
KQorI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiA7OyA8cmRhcjov
L3Byb2JsZW0vNDcyNjgxNjY+CiAoYWxsb3cgbWFjaC1sb29rdXAKICAgICAocmVxdWlyZS1hbGwK
QEAgLTE0MDYsNyArMTQwMSw3IEBACiApCiAjZW5kaWYKIAotI2lmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorI2lmIFBM
QVRGT1JNKE1BQykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAoZGVueSBtYWNoLWxvb2t1cCAo
d2l0aCBuby1sb2cpCiAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuQ29yZVNlcnZpY2VzLmNv
cmVzZXJ2aWNlc2QiKQogICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLkRpc2tBcmJpdHJhdGlv
bi5kaXNrYXJiaXRyYXRpb25kIikKQEAgLTE3MTEsNyArMTcwNiw3IEBACiAgICAgICAgIChnbG9i
YWwtbmFtZQogICAgICAgICAgICAgImNvbS5hcHBsZS5hbmFseXRpY3NkIgogICAgICAgICAgICAg
ImNvbS5hcHBsZS5uZWhlbHBlciIKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMTUwMCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKKyNpZiBQTEFURk9STShNQUMpIHx8
IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgICAgICAgICAgImNvbS5hcHBsZS5uZXNlc3Npb25t
YW5hZ2VyLmNvbnRlbnQtZmlsdGVyIgogI2Vsc2UKICAgICAgICAgICAgICJjb20uYXBwbGUubmVz
ZXNzaW9ubWFuYWdlciIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViSFRNTFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhU
TUxWaWV3Lm1tCmluZGV4IGNlYzliOGUzMTg1OThhZWVlYjg0MTE3MDY4MTFiYzMxMmNjMWNlY2Yu
Ljk0YjBhZDg4NDM2YzgxMjYwYzZkNTM5MzAwN2VlZjY0NDExZjU4NmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KKysrIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQpAQCAtNzM3LDEyICs3Mzcs
OSBAQCBzdGF0aWMgdm9pZCBzZXRDdXJzb3IoTlNXaW5kb3cgKnNlbGYsIFNFTCBjbWQsIE5TUG9p
bnQgcG9pbnQpCiBAaW50ZXJmYWNlIE5TVmlldyAoKQogLSAodm9pZClfcmVjdXJzaXZlRGlzcGxh
eVJlY3RJZk5lZWRlZElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KXJlY3QgaXNWaXNpYmxlUmVjdDoo
Qk9PTClpc1Zpc2libGVSZWN0IHJlY3RJc1Zpc2libGVSZWN0Rm9yVmlldzooTlNWaWV3ICopdmlz
aWJsZVZpZXcgdG9wVmlldzooQk9PTCl0b3BWaWV3OwogLSAodm9pZClfcmVjdXJzaXZlRGlzcGxh
eUFsbERpcnR5V2l0aExvY2tGb2N1czooQk9PTCluZWVkc0xvY2tGb2N1cyB2aXNSZWN0OihOU1Jl
Y3QpdmlzUmVjdDsKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTAxNTAwCisjaWYgUExBVEZPUk0oTUFDKQogLSAodm9pZClfcmVjdXJzaXZl
OihCT09MKXJlY3Vyc2l2ZSBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KWRpc3Bs
YXlSZWN0IGluQ29udGV4dDooTlNHcmFwaGljc0NvbnRleHQgKilncmFwaGljc0NvbnRleHQgc3Rv
cEF0TGF5ZXJCYWNrZWRWaWV3czooQk9PTClzdG9wQXRMYXllckJhY2tlZFZpZXdzOwogI2VuZGlm
Ci0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwg
MTAxNTAwCi0tICh2b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzaXZlIGRpc3BsYXlSZWN0SWdu
b3JpbmdPcGFjaXR5OihOU1JlY3QpZGlzcGxheVJlY3QgaW5Db250ZXh0OihOU0dyYXBoaWNzQ29u
dGV4dCAqKWdyYXBoaWNzQ29udGV4dCBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6KEJP
T0wpc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yIHN0b3BBdExheWVyQmFja2VkVmlld3M6
KEJPT0wpc3RvcEF0TGF5ZXJCYWNrZWRWaWV3czsKLSNlbmRpZgogLSAodm9pZClfc2V0RHJhd3NP
d25EZXNjZW5kYW50czooQk9PTClkcmF3c093bkRlc2NlbmRhbnRzOwogI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCiAtICh2b2lkKWNlbnRlclNlbGVjdGlvbkluVmlzaWJsZUFyZWE6KGlkKXNlbmRl
cjsKQEAgLTE2ODEsMTggKzE2NzgsMTAgQEAgLSAodm9pZClfcmVjdXJzaXZlRGlzcGxheUFsbERp
cnR5V2l0aExvY2tGb2N1czooQk9PTCluZWVkc0xvY2tGb2N1cyB2aXNSZWN0OihOU1IKIH0KIAog
Ly8gRG9uJ3QgbGV0IEFwcEtpdCBldmVuIGRyYXcgc3Vidmlld3MuIFdlIHRha2UgY2FyZSBvZiB0
aGF0LgotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCiAtICh2
b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzaXZlIGRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5
OihOU1JlY3QpZGlzcGxheVJlY3QgaW5Db250ZXh0OihOU0dyYXBoaWNzQ29udGV4dCAqKWdyYXBo
aWNzQ29udGV4dCBzdG9wQXRMYXllckJhY2tlZFZpZXdzOihCT09MKXN0b3BBdExheWVyQmFja2Vk
Vmlld3MKLSNlbHNlCi0tICh2b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzaXZlIGRpc3BsYXlS
ZWN0SWdub3JpbmdPcGFjaXR5OihOU1JlY3QpZGlzcGxheVJlY3QgaW5Db250ZXh0OihOU0dyYXBo
aWNzQ29udGV4dCAqKWdyYXBoaWNzQ29udGV4dCBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29s
b3I6KEJPT0wpc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yIHN0b3BBdExheWVyQmFja2Vk
Vmlld3M6KEJPT0wpc3RvcEF0TGF5ZXJCYWNrZWRWaWV3cwotI2VuZGlmCiB7CiAgICAgW3NlbGYg
X3NldEFzaWRlU3Vidmlld3NdOwotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxNTAwCiAgICAgW3N1cGVyIF9yZWN1cnNpdmU6cmVjdXJzaXZlIGRpc3BsYXlSZWN0SWdu
b3JpbmdPcGFjaXR5OmRpc3BsYXlSZWN0IGluQ29udGV4dDpncmFwaGljc0NvbnRleHQgc3RvcEF0
TGF5ZXJCYWNrZWRWaWV3czpzdG9wQXRMYXllckJhY2tlZFZpZXdzXTsKLSNlbHNlCi0gICAgW3N1
cGVyIF9yZWN1cnNpdmU6cmVjdXJzaXZlIGRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OmRpc3Bs
YXlSZWN0IGluQ29udGV4dDpncmFwaGljc0NvbnRleHQgc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5j
ZUNvbG9yOnNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvciBzdG9wQXRMYXllckJhY2tlZFZp
ZXdzOnN0b3BBdExheWVyQmFja2VkVmlld3NdOwotI2VuZGlmCiAgICAgW3NlbGYgX3Jlc3RvcmVT
dWJ2aWV3c107CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCBmMmZmMmE4MzcxYmIyMjBlMjA0ODc1ZDc0ODUxY2Q3ZmFjZGE1NWE0Li4wNGVh
M2MzNjgwNmU2MTQ1NmNkNjhlYjA2ZjY5YjM0OGRlNmI4YWVjIDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTAt
MDEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIHN1cHBv
cnQgZm9yIG1hY09TIDwgMTAuMTUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzMTA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogVGVzdFJ1bm5lclNoYXJlZC9zcGkvQXBwS2l0VGVzdFNQSS5oOgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0
TGlua1Rlc3QubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByZWNvbm5lY3QubW06CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9jb25maWcuaDoKKwogMjAyMS0xMC0wMSAgS2ltbW8gS2lubnVuZW4gIDxr
a2lubnVuZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBLaW1tbyBLaW5udW5lbiBhcyByZXZp
ZXdlcgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9zcGkvQXBwS2l0VGVzdFNQ
SS5oIGIvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9zcGkvQXBwS2l0VGVzdFNQSS5oCmluZGV4IDVm
OWFkNTIzNzBmMDI3ZWMxMDQ0ZmM0MTQ0NWVkNWFjNzRkYWViYTIuLjIyMGZmMTdjYWEyMTgzY2Zi
Nzc3MzBiZGNmNWNkZDQxNjI3ZjAxNmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RSdW5uZXJTaGFy
ZWQvc3BpL0FwcEtpdFRlc3RTUEkuaAorKysgYi9Ub29scy9UZXN0UnVubmVyU2hhcmVkL3NwaS9B
cHBLaXRUZXN0U1BJLmgKQEAgLTI4LDkgKzI4LDcgQEAKICNpbXBvcnQgPEFwcEtpdC9OU0RyYWdn
aW5nSXRlbS5oPgogCiAvLyBGSVhNRTogTW92ZSB0aGlzIHRvIFBsYXRmb3JtSGF2ZS5oLgotI2lm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCiAjZGVmaW5lIEhBVkVf
TlNEUkFHR0lOR0lURU1fSU5JVFdJVEhJVEVNIDEKLSNlbmRpZgogCiBAaW50ZXJmYWNlIE5TRHJh
Z2dpbmdJdGVtICgpCiAjaWYgSEFWRShOU0RSQUdHSU5HSVRFTV9JTklUV0lUSElURU0pCmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvQVZGb3VuZGF0
aW9uU29mdExpbmtUZXN0Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2Nv
Y29hL0FWRm91bmRhdGlvblNvZnRMaW5rVGVzdC5tbQppbmRleCAxOGU4OWM5NDJhODQzNzFlYWI2
N2UyZWMzNGRkMjZkOTE0MWJiZmU3Li5iYWZhNzVmNDZlNjAyZGNjZjE3ZjU3ZjdjMDI1M2ZmMGIx
OTViMTRmIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29j
b2EvQVZGb3VuZGF0aW9uU29mdExpbmtUZXN0Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViQ29yZS9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGlua1Rlc3QubW0KQEAgLTE2MSw3
ICsxNjEsNyBAQCBURVNUKEFWRm91bmRhdGlvblNvZnRMaW5rLCBDb25zdGFudHMpCiAgICAgRVhQ
RUNUX1RSVUUoW0FWQ29udGVudEtleVJlcXVlc3RQcm90b2NvbFZlcnNpb25zS2V5IGlzRXF1YWxU
b1N0cmluZzpAIlByb3RvY29sVmVyc2lvbnNLZXkiXSk7CiAjZW5kaWYKIAotI2lmIChQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQ
TEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQUExFVFYpCisj
aWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFdBVENIT1MpIHx8
IFBMQVRGT1JNKEFQUExFVFYpCiAgICAgRVhQRUNUX1RSVUUoUEFMOjpjYW5Mb2FkX0FWRm91bmRh
dGlvbl9BVlZpZGVvQ29kZWNUeXBlSEVWQ1dpdGhBbHBoYSgpKTsKICAgICBFWFBFQ1RfVFJVRShb
QVZWaWRlb0NvZGVjVHlwZUhFVkNXaXRoQWxwaGEgaXNFcXVhbFRvU3RyaW5nOkAibXV4YSJdKTsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9QcmVjb25uZWN0Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Q
cmVjb25uZWN0Lm1tCmluZGV4IDliMWViZmFkNzFmZGYwZWQ4ZjE4NDI0ZWQyYjQwYjhhODRiYmY0
NmMuLjU0N2IzNTdlZTllYTBhYTE5ZGFlZGM4OTI0Y2FiMWJhYWM0MjYyZGIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJlY29ubmVjdC5tbQorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByZWNvbm5lY3QubW0KQEAg
LTEwMywxMCArMTAzLDYgQEAgVEVTVChQcmVjb25uZWN0LCBDb25uZWN0aW9uQ291bnQpCiAgICAg
RVhQRUNUX0VRKGNvbm5lY3Rpb25Db3VudCwgMnUpOwogfQogCi0vLyBNb2phdmUgQ0ZOZXR3b3Jr
IF9wcmVjb25uZWN0IFNQSSBzZWVtcyB0byBoYXZlIGEgYnVnIGNhdXNpbmcgdGhpcyB0byB0aW1l
IG91dC4KLS8vIFRoYXQncyBubyBwcm9ibGVtLCBiZWNhdXNlIHRoaXMgaXMgYSB0ZXN0IGZvciBT
UEkgb25seSB0byBiZSB1c2VkIG9uIGxhdGVyIE9TIHZlcnNpb25zLgotI2lmICFQTEFURk9STShN
QUMpIHx8IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCi0KIFRFU1Qo
UHJlY29ubmVjdCwgSFRUUFMpCiB7CiAgICAgYm9vbCBjb25uZWN0ZWQgPSBmYWxzZTsKQEAgLTEz
Niw4ICsxMzIsNiBAQCBURVNUKFByZWNvbm5lY3QsIEhUVFBTKQogICAgIEVYUEVDVF9UUlVFKHJl
Y2VpdmVkQ2hhbGxlbmdlKTsKIH0KIAotI2VuZGlmCi0KICNpZiBIQVZFKFBSRUNPTk5FQ1RfUElO
RykKIHN0YXRpYyB2b2lkIHBpbmdQb25nKFJlZjxIMjo6Q29ubmVjdGlvbj4mJiBjb25uZWN0aW9u
LCBzaXplX3QqIGhlYWRlcnNDb3VudCkKIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvY29uZmlnLmggYi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvbmZpZy5oCmluZGV4IDdlMDY3MTNk
NzU1ZTAyZTQ1NDg3NTNlYTYzNTY0MTQ0YjU0ZDg1MmYuLjE2M2Y2ODVhNWM0MTg4MWY4MWY5OWM2
ZmRmNjJjZTU2N2UyY2FiM2IgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29uZmln
LmgKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb25maWcuaApAQCAtMTI2LDcgKzEyNiw3IEBA
CiAjZW5kaWYKIAogLy8gRklYTUU6IE1vdmUgdGhpcyB0byBQbGF0Zm9ybUhhdmUuaC4KLSNpZiBQ
TEFURk9STShDT0NPQSkgJiYgIShQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPCAxMDE1MDApCisjaWYgUExBVEZPUk0oQ09DT0EpCiAjZGVmaW5lIEhBVkVf
VExTX1BST1RPQ09MX1ZFUlNJT05fVCAxCiAjZW5kaWYKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439872</attachid>
            <date>2021-10-01 10:09:43 -0700</date>
            <delta_ts>2021-10-01 12:17:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231085-20211001100943.patch</filename>
            <type>text/plain</type>
            <size>49337</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMzY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
YzU2M2MyZmVlMmQ0M2E3YjlhY2FhMmIxOWY1YTEwMDEyNTA3MTkyLi4xYzQwNWU0OGQ5NTU2ZGNl
NWM4MTJkOThjZGY3MTM5ZTFhMDY0MmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAyMS0xMC0wMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIERyb3Agc3VwcG9ydCBmb3IgbWFjT1MgPCAxMC4xNQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMDg1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBBUEkvSlNWYWx1ZS5oOgorICAgICAg
ICAqIEFQSS90ZXN0cy90ZXN0YXBpLm1tOgorICAgICAgICAodGVzdE9iamVjdGl2ZUNBUElNYWlu
KToKKwogMjAyMS0xMC0wMSAgT2xpdmllciBCbGluICA8b2xpdmllci5ibGluQHNvZnRhdGhvbWUu
Y29tPgogCiAgICAgICAgIFtKU0NdW0dMaWJdIEZpeCB0eXBvIGluIFdyYXBwZXJNYXAgY3JlYXRp
b24gbWV0aG9kcwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9DaGFuZ2VMb2cKaW5kZXggODA4MzJh
YTlhMzMzOGEwYzQzNzYwZGMzNDY3N2M0M2VhNGI1ZjMxYi4uMzU3NzMwOTBkMzgyZThlYmY5ZTYy
MDdmYjk3ODI0YTJhZDVmZjViYiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTAtMDEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KKworICAgICAgICBEcm9wIHN1cHBvcnQgZm9yIG1hY09TIDwgMTAuMTUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTA4NQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU291cmNlL3dlYnJ0Yy9z
ZGsvV2ViS2l0L1ZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmg6CisKIDIwMjEtMDktMzAgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFN1cHBvcnQgQUVTIEdDTSBj
aXBoZXJzIGluIFdlYlJUQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV1RGL0NoYW5nZUxvZwppbmRleCA5ZWIzZTU2MGY2ODIxMTIzNzJlMTA3MjgzYzRiNGI0ZGQ0
MDk3MmUzLi4zZTYxNjc0YjAzZmQ1OGVlYThhMDRlN2RiOTFlMDc5MzQxNTIzNjcyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE0IEBACisyMDIxLTEwLTAxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CisKKyAgICAgICAgRHJvcCBzdXBwb3J0IGZvciBtYWNPUyA8IDEwLjE1CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwODUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybUVuYWJsZUNv
Y29hLmg6CisgICAgICAgICogd3RmL1BsYXRmb3JtSGF2ZS5oOgorICAgICAgICAqIHd0Zi9QbGF0
Zm9ybVVzZS5oOgorCiAyMDIxLTA5LTMwICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29t
PgogCiAgICAgICAgIE1ha2UgRmlsZSBTeXN0ZW0gQWNjZXNzIEFQSSBhdmFpbGFibGUgaW4gV29y
a2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggOTUyMjIwMjQ4OTM4ZTQwMjA3NTY3ODNhMGViZGIwY2UxNDMzMWFh
Mi4uM2JkNDk5Yzg0MDA5MjZkMjJiNjNiNDQ2YjdhOGIwOTExMWFiMWNhOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE0IEBACisyMDIxLTEwLTAxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CisKKyAgICAgICAgRHJvcCBzdXBwb3J0IGZvciBtYWNPUyA8IDEwLjE1CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwODUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZEhvc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRI
b3N0OjpwbGF0Zm9ybVZlcnNpb25OYW1lIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL2NvY29hL0Nvb2tpZUNvY29hLm1tOgorCiAyMDIxLTEwLTAxICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBdHRyaWJ1dGUgSU9TdXJmYWNlcyBjcmVhdGVk
IGJ5IGNhbWVyYSBhbmQgZGVjb2RlcnMgdG8gcmVzcG9uc2libGUgV2ViUHJvY2VzcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9D
aGFuZ2VMb2cKaW5kZXggYTkxN2U5NTA5NGRjZTI1MDczYWFmM2Q1YmUzODg3ZjFmNmMwZTk1MC4u
YzZlZTdmYWUyMTlkODhiYTc0OTllMjc5ZDU5NTY1NjM5YTU2NzZiMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMTAtMDEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KKworICAgICAgICBEcm9wIHN1cHBvcnQgZm9yIG1hY09TIDwgMTAuMTUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTA4NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFsL2NvY29hL0FW
Rm91bmRhdGlvblNvZnRMaW5rLm1tOgorICAgICAgICAqIHBhbC9zcGkvY29jb2EvQVZGb3VuZGF0
aW9uU1BJLmg6CisgICAgICAgICogcGFsL3NwaS9tYWMvTlNNZW51U1BJLmg6CisgICAgICAgICog
cGFsL3NwaS9tYWMvTlNWaWV3U1BJLmg6CisKIDIwMjEtMDktMzAgIERldmluIFJvdXNzbyAgPGRy
b3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdW0dQVSBQcm9jZXNzXSBzdXBwb3J0IGA8
YXR0YWNobWVudD5gCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDIzMmQ1YjhkOTdjODRmMjkwMzQwYzhkYTAyMmQ5MjM3
YmMxMmM4YTMuLjQwNGVlM2U5MzE0ZjYwNTUzMGFhN2YyZTkyYmQwOTRjMDk3Y2U3MTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMTAtMDEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KKworICAgICAgICBEcm9wIHN1cHBvcnQgZm9yIG1hY09TIDwgMTAuMTUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTA4NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IuaW46CisgICAgICAgICog
U2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW06CisgICAgICAgICgtW1dLU2VjdXJl
Q29kaW5nQXJjaGl2aW5nRGVsZWdhdGUgYXJjaGl2ZXI6d2lsbEVuY29kZU9iamVjdDpdKToKKyAg
ICAgICAgKiBTaGFyZWQvQ29jb2EvQ29yZVRleHRIZWxwZXJzLm1tOgorICAgICAgICAoV2ViS2l0
Ojpmb250V2l0aEF0dHJpYnV0ZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdl
UHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpjcmVhdGVOZXR3
b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKToKKyAgICAgICAgKiBXZWJBdXRoblByb2Nl
c3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluOgorICAgICAgICAq
IFdlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW46CisKIDIwMjEtMTAtMDEgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEF0dHJpYnV0ZSBJT1N1
cmZhY2VzIGNyZWF0ZWQgYnkgY2FtZXJhIGFuZCBkZWNvZGVycyB0byByZXNwb25zaWJsZSBXZWJQ
cm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggNzMwZTYxZDhkMjk2YzY4ZjQ2
ZmU5YzI4MjVkMWUxMWJmNmZjNGYwYS4uN2JlNDUyNTgzYjE3MGExNGRiNTEyNzYwMjI2YThmNWEx
ZjQ2ODBiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDIxLTEwLTAxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHJv
cCBzdXBwb3J0IGZvciBtYWNPUyA8IDEwLjE1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViSFRNTFZpZXcubW06CisgICAgICAgICgt
W1dlYkhUTUxWaWV3IF9yZWN1cnNpdmU6ZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6aW5Db250
ZXh0OnN0b3BBdExheWVyQmFja2VkVmlld3M6XSk6CisgICAgICAgICgtW1dlYkhUTUxWaWV3IF9y
ZWN1cnNpdmU6ZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6aW5Db250ZXh0OnN0b3BBdExheWVy
QmFja2VkVmlld3M6X3JlY3Vyc2l2ZTpkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTppbkNvbnRl
eHQ6c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOnN0b3BBdExheWVyQmFja2VkVmlld3M6
XSk6IERlbGV0ZWQuCisKIDIwMjEtMDktMjkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBNYWtlIFdlYkxvY2FsaXplZFN0cmluZygpIHRocmVhZC1zYWZlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWUuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNWYWx1ZS5oCmluZGV4IDFiODVkODdlMGMxNjEwOTZjNWQ3ODc1Mzhi
YTI1NTBjZTEzMzI2YTUuLjdiYjdjMjVhMGM4ZTVlNjhjY2Y2OTFkZWI0MmVlNjU4OTM1ZDM1ZTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZS5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZS5oCkBAIC01NDksMTEgKzU0OSw3IEBAIENy
ZWF0ZSBhIEpTVmFsdWUgZnJvbSBhIENHUmVjdC4KICAqLwogQGludGVyZmFjZSBKU1ZhbHVlIChQ
cm9wZXJ0eUFjY2VzcykKIAotI2lmIChkZWZpbmVkKF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApIHx8IChk
ZWZpbmVkKF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEKSAmJiBfX0lQSE9ORV9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCA8IDEzMDAwMCkKLXR5cGVkZWYgTlNTdHJpbmcgKkpTVmFsdWVQ
cm9wZXJ0eTsKLSNlbHNlCiB0eXBlZGVmIGlkIEpTVmFsdWVQcm9wZXJ0eTsKLSNlbmRpZgogCiAv
KiEKICBAbWV0aG9kCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3Rz
L3Rlc3RhcGkubW0gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL3Rlc3RhcGkubW0K
aW5kZXggZjJlYzQyYmE4ODhhZjc0OWE2MDRjNzgwN2ZlM2Y1NTEzOTQ2NTRlYy4uNDNhZjI5OTY2
YTMzZDMwZWZlZTJlMzVhZjMxOGUyNjk2YTBiYjI2MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLm1tCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvdGVzdHMvdGVzdGFwaS5tbQpAQCAtNjQzLDEwICs2NDMsNiBAQCBzdGF0aWMgdm9pZCB0
ZXN0T2JqZWN0aXZlQ0FQSU1haW4oKQogICAgICAgICBjaGVja1Jlc3VsdChAIlNob3VsZCBiZSBh
IGNyZWF0ZWQgZnJvbSBPYmotQyIsIHN5bWJvbC5pc1N5bWJvbCk7CiAgICAgfQogCi0vLyBPbGRl
ciBwbGF0Zm9ybXMgaWZkZWYgdGhlIHR5cGUgb2Ygc29tZSBzZWxlY3RvcnMgc28gdGhlc2UgdGVz
dHMgZG9uJ3Qgd29yay4KLS8vIEZJWE1FOiBSZW1vdmUgdGhpcyB3aGVuIHdlIHN0b3AgYnVpbGRp
bmcgZm9yIG1hY09TIDEwLjE0L2lPUyAxMi4KLSNpZiAoZGVmaW5lZChfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTUwMCkgfHwgKGRlZmluZWQoX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQpICYmIF9f
SVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkKLQogICAgIEBhdXRvcmVs
ZWFzZXBvb2wgewogICAgICAgICBKU0NvbnRleHQgKmNvbnRleHQgPSBbW0pTQ29udGV4dCBhbGxv
Y10gaW5pdF07CiAgICAgICAgIEpTVmFsdWUgKmFycmF5SXRlcmF0b3IgPSBbY29udGV4dCBldmFs
dWF0ZVNjcmlwdDpAIkFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIl07CkBAIC03MzIs
OCArNzI4LDYgQEAgc3RhdGljIHZvaWQgdGVzdE9iamVjdGl2ZUNBUElNYWluKCkKICAgICAgICAg
Y2hlY2tSZXN1bHQoQCJpdGVyYXRpb24gY291bnQgc2hvdWxkIGJlIDEiLCBbY291bnQgdG9VSW50
MzJdID09IDEpOwogICAgIH0KIAotI2VuZGlmCi0KICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKICAg
ICAgICAgSlNDb2xsZWN0aW9uKiBteVByaXZhdGVQcm9wZXJ0aWVzID0gW1tKU0NvbGxlY3Rpb24g
YWxsb2NdIGluaXRdOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1ZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmggYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1ZpZGVvUHJv
Y2Vzc2luZ1NvZnRMaW5rLmgKaW5kZXggY2EwZDk5OGRkYTcwYjhmMzJjYzIzMzIzNzFjN2U2ZTIz
ZDBhNmJlYS4uOWFjZjA4ZjY2NGE0ODk2NTA2ZTA2OWNlYzQxODVkMTEwNDAwMzY3MiAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktp
dC9WaWRlb1Byb2Nlc3NpbmdTb2Z0TGluay5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsuaApA
QCAtNDIsNyArNDIsNyBAQAogI2RlZmluZSBFTkFCTEVfVkNQX0ZPUl9IMjY0X0JBU0VMSU5FIF9f
SVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE1MDAwMAogI2VsaWYgKGRlZmluZWQo
VEFSR0VUX09TX01BQykgJiYgVEFSR0VUX09TX01BQykKICNkZWZpbmUgRU5BQkxFX1ZDUF9FTkNP
REVSIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMTAwMDAKLSNkZWZpbmUgRU5B
QkxFX1ZDUF9WVEJfRU5DT0RFUiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTUwMCAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTEwMDAwCisjZGVmaW5l
IEVOQUJMRV9WQ1BfVlRCX0VOQ09ERVIgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8
IDExMDAwMAogI2RlZmluZSBIQVZFX1ZUQl9SRVFVSVJFRExPV0xBVEVOQ1kgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDAKICNkZWZpbmUgRU5BQkxFX1ZDUF9GT1JfSDI2
NF9CQVNFTElORSBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEyMDAwMAogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmggYi9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKaW5kZXggODdiMmIxY2NlY2I5NWU2
ZWEyMjY3Y2IzNWJmNmExMmUyZTZhNzU5YS4uY2M1YzdlMWUzZjQ3NTQyNjZkOWRmZWFiNTA3MTkw
ZDYzY2I4YTc4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2Nv
YS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaApAQCAtMTcyLDcg
KzE3Miw3IEBACiAjZW5kaWYKIAogLy8gRklYTUU6IFNlZW1zIGxpa2VseSB0aGlzIGNhbiBiZSBl
bmFibGVkIGZvciB0dk9TLgotI2lmICFkZWZpbmVkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRT
KSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8
IDEwMTQwMCkgJiYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgIWRlZmluZWQoRU5BQkxFX0NTU19D
T05JQ19HUkFESUVOVFMpICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBFTkFCTEVfQ1NT
X0NPTklDX0dSQURJRU5UUyAxCiAjZW5kaWYKIApAQCAtMjI4LDcgKzIyOCw3IEBACiAjZGVmaW5l
IEVOQUJMRV9FRElUQUJMRV9SRUdJT04gMQogI2VuZGlmCiAKLSNpZiAhZGVmaW5lZChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA8IDEwMTQwMCkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorI2lmICFk
ZWZpbmVkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkK
ICNkZWZpbmUgRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSAxCiAjZW5kaWYKIApAQCAtNDAyLDcgKzQw
Miw3IEBACiAjZW5kaWYKIAogLy8gRklYTUU6IFdlIGFsbW9zdCBjZXJ0YWlubHkgZG8gbm90IG5l
ZWQgdGhpcyBtb25vc3BhY2UgZm9udCBleGNlcHRpb24gZm9yIHdhdGNoT1MgYW5kIHR2T1MuCi0j
aWYgIWRlZmluZWQoRU5BQkxFX01PTk9TUEFDRV9GT05UX0VYQ0VQVElPTikgJiYgKChQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApIHx8IFBM
QVRGT1JNKFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQUExFVFYpKQorI2lmICFkZWZpbmVkKEVOQUJM
RV9NT05PU1BBQ0VfRk9OVF9FWENFUFRJT04pICYmIChQTEFURk9STShXQVRDSE9TKSB8fCBQTEFU
Rk9STShBUFBMRVRWKSkKICNkZWZpbmUgRU5BQkxFX01PTk9TUEFDRV9GT05UX0VYQ0VQVElPTiAx
CiAjZW5kaWYKIApAQCAtNDk0LDcgKzQ5NCw3IEBACiAjZGVmaW5lIEVOQUJMRV9SRVNPVVJDRV9V
U0FHRSAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9SRVZFQUwpICYmICEoUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKSAmJiAh
UExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgIWRlZmluZWQoRU5B
QkxFX1JFVkVBTCkgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQog
I2RlZmluZSBFTkFCTEVfUkVWRUFMIDEKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4
IDE5N2YxYmE3NWY0ZTBjMmM5ZmQ2NDA1ODllNTU5YzNjMjI1ZTM0Y2QuLjEzZDcyZWU2YmRmY2Fj
MmNlZjhmMmExMDM4YWJhZjQ5YmZjZDczNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCkBAIC0yNTAs
NyArMjUwLDcgQEAKICNkZWZpbmUgSEFWRV9GSkNWVFpTX0lOU1RSVUNUSU9OIDEKICNlbmRpZgog
Ci0jaWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkKKyNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JN
KE1BQykKICNkZWZpbmUgSEFWRV9BUFBfTElOS1MgMQogI2VuZGlmCiAKQEAgLTMxOCwxMCArMzE4
LDcgQEAKICNkZWZpbmUgSEFWRV9JT1NVUkZBQ0VfQUNDRUxFUkFUT1IgMQogI2VuZGlmCiAKLSNp
ZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTUwMCkgXAotICAgIHx8ICgoKFBMQVRGT1JNKElPUykgJiYgIVBMQVRGT1JNKElPU19GQU1JTFlf
U0lNVUxBVE9SKSkgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpKSAmJiBfX0lQSE9ORV9PU19WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDApIFwKLSAgICB8fCAoUExBVEZPUk0oV0FUQ0hPUykg
JiYgIVBMQVRGT1JNKElPU19GQU1JTFlfU0lNVUxBVE9SKSAmJiBfX1dBVENIX09TX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDYwMDAwKSBcCi0gICAgfHwgKFBMQVRGT1JNKEFQUExFVFYpICYmICFQ
TEFURk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikgJiYgX19UVl9PU19WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMzAwMDApCisjaWYgUExBVEZPUk0oTUFDKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlM
WSkgJiYgIVBMQVRGT1JNKElPU19GQU1JTFlfU0lNVUxBVE9SKSkKICNkZWZpbmUgSEFWRV9JT1NV
UkZBQ0VfU0VUX09XTkVSU0hJUCAxCiAjZW5kaWYKIApAQCAtMzU4LDcgKzM1NSw3IEBACiAjZGVm
aW5lIEhBVkVfVE9VQ0hfQkFSIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmICEo
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAw
KSAmJiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgUExBVEZP
Uk0oQ09DT0EpICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKICNk
ZWZpbmUgSEFWRV9IU1RTX1NUT1JBR0VfUEFUSCAxCiAjZW5kaWYKIApAQCAtMzg3LDEwICszODQs
NiBAQAogI2RlZmluZSBIQVZFX0ZPVU5EQVRJT05fV0lUSF9TQU1FX1NJVEVfQ09PS0lFX1NVUFBP
UlQgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
QVhfQUxMT1dFRCA8IDEwMTQwMAotI2RlZmluZSBIQVZFX05TSFRUUENPT0tJRVNUT1JBR0VfX0lO
SVRXSVRISURFTlRJRklFUl9XSVRIX0lOQUNDVVJBVEVfTlVMTEFCSUxJVFkgMQotI2VuZGlmCi0K
ICNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZ
U1QpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKQogI2RlZmluZSBIQVZFX09TX0RB
UktfTU9ERV9TVVBQT1JUIDEKICNlbmRpZgpAQCAtMzk5LDcgKzM5Miw3IEBACiAjZGVmaW5lIEhB
VkVfQ0dfRk9OVF9SRU5ERVJJTkdfR0VUX0ZPTlRfU01PT1RISU5HX0RJU0FCTEVEIDEKICNlbmRp
ZgogCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMTUwMAorI2lmIFBMQVRGT1JNKE1BQykKICNkZWZpbmUgSEFWRV9SRUFEX09OTFlfU1lT
VEVNX1ZPTFVNRSAxCiAjZW5kaWYKIApAQCAtNDMxLDExICs0MjQsMTEgQEAKICNkZWZpbmUgSEFW
RV9BQ0NFU1NJQklMSVRZX0JVTkRMRVNfUEFUSCAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENP
Q09BKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgIShfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTQwMCAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxNDA0
KSkKKyNpZiBQTEFURk9STShDT0NPQSkKICNkZWZpbmUgSEFWRV9DRk5FVFdPUktfT1ZFUlJJREVf
U0VTU0lPTl9DT09LSUVfQUNDRVBUX1BPTElDWSAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENP
Q09BKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA8IDEwMTUwMCkgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQor
I2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQ
UExFVFYpCiAjZGVmaW5lIEhBVkVfQ0ZORVRXT1JLX05TVVJMU0VTU0lPTl9TVFJJQ1RSVVNURVZB
TFVBVEUgMQogI2VuZGlmCiAKQEAgLTQ0NiwxOCArNDM5LDE1IEBACiAjZGVmaW5lIEhBVkVfQ0ZO
RVRXT1JLX05TVVJMU0VTU0lPTl9DT05ORUNUSU9OX0NBQ0hFX0xJTUlUUyAxCiAjZW5kaWYKIAot
I2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxNTAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQorI2lmIFBMQVRGT1JNKENPQ09BKQogI2Rl
ZmluZSBIQVZFX0NGTkVUV09SS19ORUdPVElBVEVEX1NTTF9QUk9UT0NPTF9DSVBIRVIgMQogI2Vu
ZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTUwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpIHx8
IFBMQVRGT1JNKFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQUExFVFYpCisjaWYgUExBVEZPUk0oQ09D
T0EpCiAjZGVmaW5lIEhBVkVfQ0ZORVRXT1JLX1NBTUVTSVRFX0NPT0tJRV9BUEkgMQogI2VuZGlm
CiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMTUwMCkgXAotICAgIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkgXAotICAgIHx8IChQTEFURk9STShXQVRDSE9TKSAm
JiBfX1dBVENIX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDYwMDAwKSBcCi0gICAgfHwgKFBM
QVRGT1JNKEFQUExFVFYpICYmIF9fVFZfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAw
KQorI2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBIQVZFX0NGTkVUV09SS19NRVRSSUNTX0NP
Tk5FQ1RJT05fUFJPUEVSVElFUyAxCiAjZW5kaWYKIApAQCAtNDc3LDE1ICs0NjcsMTUgQEAKICNk
ZWZpbmUgSEFWRV9DRk5FVFdPUktfQUxURVJOQVRJVkVfU0VSVklDRSAxCiAjZW5kaWYKIAotI2lm
IFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1
MDAKKyNpZiBQTEFURk9STShNQUMpCiAjZGVmaW5lIEhBVkVfQ1NDSEVDS0ZJWERJU0FCTEUgMQog
I2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApICYmICFQTEFURk9STShXQVRDSE9T
KSAmJiAhUExBVEZPUk0oQVBQTEVUVikKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVBMQVRGT1JN
KFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBIQVZFX01ETlNfRkFTVF9S
RUdJU1RSQVRJT04gMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApICYmICFQ
TEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKKyNpZiBQTEFURk9STShDT0NP
QSkgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBI
QVZFX0NURk9OVENSRUFURUZPUkNIQVJBQ1RFUlNXSVRITEFOR1VBR0VBTkRPUFRJT04gMQogI2Vu
ZGlmCiAKQEAgLTUxOCwxMSArNTA4LDExIEBACiAjZGVmaW5lIEhBVkVfTE9PS1VQX0dFU1RVUkVf
UkVDT0dOSVpFUiAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQor
I2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBIQVZFX0FMTE9XU19TRU5TSVRJVkVfTE9HR0lO
RyAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQorI2lmIFBMQVRG
T1JNKENPQ09BKQogI2RlZmluZSBIQVZFX0ZBSVJQTEFZU1RSRUFNSU5HX0NFTkNfSU5JVERBVEEg
MQogI2VuZGlmCiAKQEAgLTU0Niw3ICs1MzYsNyBAQAogI2RlZmluZSBIQVZFX05XUEFSQU1FVEVS
U19UUkFDS0VSX0FQSSAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhKFBMQVRG
T1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkgJiYg
IVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhUExBVEZPUk0o
TUFDQ0FUQUxZU1QpCiAjZGVmaW5lIEhBVkVfQVZQTEFZRVJfUkVTT1VSQ0VfQ09OU0VSVkFUSU9O
X0xFVkVMIDEKICNlbmRpZgogCkBAIC01NjIsMzEgKzU1MiwyMyBAQAogI2RlZmluZSBIQVZFX0NP
UkVURVhUX0FVVE9fT1BUSUNBTF9TSVpJTkcgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKQotI2RlZmluZSBI
QVZFX05TRk9OVF9XSVRIX09QVElDQUxfU0laSU5HX0JVRyAxCi0jZW5kaWYKLQotI2lmIChQTEFU
Rk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTAxNTAwKSkKKyNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykKICNk
ZWZpbmUgSEFWRV9BUFBfU1NPIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmICEo
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAw
KQorI2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBIQVZFX1RMU19QUk9UT0NPTF9WRVJTSU9O
X1QgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxNTAwCisjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1NV
QlZJRVdTX0lWQVJfU1BJIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMDE1MDAKLSNkZWZpbmUgSEFWRV9TVUJWSUVXU19J
VkFSX0RFQ0xBUkVEX0JZX1NESyAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTUwMAorI2lmIFBMQVRGT1JNKE1BQykK
ICNkZWZpbmUgSEFWRV9BWF9DTElFTlRfVFlQRSAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENP
Q09BKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA8IDEwMTUwMCkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorI2lmIFBMQVRGT1JNKENPQ09B
KSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAjZGVmaW5lIEhBVkVfREVTSUdOX1NZU1RFTV9V
SV9GT05UUyAxCiAjZW5kaWYKIApAQCAtNTk0LDExICs1NzYsMTEgQEAKICNkZWZpbmUgSEFWRV9D
T09LSUVfQ0hBTkdFX0xJU1RFTkVSX0FQSSAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9S
TShJT1NfRkFNSUxZKQorI2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBIQVZFX0RBVEFfUFJP
VEVDVElPTl9LRVlDSEFJTiAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCAoUExBVEZPUk0oSU9TX0ZB
TUlMWSkgJiYgIVBMQVRGT1JNKElPU19GQU1JTFlfU0lNVUxBVE9SKSkKKyNpZiBQTEFURk9STShN
QUMpIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oSU9TX0ZBTUlMWV9TSU1V
TEFUT1IpKQogI2RlZmluZSBIQVZFX05FQVJfRklFTEQgMQogI2VuZGlmCiAKQEAgLTYwNiw3ICs1
ODgsNyBAQAogI2RlZmluZSBIQVZFX09TX1NJR05QT1NUIDEKICNlbmRpZgogCi0jaWYgKFBMQVRG
T1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8
IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMzAwMDApCisjaWYgUExBVEZPUk0oQ09DT0EpCiAjZGVmaW5lIEhBVkVfQVZBU1NFVFdS
SVRFUkRFTEVHQVRFIDEKICNlbmRpZgogCkBAIC02MjYsNyArNjA4LDcgQEAKICNkZWZpbmUgSEFW
RV9OU1BST0dSRVNTX1BVQkxJU0hJTkdfU1BJIDEKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IChQTEFU
Rk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MzAwMDApCisjaWYgUExBVEZPUk0oQ09DT0EpCiAjZGVmaW5lIEhBVkVfR0NFWFRFTkRFREdBTUVQ
QURfQlVUVE9OU19PUFRJT05TX01FTlUgMQogI2VuZGlmCiAKQEAgLTYzNCwxMSArNjE2LDExIEBA
CiAjZGVmaW5lIEhBVkVfR0NFWFRFTkRFREdBTUVQQURfQlVUVE9OU19USFVNQlNUSUNLIDEKICNl
bmRpZgogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMDE1MDApCisjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX01VTFRJR0FN
RVBBRFBST1ZJREVSX1NVUFBPUlQgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkKKyNpZiBQTEFURk9STShN
QUMpCiAjZGVmaW5lIEhBVkVfSElEX0ZSQU1FV09SSyAxCiAjZW5kaWYKIApAQCAtNzAyLDE1ICs2
ODQsMTUgQEAKICNkZWZpbmUgSEFWRV9NRURJQV9VU0FHRV9GUkFNRVdPUksgMQogI2VuZGlmCiAK
LSNpZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKQorI2lmIFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0o
TUFDKQogI2RlZmluZSBIQVZFX1BBU1NLSVRfQk9VTkRfSU5URVJGQUNFX0lERU5USUZJRVIgMQog
I2VuZGlmCiAKLSNpZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKQorI2lmIFBMQVRGT1JNKElPUykgfHwg
UExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1BBU1NLSVRfSU5TVEFMTE1FTlRTIDEKICNlbmRp
ZgogCi0jaWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkKKyNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRG
T1JNKE1BQykKICNkZWZpbmUgSEFWRV9QQVNTS0lUX1BBWU1FTlRfTUVUSE9EX0JJTExJTkdfQURE
UkVTUyAxCiAjZW5kaWYKIApAQCAtNzIzLDcgKzcwNSw3IEBACiAjZGVmaW5lIEhBVkVfUEFTU0tJ
VF9VUERBVEVfU0hJUFBJTkdfTUVUSE9EU19XSEVOX0NIQU5HSU5HX1NVTU1BUllfSVRFTVMgMQog
I2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRBTFlT
VCkKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDQ0FU
QUxZU1QpCiAjZGVmaW5lIEhBVkVfUVVJQ0tMT09LX1RIVU1CTkFJTElORyAxCiAjZW5kaWYKIApA
QCAtNzg3LDcgKzc2OSw3IEBACiAjZGVmaW5lIEhBVkVfQ1RGT05USVNTWVNURU1VSUZPTlQgMQog
I2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApCisjaWYgUExBVEZPUk0oQ09DT0Ep
CiAjZGVmaW5lIEhBVkVfQ1RGT05UR0VUUEhZU0lDQUxTWU1CT0xJQ1RSQUlUUyAxCiAjZW5kaWYK
IApAQCAtODc4LDcgKzg2MCw3IEBACiAjZGVmaW5lIEhBVkVfQVZPVVRQVVRERVZJQ0VfU1BBVElB
TEFVRElPIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRB
TFlTVCkgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDE1MDApCisjaWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkg
fHwgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1NQRUVDSFJFQ09HTklaRVIgMQogI2VuZGlm
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmggYi9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybVVzZS5oCmluZGV4IGZiZDhiZDlhZGMxMjQwMmVjYjhlMjRiMjlmNGUxZTM0
NTQ4YzdlYjcuLmFkYTE4MDc2Y2MwZDQ4NjYwNGY4MGE2OGM1ZDI0OTg3Mjg3ZmU5NzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKKysrIGIvU291cmNlL1dURi93dGYv
UGxhdGZvcm1Vc2UuaApAQCAtMTg5LDEwICsxODksNiBAQAogI2RlZmluZSBVU0VfSU1MQU5HX0ZP
TlRfTElOSzIgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NQVhfQUxMT1dFRCA8IDEwMTUwMAotI2RlZmluZSBVU0VfQVZfU0FNUExFX0JVRkZFUl9E
SVNQTEFZX0xBWUVSIDEKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRGT1JN
KEdUSykKICNkZWZpbmUgVVNFX1VOSUZJRURfVEVYVF9DSEVDS0lORyAxCiAjZW5kaWYKQEAgLTI1
OSw3ICsyNTUsNyBAQAogI2RlZmluZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCiAjZW5k
aWYKIAotI2lmIChQTEFURk9STShNQUMpICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1Nf
RkFNSUxZKQorI2lmIChQTEFURk9STShNQUMpICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspKSB8
fCBQTEFURk9STShJT1NfRkFNSUxZKQogI2RlZmluZSBVU0VfU09VUkNFX0FQUExJQ0FUSU9OX0FV
RElUX0RBVEEgMQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
Y2YvQ29yZU1lZGlhU29mdExpbmsuY3BwIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3Jl
TWVkaWFTb2Z0TGluay5jcHAKaW5kZXggOGJkM2EyM2IzZjlmNzdmNTIwZDk3YzU4MzYwMGIyZTVj
ZTA4YmIwOC4uZGY3NTc0YTc0ZDdhNWM2YzQ3OWRmOWE0YTNlZGVjZjYyNTRhNzczNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAKQEAgLTM4
LDcgKzM4LDcgQEAKIAogI2luY2x1ZGUgPENvcmVBdWRpby9Db3JlQXVkaW9UeXBlcy5oPgogCi0j
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9W
RVJTSU9OX01BWF9BTExPV0VEID49IDEwMTQwMCkKKyNpZiBQTEFURk9STShDT0NPQSkKICNkZWZp
bmUgQ01TQU1QTEVCVUZGRVJDQUxMX05PRVNDQVBFIENGX05PRVNDQVBFCiAjZWxzZQogI2RlZmlu
ZSBDTVNBTVBMRUJVRkZFUkNBTExfTk9FU0NBUEUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
Y2YvQ29yZU1lZGlhU29mdExpbmsuaAppbmRleCA5ODc2OTJiY2Y4MjUwODgzMzE5NTdmMjJkMGQ1
ODc4MmZjZjc3MDBmLi5jNDFiNDgzYTQ3Y2RmNzJhZjA2YmMxMDQ5ZmUyZGNmZDk2NDQ0NjJkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCkBAIC0z
OCw3ICszOCw3IEBACiAjZGVmaW5lIFNPRlRMSU5LX0FWS0lUX0ZSQU1FV09SSygpIFNPRlRfTElO
S19GUkFNRVdPUktfT1BUSU9OQUwoQVZLaXQpCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dF
RCA+PSAxMDE0MDApCisjaWYgUExBVEZPUk0oQ09DT0EpCiAjZGVmaW5lIENNU0FNUExFQlVGRkVS
Q0FMTF9OT0VTQ0FQRSBDRl9OT0VTQ0FQRQogI2Vsc2UKICNkZWZpbmUgQ01TQU1QTEVCVUZGRVJD
QUxMX05PRVNDQVBFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FW
Rm91bmRhdGlvblNvZnRMaW5rLm1tIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZv
dW5kYXRpb25Tb2Z0TGluay5tbQppbmRleCAzNTFjNmYyZjBkZjE0OTgwYzIzYjkxMjkyMzlhODlj
NDA5M2JkNGM0Li4xMTZlN2RkNzU4ZDg3MmQxOTM3YTFmOTcxNWM5ZGY3Y2QxNjE4YzU0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5r
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExp
bmsubW0KQEAgLTMwLDcgKzMwLDcgQEAKICNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVkZvdW5kYXRp
b24uaD4KICNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgogCi0jaWYgIShQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApICYmICFQTEFURk9S
TShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKKyNpZiAhUExBVEZPUk0oV0FUQ0hPUykg
JiYgIVBMQVRGT1JNKEFQUExFVFYpCiBTT0ZUX0xJTktfRlJBTUVXT1JLX0ZPUl9TT1VSQ0VfV0lU
SF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIFBBTF9FWFBPUlQpCiAjZWxzZQogQGludGVyZmFj
ZSBBVlBsYXllckl0ZW0gKERpc2FibGVLVk9PblN1cHJlc3Nlc1ZpZGVvTGF5ZXJzKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQVZGb3VuZGF0aW9uU1BJLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9BVkZvdW5kYXRpb25TUEkuaAppbmRl
eCBjYjFlZDExZmRlNzc5NmU0ZGI0NjlkZTFmOGEyMDliNzRmZDYzNzFkLi4wY2QzZTY0MTNjOWYz
NGY3MGU5NmFjYjlmMDA3Nzk5YzE1OGEwMjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9jb2NvYS9BVkZvdW5kYXRpb25TUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9jb2NvYS9BVkZvdW5kYXRpb25TUEkuaApAQCAtMzgxLDcgKzM4MSw3IEBAIE5T
X0FTU1VNRV9OT05OVUxMX0VORAogQGVuZAogI2VuZGlmCiAKLSNpZiAhVVNFKEFQUExFX0lOVEVS
TkFMX1NESykgfHwgVVNFKEFWX1NBTVBMRV9CVUZGRVJfRElTUExBWV9MQVlFUikKKyNpZiAhVVNF
KEFQUExFX0lOVEVSTkFMX1NESykKIEBpbnRlcmZhY2UgQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5
ZXIgKFdlYkNvcmVQcml2YXRlKQogQHByb3BlcnR5IChhc3NpZ24sIG5vbmF0b21pYykgQk9PTCBw
cmV2ZW50c0Rpc3BsYXlTbGVlcER1cmluZ1ZpZGVvUGxheWJhY2s7CiBAZW5kCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmggYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmgKaW5kZXggODQ5NmU3NmM3NWQy
Yjk1NzNkNDBiODQyYjJiZjcyZTk5ODQ3ZmZlZS4uZTlkNjNjOTE0ZjMwMmZmMTVjNTRiNzlkZGNh
YzE0OTE4NGFiZTM2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29j
b2EvUGFzc0tpdFNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bh
c3NLaXRTUEkuaApAQCAtNDQyLDcgKzQ0Miw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIs
IFBLUGF5bWVudEJ1dHRvblR5cGUpIHsKICAgICBQS1BheW1lbnRCdXR0b25UeXBlU2V0VXAsCiAg
ICAgUEtQYXltZW50QnV0dG9uVHlwZUluU3RvcmUsCiAgICAgUEtQYXltZW50QnV0dG9uVHlwZURv
bmF0ZSwKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9X
RUQgPj0gMTAxNDAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQorI2lmIFBMQVRGT1JNKENPQ09B
KQogICAgIFBLUGF5bWVudEJ1dHRvblR5cGVDaGVja291dCwKICAgICBQS1BheW1lbnRCdXR0b25U
eXBlQm9vaywKICAgICBQS1BheW1lbnRCdXR0b25UeXBlU3Vic2NyaWJlLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05TTWVudVNQSS5oIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9zcGkvbWFjL05TTWVudVNQSS5oCmluZGV4IGViYWE2OWJhNzI3MjkzN2MxZTQw
M2ExOGIzYzkzNzY2YzQxYmUwNGUuLjBlNjQ3MGUwYzFhNjkwNTRlYzUyOWM4Mjk4ZGI2ZWQwYWEz
MDQzZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU01lbnVT
UEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNNZW51U1BJLmgKQEAg
LTI3LDcgKzI3LDcgQEAKIAogI2lmIFBMQVRGT1JNKE1BQykKIAotI2lmIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCisj
aWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAogI2ltcG9ydCA8QXBwS2l0L05TTWVudV9Qcml2
YXRlLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU1Zp
ZXdTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU1ZpZXdTUEkuaAppbmRl
eCA2OGNlOGJmYzM0ZTk4NWVjYWRlYTkyNjkxYThkNmE2YzNmYmI0ODNmLi4xMDc0YTY2NTljOGIx
MDFiNTYzNTQ3NzIwYmZkZTUwYjM0ZDVlYzQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9tYWMvTlNWaWV3U1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9z
cGkvbWFjL05TVmlld1NQSS5oCkBAIC0zMCw3ICszMCw3IEBACiAjaW1wb3J0IDxwYWwvc3BpL2Nv
Y29hL1F1YXJ0ekNvcmVTUEkuaD4KIAogQGludGVyZmFjZSBOU1ZpZXcgKCkgPENBTGF5ZXJEZWxl
Z2F0ZT4gewotI2lmICFIQVZFKFNVQlZJRVdTX0lWQVJfU1BJKSAmJiAhSEFWRShTVUJWSUVXU19J
VkFSX0RFQ0xBUkVEX0JZX1NESykKKyNpZiAhSEFWRShTVUJWSUVXU19JVkFSX1NQSSkKIEBwYWNr
YWdlCiAgICAgTlNNdXRhYmxlQXJyYXk8X19raW5kb2YgTlNWaWV3ICo+ICpfc3Vidmlld3M7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9u
dGVuZEhvc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
SG9zdC5jcHAKaW5kZXggZTU0ODhhMjE3YWM5N2IxNjE0NThkYTI3MDJhM2ViOGRlZjQzN2YzZS4u
MGJmMWJkNzM2NDczNjQ2ODc3YTEwMzM4YTQyNDFlYzYwYTI2NDFiYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKQEAgLTQwMSw4
ICs0MDEsNiBAQCBTdHJpbmcgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpwbGF0Zm9ybVZlcnNpb25O
YW1lKCkgY29uc3QKICAgICByZXR1cm4gImJpZy1zdXIiX3M7CiAjZWxpZiBQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCiAgICAgcmV0dXJu
ICJjYXRhbGluYSJfczsKLSNlbGlmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMDE0MDAKLSAgICByZXR1cm4gIm1vamF2ZSJfczsKICNlbHNlCiAg
ICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCmlu
ZGV4IGYzMTRkY2ViZGEzNGY4YjIwODNiMzRhOWQ5ZTEzNjU0MmM5ZDFhYjkuLmZhYjhhOGNiZjRl
NWNmZWRhNmQ1MjkyZmRmY2Q4MGQzMTIxZTgxYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQpA
QCAtMzE5MiwxNCArMzE5Miw2IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
T2JqQzo6cGxheWVySXRlbVN0YXR1c0RpZENoYW5nZShpbnQgc3RhdHVzKQogewogICAgIG1fY2Fj
aGVkSXRlbVN0YXR1cyA9IHN0YXR1czsKIAotICAgIC8vIFNldHRpbmcgdGhlIHBpdGNoIGFsZ29y
aXRobSBoZXJlIGNhdXNlcyB0ZXN0cyB0byBmYWlsIG9uIE1vamF2ZTsgcmV2ZXJ0IHRoaXMgY2hh
bmdlCi0gICAgLy8gZm9yIDw9IE1vamF2ZSBidWlsZHMuCi0jaWYgIShQTEFURk9STShNQUMpICYm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPiAxMDE0MDApCi0gICAgLy8gRklYTUUo
cmRhcjovLzcyODI5MzU0KTogUmVtb3ZlIGFmdGVyIEFWRm91bmRhdGlvbiByYWRhciBpcyBmaXhl
ZC4KLSAgICBpZiAoc3RhdHVzID09IEFWUGxheWVySXRlbVN0YXR1c1JlYWR5VG9QbGF5KQotICAg
ICAgICBbbV9hdlBsYXllckl0ZW0gc2V0QXVkaW9UaW1lUGl0Y2hBbGdvcml0aG06YXVkaW9UaW1l
UGl0Y2hBbGdvcml0aG1Gb3JNZWRpYVBsYXllclBpdGNoQ29ycmVjdGlvbkFsZ29yaXRobShwbGF5
ZXIoKS0+cGl0Y2hDb3JyZWN0aW9uQWxnb3JpdGhtKCksIHBsYXllcigpLT5wcmVzZXJ2ZXNQaXRj
aCgpLCBtX3JlcXVlc3RlZFJhdGUpXTsKLSNlbmRpZgotCiAgICAgdXBkYXRlU3RhdGVzKCk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvQ29v
a2llQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL0Nvb2tp
ZUNvY29hLm1tCmluZGV4IDEwZWM3NWE3ZWVlODc4NDFjZTAxMmI5YWYxOWI0NjcwYjBjMTkyMDAu
LjBkYzU4YTk5MDZlY2E3NDZjNmJmOWU3NGE4M2VmZjI4NGZmNTA5NmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvQ29va2llQ29jb2EubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9Db29raWVDb2NvYS5tbQpAQCAt
MjksMTYgKzI5LDYgQEAKIC8vIEZJWE1FOiBSZW1vdmUgTlNfQVNTVU1FX05PTk5VTExfQkVHSU4v
RU5EIGFuZCBhbGwgX051bGxhYmxlIGFubm90YXRpb25zIG9uY2Ugd2UgcmVtb3ZlIHRoZSBOU0hU
VFBDb29raWUgZm9yd2FyZCBkZWNsYXJhdGlvbiBiZWxvdy4KIE5TX0FTU1VNRV9OT05OVUxMX0JF
R0lOCiAKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dF
RCA8IDEwMTUwMAotdHlwZWRlZiBOU1N0cmluZyAqIE5TSFRUUENvb2tpZVN0cmluZ1BvbGljeTsK
LUBpbnRlcmZhY2UgTlNIVFRQQ29va2llIChTdGFnaW5nKQotQHByb3BlcnR5IChudWxsYWJsZSwg
cmVhZG9ubHksIGNvcHkpIE5TSFRUUENvb2tpZVN0cmluZ1BvbGljeSBzYW1lU2l0ZVBvbGljeTsK
LUBlbmQKLQotc3RhdGljIE5TU3RyaW5nICogY29uc3QgTlNIVFRQQ29va2llU2FtZVNpdGVMYXgg
PSBAImxheCI7Ci1zdGF0aWMgTlNTdHJpbmcgKiBjb25zdCBOU0hUVFBDb29raWVTYW1lU2l0ZVN0
cmljdCA9IEAic3RyaWN0IjsKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRp
YyBWZWN0b3I8dWludDE2X3Q+IHBvcnRWZWN0b3JGcm9tTGlzdChOU0FycmF5PE5TTnVtYmVyICo+
ICpwb3J0TGlzdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tYWMvY29t
LmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21hYy9jb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4KaW5kZXggMDYyNWQyMjNhNTRm
YjU2MTA4YWU5YmY2MGFjOGM3NjgxZDU0NzViZC4uYjJiNDNjNzJiNzM2NjQ1N2JlNWJiMzEwYThj
NWExYzBmYjYyYjMzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21hYy9j
b20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4KQEAgLTExOCw3ICsx
MTgsNyBAQAogICAgIDs7IENWTVMKICAgICAoYWxsb3cgbWFjaC1sb29rdXAgKHdpdGggdGVsZW1l
dHJ5KQogICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5jdm1zU2VydiIpKQotI2lmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwIHx8IFBMQVRGT1JNKE1BQ0NB
VEFMWVNUKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAg
KGFsbG93IGZpbGUtcmVhZCogKHdpdGggdGVsZW1ldHJ5KQogICAgICAgICAocHJlZml4ICIvcHJp
dmF0ZS92YXIvZGIvQ1ZNUy9jdm1zQ29kZVNpZ25PYmoiKSkKICNlbmRpZgpAQCAtNDI3LDcgKzQy
Nyw2IEBACiAgICAgKGlva2l0LXByb3BlcnR5ICJzYXZlZC1jb25maWciKQogICAgIChpb2tpdC1w
cm9wZXJ0eSAic3RhcnR1cC10aW1pbmciKQogICAgIChpb2tpdC1wcm9wZXJ0eSAidG91Y2gtc2l6
ZS1pZCIpCi0jaWYgIVBMQVRGT1JNKE1BQykgfHwgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMDE0MDAKICAgICAoaW9raXQtcHJvcGVydHkgIkFUWSxjYml0cyIpCiAgICAgKGlv
a2l0LXByb3BlcnR5ICJBVFksaW50cmV2IikKICAgICAoaW9raXQtcHJvcGVydHkgIkFjY2VsTmF0
aXZlRE1BUm93Qnl0ZUFsaWdubWVudCIpCkBAIC00NDUsNyArNDQ0LDYgQEAKICAgICAoaW9raXQt
cHJvcGVydHkgIlRlbGVtZXRyeURpc2FibGUiKQogICAgIChpb2tpdC1wcm9wZXJ0eSAiY2FpbF9w
cm9wZXJ0aWVzIikKICAgICAoaW9raXQtcHJvcGVydHkgImRwbSIpCi0jZW5kaWYKICAgICAoaW9r
aXQtcHJvcGVydHkgIklPR1ZBSDI2NEVuY29kZUNhcGFiaWxpdGllcyIpIDs7IDxyZGFyOi8vcHJv
YmxlbS80OTQ5ODA0MD4KICNpZiAhUExBVEZPUk0oTUFDKSB8fCBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID4gMTAxNTAwCiAgICAgKGlva2l0LXByb3BlcnR5ICJJT0FWREhFVkNEZWNv
ZGVDYXBhYmlsaXRpZXMiKSA7OyA8cmRhcjovL3Byb2JsZW0vNzExMDAxODg+CkBAIC02OTAsNyAr
Njg4LDcgQEAKIDs7IFZhcmlvdXMgc2VydmljZXMgcmVxdWlyZWQgYnkgQXBwS2l0IGFuZCBvdGhl
ciBmcmFtZXdvcmtzCiAoYWxsb3cgbWFjaC1sb29rdXAKICAgICAgICAoZ2xvYmFsLW5hbWUgImNv
bS5hcHBsZS5hdWRpby5hdWRpb2hhbGQiKQotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTAxNDAwIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorI2lmIFBMQVRGT1JNKE1B
QykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBw
bGUuQ0FSZW5kZXJTZXJ2ZXIiKSA7IE5lZWRlZCBmb3IgW0NBQ29udGV4dCByZW1vdGVDb250ZXh0
V2l0aE9wdGlvbnNdCiAjZWxzZQogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLndpbmRv
d3NlcnZlci5hY3RpdmUiKQpAQCAtNzAyLDkgKzcwMCw2IEBACiAgICAgICAgKGdsb2JhbC1uYW1l
ICJjb20uYXBwbGUubG9nZC5ldmVudHMiKSkKIAogKGFsbG93IG1hY2gtbG9va3VwICh3aXRoIHRl
bGVtZXRyeSkKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNDAwCi0g
ICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuRm9udE9iamVjdHNTZXJ2ZXIiKQotI2VuZGlm
CiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuU3lzdGVtQ29uZmlndXJhdGlvbi5jb25m
aWdkIikKICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5hc3NlcnRpb25kLnByb2Nlc3Nh
c3NlcnRpb25jb25uZWN0aW9uIikKICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5hdWRp
by50b29sYm94LnJlcG9ydGluZy5zZXJ2aWNlIikKQEAgLTcyMCwxMiArNzE1LDEyIEBACiAgICAg
ICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUudGNjZC5zeXN0ZW0iKQogKQogCi0jaWYgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAgfHwgUExBVEZPUk0oTUFDQ0FUQUxZ
U1QpCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKIDs7IDxyZGFy
Oi8vcHJvYmxlbS80NzI2ODE2Nj4KIChhbGxvdyBtYWNoLWxvb2t1cCAod2l0aCB0ZWxlbWV0cnkp
ICh4cGMtc2VydmljZS1uYW1lICJjb20uYXBwbGUuTVRMQ29tcGlsZXJTZXJ2aWNlIikpCiAjZW5k
aWYKIAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwIHx8IFBM
QVRGT1JNKE1BQ0NBVEFMWVNUKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oTUFDQ0FU
QUxZU1QpCiAoZGVueSBtYWNoLWxvb2t1cCAod2l0aCBuby1sb2cpCiAgICAgKGdsb2JhbC1uYW1l
ICJjb20uYXBwbGUuQ29yZVNlcnZpY2VzLmNvcmVzZXJ2aWNlc2QiKQogICAgIChnbG9iYWwtbmFt
ZSAiY29tLmFwcGxlLkRpc2tBcmJpdHJhdGlvbi5kaXNrYXJiaXRyYXRpb25kIikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29j
b2EubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFz
a0NvY29hLm1tCmluZGV4IDVjMTI1MWFmNDE2YzM2YTIxYTcxYmM4NGYxOGQwNGM5NTFhNjc5OWYu
LmVmMDQ2MDE5M2VmMWI0OGI3ZmI3YWQ3MWJhNzBiZDMyZDk1NjU1ZDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0K
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tD
b2NvYS5tbQpAQCAtMTMwLDEzICsxMzAsNyBAQCBOU0hUVFBDb29raWVTdG9yYWdlICpOZXR3b3Jr
RGF0YVRhc2tDb2NvYTo6c3RhdGVsZXNzQ29va2llU3RvcmFnZSgpCiB7CiAgICAgc3RhdGljIE5l
dmVyRGVzdHJveWVkPFJldGFpblB0cjxOU0hUVFBDb29raWVTdG9yYWdlPj4gc3RhdGVsZXNzQ29v
a2llU3RvcmFnZTsKICAgICBpZiAoIXN0YXRlbGVzc0Nvb2tpZVN0b3JhZ2UuZ2V0KCkpIHsKLSNp
ZiBIQVZFKE5TSFRUUENPT0tJRVNUT1JBR0VfX0lOSVRXSVRISURFTlRJRklFUl9XSVRIX0lOQUND
VVJBVEVfTlVMTEFCSUxJVFkpCi0gICAgICAgIElHTk9SRV9OVUxMX0NIRUNLX1dBUk5JTkdTX0JF
R0lOCi0jZW5kaWYKICAgICAgICAgc3RhdGVsZXNzQ29va2llU3RvcmFnZS5nZXQoKSA9IGFkb3B0
TlMoW1tOU0hUVFBDb29raWVTdG9yYWdlIGFsbG9jXSBfaW5pdFdpdGhJZGVudGlmaWVyOm5pbCBw
cml2YXRlOllFU10pOwotI2lmIEhBVkUoTlNIVFRQQ09PS0lFU1RPUkFHRV9fSU5JVFdJVEhJREVO
VElGSUVSX1dJVEhfSU5BQ0NVUkFURV9OVUxMQUJJTElUWSkKLSAgICAgICAgSUdOT1JFX05VTExf
Q0hFQ0tfV0FSTklOR1NfRU5ECi0jZW5kaWYKICAgICAgICAgc3RhdGVsZXNzQ29va2llU3RvcmFn
ZS5nZXQoKS5nZXQoKS5jb29raWVBY2NlcHRQb2xpY3kgPSBOU0hUVFBDb29raWVBY2NlcHRQb2xp
Y3lOZXZlcjsKICAgICB9CiAgICAgQVNTRVJUKHN0YXRlbGVzc0Nvb2tpZVN0b3JhZ2UuZ2V0KCku
Z2V0KCkuY29va2llcy5jb3VudCA9PSAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IuaW4gYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQ
cm9jZXNzLnNiLmluCmluZGV4IDkwMzliYzg3MDFjZWEyYWExZDA5ODA5M2NjNWNkMTNhY2I5Y2Y3
MDQuLjE3NDQxYzczZjRlNTJlNDcyYTI1ZGFjYmMxOGQxNzAxMDhkNDhiODkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29y
a1Byb2Nlc3Muc2IuaW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9tYWMvY29t
LmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYi5pbgpAQCAtMzgsNyArMzgsNyBAQAogCiAj
aW5jbHVkZSAiU2hhcmVkL1NhbmRib3gvcHJlZmVyZW5jZXMuc2IiCiAKLSNpZiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMAorI2lmIFBMQVRGT1JNKE1BQykKIDs7Owog
Ozs7IFRoZSBmb2xsb3dpbmcgcnVsZXMgd2VyZSBvcmlnaW5hbGx5IGNvbnRhaW5lZCBpbiAnY29t
bW9uLnNiJy4gV2UgYXJlIGR1cGxpY2F0aW5nIHRoZW0gaGVyZSBzbyB3ZSBjYW4KIDs7OyByZW1v
dmUgdW5uZWVkZWQgc2FuZGJveCBleHRlbnNpb25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9zcGkvbWFjL0FwcEtpdFNQSS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9z
cGkvbWFjL0FwcEtpdFNQSS5oCmluZGV4IGNhMWJhNmNkNjZhOWFmMTA0Mzk0YjlkZGQ3MTI4ZGY4
MmIxMDNmZmUuLmIyYjJhNjk4Mzg5MDMwOTJjOGZiOGRmYjY4MTEzYjAyZjQ0OTk3NmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL21hYy9BcHBLaXRTUEkuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9tYWMvQXBwS2l0U1BJLmgKQEAgLTYwLDEwICs2MCw3
IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBOU1dpbmRvd1NoYWRvd09wdGlvbnMp
IHsKIC0gKHZvaWQpc2V0SW5zcGVjdG9yQmFyOihOU0luc3BlY3RvckJhciAqKWJhcjsKIAogQHBy
b3BlcnR5IChyZWFkb25seSkgTlNXaW5kb3dTaGFkb3dPcHRpb25zIHNoYWRvd09wdGlvbnM7Ci0K
LSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxNDAwCiBAcHJvcGVydHkg
Q0dGbG9hdCB0aXRsZWJhckFscGhhVmFsdWU7Ci0jZW5kaWYKIAogI2lmIEhBVkUoTlNTQ1JPTExW
SUVXX1NFUEFSQVRPUl9UUkFDS0lOR19BREFQVEVSKQogLSAoQk9PTClyZWdpc3RlclNjcm9sbFZp
ZXdTZXBhcmF0b3JUcmFja2luZ0FkYXB0ZXI6KE5TT2JqZWN0PE5TU2Nyb2xsVmlld1NlcGFyYXRv
clRyYWNraW5nQWRhcHRlcj4gKilhZGFwdGVyOwpAQCAtODIsMTIgKzc5LDYgQEAgdHlwZWRlZiBO
U19PUFRJT05TKE5TVUludGVnZXIsIE5TV2luZG93U2hhZG93T3B0aW9ucykgewogLSAodm9pZClf
dXBkYXRlOwogQGVuZAogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgMTAx
NDAwCi1AaW50ZXJmYWNlIE5TV2luZG93IChJUEkpCi1AcHJvcGVydHkgQ0dGbG9hdCB0aXRsZWJh
ckFscGhhVmFsdWU7Ci1AZW5kCi0jZW5kaWYKLQogLy8gRklYTUU6IE1vdmUgdGhpcyBhYm92ZSBv
bmNlIDxyZGFyOi8vcHJvYmxlbS83MDIyNDk4MD4gaXMgaW4gYW4gU0RLLgogQGludGVyZmFjZSBO
U0N1cnNvciAoKQogKyAodm9pZCloaWRlVW50aWxDaGFuZ2VkOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9QbHVnaW5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LnBsdWdpbi1jb21tb24u
c2IuaW4gYi9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQu
cGx1Z2luLWNvbW1vbi5zYi5pbgppbmRleCAxMGRkZTI3NjYwMmY3ZDQ1Y2Q2NTY1OTVmZTFiODBh
NGFjNTk2NGFlLi5jMjAxNWVhZjA1ZjcwMmQ4N2Q3YTA1ZTRjNTc1ODIyZTkwYzcxZmY5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQu
cGx1Z2luLWNvbW1vbi5zYi5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3MvbWFj
L2NvbS5hcHBsZS5XZWJLaXQucGx1Z2luLWNvbW1vbi5zYi5pbgpAQCAtMTY4LDcgKzE2OCw3IEBA
CiAgICAgKHhwYy1zZXJ2aWNlLW5hbWUgImNvbS5hcHBsZS5oaXNlcnZpY2VzLXhwY3NlcnZpY2Ui
KQogKQogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAKKyNp
ZiBQTEFURk9STShNQUMpCiA7OyA8cmRhcjovL3Byb2JsZW0vNDcyNjgxNjY+CiAoYWxsb3cgbWFj
aC1sb29rdXAgKHhwYy1zZXJ2aWNlLW5hbWUgImNvbS5hcHBsZS5NVExDb21waWxlclNlcnZpY2Ui
KSkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1l
bnRDb2RlcnNDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29k
ZXJzQ29jb2EubW0KaW5kZXggYmE0OTkwOTEyYmI0NDAyYzQ0YjU2MGQzNDU1ZjkxNGE4ODMxNGQ1
YS4uMjEyNTM5OTI2NGFiMWZjMGEzNmM1YzM2MDU0MTdkYmQzNjMzYzhkOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLm1tCkBAIC02Niwx
NCArNjYsNiBAQCBAaW1wbGVtZW50YXRpb24gV0tTZWN1cmVDb2RpbmdBcmNoaXZpbmdEZWxlZ2F0
ZQogCiAtIChudWxsYWJsZSBpZClhcmNoaXZlcjooTlNLZXllZEFyY2hpdmVyICopYXJjaGl2ZXIg
d2lsbEVuY29kZU9iamVjdDooaWQpb2JqZWN0CiB7Ci0jaWYgSEFWRShOU0ZPTlRfV0lUSF9PUFRJ
Q0FMX1NJWklOR19CVUcpCi0gICAgaWYgKGF1dG8gZm9udCA9IGR5bmFtaWNfb2JqY19jYXN0PE5T
Rm9udD4ob2JqZWN0KSkgewotICAgICAgICAvLyBSZWNyZWF0ZSBhbnkgc2VyaWFsaXplZCBmb250
cyBhZnRlciBub3JtYWxpemluZyB0aGUKLSAgICAgICAgLy8gZm9udCBhdHRyaWJ1dGVzIHRvIHdv
cmsgYXJvdW5kIDxyZGFyOi8vcHJvYmxlbS81MTY1Nzg4MD4uCi0gICAgICAgIHJldHVybiBXZWJL
aXQ6OmZvbnRXaXRoQXR0cmlidXRlcyhmb250LmZvbnREZXNjcmlwdG9yLmZvbnRBdHRyaWJ1dGVz
LCAwKTsKLSAgICB9Ci0jZW5kaWYKLQogICAgIGlmIChhdXRvIHVud3JhcHBlZFVSTCA9IGR5bmFt
aWNfb2JqY19jYXN0PE5TVVJMPihvYmplY3QpKQogICAgICAgICByZXR1cm4gYWRvcHROUyhbW1dL
U2VjdXJlQ29kaW5nVVJMV3JhcHBlciBhbGxvY10gaW5pdFdpdGhVUkw6dW53cmFwcGVkVVJMXSku
YXV0b3JlbGVhc2UoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2Ev
Q29yZVRleHRIZWxwZXJzLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZVRleHRI
ZWxwZXJzLm1tCmluZGV4IGNhYWE3Y2I2MmM1NmZmOGY3NTYwZGE5NmYxYWNhZGJmZGRhMTFkNDIu
LmEyNTEwYzY0MzUwNGQ4Mzk1NWRmOTQyZWY0Nzc0NzM1MWM5ZWZiYzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVUZXh0SGVscGVycy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMubW0KQEAgLTM1LDIxICszNSw3IEBA
IENvY29hRm9udCAqZm9udFdpdGhBdHRyaWJ1dGVzKE5TRGljdGlvbmFyeSAqYXR0cmlidXRlcywg
Q0dGbG9hdCBzaXplKQogewogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUwogCi0jaWYg
SEFWRShOU0ZPTlRfV0lUSF9PUFRJQ0FMX1NJWklOR19CVUcpCi0gICAgYXV0byBtdXRhYmxlRGlj
dGlvbmFyeSA9IGFkb3B0TlMoW2F0dHJpYnV0ZXMgbXV0YWJsZUNvcHldKTsKLSAgICBpZiAoaWQg
b3B0aWNhbFNpemVBdHRyaWJ1dGUgPSBbbXV0YWJsZURpY3Rpb25hcnkgb2JqZWN0Rm9yS2V5Oihf
X2JyaWRnZSBOU1N0cmluZyAqKWtDVEZvbnRPcHRpY2FsU2l6ZUF0dHJpYnV0ZV0pIHsKLSAgICAg
ICAgaWYgKFtvcHRpY2FsU2l6ZUF0dHJpYnV0ZSBpc0tpbmRPZkNsYXNzOltOU1N0cmluZyBjbGFz
c11dKSB7Ci0gICAgICAgICAgICBbbXV0YWJsZURpY3Rpb25hcnkgcmVtb3ZlT2JqZWN0Rm9yS2V5
OihfX2JyaWRnZSBOU1N0cmluZyAqKWtDVEZvbnRPcHRpY2FsU2l6ZUF0dHJpYnV0ZV07Ci0gICAg
ICAgICAgICBpZiAoTlNOdW1iZXIgKnNpemUgPSBbbXV0YWJsZURpY3Rpb25hcnkgb2JqZWN0Rm9y
S2V5OihfX2JyaWRnZSBOU1N0cmluZyAqKWtDVEZvbnRTaXplQXR0cmlidXRlXSkKLSAgICAgICAg
ICAgICAgICBbbXV0YWJsZURpY3Rpb25hcnkgc2V0T2JqZWN0OnNpemUgZm9yS2V5OihfX2JyaWRn
ZSBOU1N0cmluZyAqKWtDVEZvbnRPcHRpY2FsU2l6ZUF0dHJpYnV0ZV07Ci0gICAgICAgIH0KLSAg
ICB9Ci0KLSAgICBhdXRvIGRlc2NyaXB0b3IgPSBbQ29jb2FGb250RGVzY3JpcHRvciBmb250RGVz
Y3JpcHRvcldpdGhGb250QXR0cmlidXRlczptdXRhYmxlRGljdGlvbmFyeS5nZXQoKV07Ci0jZWxz
ZQogICAgIGF1dG8gZGVzY3JpcHRvciA9IFtDb2NvYUZvbnREZXNjcmlwdG9yIGZvbnREZXNjcmlw
dG9yV2l0aEZvbnRBdHRyaWJ1dGVzOmF0dHJpYnV0ZXNdOwotI2VuZGlmCi0KICAgICByZXR1cm4g
W0NvY29hRm9udCBmb250V2l0aERlc2NyaXB0b3I6ZGVzY3JpcHRvciBzaXplOnNpemVdOwogCiAg
ICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
L1dLUGFnZS5jcHAKaW5kZXggYzBkNjkwNDVmOGI2NzQ2ZGYxMGU3MWY5YjQzNWI4YjkyNmY2OTkx
Zi4uNzAxZjFhMjkwODhkODQyMDE2MGM3M2UwY2Q5ZWZkMzJkY2M2ZjIzZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCkBAIC0xMTUxLDcgKzExNTEsNiBAQCB2b2lk
IFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQoV0tQYWdlUmVmIHBhZ2VSZWYsIGNvbnN0IFdLUGFn
ZUxvYWRlckNsaWVudEJhc2UqCiAgICAgICAgIHsKICAgICAgICAgICAgIGluaXRpYWxpemUoY2xp
ZW50KTsKICAgICAgICAgICAgIAotI2lmICFQTEFURk9STShNQUMpIHx8IF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPiAxMDE0MDAKICAgICAgICAgICAgIC8vIFdLUGFnZVNldFBhZ2VM
b2FkZXJDbGllbnQgaXMgZGVwcmVjYXRlZC4gVXNlIFdLUGFnZVNldFBhZ2VOYXZpZ2F0aW9uQ2xp
ZW50IGluc3RlYWQuCiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCghbV9jbGllbnQuZGlkRmlu
aXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUpOwogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIW1f
Y2xpZW50LmRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZSk7CkBAIC0xMTg0LDcgKzEx
ODMsNiBAQCB2b2lkIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQoV0tQYWdlUmVmIHBhZ2VSZWYs
IGNvbnN0IFdLUGFnZUxvYWRlckNsaWVudEJhc2UqCiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VS
VCghbV9jbGllbnQubmF2aWdhdGlvbkdlc3R1cmVEaWRCZWdpbik7CiAgICAgICAgICAgICBSRUxF
QVNFX0FTU0VSVCghbV9jbGllbnQubmF2aWdhdGlvbkdlc3R1cmVXaWxsRW5kKTsKICAgICAgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKCFtX2NsaWVudC5uYXZpZ2F0aW9uR2VzdHVyZURpZEVuZCk7Ci0j
ZW5kaWYKICAgICAgICAgfQogCiAgICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KaW5kZXggMmFiNTBkZDc2ZmQzYWUz
Y2YzMWY2ZjgyZWJkZjViN2EyNzFiZWRjNS4uYzcyN2MyMGRhYzY2NGQ4ZDUwNTY3NWFiNmZmYjUy
NWUzNWY1ZTJiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
UGFnZVByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
UGFnZVByb3h5Q29jb2EubW0KQEAgLTYzNCwxMSArNjM0LDcgQEAgVmVjdG9yPFNhbmRib3hFeHRl
bnNpb246OkhhbmRsZT4gV2ViUGFnZVByb3h5OjpjcmVhdGVOZXR3b3JrRXh0ZW5zaW9uc1NhbmRi
b3hFeHQKICAgICBpZiAoIXByb2Nlc3MuaGFzTmV0d29ya0V4dGVuc2lvblNhbmRib3hBY2Nlc3Mo
KSAmJiBOZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlcjo6aXNSZXF1aXJlZCgpKSB7CiAgICAg
ICAgIHByb2Nlc3MubWFya0hhc05ldHdvcmtFeHRlbnNpb25TYW5kYm94QWNjZXNzKCk7CiAgICAg
ICAgIGNvbnN0ZXhwciBBU0NJSUxpdGVyYWwgbmVIZWxwZXJTZXJ2aWNlIHsgImNvbS5hcHBsZS5u
ZWhlbHBlciJfcyB9OwotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA8IDEwMTUwMAotICAgICAgICBjb25zdGV4cHIgQVNDSUlMaXRlcmFsIG5lU2Vz
c2lvbk1hbmFnZXJTZXJ2aWNlIHsgImNvbS5hcHBsZS5uZXNlc3Npb25tYW5hZ2VyIl9zIH07Ci0j
ZWxzZQogICAgICAgICBjb25zdGV4cHIgQVNDSUlMaXRlcmFsIG5lU2Vzc2lvbk1hbmFnZXJTZXJ2
aWNlIHsgImNvbS5hcHBsZS5uZXNlc3Npb25tYW5hZ2VyLmNvbnRlbnQtZmlsdGVyIl9zIH07Ci0j
ZW5kaWYKICAgICAgICAgcmV0dXJuIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZXNGb3JN
YWNoTG9va3VwKHsgbmVIZWxwZXJTZXJ2aWNlLCBuZVNlc3Npb25NYW5hZ2VyU2VydmljZSB9LCBz
dGQ6Om51bGxvcHQpOwogICAgIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmlu
IGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuV2Vi
QXV0aG5Qcm9jZXNzLnNiLmluCmluZGV4IDM0ZGE5OThkODc0ZjZlZTQyZDYwYTM3ZWIzZTgzZDk2
YjEzMWFmM2UuLjBiZDI3NjY1YzQyM2EyZGE4YTkwZDNmOGQyYzFmMjMyNTQ5MjMzMjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0
LldlYkF1dGhuUHJvY2Vzcy5zYi5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vz
cy9tYWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW4KQEAgLTMxOCw3ICsz
MTgsNyBAQAogKGFsbG93IG1hY2gtbG9va3VwIChleHRlbnNpb24gImNvbS5hcHBsZS5hcHAtc2Fu
ZGJveC5tYWNoIikpIDs7IEZJWE1FOiBTaG91bGQgYmUgcmVtb3ZlZCB3aGVuIDxyZGFyOi8vcHJv
YmxlbS8xMzA2NjIwNj4gaXMgZml4ZWQuCiAKIChhbGxvdyBtYWNoLWxvb2t1cAotI2lmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCisjaWYgUExBVEZPUk0oTUFDKQog
ICAgICh3aXRoIHJlcG9ydCkgKHdpdGggdGVsZW1ldHJ5KQogI2VuZGlmCiAgICAgKGdsb2JhbC1u
YW1lICJjb20uYXBwbGUuYXVkaW8uQXVkaW9Db21wb25lbnRSZWdpc3RyYXIiKQpAQCAtMzM1LDkg
KzMzNSw2IEBACiAKIDs7IFZhcmlvdXMgc2VydmljZXMgcmVxdWlyZWQgYnkgQXBwS2l0IGFuZCBv
dGhlciBmcmFtZXdvcmtzCiAoYWxsb3cgbWFjaC1sb29rdXAKLSNpZiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEIDwgMTAxNDAwCi0gICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUu
Rm9udE9iamVjdHNTZXJ2ZXIiKQotI2VuZGlmCiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBw
bGUuUG93ZXJNYW5hZ2VtZW50LmNvbnRyb2wiKQogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFw
cGxlLlN5c3RlbUNvbmZpZ3VyYXRpb24uY29uZmlnZCIpCiAgICAgICAgKGdsb2JhbC1uYW1lICJj
b20uYXBwbGUuYW5hbHl0aWNzZCIpCkBAIC0zNTcsMTkgKzM1NCwxOSBAQAogICAgICAgIChnbG9i
YWwtbmFtZSAiY29tLmFwcGxlLnRjY2QiKQogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxl
LnRjY2Quc3lzdGVtIikKICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS50cnVzdGQuYWdl
bnQiKQotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwIHx8IFBM
QVRGT1JNKE1BQ0NBVEFMWVNUKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oTUFDQ0FU
QUxZU1QpCiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuQ0FSZW5kZXJTZXJ2ZXIiKSA7
IE5lZWRlZCBmb3IgW0NBQ29udGV4dCByZW1vdGVDb250ZXh0V2l0aE9wdGlvbnNdCiAjZWxzZQog
ICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLndpbmRvd3NlcnZlci5hY3RpdmUiKQogI2Vu
ZGlmCiApCiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCB8
fCBQTEFURk9STShNQUNDQVRBTFlTVCkKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKE1B
Q0NBVEFMWVNUKQogOzsgPHJkYXI6Ly9wcm9ibGVtLzQ3MjY4MTY2PgogKGFsbG93IG1hY2gtbG9v
a3VwICh4cGMtc2VydmljZS1uYW1lICJjb20uYXBwbGUuTVRMQ29tcGlsZXJTZXJ2aWNlIikpCiAj
ZW5kaWYKIAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwIHx8
IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oTUFD
Q0FUQUxZU1QpCiAoZGVueSBtYWNoLWxvb2t1cCAod2l0aCBuby1sb2cpCiAgICAgKGdsb2JhbC1u
YW1lICJjb20uYXBwbGUuQ29yZVNlcnZpY2VzLmNvcmVzZXJ2aWNlc2QiKQogICAgIChnbG9iYWwt
bmFtZSAiY29tLmFwcGxlLkRpc2tBcmJpdHJhdGlvbi5kaXNrYXJiaXRyYXRpb25kIikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZVBhZ2VMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVudC5jcHAKaW5kZXggNTEwZDJk
YTc5OGNkYTI1MDk5M2FiNTBkZDM2OTdkZWE1ZGFlM2FkMS4uNzVkODRlOWE4YWIwNDJiNjhiYTcx
MmRkZDQ2MjE5N2YzOTU3YjEwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVudC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFn
ZUxvYWRlckNsaWVudC5jcHAKQEAgLTQ3LDEwICs0Nyw4IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogSW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50OjpJbmplY3RlZEJ1bmRsZVBhZ2VM
b2FkZXJDbGllbnQoY29uc3QgV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50QmFzZSogY2xpZW50KQog
ewogICAgIGluaXRpYWxpemUoY2xpZW50KTsKLSNpZiAhUExBVEZPUk0oTUFDKSB8fCBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID4gMTAxNDAwCiAgICAgLy8gRGVwcmVjYXRlZCBjYWxs
YmFja3MuCiAgICAgQVNTRVJUKCFtX2NsaWVudC5zaG91bGRHb1RvQmFja0ZvcndhcmRMaXN0SXRl
bSk7Ci0jZW5kaWYKIH0KIAogdm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJDbGllbnQ6Ondp
bGxMb2FkVVJMUmVxdWVzdChXZWJQYWdlJiBwYWdlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbiBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbgppbmRleCA2MjM0ZjI4ZGZlNWE3MjAz
NzU5ODU2MDc1ZmQ4NDkzMGNkNWRhOWE0Li43YzM4MzIzNDg0YTNjY2NmZmFjZTEyMmVlNWE3Yjc2
YmZkYjdiN2I0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29tLmFwcGxl
LldlYlByb2Nlc3Muc2IuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBs
ZS5XZWJQcm9jZXNzLnNiLmluCkBAIC0zMDYsNyArMzA2LDcgQEAKICAgICAgICAgICAgIChnbG9i
YWwtbmFtZSAiY29tLmFwcGxlLmN2bXNTZXJ2IikKICAgICAgICAgKQogICAgICkKLSNpZiBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCB8fCBQTEFURk9STShNQUNDQVRB
TFlTVCkKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgIChh
bGxvdyBmaWxlLXJlYWQqCiAgICAgICAgIChwcmVmaXggIi9wcml2YXRlL3Zhci9kYi9DVk1TL2N2
bXNDb2RlU2lnbk9iaiIpKQogI2VuZGlmCkBAIC04MzMsNyArODMzLDYgQEAKICAgICAoaW9raXQt
cHJvcGVydHkgInNhdmVkLWNvbmZpZyIpCiAgICAgKGlva2l0LXByb3BlcnR5ICJzdGFydHVwLXRp
bWluZyIpCiAgICAgKGlva2l0LXByb3BlcnR5ICJ0b3VjaC1zaXplLWlkIikKLSNpZiAhUExBVEZP
Uk0oTUFDKSB8fCBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMAogICAg
IChpb2tpdC1wcm9wZXJ0eSAiQVRZLGNiaXRzIikKICAgICAoaW9raXQtcHJvcGVydHkgIkFUWSxp
bnRyZXYiKQogICAgIChpb2tpdC1wcm9wZXJ0eSAiQWNjZWxOYXRpdmVETUFSb3dCeXRlQWxpZ25t
ZW50IikKQEAgLTg1MSw3ICs4NTAsNiBAQAogICAgIChpb2tpdC1wcm9wZXJ0eSAiVGVsZW1ldHJ5
RGlzYWJsZSIpCiAgICAgKGlva2l0LXByb3BlcnR5ICJjYWlsX3Byb3BlcnRpZXMiKQogICAgIChp
b2tpdC1wcm9wZXJ0eSAiZHBtIikKLSNlbmRpZgogICAgIChpb2tpdC1wcm9wZXJ0eSAiSU9HVkFI
MjY0RW5jb2RlQ2FwYWJpbGl0aWVzIikgOzsgPHJkYXI6Ly9wcm9ibGVtLzQ5NDk4MDQwPgogI2lm
ICFQTEFURk9STShNQUMpIHx8IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPiAxMDE1
MDAKICAgICAoaW9raXQtcHJvcGVydHkgIklPQVZESEVWQ0RlY29kZUNhcGFiaWxpdGllcyIpIDs7
IDxyZGFyOi8vcHJvYmxlbS83MTEwMDE4OD4KQEAgLTEzNDgsMTIgKzEzNDYsOSBAQAogCiA7OyBW
YXJpb3VzIHNlcnZpY2VzIHJlcXVpcmVkIGJ5IEFwcEtpdCBhbmQgb3RoZXIgZnJhbWV3b3Jrcwog
KGFsbG93IG1hY2gtbG9va3VwCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8
IDEwMTQwMAotICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLkZvbnRPYmplY3RzU2VydmVy
IikKLSNlbmRpZgogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmxvZ2QiKQogICAgICAg
IChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmxvZ2QuZXZlbnRzIikKLSNpZiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKKyNp
ZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgICAgIChnbG9iYWwt
bmFtZSAiY29tLmFwcGxlLkNBUmVuZGVyU2VydmVyIikgOyBOZWVkZWQgZm9yIFtDQUNvbnRleHQg
cmVtb3RlQ29udGV4dFdpdGhPcHRpb25zXQogI2Vsc2UKICAgICAgICAoZ2xvYmFsLW5hbWUgImNv
bS5hcHBsZS53aW5kb3dzZXJ2ZXIuYWN0aXZlIikKQEAgLTEzODksNyArMTM4NCw3IEBACiAgICAg
KGdsb2JhbC1uYW1lICJjb20uYXBwbGUubHNkLm1hcGRiIikKICkKIAotI2lmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQor
I2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiA7OyA8cmRhcjovL3By
b2JsZW0vNDcyNjgxNjY+CiAoYWxsb3cgbWFjaC1sb29rdXAKICAgICAocmVxdWlyZS1hbGwKQEAg
LTE0MDYsNyArMTQwMSw3IEBACiApCiAjZW5kaWYKIAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxNDAwIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorI2lmIFBMQVRG
T1JNKE1BQykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAoZGVueSBtYWNoLWxvb2t1cCAod2l0
aCBuby1sb2cpCiAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuQ29yZVNlcnZpY2VzLmNvcmVz
ZXJ2aWNlc2QiKQogICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLkRpc2tBcmJpdHJhdGlvbi5k
aXNrYXJiaXRyYXRpb25kIikKQEAgLTE3MTEsNyArMTcwNiw3IEBACiAgICAgICAgIChnbG9iYWwt
bmFtZQogICAgICAgICAgICAgImNvbS5hcHBsZS5hbmFseXRpY3NkIgogICAgICAgICAgICAgImNv
bS5hcHBsZS5uZWhlbHBlciIKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMTUwMCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKKyNpZiBQTEFURk9STShNQUMpIHx8IFBM
QVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgICAgICAgICAgImNvbS5hcHBsZS5uZXNlc3Npb25tYW5h
Z2VyLmNvbnRlbnQtZmlsdGVyIgogI2Vsc2UKICAgICAgICAgICAgICJjb20uYXBwbGUubmVzZXNz
aW9ubWFuYWdlciIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViSFRNTFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxW
aWV3Lm1tCmluZGV4IGNlYzliOGUzMTg1OThhZWVlYjg0MTE3MDY4MTFiYzMxMmNjMWNlY2YuLjk0
YjBhZDg4NDM2YzgxMjYwYzZkNTM5MzAwN2VlZjY0NDExZjU4NmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KKysrIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQpAQCAtNzM3LDEyICs3MzcsOSBA
QCBzdGF0aWMgdm9pZCBzZXRDdXJzb3IoTlNXaW5kb3cgKnNlbGYsIFNFTCBjbWQsIE5TUG9pbnQg
cG9pbnQpCiBAaW50ZXJmYWNlIE5TVmlldyAoKQogLSAodm9pZClfcmVjdXJzaXZlRGlzcGxheVJl
Y3RJZk5lZWRlZElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KXJlY3QgaXNWaXNpYmxlUmVjdDooQk9P
TClpc1Zpc2libGVSZWN0IHJlY3RJc1Zpc2libGVSZWN0Rm9yVmlldzooTlNWaWV3ICopdmlzaWJs
ZVZpZXcgdG9wVmlldzooQk9PTCl0b3BWaWV3OwogLSAodm9pZClfcmVjdXJzaXZlRGlzcGxheUFs
bERpcnR5V2l0aExvY2tGb2N1czooQk9PTCluZWVkc0xvY2tGb2N1cyB2aXNSZWN0OihOU1JlY3Qp
dmlzUmVjdDsKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTAxNTAwCisjaWYgUExBVEZPUk0oTUFDKQogLSAodm9pZClfcmVjdXJzaXZlOihC
T09MKXJlY3Vyc2l2ZSBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KWRpc3BsYXlS
ZWN0IGluQ29udGV4dDooTlNHcmFwaGljc0NvbnRleHQgKilncmFwaGljc0NvbnRleHQgc3RvcEF0
TGF5ZXJCYWNrZWRWaWV3czooQk9PTClzdG9wQXRMYXllckJhY2tlZFZpZXdzOwogI2VuZGlmCi0j
aWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAx
NTAwCi0tICh2b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzaXZlIGRpc3BsYXlSZWN0SWdub3Jp
bmdPcGFjaXR5OihOU1JlY3QpZGlzcGxheVJlY3QgaW5Db250ZXh0OihOU0dyYXBoaWNzQ29udGV4
dCAqKWdyYXBoaWNzQ29udGV4dCBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6KEJPT0wp
c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yIHN0b3BBdExheWVyQmFja2VkVmlld3M6KEJP
T0wpc3RvcEF0TGF5ZXJCYWNrZWRWaWV3czsKLSNlbmRpZgogLSAodm9pZClfc2V0RHJhd3NPd25E
ZXNjZW5kYW50czooQk9PTClkcmF3c093bkRlc2NlbmRhbnRzOwogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCiAtICh2b2lkKWNlbnRlclNlbGVjdGlvbkluVmlzaWJsZUFyZWE6KGlkKXNlbmRlcjsK
QEAgLTE2ODEsMTggKzE2NzgsMTAgQEAgLSAodm9pZClfcmVjdXJzaXZlRGlzcGxheUFsbERpcnR5
V2l0aExvY2tGb2N1czooQk9PTCluZWVkc0xvY2tGb2N1cyB2aXNSZWN0OihOU1IKIH0KIAogLy8g
RG9uJ3QgbGV0IEFwcEtpdCBldmVuIGRyYXcgc3Vidmlld3MuIFdlIHRha2UgY2FyZSBvZiB0aGF0
LgotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCiAtICh2b2lk
KV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzaXZlIGRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OihO
U1JlY3QpZGlzcGxheVJlY3QgaW5Db250ZXh0OihOU0dyYXBoaWNzQ29udGV4dCAqKWdyYXBoaWNz
Q29udGV4dCBzdG9wQXRMYXllckJhY2tlZFZpZXdzOihCT09MKXN0b3BBdExheWVyQmFja2VkVmll
d3MKLSNlbHNlCi0tICh2b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzaXZlIGRpc3BsYXlSZWN0
SWdub3JpbmdPcGFjaXR5OihOU1JlY3QpZGlzcGxheVJlY3QgaW5Db250ZXh0OihOU0dyYXBoaWNz
Q29udGV4dCAqKWdyYXBoaWNzQ29udGV4dCBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6
KEJPT0wpc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yIHN0b3BBdExheWVyQmFja2VkVmll
d3M6KEJPT0wpc3RvcEF0TGF5ZXJCYWNrZWRWaWV3cwotI2VuZGlmCiB7CiAgICAgW3NlbGYgX3Nl
dEFzaWRlU3Vidmlld3NdOwotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxNTAwCiAgICAgW3N1cGVyIF9yZWN1cnNpdmU6cmVjdXJzaXZlIGRpc3BsYXlSZWN0SWdub3Jp
bmdPcGFjaXR5OmRpc3BsYXlSZWN0IGluQ29udGV4dDpncmFwaGljc0NvbnRleHQgc3RvcEF0TGF5
ZXJCYWNrZWRWaWV3czpzdG9wQXRMYXllckJhY2tlZFZpZXdzXTsKLSNlbHNlCi0gICAgW3N1cGVy
IF9yZWN1cnNpdmU6cmVjdXJzaXZlIGRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OmRpc3BsYXlS
ZWN0IGluQ29udGV4dDpncmFwaGljc0NvbnRleHQgc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNv
bG9yOnNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvciBzdG9wQXRMYXllckJhY2tlZFZpZXdz
OnN0b3BBdExheWVyQmFja2VkVmlld3NdOwotI2VuZGlmCiAgICAgW3NlbGYgX3Jlc3RvcmVTdWJ2
aWV3c107CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCBmMmZmMmE4MzcxYmIyMjBlMjA0ODc1ZDc0ODUxY2Q3ZmFjZGE1NWE0Li4wNGVhM2Mz
NjgwNmU2MTQ1NmNkNjhlYjA2ZjY5YjM0OGRlNmI4YWVjIDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTAtMDEg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIHN1cHBvcnQg
Zm9yIG1hY09TIDwgMTAuMTUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzMTA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogVGVzdFJ1bm5lclNoYXJlZC9zcGkvQXBwS2l0VGVzdFNQSS5oOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGlu
a1Rlc3QubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByZWNvbm5lY3QubW06CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9jb25maWcuaDoKKwogMjAyMS0xMC0wMSAgS2ltbW8gS2lubnVuZW4gIDxra2lu
bnVuZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBLaW1tbyBLaW5udW5lbiBhcyByZXZpZXdl
cgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9zcGkvQXBwS2l0VGVzdFNQSS5o
IGIvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9zcGkvQXBwS2l0VGVzdFNQSS5oCmluZGV4IDVmOWFk
NTIzNzBmMDI3ZWMxMDQ0ZmM0MTQ0NWVkNWFjNzRkYWViYTIuLjIyMGZmMTdjYWEyMTgzY2ZiNzc3
MzBiZGNmNWNkZDQxNjI3ZjAxNmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQv
c3BpL0FwcEtpdFRlc3RTUEkuaAorKysgYi9Ub29scy9UZXN0UnVubmVyU2hhcmVkL3NwaS9BcHBL
aXRUZXN0U1BJLmgKQEAgLTI4LDkgKzI4LDcgQEAKICNpbXBvcnQgPEFwcEtpdC9OU0RyYWdnaW5n
SXRlbS5oPgogCiAvLyBGSVhNRTogTW92ZSB0aGlzIHRvIFBsYXRmb3JtSGF2ZS5oLgotI2lmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCiAjZGVmaW5lIEhBVkVfTlNE
UkFHR0lOR0lURU1fSU5JVFdJVEhJVEVNIDEKLSNlbmRpZgogCiBAaW50ZXJmYWNlIE5TRHJhZ2dp
bmdJdGVtICgpCiAjaWYgSEFWRShOU0RSQUdHSU5HSVRFTV9JTklUV0lUSElURU0pCmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvQVZGb3VuZGF0aW9u
U29mdExpbmtUZXN0Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2NvY29h
L0FWRm91bmRhdGlvblNvZnRMaW5rVGVzdC5tbQppbmRleCAxOGU4OWM5NDJhODQzNzFlYWI2N2Uy
ZWMzNGRkMjZkOTE0MWJiZmU3Li5iYWZhNzVmNDZlNjAyZGNjZjE3ZjU3ZjdjMDI1M2ZmMGIxOTVi
MTRmIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2Ev
QVZGb3VuZGF0aW9uU29mdExpbmtUZXN0Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViQ29yZS9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGlua1Rlc3QubW0KQEAgLTE2MSw3ICsx
NjEsNyBAQCBURVNUKEFWRm91bmRhdGlvblNvZnRMaW5rLCBDb25zdGFudHMpCiAgICAgRVhQRUNU
X1RSVUUoW0FWQ29udGVudEtleVJlcXVlc3RQcm90b2NvbFZlcnNpb25zS2V5IGlzRXF1YWxUb1N0
cmluZzpAIlByb3RvY29sVmVyc2lvbnNLZXkiXSk7CiAjZW5kaWYKIAotI2lmIChQTEFURk9STShN
QUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFU
Rk9STShJT1MpIHx8IFBMQVRGT1JNKFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQUExFVFYpCisjaWYg
UExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFdBVENIT1MpIHx8IFBM
QVRGT1JNKEFQUExFVFYpCiAgICAgRVhQRUNUX1RSVUUoUEFMOjpjYW5Mb2FkX0FWRm91bmRhdGlv
bl9BVlZpZGVvQ29kZWNUeXBlSEVWQ1dpdGhBbHBoYSgpKTsKICAgICBFWFBFQ1RfVFJVRShbQVZW
aWRlb0NvZGVjVHlwZUhFVkNXaXRoQWxwaGEgaXNFcXVhbFRvU3RyaW5nOkAibXV4YSJdKTsKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Q
cmVjb25uZWN0Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QcmVj
b25uZWN0Lm1tCmluZGV4IDliMWViZmFkNzFmZGYwZWQ4ZjE4NDI0ZWQyYjQwYjhhODRiYmY0NmMu
LjU0N2IzNTdlZTllYTBhYTE5ZGFlZGM4OTI0Y2FiMWJhYWM0MjYyZGIgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJlY29ubmVjdC5tbQorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByZWNvbm5lY3QubW0KQEAgLTEw
MywxMCArMTAzLDYgQEAgVEVTVChQcmVjb25uZWN0LCBDb25uZWN0aW9uQ291bnQpCiAgICAgRVhQ
RUNUX0VRKGNvbm5lY3Rpb25Db3VudCwgMnUpOwogfQogCi0vLyBNb2phdmUgQ0ZOZXR3b3JrIF9w
cmVjb25uZWN0IFNQSSBzZWVtcyB0byBoYXZlIGEgYnVnIGNhdXNpbmcgdGhpcyB0byB0aW1lIG91
dC4KLS8vIFRoYXQncyBubyBwcm9ibGVtLCBiZWNhdXNlIHRoaXMgaXMgYSB0ZXN0IGZvciBTUEkg
b25seSB0byBiZSB1c2VkIG9uIGxhdGVyIE9TIHZlcnNpb25zLgotI2lmICFQTEFURk9STShNQUMp
IHx8IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCi0KIFRFU1QoUHJl
Y29ubmVjdCwgSFRUUFMpCiB7CiAgICAgYm9vbCBjb25uZWN0ZWQgPSBmYWxzZTsKQEAgLTEzNiw4
ICsxMzIsNiBAQCBURVNUKFByZWNvbm5lY3QsIEhUVFBTKQogICAgIEVYUEVDVF9UUlVFKHJlY2Vp
dmVkQ2hhbGxlbmdlKTsKIH0KIAotI2VuZGlmCi0KICNpZiBIQVZFKFBSRUNPTk5FQ1RfUElORykK
IHN0YXRpYyB2b2lkIHBpbmdQb25nKFJlZjxIMjo6Q29ubmVjdGlvbj4mJiBjb25uZWN0aW9uLCBz
aXplX3QqIGhlYWRlcnNDb3VudCkKIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
Y29uZmlnLmggYi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvbmZpZy5oCmluZGV4IDdlMDY3MTNkNzU1
ZTAyZTQ1NDg3NTNlYTYzNTY0MTQ0YjU0ZDg1MmYuLjE2M2Y2ODVhNWM0MTg4MWY4MWY5OWM2ZmRm
NjJjZTU2N2UyY2FiM2IgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29uZmlnLmgK
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb25maWcuaApAQCAtMTI2LDcgKzEyNiw3IEBACiAj
ZW5kaWYKIAogLy8gRklYTUU6IE1vdmUgdGhpcyB0byBQbGF0Zm9ybUhhdmUuaC4KLSNpZiBQTEFU
Rk9STShDT0NPQSkgJiYgIShQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPCAxMDE1MDApCisjaWYgUExBVEZPUk0oQ09DT0EpCiAjZGVmaW5lIEhBVkVfVExT
X1BST1RPQ09MX1ZFUlNJT05fVCAxCiAjZW5kaWYKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439896</attachid>
            <date>2021-10-01 12:17:08 -0700</date>
            <delta_ts>2021-10-01 12:22:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231085-20211001121707.patch</filename>
            <type>text/plain</type>
            <size>116294</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMzc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
YzU2M2MyZmVlMmQ0M2E3YjlhY2FhMmIxOWY1YTEwMDEyNTA3MTkyLi4xYzQwNWU0OGQ5NTU2ZGNl
NWM4MTJkOThjZGY3MTM5ZTFhMDY0MmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAyMS0xMC0wMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIERyb3Agc3VwcG9ydCBmb3IgbWFjT1MgPCAxMC4xNQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMDg1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBBUEkvSlNWYWx1ZS5oOgorICAgICAg
ICAqIEFQSS90ZXN0cy90ZXN0YXBpLm1tOgorICAgICAgICAodGVzdE9iamVjdGl2ZUNBUElNYWlu
KToKKwogMjAyMS0xMC0wMSAgT2xpdmllciBCbGluICA8b2xpdmllci5ibGluQHNvZnRhdGhvbWUu
Y29tPgogCiAgICAgICAgIFtKU0NdW0dMaWJdIEZpeCB0eXBvIGluIFdyYXBwZXJNYXAgY3JlYXRp
b24gbWV0aG9kcwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9DaGFuZ2VMb2cKaW5kZXggODA4MzJh
YTlhMzMzOGEwYzQzNzYwZGMzNDY3N2M0M2VhNGI1ZjMxYi4uMzU3NzMwOTBkMzgyZThlYmY5ZTYy
MDdmYjk3ODI0YTJhZDVmZjViYiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTAtMDEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KKworICAgICAgICBEcm9wIHN1cHBvcnQgZm9yIG1hY09TIDwgMTAuMTUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTA4NQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU291cmNlL3dlYnJ0Yy9z
ZGsvV2ViS2l0L1ZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmg6CisKIDIwMjEtMDktMzAgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFN1cHBvcnQgQUVTIEdDTSBj
aXBoZXJzIGluIFdlYlJUQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV1RGL0NoYW5nZUxvZwppbmRleCAwMGMxMzYxZDU2YTczYTJjZGRhOTQyMzQxZDY5MWI1YmVl
YjQ4ODljLi41ZTE0N2UzNzE4ZWZjMGMxYjViZTIzNWU0YTU3NzE3YjE2NWY2YjQ1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE0IEBACisyMDIxLTEwLTAxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CisKKyAgICAgICAgRHJvcCBzdXBwb3J0IGZvciBtYWNPUyA8IDEwLjE1CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwODUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybUVuYWJsZUNv
Y29hLmg6CisgICAgICAgICogd3RmL1BsYXRmb3JtSGF2ZS5oOgorICAgICAgICAqIHd0Zi9QbGF0
Zm9ybVVzZS5oOgorCiAyMDIxLTEwLTAxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CiAKICAgICAgICAgRHJvcCBsZWdhY3kgVVNFKExFR0FDWV9DRk5FVFdPUktfRE9XTkxPQURTKSBj
b2RlIHBhdGhzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTUyMjIwMjQ4OTM4ZTQwMjA3NTY3ODNhMGViZGIwY2Ux
NDMzMWFhMi4uM2JkNDk5Yzg0MDA5MjZkMjJiNjNiNDQ2YjdhOGIwOTExMWFiMWNhOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTEwLTAxICBDaHJpcyBEdW1leiAgPGNkdW1lekBh
cHBsZS5jb20+CisKKyAgICAgICAgRHJvcCBzdXBwb3J0IGZvciBtYWNPUyA8IDEwLjE1CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwODUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9J
bnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJv
bnRlbmRIb3N0OjpwbGF0Zm9ybVZlcnNpb25OYW1lIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL2NvY29hL0Nvb2tpZUNvY29hLm1tOgorCiAyMDIxLTEwLTAxICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBdHRyaWJ1dGUgSU9TdXJmYWNlcyBj
cmVhdGVkIGJ5IGNhbWVyYSBhbmQgZGVjb2RlcnMgdG8gcmVzcG9uc2libGUgV2ViUHJvY2Vzcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9DaGFuZ2VMb2cKaW5kZXggYTkxN2U5NTA5NGRjZTI1MDczYWFmM2Q1YmUzODg3ZjFmNmMw
ZTk1MC4uYzZlZTdmYWUyMTlkODhiYTc0OTllMjc5ZDU5NTY1NjM5YTU2NzZiMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMTAtMDEgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIHN1cHBvcnQgZm9yIG1hY09TIDwgMTAuMTUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTA4NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFsL2Nv
Y29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tOgorICAgICAgICAqIHBhbC9zcGkvY29jb2EvQVZG
b3VuZGF0aW9uU1BJLmg6CisgICAgICAgICogcGFsL3NwaS9tYWMvTlNNZW51U1BJLmg6CisgICAg
ICAgICogcGFsL3NwaS9tYWMvTlNWaWV3U1BJLmg6CisKIDIwMjEtMDktMzAgIERldmluIFJvdXNz
byAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdW0dQVSBQcm9jZXNzXSBzdXBw
b3J0IGA8YXR0YWNobWVudD5gCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRmZDk2ZmI4ODJjZTRlODQ1NWU3MTY1Mzkw
MmQ2YmFlNWMzZjg0NzMuLmYwYTJjZGEyNTk0ZGEzM2I4OWNjNWU2NmViMTc3NWQ2ZDI0YzhhZWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMTAtMDEgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIHN1cHBvcnQgZm9yIG1hY09TIDwgMTAuMTUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTA4NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IuaW46CisgICAg
ICAgICogU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW06CisgICAgICAgICgtW1dL
U2VjdXJlQ29kaW5nQXJjaGl2aW5nRGVsZWdhdGUgYXJjaGl2ZXI6d2lsbEVuY29kZU9iamVjdDpd
KToKKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvQ29yZVRleHRIZWxwZXJzLm1tOgorICAgICAgICAo
V2ViS2l0Ojpmb250V2l0aEF0dHJpYnV0ZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9X
ZWJQYWdlUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpjcmVh
dGVOZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKToKKyAgICAgICAgKiBXZWJBdXRo
blByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW46CisKIDIwMjEtMTAt
MDEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBEcm9wIGxlZ2Fj
eSBVU0UoTEVHQUNZX0NGTkVUV09SS19ET1dOTE9BRFMpIGNvZGUgcGF0aHMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwppbmRleCA3MzBlNjFkOGQyOTZjNjhmNDZmZTljMjgyNWQxZTExYmY2ZmM0
ZjBhLi43YmU0NTI1ODNiMTcwYTE0ZGI1MTI3NjAyMjZhOGY1YTFmNDY4MGIyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMTAtMDEgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIHN1cHBvcnQgZm9yIG1hY09T
IDwgMTAuMTUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzMTA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogV2ViVmlldy9XZWJIVE1MVmlldy5tbToKKyAgICAgICAgKC1bV2ViSFRNTFZpZXcgX3JlY3Vy
c2l2ZTpkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTppbkNvbnRleHQ6c3RvcEF0TGF5ZXJCYWNr
ZWRWaWV3czpdKToKKyAgICAgICAgKC1bV2ViSFRNTFZpZXcgX3JlY3Vyc2l2ZTpkaXNwbGF5UmVj
dElnbm9yaW5nT3BhY2l0eTppbkNvbnRleHQ6c3RvcEF0TGF5ZXJCYWNrZWRWaWV3czpfcmVjdXJz
aXZlOmRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OmluQ29udGV4dDpzaG91bGRDaGFuZ2VGb250
UmVmZXJlbmNlQ29sb3I6c3RvcEF0TGF5ZXJCYWNrZWRWaWV3czpdKTogRGVsZXRlZC4KKwogMjAy
MS0wOS0yOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2Ug
V2ViTG9jYWxpemVkU3RyaW5nKCkgdGhyZWFkLXNhZmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNWYWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1Zh
bHVlLmgKaW5kZXggMWI4NWQ4N2UwYzE2MTA5NmM1ZDc4NzUzOGJhMjU1MGNlMTMzMjZhNS4uN2Ji
N2MyNWEwYzhlNWU2OGNjZjY5MWRlYjQyZWU2NTg5MzVkMzVlMCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU1ZhbHVlLmgKQEAgLTU0OSwxMSArNTQ5LDcgQEAgQ3JlYXRlIGEgSlNWYWx1ZSBmcm9t
IGEgQ0dSZWN0LgogICovCiBAaW50ZXJmYWNlIEpTVmFsdWUgKFByb3BlcnR5QWNjZXNzKQogCi0j
aWYgKGRlZmluZWQoX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCkgJiYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkgfHwgKGRlZmluZWQoX19JUEhPTkVfT1Nf
VkVSU0lPTl9NSU5fUkVRVUlSRUQpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVE
IDwgMTMwMDAwKQotdHlwZWRlZiBOU1N0cmluZyAqSlNWYWx1ZVByb3BlcnR5OwotI2Vsc2UKIHR5
cGVkZWYgaWQgSlNWYWx1ZVByb3BlcnR5OwotI2VuZGlmCiAKIC8qIQogIEBtZXRob2QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvdGVzdGFwaS5tbSBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvdGVzdGFwaS5tbQppbmRleCBmMmVjNDJiYTg4OGFm
NzQ5YTYwNGM3ODA3ZmUzZjU1MTM5NDY1NGVjLi40M2FmMjk5NjZhMzNkMzBlZmVlMmUzNWFmMzE4
ZTI2OTZhMGJiMjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3Rz
L3Rlc3RhcGkubW0KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBp
Lm1tCkBAIC02NDMsMTAgKzY0Myw2IEBAIHN0YXRpYyB2b2lkIHRlc3RPYmplY3RpdmVDQVBJTWFp
bigpCiAgICAgICAgIGNoZWNrUmVzdWx0KEAiU2hvdWxkIGJlIGEgY3JlYXRlZCBmcm9tIE9iai1D
Iiwgc3ltYm9sLmlzU3ltYm9sKTsKICAgICB9CiAKLS8vIE9sZGVyIHBsYXRmb3JtcyBpZmRlZiB0
aGUgdHlwZSBvZiBzb21lIHNlbGVjdG9ycyBzbyB0aGVzZSB0ZXN0cyBkb24ndCB3b3JrLgotLy8g
RklYTUU6IFJlbW92ZSB0aGlzIHdoZW4gd2Ugc3RvcCBidWlsZGluZyBmb3IgbWFjT1MgMTAuMTQv
aU9TIDEyLgotI2lmIChkZWZpbmVkKF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQpICYm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCAoZGVmaW5lZChf
X0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTMwMDAwKQotCiAgICAgQGF1dG9yZWxlYXNlcG9vbCB7CiAgICAgICAg
IEpTQ29udGV4dCAqY29udGV4dCA9IFtbSlNDb250ZXh0IGFsbG9jXSBpbml0XTsKICAgICAgICAg
SlNWYWx1ZSAqYXJyYXlJdGVyYXRvciA9IFtjb250ZXh0IGV2YWx1YXRlU2NyaXB0OkAiQXJyYXku
cHJvdG90eXBlW1N5bWJvbC5pdGVyYXRvcl0iXTsKQEAgLTczMiw4ICs3MjgsNiBAQCBzdGF0aWMg
dm9pZCB0ZXN0T2JqZWN0aXZlQ0FQSU1haW4oKQogICAgICAgICBjaGVja1Jlc3VsdChAIml0ZXJh
dGlvbiBjb3VudCBzaG91bGQgYmUgMSIsIFtjb3VudCB0b1VJbnQzMl0gPT0gMSk7CiAgICAgfQog
Ci0jZW5kaWYKLQogICAgIEBhdXRvcmVsZWFzZXBvb2wgewogICAgICAgICBKU0NvbGxlY3Rpb24q
IG15UHJpdmF0ZVByb3BlcnRpZXMgPSBbW0pTQ29sbGVjdGlvbiBhbGxvY10gaW5pdF07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9X
ZWJLaXQvVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsuaCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsuaApp
bmRleCBjYTBkOTk4ZGRhNzBiOGYzMmNjMjMzMjM3MWM3ZTZlMjNkMGE2YmVhLi45YWNmMDhmNjY0
YTQ4OTY1MDZlMDY5Y2VjNDE4NWQxMTA0MDAzNjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1ZpZGVvUHJvY2Vzc2luZ1Nv
ZnRMaW5rLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMv
c2RrL1dlYktpdC9WaWRlb1Byb2Nlc3NpbmdTb2Z0TGluay5oCkBAIC00Miw3ICs0Miw3IEBACiAj
ZGVmaW5lIEVOQUJMRV9WQ1BfRk9SX0gyNjRfQkFTRUxJTkUgX19JUEhPTkVfT1NfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTUwMDAwCiAjZWxpZiAoZGVmaW5lZChUQVJHRVRfT1NfTUFDKSAmJiBU
QVJHRVRfT1NfTUFDKQogI2RlZmluZSBFTkFCTEVfVkNQX0VOQ09ERVIgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA8IDExMDAwMAotI2RlZmluZSBFTkFCTEVfVkNQX1ZUQl9FTkNPREVS
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMTAwMDAKKyNkZWZpbmUgRU5BQkxFX1ZDUF9WVEJfRU5D
T0RFUiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTEwMDAwCiAjZGVmaW5lIEhB
VkVfVlRCX1JFUVVJUkVETE9XTEFURU5DWSBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDExMDAwMAogI2RlZmluZSBFTkFCTEVfVkNQX0ZPUl9IMjY0X0JBU0VMSU5FIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTIwMDAwCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtRW5hYmxlQ29jb2EuaAppbmRleCA4N2IyYjFjY2VjYjk1ZTZlYTIyNjdjYjM1YmY2YTEyZTJl
NmE3NTlhLi5mNjk3Mjk2ODU3MGY0YmEwYWIyOWYxOGRjZGJlN2YxY2ViYzNiYWQ1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKKysrIGIvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCkBAIC02Nyw3ICs2Nyw3IEBACiAjZGVmaW5lIEVO
QUJMRV9BUFBMRV9QQVlfREVGRVJSRURfTElORV9JVEVNIDEKICNlbmRpZgogCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVFMpICYmIEhBVkUoUEFTU0tJVF9JTlNUQUxM
TUVOVFMpCisjaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9JTlNUQUxMTUVOVFMpCiAjZGVm
aW5lIEVOQUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1FTlRTIDEKICNlbmRpZgogCkBAIC0xNzIsNyAr
MTcyLDcgQEAKICNlbmRpZgogCiAvLyBGSVhNRTogU2VlbXMgbGlrZWx5IHRoaXMgY2FuIGJlIGVu
YWJsZWQgZm9yIHR2T1MuCi0jaWYgIWRlZmluZWQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMp
ICYmICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwg
MTAxNDAwKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKKyNpZiAhZGVmaW5lZChFTkFCTEVfQ1NTX0NP
TklDX0dSQURJRU5UUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCiAjZGVmaW5lIEVOQUJMRV9DU1Nf
Q09OSUNfR1JBRElFTlRTIDEKICNlbmRpZgogCkBAIC0yMjgsNyArMjI4LDcgQEAKICNkZWZpbmUg
RU5BQkxFX0VESVRBQkxFX1JFR0lPTiAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9F
TkNSWVBURURfTUVESUEpICYmICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEIDwgMTAxNDAwKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCisjaWYgIWRl
ZmluZWQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQog
I2RlZmluZSBFTkFCTEVfRU5DUllQVEVEX01FRElBIDEKICNlbmRpZgogCkBAIC00MDIsNyArNDAy
LDcgQEAKICNlbmRpZgogCiAvLyBGSVhNRTogV2UgYWxtb3N0IGNlcnRhaW5seSBkbyBub3QgbmVl
ZCB0aGlzIG1vbm9zcGFjZSBmb250IGV4Y2VwdGlvbiBmb3Igd2F0Y2hPUyBhbmQgdHZPUy4KLSNp
ZiAhZGVmaW5lZChFTkFCTEVfTU9OT1NQQUNFX0ZPTlRfRVhDRVBUSU9OKSAmJiAoKFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkgfHwgUExB
VEZPUk0oV0FUQ0hPUykgfHwgUExBVEZPUk0oQVBQTEVUVikpCisjaWYgIWRlZmluZWQoRU5BQkxF
X01PTk9TUEFDRV9GT05UX0VYQ0VQVElPTikgJiYgKFBMQVRGT1JNKFdBVENIT1MpIHx8IFBMQVRG
T1JNKEFQUExFVFYpKQogI2RlZmluZSBFTkFCTEVfTU9OT1NQQUNFX0ZPTlRfRVhDRVBUSU9OIDEK
ICNlbmRpZgogCkBAIC00OTQsNyArNDk0LDcgQEAKICNkZWZpbmUgRU5BQkxFX1JFU09VUkNFX1VT
QUdFIDEKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoRU5BQkxFX1JFVkVBTCkgJiYgIShQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApICYmICFQ
TEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKKyNpZiAhZGVmaW5lZChFTkFC
TEVfUkVWRUFMKSAmJiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCiAj
ZGVmaW5lIEVOQUJMRV9SRVZFQUwgMQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtSGF2ZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKaW5kZXgg
MTk3ZjFiYTc1ZjRlMGMyYzlmZDY0MDU4OWU1NTljM2MyMjVlMzRjZC4uYjI3NWIzNzgzZWYwMzAx
MTExYjRiNzA5NDU4ODQ4NzA0Yjg4ZmRiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxh
dGZvcm1IYXZlLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKQEAgLTI1MCw3
ICsyNTAsNyBAQAogI2RlZmluZSBIQVZFX0ZKQ1ZUWlNfSU5TVFJVQ1RJT04gMQogI2VuZGlmCiAK
LSNpZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhUExBVEZP
Uk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpICYmICFQTEFURk9STShNQUNDQVRBTFlT
VCkKICNkZWZpbmUgSEFWRV9BUFBfTElOS1MgMQogI2VuZGlmCiAKQEAgLTMxOCwxMCArMzE4LDcg
QEAKICNkZWZpbmUgSEFWRV9JT1NVUkZBQ0VfQUNDRUxFUkFUT1IgMQogI2VuZGlmCiAKLSNpZiAo
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUw
MCkgXAotICAgIHx8ICgoKFBMQVRGT1JNKElPUykgJiYgIVBMQVRGT1JNKElPU19GQU1JTFlfU0lN
VUxBVE9SKSkgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMzAwMDApIFwKLSAgICB8fCAoUExBVEZPUk0oV0FUQ0hPUykgJiYg
IVBMQVRGT1JNKElPU19GQU1JTFlfU0lNVUxBVE9SKSAmJiBfX1dBVENIX09TX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDYwMDAwKSBcCi0gICAgfHwgKFBMQVRGT1JNKEFQUExFVFYpICYmICFQTEFU
Rk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikgJiYgX19UVl9PU19WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMzAwMDApCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oSU9TX0ZBTUlMWV9T
SU1VTEFUT1IpCiAjZGVmaW5lIEhBVkVfSU9TVVJGQUNFX1NFVF9PV05FUlNISVAgMQogI2VuZGlm
CiAKQEAgLTM1OCw3ICszNTUsNyBAQAogI2RlZmluZSBIQVZFX1RPVUNIX0JBUiAxCiAjZW5kaWYK
IAotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQ
TEFURk9STShBUFBMRVRWKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhUExBVEZPUk0oV0FUQ0hP
UykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCiAjZGVmaW5lIEhBVkVfSFNUU19TVE9SQUdFX1BBVEgg
MQogI2VuZGlmCiAKQEAgLTM4NywxMCArMzg0LDYgQEAKICNkZWZpbmUgSEFWRV9GT1VOREFUSU9O
X1dJVEhfU0FNRV9TSVRFX0NPT0tJRV9TVVBQT1JUIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMDE0MDAKLSNkZWZpbmUg
SEFWRV9OU0hUVFBDT09LSUVTVE9SQUdFX19JTklUV0lUSElERU5USUZJRVJfV0lUSF9JTkFDQ1VS
QVRFX05VTExBQklMSVRZIDEKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9S
TShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRG
T1JNKFdQRSkKICNkZWZpbmUgSEFWRV9PU19EQVJLX01PREVfU1VQUE9SVCAxCiAjZW5kaWYKQEAg
LTM5OSw3ICszOTIsNyBAQAogI2RlZmluZSBIQVZFX0NHX0ZPTlRfUkVOREVSSU5HX0dFVF9GT05U
X1NNT09USElOR19ESVNBQkxFRCAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAKKyNpZiBQTEFURk9STShNQUMp
CiAjZGVmaW5lIEhBVkVfUkVBRF9PTkxZX1NZU1RFTV9WT0xVTUUgMQogI2VuZGlmCiAKQEAgLTQz
MSwxMSArNDI0LDExIEBACiAjZGVmaW5lIEhBVkVfQUNDRVNTSUJJTElUWV9CVU5ETEVTX1BBVEgg
MQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9STShNQUMpICYmICEo
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAgJiYgX19NQUNfT1NfWF9W
RVJTSU9OX01BWF9BTExPV0VEID49IDEwMTQwNCkpCisjaWYgUExBVEZPUk0oQ09DT0EpCiAjZGVm
aW5lIEhBVkVfQ0ZORVRXT1JLX09WRVJSSURFX1NFU1NJT05fQ09PS0lFX0FDQ0VQVF9QT0xJQ1kg
MQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApICYmICFQTEFURk9STShXQVRD
SE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVBMQVRG
T1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBIQVZFX0NGTkVUV09S
S19OU1VSTFNFU1NJT05fU1RSSUNUUlVTVEVWQUxVQVRFIDEKICNlbmRpZgogCkBAIC00NDYsMjEg
KzQzOSw2IEBACiAjZGVmaW5lIEhBVkVfQ0ZORVRXT1JLX05TVVJMU0VTU0lPTl9DT05ORUNUSU9O
X0NBQ0hFX0xJTUlUUyAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZ
KQotI2RlZmluZSBIQVZFX0NGTkVUV09SS19ORUdPVElBVEVEX1NTTF9QUk9UT0NPTF9DSVBIRVIg
MQotI2VuZGlmCi0KLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTUwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05F
X09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkgfHwgUExBVEZPUk0oTUFDQ0FUQUxZ
U1QpIHx8IFBMQVRGT1JNKFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQUExFVFYpCi0jZGVmaW5lIEhB
VkVfQ0ZORVRXT1JLX1NBTUVTSVRFX0NPT0tJRV9BUEkgMQotI2VuZGlmCi0KLSNpZiAoUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgXAot
ICAgIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEzMDAwMCkgXAotICAgIHx8IChQTEFURk9STShXQVRDSE9TKSAmJiBfX1dBVENIX09TX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDYwMDAwKSBcCi0gICAgfHwgKFBMQVRGT1JNKEFQUExFVFYp
ICYmIF9fVFZfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwKQotI2RlZmluZSBIQVZF
X0NGTkVUV09SS19NRVRSSUNTX0NPTk5FQ1RJT05fUFJPUEVSVElFUyAxCi0jZW5kaWYKLQogI2lm
IFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEyMDAw
MAogI2RlZmluZSBIQVZFX1NBRkFSSV9GT1JfV0VCS0lUX0RFVkVMT1BNRU5UX1JFUVVJUklOR19F
WFRSQV9TWU1CT0xTIDEKICNlbmRpZgpAQCAtNDc3LDE1ICs0NTUsMTUgQEAKICNkZWZpbmUgSEFW
RV9DRk5FVFdPUktfQUxURVJOQVRJVkVfU0VSVklDRSAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAKKyNpZiBQ
TEFURk9STShNQUMpCiAjZGVmaW5lIEhBVkVfQ1NDSEVDS0ZJWERJU0FCTEUgMQogI2VuZGlmCiAK
LSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExB
VEZPUk0oQVBQTEVUVikKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVBMQVRGT1JNKFdBVENIT1Mp
ICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBIQVZFX01ETlNfRkFTVF9SRUdJU1RSQVRJ
T04gMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9STShNQUMpICYm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApICYmICFQTEFURk9STShX
QVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVBM
QVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBIQVZFX0NURk9O
VENSRUFURUZPUkNIQVJBQ1RFUlNXSVRITEFOR1VBR0VBTkRPUFRJT04gMQogI2VuZGlmCiAKQEAg
LTUxOCwxMSArNDk2LDExIEBACiAjZGVmaW5lIEhBVkVfTE9PS1VQX0dFU1RVUkVfUkVDT0dOSVpF
UiAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQorI2lmIFBMQVRG
T1JNKENPQ09BKQogI2RlZmluZSBIQVZFX0FMTE9XU19TRU5TSVRJVkVfTE9HR0lORyAxCiAjZW5k
aWYKIAotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQorI2lmIFBMQVRGT1JNKENPQ09B
KQogI2RlZmluZSBIQVZFX0ZBSVJQTEFZU1RSRUFNSU5HX0NFTkNfSU5JVERBVEEgMQogI2VuZGlm
CiAKQEAgLTU0Niw3ICs1MjQsNyBAQAogI2RlZmluZSBIQVZFX05XUEFSQU1FVEVSU19UUkFDS0VS
X0FQSSAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhKFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkgJiYgIVBMQVRGT1JN
KE1BQ0NBVEFMWVNUKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZ
U1QpCiAjZGVmaW5lIEhBVkVfQVZQTEFZRVJfUkVTT1VSQ0VfQ09OU0VSVkFUSU9OX0xFVkVMIDEK
ICNlbmRpZgogCkBAIC01NjIsMzEgKzU0MCwxMSBAQAogI2RlZmluZSBIQVZFX0NPUkVURVhUX0FV
VE9fT1BUSUNBTF9TSVpJTkcgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKQotI2RlZmluZSBIQVZFX05TRk9O
VF9XSVRIX09QVElDQUxfU0laSU5HX0JVRyAxCi0jZW5kaWYKLQotI2lmIChQTEFURk9STShJT1Mp
IHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxNTAwKSkKKyNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykKICNkZWZpbmUgSEFW
RV9BUFBfU1NPIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKQotI2RlZmlu
ZSBIQVZFX1RMU19QUk9UT0NPTF9WRVJTSU9OX1QgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShN
QUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCi0jZGVmaW5l
IEhBVkVfU1VCVklFV1NfSVZBUl9TUEkgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShNQUMpICYm
IF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEwMTUwMAotI2RlZmluZSBIQVZFX1NV
QlZJRVdTX0lWQVJfREVDTEFSRURfQllfU0RLIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxNTAwCi0jZGVmaW5lIEhB
VkVfQVhfQ0xJRU5UX1RZUEUgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDAp
ICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVBMQVRG
T1JNKE1BQ0NBVEFMWVNUKQogI2RlZmluZSBIQVZFX0RFU0lHTl9TWVNURU1fVUlfRk9OVFMgMQog
I2VuZGlmCiAKQEAgLTU5NCwxMSArNTUyLDcgQEAKICNkZWZpbmUgSEFWRV9DT09LSUVfQ0hBTkdF
X0xJU1RFTkVSX0FQSSAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZ
KQotI2RlZmluZSBIQVZFX0RBVEFfUFJPVEVDVElPTl9LRVlDSEFJTiAxCi0jZW5kaWYKLQotI2lm
IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAx
NTAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgIVBMQVRGT1JNKElPU19GQU1JTFlfU0lN
VUxBVE9SKSkKKyNpZiBQTEFURk9STShNQUMpICYmICFQTEFURk9STShJT1NfRkFNSUxZX1NJTVVM
QVRPUikKICNkZWZpbmUgSEFWRV9ORUFSX0ZJRUxEIDEKICNlbmRpZgogCkBAIC02MDYsMTAgKzU2
MCw2IEBACiAjZGVmaW5lIEhBVkVfT1NfU0lHTlBPU1QgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwg
KFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEzMDAwMCkKLSNkZWZpbmUgSEFWRV9BVkFTU0VUV1JJVEVSREVMRUdBVEUgMQotI2VuZGlm
Ci0KICNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDExMDAwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDE0MDAwMCkKICNkZWZpbmUgSEFWRV9BVkFTU0VUV1JJVEVSREVM
RUdBVEVfQVBJIDEKICNlbmRpZgpAQCAtNjI2LDIyICs1NzYsMTQgQEAKICNkZWZpbmUgSEFWRV9O
U1BST0dSRVNTX1BVQkxJU0hJTkdfU1BJIDEKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IChQTEFURk9S
TShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAw
MDApCi0jZGVmaW5lIEhBVkVfR0NFWFRFTkRFREdBTUVQQURfQlVUVE9OU19PUFRJT05TX01FTlUg
MQotI2VuZGlmCi0KICNpZiBQTEFURk9STShDT0NPQSkKICNkZWZpbmUgSEFWRV9HQ0VYVEVOREVE
R0FNRVBBRF9CVVRUT05TX1RIVU1CU1RJQ0sgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkKKyNpZiBQTEFU
Rk9STShNQUMpCiAjZGVmaW5lIEhBVkVfTVVMVElHQU1FUEFEUFJPVklERVJfU1VQUE9SVCAxCiAj
ZW5kaWYKIAotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTAxNTAwKQotI2RlZmluZSBIQVZFX0hJRF9GUkFNRVdPUksgMQotI2VuZGlmCi0K
ICNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDExMDAwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDE0MDAwMCkKICNkZWZpbmUgSEFWRV9HQ0VYVEVOREVER0FNRVBBRF9I
T01FX0JVVFRPTiAxCiAjZW5kaWYKQEAgLTcwMiwxOCArNjQ0LDYgQEAKICNkZWZpbmUgSEFWRV9N
RURJQV9VU0FHRV9GUkFNRVdPUksgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShJT1MpIHx8IChQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAw
KQotI2RlZmluZSBIQVZFX1BBU1NLSVRfQk9VTkRfSU5URVJGQUNFX0lERU5USUZJRVIgMQotI2Vu
ZGlmCi0KLSNpZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKQotI2RlZmluZSBIQVZFX1BBU1NLSVRfSU5T
VEFMTE1FTlRTIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkKLSNkZWZpbmUg
SEFWRV9QQVNTS0lUX1BBWU1FTlRfTUVUSE9EX0JJTExJTkdfQUREUkVTUyAxCi0jZW5kaWYKLQog
I2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTIwMDAwKSB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxNTAwMDApCiAjZGVmaW5lIEhBVkVfUEFTU0tJVF9SRUNVUlJJTkdfU1VNTUFSWV9J
VEVNIDEKICNkZWZpbmUgSEFWRV9QQVNTS0lUX0RFRkVSUkVEX1NVTU1BUllfSVRFTSAxCkBAIC03
MjMsNyArNjUzLDcgQEAKICNkZWZpbmUgSEFWRV9QQVNTS0lUX1VQREFURV9TSElQUElOR19NRVRI
T0RTX1dIRU5fQ0hBTkdJTkdfU1VNTUFSWV9JVEVNUyAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQ
TEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorI2lmIFBMQVRGT1JNKENPQ09B
KSAmJiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCiAjZGVmaW5lIEhB
VkVfUVVJQ0tMT09LX1RIVU1CTkFJTElORyAxCiAjZW5kaWYKIApAQCAtNzg3LDEwICs3MTcsNiBA
QAogI2RlZmluZSBIQVZFX0NURk9OVElTU1lTVEVNVUlGT05UIDEKICNlbmRpZgogCi0jaWYgUExB
VEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEIDwgMTAxNTAwKQotI2RlZmluZSBIQVZFX0NURk9OVEdFVFBIWVNJQ0FMU1lNQk9M
SUNUUkFJVFMgMQotI2VuZGlmCi0KICNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkgXAogICAgIHx8ICgoUExBVEZPUk0oSU9TKSB8
fCBQTEFURk9STShNQUNDQVRBTFlTVCkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDE0MDAwMCkgXAogICAgIHx8IChQTEFURk9STShXQVRDSE9TKSAmJiBfX1dBVENIX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDcwMDAwKSBcCkBAIC04NzgsNyArODA0LDcgQEAKICNk
ZWZpbmUgSEFWRV9BVk9VVFBVVERFVklDRV9TUEFUSUFMQVVESU8gMQogI2VuZGlmCiAKLSNpZiBQ
TEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSB8fCAoUExBVEZPUk0oTUFDKSAm
JiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkKKyNpZiBQTEFURk9S
TShDT0NPQSkgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogI2Rl
ZmluZSBIQVZFX1NQRUVDSFJFQ09HTklaRVIgMQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oCmlu
ZGV4IDUxNzM3MjE3YTU1MTQyYWYwOTZhZTk1YWI2YzM0MDExNzE3OTgzNWMuLjljOWY4MGUzZmQx
YjMyZDMyYzEyMGJmNGNjNTk4Nzc5ZDgxZTRmZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtVXNlLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaApAQCAtMTg5
LDEwICsxODksNiBAQAogI2RlZmluZSBVU0VfSU1MQU5HX0ZPTlRfTElOSzIgMQogI2VuZGlmCiAK
LSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEw
MTUwMAotI2RlZmluZSBVU0VfQVZfU0FNUExFX0JVRkZFUl9ESVNQTEFZX0xBWUVSIDEKLSNlbmRp
ZgotCiAjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFBMQVRGT1JNKEdUSykKICNkZWZpbmUgVVNFX1VO
SUZJRURfVEVYVF9DSEVDS0lORyAxCiAjZW5kaWYKQEAgLTI1OSw3ICsyNTUsNyBAQAogI2RlZmlu
ZSBVU0VfRElDVEFUSU9OX0FMVEVSTkFUSVZFUyAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShN
QUMpICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQorI2lmIChQTEFURk9S
TShNQUMpICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspKSB8fCBQTEFURk9STShJT1NfRkFNSUxZ
KQogI2RlZmluZSBVU0VfU09VUkNFX0FQUExJQ0FUSU9OX0FVRElUX0RBVEEgMQogI2VuZGlmCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNz
aW9uUGF5bWVudFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuaAppbmRleCBmOWUxYjFlNTdiNWM5M2JkMzk2NTdk
OTZkNmRhY2YwNDg5NjM2YmM5Li5kYmY1MGMwMzk3NzA2OTcxYWQyNzZlODYzZGJiOWZiNmRmYmQz
NGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
U2Vzc2lvblBheW1lbnRSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdC5oCkBAIC0xMjUsMTAgKzEyNSw4IEBA
IHB1YmxpYzoKICAgICBSZXF1ZXN0ZXIgcmVxdWVzdGVyKCkgY29uc3QgeyByZXR1cm4gbV9yZXF1
ZXN0ZXI7IH0KICAgICB2b2lkIHNldFJlcXVlc3RlcihSZXF1ZXN0ZXIgcmVxdWVzdGVyKSB7IG1f
cmVxdWVzdGVyID0gcmVxdWVzdGVyOyB9CiAKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRT
KQogICAgIGNvbnN0IFBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24mIGluc3RhbGxtZW50
Q29uZmlndXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1faW5zdGFsbG1lbnRDb25maWd1cmF0aW9u
OyB9CiAgICAgdm9pZCBzZXRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24oUGF5bWVudEluc3RhbGxt
ZW50Q29uZmlndXJhdGlvbiYmIGluc3RhbGxtZW50Q29uZmlndXJhdGlvbikgeyBtX2luc3RhbGxt
ZW50Q29uZmlndXJhdGlvbiA9IFdURk1vdmUoaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uKTsgfQot
I2VuZGlmCiAKICNpZiBFTkFCTEUoQVBQTEVfUEFZX0NPVVBPTl9DT0RFKQogICAgIHN0ZDo6b3B0
aW9uYWw8Ym9vbD4gc3VwcG9ydHNDb3Vwb25Db2RlKCkgY29uc3QgeyByZXR1cm4gbV9zdXBwb3J0
c0NvdXBvbkNvZGU7IH0KQEAgLTE2OSw5ICsxNjcsNyBAQCBwcml2YXRlOgogCiAgICAgUmVxdWVz
dGVyIG1fcmVxdWVzdGVyIHsgUmVxdWVzdGVyOjpBcHBsZVBheUpTIH07CiAKLSNpZiBIQVZFKFBB
U1NLSVRfSU5TVEFMTE1FTlRTKQogICAgIFBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24g
bV9pbnN0YWxsbWVudENvbmZpZ3VyYXRpb247Ci0jZW5kaWYKIAogI2lmIEVOQUJMRShBUFBMRV9Q
QVlfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREUpCiAgICAgc3RkOjpvcHRpb25hbDxBcHBs
ZVBheVNoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlPiBtX3NoaXBwaW5nQ29udGFjdEVkaXRpbmdN
b2RlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50
SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLm1tIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9QYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uLm1tCmluZGV4IDAxYmMxMDlmMTI0
NzI0ZGI0NThjM2RmMDE0NTdmNjZlNTZhNTE0YTAuLjczYjgxZWEyZmIxMzFmYmEwOTMxM2U3NWIx
NTQ3OGVlMGQ0ODBhODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24ubW0KQEAg
LTI2LDggKzI2LDYgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiUGF5bWVudEluc3Rh
bGxtZW50Q29uZmlndXJhdGlvbldlYkNvcmUuaCIKIAotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxM
TUVOVFMpCi0KICNpbXBvcnQgIkFwcGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uV2ViQ29y
ZS5oIgogI2ltcG9ydCAiQXBwbGVQYXlJbnN0YWxsbWVudEl0ZW1UeXBlLmgiCiAjaW1wb3J0ICJB
cHBsZVBheUluc3RhbGxtZW50UmV0YWlsQ2hhbm5lbC5oIgpAQCAtMjYxLDUgKzI1OSwzIEBAIEFw
cGxlUGF5SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uIFBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3Vy
YXRpb246OmFwcGxlUGF5SW5zdGFsCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2Vu
ZGlmIC8vIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25XZWJD
b3JlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRJbnN0YWxsbWVu
dENvbmZpZ3VyYXRpb25XZWJDb3JlLmgKaW5kZXggMzk3MWFhYTYyMWIzODUwOWYzYTIyNmVkYWIy
ZjNmYTgzMzg2NzI4ZS4uNTZjNjA0Y2I3YTBhMDhiYTdhZTIyNWVjZjI3MTdmNjk0OTZhZGQwNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50SW5zdGFs
bG1lbnRDb25maWd1cmF0aW9uV2ViQ29yZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbldlYkNvcmUuaApAQCAtMjUs
OCArMjUsNiBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVO
VFMpCi0KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKIE9CSkNfQ0xBU1MgTlNEaWN0aW9u
YXJ5OwpAQCAtNTUsNSArNTMsMyBAQCBwcml2YXRlOgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQotCi0jZW5kaWYgLy8gSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudEFQSVZlcnNpb25D
b2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudEFQ
SVZlcnNpb25Db2NvYS5tbQppbmRleCA4NzI3NmU4NTM1NGEwOTdlNjBiNThkZGIwYjU4ZDc2NGNl
ZmY5MGI5Li5lYThlYWVhYTVjYjdjNDYwZjNlMTAwODc5NWRmMGFjMGY5YWZhN2JhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRBUElWZXJz
aW9uQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9Q
YXltZW50QVBJVmVyc2lvbkNvY29hLm1tCkBAIC00MSw3ICs0MSw3IEBAIHVuc2lnbmVkIFBheW1l
bnRBUElWZXJzaW9uOjpjdXJyZW50KCkKICAgICAgICAgcmV0dXJuIDExOwogI2VsaWYgSEFWRShQ
QVNTS0lUX05FV19CVVRUT05fVFlQRVMpCiAgICAgICAgIHJldHVybiAxMDsKLSNlbGlmIEhBVkUo
UEFTU0tJVF9JTlNUQUxMTUVOVFMpCisjZWxzZQogICAgICAgICBpZiAoUEFMOjpnZXRQS1BheW1l
bnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25DbGFzcygpKSB7CiAgICAgICAgICAgICBpZiAoUEFM
OjpnZXRQS1BheW1lbnRJbnN0YWxsbWVudEl0ZW1DbGFzcygpKQogICAgICAgICAgICAgICAgIHJl
dHVybiA5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9jb2Nv
YS9QYXltZW50Q29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29h
L1BheW1lbnRDb2NvYS5tbQppbmRleCA5OWMwNTA5NDBlYzBlYjE4NWFlNTU4MTNiNjJiZWMwMmRi
NjM5NGY4Li5jNzU5NzQyNmIyMzc2OTE5OGFlNWEzMGZhMjQzZmQzNTIyYmNkNWExIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRDb2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRDb2Nv
YS5tbQpAQCAtMzcsMTMgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgdm9p
ZCBmaW5pc2hDb252ZXJ0aW5nKFBLUGF5bWVudCAqcGF5bWVudCwgQXBwbGVQYXlQYXltZW50JiBy
ZXN1bHQpCiB7Ci0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKICAgICBpZiAoTlNTdHJp
bmcgKmluc3RhbGxtZW50QXV0aG9yaXphdGlvblRva2VuID0gcGF5bWVudC5pbnN0YWxsbWVudEF1
dGhvcml6YXRpb25Ub2tlbikKICAgICAgICAgcmVzdWx0Lmluc3RhbGxtZW50QXV0aG9yaXphdGlv
blRva2VuID0gaW5zdGFsbG1lbnRBdXRob3JpemF0aW9uVG9rZW47Ci0jZWxzZQotICAgIFVOVVNF
RF9QQVJBTShwYXltZW50KTsKLSAgICBVTlVTRURfUEFSQU0ocmVzdWx0KTsKLSNlbmRpZgogfQog
CiBzdGF0aWMgQXBwbGVQYXlQYXltZW50OjpUb2tlbiBjb252ZXJ0KFBLUGF5bWVudFRva2VuICpw
YXltZW50VG9rZW4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L2NvY29hL1BheW1lbnRNZXRob2RDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvY29jb2EvUGF5bWVudE1ldGhvZENvY29hLm1tCmluZGV4IDc2NTNkZTU0YWY1MzlmMjU2
MWY0MjIzNmQzMGVjNjFhYjU4MDNkZDUuLjcxNmMxMGI0YWI3YzU1OWMwZDNlM2ZkMTNhZjlkNWI4
NjdiMzk4YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29j
b2EvUGF5bWVudE1ldGhvZENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvY29jb2EvUGF5bWVudE1ldGhvZENvY29hLm1tCkBAIC0zNiwxMyArMzYsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyB2b2lkIGZpbmlzaENvbnZlcnRpbmcoUEtQYXltZW50
TWV0aG9kICpwYXltZW50TWV0aG9kLCBBcHBsZVBheVBheW1lbnRNZXRob2QmIHJlc3VsdCkKIHsK
LSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQogICAgIGlmIChOU1N0cmluZyAqYmluZFRv
a2VuID0gcGF5bWVudE1ldGhvZC5iaW5kVG9rZW4pCiAgICAgICAgIHJlc3VsdC5iaW5kVG9rZW4g
PSBiaW5kVG9rZW47Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShwYXltZW50TWV0aG9kKTsKLSAg
ICBVTlVTRURfUEFSQU0ocmVzdWx0KTsKLSNlbmRpZgogfQogCiBzdGF0aWMgQXBwbGVQYXlQYXlt
ZW50UGFzczo6QWN0aXZhdGlvblN0YXRlIGNvbnZlcnQoUEtQYXltZW50UGFzc0FjdGl2YXRpb25T
dGF0ZSBwYXltZW50UGFzc0FjdGl2YXRpb25TdGF0ZSkKQEAgLTk4LDcgKzkzLDYgQEAgc3RhdGlj
IHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlQYXltZW50TWV0aG9kOjpUeXBlPiBjb252ZXJ0KFBLUGF5
bWVudE1ldGhvZFR5cGUgcGEKICAgICB9CiB9CiAKLSNpZiBIQVZFKFBBU1NLSVRfUEFZTUVOVF9N
RVRIT0RfQklMTElOR19BRERSRVNTKQogc3RhdGljIHZvaWQgY29udmVydChDTkxhYmVsZWRWYWx1
ZTxDTlBvc3RhbEFkZHJlc3MqPiAqcG9zdGFsQWRkcmVzcywgQXBwbGVQYXlQYXltZW50Q29udGFj
dCAmcmVzdWx0KQogewogICAgIFZlY3RvcjxTdHJpbmc+IGFkZHJlc3NMaW5lOwpAQCAtMTM5LDcg
KzEzMyw2IEBAIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5UGF5bWVudENvbnRhY3Q+IGNv
bnZlcnQoQ05Db250YWN0ICpiaWxsaW5nQ29udGFjdCkKIAogICAgIHJldHVybiByZXN1bHQ7CiB9
Ci0jZW5kaWYKIAogc3RhdGljIEFwcGxlUGF5UGF5bWVudE1ldGhvZCBjb252ZXJ0KFBLUGF5bWVu
dE1ldGhvZCAqcGF5bWVudE1ldGhvZCkKIHsKQEAgLTE0OSw5ICsxNDIsNyBAQCBzdGF0aWMgQXBw
bGVQYXlQYXltZW50TWV0aG9kIGNvbnZlcnQoUEtQYXltZW50TWV0aG9kICpwYXltZW50TWV0aG9k
KQogICAgICAgICByZXN1bHQuZGlzcGxheU5hbWUgPSBkaXNwbGF5TmFtZTsKICAgICBpZiAoTlNT
dHJpbmcgKm5ldHdvcmsgPSBwYXltZW50TWV0aG9kLm5ldHdvcmspCiAgICAgICAgIHJlc3VsdC5u
ZXR3b3JrID0gbmV0d29yazsKLSNpZiBIQVZFKFBBU1NLSVRfUEFZTUVOVF9NRVRIT0RfQklMTElO
R19BRERSRVNTKQogICAgIHJlc3VsdC5iaWxsaW5nQ29udGFjdCA9IGNvbnZlcnQocGF5bWVudE1l
dGhvZC5iaWxsaW5nQWRkcmVzcyk7Ci0jZW5kaWYKICAgICByZXN1bHQudHlwZSA9IGNvbnZlcnQo
cGF5bWVudE1ldGhvZC50eXBlKTsKICAgICByZXN1bHQucGF5bWVudFBhc3MgPSBjb252ZXJ0KHBh
eW1lbnRNZXRob2QucGF5bWVudFBhc3MpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRTZXNzaW9uRXJyb3JDb2NvYS5tbSBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudFNlc3Npb25FcnJvckNvY29h
Lm1tCmluZGV4IDIyZDU0MWNkYzE2Njc1NTM4ZmIzZDBmMTU5YzBkZjI2ODk0MzQxZTMuLjk4ZDM3
ZGU4ODQ0MTkxMDc4MWZmZDRlMzg3Y2JhZDVhZDhkZGJkMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudFNlc3Npb25FcnJvckNvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudFNlc3Np
b25FcnJvckNvY29hLm1tCkBAIC0zNSw3ICszNSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
c3RhdGljIHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlTZXNzaW9uRXJyb3I+IGFkZGl0aW9uYWxFcnJv
cihOU0Vycm9yICplcnJvcikKIHsKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQogICAg
IC8vIEZJWE1FOiBSZXBsYWNlIHdpdGggUEtQYXltZW50RXJyb3JCaW5kVG9rZW5Vc2VySW5mb0tl
eSBhbmQKICAgICAvLyBQS1BheW1lbnRBdXRob3JpemF0aW9uRmVhdHVyZUFwcGxpY2F0aW9uRXJy
b3Igd2hlbiB0aGV5J3JlIGF2YWlsYWJsZSBpbiBhbiBTREsuCiAgICAgc3RhdGljIE5TU3RyaW5n
ICogY29uc3QgYmluZFRva2VuS2V5ID0gQCJQS1BheW1lbnRFcnJvckJpbmRUb2tlbiI7CkBAIC00
NywxMCArNDYsNiBAQCBzdGF0aWMgc3RkOjpvcHRpb25hbDxBcHBsZVBheVNlc3Npb25FcnJvcj4g
YWRkaXRpb25hbEVycm9yKE5TRXJyb3IgKmVycm9yKQogICAgIGlkIGJpbmRUb2tlblZhbHVlID0g
ZXJyb3IudXNlckluZm9bYmluZFRva2VuS2V5XTsKICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NF
Q1VSSVRZX0lNUExJQ0FUSU9OKCFiaW5kVG9rZW5WYWx1ZSB8fCBbYmluZFRva2VuVmFsdWUgaXNL
aW5kT2ZDbGFzczpOU1N0cmluZy5jbGFzc10pOwogICAgIHJldHVybiBBcHBsZVBheVNlc3Npb25F
cnJvciB7ICJmZWF0dXJlQXBwbGljYXRpb25FcnJvciJfcywgeyB7ICJiaW5kVG9rZW4iX3MsIChO
U1N0cmluZyAqKWJpbmRUb2tlblZhbHVlIH0gfSB9OwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0o
ZXJyb3IpOwotICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0jZW5kaWYKIH0KIAogUGF5bWVudFNl
c3Npb25FcnJvcjo6UGF5bWVudFNlc3Npb25FcnJvcihSZXRhaW5QdHI8TlNFcnJvcj4mJiBlcnJv
cikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRp
YVJlY29yZGVyUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29y
ZGVyL01lZGlhUmVjb3JkZXJQcm92aWRlci5jcHAKaW5kZXggNmE1YzRjYjM0NWY5YzA2OTlmNmY2
NTVjOWU0MGMxMDlmNjQ3NDhiYi4uNzc3NmFmZWM3NjRkMjU4NjAyNzg0ZjgwNjNiMWVjYzg1NDM4
MTcxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01l
ZGlhUmVjb3JkZXJQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcm92aWRlci5jcHAKQEAgLTM2LDEzICszNiw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogc3RkOjp1bmlxdWVfcHRyPE1lZGlhUmVjb3JkZXJQcml2YXRl
PiBNZWRpYVJlY29yZGVyUHJvdmlkZXI6OmNyZWF0ZU1lZGlhUmVjb3JkZXJQcml2YXRlKE1lZGlh
U3RyZWFtUHJpdmF0ZSYgc3RyZWFtLCBjb25zdCBNZWRpYVJlY29yZGVyUHJpdmF0ZU9wdGlvbnMm
IG9wdGlvbnMpCiB7Ci0jaWYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCiAgICAgcmV0dXJu
IE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6Y3JlYXRlKHN0cmVhbSwgb3B0aW9ucyk7Ci0j
ZWxzZQotICAgIFVOVVNFRF9QQVJBTShzdHJlYW0pOwotICAgIFVOVVNFRF9QQVJBTShvcHRpb25z
KTsKLSAgICByZXR1cm4gbnVsbHB0cjsKLSNlbmRpZgogfQogCiBib29sIE1lZGlhUmVjb3JkZXJQ
cm92aWRlcjo6aXNTdXBwb3J0ZWQoY29uc3QgU3RyaW5nJiB2YWx1ZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAKaW5kZXggOGJkM2EyM2IzZjlm
NzdmNTIwZDk3YzU4MzYwMGIyZTVjZTA4YmIwOC4uZGY3NTc0YTc0ZDdhNWM2YzQ3OWRmOWE0YTNl
ZGVjZjYyNTRhNzczNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3Jl
TWVkaWFTb2Z0TGluay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVk
aWFTb2Z0TGluay5jcHAKQEAgLTM4LDcgKzM4LDcgQEAKIAogI2luY2x1ZGUgPENvcmVBdWRpby9D
b3JlQXVkaW9UeXBlcy5oPgogCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgKFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTQwMCkKKyNpZiBQ
TEFURk9STShDT0NPQSkKICNkZWZpbmUgQ01TQU1QTEVCVUZGRVJDQUxMX05PRVNDQVBFIENGX05P
RVNDQVBFCiAjZWxzZQogI2RlZmluZSBDTVNBTVBMRUJVRkZFUkNBTExfTk9FU0NBUEUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaCBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaAppbmRleCA5ODc2OTJi
Y2Y4MjUwODgzMzE5NTdmMjJkMGQ1ODc4MmZjZjc3MDBmLi5jNDFiNDgzYTQ3Y2RmNzJhZjA2YmMx
MDQ5ZmUyZGNmZDk2NDQ0NjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2Nm
L0NvcmVNZWRpYVNvZnRMaW5rLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3Jl
TWVkaWFTb2Z0TGluay5oCkBAIC0zOCw3ICszOCw3IEBACiAjZGVmaW5lIFNPRlRMSU5LX0FWS0lU
X0ZSQU1FV09SSygpIFNPRlRfTElOS19GUkFNRVdPUktfT1BUSU9OQUwoQVZLaXQpCiAjZW5kaWYK
IAotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDE0MDApCisjaWYgUExBVEZPUk0oQ09DT0EpCiAj
ZGVmaW5lIENNU0FNUExFQlVGRkVSQ0FMTF9OT0VTQ0FQRSBDRl9OT0VTQ0FQRQogI2Vsc2UKICNk
ZWZpbmUgQ01TQU1QTEVCVUZGRVJDQUxMX05PRVNDQVBFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbQppbmRleCAzNTFjNmYyZjBk
ZjE0OTgwYzIzYjkxMjkyMzlhODljNDA5M2JkNGM0Li4xMTZlN2RkNzU4ZDg3MmQxOTM3YTFmOTcx
NWM5ZGY3Y2QxNjE4YzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29h
L0FWRm91bmRhdGlvblNvZnRMaW5rLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29j
b2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0KQEAgLTMwLDcgKzMwLDcgQEAKICNpbXBvcnQgPEFW
Rm91bmRhdGlvbi9BVkZvdW5kYXRpb24uaD4KICNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgog
Ci0jaWYgIShQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
PCAxMDE1MDApICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKKyNp
ZiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCiBTT0ZUX0xJTktfRlJB
TUVXT1JLX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBBVkZvdW5kYXRpb24sIFBBTF9FWFBP
UlQpCiAjZWxzZQogQGludGVyZmFjZSBBVlBsYXllckl0ZW0gKERpc2FibGVLVk9PblN1cHJlc3Nl
c1ZpZGVvTGF5ZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9Q
YXNzS2l0U29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNv
ZnRMaW5rLmgKaW5kZXggMGJjMjViNWNmNWNiMWUzMGU5OWZlYTY2M2IxMDk3ODI4YjY1YWJiNi4u
OWY4NDhiMjRjNGQ1Y2IxNDhlZTAzNGUxMDk3ZTExM2YwMTEyZmY4NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5oCkBAIC00NiwxMSArNDYsOCBA
QCBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLUGF5bWVudFNldHVwUmVxdWVzdCkK
IFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUEtQYXltZW50U2V0dXBWaWV3Q29udHJv
bGxlcikKIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUEtQYXltZW50U3VtbWFyeUl0
ZW0pCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLU2hpcHBpbmdNZXRob2QpCi0K
LSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFE
RVIoUEFMLCBQS1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24pCiBTT0ZUX0xJTktfQ0xB
U1NfRk9SX0hFQURFUihQQUwsIFBLUGF5bWVudEluc3RhbGxtZW50SXRlbSkKLSNlbmRpZgogCiAj
aWYgSEFWRShQQVNTS0lUX1JFQ1VSUklOR19TVU1NQVJZX0lURU0pCiBTT0ZUX0xJTktfQ0xBU1Nf
Rk9SX0hFQURFUihQQUwsIFBLUmVjdXJyaW5nUGF5bWVudFN1bW1hcnlJdGVtKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5tbQppbmRleCBlMTU2Y2Ji
OGI1ZTI1YzIyMDE2NDc4MTRiOGE5ZGZjYmQ3OTdlODEyLi4zZmIzZjUzNmE4ZGM1OTc0MDNlMmY2
MDc2OGFmYjBlNmVhNWQ0NDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2Nv
Y29hL1Bhc3NLaXRTb2Z0TGluay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29h
L1Bhc3NLaXRTb2Z0TGluay5tbQpAQCAtNTEsMTAgKzUxLDggQEAgU09GVF9MSU5LX0NMQVNTX0ZP
Ul9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRTZXR1cFZpZXdDb250
cm9sbGUKIAogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIAotI2lmIEhBVkUoUEFTU0tJVF9JTlNU
QUxMTUVOVFMpCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJT05BTF9XSVRIX0VYUE9S
VChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiwgUEFMX0VY
UE9SVCkKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX09QVElPTkFMX1dJVEhfRVhQT1JUKFBB
TCwgUGFzc0tpdCwgUEtQYXltZW50SW5zdGFsbG1lbnRJdGVtLCBQQUxfRVhQT1JUKQotI2VuZGlm
CiAKICNpZiBIQVZFKFBBU1NLSVRfUkVDVVJSSU5HX1NVTU1BUllfSVRFTSkKIFNPRlRfTElOS19D
TEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtSZWN1cnJpbmdQYXlt
ZW50U3VtbWFyeUl0ZW0sIFBBTF9FWFBPUlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3Bp
L2NmL0NGTmV0d29ya1NQSS5oCmluZGV4IDA3NTFjMGIzYjUxNzYwMTgxNDA4Y2JkYmYwMGZlYjM1
NWZiMjcxNGMuLjIyM2RjZjI4ZDg3ZDIwOTk0Mjk5N2M3NGZiMDA2MmFmNWI3MWE4ZjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oCkBAIC0zMDEsMTIg
KzMwMSwxMCBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBOU1VSTFNlc3Npb25Db21wYW5p
b25Qcm94eVByZWZlcmVuY2UpIHsKICNlbmRpZgogQGVuZAogCi0jaWYgSEFWRShDRk5FVFdPUktf
TkVHT1RJQVRFRF9TU0xfUFJPVE9DT0xfQ0lQSEVSKQogQGludGVyZmFjZSBOU1VSTFNlc3Npb25U
YXNrVHJhbnNhY3Rpb25NZXRyaWNzICgpCiBAcHJvcGVydHkgKGFzc2lnbikgU1NMUHJvdG9jb2wg
X25lZ290aWF0ZWRUTFNQcm90b2NvbDsKIEBwcm9wZXJ0eSAoYXNzaWduKSBTU0xDaXBoZXJTdWl0
ZSBfbmVnb3RpYXRlZFRMU0NpcGhlcjsKIEBlbmQKLSNlbmRpZgogCiBAaW50ZXJmYWNlIE5TVVJM
U2Vzc2lvbiAoU1BJKQogI2lmIEhBVkUoQ0ZORVRXT1JLX05TVVJMU0VTU0lPTl9TVFJJQ1RSVVNU
RVZBTFVBVEUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9B
VkZvdW5kYXRpb25TUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0FWRm91
bmRhdGlvblNQSS5oCmluZGV4IGNiMWVkMTFmZGU3Nzk2ZTRkYjQ2OWRlMWY4YTIwOWI3NGZkNjM3
MWQuLjBjZDNlNjQxM2M5ZjM0ZjcwZTk2YWNiOWYwMDc3OTljMTU4YTAyMDggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0FWRm91bmRhdGlvblNQSS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0FWRm91bmRhdGlvblNQSS5oCkBAIC0z
ODEsNyArMzgxLDcgQEAgTlNfQVNTVU1FX05PTk5VTExfRU5ECiBAZW5kCiAjZW5kaWYKIAotI2lm
ICFVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSB8fCBVU0UoQVZfU0FNUExFX0JVRkZFUl9ESVNQTEFZ
X0xBWUVSKQorI2lmICFVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogQGludGVyZmFjZSBBVlNhbXBs
ZUJ1ZmZlckRpc3BsYXlMYXllciAoV2ViQ29yZVByaXZhdGUpCiBAcHJvcGVydHkgKGFzc2lnbiwg
bm9uYXRvbWljKSBCT09MIHByZXZlbnRzRGlzcGxheVNsZWVwRHVyaW5nVmlkZW9QbGF5YmFjazsK
IEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NL
aXRJbnN0YWxsbWVudHNTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bh
c3NLaXRJbnN0YWxsbWVudHNTUEkuaAppbmRleCAwYjJkM2YwYjEzNDRjMzc2OTE5MzBmY2Q1MmRh
NTc3YmViYjEwNzExLi4zMTVjNTViYzFlYWMyNTRlYTZiMTRjNGQ3MDE3MWRkNGZmZTZkMDRhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0SW5zdGFs
bG1lbnRzU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tp
dEluc3RhbGxtZW50c1NQSS5oCkBAIC0zNCw3ICszNCw3IEBACiAjaW1wb3J0IDxQYXNzS2l0Q29y
ZS9QS1BheW1lbnRSZXF1ZXN0U3RhdHVzX1ByaXZhdGUuaD4KICNpbXBvcnQgPFBhc3NLaXRDb3Jl
L1BLUGF5bWVudF9Qcml2YXRlLmg+CiAKLSNlbGlmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMp
CisjZWxzZQogCiB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBQS0luc3RhbGxtZW50SXRlbVR5
cGUpIHsKICAgICBQS0luc3RhbGxtZW50SXRlbVR5cGVHZW5lcmljID0gMCwKQEAgLTEyMSw0ICsx
MjEsNCBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNJbnRlZ2VyLCBQS1BheW1lbnRTZXR1cEZlYXR1
cmVTdXBwb3J0ZWRPcHRpb25zKSB7CiAKICNlbmRpZgogCi0jZW5kaWYgLy8gSEFWRShQQVNTS0lU
X0lOU1RBTExNRU5UUykKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29j
b2EvUGFzc0tpdFNQSS5oCmluZGV4IDg0OTZlNzZjNzVkMmI5NTczZDQwYjg0MmIyYmY3MmU5OTg0
N2ZmZWUuLjE2OTY5Y2IzN2M2MjllODM2MWY1NWIyM2Q1MjAyNmFiNGU5MTBkZmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmgKQEAgLTYzLDEwICs2
Myw2IEBAIFdURl9FWFRFUk5fQ19FTkQKICNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50U2V0dXBW
aWV3Q29udHJvbGxlci5oPgogI2VuZGlmCiAKLSNpZiAhSEFWRShQQVNTS0lUX0lOU1RBTExNRU5U
UykKLSNpbXBvcnQgPFBhc3NLaXQvUEtQYXltZW50UmVxdWVzdF9Qcml2YXRlLmg+Ci0jZW5kaWYK
LQogI2lmIEhBVkUoUEFTU0tJVF9SRUNVUlJJTkdfU1VNTUFSWV9JVEVNKQogI2ltcG9ydCA8UGFz
c0tpdENvcmUvUEtSZWN1cnJpbmdQYXltZW50U3VtbWFyeUl0ZW0uaD4KICNlbmRpZgpAQCAtNDEz
LDE2ICs0MDksOCBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBQS1BheW1lbnRTZXR1cEZl
YXR1cmVUeXBlKSB7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBOU1N0cmluZyAqc291
cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyOwogQHByb3BlcnR5IChub25hdG9taWMsIHN0
cm9uZykgTlNTdHJpbmcgKnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsKIEBw
cm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIE5TU3RyaW5nICpDVERhdGFDb25uZWN0aW9uU2Vy
dmljZVR5cGU7Ci0jaWYgSEFWRShQQVNTS0lUX0JPVU5EX0lOVEVSRkFDRV9JREVOVElGSUVSKQog
QHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpib3VuZEludGVyZmFjZUlkZW50
aWZpZXI7Ci0jZW5kaWYKLUBlbmQKLQotI2lmICFIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQot
QGludGVyZmFjZSBQS1BheW1lbnRSZXF1ZXN0ICgpCi1AcHJvcGVydHkgKG5vbmF0b21pYywgYXNz
aWduKSBQS1BheW1lbnRSZXF1ZXN0QVBJVHlwZSBBUElUeXBlOwogQGVuZAotI2VuZGlmCiAKIE5T
X0FTU1VNRV9OT05OVUxMX0VORAogCkBAIC00NDIsMTEgKzQzMCw5IEBAIHR5cGVkZWYgTlNfRU5V
TShOU0ludGVnZXIsIFBLUGF5bWVudEJ1dHRvblR5cGUpIHsKICAgICBQS1BheW1lbnRCdXR0b25U
eXBlU2V0VXAsCiAgICAgUEtQYXltZW50QnV0dG9uVHlwZUluU3RvcmUsCiAgICAgUEtQYXltZW50
QnV0dG9uVHlwZURvbmF0ZSwKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUFYX0FMTE9XRUQgPj0gMTAxNDAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIFBL
UGF5bWVudEJ1dHRvblR5cGVDaGVja291dCwKICAgICBQS1BheW1lbnRCdXR0b25UeXBlQm9vaywK
ICAgICBQS1BheW1lbnRCdXR0b25UeXBlU3Vic2NyaWJlLAotI2VuZGlmCiB9OwogI2VuZGlmIC8v
ICFIQVZFKFBBU1NLSVRfUkVDVVJSSU5HX1NVTU1BUllfSVRFTSkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL0hJU2VydmljZXNTUEkuaCBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvc3BpL21hYy9ISVNlcnZpY2VzU1BJLmgKaW5kZXggYjhkZjBhMWJjYzg5NTIy
ZGZlZmVkNjM2ZjdhZTMxYzJiZWNiMTkyYS4uNjE2MDBjYzZjYTVmMDVlODNhMjA4YzUxMWNjYTQw
YzBlMGVmNjg5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL0hJ
U2VydmljZXNTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvSElTZXJ2
aWNlc1NQSS5oCkBAIC0xMzAsNyArMTMwLDYgQEAgT1NTdGF0dXMgU2V0QXBwbGljYXRpb25Jc0Rh
ZW1vbihCb29sZWFuKTsKIEFYRXJyb3IgX0FYVUlFbGVtZW50VXNlU2Vjb25kYXJ5QVhUaHJlYWQo
Ym9vbCBlbmFibGVkKTsKICNlbmRpZgogCi0jaWYgSEFWRShBWF9DTElFTlRfVFlQRSkKIHR5cGVk
ZWYgQ0ZfRU5VTShpbnQzMl90LCBBWENsaWVudFR5cGUpCiB7CiAgICAga0FYQ2xpZW50VHlwZU5v
QWN0aXZlUmVxdWVzdEZvdW5kID0gMCwKQEAgLTE0Nyw3ICsxNDYsNiBAQCB0eXBlZGVmIENGX0VO
VU0oaW50MzJfdCwgQVhDbGllbnRUeXBlKQogfTsKIEFYQ2xpZW50VHlwZSBfQVhHZXRDbGllbnRG
b3JDdXJyZW50UmVxdWVzdFVudHJ1c3RlZCh2b2lkKTsKIHZvaWQgX0FYU2V0Q2xpZW50SWRlbnRp
ZmljYXRpb25PdmVycmlkZShBWENsaWVudFR5cGUpOwotI2VuZGlmIC8vIEhBVkUoQVhfQ0xJRU5U
X1RZUEUpCiAKIGV4dGVybiBDRlN0cmluZ1JlZiBrQVhJbnRlcmZhY2VSZWR1Y2VNb3Rpb25LZXk7
CiBleHRlcm4gQ0ZTdHJpbmdSZWYga0FYSW50ZXJmYWNlUmVkdWNlTW90aW9uU3RhdHVzRGlkQ2hh
bmdlTm90aWZpY2F0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkv
bWFjL05TTWVudVNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05TTWVudVNQ
SS5oCmluZGV4IGViYWE2OWJhNzI3MjkzN2MxZTQwM2ExOGIzYzkzNzY2YzQxYmUwNGUuLjBlNjQ3
MGUwYzFhNjkwNTRlYzUyOWM4Mjk4ZGI2ZWQwYWEzMDQzZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU01lbnVTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9tYWMvTlNNZW51U1BJLmgKQEAgLTI3LDcgKzI3LDcgQEAKIAogI2lmIFBMQVRG
T1JNKE1BQykKIAotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykK
IAogI2ltcG9ydCA8QXBwS2l0L05TTWVudV9Qcml2YXRlLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU1ZpZXdTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvc3BpL21hYy9OU1ZpZXdTUEkuaAppbmRleCA2OGNlOGJmYzM0ZTk4NWVjYWRlYTkyNjkx
YThkNmE2YzNmYmI0ODNmLi5kYWQ3YjQ1NzQyZGYyZmYxNjYwYWMwN2E0NGJhMzQ2OWQ4ODYzNWUx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNWaWV3U1BJLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05TVmlld1NQSS5oCkBAIC0zMCwx
MCArMzAsNiBAQAogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmg+CiAKIEBp
bnRlcmZhY2UgTlNWaWV3ICgpIDxDQUxheWVyRGVsZWdhdGU+IHsKLSNpZiAhSEFWRShTVUJWSUVX
U19JVkFSX1NQSSkgJiYgIUhBVkUoU1VCVklFV1NfSVZBUl9ERUNMQVJFRF9CWV9TREspCi1AcGFj
a2FnZQotICAgIE5TTXV0YWJsZUFycmF5PF9fa2luZG9mIE5TVmlldyAqPiAqX3N1YnZpZXdzOwot
I2VuZGlmCiB9CiAKIC0gKE5TVmlldyAqKV9maW5kTGFzdFZpZXdJbktleVZpZXdMb29wOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcApp
bmRleCBlNTQ4OGEyMTdhYzk3YjE2MTQ1OGRhMjcwMmEzZWI4ZGVmNDM3ZjNlLi4wYmYxYmQ3MzY0
NzM2NDY4NzdhMTAzMzhhNDI0MWVjNjBhMjY0MWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcApAQCAtNDAxLDggKzQwMSw2IEBA
IFN0cmluZyBJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OnBsYXRmb3JtVmVyc2lvbk5hbWUoKSBjb25z
dAogICAgIHJldHVybiAiYmlnLXN1ciJfczsKICNlbGlmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAKICAgICByZXR1cm4gImNhdGFsaW5h
Il9zOwotI2VsaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTQwMAotICAgIHJldHVybiAibW9qYXZlIl9zOwogI2Vsc2UKICAgICByZXR1cm4g
ZW1wdHlTdHJpbmcoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWQubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZC5tbQppbmRleCBh
NjJmY2IyMWI5ZDMwNDc4ZWNiNzIxNGZmNzJiYjM0MmU1ZmE2Nzc1Li43ZTQ3ZWZkNWU4Y2Q4MWU2
NDRjYThhMWNmMGM5ODI0NGM3YjY0MzU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZC5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVyR2FtZXBhZC5tbQpA
QCAtMTMwLDEyICsxMzAsMTAgQEAgdm9pZCBHYW1lQ29udHJvbGxlckdhbWVwYWQ6OnNldHVwQXNF
eHRlbmRlZEdhbWVwYWQoKQogICAgIH0KIAogICAgIC8vIFNlbGVjdCwgU3RhcnQKLSNpZiBIQVZF
KEdDRVhURU5ERURHQU1FUEFEX0JVVFRPTlNfT1BUSU9OU19NRU5VKQogICAgIGJpbmRCdXR0b24o
bV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuYnV0dG9uT3B0aW9ucywgR2FtZXBhZEJ1dHRvblJvbGU6
OkNlbnRlckNsdXN0ZXJMZWZ0KTsKICAgICBkaXNhYmxlRGVmYXVsdFN5c3RlbUFjdGlvbihtX2V4
dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0b25PcHRpb25zKTsKICAgICBiaW5kQnV0dG9uKG1fZXh0
ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvbk1lbnUsIEdhbWVwYWRCdXR0b25Sb2xlOjpDZW50ZXJD
bHVzdGVyUmlnaHQpOwogICAgIGRpc2FibGVEZWZhdWx0U3lzdGVtQWN0aW9uKG1fZXh0ZW5kZWRH
YW1lcGFkLmdldCgpLmJ1dHRvbk1lbnUpOwotI2VuZGlmCiAKICAgICAvLyBMMywgUjMKICNpZiBI
QVZFKEdDRVhURU5ERURHQU1FUEFEX0JVVFRPTlNfVEhVTUJTVElDSykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDLm1tCmluZGV4IGYzMTRkY2ViZGEzNGY4YjIwODNiMzRhOWQ5ZTEzNjU0MmM5ZDFhYjkuLmZh
YjhhOGNiZjRlNWNmZWRhNmQ1MjkyZmRmY2Q4MGQzMTIxZTgxYzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
T2JqQy5tbQpAQCAtMzE5MiwxNCArMzE5Miw2IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uT2JqQzo6cGxheWVySXRlbVN0YXR1c0RpZENoYW5nZShpbnQgc3RhdHVzKQogewog
ICAgIG1fY2FjaGVkSXRlbVN0YXR1cyA9IHN0YXR1czsKIAotICAgIC8vIFNldHRpbmcgdGhlIHBp
dGNoIGFsZ29yaXRobSBoZXJlIGNhdXNlcyB0ZXN0cyB0byBmYWlsIG9uIE1vamF2ZTsgcmV2ZXJ0
IHRoaXMgY2hhbmdlCi0gICAgLy8gZm9yIDw9IE1vamF2ZSBidWlsZHMuCi0jaWYgIShQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPiAxMDE0MDApCi0gICAg
Ly8gRklYTUUocmRhcjovLzcyODI5MzU0KTogUmVtb3ZlIGFmdGVyIEFWRm91bmRhdGlvbiByYWRh
ciBpcyBmaXhlZC4KLSAgICBpZiAoc3RhdHVzID09IEFWUGxheWVySXRlbVN0YXR1c1JlYWR5VG9Q
bGF5KQotICAgICAgICBbbV9hdlBsYXllckl0ZW0gc2V0QXVkaW9UaW1lUGl0Y2hBbGdvcml0aG06
YXVkaW9UaW1lUGl0Y2hBbGdvcml0aG1Gb3JNZWRpYVBsYXllclBpdGNoQ29ycmVjdGlvbkFsZ29y
aXRobShwbGF5ZXIoKS0+cGl0Y2hDb3JyZWN0aW9uQWxnb3JpdGhtKCksIHBsYXllcigpLT5wcmVz
ZXJ2ZXNQaXRjaCgpLCBtX3JlcXVlc3RlZFJhdGUpXTsKLSNlbmRpZgotCiAgICAgdXBkYXRlU3Rh
dGVzKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAppbmRleCAwY2M3Y2Q3MzMzZGQzYWI5
ZTBmZTFlN2JhNjgxMDE3ZDlmYjhiYWFiLi4zNTA4NDZlZGE2MmY2NmUzMjhhOGRjNDUwM2RkMjNl
ZjkyOWM1NTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwCkBAIC04MDMsMTQgKzgwMyw3IEBA
IFN5bnRoZXNpc1BhaXIgY29tcHV0ZU5lY2Vzc2FyeVN5bnRoZXNpcyhDVEZvbnRSZWYgZm9udCwg
Y29uc3QgRm9udERlc2NyaXB0aW9uJiBmCiAgICAgQ1RGb250U3ltYm9saWNUcmFpdHMgYWN0dWFs
VHJhaXRzID0gMDsKICAgICBpZiAoaXNGb250V2VpZ2h0Qm9sZChmb250RGVzY3JpcHRpb24ud2Vp
Z2h0KCkpIHx8IGlzSXRhbGljKGZvbnREZXNjcmlwdGlvbi5pdGFsaWMoKSkpIHsKICAgICAgICAg
aWYgKHNob3VsZENvbXB1dGVQaHlzaWNhbFRyYWl0cyA9PSBTaG91bGRDb21wdXRlUGh5c2ljYWxU
cmFpdHM6OlllcykgewotI2lmIEhBVkUoQ1RGT05UR0VUUEhZU0lDQUxTWU1CT0xJQ1RSQUlUUykK
ICAgICAgICAgICAgIGFjdHVhbFRyYWl0cyA9IENURm9udEdldFBoeXNpY2FsU3ltYm9saWNUcmFp
dHMoZm9udCk7Ci0jZWxzZQotICAgICAgICAgICAgYXV0byBmb250Rm9yU3ludGhlc2lzQ29tcHV0
YXRpb24gPSByZXRhaW5QdHIoZm9udCk7Ci0gICAgICAgICAgICBpZiAoYXV0byBwaHlzaWNhbEZv
bnQgPSBhZG9wdENGKENURm9udENvcHlQaHlzaWNhbEZvbnQoZm9udCkpKQotICAgICAgICAgICAg
ICAgIGZvbnRGb3JTeW50aGVzaXNDb21wdXRhdGlvbiA9IFdURk1vdmUocGh5c2ljYWxGb250KTsK
LSAgICAgICAgICAgIGFjdHVhbFRyYWl0cyA9IENURm9udEdldFN5bWJvbGljVHJhaXRzKGZvbnRG
b3JTeW50aGVzaXNDb21wdXRhdGlvbi5nZXQoKSk7Ci0jZW5kaWYKICAgICAgICAgfSBlbHNlCiAg
ICAgICAgICAgICBhY3R1YWxUcmFpdHMgPSBDVEZvbnRHZXRTeW1ib2xpY1RyYWl0cyhmb250KTsK
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVy
L01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5jcHAKaW5kZXggZDQx
OWUwZTE5MjU1NWQ3MzYwODU4NTFmNTRjYTAwNDBkNDZiNjYzZi4uOTcxOGE0YjY0M2RhYjY4ZTYy
NzFmM2VkMThjY2RkNmUwZTRlMWQ3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVB
VkZJbXBsLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIk1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5oIgogCi0jaWYgRU5BQkxFKE1FRElBX1NU
UkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjaWYgRU5BQkxFKE1FRElBX1NU
UkVBTSkKIAogI2luY2x1ZGUgIkF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJD
QUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uaCIKQEAgLTE3MCw0ICsxNzAsNCBAQCBjb25zdCBTdHJp
bmcmIE1lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbDo6bWltZVR5cGUoKSBjb25zdAogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBI
QVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFN
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRp
YVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
cmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmgKaW5kZXggMzM3ZWMxOWQ1YjQ5
NDNjMDUwMmIxMWVmNzIxMTQ2NDM2ZTEyMDIxMi4uYzY1OTU1ZDNlZDgwM2Y5YTNkOTc0YzQzMGNj
N2RhNDNiNGUyYWVhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFy
ZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5oCkBA
IC0yNCw3ICsyNCw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKIAogI2luY2x1ZGUgIkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgIk1l
ZGlhUmVjb3JkZXJQcml2YXRlLmgiCkBAIC02OCw0ICs2OCw0IEBAIHByaXZhdGU6CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIEhB
VkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29h
L01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5o
CmluZGV4IGI3NTU4ZDI4MGMyZWY3OTYwNjhjYWMwY2M5NmI1MDMzZGMzNzA5NzEuLjIxMWY3NWVl
NzNhZjY5MTllN2Y0Yzk5NThlMGNkMzQ4MjUzMmQwOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0
ZXJDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29j
b2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5oCkBAIC0yNCw3ICsyNCw3IEBACiAK
ICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VU
V1JJVEVSREVMRUdBVEUpCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogI2luY2x1ZGUgIkF1
ZGlvU3RyZWFtRGVzY3JpcHRpb24uaCIKIApAQCAtMTQ3LDQgKzE0Nyw0IEBAIHByaXZhdGU6CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0p
ICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2VuZGlmIC8vIEVOQUJMRShNRURJQV9T
VFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVy
L2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVy
Q29jb2EubW0KaW5kZXggNmFkMjBiZThjYjU3OTIzYTBlNzg0MmUzNzAxZDMzYTZhYTAzYWI2Yy4u
MmM3Y2EyZTAzZDI5NmMwM2Q4MWQyY2RjMTUxNzE1OTNmMWU1MDhjZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJp
dmF0ZVdyaXRlckNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVj
b3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5tbQpAQCAtMjYsNyAr
MjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIk1lZGlhUmVjb3JkZXJQcml2
YXRlV3JpdGVyQ29jb2EuaCIKIAotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZB
U1NFVFdSSVRFUkRFTEVHQVRFKQorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRl
ICJBdWRpb1NhbXBsZUJ1ZmZlckNvbXByZXNzb3IuaCIKICNpbmNsdWRlICJBdWRpb1N0cmVhbURl
c2NyaXB0aW9uLmgiCkBAIC01ODIsNCArNTgyLDQgQEAgdW5zaWduZWQgTWVkaWFSZWNvcmRlclBy
aXZhdGVXcml0ZXI6OnZpZGVvQml0UmF0ZSgpIGNvbnN0CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdSSVRF
UkRFTEVHQVRFKQorI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL0Nvb2tpZUNvY29hLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9Db29raWVDb2NvYS5tbQppbmRleCAx
MGVjNzVhN2VlZTg3ODQxY2UwMTJiOWFmMTliNDY3MGIwYzE5MjAwLi4wZGM1OGE5OTA2ZWNhNzQ2
YzZiZjllNzRhODNlZmYyODRmZjUwOTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2NvY29hL0Nvb2tpZUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY29jb2EvQ29va2llQ29jb2EubW0KQEAgLTI5LDE2ICsyOSw2IEBACiAv
LyBGSVhNRTogUmVtb3ZlIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOL0VORCBhbmQgYWxsIF9OdWxs
YWJsZSBhbm5vdGF0aW9ucyBvbmNlIHdlIHJlbW92ZSB0aGUgTlNIVFRQQ29va2llIGZvcndhcmQg
ZGVjbGFyYXRpb24gYmVsb3cuCiBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogCi0jaWYgUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMDE1MDAKLXR5cGVk
ZWYgTlNTdHJpbmcgKiBOU0hUVFBDb29raWVTdHJpbmdQb2xpY3k7Ci1AaW50ZXJmYWNlIE5TSFRU
UENvb2tpZSAoU3RhZ2luZykKLUBwcm9wZXJ0eSAobnVsbGFibGUsIHJlYWRvbmx5LCBjb3B5KSBO
U0hUVFBDb29raWVTdHJpbmdQb2xpY3kgc2FtZVNpdGVQb2xpY3k7Ci1AZW5kCi0KLXN0YXRpYyBO
U1N0cmluZyAqIGNvbnN0IE5TSFRUUENvb2tpZVNhbWVTaXRlTGF4ID0gQCJsYXgiOwotc3RhdGlj
IE5TU3RyaW5nICogY29uc3QgTlNIVFRQQ29va2llU2FtZVNpdGVTdHJpY3QgPSBAInN0cmljdCI7
Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgVmVjdG9yPHVpbnQxNl90
PiBwb3J0VmVjdG9yRnJvbUxpc3QoTlNBcnJheTxOU051bWJlciAqPiAqcG9ydExpc3QpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtTdG9y
YWdlU2Vzc2lvbkNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2Nv
YS9OZXR3b3JrU3RvcmFnZVNlc3Npb25Db2NvYS5tbQppbmRleCA1MGM1MDA2ZjcyMjYzOGY1ZTUz
ZjdhYjhkNjBkZjUyY2E3NTI0MmJmLi44ZTRhMjg2MGVlODExOTA2ZWM4NjU1Y2E3MTkzOTI2M2Uz
OTMyY2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29h
L05ldHdvcmtTdG9yYWdlU2Vzc2lvbkNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvY29jb2EvTmV0d29ya1N0b3JhZ2VTZXNzaW9uQ29jb2EubW0KQEAgLTEyMiw3
ICsxMjIsNiBAQCB2b2lkIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6c2V0QWxsQ29va2llc1RvU2Ft
ZVNpdGVTdHJpY3QoY29uc3QgUmVnaXN0cmFibGVEb21haQogewogICAgIEFTU0VSVChoYXNQcm9j
ZXNzUHJpdmlsZWdlKFByb2Nlc3NQcml2aWxlZ2U6OkNhbkFjY2Vzc1Jhd0Nvb2tpZXMpKTsKIAot
I2lmIEhBVkUoQ0ZORVRXT1JLX1NBTUVTSVRFX0NPT0tJRV9BUEkpCiAgICAgUmV0YWluUHRyPE5T
TXV0YWJsZUFycmF5PE5TSFRUUENvb2tpZSAqPj4gb2xkQ29va2llc1RvRGVsZXRlID0gYWRvcHRO
UyhbW05TTXV0YWJsZUFycmF5IGFsbG9jXSBpbml0XSk7CiAgICAgUmV0YWluUHRyPE5TTXV0YWJs
ZUFycmF5PE5TSFRUUENvb2tpZSAqPj4gbmV3Q29va2llc1RvQWRkID0gYWRvcHROUyhbW05TTXV0
YWJsZUFycmF5IGFsbG9jXSBpbml0XSk7CiAKQEAgLTE0Myw5ICsxNDIsNyBAQCB2b2lkIE5ldHdv
cmtTdG9yYWdlU2Vzc2lvbjo6c2V0QWxsQ29va2llc1RvU2FtZVNpdGVTdHJpY3QoY29uc3QgUmVn
aXN0cmFibGVEb21haQogICAgIGZvciAoTlNIVFRQQ29va2llICpuZXdDb29raWUgaW4gbmV3Q29v
a2llc1RvQWRkLmdldCgpKQogICAgICAgICBbbnNDb29raWVTdG9yYWdlKCkgc2V0Q29va2llOm5l
d0Nvb2tpZV07CiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUwotI2Vsc2UKLSAgICBVTlVT
RURfUEFSQU0oZG9tYWluKTsKLSNlbmRpZgorCiAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuY3BwCmluZGV4IDg2ZGMzZmVjMWIyNDFmYWIxYzg0NTY3YjFmNzhiYzkwZjc3OGZh
ZmMuLjEwNmNkOTA0ZTY4MTcwOTBkZWVhNDFiNjQxY2I5MGE3ZmZkMmVhNTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5j
cHAKQEAgLTM0Nyw3ICszNDcsNyBAQCBib29sIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmFs
bG93c0V4aXRVbmRlck1lbW9yeVByZXNzdXJlKCkgY29uc3QKICAgICBpZiAoIW1fc2FtcGxlQnVm
ZmVyRGlzcGxheUxheWVyTWFuYWdlci0+YWxsb3dzRXhpdFVuZGVyTWVtb3J5UHJlc3N1cmUoKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVO
QUJMRShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2lmIFBM
QVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIGlmIChtX3JlbW90ZU1l
ZGlhUmVjb3JkZXJNYW5hZ2VyICYmICFtX3JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLT5hbGxv
d3NFeGl0VW5kZXJNZW1vcnlQcmVzc3VyZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAjZW5k
aWYKQEAgLTQzMSw3ICs0MzEsNyBAQCBSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJl
ckludGVybmFsVW5pdE1hbmFnZXImIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2NlcwogfQogI2VuZGlm
CiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShB
VkFTU0VUV1JJVEVSREVMRUdBVEUpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShNRURJ
QV9TVFJFQU0pCiBSZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlciYgR1BVQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzczo6bWVkaWFSZWNvcmRlck1hbmFnZXIoKQogewogICAgIGlmICghbV9yZW1vdGVNZWRp
YVJlY29yZGVyTWFuYWdlcikKQEAgLTY1NSw3ICs2NTUsNyBAQCBib29sIEdQVUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3M6OmRpc3BhdGNoTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24s
IElQQwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAjZW5kaWYKLSNpZiBQTEFURk9STShD
T0NPQSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdB
VEUpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgaWYg
KGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVJl
Y29yZGVyTWFuYWdlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CiAgICAgICAgIG1lZGlhUmVj
b3JkZXJNYW5hZ2VyKCkuZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tV2ViUHJvY2Vzcyhjb25uZWN0aW9u
LCBkZWNvZGVyKTsKICAgICAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAppbmRleCBiODgyYWEwOTA3
Mzc3NmRjOGI4ZGY2OTdkZjAyMTBjYjU4OWFlZDNiLi4wNWE1MDVmZWUzMjkzNzhiMTMwYTljOTk3
MzI2MDZiZTIwYjQ4N2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BV
Q29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKQEAgLTE3NCw3ICsxNzQsNyBAQCBwcml2YXRlOgog
ICAgIFVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkmIHVzZXJNZWRpYUNhcHR1cmVNYW5hZ2Vy
UHJveHkoKTsKICAgICBSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckludGVybmFs
VW5pdE1hbmFnZXImIGF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVySW50ZXJuYWxVbml0TWFu
YWdlcigpOwogI2VuZGlmCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShNRURJQV9TVFJF
QU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2lmIFBMQVRGT1JNKENPQ09BKSAm
JiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIFJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyJiBt
ZWRpYVJlY29yZGVyTWFuYWdlcigpOwogI2VuZGlmCiAKQEAgLTI1Niw3ICsyNTYsNyBAQCBwcml2
YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5k
ZXJlckludGVybmFsVW5pdE1hbmFnZXI+IG1fYXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJJ
bnRlcm5hbFVuaXRNYW5hZ2VyOwogICAgIFJlZjxSZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5
ZXJNYW5hZ2VyPiBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXI7CiAjZW5kaWYKLSNp
ZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VU
V1JJVEVSREVMRUdBVEUpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShNRURJQV9TVFJF
QU0pCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyPiBtX3Jl
bW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyOwogI2VuZGlmCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldl
YktpdC5HUFVQcm9jZXNzLnNiLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21hYy9jb20u
YXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4KaW5kZXggNWNkYThlZjA3YmJiNjFmNjY3NDU2
ZDQxNTQ4ZjhiZjJjOWNlMjRlNi4uODA2Mzk4NDIzZTE1Yjg3YjM5MWEyNGE1ODZkMzYwYjViNTRh
YTU5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21hYy9jb20uYXBwbGUu
V2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21h
Yy9jb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4KQEAgLTExOCwxMCArMTE4LDggQEAK
ICAgICA7OyBDVk1TCiAgICAgKGFsbG93IG1hY2gtbG9va3VwICh3aXRoIHRlbGVtZXRyeSkKICAg
ICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuY3Ztc1NlcnYiKSkKLSNpZiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkK
ICAgICAoYWxsb3cgZmlsZS1yZWFkKiAod2l0aCB0ZWxlbWV0cnkpCiAgICAgICAgIChwcmVmaXgg
Ii9wcml2YXRlL3Zhci9kYi9DVk1TL2N2bXNDb2RlU2lnbk9iaiIpKQotI2VuZGlmCiAgICAgOzsg
T3BlbkNMCiAgICAgKGFsbG93IGlva2l0LW9wZW4gKHdpdGggdGVsZW1ldHJ5KQogICAgICAgICAo
aW9raXQtY29ubmVjdGlvbiAiSU9BY2NlbGVyYXRvciIpCkBAIC00MjcsNyArNDI1LDYgQEAKICAg
ICAoaW9raXQtcHJvcGVydHkgInNhdmVkLWNvbmZpZyIpCiAgICAgKGlva2l0LXByb3BlcnR5ICJz
dGFydHVwLXRpbWluZyIpCiAgICAgKGlva2l0LXByb3BlcnR5ICJ0b3VjaC1zaXplLWlkIikKLSNp
ZiAhUExBVEZPUk0oTUFDKSB8fCBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTQwMAogICAgIChpb2tpdC1wcm9wZXJ0eSAiQVRZLGNiaXRzIikKICAgICAoaW9raXQtcHJvcGVy
dHkgIkFUWSxpbnRyZXYiKQogICAgIChpb2tpdC1wcm9wZXJ0eSAiQWNjZWxOYXRpdmVETUFSb3dC
eXRlQWxpZ25tZW50IikKQEAgLTQ0NSw3ICs0NDIsNiBAQAogICAgIChpb2tpdC1wcm9wZXJ0eSAi
VGVsZW1ldHJ5RGlzYWJsZSIpCiAgICAgKGlva2l0LXByb3BlcnR5ICJjYWlsX3Byb3BlcnRpZXMi
KQogICAgIChpb2tpdC1wcm9wZXJ0eSAiZHBtIikKLSNlbmRpZgogICAgIChpb2tpdC1wcm9wZXJ0
eSAiSU9HVkFIMjY0RW5jb2RlQ2FwYWJpbGl0aWVzIikgOzsgPHJkYXI6Ly9wcm9ibGVtLzQ5NDk4
MDQwPgogI2lmICFQTEFURk9STShNQUMpIHx8IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPiAxMDE1MDAKICAgICAoaW9raXQtcHJvcGVydHkgIklPQVZESEVWQ0RlY29kZUNhcGFiaWxp
dGllcyIpIDs7IDxyZGFyOi8vcHJvYmxlbS83MTEwMDE4OD4KQEAgLTY5MCwxMSArNjg2LDcgQEAK
IDs7IFZhcmlvdXMgc2VydmljZXMgcmVxdWlyZWQgYnkgQXBwS2l0IGFuZCBvdGhlciBmcmFtZXdv
cmtzCiAoYWxsb3cgbWFjaC1sb29rdXAKICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5h
dWRpby5hdWRpb2hhbGQiKQotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxNDAwIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgICAgIChnbG9iYWwtbmFtZSAiY29t
LmFwcGxlLkNBUmVuZGVyU2VydmVyIikgOyBOZWVkZWQgZm9yIFtDQUNvbnRleHQgcmVtb3RlQ29u
dGV4dFdpdGhPcHRpb25zXQotI2Vsc2UKLSAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS53
aW5kb3dzZXJ2ZXIuYWN0aXZlIikKLSNlbmRpZgogI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPCAxMjAwMDAKICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5sc2QubWFw
ZGIiKQogI2VuZGlmCkBAIC03MDQsOSArNjk2LDYgQEAKICAgICAgICAoZ2xvYmFsLW5hbWUgImNv
bS5hcHBsZS5sb2dkLmV2ZW50cyIpKQogCiAoYWxsb3cgbWFjaC1sb29rdXAgKHdpdGggdGVsZW1l
dHJ5KQotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE0MDAKLSAgICAg
ICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5Gb250T2JqZWN0c1NlcnZlciIpCi0jZW5kaWYKICAg
ICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5TeXN0ZW1Db25maWd1cmF0aW9uLmNvbmZpZ2Qi
KQogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmFzc2VydGlvbmQucHJvY2Vzc2Fzc2Vy
dGlvbmNvbm5lY3Rpb24iKQogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmF1ZGlvLnRv
b2xib3gucmVwb3J0aW5nLnNlcnZpY2UiKQpAQCAtNzIyLDE4ICs3MTEsMTQgQEAKICAgICAgICAo
Z2xvYmFsLW5hbWUgImNvbS5hcHBsZS50Y2NkLnN5c3RlbSIpCiApCiAKLSNpZiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkK
IDs7IDxyZGFyOi8vcHJvYmxlbS80NzI2ODE2Nj4KIChhbGxvdyBtYWNoLWxvb2t1cCAod2l0aCB0
ZWxlbWV0cnkpICh4cGMtc2VydmljZS1uYW1lICJjb20uYXBwbGUuTVRMQ29tcGlsZXJTZXJ2aWNl
IikpCi0jZW5kaWYKIAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAx
NDAwIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogKGRlbnkgbWFjaC1sb29rdXAgKHdpdGggbm8t
bG9nKQogICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLkNvcmVTZXJ2aWNlcy5jb3Jlc2Vydmlj
ZXNkIikKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5EaXNrQXJiaXRyYXRpb24uZGlza2Fy
Yml0cmF0aW9uZCIpCiAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuVmlld0JyaWRnZUF1eGls
aWFyeSIpCiAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUud2luZG93c2VydmVyLmFjdGl2ZSIp
KQotI2VuZGlmCiAKIDs7IE5lZWRlZCB0byBzdXBwb3J0IGVuY3J5cHRlZCBtZWRpYSBwbGF5YmFj
ayA8cmRhcjovL3Byb2JsZW0vNDAwMzg0Nzg+CiAoYWxsb3cgbWFjaC1sb29rdXAgKHdpdGggdGVs
ZW1ldHJ5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1v
dGVNZWRpYVJlY29yZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVt
b3RlTWVkaWFSZWNvcmRlci5jcHAKaW5kZXggOGMxMjU0OWYxNDMyODlmZjFmMmRiYjM2NDU4N2My
ZjY4ZWFjYTZiYi4uN2U1NzJiM2E3NGEyMDI3ZTc0Y2FhNzY3MmU1MmRhMGFmODM0MjA3MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29y
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlh
UmVjb3JkZXIuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiUmVtb3RlTWVkaWFSZWNvcmRlci5oIgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVO
QUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VU
V1JJVEVSREVMRUdBVEUpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VT
UykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNp
bmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCkBAIC0xMzQsNCArMTM0LDQgQEAg
dm9pZCBSZW1vdGVNZWRpYVJlY29yZGVyOjpyZXN1bWUoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQogCiAjdW5kZWYgTUVTU0FHRV9DSEVDSwogCi0jZW5kaWYg
Ly8gUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElB
X1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjZW5kaWYgLy8gUExBVEZP
Uk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFS
ZWNvcmRlci5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJl
Y29yZGVyLmgKaW5kZXggMWIwMDAzZDQwZTgxNGQwMDQ0YjhjYzRmNThhNTYxNzU5MzU1MzVhYS4u
Y2I2OTQ2YzgyNTg4OWQ3OThhMTc5YzAwZWY3OGE0NzFjZGIxOGVjNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmgKKysrIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmgKQEAg
LTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYg
RU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNT
RVRXUklURVJERUxFR0FURSkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9D
RVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5o
IgogI2luY2x1ZGUgIk1lZGlhUmVjb3JkZXJJZGVudGlmaWVyLmgiCkBAIC04OSw0ICs4OSw0IEBA
IHByaXZhdGU6CiAKIH0KIAotI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BV
X1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRF
TEVHQVRFKQorI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1Mp
ICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIubWVzc2FnZXMuaW4KaW5k
ZXggYWQ1ZWI5NGExYTdhZmYxNjI1YjkyYTJhZDI4MGVjNTc5MDk4MjNhYi4uOWY1NWM3N2I2ZDlm
M2E3ODQwYWQwZjYxYjAyMWQzZDQ1NzkxZmZmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLm1lc3NhZ2VzLmluCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5tZXNzYWdl
cy5pbgpAQCAtMjEsNyArMjEsNyBAQAogIyBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCiAjIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KIAotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BS
T0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVH
QVRFKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJM
RShNRURJQV9TVFJFQU0pCiAKIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhUmVjb3JkZXIgTm90UmVm
Q291bnRlZCB7CiAgICAgQXVkaW9TYW1wbGVzU3RvcmFnZUNoYW5nZWQoV2ViS2l0OjpTaGFyZWRN
ZW1vcnk6OklQQ0hhbmRsZSBzdG9yYWdlSGFuZGxlLCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVz
Y3JpcHRpb24gZGVzY3JpcHRpb24sIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFu
YWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVj
b3JkZXJNYW5hZ2VyLmNwcAppbmRleCBmMGJmYzhmYTVkMzMwMGY0ZDAyMjg0NTI2NWM5YTNkMmFj
ZjJlNjM2Li5kMGRiZDc5NjcxMDYzOTBjZTRlMzJhMzAwYjQ5NTVjNDMxNGZiNzlmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJN
YW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1l
ZGlhUmVjb3JkZXJNYW5hZ2VyLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLmgiCiAKLSNpZiBQTEFU
Rk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFN
KSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYg
RU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiAjaW5jbHVkZSAi
RGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkRlY29kZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIuaCBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFn
ZXIuaAppbmRleCAyZjI5ZmVmMmFmMmQzYzM2MTA5NmIzM2Y5ZjA5ZWUwNzc4NzMwZGU4Li41M2Y5
YWRjZGQ0Y2RiYjM2MmY0OGJmZDk3YjhiYjQwY2FlZTc0MTk3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLmgKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFu
YWdlci5oCkBAIC0xLDUgKzEsMyBAQAotCi0KIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKQEAgLTI3LDcgKzI1LDcgQEAKIAogI3By
YWdtYSBvbmNlCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAm
JiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNp
ZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFf
U1RSRUFNKQogCiAjaW5jbHVkZSAiTWVkaWFSZWNvcmRlcklkZW50aWZpZXIuaCIKICNpbmNsdWRl
ICJNZXNzYWdlUmVjZWl2ZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLm1lc3Nh
Z2VzLmluCmluZGV4IGI0M2IzZjQ0ZWYyMTFlN2U3ZGViMmU0NGE4NzRlZWIyNmFhYWFjODYuLjgy
OGI4YWE2OGU5MGE5YjI1ZTFlODcwZjZjOTBhOGZkN2M1YTcwNzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRp
YVJlY29yZGVyTWFuYWdlci5tZXNzYWdlcy5pbgpAQCAtMjEsNyArMjEsNyBAQAogIyBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCiAjIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAotI2lmIFBMQVRGT1JN
KENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pICYm
IEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFC
TEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKIG1lc3NhZ2VzIC0+IFJl
bW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyIE5vdFJlZkNvdW50ZWQgewogICAgIENyZWF0ZVJlY29y
ZGVyKFdlYktpdDo6TWVkaWFSZWNvcmRlcklkZW50aWZpZXIgaWQsIGJvb2wgaGFzQXVkaW8sIGJv
b2wgaGFzVmlkZW8sIHN0cnVjdCBXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJpdmF0ZU9wdGlvbnMg
b3B0aW9ucykgLT4gKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6RXhjZXB0aW9uRGF0YT4gY3JlYXRp
b25FcnJvciwgU3RyaW5nIG1pbWVUeXBlLCB1bnNpZ25lZCBhdWRpb0JpdFJhdGUsIHVuc2lnbmVk
IHZpZGVvQml0UmF0ZSkgQXN5bmMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCmluZGV4IDVjMTI1MWFmNDE2
YzM2YTIxYTcxYmM4NGYxOGQwNGM5NTFhNjc5OWYuLmVmMDQ2MDE5M2VmMWI0OGI3ZmI3YWQ3MWJh
NzBiZDMyZDk1NjU1ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQpAQCAtMTMwLDEzICsxMzAsNyBA
QCBOU0hUVFBDb29raWVTdG9yYWdlICpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6c3RhdGVsZXNzQ29v
a2llU3RvcmFnZSgpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFJldGFpblB0cjxOU0hU
VFBDb29raWVTdG9yYWdlPj4gc3RhdGVsZXNzQ29va2llU3RvcmFnZTsKICAgICBpZiAoIXN0YXRl
bGVzc0Nvb2tpZVN0b3JhZ2UuZ2V0KCkpIHsKLSNpZiBIQVZFKE5TSFRUUENPT0tJRVNUT1JBR0Vf
X0lOSVRXSVRISURFTlRJRklFUl9XSVRIX0lOQUNDVVJBVEVfTlVMTEFCSUxJVFkpCi0gICAgICAg
IElHTk9SRV9OVUxMX0NIRUNLX1dBUk5JTkdTX0JFR0lOCi0jZW5kaWYKICAgICAgICAgc3RhdGVs
ZXNzQ29va2llU3RvcmFnZS5nZXQoKSA9IGFkb3B0TlMoW1tOU0hUVFBDb29raWVTdG9yYWdlIGFs
bG9jXSBfaW5pdFdpdGhJZGVudGlmaWVyOm5pbCBwcml2YXRlOllFU10pOwotI2lmIEhBVkUoTlNI
VFRQQ09PS0lFU1RPUkFHRV9fSU5JVFdJVEhJREVOVElGSUVSX1dJVEhfSU5BQ0NVUkFURV9OVUxM
QUJJTElUWSkKLSAgICAgICAgSUdOT1JFX05VTExfQ0hFQ0tfV0FSTklOR1NfRU5ECi0jZW5kaWYK
ICAgICAgICAgc3RhdGVsZXNzQ29va2llU3RvcmFnZS5nZXQoKS5nZXQoKS5jb29raWVBY2NlcHRQ
b2xpY3kgPSBOU0hUVFBDb29raWVBY2NlcHRQb2xpY3lOZXZlcjsKICAgICB9CiAgICAgQVNTRVJU
KHN0YXRlbGVzc0Nvb2tpZVN0b3JhZ2UuZ2V0KCkuZ2V0KCkuY29va2llcy5jb3VudCA9PSAwKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nl
c3Npb25Db2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29y
a1Nlc3Npb25Db2NvYS5tbQppbmRleCAyOTMwYjU5NGNhYjM3ODhkNDA4NGI4N2QzMDQ3OTBiNzk5
Y2FkODEzLi41YmNiOThhNmQ4ODhlY2VlYmViMWUyNDVjNjg3YzZjYTU3MmI2YTIwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29j
b2EubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vz
c2lvbkNvY29hLm1tCkBAIC0xNTcsNyArMTU3LDYgQEAgc3RhdGljIFdlYkNvcmU6OlByaXZhY3lT
dGFuY2UgdG9Qcml2YWN5U3RhbmNlKG53X2Nvbm5lY3Rpb25fcHJpdmFjeV9zdGFuY2VfdCBzdGEK
IH0KICNlbmRpZgogCi0jaWYgSEFWRShDRk5FVFdPUktfTkVHT1RJQVRFRF9TU0xfUFJPVE9DT0xf
Q0lQSEVSKQogI2lmIEhBVkUoQ0ZORVRXT1JLX01FVFJJQ1NfQVBJU19WNCkKIHN0YXRpYyBTdHJp
bmcgc3RyaW5nRm9yVExTUHJvdG9jb2xWZXJzaW9uKHRsc19wcm90b2NvbF92ZXJzaW9uX3QgcHJv
dG9jb2wpCiB7CkBAIC00MzcsNyArNDM2LDYgQEAgc3RhdGljIFN0cmluZyBzdHJpbmdGb3JTU0xD
aXBoZXIoU1NMQ2lwaGVyU3VpdGUgY2lwaGVyKQogI3VuZGVmIFNUUklOR0lGWV9DSVBIRVIKIH0K
ICNlbmRpZiAvLyBIQVZFKENGTkVUV09SS19NRVRSSUNTX0FQSVNfVjQpCi0jZW5kaWYgLy8gSEFW
RShDRk5FVFdPUktfTkVHT1RJQVRFRF9TU0xfUFJPVE9DT0xfQ0lQSEVSKQogCiBAaW50ZXJmYWNl
IFdLTmV0d29ya1Nlc3Npb25EZWxlZ2F0ZSA6IE5TT2JqZWN0IDxOU1VSTFNlc3Npb25EYXRhRGVs
ZWdhdGUKICNpZiBIQVZFKE5TVVJMU0VTU0lPTl9XRUJTT0NLRVQpCkBAIC03MjUsMTQgKzcyMywx
MyBAQCAtICh2b2lkKVVSTFNlc3Npb246KE5TVVJMU2Vzc2lvbiAqKXNlc3Npb24gdGFzazooTlNV
UkxTZXNzaW9uVGFzayAqKXRhc2sgZGlkUmVjZQogICAgICAgICBpZiAoTmV0d29ya1Nlc3Npb25D
b2NvYTo6YWxsb3dzU3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjaGFsbGVuZ2UpKQog
ICAgICAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKE5TVVJMU2Vzc2lvbkF1dGhDaGFs
bGVuZ2VVc2VDcmVkZW50aWFsLCBbTlNVUkxDcmVkZW50aWFsIGNyZWRlbnRpYWxGb3JUcnVzdDpj
aGFsbGVuZ2UucHJvdGVjdGlvblNwYWNlLnNlcnZlclRydXN0XSk7CiAKLSNpZiBIQVZFKFRMU19Q
Uk9UT0NPTF9WRVJTSU9OX1QpCiAgICAgICAgIE5TVVJMU2Vzc2lvblRhc2tUcmFuc2FjdGlvbk1l
dHJpY3MgKm1ldHJpY3MgPSB0YXNrLl9pbmNvbXBsZXRlVGFza01ldHJpY3MudHJhbnNhY3Rpb25N
ZXRyaWNzLmxhc3RPYmplY3Q7CiAgICAgICAgIGF1dG8gdGxzVmVyc2lvbiA9ICh0bHNfcHJvdG9j
b2xfdmVyc2lvbl90KW1ldHJpY3MubmVnb3RpYXRlZFRMU1Byb3RvY29sVmVyc2lvbi51bnNpZ25l
ZFNob3J0VmFsdWU7CiBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgogICAgICAg
ICBpZiAodGxzVmVyc2lvbiA9PSB0bHNfcHJvdG9jb2xfdmVyc2lvbl9UTFN2MTAgfHwgdGxzVmVy
c2lvbiA9PSB0bHNfcHJvdG9jb2xfdmVyc2lvbl9UTFN2MTEpCiAgICAgICAgICAgICBuZWdvdGlh
dGVkTGVnYWN5VExTID0gTmVnb3RpYXRlZExlZ2FjeVRMUzo6WWVzOwogQUxMT1dfREVQUkVDQVRF
RF9ERUNMQVJBVElPTlNfRU5ECi0jZW5kaWYKKwogICAgICAgICBBTExPV19ERVBSRUNBVEVEX0RF
Q0xBUkFUSU9OU19CRUdJTgogICAgICAgICBpZiAobmVnb3RpYXRlZExlZ2FjeVRMUyA9PSBOZWdv
dGlhdGVkTGVnYWN5VExTOjpObyAmJiBbdGFzayByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9y
KF9UTFNOZWdvdGlhdGVkUHJvdG9jb2xWZXJzaW9uKV0pIHsKICAgICAgICAgICAgIFNTTFByb3Rv
Y29sIHRsc1ZlcnNpb24gPSBbdGFzayBfVExTTmVnb3RpYXRlZFByb3RvY29sVmVyc2lvbl07CkBA
IC04NDksMTIgKzg0NiwxMCBAQCAtICh2b2lkKVVSTFNlc3Npb246KE5TVVJMU2Vzc2lvbiAqKXNl
c3Npb24gdGFzazooTlNVUkxTZXNzaW9uVGFzayAqKXRhc2sgZGlkRmluaQogICAgICAgICBuZXR3
b3JrTG9hZE1ldHJpY3MubWFya0NvbXBsZXRlKCk7CiAgICAgICAgIG5ldHdvcmtMb2FkTWV0cmlj
cy5yZWRpcmVjdENvdW50ID0gbWV0cmljcy5yZWRpcmVjdENvdW50OwogICAgICAgICBuZXR3b3Jr
TG9hZE1ldHJpY3MucHJvdG9jb2wgPSBTdHJpbmcobS5uZXR3b3JrUHJvdG9jb2xOYW1lKTsKLSNp
ZiBIQVZFKENGTkVUV09SS19NRVRSSUNTX0NPTk5FQ1RJT05fUFJPUEVSVElFUykKICAgICAgICAg
bmV0d29ya0xvYWRNZXRyaWNzLmNlbGx1bGFyID0gbS5jZWxsdWxhcjsKICAgICAgICAgbmV0d29y
a0xvYWRNZXRyaWNzLmV4cGVuc2l2ZSA9IG0uZXhwZW5zaXZlOwogICAgICAgICBuZXR3b3JrTG9h
ZE1ldHJpY3MuY29uc3RyYWluZWQgPSBtLmNvbnN0cmFpbmVkOwogICAgICAgICBuZXR3b3JrTG9h
ZE1ldHJpY3MubXVsdGlwYXRoID0gbS5tdWx0aXBhdGg7Ci0jZW5kaWYKICAgICAgICAgbmV0d29y
a0xvYWRNZXRyaWNzLmlzUmV1c2VkQ29ubmVjdGlvbiA9IG0uaXNSZXVzZWRDb25uZWN0aW9uOwog
CiAjaWYgSEFWRShORVRXT1JLX0NPTk5FQ1RJT05fUFJJVkFDWV9TVEFOQ0UpCkBAIC04NzcsNyAr
ODcyLDYgQEAgLSAodm9pZClVUkxTZXNzaW9uOihOU1VSTFNlc3Npb24gKilzZXNzaW9uIHRhc2s6
KE5TVVJMU2Vzc2lvblRhc2sgKil0YXNrIGRpZEZpbmkKICNlbmRpZgogICAgICAgICAgICAgYWRk
aXRpb25hbE1ldHJpY3MtPmNvbm5lY3Rpb25JZGVudGlmaWVyID0gU3RyaW5nKFttLl9jb25uZWN0
aW9uSWRlbnRpZmllciBVVUlEU3RyaW5nXSk7CiAKLSNpZiBIQVZFKENGTkVUV09SS19ORUdPVElB
VEVEX1NTTF9QUk9UT0NPTF9DSVBIRVIpCiAjaWYgSEFWRShDRk5FVFdPUktfTUVUUklDU19BUElT
X1Y0KQogICAgICAgICAgICAgYWRkaXRpb25hbE1ldHJpY3MtPnRsc1Byb3RvY29sID0gc3RyaW5n
Rm9yVExTUHJvdG9jb2xWZXJzaW9uKCh0bHNfcHJvdG9jb2xfdmVyc2lvbl90KVttLm5lZ290aWF0
ZWRUTFNQcm90b2NvbFZlcnNpb24gdW5zaWduZWRTaG9ydFZhbHVlXSk7CiAgICAgICAgICAgICBh
ZGRpdGlvbmFsTWV0cmljcy0+dGxzQ2lwaGVyID0gc3RyaW5nRm9yVExTQ2lwaGVyU3VpdGUoKHRs
c19jaXBoZXJzdWl0ZV90KVttLm5lZ290aWF0ZWRUTFNDaXBoZXJTdWl0ZSB1bnNpZ25lZFNob3J0
VmFsdWVdKTsKQEAgLTg4Niw3ICs4ODAsNiBAQCAtICh2b2lkKVVSTFNlc3Npb246KE5TVVJMU2Vz
c2lvbiAqKXNlc3Npb24gdGFzazooTlNVUkxTZXNzaW9uVGFzayAqKXRhc2sgZGlkRmluaQogICAg
ICAgICAgICAgYWRkaXRpb25hbE1ldHJpY3MtPnRsc1Byb3RvY29sID0gc3RyaW5nRm9yU1NMUHJv
dG9jb2wobS5fbmVnb3RpYXRlZFRMU1Byb3RvY29sKTsKICAgICAgICAgICAgIGFkZGl0aW9uYWxN
ZXRyaWNzLT50bHNDaXBoZXIgPSBzdHJpbmdGb3JTU0xDaXBoZXIobS5fbmVnb3RpYXRlZFRMU0Np
cGhlcik7CiAgICAgICAgICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKLSNl
bmRpZgogI2VuZGlmCiAKICAgICAgICAgICAgIF9fYmxvY2sgV2ViQ29yZTo6SFRUUEhlYWRlck1h
cCByZXF1ZXN0SGVhZGVyczsKQEAgLTk0MCwyMiArOTMzLDEzIEBAIC0gKHZvaWQpVVJMU2Vzc2lv
bjooTlNVUkxTZXNzaW9uICopc2Vzc2lvbiBkYXRhVGFzazooTlNVUkxTZXNzaW9uRGF0YVRhc2sg
KilkYXRhCiAKICAgICAgICAgTmVnb3RpYXRlZExlZ2FjeVRMUyBuZWdvdGlhdGVkTGVnYWN5VExT
ID0gTmVnb3RpYXRlZExlZ2FjeVRMUzo6Tm87CiAgICAgICAgIE5TVVJMU2Vzc2lvblRhc2tNZXRy
aWNzICp0YXNrTWV0cmljcyA9IGRhdGFUYXNrLl9pbmNvbXBsZXRlVGFza01ldHJpY3M7Ci0jaWYg
SEFWRShUTFNfUFJPVE9DT0xfVkVSU0lPTl9UKQorCiAgICAgICAgIE5TVVJMU2Vzc2lvblRhc2tU
cmFuc2FjdGlvbk1ldHJpY3MgKm1ldHJpY3MgPSB0YXNrTWV0cmljcy50cmFuc2FjdGlvbk1ldHJp
Y3MubGFzdE9iamVjdDsKICAgICAgICAgYXV0byB0bHNWZXJzaW9uID0gKHRsc19wcm90b2NvbF92
ZXJzaW9uX3QpbWV0cmljcy5uZWdvdGlhdGVkVExTUHJvdG9jb2xWZXJzaW9uLnVuc2lnbmVkU2hv
cnRWYWx1ZTsKIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCiAgICAgICAgIGlm
ICh0bHNWZXJzaW9uID09IHRsc19wcm90b2NvbF92ZXJzaW9uX1RMU3YxMCB8fCB0bHNWZXJzaW9u
ID09IHRsc19wcm90b2NvbF92ZXJzaW9uX1RMU3YxMSkKICAgICAgICAgICAgIG5lZ290aWF0ZWRM
ZWdhY3lUTFMgPSBOZWdvdGlhdGVkTGVnYWN5VExTOjpZZXM7CiBBTExPV19ERVBSRUNBVEVEX0RF
Q0xBUkFUSU9OU19FTkQKLSNlbHNlIC8vIFdlIGRvIG5vdCBuZWVkIHRvIGNoZWNrIF9UTFNOZWdv
dGlhdGVkUHJvdG9jb2xWZXJzaW9uIGlmIHdlIGhhdmUgbWV0cmljcy5uZWdvdGlhdGVkVExTUHJv
dG9jb2xWZXJzaW9uIGJlY2F1c2UgaXQgd29ya3MgYXQgcmVzcG9uc2UgdGltZSBldmVuIGJlZm9y
ZSByZGFyOi8vcHJvYmxlbS81NjUyMjYwMQotICAgICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xB
UkFUSU9OU19CRUdJTgotICAgICAgICBpZiAoW2RhdGFUYXNrIHJlc3BvbmRzVG9TZWxlY3RvcjpA
c2VsZWN0b3IoX1RMU05lZ290aWF0ZWRQcm90b2NvbFZlcnNpb24pXSkgewotICAgICAgICAgICAg
U1NMUHJvdG9jb2wgdGxzVmVyc2lvbiA9IFtkYXRhVGFzayBfVExTTmVnb3RpYXRlZFByb3RvY29s
VmVyc2lvbl07Ci0gICAgICAgICAgICBpZiAodGxzVmVyc2lvbiA9PSBrVExTUHJvdG9jb2wxMSB8
fCB0bHNWZXJzaW9uID09IGtUTFNQcm90b2NvbDEpCi0gICAgICAgICAgICAgICAgbmVnb3RpYXRl
ZExlZ2FjeVRMUyA9IE5lZ290aWF0ZWRMZWdhY3lUTFM6OlllczsKLSAgICAgICAgfQotICAgICAg
ICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKLSNlbmRpZgogICAgICAgICAKICAg
ICAgICAgLy8gQXZvaWQgTUlNRSB0eXBlIHNuaWZmaW5nIGlmIHRoZSByZXNwb25zZSBjb21lcyBi
YWNrIGFzIDMwNCBOb3QgTW9kaWZpZWQuCiAgICAgICAgIGludCBzdGF0dXNDb2RlID0gW3Jlc3Bv
bnNlIGlzS2luZE9mQ2xhc3M6TlNIVFRQVVJMUmVzcG9uc2UuY2xhc3NdID8gWyhOU0hUVFBVUkxS
ZXNwb25zZSAqKXJlc3BvbnNlIHN0YXR1c0NvZGVdIDogMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Mu
c2IuaW4gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0
Lk5ldHdvcmtQcm9jZXNzLnNiLmluCmluZGV4IDkwMzliYzg3MDFjZWEyYWExZDA5ODA5M2NjNWNk
MTNhY2I5Y2Y3MDQuLjE3NDQxYzczZjRlNTJlNDcyYTI1ZGFjYmMxOGQxNzAxMDhkNDhiODkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJL
aXQuTmV0d29ya1Byb2Nlc3Muc2IuaW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9tYWMvY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYi5pbgpAQCAtMzgsNyArMzgs
NyBAQAogCiAjaW5jbHVkZSAiU2hhcmVkL1NhbmRib3gvcHJlZmVyZW5jZXMuc2IiCiAKLSNpZiBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMAorI2lmIFBMQVRGT1JNKE1B
QykKIDs7OwogOzs7IFRoZSBmb2xsb3dpbmcgcnVsZXMgd2VyZSBvcmlnaW5hbGx5IGNvbnRhaW5l
ZCBpbiAnY29tbW9uLnNiJy4gV2UgYXJlIGR1cGxpY2F0aW5nIHRoZW0gaGVyZSBzbyB3ZSBjYW4K
IDs7OyByZW1vdmUgdW5uZWVkZWQgc2FuZGJveCBleHRlbnNpb25zLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5t
bSBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25QcmVz
ZW50ZXIubW0KaW5kZXggNTJiOTYwZGNkYjNiYmYzNDQ1MzYxYmVjMmZiODRjYzBmY2EwZjY5OS4u
ZDdlNGMzZThhMDY5NzVlYjc5ODQ4Mzc4Y2Q2YjRhOTk4OTY2ZjRlMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1BheW1lbnRBdXRob3JpemF0aW9u
UHJlc2VudGVyLm1tCkBAIC0yMjUsOSArMjI1LDkgQEAgdm9pZCBQYXltZW50QXV0aG9yaXphdGlv
blByZXNlbnRlcjo6Y29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWwK
ICAgICBbcGF5bWVudE1ldGhvZFVwZGF0ZSBzZXRFcnJvcnM6dG9OU0Vycm9ycyhXVEZNb3ZlKHVw
ZGF0ZS0+ZXJyb3JzKSkuZ2V0KCldOwogICAgIFtwYXltZW50TWV0aG9kVXBkYXRlIHNldFNoaXBw
aW5nTWV0aG9kczp0b1BLU2hpcHBpbmdNZXRob2RzKFdURk1vdmUodXBkYXRlLT5uZXdTaGlwcGlu
Z01ldGhvZHMpKS5nZXQoKV07CiAjZW5kaWYKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRT
KSAmJiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UUykKKyNpZiBFTkFCTEUoQVBQTEVfUEFZ
X0lOU1RBTExNRU5UUykKICAgICBbcGF5bWVudE1ldGhvZFVwZGF0ZSBzZXRJbnN0YWxsbWVudEdy
b3VwSWRlbnRpZmllcjpXVEZNb3ZlKHVwZGF0ZS0+aW5zdGFsbG1lbnRHcm91cElkZW50aWZpZXIp
XTsKLSNlbmRpZiAvLyBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKSAmJiBFTkFCTEUoQVBQTEVf
UEFZX0lOU1RBTExNRU5UUykKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5U
UykKICAgICBtZXJnZShwYXltZW50TWV0aG9kVXBkYXRlLmdldCgpLCAqdXBkYXRlKTsKICAgICBb
cGxhdGZvcm1EZWxlZ2F0ZSgpIGNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbjpwYXltZW50
TWV0aG9kVXBkYXRlLmdldCgpXTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vc3BpL21hYy9BcHBLaXRTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL21hYy9B
cHBLaXRTUEkuaAppbmRleCBjYTFiYTZjZDY2YTlhZjEwNDM5NGI5ZGRkNzEyOGRmODJiMTAzZmZl
Li5iMmIyYTY5ODM4OTAzMDkyYzhmYjhkZmI2ODExM2IwMmY0NDk5NzZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9tYWMvQXBwS2l0U1BJLmgKKysrIGIvU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9zcGkvbWFjL0FwcEtpdFNQSS5oCkBAIC02MCwxMCArNjAsNyBAQCB0eXBl
ZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgTlNXaW5kb3dTaGFkb3dPcHRpb25zKSB7CiAtICh2
b2lkKXNldEluc3BlY3RvckJhcjooTlNJbnNwZWN0b3JCYXIgKiliYXI7CiAKIEBwcm9wZXJ0eSAo
cmVhZG9ubHkpIE5TV2luZG93U2hhZG93T3B0aW9ucyBzaGFkb3dPcHRpb25zOwotCi0jaWYgX19N
QUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTQwMAogQHByb3BlcnR5IENHRmxvYXQg
dGl0bGViYXJBbHBoYVZhbHVlOwotI2VuZGlmCiAKICNpZiBIQVZFKE5TU0NST0xMVklFV19TRVBB
UkFUT1JfVFJBQ0tJTkdfQURBUFRFUikKIC0gKEJPT0wpcmVnaXN0ZXJTY3JvbGxWaWV3U2VwYXJh
dG9yVHJhY2tpbmdBZGFwdGVyOihOU09iamVjdDxOU1Njcm9sbFZpZXdTZXBhcmF0b3JUcmFja2lu
Z0FkYXB0ZXI+ICopYWRhcHRlcjsKQEAgLTgyLDEyICs3OSw2IEBAIHR5cGVkZWYgTlNfT1BUSU9O
UyhOU1VJbnRlZ2VyLCBOU1dpbmRvd1NoYWRvd09wdGlvbnMpIHsKIC0gKHZvaWQpX3VwZGF0ZTsK
IEBlbmQKIAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEwMTQwMAotQGlu
dGVyZmFjZSBOU1dpbmRvdyAoSVBJKQotQHByb3BlcnR5IENHRmxvYXQgdGl0bGViYXJBbHBoYVZh
bHVlOwotQGVuZAotI2VuZGlmCi0KIC8vIEZJWE1FOiBNb3ZlIHRoaXMgYWJvdmUgb25jZSA8cmRh
cjovL3Byb2JsZW0vNzAyMjQ5ODA+IGlzIGluIGFuIFNESy4KIEBpbnRlcmZhY2UgTlNDdXJzb3Ig
KCkKICsgKHZvaWQpaGlkZVVudGlsQ2hhbmdlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
UGx1Z2luUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5wbHVnaW4tY29tbW9uLnNiLmluIGIv
U291cmNlL1dlYktpdC9QbHVnaW5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LnBsdWdpbi1j
b21tb24uc2IuaW4KaW5kZXggMTBkZGUyNzY2MDJmN2Q0NWNkNjU2NTk1ZmUxYjgwYTRhYzU5NjRh
ZS4uYzIwMTVlYWYwNWY3MDJkODdkN2EwNWU0YzU3NTgyMmU5MGM3MWZmOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9QbHVnaW5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LnBsdWdpbi1j
b21tb24uc2IuaW4KKysrIGIvU291cmNlL1dlYktpdC9QbHVnaW5Qcm9jZXNzL21hYy9jb20uYXBw
bGUuV2ViS2l0LnBsdWdpbi1jb21tb24uc2IuaW4KQEAgLTE2OCw3ICsxNjgsNyBAQAogICAgICh4
cGMtc2VydmljZS1uYW1lICJjb20uYXBwbGUuaGlzZXJ2aWNlcy14cGNzZXJ2aWNlIikKICkKIAot
I2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwCisjaWYgUExBVEZP
Uk0oTUFDKQogOzsgPHJkYXI6Ly9wcm9ibGVtLzQ3MjY4MTY2PgogKGFsbG93IG1hY2gtbG9va3Vw
ICh4cGMtc2VydmljZS1uYW1lICJjb20uYXBwbGUuTVRMQ29tcGlsZXJTZXJ2aWNlIikpCiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBh
eW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBs
ZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCmluZGV4IDg5ZjE5
YjE5OTM1NWZiMDVlZjUzNGEzMzIyMTMwMDMzOWJhZTE1ZjguLmMxOTk3YmNlMGE4YTk2ODY0MTU5
ZDE0YjhmODA2ZjVlMmYzYjEwYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fw
cGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0KKysrIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJv
eHlDb2NvYS5tbQpAQCAtMjg0LDExICsyODQsOSBAQCBSZXRhaW5QdHI8UEtQYXltZW50UmVxdWVz
dD4gV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtUGF5bWVudFJlcXVlc3QoYwog
CiAgICAgW3Jlc3VsdCBzZXRTdXBwb3J0ZWRDb3VudHJpZXM6dG9OU1NldChwYXltZW50UmVxdWVz
dC5zdXBwb3J0ZWRDb3VudHJpZXMoKSkuZ2V0KCldOwogCi0jaWYgSEFWRShQQVNTS0lUX0JPVU5E
X0lOVEVSRkFDRV9JREVOVElGSUVSKQogICAgIGF1dG8mIGJvdW5kSW50ZXJmYWNlSWRlbnRpZmll
ciA9IG1fY2xpZW50LnBheW1lbnRDb29yZGluYXRvckJvdW5kSW50ZXJmYWNlSWRlbnRpZmllcigq
dGhpcyk7CiAgICAgaWYgKCFib3VuZEludGVyZmFjZUlkZW50aWZpZXIuaXNFbXB0eSgpKQogICAg
ICAgICBbcmVzdWx0IHNldEJvdW5kSW50ZXJmYWNlSWRlbnRpZmllcjpib3VuZEludGVyZmFjZUlk
ZW50aWZpZXJdOwotI2VuZGlmCiAKICAgICAvLyBGSVhNRTogSW5zdGVhZCBvZiB1c2luZyByZXNw
b25kc1RvU2VsZWN0b3IsIHRoaXMgc2hvdWxkIHVzZSBhIHByb3BlciAjaWYgdmVyc2lvbiBjaGVj
ay4KICAgICBhdXRvJiBidW5kbGVJZGVudGlmaWVyID0gbV9jbGllbnQucGF5bWVudENvb3JkaW5h
dG9yU291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKCp0aGlzKTsKQEAgLTMwNSwxMiAr
MzAzLDEwIEBAIFJldGFpblB0cjxQS1BheW1lbnRSZXF1ZXN0PiBXZWJQYXltZW50Q29vcmRpbmF0
b3JQcm94eTo6cGxhdGZvcm1QYXltZW50UmVxdWVzdChjCiAgICAgICAgIFtyZXN1bHQgc2V0Q1RE
YXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlOnNlcnZpY2VUeXBlXTsKICNlbmRpZgogCi0jaWYgSEFW
RShQQVNTS0lUX0lOU1RBTExNRU5UUykKICAgICBpZiAoUEtQYXltZW50SW5zdGFsbG1lbnRDb25m
aWd1cmF0aW9uICpjb25maWd1cmF0aW9uID0gcGF5bWVudFJlcXVlc3QuaW5zdGFsbG1lbnRDb25m
aWd1cmF0aW9uKCkucGxhdGZvcm1Db25maWd1cmF0aW9uKCkpIHsKICAgICAgICAgW3Jlc3VsdCBz
ZXRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl07CiAgICAgICAgIFtyZXN1
bHQgc2V0UmVxdWVzdFR5cGU6UEtQYXltZW50UmVxdWVzdFR5cGVJbnN0YWxsbWVudF07CiAgICAg
fQotI2VuZGlmCiAKICNpZiBIQVZFKFBBU1NLSVRfQ09VUE9OX0NPREUpCiAgICAgaWYgKGF1dG8g
c3VwcG9ydHNDb3Vwb25Db2RlID0gcGF5bWVudFJlcXVlc3Quc3VwcG9ydHNDb3Vwb25Db2RlKCkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0Nv
Y29hLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5t
bQppbmRleCBiYTQ5OTA5MTJiYjQ0MDJjNDRiNTYwZDM0NTVmOTE0YTg4MzE0ZDVhLi4yMTI1Mzk5
MjY0YWIxZmMwYTM2YzVjMzYwNTQxN2RiZDM2MzNjOGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW0KQEAgLTY2LDE0ICs2Niw2IEBA
IEBpbXBsZW1lbnRhdGlvbiBXS1NlY3VyZUNvZGluZ0FyY2hpdmluZ0RlbGVnYXRlCiAKIC0gKG51
bGxhYmxlIGlkKWFyY2hpdmVyOihOU0tleWVkQXJjaGl2ZXIgKilhcmNoaXZlciB3aWxsRW5jb2Rl
T2JqZWN0OihpZClvYmplY3QKIHsKLSNpZiBIQVZFKE5TRk9OVF9XSVRIX09QVElDQUxfU0laSU5H
X0JVRykKLSAgICBpZiAoYXV0byBmb250ID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNGb250PihvYmpl
Y3QpKSB7Ci0gICAgICAgIC8vIFJlY3JlYXRlIGFueSBzZXJpYWxpemVkIGZvbnRzIGFmdGVyIG5v
cm1hbGl6aW5nIHRoZQotICAgICAgICAvLyBmb250IGF0dHJpYnV0ZXMgdG8gd29yayBhcm91bmQg
PHJkYXI6Ly9wcm9ibGVtLzUxNjU3ODgwPi4KLSAgICAgICAgcmV0dXJuIFdlYktpdDo6Zm9udFdp
dGhBdHRyaWJ1dGVzKGZvbnQuZm9udERlc2NyaXB0b3IuZm9udEF0dHJpYnV0ZXMsIDApOwotICAg
IH0KLSNlbmRpZgotCiAgICAgaWYgKGF1dG8gdW53cmFwcGVkVVJMID0gZHluYW1pY19vYmpjX2Nh
c3Q8TlNVUkw+KG9iamVjdCkpCiAgICAgICAgIHJldHVybiBhZG9wdE5TKFtbV0tTZWN1cmVDb2Rp
bmdVUkxXcmFwcGVyIGFsbG9jXSBpbml0V2l0aFVSTDp1bndyYXBwZWRVUkxdKS5hdXRvcmVsZWFz
ZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlVGV4dEhl
bHBlcnMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMubW0K
aW5kZXggY2FhYTdjYjYyYzU2ZmY4Zjc1NjBkYTk2ZjFhY2FkYmZkZGExMWQ0Mi4uYTI1MTBjNjQz
NTA0ZDgzOTU1ZGY5NDJlZjQ3NzQ3MzUxYzllZmJjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQ29jb2EvQ29yZVRleHRIZWxwZXJzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0NvY29hL0NvcmVUZXh0SGVscGVycy5tbQpAQCAtMzUsMjEgKzM1LDcgQEAgQ29jb2FGb250
ICpmb250V2l0aEF0dHJpYnV0ZXMoTlNEaWN0aW9uYXJ5ICphdHRyaWJ1dGVzLCBDR0Zsb2F0IHNp
emUpCiB7CiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TCiAKLSNpZiBIQVZFKE5TRk9O
VF9XSVRIX09QVElDQUxfU0laSU5HX0JVRykKLSAgICBhdXRvIG11dGFibGVEaWN0aW9uYXJ5ID0g
YWRvcHROUyhbYXR0cmlidXRlcyBtdXRhYmxlQ29weV0pOwotICAgIGlmIChpZCBvcHRpY2FsU2l6
ZUF0dHJpYnV0ZSA9IFttdXRhYmxlRGljdGlvbmFyeSBvYmplY3RGb3JLZXk6KF9fYnJpZGdlIE5T
U3RyaW5nICopa0NURm9udE9wdGljYWxTaXplQXR0cmlidXRlXSkgewotICAgICAgICBpZiAoW29w
dGljYWxTaXplQXR0cmlidXRlIGlzS2luZE9mQ2xhc3M6W05TU3RyaW5nIGNsYXNzXV0pIHsKLSAg
ICAgICAgICAgIFttdXRhYmxlRGljdGlvbmFyeSByZW1vdmVPYmplY3RGb3JLZXk6KF9fYnJpZGdl
IE5TU3RyaW5nICopa0NURm9udE9wdGljYWxTaXplQXR0cmlidXRlXTsKLSAgICAgICAgICAgIGlm
IChOU051bWJlciAqc2l6ZSA9IFttdXRhYmxlRGljdGlvbmFyeSBvYmplY3RGb3JLZXk6KF9fYnJp
ZGdlIE5TU3RyaW5nICopa0NURm9udFNpemVBdHRyaWJ1dGVdKQotICAgICAgICAgICAgICAgIFtt
dXRhYmxlRGljdGlvbmFyeSBzZXRPYmplY3Q6c2l6ZSBmb3JLZXk6KF9fYnJpZGdlIE5TU3RyaW5n
ICopa0NURm9udE9wdGljYWxTaXplQXR0cmlidXRlXTsKLSAgICAgICAgfQotICAgIH0KLQotICAg
IGF1dG8gZGVzY3JpcHRvciA9IFtDb2NvYUZvbnREZXNjcmlwdG9yIGZvbnREZXNjcmlwdG9yV2l0
aEZvbnRBdHRyaWJ1dGVzOm11dGFibGVEaWN0aW9uYXJ5LmdldCgpXTsKLSNlbHNlCiAgICAgYXV0
byBkZXNjcmlwdG9yID0gW0NvY29hRm9udERlc2NyaXB0b3IgZm9udERlc2NyaXB0b3JXaXRoRm9u
dEF0dHJpYnV0ZXM6YXR0cmlidXRlc107Ci0jZW5kaWYKLQogICAgIHJldHVybiBbQ29jb2FGb250
IGZvbnRXaXRoRGVzY3JpcHRvcjpkZXNjcmlwdG9yIHNpemU6c2l6ZV07CiAKICAgICBFTkRfQkxP
Q0tfT0JKQ19FWENFUFRJT05TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2Nv
YS9XZWJDb3JlQXJndW1lbnRDb2RlcnNDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nv
Y29hL1dlYkNvcmVBcmd1bWVudENvZGVyc0NvY29hLm1tCmluZGV4IDg3ZjRlYjFlYmEyODcyZTBj
YjBhYjk1OTE2YWZlZGUyOWZjYmEyNDQuLmM4YmQ2NmZmNGQxYTQzNzMyODZhOWQ5ODA0ZTk0Njc4
MGJiY2E0YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYkNvcmVB
cmd1bWVudENvZGVyc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dl
YkNvcmVBcmd1bWVudENvZGVyc0NvY29hLm1tCkBAIC05NCw4ICs5NCw2IEBAIHN0ZDo6b3B0aW9u
YWw8V2ViQ29yZTo6QXR0cmlidXRlZFN0cmluZz4gQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpBdHRy
aWJ1dGVkU3RyaW5nCiAKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogCi0jaWYgSEFWRShQQVNTS0lU
X0lOU1RBTExNRU5UUykKLQogdm9pZCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBheW1lbnRJbnN0
YWxsbWVudENvbmZpZ3VyYXRpb24+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgV2Vi
Q29yZTo6UGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKIHsK
ICAgICBlbmNvZGVyIDw8IGNvbmZpZ3VyYXRpb24ucGxhdGZvcm1Db25maWd1cmF0aW9uKCk7CkBA
IC0xMTAsOCArMTA4LDYgQEAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYXltZW50SW5zdGFsbG1l
bnRDb25maWd1cmF0aW9uPiBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlAKICAgICByZXR1cm4geyBX
VEZNb3ZlKCpjb25maWd1cmF0aW9uKSB9OwogfQogCi0jZW5kaWYgLy8gSEFWRShQQVNTS0lUX0lO
U1RBTExNRU5UUykKLQogdm9pZCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBheW1lbnQ+OjplbmNv
ZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgV2ViQ29yZTo6UGF5bWVudCYgcGF5bWVudCkKIHsK
ICAgICBlbmNvZGVyIDw8IHBheW1lbnQucGtQYXltZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IDNlMDZkYWJiNjI0Njc0MzU3NjFiZjAz
NTc4M2I3NGU1NmZlYzUzNTEuLjhhOWViMmYxY2U1NDFlYTYzNDIxNzg2MWZkZmFlOGE5OWI3NDc4
MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVy
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCkBA
IC04MzIsNyArODMyLDcgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3Jl
OjpDRE1JbnN0YW5jZVNlc3Npb246Ok1lc3NhZ2U+IHsKIH07CiAjZW5kaWYKIAotI2lmIEhBVkUo
UEFTU0tJVF9JTlNUQUxMTUVOVFMpCisjaWYgUExBVEZPUk0oQ09DT0EpCiB0ZW1wbGF0ZTw+IHN0
cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRp
b24+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlBh
eW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24mKTsKICAgICBzdGF0aWMgc3RkOjpvcHRpb25h
bDxXZWJDb3JlOjpQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uPiBkZWNvZGUoRGVjb2Rl
ciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggYzBkNjkw
NDVmOGI2NzQ2ZGYxMGU3MWY5YjQzNWI4YjkyNmY2OTkxZi4uNzAxZjFhMjkwODhkODQyMDE2MGM3
M2UwY2Q5ZWZkMzJkY2M2ZjIzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0MvV0tQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1Bh
Z2UuY3BwCkBAIC0xMTUxLDcgKzExNTEsNiBAQCB2b2lkIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGll
bnQoV0tQYWdlUmVmIHBhZ2VSZWYsIGNvbnN0IFdLUGFnZUxvYWRlckNsaWVudEJhc2UqCiAgICAg
ICAgIHsKICAgICAgICAgICAgIGluaXRpYWxpemUoY2xpZW50KTsKICAgICAgICAgICAgIAotI2lm
ICFQTEFURk9STShNQUMpIHx8IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPiAxMDE0
MDAKICAgICAgICAgICAgIC8vIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQgaXMgZGVwcmVjYXRl
ZC4gVXNlIFdLUGFnZVNldFBhZ2VOYXZpZ2F0aW9uQ2xpZW50IGluc3RlYWQuCiAgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVCghbV9jbGllbnQuZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUp
OwogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIW1fY2xpZW50LmRpZFNhbWVEb2N1bWVudE5h
dmlnYXRpb25Gb3JGcmFtZSk7CkBAIC0xMTg0LDcgKzExODMsNiBAQCB2b2lkIFdLUGFnZVNldFBh
Z2VMb2FkZXJDbGllbnQoV0tQYWdlUmVmIHBhZ2VSZWYsIGNvbnN0IFdLUGFnZUxvYWRlckNsaWVu
dEJhc2UqCiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCghbV9jbGllbnQubmF2aWdhdGlvbkdl
c3R1cmVEaWRCZWdpbik7CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCghbV9jbGllbnQubmF2
aWdhdGlvbkdlc3R1cmVXaWxsRW5kKTsKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFtX2Ns
aWVudC5uYXZpZ2F0aW9uR2VzdHVyZURpZEVuZCk7Ci0jZW5kaWYKICAgICAgICAgfQogCiAgICAg
cHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KaW5kZXggMjZkZDU2MjYxNDJiMjg1
MzhiYzE0NzY3ZjdhNTJkZTFhNjY5YTY2YS4uMjZlOWNkNWEyNDFiMjA3M2FiNjFiNjE2ZjM0YjFk
MzRlMTk4OGYzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KQEAgLTIwNywxMSArMjA3
LDcgQEAgc3RhdGljIFJldGFpblB0cjxOU0FycmF5PiBnZXRBbGxMb2NhbEF1dGhlbnRpY2F0b3JD
cmVkZW50aWFsc0ltcGwoTlNTdHJpbmcgKmFjY2UKICAgICAgICAgKF9fYnJpZGdlIGlkKWtTZWNB
dHRyQWNjZXNzR3JvdXA6IGFjY2Vzc0dyb3VwLAogICAgICAgICAoX19icmlkZ2UgaWQpa1NlY1Jl
dHVybkF0dHJpYnV0ZXM6IEBZRVMsCiAgICAgICAgIChfX2JyaWRnZSBpZClrU2VjTWF0Y2hMaW1p
dDogKF9fYnJpZGdlIGlkKWtTZWNNYXRjaExpbWl0QWxsLAotI2lmIEhBVkUoREFUQV9QUk9URUNU
SU9OX0tFWUNIQUlOKQogICAgICAgICAoX19icmlkZ2UgaWQpa1NlY1VzZURhdGFQcm90ZWN0aW9u
S2V5Y2hhaW46IEBZRVMKLSNlbHNlCi0gICAgICAgIChfX2JyaWRnZSBpZClrU2VjQXR0ck5vTGVn
YWN5OiBAWUVTCi0jZW5kaWYKICAgICB9OwogICAgIENGVHlwZVJlZiBhdHRyaWJ1dGVzQXJyYXlS
ZWYgPSBudWxscHRyOwogICAgIE9TU3RhdHVzIHN0YXR1cyA9IFNlY0l0ZW1Db3B5TWF0Y2hpbmco
KF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilxdWVyeSwgJmF0dHJpYnV0ZXNBcnJheVJlZik7CkBA
IC0yNzAsMTEgKzI2Niw3IEBAICsgKHZvaWQpZGVsZXRlTG9jYWxBdXRoZW50aWNhdG9yQ3JlZGVu
dGlhbFdpdGhJRDooTlNEYXRhICopY3JlZGVudGlhbElECiAgICAgTlNEaWN0aW9uYXJ5KiBkZWxl
dGVRdWVyeSA9IEB7CiAgICAgICAgIChfX2JyaWRnZSBpZClrU2VjQ2xhc3M6IChfX2JyaWRnZSBp
ZClrU2VjQ2xhc3NLZXksCiAgICAgICAgIChfX2JyaWRnZSBpZClrU2VjQXR0ckFwcGxpY2F0aW9u
TGFiZWw6IGNyZWRlbnRpYWxJRCwKLSNpZiBIQVZFKERBVEFfUFJPVEVDVElPTl9LRVlDSEFJTikK
ICAgICAgICAgKF9fYnJpZGdlIGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktleWNoYWluOiBAWUVT
Ci0jZWxzZQotICAgICAgICAoX19icmlkZ2UgaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwotI2Vu
ZGlmCiAgICAgfTsKICAgICBTZWNJdGVtRGVsZXRlKChfX2JyaWRnZSBDRkRpY3Rpb25hcnlSZWYp
ZGVsZXRlUXVlcnkpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCmluZGV4IDJhYjUwZGQ3NmZkM2FlM2NmMzFmNmY4MmVi
ZGY1YjdhMjcxYmVkYzUuLmM3MjdjMjBkYWM2NjRkOGQ1MDU2NzVhYjZmZmI1MjVlMzVmNWUyYjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNv
Y29hLm1tCkBAIC02MzQsMTEgKzYzNCw3IEBAIFZlY3RvcjxTYW5kYm94RXh0ZW5zaW9uOjpIYW5k
bGU+IFdlYlBhZ2VQcm94eTo6Y3JlYXRlTmV0d29ya0V4dGVuc2lvbnNTYW5kYm94RXh0CiAgICAg
aWYgKCFwcm9jZXNzLmhhc05ldHdvcmtFeHRlbnNpb25TYW5kYm94QWNjZXNzKCkgJiYgTmV0d29y
a0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXI6OmlzUmVxdWlyZWQoKSkgewogICAgICAgICBwcm9jZXNz
Lm1hcmtIYXNOZXR3b3JrRXh0ZW5zaW9uU2FuZGJveEFjY2VzcygpOwogICAgICAgICBjb25zdGV4
cHIgQVNDSUlMaXRlcmFsIG5lSGVscGVyU2VydmljZSB7ICJjb20uYXBwbGUubmVoZWxwZXIiX3Mg
fTsKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
PCAxMDE1MDAKLSAgICAgICAgY29uc3RleHByIEFTQ0lJTGl0ZXJhbCBuZVNlc3Npb25NYW5hZ2Vy
U2VydmljZSB7ICJjb20uYXBwbGUubmVzZXNzaW9ubWFuYWdlciJfcyB9OwotI2Vsc2UKICAgICAg
ICAgY29uc3RleHByIEFTQ0lJTGl0ZXJhbCBuZVNlc3Npb25NYW5hZ2VyU2VydmljZSB7ICJjb20u
YXBwbGUubmVzZXNzaW9ubWFuYWdlci5jb250ZW50LWZpbHRlciJfcyB9OwotI2VuZGlmCiAgICAg
ICAgIHJldHVybiBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVzRm9yTWFjaExvb2t1cCh7
IG5lSGVscGVyU2VydmljZSwgbmVTZXNzaW9uTWFuYWdlclNlcnZpY2UgfSwgc3RkOjpudWxsb3B0
KTsKICAgICB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YkF1dGhlbnRpY2F0aW9uL0NvY29hL0xvY2FsQXV0aGVudGljYXRvci5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0xvY2FsQXV0aGVudGljYXRvci5t
bQppbmRleCBjYzFkYjFhY2QzMTViOWEyOGM2YjU3NjEwMDI1ZTRiMzViMGVlN2IyLi5lZDJkZWY4
OWE4OTgyYTZlY2FhZTNmYTBhNzUzMTg5ODY1ZWE2NzBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9Mb2NhbEF1dGhlbnRpY2F0b3Iu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2Ev
TG9jYWxBdXRoZW50aWNhdG9yLm1tCkBAIC0xMjcsMTEgKzEyNyw3IEBAIHN0YXRpYyBzdGQ6Om9w
dGlvbmFsPFZlY3RvcjxSZWY8QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlPj4+IGdldEV4
aXN0aW5nQ3JlCiAgICAgICAgIChpZClrU2VjQXR0ckxhYmVsOiBycElkLAogICAgICAgICAoaWQp
a1NlY1JldHVybkF0dHJpYnV0ZXM6IEBZRVMsCiAgICAgICAgIChpZClrU2VjTWF0Y2hMaW1pdDog
KGlkKWtTZWNNYXRjaExpbWl0QWxsLAotI2lmIEhBVkUoREFUQV9QUk9URUNUSU9OX0tFWUNIQUlO
KQogICAgICAgICAoaWQpa1NlY1VzZURhdGFQcm90ZWN0aW9uS2V5Y2hhaW46IEBZRVMKLSNlbHNl
Ci0gICAgICAgIChpZClrU2VjQXR0ck5vTGVnYWN5OiBAWUVTCi0jZW5kaWYKICAgICB9XTsKICAg
ICB1cGRhdGVRdWVyeUlmTmVjZXNzYXJ5KHF1ZXJ5LmdldCgpKTsKIApAQCAtMTgyLDExICsxNzgs
NyBAQCB2b2lkIExvY2FsQXV0aGVudGljYXRvcjo6Y2xlYXJBbGxDcmVkZW50aWFscygpCiAgICAg
W3F1ZXJ5IHNldERpY3Rpb25hcnk6QHsKICAgICAgICAgKGlkKWtTZWNDbGFzczogKGlkKWtTZWND
bGFzc0tleSwKICAgICAgICAgKGlkKWtTZWNBdHRyQWNjZXNzR3JvdXA6IChpZClTdHJpbmcoTG9j
YWxBdXRoZW50aWNhdGlvckFjY2Vzc0dyb3VwKSwKLSNpZiBIQVZFKERBVEFfUFJPVEVDVElPTl9L
RVlDSEFJTikKICAgICAgICAgKGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktleWNoYWluOiBAWUVT
Ci0jZWxzZQotICAgICAgICAoaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwotI2VuZGlmCiAgICAg
fV07CiAgICAgdXBkYXRlUXVlcnlJZk5lY2Vzc2FyeShxdWVyeS5nZXQoKSk7CiAKQEAgLTM5NCwx
MSArMzg2LDcgQEAgdm9pZCBMb2NhbEF1dGhlbnRpY2F0b3I6OmNvbnRpbnVlTWFrZUNyZWRlbnRp
YWxBZnRlclVzZXJWZXJpZmljYXRpb24oU2VjQWNjZXNzQ28KICAgICAgICAgICAgIChpZClrU2Vj
QXR0cktleUNsYXNzOiAoaWQpa1NlY0F0dHJLZXlDbGFzc1ByaXZhdGUsCiAgICAgICAgICAgICAo
aWQpa1NlY0F0dHJMYWJlbDogc2VjQXR0ckxhYmVsLAogICAgICAgICAgICAgKGlkKWtTZWNBdHRy
QXBwbGljYXRpb25MYWJlbDogbV9wcm92aXNpb25hbENyZWRlbnRpYWxJZC5nZXQoKSwKLSNpZiBI
QVZFKERBVEFfUFJPVEVDVElPTl9LRVlDSEFJTikKICAgICAgICAgICAgIChpZClrU2VjVXNlRGF0
YVByb3RlY3Rpb25LZXljaGFpbjogQFlFUwotI2Vsc2UKLSAgICAgICAgICAgIChpZClrU2VjQXR0
ck5vTGVnYWN5OiBAWUVTCi0jZW5kaWYKICAgICAgICAgfV07CiAgICAgICAgIHVwZGF0ZVF1ZXJ5
SWZOZWNlc3NhcnkocXVlcnkuZ2V0KCkpOwogCkBAIC01OTksMTEgKzU4Nyw3IEBAIHZvaWQgTG9j
YWxBdXRoZW50aWNhdG9yOjpjb250aW51ZUdldEFzc2VydGlvbkFmdGVyVXNlclZlcmlmaWNhdGlv
bihSZWY8V2ViQ29yZTo6CiAgICAgICAgICAgICAoaWQpa1NlY0F0dHJLZXlDbGFzczogKGlkKWtT
ZWNBdHRyS2V5Q2xhc3NQcml2YXRlLAogICAgICAgICAgICAgKGlkKWtTZWNBdHRyQXBwbGljYXRp
b25MYWJlbDogbnNDcmVkZW50aWFsSWQuZ2V0KCksCiAgICAgICAgICAgICAoaWQpa1NlY1JldHVy
blJlZjogQFlFUywKLSNpZiBIQVZFKERBVEFfUFJPVEVDVElPTl9LRVlDSEFJTikKICAgICAgICAg
ICAgIChpZClrU2VjVXNlRGF0YVByb3RlY3Rpb25LZXljaGFpbjogQFlFUwotI2Vsc2UKLSAgICAg
ICAgICAgIChpZClrU2VjQXR0ck5vTGVnYWN5OiBAWUVTCi0jZW5kaWYKICAgICAgICAgfSBtdXRh
YmxlQ29weV07CiAKICAgICAgICAgaWYgKGNvbnRleHQpCkBAIC02NDAsMTEgKzYyNCw3IEBAIHZv
aWQgTG9jYWxBdXRoZW50aWNhdG9yOjpjb250aW51ZUdldEFzc2VydGlvbkFmdGVyVXNlclZlcmlm
aWNhdGlvbihSZWY8V2ViQ29yZTo6CiAgICAgICAgIChpZClrU2VjQ2xhc3M6IChpZClrU2VjQ2xh
c3NLZXksCiAgICAgICAgIChpZClrU2VjQXR0cktleUNsYXNzOiAoaWQpa1NlY0F0dHJLZXlDbGFz
c1ByaXZhdGUsCiAgICAgICAgIChpZClrU2VjQXR0ckFwcGxpY2F0aW9uTGFiZWw6IG5zQ3JlZGVu
dGlhbElkLmdldCgpLAotI2lmIEhBVkUoREFUQV9QUk9URUNUSU9OX0tFWUNIQUlOKQogICAgICAg
ICAoaWQpa1NlY1VzZURhdGFQcm90ZWN0aW9uS2V5Y2hhaW46IEBZRVMKLSNlbHNlCi0gICAgICAg
IChpZClrU2VjQXR0ck5vTGVnYWN5OiBAWUVTCi0jZW5kaWYKICAgICB9XTsKICAgICB1cGRhdGVR
dWVyeUlmTmVjZXNzYXJ5KHF1ZXJ5LmdldCgpKTsKIApAQCAtNjcxLDExICs2NTEsNyBAQCB2b2lk
IExvY2FsQXV0aGVudGljYXRvcjo6cmVjZWl2ZUV4Y2VwdGlvbihFeGNlcHRpb25EYXRhJiYgZXhj
ZXB0aW9uLCBXZWJBdXRoZW50aQogICAgICAgICBbcXVlcnkgc2V0RGljdGlvbmFyeTpAewogICAg
ICAgICAgICAgKGlkKWtTZWNDbGFzczogKGlkKWtTZWNDbGFzc0tleSwKICAgICAgICAgICAgIChp
ZClrU2VjQXR0ckFwcGxpY2F0aW9uTGFiZWw6IG1fcHJvdmlzaW9uYWxDcmVkZW50aWFsSWQuZ2V0
KCksCi0jaWYgSEFWRShEQVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4pCiAgICAgICAgICAgICAoaWQp
a1NlY1VzZURhdGFQcm90ZWN0aW9uS2V5Y2hhaW46IEBZRVMKLSNlbHNlCi0gICAgICAgICAgICAo
aWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwotI2VuZGlmCiAgICAgICAgIH1dOwogICAgICAgICB1
cGRhdGVRdWVyeUlmTmVjZXNzYXJ5KHF1ZXJ5LmdldCgpKTsKIApAQCAtNzA4LDExICs2ODQsNyBA
QCB2b2lkIExvY2FsQXV0aGVudGljYXRvcjo6ZGVsZXRlRHVwbGljYXRlQ3JlZGVudGlhbCgpIGNv
bnN0CiAgICAgICAgIFtxdWVyeSBzZXREaWN0aW9uYXJ5OkB7CiAgICAgICAgICAgICAoaWQpa1Nl
Y0NsYXNzOiAoaWQpa1NlY0NsYXNzS2V5LAogICAgICAgICAgICAgKGlkKWtTZWNBdHRyQXBwbGlj
YXRpb25MYWJlbDogdG9OU0RhdGEoY3JlZGVudGlhbC0+cmF3SWQoKSkuZ2V0KCksCi0jaWYgSEFW
RShEQVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4pCiAgICAgICAgICAgICAoaWQpa1NlY1VzZURhdGFQ
cm90ZWN0aW9uS2V5Y2hhaW46IEBZRVMKLSNlbHNlCi0gICAgICAgICAgICAoaWQpa1NlY0F0dHJO
b0xlZ2FjeTogQFlFUwotI2VuZGlmCiAgICAgICAgIH1dOwogICAgICAgICB1cGRhdGVRdWVyeUlm
TmVjZXNzYXJ5KHF1ZXJ5LmdldCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViQXV0aGVudGljYXRpb24vTW9jay9Nb2NrTG9jYWxDb25uZWN0aW9uLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vTW9jay9Nb2NrTG9jYWxDb25u
ZWN0aW9uLm1tCmluZGV4IDQ4YjJiYWQ5Yzk0MDQ0YTJmMWNjZTgzZmRkZGQ5MjdlYzYxMjJkODgu
Ljg0ZTZhZjU1YmQwYmJiNWE0YzRhM2Y2Y2E4ODA5NzJkZDczZDAzMDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL01vY2svTW9ja0xvY2FsQ29u
bmVjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlv
bi9Nb2NrL01vY2tMb2NhbENvbm5lY3Rpb24ubW0KQEAgLTEyMSwxMSArMTIxLDcgQEAgUmV0YWlu
UHRyPFNlY0tleVJlZj4gTW9ja0xvY2FsQ29ubmVjdGlvbjo6Y3JlYXRlQ3JlZGVudGlhbFByaXZh
dGVLZXkoTEFDb250ZXh0ICoKICAgICAgICAgKGlkKWtTZWNBdHRyTGFiZWw6IHNlY0F0dHJMYWJl
bCwKICAgICAgICAgKGlkKWtTZWNBdHRyQXBwbGljYXRpb25UYWc6IHNlY0F0dHJBcHBsaWNhdGlv
blRhZywKICAgICAgICAgKGlkKWtTZWNBdHRyQWNjZXNzaWJsZTogKGlkKWtTZWNBdHRyQWNjZXNz
aWJsZUFmdGVyRmlyc3RVbmxvY2ssCi0jaWYgSEFWRShEQVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4p
CiAgICAgICAgIChpZClrU2VjVXNlRGF0YVByb3RlY3Rpb25LZXljaGFpbjogQFlFUwotI2Vsc2UK
LSAgICAgICAgKGlkKWtTZWNBdHRyTm9MZWdhY3k6IEBZRVMKLSNlbmRpZgogICAgIH07CiAgICAg
T1NTdGF0dXMgc3RhdHVzID0gU2VjSXRlbUFkZCgoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKWFk
ZFF1ZXJ5LCBOVUxMKTsKICAgICBpZiAoc3RhdHVzKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYkF1dGhuUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Mu
c2IuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktp
dC5XZWJBdXRoblByb2Nlc3Muc2IuaW4KaW5kZXggMzRkYTk5OGQ4NzRmNmVlNDJkNjBhMzdlYjNl
ODNkOTZiMTMxYWYzZS4uNzQyY2E4ZWE4NDI4ZDE5OTcwMzllMzc5MjQ4NmQyOWY3ZTA2YzdjMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5X
ZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Q
cm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LldlYkF1dGhuUHJvY2Vzcy5zYi5pbgpAQCAtMzE4
LDcgKzMxOCw3IEBACiAoYWxsb3cgbWFjaC1sb29rdXAgKGV4dGVuc2lvbiAiY29tLmFwcGxlLmFw
cC1zYW5kYm94Lm1hY2giKSkgOzsgRklYTUU6IFNob3VsZCBiZSByZW1vdmVkIHdoZW4gPHJkYXI6
Ly9wcm9ibGVtLzEzMDY2MjA2PiBpcyBmaXhlZC4KIAogKGFsbG93IG1hY2gtbG9va3VwCi0jaWYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAKKyNpZiBQTEFURk9STShN
QUMpCiAgICAgKHdpdGggcmVwb3J0KSAod2l0aCB0ZWxlbWV0cnkpCiAjZW5kaWYKICAgICAoZ2xv
YmFsLW5hbWUgImNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhciIpCkBAIC0z
MzUsOSArMzM1LDYgQEAKIAogOzsgVmFyaW91cyBzZXJ2aWNlcyByZXF1aXJlZCBieSBBcHBLaXQg
YW5kIG90aGVyIGZyYW1ld29ya3MKIChhbGxvdyBtYWNoLWxvb2t1cAotI2lmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE0MDAKLSAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5h
cHBsZS5Gb250T2JqZWN0c1NlcnZlciIpCi0jZW5kaWYKICAgICAgICAoZ2xvYmFsLW5hbWUgImNv
bS5hcHBsZS5Qb3dlck1hbmFnZW1lbnQuY29udHJvbCIpCiAgICAgICAgKGdsb2JhbC1uYW1lICJj
b20uYXBwbGUuU3lzdGVtQ29uZmlndXJhdGlvbi5jb25maWdkIikKICAgICAgICAoZ2xvYmFsLW5h
bWUgImNvbS5hcHBsZS5hbmFseXRpY3NkIikKQEAgLTM1NywyNSArMzU0LDE3IEBACiAgICAgICAg
KGdsb2JhbC1uYW1lICJjb20uYXBwbGUudGNjZCIpCiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20u
YXBwbGUudGNjZC5zeXN0ZW0iKQogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLnRydXN0
ZC5hZ2VudCIpCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAg
fHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUu
Q0FSZW5kZXJTZXJ2ZXIiKSA7IE5lZWRlZCBmb3IgW0NBQ29udGV4dCByZW1vdGVDb250ZXh0V2l0
aE9wdGlvbnNdCi0jZWxzZQotICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLndpbmRvd3Nl
cnZlci5hY3RpdmUiKQotI2VuZGlmCiApCiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTQwMCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKIDs7IDxyZGFyOi8vcHJv
YmxlbS80NzI2ODE2Nj4KIChhbGxvdyBtYWNoLWxvb2t1cCAoeHBjLXNlcnZpY2UtbmFtZSAiY29t
LmFwcGxlLk1UTENvbXBpbGVyU2VydmljZSIpKQotI2VuZGlmCiAKLSNpZiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKIChk
ZW55IG1hY2gtbG9va3VwICh3aXRoIG5vLWxvZykKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBs
ZS5Db3JlU2VydmljZXMuY29yZXNlcnZpY2VzZCIpCiAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBw
bGUuRGlza0FyYml0cmF0aW9uLmRpc2thcmJpdHJhdGlvbmQiKQogICAgIChnbG9iYWwtbmFtZSAi
Y29tLmFwcGxlLlZpZXdCcmlkZ2VBdXhpbGlhcnkiKQogICAgIChnbG9iYWwtbmFtZSAiY29tLmFw
cGxlLndpbmRvd3NlcnZlci5hY3RpdmUiKSkKLSNlbmRpZgogCiA7OyBOZWVkZWQgdG8gc3VwcG9y
dCBlbmNyeXB0ZWQgbWVkaWEgcGxheWJhY2sgPHJkYXI6Ly9wcm9ibGVtLzQwMDM4NDc4PgogKGFs
bG93IG1hY2gtbG9va3VwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKaW5kZXggZjE0YjYzNzE0NjFl
ZmY5N2E3M2FlNDBkMTk1OTBjM2YwMTU3ZGJmMS4uMTIzMGRhN2M1NDNkODEzMTg5MDE2NjA4YzE1
Y2VmMTcyMTU3ZmVlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93
ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcApAQCAtMjYsNyArMjYsNyBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIk1lZGlhUmVjb3JkZXJQcml2YXRlLmgi
CiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUo
TUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBQTEFURk9S
TShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQog
CiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkdQVVByb2Nlc3NDb25uZWN0
aW9uLmgiCkBAIC0yMDAsNCArMjAwLDQgQEAgY29uc3QgU3RyaW5nJiBNZWRpYVJlY29yZGVyUHJp
dmF0ZTo6bWltZVR5cGUoKSBjb25zdAogCiB9CiAKLSNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkg
JiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFW
QVNTRVRXUklURVJERUxFR0FURSkKKyNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxF
KEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUuaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmgK
aW5kZXggYmRkNTQ5NzFjZGJlYjgwYTE1MjMzNTAxZjQ2YWM1NGIyYzE3YjZlNi4uNTA4YzZhMmYw
MWExZTU3ZTRjYjljMmRmZDFjNjI5YmFlZjAyODJhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5oCkBA
IC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYm
IEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFT
U0VUV1JJVEVSREVMRUdBVEUpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJP
Q0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogI2luY2x1ZGUgIk1lZGlhUmVjb3JkZXJJ
ZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiU2hhcmVkUmluZ0J1ZmZlclN0b3JhZ2UuaCIKQEAgLTg2
LDQgKzg2LDQgQEAgcHJpdmF0ZToKIAogfQogCi0jZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpICYm
IEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFT
U0VUV1JJVEVSREVMRUdBVEUpCisjZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShH
UFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLm1tIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUubW0K
aW5kZXggNjU1NGEwMjAwMDAxNTU3MWU0YTA2Mjc0OTA0Y2I1M2RkNjFmZmVjMy4uODY3OWE1YjRm
NjA0MWVhYjQyMjBlNmM0NDhhZWE0ZTE4NDcxYjFlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUubW0KKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUubW0K
QEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJNZWRpYVJl
Y29yZGVyUHJpdmF0ZS5oIgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJP
Q0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdB
VEUpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKIAogI2luY2x1ZGUgPFdlYkNvcmUvQ29yZVZpZGVvU29mdExpbmsuaD4K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFS
ZWNvcmRlclByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRj
L01lZGlhUmVjb3JkZXJQcm92aWRlci5jcHAKaW5kZXggMDFjNTk5YzEyODAzMTAwZjUxMDEwMjdh
MDlhYTkyMmQxNzAzMDBiOS4uNWM0ZTg5YzA4MTk2YWIwYmMzZWI2OTlhZDY5YmM5YTg0Y2YwODYy
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFS
ZWNvcmRlclByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dl
YnJ0Yy9NZWRpYVJlY29yZGVyUHJvdmlkZXIuY3BwCkBAIC0zOSw3ICszOSw3IEBAIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogCiBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TWVkaWFSZWNvcmRl
clByaXZhdGU+IE1lZGlhUmVjb3JkZXJQcm92aWRlcjo6Y3JlYXRlTWVkaWFSZWNvcmRlclByaXZh
dGUoTWVkaWFTdHJlYW1Qcml2YXRlJiBzdHJlYW0sIGNvbnN0IE1lZGlhUmVjb3JkZXJQcml2YXRl
T3B0aW9ucyYgb3B0aW9ucykKIHsKLSNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEhBVkUoQVZB
U1NFVFdSSVRFUkRFTEVHQVRFKQorI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKICAgICBhdXRvKiBw
YWdlID0gbV93ZWJQYWdlLmNvcmVQYWdlKCk7CiAgICAgaWYgKHBhZ2UgJiYgcGFnZS0+c2V0dGlu
Z3MoKS53ZWJSVENQbGF0Zm9ybUNvZGVjc0luR1BVUHJvY2Vzc0VuYWJsZWQoKSkKICAgICAgICAg
cmV0dXJuIG1ha2VVbmlxdWU8TWVkaWFSZWNvcmRlclByaXZhdGU+KHN0cmVhbSwgb3B0aW9ucyk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJl
Y29yZGVyUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01l
ZGlhUmVjb3JkZXJQcm92aWRlci5oCmluZGV4IDcxOTFiOTJjNWZkODU3MDMzZGU1Nzc4N2NlZDI3
NjY0ZmFlZDVhNDkuLjU4ZTQwODIwMzZjMzVkZjFmMGI2NDg3MDQwNzBhMWI3MThmNWY2NTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3Jk
ZXJQcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01l
ZGlhUmVjb3JkZXJQcm92aWRlci5oCkBAIC00MCwxMyArNDAsMTMgQEAgcHJpdmF0ZToKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TWVkaWFSZWNvcmRlclByaXZhdGU+IGNyZWF0ZU1lZGlh
UmVjb3JkZXJQcml2YXRlKFdlYkNvcmU6Ok1lZGlhU3RyZWFtUHJpdmF0ZSYsIGNvbnN0IFdlYkNv
cmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlT3B0aW9ucyYpIGZpbmFsOwogI2VuZGlmCiAKLSNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKSAmJiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9D
RVNTKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKSAmJiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKQogICAgIFdlYlBh
Z2UmIG1fd2ViUGFnZTsKICNlbmRpZgogfTsKIAogaW5saW5lIE1lZGlhUmVjb3JkZXJQcm92aWRl
cjo6TWVkaWFSZWNvcmRlclByb3ZpZGVyKFdlYlBhZ2UmIHdlYlBhZ2UpCi0jaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkgJiYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYg
SEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYg
UExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykKICAgICA6IG1fd2ViUGFnZSh3
ZWJQYWdlKQogI2VuZGlmCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VMb2Fk
ZXJDbGllbnQuY3BwCmluZGV4IDUxMGQyZGE3OThjZGEyNTA5OTNhYjUwZGQzNjk3ZGVhNWRhZTNh
ZDEuLjc1ZDg0ZTlhOGFiMDQyYjY4YmE3MTJkZGQ0NjIxOTdmMzk1N2IxMDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBh
Z2VMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJDbGllbnQuY3BwCkBAIC00NywxMCArNDcs
OCBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIEluamVjdGVkQnVuZGxlUGFnZUxvYWRlckNs
aWVudDo6SW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50KGNvbnN0IFdLQnVuZGxlUGFnZUxv
YWRlckNsaWVudEJhc2UqIGNsaWVudCkKIHsKICAgICBpbml0aWFsaXplKGNsaWVudCk7Ci0jaWYg
IVBMQVRGT1JNKE1BQykgfHwgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+IDEwMTQw
MAogICAgIC8vIERlcHJlY2F0ZWQgY2FsbGJhY2tzLgogICAgIEFTU0VSVCghbV9jbGllbnQuc2hv
dWxkR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW0pOwotI2VuZGlmCiB9CiAKIHZvaWQgSW5qZWN0ZWRC
dW5kbGVQYWdlTG9hZGVyQ2xpZW50Ojp3aWxsTG9hZFVSTFJlcXVlc3QoV2ViUGFnZSYgcGFnZSwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBBUEk6Ok9iamVjdCogdXNlckRhdGEpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Mu
c2IuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2Iu
aW4KaW5kZXggMDIwM2FmNTZmZjFjMzlhOGE1OTQ2MDEyM2FmNWQ4MTlhZDMzMDcyZC4uNGZkZWZj
OWMyOGIzMmY4ZDgxNTE4NDQxYTFmN2ExYWYwM2Y5MzY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbgpAQCAtMzA2LDEwICsz
MDYsOCBAQAogICAgICAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuY3Ztc1NlcnYiKQog
ICAgICAgICApCiAgICAgKQotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxNDAwIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgIChhbGxvdyBmaWxlLXJlYWQqCiAg
ICAgICAgIChwcmVmaXggIi9wcml2YXRlL3Zhci9kYi9DVk1TL2N2bXNDb2RlU2lnbk9iaiIpKQot
I2VuZGlmCiAgICAgOzsgT3BlbkNMCiAgICAgKGlmIChlcXVhbD8gKHBhcmFtICJFTkFCTEVfU0FO
REJPWF9NRVNTQUdFX0ZJTFRFUiIpICJZRVMiKQogICAgICAgICAoYWxsb3cgaW9raXQtb3BlbgpA
QCAtODMzLDcgKzgzMSw2IEBACiAgICAgKGlva2l0LXByb3BlcnR5ICJzYXZlZC1jb25maWciKQog
ICAgIChpb2tpdC1wcm9wZXJ0eSAic3RhcnR1cC10aW1pbmciKQogICAgIChpb2tpdC1wcm9wZXJ0
eSAidG91Y2gtc2l6ZS1pZCIpCi0jaWYgIVBMQVRGT1JNKE1BQykgfHwgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAKICAgICAoaW9raXQtcHJvcGVydHkgIkFUWSxjYml0
cyIpCiAgICAgKGlva2l0LXByb3BlcnR5ICJBVFksaW50cmV2IikKICAgICAoaW9raXQtcHJvcGVy
dHkgIkFjY2VsTmF0aXZlRE1BUm93Qnl0ZUFsaWdubWVudCIpCkBAIC04NTEsNyArODQ4LDYgQEAK
ICAgICAoaW9raXQtcHJvcGVydHkgIlRlbGVtZXRyeURpc2FibGUiKQogICAgIChpb2tpdC1wcm9w
ZXJ0eSAiY2FpbF9wcm9wZXJ0aWVzIikKICAgICAoaW9raXQtcHJvcGVydHkgImRwbSIpCi0jZW5k
aWYKICAgICAoaW9raXQtcHJvcGVydHkgIklPR1ZBSDI2NEVuY29kZUNhcGFiaWxpdGllcyIpIDs7
IDxyZGFyOi8vcHJvYmxlbS80OTQ5ODA0MD4KICNpZiAhUExBVEZPUk0oTUFDKSB8fCBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID4gMTAxNTAwCiAgICAgKGlva2l0LXByb3BlcnR5ICJJ
T0FWREhFVkNEZWNvZGVDYXBhYmlsaXRpZXMiKSA7OyA8cmRhcjovL3Byb2JsZW0vNzExMDAxODg+
CkBAIC0xMzQ4LDE2ICsxMzQ0LDkgQEAKIAogOzsgVmFyaW91cyBzZXJ2aWNlcyByZXF1aXJlZCBi
eSBBcHBLaXQgYW5kIG90aGVyIGZyYW1ld29ya3MKIChhbGxvdyBtYWNoLWxvb2t1cAotI2lmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE0MDAKLSAgICAgICAoZ2xvYmFsLW5h
bWUgImNvbS5hcHBsZS5Gb250T2JqZWN0c1NlcnZlciIpCi0jZW5kaWYKICAgICAgICAoZ2xvYmFs
LW5hbWUgImNvbS5hcHBsZS5sb2dkIikKICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5s
b2dkLmV2ZW50cyIpCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0
MDAgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBw
bGUuQ0FSZW5kZXJTZXJ2ZXIiKSA7IE5lZWRlZCBmb3IgW0NBQ29udGV4dCByZW1vdGVDb250ZXh0
V2l0aE9wdGlvbnNdCi0jZWxzZQotICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLndpbmRv
d3NlcnZlci5hY3RpdmUiKQotI2VuZGlmCiApCiAKICNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEIDw9IDExMDAwMApAQCAtMTM4OSw3ICsxMzc4LDYgQEAKICAgICAoZ2xvYmFsLW5h
bWUgImNvbS5hcHBsZS5sc2QubWFwZGIiKQogKQogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDE0MDAgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiA7OyA8cmRhcjov
L3Byb2JsZW0vNDcyNjgxNjY+CiAoYWxsb3cgbWFjaC1sb29rdXAKICAgICAocmVxdWlyZS1hbGwK
QEAgLTE0MDQsMTUgKzEzOTIsMTIgQEAKICAgICAgICAgKHhwYy1zZXJ2aWNlLW5hbWUgImNvbS5h
cHBsZS5NVExDb21waWxlclNlcnZpY2UiKQogICAgICkKICkKLSNlbmRpZgogCi0jaWYgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAgfHwgUExBVEZPUk0oTUFDQ0FUQUxZ
U1QpCiAoZGVueSBtYWNoLWxvb2t1cCAod2l0aCBuby1sb2cpCiAgICAgKGdsb2JhbC1uYW1lICJj
b20uYXBwbGUuQ29yZVNlcnZpY2VzLmNvcmVzZXJ2aWNlc2QiKQogICAgIChnbG9iYWwtbmFtZSAi
Y29tLmFwcGxlLkRpc2tBcmJpdHJhdGlvbi5kaXNrYXJiaXRyYXRpb25kIikKICAgICAoZ2xvYmFs
LW5hbWUgImNvbS5hcHBsZS5WaWV3QnJpZGdlQXV4aWxpYXJ5IikKICAgICAoZ2xvYmFsLW5hbWUg
ImNvbS5hcHBsZS53aW5kb3dzZXJ2ZXIuYWN0aXZlIikpCi0jZW5kaWYKIAogI2lmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwCiAoZGVueSBtYWNoLWxvb2t1cCAod2l0
aCBuby1sb2cpCkBAIC0xNzExLDExICsxNjk2LDcgQEAKICAgICAgICAgKGdsb2JhbC1uYW1lCiAg
ICAgICAgICAgICAiY29tLmFwcGxlLmFuYWx5dGljc2QiCiAgICAgICAgICAgICAiY29tLmFwcGxl
Lm5laGVscGVyIgotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAw
IHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgICAgICAgICAgImNvbS5hcHBsZS5uZXNlc3Np
b25tYW5hZ2VyLmNvbnRlbnQtZmlsdGVyIgotI2Vsc2UKLSAgICAgICAgICAgICJjb20uYXBwbGUu
bmVzZXNzaW9ubWFuYWdlciIKLSNlbmRpZgogICAgICAgICAgICAgImNvbS5hcHBsZS53ZWJpbnNw
ZWN0b3IiCiAgICAgICAgICAgICAiY29tLmFwcGxlLmNmcHJlZnNkLmFnZW50IgogICAgICAgICAg
ICAgImNvbS5hcHBsZS5jZnByZWZzZC5kYWVtb24iCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQppbmRleCBjZWM5YjhlMzE4NTk4YWVlZWI4NDExNzA2
ODExYmMzMTJjYzFjZWNmLi40YjA3ODU0OWRjNDIwMmZiYjZjMjcyZWYyMDVhYjM5NGUzOTQ3MTYz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0K
QEAgLTIyMywyNCArMjIzLDYgQEAgQHByb3BlcnR5IChyZWFkb25seSkgX19raW5kb2YgTlNWaWV3
ICpfYm9yZGVyVmlldzsKIC0gKGlkKV9uZXdGaXJzdFJlc3BvbmRlckFmdGVyUmVzaWduaW5nOwog
QGVuZAogCi0jaWYgIUhBVkUoU1VCVklFV1NfSVZBUl9TUEkpCi1AaW1wbGVtZW50YXRpb24gTlNW
aWV3IChTdWJ2aWV3c0l2YXIpCi0KLS0gKHZvaWQpX3NldFN1YnZpZXdzSXZhcjooTlNNdXRhYmxl
QXJyYXk8X19raW5kb2YgTlNWaWV3ICo+ICopc3Vidmlld3MgewotICAgIEFMTE9XX0RFUFJFQ0FU
RURfREVDTEFSQVRJT05TX0JFR0lOCi0gICAgX3N1YnZpZXdzID0gc3Vidmlld3M7Ci0gICAgQUxM
T1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECi19Ci0KLS0gKE5TTXV0YWJsZUFycmF5PF9f
a2luZG9mIE5TVmlldyAqPiAqKV9zdWJ2aWV3c0l2YXIgewotICAgIEFMTE9XX0RFUFJFQ0FURURf
REVDTEFSQVRJT05TX0JFR0lOCi0gICAgcmV0dXJuIChOU011dGFibGVBcnJheSAqKV9zdWJ2aWV3
czsKLSAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKLX0KLQotQGVuZAotI2Vu
ZGlmCi0KIHVzaW5nIFdlYkV2ZW50ID0gTlNFdmVudDsKIGNvbnN0IGF1dG8gV2ViRXZlbnRNb3Vz
ZURvd24gPSBOU0V2ZW50VHlwZUxlZnRNb3VzZURvd247CiAKQEAgLTczNywxMiArNzE5LDkgQEAg
c3RhdGljIHZvaWQgc2V0Q3Vyc29yKE5TV2luZG93ICpzZWxmLCBTRUwgY21kLCBOU1BvaW50IHBv
aW50KQogQGludGVyZmFjZSBOU1ZpZXcgKCkKIC0gKHZvaWQpX3JlY3Vyc2l2ZURpc3BsYXlSZWN0
SWZOZWVkZWRJZ25vcmluZ09wYWNpdHk6KE5TUmVjdClyZWN0IGlzVmlzaWJsZVJlY3Q6KEJPT0wp
aXNWaXNpYmxlUmVjdCByZWN0SXNWaXNpYmxlUmVjdEZvclZpZXc6KE5TVmlldyAqKXZpc2libGVW
aWV3IHRvcFZpZXc6KEJPT0wpdG9wVmlldzsKIC0gKHZvaWQpX3JlY3Vyc2l2ZURpc3BsYXlBbGxE
aXJ0eVdpdGhMb2NrRm9jdXM6KEJPT0wpbmVlZHNMb2NrRm9jdXMgdmlzUmVjdDooTlNSZWN0KXZp
c1JlY3Q7Ci0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTUwMAorI2lmIFBMQVRGT1JNKE1BQykKIC0gKHZvaWQpX3JlY3Vyc2l2ZTooQk9P
TClyZWN1cnNpdmUgZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6KE5TUmVjdClkaXNwbGF5UmVj
dCBpbkNvbnRleHQ6KE5TR3JhcGhpY3NDb250ZXh0ICopZ3JhcGhpY3NDb250ZXh0IHN0b3BBdExh
eWVyQmFja2VkVmlld3M6KEJPT0wpc3RvcEF0TGF5ZXJCYWNrZWRWaWV3czsKICNlbmRpZgotI2lm
IFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUw
MAotLSAodm9pZClfcmVjdXJzaXZlOihCT09MKXJlY3Vyc2l2ZSBkaXNwbGF5UmVjdElnbm9yaW5n
T3BhY2l0eTooTlNSZWN0KWRpc3BsYXlSZWN0IGluQ29udGV4dDooTlNHcmFwaGljc0NvbnRleHQg
KilncmFwaGljc0NvbnRleHQgc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOihCT09MKXNo
b3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvciBzdG9wQXRMYXllckJhY2tlZFZpZXdzOihCT09M
KXN0b3BBdExheWVyQmFja2VkVmlld3M7Ci0jZW5kaWYKIC0gKHZvaWQpX3NldERyYXdzT3duRGVz
Y2VuZGFudHM6KEJPT0wpZHJhd3NPd25EZXNjZW5kYW50czsKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQogLSAodm9pZCljZW50ZXJTZWxlY3Rpb25JblZpc2libGVBcmVhOihpZClzZW5kZXI7CkBA
IC0xNjgxLDE4ICsxNjYwLDEwIEBAIC0gKHZvaWQpX3JlY3Vyc2l2ZURpc3BsYXlBbGxEaXJ0eVdp
dGhMb2NrRm9jdXM6KEJPT0wpbmVlZHNMb2NrRm9jdXMgdmlzUmVjdDooTlNSCiB9CiAKIC8vIERv
bid0IGxldCBBcHBLaXQgZXZlbiBkcmF3IHN1YnZpZXdzLiBXZSB0YWtlIGNhcmUgb2YgdGhhdC4K
LSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMAogLSAodm9pZClf
cmVjdXJzaXZlOihCT09MKXJlY3Vyc2l2ZSBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTooTlNS
ZWN0KWRpc3BsYXlSZWN0IGluQ29udGV4dDooTlNHcmFwaGljc0NvbnRleHQgKilncmFwaGljc0Nv
bnRleHQgc3RvcEF0TGF5ZXJCYWNrZWRWaWV3czooQk9PTClzdG9wQXRMYXllckJhY2tlZFZpZXdz
Ci0jZWxzZQotLSAodm9pZClfcmVjdXJzaXZlOihCT09MKXJlY3Vyc2l2ZSBkaXNwbGF5UmVjdEln
bm9yaW5nT3BhY2l0eTooTlNSZWN0KWRpc3BsYXlSZWN0IGluQ29udGV4dDooTlNHcmFwaGljc0Nv
bnRleHQgKilncmFwaGljc0NvbnRleHQgc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOihC
T09MKXNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvciBzdG9wQXRMYXllckJhY2tlZFZpZXdz
OihCT09MKXN0b3BBdExheWVyQmFja2VkVmlld3MKLSNlbmRpZgogewogICAgIFtzZWxmIF9zZXRB
c2lkZVN1YnZpZXdzXTsKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTUwMAogICAgIFtzdXBlciBfcmVjdXJzaXZlOnJlY3Vyc2l2ZSBkaXNwbGF5UmVjdElnbm9yaW5n
T3BhY2l0eTpkaXNwbGF5UmVjdCBpbkNvbnRleHQ6Z3JhcGhpY3NDb250ZXh0IHN0b3BBdExheWVy
QmFja2VkVmlld3M6c3RvcEF0TGF5ZXJCYWNrZWRWaWV3c107Ci0jZWxzZQotICAgIFtzdXBlciBf
cmVjdXJzaXZlOnJlY3Vyc2l2ZSBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTpkaXNwbGF5UmVj
dCBpbkNvbnRleHQ6Z3JhcGhpY3NDb250ZXh0IHNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xv
cjpzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3Igc3RvcEF0TGF5ZXJCYWNrZWRWaWV3czpz
dG9wQXRMYXllckJhY2tlZFZpZXdzXTsKLSNlbmRpZgogICAgIFtzZWxmIF9yZXN0b3JlU3Vidmll
d3NdOwogfQogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggNjFjMTNhNWFiNTcwMGVkYWE2ODU4NmE5OWYxNTVmMjhmMDI1ODBiOC4uYzc5ZmRmN2Yz
Yjk4ZTVkZjFhNGQxZThhNTQ3YmU3YTM1Y2NjNzY4YSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTEwLTAxICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHJvcCBzdXBwb3J0IGZv
ciBtYWNPUyA8IDEwLjE1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzEwODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFRlc3RSdW5uZXJTaGFyZWQvc3BpL0FwcEtpdFRlc3RTUEkuaDoKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmtU
ZXN0Lm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QcmVjb25uZWN0Lm1tOgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvY29uZmlnLmg6CisKIDIwMjEtMTAtMDEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBEcm9wIGxlZ2FjeSBVU0UoTEVHQUNZX0NGTkVUV09SS19ET1dO
TE9BRFMpIGNvZGUgcGF0aHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvc3Bp
L0FwcEtpdFRlc3RTUEkuaCBiL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvc3BpL0FwcEtpdFRlc3RT
UEkuaAppbmRleCA1ZjlhZDUyMzcwZjAyN2VjMTA0NGZjNDE0NDVlZDVhYzc0ZGFlYmEyLi4yMjBm
ZjE3Y2FhMjE4M2NmYjc3NzMwYmRjZjVjZGQ0MTYyN2YwMTZkIDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0UnVubmVyU2hhcmVkL3NwaS9BcHBLaXRUZXN0U1BJLmgKKysrIGIvVG9vbHMvVGVzdFJ1bm5l
clNoYXJlZC9zcGkvQXBwS2l0VGVzdFNQSS5oCkBAIC0yOCw5ICsyOCw3IEBACiAjaW1wb3J0IDxB
cHBLaXQvTlNEcmFnZ2luZ0l0ZW0uaD4KIAogLy8gRklYTUU6IE1vdmUgdGhpcyB0byBQbGF0Zm9y
bUhhdmUuaC4KLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMAog
I2RlZmluZSBIQVZFX05TRFJBR0dJTkdJVEVNX0lOSVRXSVRISVRFTSAxCi0jZW5kaWYKIAogQGlu
dGVyZmFjZSBOU0RyYWdnaW5nSXRlbSAoKQogI2lmIEhBVkUoTlNEUkFHR0lOR0lURU1fSU5JVFdJ
VEhJVEVNKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2Nv
Y29hL0FWRm91bmRhdGlvblNvZnRMaW5rVGVzdC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViQ29yZS9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGlua1Rlc3QubW0KaW5kZXggMThlODlj
OTQyYTg0MzcxZWFiNjdlMmVjMzRkZDI2ZDkxNDFiYmZlNy4uYmFmYTc1ZjQ2ZTYwMmRjY2YxN2Y1
N2Y3YzAyNTNmZjBiMTk1YjE0ZiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJDb3JlL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rVGVzdC5tbQorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmtUZXN0
Lm1tCkBAIC0xNjEsNyArMTYxLDcgQEAgVEVTVChBVkZvdW5kYXRpb25Tb2Z0TGluaywgQ29uc3Rh
bnRzKQogICAgIEVYUEVDVF9UUlVFKFtBVkNvbnRlbnRLZXlSZXF1ZXN0UHJvdG9jb2xWZXJzaW9u
c0tleSBpc0VxdWFsVG9TdHJpbmc6QCJQcm90b2NvbFZlcnNpb25zS2V5Il0pOwogI2VuZGlmCiAK
LSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShXQVRDSE9TKSB8fCBQTEFURk9S
TShBUFBMRVRWKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9S
TShXQVRDSE9TKSB8fCBQTEFURk9STShBUFBMRVRWKQogICAgIEVYUEVDVF9UUlVFKFBBTDo6Y2Fu
TG9hZF9BVkZvdW5kYXRpb25fQVZWaWRlb0NvZGVjVHlwZUhFVkNXaXRoQWxwaGEoKSk7CiAgICAg
RVhQRUNUX1RSVUUoW0FWVmlkZW9Db2RlY1R5cGVIRVZDV2l0aEFscGhhIGlzRXF1YWxUb1N0cmlu
ZzpAIm11eGEiXSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvUHJlY29ubmVjdC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvUHJlY29ubmVjdC5tbQppbmRleCA5YjFlYmZhZDcxZmRmMGVkOGYxODQyNGVk
MmI0MGI4YTg0YmJmNDZjLi41NDdiMzU3ZWU5ZWEwYWExOWRhZWRjODkyNGNhYjFiYWFjNDI2MmRi
IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByZWNv
bm5lY3QubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QcmVj
b25uZWN0Lm1tCkBAIC0xMDMsMTAgKzEwMyw2IEBAIFRFU1QoUHJlY29ubmVjdCwgQ29ubmVjdGlv
bkNvdW50KQogICAgIEVYUEVDVF9FUShjb25uZWN0aW9uQ291bnQsIDJ1KTsKIH0KIAotLy8gTW9q
YXZlIENGTmV0d29yayBfcHJlY29ubmVjdCBTUEkgc2VlbXMgdG8gaGF2ZSBhIGJ1ZyBjYXVzaW5n
IHRoaXMgdG8gdGltZSBvdXQuCi0vLyBUaGF0J3Mgbm8gcHJvYmxlbSwgYmVjYXVzZSB0aGlzIGlz
IGEgdGVzdCBmb3IgU1BJIG9ubHkgdG8gYmUgdXNlZCBvbiBsYXRlciBPUyB2ZXJzaW9ucy4KLSNp
ZiAhUExBVEZPUk0oTUFDKSB8fCBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTUwMAotCiBURVNUKFByZWNvbm5lY3QsIEhUVFBTKQogewogICAgIGJvb2wgY29ubmVjdGVkID0g
ZmFsc2U7CkBAIC0xMzYsOCArMTMyLDYgQEAgVEVTVChQcmVjb25uZWN0LCBIVFRQUykKICAgICBF
WFBFQ1RfVFJVRShyZWNlaXZlZENoYWxsZW5nZSk7CiB9CiAKLSNlbmRpZgotCiAjaWYgSEFWRShQ
UkVDT05ORUNUX1BJTkcpCiBzdGF0aWMgdm9pZCBwaW5nUG9uZyhSZWY8SDI6OkNvbm5lY3Rpb24+
JiYgY29ubmVjdGlvbiwgc2l6ZV90KiBoZWFkZXJzQ291bnQpCiB7CmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1NlcnZpY2VXb3JrZXJCYXNpYy5tbSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2lj
Lm1tCmluZGV4IDFkM2FlZTcwOWQ0MTQzOGY3OTcwN2JjZjRhMTQ3NmIzYTUxMWNkYjkuLjBlOGEz
ZTdhZmZjMmY1N2U4YmYwNDVmZGE4ZTBjZDc2MmFhYzU0YmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2lj
Lm1tCkBAIC0yMTgyLDggKzIxODIsNiBAQCBURVNUKFNlcnZpY2VXb3JrZXJzLCBDb250ZW50UnVs
ZUxpc3QpCiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lUmVtb3ZpbmcpOwogfQog
Ci0jaWYgSEFWRShUTFNfUFJPVE9DT0xfVkVSU0lPTl9UKQotCiBzdGF0aWMgYm9vbCBpc1Rlc3RT
ZXJ2ZXJUcnVzdChTZWNUcnVzdFJlZiB0cnVzdCkKIHsKICAgICBpZiAoIXRydXN0KQpAQCAtMjM3
Miw4ICsyMzcwLDYgQEAgVEVTVChTZXJ2aWNlV29ya2VycywgQ2hhbmdlT2ZTZXJ2ZXJDZXJ0aWZp
Y2F0ZSkKICAgICB9CiB9CiAKLSNlbmRpZiAvLyBIQVZFKFRMU19QUk9UT0NPTF9WRVJTSU9OX1Qp
Ci0KIFRFU1QoU2VydmljZVdvcmtlcnMsIENsZWFyRE9NQ2FjaGVBbHNvSW5jbHVkZXNTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9ucykKIHsKICAgICBbV0tXZWJzaXRlRGF0YVN0b3JlIF9hbGxvd1dl
YnNpdGVEYXRhUmVjb3Jkc0ZvckFsbE9yaWdpbnNdOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9UTFNEZXByZWNhdGlvbi5tbSBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvVExTRGVwcmVjYXRpb24ubW0KaW5kZXggYWZhZDk0
MzJkMGM3NWEyZDMwZTYwMzAyNWY2MzE5OWFjYzQwZDQ0MS4uNTNiNTE3MDhiYzM3ZGRmMWI3YTg0
NzE5MjhhOTIxMjgyYzE3N2Q4YyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9UTFNEZXByZWNhdGlvbi5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL1RMU0RlcHJlY2F0aW9uLm1tCkBAIC0xNDEsOCArMTQxLDYgQEAg
bmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewogCiBjb25zdCB1aW50MTZfdCB0bHMxXzEgPSAweDAz
MDI7CiAKLSNpZiBIQVZFKFRMU19QUk9UT0NPTF9WRVJTSU9OX1QpCi0KIFRFU1QoVExTVmVyc2lv
biwgRGVmYXVsdEJlaGF2aW9yKQogewogICAgIEhUVFBTZXJ2ZXIgc2VydmVyKEhUVFBTZXJ2ZXI6
OnJlc3BvbmRXaXRoT0ssIEhUVFBTZXJ2ZXI6OlByb3RvY29sOjpIdHRwc1dpdGhMZWdhY3lUTFMp
OwpAQCAtMTU3LDggKzE1NSw2IEBAIFRFU1QoVExTVmVyc2lvbiwgRGVmYXVsdEJlaGF2aW9yKQog
ICAgIFtkZWxlZ2F0ZSB3YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07CiB9CiAKLSNlbmRpZiAv
LyBIQVZFKFRMU19QUk9UT0NPTF9WRVJTSU9OX1QpCi0KICNpZiBIQVZFKFRMU19WRVJTSU9OX0RV
UklOR19DSEFMTEVOR0UpCiAKIFJldGFpblB0cjxXS1dlYlZpZXc+IG1ha2VXZWJWaWV3V2l0aChX
S1dlYnNpdGVEYXRhU3RvcmUgKnN0b3JlLCBSZXRhaW5QdHI8VGVzdE5hdmlnYXRpb25EZWxlZ2F0
ZT4gZGVsZWdhdGUpCkBAIC0yNjMsOCArMjU5LDYgQEAgVEVTVChUTFNWZXJzaW9uLCBQcmVjb25u
ZWN0KQogCiAjZW5kaWYgLy8gSEFWRShUTFNfVkVSU0lPTl9EVVJJTkdfQ0hBTExFTkdFKQogCi0j
aWYgSEFWRShUTFNfUFJPVE9DT0xfVkVSU0lPTl9UKQotCiBzdGF0aWMgc3RkOjpwYWlyPFJldGFp
blB0cjxXS1dlYlZpZXc+LCBSZXRhaW5QdHI8VGVzdE5hdmlnYXRpb25EZWxlZ2F0ZT4+IHdlYlZp
ZXdXaXRoTmF2aWdhdGlvbkRlbGVnYXRlKCkKIHsKICAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHRO
UyhbVGVzdE5hdmlnYXRpb25EZWxlZ2F0ZSBuZXddKTsKQEAgLTQ5OSw4ICs0OTMsNiBAQCBURVNU
KFRMU1ZlcnNpb24sIExlZ2FjeVN1YnJlc291cmNlcykKIAogI2VuZGlmIC8vIEhBVkUoVExTX1ZF
UlNJT05fRFVSSU5HX0NIQUxMRU5HRSkKIAotI2VuZGlmIC8vIEhBVkUoVExTX1BST1RPQ09MX1ZF
UlNJT05fVCkKLQogfQogCiAjZW5kaWYgLy8gSEFWRShTU0wpCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwu
bW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRp
Y2F0aW9uUGFuZWwubW0KaW5kZXggYWJhNGZiOTA3ZmIyMjdjMzc0MGRhZjA5YWYxMWM3MTQ4MDY5
N2UyNC4uZDYyZTI5MjMyNjVhMzU5ZDAxZWE2YTFiMTA1MzEzOTIyOGM5MDk2NyAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNh
dGlvblBhbmVsLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
X1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQpAQCAtMzkyLDExICszOTIsNyBAQCBib29sIGFk
ZEtleVRvS2V5Y2hhaW4oY29uc3QgU3RyaW5nJiBwcml2YXRlS2V5QmFzZTY0LCBjb25zdCBTdHJp
bmcmIHJwSWQsIGNvbnN0CiAgICAgICAgIChpZClrU2VjQXR0ckxhYmVsOiBycElkLAogICAgICAg
ICAoaWQpa1NlY0F0dHJBcHBsaWNhdGlvblRhZzogYWRvcHROUyhbW05TRGF0YSBhbGxvY10gaW5p
dFdpdGhCYXNlNjRFbmNvZGVkU3RyaW5nOnVzZXJIYW5kbGVCYXNlNjQgb3B0aW9uczpOU0RhdGFC
YXNlNjREZWNvZGluZ0lnbm9yZVVua25vd25DaGFyYWN0ZXJzXSkuZ2V0KCksCiAgICAgICAgIChp
ZClrU2VjQXR0ckFjY2Vzc2libGU6IChpZClrU2VjQXR0ckFjY2Vzc2libGVBZnRlckZpcnN0VW5s
b2NrLAotI2lmIEhBVkUoREFUQV9QUk9URUNUSU9OX0tFWUNIQUlOKQogICAgICAgICAoaWQpa1Nl
Y1VzZURhdGFQcm90ZWN0aW9uS2V5Y2hhaW46IEBZRVMKLSNlbHNlCi0gICAgICAgIChpZClrU2Vj
QXR0ck5vTGVnYWN5OiBAWUVTCi0jZW5kaWYKICAgICB9OwogICAgIE9TU3RhdHVzIHN0YXR1cyA9
IFNlY0l0ZW1BZGQoKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilhZGRRdWVyeSwgTlVMTCk7CiAg
ICAgaWYgKHN0YXR1cykKQEAgLTQxMSwxMSArNDA3LDcgQEAgdm9pZCBjbGVhblVwS2V5Y2hhaW4o
Y29uc3QgU3RyaW5nJiBycElkKQogICAgICAgICAoaWQpa1NlY0NsYXNzOiAoaWQpa1NlY0NsYXNz
S2V5LAogICAgICAgICAoaWQpa1NlY0F0dHJMYWJlbDogcnBJZCwKICAgICAgICAgKGlkKWtTZWNB
dHRyQWNjZXNzaWJsZTogKGlkKWtTZWNBdHRyQWNjZXNzaWJsZUFmdGVyRmlyc3RVbmxvY2ssCi0j
aWYgSEFWRShEQVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4pCiAgICAgICAgIChpZClrU2VjVXNlRGF0
YVByb3RlY3Rpb25LZXljaGFpbjogQFlFUwotI2Vsc2UKLSAgICAgICAgKGlkKWtTZWNBdHRyTm9M
ZWdhY3k6IEBZRVMKLSNlbmRpZgogICAgIH07CiAgICAgU2VjSXRlbURlbGV0ZSgoX19icmlkZ2Ug
Q0ZEaWN0aW9uYXJ5UmVmKWRlbGV0ZVF1ZXJ5KTsKIH0KQEAgLTE0NjgsMTEgKzE0NjAsNyBAQCBU
RVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIExBTWFrZUNyZWRlbnRpYWxSb2xsQmFja0NyZWRl
bnRpYWwpCiAgICAgICAgIChpZClrU2VjQ2xhc3M6IChpZClrU2VjQ2xhc3NLZXksCiAgICAgICAg
IChpZClrU2VjQXR0cktleUNsYXNzOiAoaWQpa1NlY0F0dHJLZXlDbGFzc1ByaXZhdGUsCiAgICAg
ICAgIChpZClrU2VjQXR0ckxhYmVsOiBAIiIsCi0jaWYgSEFWRShEQVRBX1BST1RFQ1RJT05fS0VZ
Q0hBSU4pCiAgICAgICAgIChpZClrU2VjVXNlRGF0YVByb3RlY3Rpb25LZXljaGFpbjogQFlFUwot
I2Vsc2UKLSAgICAgICAgKGlkKWtTZWNBdHRyTm9MZWdhY3k6IEBZRVMKLSNlbmRpZgogICAgIH07
CiAgICAgT1NTdGF0dXMgc3RhdHVzID0gU2VjSXRlbUNvcHlNYXRjaGluZygoX19icmlkZ2UgQ0ZE
aWN0aW9uYXJ5UmVmKXF1ZXJ5LCBudWxscHRyKTsKICAgICBFWFBFQ1RfRVEoc3RhdHVzLCBlcnJT
ZWNJdGVtTm90Rm91bmQpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9t
YWMvSElER2FtZXBhZHMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9ISURHYW1l
cGFkcy5tbQppbmRleCBhOTA2N2UxZjJlZjNhYmM0ZDkxOTI4OGZiOWVhNzliYzM5OWI2OTFkLi5m
NDNhZmVlOGFhZDk3ZGZlYjk1Y2Y5ZGQ3NGY5MGIwZDU1NmYwMmY3IDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9ISURHYW1lcGFkcy5tbQorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL21hYy9ISURHYW1lcGFkcy5tbQpAQCAtMjUsNyArMjUsNyBAQAogCiAj
aW1wb3J0ICJjb25maWcuaCIKIAotI2lmIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExF
X0lOVEVSTkFMX1NESykKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAjaW1wb3J0ICJJ
bnN0YW5jZU1ldGhvZFN3aXp6bGVyLmgiCiAjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgpA
QCAtNjU0LDQgKzY1NCw0IEBAIFRFU1QoR2FtZXBhZCwgRnVsbEluZm9BZnRlckNvbm5lY3Rpb24p
CiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKIAotI2VuZGlmIC8vIEhBVkUoSElEX0ZS
QU1FV09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNlbmRpZiAvLyBVU0UoQVBQTEVf
SU5URVJOQUxfU0RLKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9IVFRQ
U2VydmVyLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9IVFRQU2VydmVyLm1tCmluZGV4
IGQ3MjBiYTY0ZGI0MzA2OWJmNzM1YjMwNWJkZTMwZjQ0ZTc3ZTkyMGUuLjExMjQzYWM0YjdkYzdk
YzY2ZDQ2ZTE4MDUxYjJjOGE5YTNmNmY1MjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvY29jb2EvSFRUUFNlcnZlci5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL0hU
VFBTZXJ2ZXIubW0KQEAgLTU3LDcgKzU3LDYgQEAgUmV0YWluUHRyPG53X3BhcmFtZXRlcnNfdD4g
SFRUUFNlcnZlcjo6bGlzdGVuZXJQYXJhbWV0ZXJzKFByb3RvY29sIHByb3RvY29sLCBDZXIKICAg
ICBpZiAocHJvdG9jb2wgIT0gUHJvdG9jb2w6Okh0dHAgJiYgIWN1c3RvbVRlc3RJZGVudGl0eSkK
ICAgICAgICAgY3VzdG9tVGVzdElkZW50aXR5ID0gdGVzdElkZW50aXR5KCk7CiAgICAgYXV0byBj
b25maWd1cmVUTFMgPSBwcm90b2NvbCA9PSBQcm90b2NvbDo6SHR0cCA/IG1ha2VCbG9ja1B0cihO
V19QQVJBTUVURVJTX0RJU0FCTEVfUFJPVE9DT0wpIDogbWFrZUJsb2NrUHRyKFtwcm90b2NvbCwg
dmVyaWZpZXIgPSBXVEZNb3ZlKHZlcmlmaWVyKSwgdGVzdElkZW50aXR5ID0gV1RGTW92ZShjdXN0
b21UZXN0SWRlbnRpdHkpXSAobndfcHJvdG9jb2xfb3B0aW9uc190IHByb3RvY29sT3B0aW9ucykg
bXV0YWJsZSB7Ci0jaWYgSEFWRShUTFNfUFJPVE9DT0xfVkVSU0lPTl9UKQogICAgICAgICBhdXRv
IG9wdGlvbnMgPSBhZG9wdE5TKG53X3Rsc19jb3B5X3NlY19wcm90b2NvbF9vcHRpb25zKHByb3Rv
Y29sT3B0aW9ucykpOwogICAgICAgICBhdXRvIGlkZW50aXR5ID0gYWRvcHROUyhzZWNfaWRlbnRp
dHlfY3JlYXRlKHRlc3RJZGVudGl0eS5nZXQoKSkpOwogICAgICAgICBzZWNfcHJvdG9jb2xfb3B0
aW9uc19zZXRfbG9jYWxfaWRlbnRpdHkob3B0aW9ucy5nZXQoKSwgaWRlbnRpdHkuZ2V0KCkpOwpA
QCAtNzEsMTAgKzcwLDYgQEAgUmV0YWluUHRyPG53X3BhcmFtZXRlcnNfdD4gSFRUUFNlcnZlcjo6
bGlzdGVuZXJQYXJhbWV0ZXJzKFByb3RvY29sIHByb3RvY29sLCBDZXIKICAgICAgICAgfQogICAg
ICAgICBpZiAocHJvdG9jb2wgPT0gUHJvdG9jb2w6Okh0dHAyKQogICAgICAgICAgICAgc2VjX3By
b3RvY29sX29wdGlvbnNfYWRkX3Rsc19hcHBsaWNhdGlvbl9wcm90b2NvbChvcHRpb25zLmdldCgp
LCAiaDIiKTsKLSNlbHNlCi0gICAgICAgIFVOVVNFRF9QQVJBTShwcm90b2NvbE9wdGlvbnMpOwot
ICAgICAgICBBU1NFUlRfVU5VU0VEKHByb3RvY29sLCBwcm90b2NvbCAhPSBQcm90b2NvbDo6SHR0
cHNXaXRoTGVnYWN5VExTKTsKLSNlbmRpZgogICAgIH0pOwogICAgIGF1dG8gcGFyYW1ldGVycyA9
IGFkb3B0TlMobndfcGFyYW1ldGVyc19jcmVhdGVfc2VjdXJlX3RjcChjb25maWd1cmVUTFMuZ2V0
KCksIE5XX1BBUkFNRVRFUlNfREVGQVVMVF9DT05GSUdVUkFUSU9OKSk7CiAgICAgaWYgKHBvcnQp
CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvbmZpZy5oIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9jb25maWcuaAppbmRleCA3ZTA2NzEzZDc1NWUwMmU0NTQ4NzUzZWE2MzU2NDE0NGI1
NGQ4NTJmLi5mYzhjZDdiYmMwZDJiMmM3OTk2ZWJlZTZhN2Y1NDg1Y2M0N2MwMmZjIDEwMDY0NAot
LS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvbmZpZy5oCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvY29uZmlnLmgKQEAgLTEyNSwxMSArMTI1LDYgQEAKICNkZWZpbmUgSEFWRV9VSVdFQlZJRVcg
MQogI2VuZGlmCiAKLS8vIEZJWE1FOiBNb3ZlIHRoaXMgdG8gUGxhdGZvcm1IYXZlLmguCi0jaWYg
UExBVEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEIDwgMTAxNTAwKQotI2RlZmluZSBIQVZFX1RMU19QUk9UT0NPTF9WRVJTSU9O
X1QgMQotI2VuZGlmCi0KIC8vIEZJWE1FOiBNb3ZlIHRoaXMgdG8gUGxhdGZvcm1IYXZlLmguCiAj
aWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MTAwMDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxNDAwMDApCiAjZGVmaW5lIEhBVkVfVExTX1ZFUlNJT05fRFVSSU5HX0NI
QUxMRU5HRSAxCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFw
cGluZ3MvR29vZ2xlU3RhZGlhLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1h
cHBpbmdzL0dvb2dsZVN0YWRpYS5tbQppbmRleCA4MjhjNmZhZGUzMGMxNDEyNzRlZjFmZjQ2MzFj
ZjIwMTVmYTBmZTAxLi40ZDdmMzg0OGU3MzM4NDE0NjVhMWQ1NGZhMWZiNzM5Yzg1MTg5OTE2IDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvR29vZ2xl
U3RhZGlhLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9H
b29nbGVTdGFkaWEubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2lt
cG9ydCAiVmlydHVhbEdhbWVwYWQuaCIKIAotI2lmIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNF
KEFQUExFX0lOVEVSTkFMX1NESykKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAjaW1w
b3J0IDxISUQvSElEVXNlckRldmljZS5oPgogCkBAIC0yMDYsNCArMjA2LDQgQEAgR2FtZXBhZE1h
cHBpbmcgVmlydHVhbEdhbWVwYWQ6Omdvb2dsZVN0YWRpYU1hcHBpbmcoKQogCiB9IC8vIG5hbWVz
cGFjZSBUZXN0V2ViS2l0QVBJCiAKLSNlbmRpZiAvLyBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVT
RShBUFBMRV9JTlRFUk5BTF9TREspCisjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Mb2dp
dGVjaEYzMTAubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvTG9n
aXRlY2hGMzEwLm1tCmluZGV4IDk3N2YyZmViYmVhOGEzMjU5NDcwMTg1NGVlMzJiYjQ0ZGQ5NGU2
YWQuLjRmNGE3YjQ2MTc1ZTEyNGUzYjcyZjcxYWFiMzQ2NGFlYTg1MDExYzMgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Mb2dpdGVjaEYzMTAubW0K
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL0xvZ2l0ZWNoRjMx
MC5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJWaXJ0
dWFsR2FtZXBhZC5oIgogCi0jaWYgSEFWRShISURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5U
RVJOQUxfU0RLKQorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAKICNpbXBvcnQgPEhJRC9I
SURVc2VyRGV2aWNlLmg+CiAKQEAgLTE0NSw0ICsxNDUsNCBAQCBHYW1lcGFkTWFwcGluZyBWaXJ0
dWFsR2FtZXBhZDo6bG9naXRlY2hGMzEwTWFwcGluZygpCiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RX
ZWJLaXRBUEkKIAotI2VuZGlmIC8vIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lO
VEVSTkFMX1NESykKKyNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL0xvZ2l0ZWNoRjcxMC5t
bSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Mb2dpdGVjaEY3MTAu
bW0KaW5kZXggZjU2ZWU2NGQxODA5M2RmOTdmNTMwMmFkMGIwZGI0NDdlMDE4ZGIyOC4uZDVhMDcz
NWVhNWY2MWE3N2QxZDZlOGRmYzA1NWZmMWU4OTllNDFiYSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL0xvZ2l0ZWNoRjcxMC5tbQorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvTG9naXRlY2hGNzEwLm1tCkBAIC0y
Niw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIlZpcnR1YWxHYW1lcGFk
LmgiCiAKLSNpZiBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREsp
CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAogI2ltcG9ydCA8SElEL0hJRFVzZXJEZXZp
Y2UuaD4KIApAQCAtMTU2LDQgKzE1Niw0IEBAIEdhbWVwYWRNYXBwaW5nIFZpcnR1YWxHYW1lcGFk
Ojpsb2dpdGVjaEY3MTBNYXBwaW5nKCkKIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQog
Ci0jZW5kaWYgLy8gSEFWRShISURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RL
KQorI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvTWljcm9zb2Z0WGJveE9uZS5tbSBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9NaWNyb3NvZnRYYm94T25lLm1t
CmluZGV4IDg5MzdiMDU2MmU1NWI4NmFlNTQzNzJjMTliOGZlOTZkYjgyOGIyYjMuLmRkZmI2NTVl
MmNkNTk1ZTg0ODFhZDkyMzE3MThjMmM3ZGI0ZjllYTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9NaWNyb3NvZnRYYm94T25lLm1tCisrKyBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9NaWNyb3NvZnRYYm94T25lLm1t
CkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIlZpcnR1YWxH
YW1lcGFkLmgiCiAKLSNpZiBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5B
TF9TREspCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAogI2ltcG9ydCA8SElEL0hJRFVz
ZXJEZXZpY2UuaD4KIApAQCAtMjg5LDQgKzI4OSw0IEBAIEdhbWVwYWRNYXBwaW5nIFZpcnR1YWxH
YW1lcGFkOjptaWNyb3NvZnRYYm94T25lTWFwcGluZygpCiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RX
ZWJLaXRBUEkKIAotI2VuZGlmIC8vIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lO
VEVSTkFMX1NESykKKyNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1NoZW56aGVuTG9uZ3No
ZW5nd2VpVGVjaG5vbG9neUdhbWVwYWQubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1l
cGFkTWFwcGluZ3MvU2hlbnpoZW5Mb25nc2hlbmd3ZWlUZWNobm9sb2d5R2FtZXBhZC5tbQppbmRl
eCBmNzMyNjNkYjNiY2E0ZjA1OWY2N2NjOTIxOWZhNDc4ZjZkM2JhZGU2Li5iYTMzN2YyNmQ3YjEw
MTgzMDhmZWRjMmQxOWM5NThiMDhkZDE5YTMyIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU2hlbnpoZW5Mb25nc2hlbmd3ZWlUZWNobm9sb2d5R2Ft
ZXBhZC5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU2hl
bnpoZW5Mb25nc2hlbmd3ZWlUZWNobm9sb2d5R2FtZXBhZC5tbQpAQCAtMjYsNyArMjYsNyBAQAog
I2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJWaXJ0dWFsR2FtZXBhZC5oIgogCi0jaWYgSEFW
RShISURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2lmIFVTRShBUFBM
RV9JTlRFUk5BTF9TREspCiAKICNpbXBvcnQgPEhJRC9ISURVc2VyRGV2aWNlLmg+CiAKQEAgLTE1
NCw0ICsxNTQsNCBAQCBHYW1lcGFkTWFwcGluZyBWaXJ0dWFsR2FtZXBhZDo6c2hlbnpoZW5Mb25n
c2hlbmd3ZWlUZWNobm9sb2d5R2FtZXBhZE1hcHBpbmcoKQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0
V2ViS2l0QVBJCiAKLSNlbmRpZiAvLyBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspCisjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Tb255RHVhbFNob2Nr
My5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Tb255RHVhbFNo
b2NrMy5tbQppbmRleCA0MGZkMDM1MzE0Yzg0ZjFkOTBkMzBlZjdjYWEyNTJjODU2M2Q4MmQ1Li5k
NjAxMmI5ZjdlMzQ4YmU3NWEzODI5YmUyMmZkYmM1YmI5ODQyNTEyIDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU29ueUR1YWxTaG9jazMubW0KKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1NvbnlEdWFsU2hvY2sz
Lm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIlZpcnR1
YWxHYW1lcGFkLmgiCiAKLSNpZiBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAogI2ltcG9ydCA8SElEL0hJ
RFVzZXJEZXZpY2UuaD4KIApAQCAtMjAxLDQgKzIwMSw0IEBAIEdhbWVwYWRNYXBwaW5nIFZpcnR1
YWxHYW1lcGFkOjpzb255RHVhbHNob2NrM01hcHBpbmcoKQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0
V2ViS2l0QVBJCiAKLSNlbmRpZiAvLyBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspCisjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Tb255RHVhbFNob2Nr
NC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Tb255RHVhbFNo
b2NrNC5tbQppbmRleCAzMDZhMzZkYTZkYWUzMjM5NDk3ODI0NDUzYWJhYzc3MjQ3NzFmYmE1Li5l
YWQxMWZhZTdjYWUzOTZjMzkyMWU5OGEwNjllNDJjMWEzN2IwYzViIDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU29ueUR1YWxTaG9jazQubW0KKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1NvbnlEdWFsU2hvY2s0
Lm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIlZpcnR1
YWxHYW1lcGFkLmgiCiAKLSNpZiBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAogI2ltcG9ydCA8SElEL0hJ
RFVzZXJEZXZpY2UuaD4KIApAQCAtMzI4LDQgKzMyOCw0IEBAIEdhbWVwYWRNYXBwaW5nIFZpcnR1
YWxHYW1lcGFkOjpzb255RHVhbHNob2NrNE1hcHBpbmcoKQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0
V2ViS2l0QVBJCiAKLSNlbmRpZiAvLyBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspCisjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9TdGVlbFNlcmllc05p
bWJ1cy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9TdGVlbFNl
cmllc05pbWJ1cy5tbQppbmRleCBmYjE5ZWI0ZTdkYmFjMWY5NTQ4YjBmZTYzZTIzNDljNzBmMWQ3
NTUzLi43OTQ0NGY1ZTE0MjdkMmEyOWQ0NGQ3OGU0YmUxNjA0ZGZlMjg0NDJkIDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU3RlZWxTZXJpZXNOaW1i
dXMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1N0ZWVs
U2VyaWVzTmltYnVzLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNp
bXBvcnQgIlZpcnR1YWxHYW1lcGFkLmgiCiAKLSNpZiBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVT
RShBUFBMRV9JTlRFUk5BTF9TREspCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAogI2lt
cG9ydCA8SElEL0hJRFVzZXJEZXZpY2UuaD4KIApAQCAtMTQ0LDQgKzE0NCw0IEBAIEdhbWVwYWRN
YXBwaW5nIFZpcnR1YWxHYW1lcGFkOjpzdGVlbFNlcmllc05pbWJ1c01hcHBpbmcoKQogCiB9IC8v
IG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKLSNlbmRpZiAvLyBIQVZFKEhJRF9GUkFNRVdPUksp
ICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFM
X1NESykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5n
cy9TdW5MaWdodEFwcGxpY2F0aW9uR2VuZXJpY05FUy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
bWFjL0dhbWVwYWRNYXBwaW5ncy9TdW5MaWdodEFwcGxpY2F0aW9uR2VuZXJpY05FUy5tbQppbmRl
eCA2YzU1OWY5ZGY0ZjkwN2M3YTgwM2Y1MWQ0ODdjZjYwNTYwNDhjNjJiLi41NTYwNTg1ZTA4N2I2
MzMxYTdhZWYxYjI0ZmZlNGEwOWI2MDcxZmY0IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU3VuTGlnaHRBcHBsaWNhdGlvbkdlbmVyaWNORVMubW0K
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1N1bkxpZ2h0QXBw
bGljYXRpb25HZW5lcmljTkVTLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcu
aCIKICNpbXBvcnQgIlZpcnR1YWxHYW1lcGFkLmgiCiAKLSNpZiBIQVZFKEhJRF9GUkFNRVdPUksp
ICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykK
IAogI2ltcG9ydCA8SElEL0hJRFVzZXJEZXZpY2UuaD4KIApAQCAtMTQxLDQgKzE0MSw0IEBAIEdh
bWVwYWRNYXBwaW5nIFZpcnR1YWxHYW1lcGFkOjpzdW5MaWdodEFwcGxpY2F0aW9uR2VuZXJpY05F
U01hcHBpbmcoKQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKLSNlbmRpZiAvLyBI
QVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjZW5kaWYgLy8g
VVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
bWFjL1ZpcnR1YWxHYW1lcGFkLmggYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9WaXJ0dWFsR2Ft
ZXBhZC5oCmluZGV4IGIyMWI5NTU2OTQ3MDMyNDcxMzI3NWRjMTViMWFiOTVlN2UwZWVjYzQuLjBk
ODc2ZWY0OWI1OGEzN2IxNWIwZjQ5ODcyNGMxNDY1NTllMjM0MzIgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvbWFjL1ZpcnR1YWxHYW1lcGFkLmgKKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9tYWMvVmlydHVhbEdhbWVwYWQuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9u
Y2UKIAotI2lmIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykK
KyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAjaW5jbHVkZSA8ZGlzcGF0Y2gvZGlzcGF0
Y2guaD4KICNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgpAQCAtMTIzLDQgKzEyMyw0IEBAIHBy
aXZhdGU6CiB9OwogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQogCi0jZW5kaWYgLy8gSEFW
RShISURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2VuZGlmIC8vIFVT
RShBUFBMRV9JTlRFUk5BTF9TREspCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL21h
Yy9WaXJ0dWFsR2FtZXBhZC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1ZpcnR1YWxHYW1l
cGFkLm1tCmluZGV4IDBmNDI0OThhZDQwZDJhMGQzZjg0ZmY4MWFhZGJjYzg3MzliZmUwYTcuLjEz
Nzg5MGQ2YjZiYWFmMjBmY2I5ZWY0MDAzOGY0OTBmNjIzODRhOGEgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvbWFjL1ZpcnR1YWxHYW1lcGFkLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvbWFjL1ZpcnR1YWxHYW1lcGFkLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJj
b25maWcuaCIKICNpbXBvcnQgIlZpcnR1YWxHYW1lcGFkLmgiCiAKLSNpZiBIQVZFKEhJRF9GUkFN
RVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaWYgVVNFKEFQUExFX0lOVEVSTkFM
X1NESykKIAogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CiAjaW1wb3J0IDxISUQv
SElEQmFzZS5oPgpAQCAtOTcsNCArOTcsNCBAQCB2b2lkIFZpcnR1YWxHYW1lcGFkOjpwdWJsaXNo
UmVwb3J0KCkKIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQogCi0jZW5kaWYgLy8gSEFW
RShISURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2VuZGlmIC8vIFVT
RShBUFBMRV9JTlRFUk5BTF9TREspCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2Nv
Y29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0KaW5kZXggMmQwNTE4MjUyNzc4NjJjZDdmNTExY2Qy
ZGQzMjgwMTRjNWE4ZmNlNC4uN2MxMDk2NDJkOTUzOTQzZTIyODk1ZTVhOTA3ZWJmMDlmNDg2NjU0
YyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxl
ckNvY29hLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdENvbnRyb2xs
ZXJDb2NvYS5tbQpAQCAtNDYxLDExICs0NjEsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjphZGRU
ZXN0S2V5VG9LZXljaGFpbihjb25zdCBTdHJpbmcmIHByaXZhdGVLZXlCYXNlNjQsIGNvbnN0CiAg
ICAgICAgIChpZClrU2VjQXR0ckxhYmVsOiBhdHRyTGFiZWwsCiAgICAgICAgIChpZClrU2VjQXR0
ckFwcGxpY2F0aW9uVGFnOiBhZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0aEJhc2U2NEVu
Y29kZWRTdHJpbmc6YXBwbGljYXRpb25UYWdCYXNlNjQgb3B0aW9uczpOU0RhdGFCYXNlNjREZWNv
ZGluZ0lnbm9yZVVua25vd25DaGFyYWN0ZXJzXSkuZ2V0KCksCiAgICAgICAgIChpZClrU2VjQXR0
ckFjY2Vzc2libGU6IChpZClrU2VjQXR0ckFjY2Vzc2libGVBZnRlckZpcnN0VW5sb2NrLAotI2lm
IEhBVkUoREFUQV9QUk9URUNUSU9OX0tFWUNIQUlOKQogICAgICAgICAoaWQpa1NlY1VzZURhdGFQ
cm90ZWN0aW9uS2V5Y2hhaW46IEBZRVMKLSNlbHNlCi0gICAgICAgIChpZClrU2VjQXR0ck5vTGVn
YWN5OiBAWUVTCi0jZW5kaWYKICAgICB9OwogICAgIE9TU3RhdHVzIHN0YXR1cyA9IFNlY0l0ZW1B
ZGQoKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilhZGRRdWVyeSwgTlVMTCk7CiAgICAgQVNTRVJU
X1VOVVNFRChzdGF0dXMsICFzdGF0dXMpOwpAQCAtNDc2LDExICs0NzIsNyBAQCB2b2lkIFRlc3RD
b250cm9sbGVyOjpjbGVhblVwS2V5Y2hhaW4oY29uc3QgU3RyaW5nJiBhdHRyTGFiZWwsIGNvbnN0
IFN0cmluZyYgYXBwbAogICAgIGF1dG8gZGVsZXRlUXVlcnkgPSBhZG9wdE5TKFtbTlNNdXRhYmxl
RGljdGlvbmFyeSBhbGxvY10gaW5pdF0pOwogICAgIFtkZWxldGVRdWVyeSBzZXRPYmplY3Q6KGlk
KWtTZWNDbGFzc0tleSBmb3JLZXk6KGlkKWtTZWNDbGFzc107CiAgICAgW2RlbGV0ZVF1ZXJ5IHNl
dE9iamVjdDphdHRyTGFiZWwgZm9yS2V5OihpZClrU2VjQXR0ckxhYmVsXTsKLSNpZiBIQVZFKERB
VEFfUFJPVEVDVElPTl9LRVlDSEFJTikKICAgICBbZGVsZXRlUXVlcnkgc2V0T2JqZWN0OkBZRVMg
Zm9yS2V5OihpZClrU2VjVXNlRGF0YVByb3RlY3Rpb25LZXljaGFpbl07Ci0jZWxzZQotICAgIFtk
ZWxldGVRdWVyeSBzZXRPYmplY3Q6QFlFUyBmb3JLZXk6KGlkKWtTZWNBdHRyTm9MZWdhY3ldOwot
I2VuZGlmCiAgICAgaWYgKCEhYXBwbGljYXRpb25MYWJlbEJhc2U2NCkKICAgICAgICAgW2RlbGV0
ZVF1ZXJ5IHNldE9iamVjdDphZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0aEJhc2U2NEVu
Y29kZWRTdHJpbmc6YXBwbGljYXRpb25MYWJlbEJhc2U2NCBvcHRpb25zOk5TRGF0YUJhc2U2NERl
Y29kaW5nSWdub3JlVW5rbm93bkNoYXJhY3RlcnNdKS5nZXQoKSBmb3JLZXk6KGlkKWtTZWNBdHRy
QXBwbGljYXRpb25MYWJlbF07CiAKQEAgLTQ5NCwxMSArNDg2LDcgQEAgYm9vbCBUZXN0Q29udHJv
bGxlcjo6a2V5RXhpc3RzSW5LZXljaGFpbihjb25zdCBTdHJpbmcmIGF0dHJMYWJlbCwgY29uc3Qg
U3RyaW5nJgogICAgICAgICAoaWQpa1NlY0F0dHJLZXlDbGFzczogKGlkKWtTZWNBdHRyS2V5Q2xh
c3NQcml2YXRlLAogICAgICAgICAoaWQpa1NlY0F0dHJMYWJlbDogYXR0ckxhYmVsLAogICAgICAg
ICAoaWQpa1NlY0F0dHJBcHBsaWNhdGlvbkxhYmVsOiBhZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBp
bml0V2l0aEJhc2U2NEVuY29kZWRTdHJpbmc6YXBwbGljYXRpb25MYWJlbEJhc2U2NCBvcHRpb25z
Ok5TRGF0YUJhc2U2NERlY29kaW5nSWdub3JlVW5rbm93bkNoYXJhY3RlcnNdKS5nZXQoKSwKLSNp
ZiBIQVZFKERBVEFfUFJPVEVDVElPTl9LRVlDSEFJTikKICAgICAgICAgKGlkKWtTZWNVc2VEYXRh
UHJvdGVjdGlvbktleWNoYWluOiBAWUVTCi0jZWxzZQotICAgICAgICAoaWQpa1NlY0F0dHJOb0xl
Z2FjeTogQFlFUwotI2VuZGlmCiAgICAgfTsKICAgICBPU1N0YXR1cyBzdGF0dXMgPSBTZWNJdGVt
Q29weU1hdGNoaW5nKChfX2JyaWRnZSBDRkRpY3Rpb25hcnlSZWYpcXVlcnksIE5VTEwpOwogICAg
IGlmICghc3RhdHVzKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439897</attachid>
            <date>2021-10-01 12:22:06 -0700</date>
            <delta_ts>2021-10-01 12:42:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231085-20211001122205.patch</filename>
            <type>text/plain</type>
            <size>115242</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMzg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
MWUyNzVhZmMxOWIzYzk5NGEwZGUxMTNkNzNiODc4OGFmYmE5Y2Q0Li5hN2YzMTU4NGRmOTg3Yzg3
YzM2ZjkzZDgwNTllODkwY2NhZjNhMmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAyMS0xMC0wMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIERyb3Agc3VwcG9ydCBmb3IgbWFjT1MgPCAxMC4xNQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMDg1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBBUEkvSlNWYWx1ZS5oOgorICAgICAg
ICAqIEFQSS90ZXN0cy90ZXN0YXBpLm1tOgorICAgICAgICAodGVzdE9iamVjdGl2ZUNBUElNYWlu
KToKKwogMjAyMS0xMC0wMSAgWGFuIEzDs3BleiAgPHhhbkBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtKU0NdWzMyYml0XSBGaXggYnVpbGQgYWZ0ZXIgdW5saW5rZWQgYmFzZWxpbmUgSklUCmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL0NoYW5nZUxvZwppbmRleCA4MDgzMmFhOWEzMzM4YTBjNDM3NjBk
YzM0Njc3YzQzZWE0YjVmMzFiLi4zNTc3MzA5MGQzODJlOGViZjllNjIwN2ZiOTc4MjRhMmFkNWZm
NWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBA
QAorMjAyMS0xMC0wMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAg
IERyb3Agc3VwcG9ydCBmb3IgbWFjT1MgPCAxMC4xNQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvVmlkZW9Q
cm9jZXNzaW5nU29mdExpbmsuaDoKKwogMjAyMS0wOS0zMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CiAKICAgICAgICAgU3VwcG9ydCBBRVMgR0NNIGNpcGhlcnMgaW4gV2ViUlRD
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9n
CmluZGV4IGMyMmFlZmJlZTFiN2E5M2JiYjk0MTU3ODg4YWZlMmNhZmE0NGI3NzYuLjY0ZjZkMThl
N2I0YWU4NGI0ODgyYTg3ZjRjMmQ0N2E4ZTY1ZTZhZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MjEtMTAtMDEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9w
IHN1cHBvcnQgZm9yIG1hY09TIDwgMTAuMTUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMTA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoKKyAgICAgICAg
KiB3dGYvUGxhdGZvcm1IYXZlLmg6CisgICAgICAgICogd3RmL1BsYXRmb3JtVXNlLmg6CisKIDIw
MjEtMTAtMDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFk
ZCBzdXBwb3J0IGZvciBQdXNoRXZlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjMDVmMGVkOTRkYzBlYmYyNjk1
YjYzZjEwZmVkMmFiNGFjMGQ0ZGQ2Li42NDNlYTY2MmM0Y2YxMTAyNmMxOTYxNzk1NTJjNDg0MzFk
M2FhMGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMTAtMDEgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIHN1cHBvcnQgZm9yIG1hY09T
IDwgMTAuMTUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzMTA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OnBsYXRmb3JtVmVyc2lvbk5hbWUgY29uc3QpOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY29jb2EvQ29va2llQ29jb2EubW06CisKIDIwMjEtMTAt
MDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBw
b3J0IGZvciBQdXNoRXZlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IGE5MTdlOTUwOTRkY2UyNTA3
M2FhZjNkNWJlMzg4N2YxZjZjMGU5NTAuLmM2ZWU3ZmFlMjE5ZDg4YmE3NDk5ZTI3OWQ1OTU2NTYz
OWE1Njc2YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTEwLTAx
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHJvcCBzdXBwb3J0
IGZvciBtYWNPUyA8IDEwLjE1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzEwODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHBhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbToKKyAgICAgICAg
KiBwYWwvc3BpL2NvY29hL0FWRm91bmRhdGlvblNQSS5oOgorICAgICAgICAqIHBhbC9zcGkvbWFj
L05TTWVudVNQSS5oOgorICAgICAgICAqIHBhbC9zcGkvbWFjL05TVmlld1NQSS5oOgorCiAyMDIx
LTA5LTMwICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9T
XVtHUFUgUHJvY2Vzc10gc3VwcG9ydCBgPGF0dGFjaG1lbnQ+YApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA5ZGJjMDRm
MzJiOTZhNWFhYTM0NjcyZThlNjc3NjkxYjg5NGI1NTc3Li5jN2NiMGQ2MGU1ZWE4MDhlYjZkNWU0
YzgzOGI2YzI1ZTI4MzhlNzY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTEwLTAx
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHJvcCBzdXBwb3J0
IGZvciBtYWNPUyA8IDEwLjE1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzEwODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQ
cm9jZXNzLnNiLmluOgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29h
Lm1tOgorICAgICAgICAoLVtXS1NlY3VyZUNvZGluZ0FyY2hpdmluZ0RlbGVnYXRlIGFyY2hpdmVy
OndpbGxFbmNvZGVPYmplY3Q6XSk6CisgICAgICAgICogU2hhcmVkL0NvY29hL0NvcmVUZXh0SGVs
cGVycy5tbToKKyAgICAgICAgKFdlYktpdDo6Zm9udFdpdGhBdHRyaWJ1dGVzKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6Y3JlYXRlTmV0d29ya0V4dGVuc2lvbnNTYW5kYm94RXh0ZW5zaW9ucyk6
CisgICAgICAgICogV2ViQXV0aG5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LldlYkF1dGhu
UHJvY2Vzcy5zYi5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNz
LnNiLmluOgorCiAyMDIxLTEwLTAxICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29t
PgogCiAgICAgICAgIFByb3RlY3QgV2ViRnJhbWUgZHVyaW5nIGludmFsaWRhdGVQb2xpY3lMaXN0
ZW5lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggNzMwZTYxZDhkMjk2YzY4ZjQ2
ZmU5YzI4MjVkMWUxMWJmNmZjNGYwYS4uN2JlNDUyNTgzYjE3MGExNGRiNTEyNzYwMjI2YThmNWEx
ZjQ2ODBiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDIxLTEwLTAxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHJv
cCBzdXBwb3J0IGZvciBtYWNPUyA8IDEwLjE1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViSFRNTFZpZXcubW06CisgICAgICAgICgt
W1dlYkhUTUxWaWV3IF9yZWN1cnNpdmU6ZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6aW5Db250
ZXh0OnN0b3BBdExheWVyQmFja2VkVmlld3M6XSk6CisgICAgICAgICgtW1dlYkhUTUxWaWV3IF9y
ZWN1cnNpdmU6ZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6aW5Db250ZXh0OnN0b3BBdExheWVy
QmFja2VkVmlld3M6X3JlY3Vyc2l2ZTpkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTppbkNvbnRl
eHQ6c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOnN0b3BBdExheWVyQmFja2VkVmlld3M6
XSk6IERlbGV0ZWQuCisKIDIwMjEtMDktMjkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBNYWtlIFdlYkxvY2FsaXplZFN0cmluZygpIHRocmVhZC1zYWZlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWUuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNWYWx1ZS5oCmluZGV4IDFiODVkODdlMGMxNjEwOTZjNWQ3ODc1Mzhi
YTI1NTBjZTEzMzI2YTUuLjdiYjdjMjVhMGM4ZTVlNjhjY2Y2OTFkZWI0MmVlNjU4OTM1ZDM1ZTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZS5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZS5oCkBAIC01NDksMTEgKzU0OSw3IEBAIENy
ZWF0ZSBhIEpTVmFsdWUgZnJvbSBhIENHUmVjdC4KICAqLwogQGludGVyZmFjZSBKU1ZhbHVlIChQ
cm9wZXJ0eUFjY2VzcykKIAotI2lmIChkZWZpbmVkKF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApIHx8IChk
ZWZpbmVkKF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEKSAmJiBfX0lQSE9ORV9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCA8IDEzMDAwMCkKLXR5cGVkZWYgTlNTdHJpbmcgKkpTVmFsdWVQ
cm9wZXJ0eTsKLSNlbHNlCiB0eXBlZGVmIGlkIEpTVmFsdWVQcm9wZXJ0eTsKLSNlbmRpZgogCiAv
KiEKICBAbWV0aG9kCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3Rz
L3Rlc3RhcGkubW0gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL3Rlc3RhcGkubW0K
aW5kZXggZjJlYzQyYmE4ODhhZjc0OWE2MDRjNzgwN2ZlM2Y1NTEzOTQ2NTRlYy4uNDNhZjI5OTY2
YTMzZDMwZWZlZTJlMzVhZjMxOGUyNjk2YTBiYjI2MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLm1tCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvdGVzdHMvdGVzdGFwaS5tbQpAQCAtNjQzLDEwICs2NDMsNiBAQCBzdGF0aWMgdm9pZCB0
ZXN0T2JqZWN0aXZlQ0FQSU1haW4oKQogICAgICAgICBjaGVja1Jlc3VsdChAIlNob3VsZCBiZSBh
IGNyZWF0ZWQgZnJvbSBPYmotQyIsIHN5bWJvbC5pc1N5bWJvbCk7CiAgICAgfQogCi0vLyBPbGRl
ciBwbGF0Zm9ybXMgaWZkZWYgdGhlIHR5cGUgb2Ygc29tZSBzZWxlY3RvcnMgc28gdGhlc2UgdGVz
dHMgZG9uJ3Qgd29yay4KLS8vIEZJWE1FOiBSZW1vdmUgdGhpcyB3aGVuIHdlIHN0b3AgYnVpbGRp
bmcgZm9yIG1hY09TIDEwLjE0L2lPUyAxMi4KLSNpZiAoZGVmaW5lZChfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTUwMCkgfHwgKGRlZmluZWQoX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQpICYmIF9f
SVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkKLQogICAgIEBhdXRvcmVs
ZWFzZXBvb2wgewogICAgICAgICBKU0NvbnRleHQgKmNvbnRleHQgPSBbW0pTQ29udGV4dCBhbGxv
Y10gaW5pdF07CiAgICAgICAgIEpTVmFsdWUgKmFycmF5SXRlcmF0b3IgPSBbY29udGV4dCBldmFs
dWF0ZVNjcmlwdDpAIkFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIl07CkBAIC03MzIs
OCArNzI4LDYgQEAgc3RhdGljIHZvaWQgdGVzdE9iamVjdGl2ZUNBUElNYWluKCkKICAgICAgICAg
Y2hlY2tSZXN1bHQoQCJpdGVyYXRpb24gY291bnQgc2hvdWxkIGJlIDEiLCBbY291bnQgdG9VSW50
MzJdID09IDEpOwogICAgIH0KIAotI2VuZGlmCi0KICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKICAg
ICAgICAgSlNDb2xsZWN0aW9uKiBteVByaXZhdGVQcm9wZXJ0aWVzID0gW1tKU0NvbGxlY3Rpb24g
YWxsb2NdIGluaXRdOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1ZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmggYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1ZpZGVvUHJv
Y2Vzc2luZ1NvZnRMaW5rLmgKaW5kZXggY2EwZDk5OGRkYTcwYjhmMzJjYzIzMzIzNzFjN2U2ZTIz
ZDBhNmJlYS4uOWFjZjA4ZjY2NGE0ODk2NTA2ZTA2OWNlYzQxODVkMTEwNDAwMzY3MiAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktp
dC9WaWRlb1Byb2Nlc3NpbmdTb2Z0TGluay5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsuaApA
QCAtNDIsNyArNDIsNyBAQAogI2RlZmluZSBFTkFCTEVfVkNQX0ZPUl9IMjY0X0JBU0VMSU5FIF9f
SVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE1MDAwMAogI2VsaWYgKGRlZmluZWQo
VEFSR0VUX09TX01BQykgJiYgVEFSR0VUX09TX01BQykKICNkZWZpbmUgRU5BQkxFX1ZDUF9FTkNP
REVSIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMTAwMDAKLSNkZWZpbmUgRU5B
QkxFX1ZDUF9WVEJfRU5DT0RFUiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTUwMCAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTEwMDAwCisjZGVmaW5l
IEVOQUJMRV9WQ1BfVlRCX0VOQ09ERVIgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8
IDExMDAwMAogI2RlZmluZSBIQVZFX1ZUQl9SRVFVSVJFRExPV0xBVEVOQ1kgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDAKICNkZWZpbmUgRU5BQkxFX1ZDUF9GT1JfSDI2
NF9CQVNFTElORSBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEyMDAwMAogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmggYi9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKaW5kZXggODdiMmIxY2NlY2I5NWU2
ZWEyMjY3Y2IzNWJmNmExMmUyZTZhNzU5YS4uZjY5NzI5Njg1NzBmNGJhMGFiMjlmMThkY2RiZTdm
MWNlYmMzYmFkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2Nv
YS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaApAQCAtNjcsNyAr
NjcsNyBAQAogI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZX0RFRkVSUkVEX0xJTkVfSVRFTSAxCiAj
ZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVlfSU5TVEFMTE1FTlRTKSAmJiBI
QVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQorI2lmICFkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVlf
SU5TVEFMTE1FTlRTKQogI2RlZmluZSBFTkFCTEVfQVBQTEVfUEFZX0lOU1RBTExNRU5UUyAxCiAj
ZW5kaWYKIApAQCAtMTcyLDcgKzE3Miw3IEBACiAjZW5kaWYKIAogLy8gRklYTUU6IFNlZW1zIGxp
a2VseSB0aGlzIGNhbiBiZSBlbmFibGVkIGZvciB0dk9TLgotI2lmICFkZWZpbmVkKEVOQUJMRV9D
U1NfQ09OSUNfR1JBRElFTlRTKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA8IDEwMTQwMCkgJiYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgIWRl
ZmluZWQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICYmICFQTEFURk9STShBUFBMRVRWKQog
I2RlZmluZSBFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUyAxCiAjZW5kaWYKIApAQCAtMjI4LDcg
KzIyOCw3IEBACiAjZGVmaW5lIEVOQUJMRV9FRElUQUJMRV9SRUdJT04gMQogI2VuZGlmCiAKLSNp
ZiAhZGVmaW5lZChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTQwMCkgJiYgIVBMQVRGT1JNKE1B
Q0NBVEFMWVNUKQorI2lmICFkZWZpbmVkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICYmICFQTEFU
Rk9STShNQUNDQVRBTFlTVCkKICNkZWZpbmUgRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSAxCiAjZW5k
aWYKIApAQCAtNDAyLDcgKzQwMiw3IEBACiAjZW5kaWYKIAogLy8gRklYTUU6IFdlIGFsbW9zdCBj
ZXJ0YWlubHkgZG8gbm90IG5lZWQgdGhpcyBtb25vc3BhY2UgZm9udCBleGNlcHRpb24gZm9yIHdh
dGNoT1MgYW5kIHR2T1MuCi0jaWYgIWRlZmluZWQoRU5BQkxFX01PTk9TUEFDRV9GT05UX0VYQ0VQ
VElPTikgJiYgKChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPCAxMDE1MDApIHx8IFBMQVRGT1JNKFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQUExFVFYpKQor
I2lmICFkZWZpbmVkKEVOQUJMRV9NT05PU1BBQ0VfRk9OVF9FWENFUFRJT04pICYmIChQTEFURk9S
TShXQVRDSE9TKSB8fCBQTEFURk9STShBUFBMRVRWKSkKICNkZWZpbmUgRU5BQkxFX01PTk9TUEFD
RV9GT05UX0VYQ0VQVElPTiAxCiAjZW5kaWYKIApAQCAtNDk0LDcgKzQ5NCw3IEBACiAjZGVmaW5l
IEVOQUJMRV9SRVNPVVJDRV9VU0FHRSAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9S
RVZFQUwpICYmICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEIDwgMTAxNTAwKSAmJiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYp
CisjaWYgIWRlZmluZWQoRU5BQkxFX1JFVkVBTCkgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQ
TEFURk9STShBUFBMRVRWKQogI2RlZmluZSBFTkFCTEVfUkVWRUFMIDEKICNlbmRpZgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtSGF2ZS5oCmluZGV4IDE5N2YxYmE3NWY0ZTBjMmM5ZmQ2NDA1ODllNTU5YzNjMjI1ZTM0
Y2QuLmIyNzViMzc4M2VmMDMwMTExMWI0YjcwOTQ1ODg0ODcwNGI4OGZkYjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtSGF2ZS5oCkBAIC0yNTAsNyArMjUwLDcgQEAKICNkZWZpbmUgSEFWRV9GSkNWVFpTX0lOU1RS
VUNUSU9OIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAm
JiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkKKyNpZiBQTEFURk9S
TShDT0NPQSkgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKSAmJiAh
UExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAjZGVmaW5lIEhBVkVfQVBQX0xJTktTIDEKICNlbmRpZgog
CkBAIC0zMTgsMTAgKzMxOCw3IEBACiAjZGVmaW5lIEhBVkVfSU9TVVJGQUNFX0FDQ0VMRVJBVE9S
IDEKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDE1MDApIFwKLSAgICB8fCAoKChQTEFURk9STShJT1MpICYmICFQTEFU
Rk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSkgJiYg
X19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwKSBcCi0gICAgfHwgKFBM
QVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikgJiYgX19X
QVRDSF9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSA2MDAwMCkgXAotICAgIHx8IChQTEFURk9S
TShBUFBMRVRWKSAmJiAhUExBVEZPUk0oSU9TX0ZBTUlMWV9TSU1VTEFUT1IpICYmIF9fVFZfT1Nf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwKQorI2lmIFBMQVRGT1JNKE1BQykgJiYgIVBM
QVRGT1JNKElPU19GQU1JTFlfU0lNVUxBVE9SKQogI2RlZmluZSBIQVZFX0lPU1VSRkFDRV9TRVRf
T1dORVJTSElQIDEKICNlbmRpZgogCkBAIC0zNTgsNyArMzU1LDcgQEAKICNkZWZpbmUgSEFWRV9U
T1VDSF9CQVIgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9STShN
QUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApICYmICFQTEFU
Rk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKKyNpZiBQTEFURk9STShDT0NPQSkg
JiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBIQVZF
X0hTVFNfU1RPUkFHRV9QQVRIIDEKICNlbmRpZgogCkBAIC0zODcsMTAgKzM4NCw2IEBACiAjZGVm
aW5lIEhBVkVfRk9VTkRBVElPTl9XSVRIX1NBTUVfU0lURV9DT09LSUVfU1VQUE9SVCAxCiAjZW5k
aWYKIAotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VE
IDwgMTAxNDAwCi0jZGVmaW5lIEhBVkVfTlNIVFRQQ09PS0lFU1RPUkFHRV9fSU5JVFdJVEhJREVO
VElGSUVSX1dJVEhfSU5BQ0NVUkFURV9OVUxMQUJJTElUWSAxCi0jZW5kaWYKLQogI2lmIFBMQVRG
T1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkgfHwgUExB
VEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpCiAjZGVmaW5lIEhBVkVfT1NfREFSS19NT0RFX1NV
UFBPUlQgMQogI2VuZGlmCkBAIC0zOTksNyArMzkyLDcgQEAKICNkZWZpbmUgSEFWRV9DR19GT05U
X1JFTkRFUklOR19HRVRfRk9OVF9TTU9PVEhJTkdfRElTQUJMRUQgMQogI2VuZGlmCiAKLSNpZiBQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAw
CisjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX1JFQURfT05MWV9TWVNURU1fVk9MVU1F
IDEKICNlbmRpZgogCkBAIC00MzEsMTEgKzQyNCwxMSBAQAogI2RlZmluZSBIQVZFX0FDQ0VTU0lC
SUxJVFlfQlVORExFU19QQVRIIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmICEo
UExBVEZPUk0oTUFDKSAmJiAhKF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAx
NDAwICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDE0MDQpKQorI2lmIFBM
QVRGT1JNKENPQ09BKQogI2RlZmluZSBIQVZFX0NGTkVUV09SS19PVkVSUklERV9TRVNTSU9OX0NP
T0tJRV9BQ0NFUFRfUE9MSUNZIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmICEo
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAw
KSAmJiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgUExBVEZP
Uk0oQ09DT0EpICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKICNk
ZWZpbmUgSEFWRV9DRk5FVFdPUktfTlNVUkxTRVNTSU9OX1NUUklDVFJVU1RFVkFMVUFURSAxCiAj
ZW5kaWYKIApAQCAtNDQ2LDIxICs0MzksNiBAQAogI2RlZmluZSBIQVZFX0NGTkVUV09SS19OU1VS
TFNFU1NJT05fQ09OTkVDVElPTl9DQUNIRV9MSU1JVFMgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKLSNkZWZpbmUgSEFWRV9DRk5FVFdPUktfTkVHT1RJQVRFRF9T
U0xfUFJPVE9DT0xfQ0lQSEVSIDEKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IChQTEFURk9STShJT1Nf
RkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDApIHx8
IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSB8fCBQTEFURk9STShXQVRDSE9TKSB8fCBQTEFURk9STShB
UFBMRVRWKQotI2RlZmluZSBIQVZFX0NGTkVUV09SS19TQU1FU0lURV9DT09LSUVfQVBJIDEKLSNl
bmRpZgotCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMDE1MDApIFwKLSAgICB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDApIFwKLSAgICB8fCAoUExBVEZPUk0oV0FUQ0hP
UykgJiYgX19XQVRDSF9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSA2MDAwMCkgXAotICAgIHx8
IChQTEFURk9STShBUFBMRVRWKSAmJiBfX1RWX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEz
MDAwMCkKLSNkZWZpbmUgSEFWRV9DRk5FVFdPUktfTUVUUklDU19DT05ORUNUSU9OX1BST1BFUlRJ
RVMgMQotI2VuZGlmCi0KICNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPCAxMjAwMDAKICNkZWZpbmUgSEFWRV9TQUZBUklfRk9SX1dFQktJVF9ERVZF
TE9QTUVOVF9SRVFVSVJJTkdfRVhUUkFfU1lNQk9MUyAxCiAjZW5kaWYKQEAgLTQ3NywxNSArNDU1
LDE1IEBACiAjZGVmaW5lIEhBVkVfQ0ZORVRXT1JLX0FMVEVSTkFUSVZFX1NFUlZJQ0UgMQogI2Vu
ZGlmCiAKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAxNTAwCisjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX0NTQ0hFQ0tGSVhE
SVNBQkxFIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKSAmJiAhUExBVEZP
Uk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgUExBVEZPUk0oQ09DT0EpICYm
ICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKICNkZWZpbmUgSEFWRV9N
RE5TX0ZBU1RfUkVHSVNUUkFUSU9OIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYm
ICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAx
NTAwKSAmJiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgUExB
VEZPUk0oQ09DT0EpICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikK
ICNkZWZpbmUgSEFWRV9DVEZPTlRDUkVBVEVGT1JDSEFSQUNURVJTV0lUSExBTkdVQUdFQU5ET1BU
SU9OIDEKICNlbmRpZgogCkBAIC01MTgsMTEgKzQ5NiwxMSBAQAogI2RlZmluZSBIQVZFX0xPT0tV
UF9HRVNUVVJFX1JFQ09HTklaRVIgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKKyNpZiBQTEFURk9STShDT0NPQSkKICNkZWZpbmUgSEFWRV9BTExPV1NfU0VOU0lU
SVZFX0xPR0dJTkcgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
KyNpZiBQTEFURk9STShDT0NPQSkKICNkZWZpbmUgSEFWRV9GQUlSUExBWVNUUkVBTUlOR19DRU5D
X0lOSVREQVRBIDEKICNlbmRpZgogCkBAIC01NDYsNyArNTI0LDcgQEAKICNkZWZpbmUgSEFWRV9O
V1BBUkFNRVRFUlNfVFJBQ0tFUl9BUEkgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkg
JiYgIShQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAx
MDE1MDApICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYg
IVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogI2RlZmluZSBIQVZFX0FWUExBWUVSX1JFU09VUkNFX0NP
TlNFUlZBVElPTl9MRVZFTCAxCiAjZW5kaWYKIApAQCAtNTYyLDMxICs1NDAsMTEgQEAKICNkZWZp
bmUgSEFWRV9DT1JFVEVYVF9BVVRPX09QVElDQUxfU0laSU5HIDEKICNlbmRpZgogCi0jaWYgKFBM
QVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkK
LSNkZWZpbmUgSEFWRV9OU0ZPTlRfV0lUSF9PUFRJQ0FMX1NJWklOR19CVUcgMQotI2VuZGlmCi0K
LSNpZiAoUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkpCisjaWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9S
TShNQUMpCiAjZGVmaW5lIEhBVkVfQVBQX1NTTyAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENP
Q09BKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA8IDEwMTUwMCkKLSNkZWZpbmUgSEFWRV9UTFNfUFJPVE9DT0xfVkVSU0lPTl9UIDEKLSNlbmRp
ZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMTUwMAotI2RlZmluZSBIQVZFX1NVQlZJRVdTX0lWQVJfU1BJIDEKLSNlbmRpZgotCi0j
aWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMDE1
MDAKLSNkZWZpbmUgSEFWRV9TVUJWSUVXU19JVkFSX0RFQ0xBUkVEX0JZX1NESyAxCi0jZW5kaWYK
LQotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49
IDEwMTUwMAotI2RlZmluZSBIQVZFX0FYX0NMSUVOVF9UWVBFIDEKLSNlbmRpZgotCi0jaWYgUExB
VEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEIDwgMTAxNTAwKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCisjaWYgUExBVEZP
Uk0oQ09DT0EpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkKICNkZWZpbmUgSEFWRV9ERVNJR05f
U1lTVEVNX1VJX0ZPTlRTIDEKICNlbmRpZgogCkBAIC01OTQsMTEgKzU1Miw3IEBACiAjZGVmaW5l
IEhBVkVfQ09PS0lFX0NIQU5HRV9MSVNURU5FUl9BUEkgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKLSNkZWZpbmUgSEFWRV9EQVRBX1BST1RFQ1RJT05fS0VZQ0hB
SU4gMQotI2VuZGlmCi0KLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFU
Rk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikpCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhUExBVEZP
Uk0oSU9TX0ZBTUlMWV9TSU1VTEFUT1IpCiAjZGVmaW5lIEhBVkVfTkVBUl9GSUVMRCAxCiAjZW5k
aWYKIApAQCAtNjA2LDEwICs1NjAsNiBAQAogI2RlZmluZSBIQVZFX09TX1NJR05QT1NUIDEKICNl
bmRpZgogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMDE1MDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDApCi0jZGVmaW5lIEhBVkVfQVZBU1NFVFdSSVRF
UkRFTEVHQVRFIDEKLSNlbmRpZgotCiAjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAm
JiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNDAwMDApCiAjZGVmaW5lIEhB
VkVfQVZBU1NFVFdSSVRFUkRFTEVHQVRFX0FQSSAxCiAjZW5kaWYKQEAgLTYyNiwyMiArNTc2LDE0
IEBACiAjZGVmaW5lIEhBVkVfTlNQUk9HUkVTU19QVUJMSVNISU5HX1NQSSAxCiAjZW5kaWYKIAot
I2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxNTAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTMwMDAwKQotI2RlZmluZSBIQVZFX0dDRVhURU5ERURHQU1FUEFEX0JV
VFRPTlNfT1BUSU9OU19NRU5VIDEKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjZGVm
aW5lIEhBVkVfR0NFWFRFTkRFREdBTUVQQURfQlVUVE9OU19USFVNQlNUSUNLIDEKICNlbmRpZgog
Ci0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMDE1MDApCisjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX01VTFRJR0FNRVBBRFBS
T1ZJREVSX1NVUFBPUlQgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkKLSNkZWZpbmUgSEFWRV9ISURfRlJB
TUVXT1JLIDEKLSNlbmRpZgotCiAjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBf
X0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNDAwMDApCiAjZGVmaW5lIEhBVkVf
R0NFWFRFTkRFREdBTUVQQURfSE9NRV9CVVRUT04gMQogI2VuZGlmCkBAIC03MDIsMTggKzY0NCw2
IEBACiAjZGVmaW5lIEhBVkVfTUVESUFfVVNBR0VfRlJBTUVXT1JLIDEKICNlbmRpZgogCi0jaWYg
UExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTUwMCkKLSNkZWZpbmUgSEFWRV9QQVNTS0lUX0JPVU5EX0lOVEVSRkFD
RV9JREVOVElGSUVSIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkKLSNkZWZp
bmUgSEFWRV9QQVNTS0lUX0lOU1RBTExNRU5UUyAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKElP
UykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMDE1MDApCi0jZGVmaW5lIEhBVkVfUEFTU0tJVF9QQVlNRU5UX01FVEhPRF9CSUxMSU5HX0FE
RFJFU1MgMQotI2VuZGlmCi0KICNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEyMDAwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVf
T1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTUwMDAwKQogI2RlZmluZSBIQVZFX1BBU1NLSVRf
UkVDVVJSSU5HX1NVTU1BUllfSVRFTSAxCiAjZGVmaW5lIEhBVkVfUEFTU0tJVF9ERUZFUlJFRF9T
VU1NQVJZX0lURU0gMQpAQCAtNzIzLDcgKzY1Myw3IEBACiAjZGVmaW5lIEhBVkVfUEFTU0tJVF9V
UERBVEVfU0hJUFBJTkdfTUVUSE9EU19XSEVOX0NIQU5HSU5HX1NVTU1BUllfSVRFTVMgMQogI2Vu
ZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkK
KyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShB
UFBMRVRWKQogI2RlZmluZSBIQVZFX1FVSUNLTE9PS19USFVNQk5BSUxJTkcgMQogI2VuZGlmCiAK
QEAgLTc4NywxMCArNzE3LDYgQEAKICNkZWZpbmUgSEFWRV9DVEZPTlRJU1NZU1RFTVVJRk9OVCAx
CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkKLSNkZWZpbmUgSEFWRV9DVEZP
TlRHRVRQSFlTSUNBTFNZTUJPTElDVFJBSVRTIDEKLSNlbmRpZgotCiAjaWYgKFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDApIFwKICAgICB8
fCAoKFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpKSAmJiBfX0lQSE9ORV9P
U19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNDAwMDApIFwKICAgICB8fCAoUExBVEZPUk0oV0FU
Q0hPUykgJiYgX19XQVRDSF9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSA3MDAwMCkgXApAQCAt
ODc4LDcgKzgwNCw3IEBACiAjZGVmaW5lIEhBVkVfQVZPVVRQVVRERVZJQ0VfU1BBVElBTEFVRElP
IDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkg
fHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDE1MDApCisjaWYgUExBVEZPUk0oQ09DT0EpICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExB
VEZPUk0oQVBQTEVUVikKICNkZWZpbmUgSEFWRV9TUEVFQ0hSRUNPR05JWkVSIDEKICNlbmRpZgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oIGIvU291cmNlL1dURi93
dGYvUGxhdGZvcm1Vc2UuaAppbmRleCA1MTczNzIxN2E1NTE0MmFmMDk2YWU5NWFiNmMzNDAxMTcx
Nzk4MzVjLi45YzlmODBlM2ZkMWIzMmQzMmMxMjBiZjRjYzU5ODc3OWQ4MWU0ZmRmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtVXNlLmgKQEAgLTE4OSwxMCArMTg5LDYgQEAKICNkZWZpbmUgVVNFX0lNTEFOR19GT05U
X0xJTksyIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUFYX0FMTE9XRUQgPCAxMDE1MDAKLSNkZWZpbmUgVVNFX0FWX1NBTVBMRV9CVUZGRVJfRElT
UExBWV9MQVlFUiAxCi0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBQTEFURk9STShH
VEspCiAjZGVmaW5lIFVTRV9VTklGSUVEX1RFWFRfQ0hFQ0tJTkcgMQogI2VuZGlmCkBAIC0yNTks
NyArMjU1LDcgQEAKICNkZWZpbmUgVVNFX0RJQ1RBVElPTl9BTFRFUk5BVElWRVMgMQogI2VuZGlm
CiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSAmJiBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSkgfHwg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKICNkZWZpbmUgVVNFX1NPVVJDRV9BUFBMSUNBVElPTl9BVURJ
VF9EQVRBIDEKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0LmgKaW5kZXggZjll
MWIxZTU3YjVjOTNiZDM5NjU3ZDk2ZDZkYWNmMDQ4OTYzNmJjOS4uZGJmNTBjMDM5NzcwNjk3MWFk
Mjc2ZTg2M2RiYjlmYjZkZmJkMzRjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuaApA
QCAtMTI1LDEwICsxMjUsOCBAQCBwdWJsaWM6CiAgICAgUmVxdWVzdGVyIHJlcXVlc3RlcigpIGNv
bnN0IHsgcmV0dXJuIG1fcmVxdWVzdGVyOyB9CiAgICAgdm9pZCBzZXRSZXF1ZXN0ZXIoUmVxdWVz
dGVyIHJlcXVlc3RlcikgeyBtX3JlcXVlc3RlciA9IHJlcXVlc3RlcjsgfQogCi0jaWYgSEFWRShQ
QVNTS0lUX0lOU1RBTExNRU5UUykKICAgICBjb25zdCBQYXltZW50SW5zdGFsbG1lbnRDb25maWd1
cmF0aW9uJiBpbnN0YWxsbWVudENvbmZpZ3VyYXRpb24oKSBjb25zdCB7IHJldHVybiBtX2luc3Rh
bGxtZW50Q29uZmlndXJhdGlvbjsgfQogICAgIHZvaWQgc2V0SW5zdGFsbG1lbnRDb25maWd1cmF0
aW9uKFBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24mJiBpbnN0YWxsbWVudENvbmZpZ3Vy
YXRpb24pIHsgbV9pbnN0YWxsbWVudENvbmZpZ3VyYXRpb24gPSBXVEZNb3ZlKGluc3RhbGxtZW50
Q29uZmlndXJhdGlvbik7IH0KLSNlbmRpZgogCiAjaWYgRU5BQkxFKEFQUExFX1BBWV9DT1VQT05f
Q09ERSkKICAgICBzdGQ6Om9wdGlvbmFsPGJvb2w+IHN1cHBvcnRzQ291cG9uQ29kZSgpIGNvbnN0
IHsgcmV0dXJuIG1fc3VwcG9ydHNDb3Vwb25Db2RlOyB9CkBAIC0xNjksOSArMTY3LDcgQEAgcHJp
dmF0ZToKIAogICAgIFJlcXVlc3RlciBtX3JlcXVlc3RlciB7IFJlcXVlc3Rlcjo6QXBwbGVQYXlK
UyB9OwogCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKICAgICBQYXltZW50SW5zdGFs
bG1lbnRDb25maWd1cmF0aW9uIG1faW5zdGFsbG1lbnRDb25maWd1cmF0aW9uOwotI2VuZGlmCiAK
ICNpZiBFTkFCTEUoQVBQTEVfUEFZX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFKQogICAg
IHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZT4gbV9zaGlw
cGluZ0NvbnRhY3RFZGl0aW5nTW9kZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5tbSBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbi5t
bQppbmRleCAwMWJjMTA5ZjEyNDcyNGRiNDU4YzNkZjAxNDU3ZjY2ZTU2YTUxNGEwLi43M2I4MWVh
MmZiMTMxZmJhMDkzMTNlNzViMTU0NzhlZTBkNDgwYTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24ubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50SW5zdGFsbG1lbnRD
b25maWd1cmF0aW9uLm1tCkBAIC0yNiw4ICsyNiw2IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNp
bXBvcnQgIlBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb25XZWJDb3JlLmgiCiAKLSNpZiBI
QVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQotCiAjaW1wb3J0ICJBcHBsZVBheUluc3RhbGxtZW50
Q29uZmlndXJhdGlvbldlYkNvcmUuaCIKICNpbXBvcnQgIkFwcGxlUGF5SW5zdGFsbG1lbnRJdGVt
VHlwZS5oIgogI2ltcG9ydCAiQXBwbGVQYXlJbnN0YWxsbWVudFJldGFpbENoYW5uZWwuaCIKQEAg
LTI2MSw1ICsyNTksMyBAQCBBcHBsZVBheUluc3RhbGxtZW50Q29uZmlndXJhdGlvbiBQYXltZW50
SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uOjphcHBsZVBheUluc3RhbAogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50SW5zdGFsbG1l
bnRDb25maWd1cmF0aW9uV2ViQ29yZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9QYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uV2ViQ29yZS5oCmluZGV4IDM5NzFhYWE2
MjFiMzg1MDlmM2EyMjZlZGFiMmYzZmE4MzM4NjcyOGUuLjU2YzYwNGNiN2EwYTA4YmE3YWUyMjVl
Y2YyNzE3ZjY5NDk2YWRkMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvUGF5bWVudEluc3RhbGxtZW50Q29uZmlndXJhdGlvbldlYkNvcmUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRp
b25XZWJDb3JlLmgKQEAgLTI1LDggKzI1LDYgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBIQVZF
KFBBU1NLSVRfSU5TVEFMTE1FTlRTKQotCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCiBP
QkpDX0NMQVNTIE5TRGljdGlvbmFyeTsKQEAgLTU1LDUgKzUzLDMgQEAgcHJpdmF0ZToKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEhBVkUoUEFTU0tJVF9JTlNUQUxM
TUVOVFMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29h
L1BheW1lbnRBUElWZXJzaW9uQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L2NvY29hL1BheW1lbnRBUElWZXJzaW9uQ29jb2EubW0KaW5kZXggODcyNzZlODUzNTRhMDk3
ZTYwYjU4ZGRiMGI1OGQ3NjRjZWZmOTBiOS4uZWE4ZWFlYWE1Y2I3YzQ2MGYzZTEwMDg3OTVkZjBh
YzBmOWFmYTdiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9j
b2NvYS9QYXltZW50QVBJVmVyc2lvbkNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudEFQSVZlcnNpb25Db2NvYS5tbQpAQCAtNDEsNyArNDEs
NyBAQCB1bnNpZ25lZCBQYXltZW50QVBJVmVyc2lvbjo6Y3VycmVudCgpCiAgICAgICAgIHJldHVy
biAxMTsKICNlbGlmIEhBVkUoUEFTU0tJVF9ORVdfQlVUVE9OX1RZUEVTKQogICAgICAgICByZXR1
cm4gMTA7Ci0jZWxpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQorI2Vsc2UKICAgICAgICAg
aWYgKFBBTDo6Z2V0UEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uQ2xhc3MoKSkgewog
ICAgICAgICAgICAgaWYgKFBBTDo6Z2V0UEtQYXltZW50SW5zdGFsbG1lbnRJdGVtQ2xhc3MoKSkK
ICAgICAgICAgICAgICAgICByZXR1cm4gOTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudENvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50Q29jb2EubW0KaW5kZXggOTljMDUwOTQwZWMwZWIx
ODVhZTU1ODEzYjYyYmVjMDJkYjYzOTRmOC4uYzc1OTc0MjZiMjM3NjkxOThhZTVhMzBmYTI0M2Zk
MzUyMmJjZDVhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9j
b2NvYS9QYXltZW50Q29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9jb2NvYS9QYXltZW50Q29jb2EubW0KQEAgLTM3LDEzICszNyw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogc3RhdGljIHZvaWQgZmluaXNoQ29udmVydGluZyhQS1BheW1lbnQgKnBheW1lbnQs
IEFwcGxlUGF5UGF5bWVudCYgcmVzdWx0KQogewotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVO
VFMpCiAgICAgaWYgKE5TU3RyaW5nICppbnN0YWxsbWVudEF1dGhvcml6YXRpb25Ub2tlbiA9IHBh
eW1lbnQuaW5zdGFsbG1lbnRBdXRob3JpemF0aW9uVG9rZW4pCiAgICAgICAgIHJlc3VsdC5pbnN0
YWxsbWVudEF1dGhvcml6YXRpb25Ub2tlbiA9IGluc3RhbGxtZW50QXV0aG9yaXphdGlvblRva2Vu
OwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0ocGF5bWVudCk7Ci0gICAgVU5VU0VEX1BBUkFNKHJl
c3VsdCk7Ci0jZW5kaWYKIH0KIAogc3RhdGljIEFwcGxlUGF5UGF5bWVudDo6VG9rZW4gY29udmVy
dChQS1BheW1lbnRUb2tlbiAqcGF5bWVudFRva2VuKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50TWV0aG9kQ29jb2EubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRNZXRob2RDb2NvYS5tbQppbmRl
eCA3NjUzZGU1NGFmNTM5ZjI1NjFmNDIyMzZkMzBlYzYxYWI1ODAzZGQ1Li43MTZjMTBiNGFiN2M1
NTljMGQzZTNmZDEzYWY5ZDViODY3YjM5OGM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRNZXRob2RDb2NvYS5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRNZXRob2RDb2NvYS5tbQpAQCAt
MzYsMTMgKzM2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgdm9pZCBmaW5pc2hD
b252ZXJ0aW5nKFBLUGF5bWVudE1ldGhvZCAqcGF5bWVudE1ldGhvZCwgQXBwbGVQYXlQYXltZW50
TWV0aG9kJiByZXN1bHQpCiB7Ci0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKICAgICBp
ZiAoTlNTdHJpbmcgKmJpbmRUb2tlbiA9IHBheW1lbnRNZXRob2QuYmluZFRva2VuKQogICAgICAg
ICByZXN1bHQuYmluZFRva2VuID0gYmluZFRva2VuOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0o
cGF5bWVudE1ldGhvZCk7Ci0gICAgVU5VU0VEX1BBUkFNKHJlc3VsdCk7Ci0jZW5kaWYKIH0KIAog
c3RhdGljIEFwcGxlUGF5UGF5bWVudFBhc3M6OkFjdGl2YXRpb25TdGF0ZSBjb252ZXJ0KFBLUGF5
bWVudFBhc3NBY3RpdmF0aW9uU3RhdGUgcGF5bWVudFBhc3NBY3RpdmF0aW9uU3RhdGUpCkBAIC05
OCw3ICs5Myw2IEBAIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5UGF5bWVudE1ldGhvZDo6
VHlwZT4gY29udmVydChQS1BheW1lbnRNZXRob2RUeXBlIHBhCiAgICAgfQogfQogCi0jaWYgSEFW
RShQQVNTS0lUX1BBWU1FTlRfTUVUSE9EX0JJTExJTkdfQUREUkVTUykKIHN0YXRpYyB2b2lkIGNv
bnZlcnQoQ05MYWJlbGVkVmFsdWU8Q05Qb3N0YWxBZGRyZXNzKj4gKnBvc3RhbEFkZHJlc3MsIEFw
cGxlUGF5UGF5bWVudENvbnRhY3QgJnJlc3VsdCkKIHsKICAgICBWZWN0b3I8U3RyaW5nPiBhZGRy
ZXNzTGluZTsKQEAgLTEzOSw3ICsxMzMsNiBAQCBzdGF0aWMgc3RkOjpvcHRpb25hbDxBcHBsZVBh
eVBheW1lbnRDb250YWN0PiBjb252ZXJ0KENOQ29udGFjdCAqYmlsbGluZ0NvbnRhY3QpCiAKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotI2VuZGlmCiAKIHN0YXRpYyBBcHBsZVBheVBheW1lbnRNZXRo
b2QgY29udmVydChQS1BheW1lbnRNZXRob2QgKnBheW1lbnRNZXRob2QpCiB7CkBAIC0xNDksOSAr
MTQyLDcgQEAgc3RhdGljIEFwcGxlUGF5UGF5bWVudE1ldGhvZCBjb252ZXJ0KFBLUGF5bWVudE1l
dGhvZCAqcGF5bWVudE1ldGhvZCkKICAgICAgICAgcmVzdWx0LmRpc3BsYXlOYW1lID0gZGlzcGxh
eU5hbWU7CiAgICAgaWYgKE5TU3RyaW5nICpuZXR3b3JrID0gcGF5bWVudE1ldGhvZC5uZXR3b3Jr
KQogICAgICAgICByZXN1bHQubmV0d29yayA9IG5ldHdvcms7Ci0jaWYgSEFWRShQQVNTS0lUX1BB
WU1FTlRfTUVUSE9EX0JJTExJTkdfQUREUkVTUykKICAgICByZXN1bHQuYmlsbGluZ0NvbnRhY3Qg
PSBjb252ZXJ0KHBheW1lbnRNZXRob2QuYmlsbGluZ0FkZHJlc3MpOwotI2VuZGlmCiAgICAgcmVz
dWx0LnR5cGUgPSBjb252ZXJ0KHBheW1lbnRNZXRob2QudHlwZSk7CiAgICAgcmVzdWx0LnBheW1l
bnRQYXNzID0gY29udmVydChwYXltZW50TWV0aG9kLnBheW1lbnRQYXNzKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50U2Vzc2lvbkVy
cm9yQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1l
bnRTZXNzaW9uRXJyb3JDb2NvYS5tbQppbmRleCAyMmQ1NDFjZGMxNjY3NTUzOGZiM2QwZjE1OWMw
ZGYyNjg5NDM0MWUzLi45OGQzN2RlODg0NDE5MTA3ODFmZmQ0ZTM4N2NiYWQ1YWQ4ZGRiZDFmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRT
ZXNzaW9uRXJyb3JDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L2NvY29hL1BheW1lbnRTZXNzaW9uRXJyb3JDb2NvYS5tbQpAQCAtMzUsNyArMzUsNiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEFwcGxlUGF5U2Vzc2lvbkVy
cm9yPiBhZGRpdGlvbmFsRXJyb3IoTlNFcnJvciAqZXJyb3IpCiB7Ci0jaWYgSEFWRShQQVNTS0lU
X0lOU1RBTExNRU5UUykKICAgICAvLyBGSVhNRTogUmVwbGFjZSB3aXRoIFBLUGF5bWVudEVycm9y
QmluZFRva2VuVXNlckluZm9LZXkgYW5kCiAgICAgLy8gUEtQYXltZW50QXV0aG9yaXphdGlvbkZl
YXR1cmVBcHBsaWNhdGlvbkVycm9yIHdoZW4gdGhleSdyZSBhdmFpbGFibGUgaW4gYW4gU0RLLgog
ICAgIHN0YXRpYyBOU1N0cmluZyAqIGNvbnN0IGJpbmRUb2tlbktleSA9IEAiUEtQYXltZW50RXJy
b3JCaW5kVG9rZW4iOwpAQCAtNDcsMTAgKzQ2LDYgQEAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8QXBw
bGVQYXlTZXNzaW9uRXJyb3I+IGFkZGl0aW9uYWxFcnJvcihOU0Vycm9yICplcnJvcikKICAgICBp
ZCBiaW5kVG9rZW5WYWx1ZSA9IGVycm9yLnVzZXJJbmZvW2JpbmRUb2tlbktleV07CiAgICAgUkVM
RUFTRV9BU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighYmluZFRva2VuVmFsdWUgfHwg
W2JpbmRUb2tlblZhbHVlIGlzS2luZE9mQ2xhc3M6TlNTdHJpbmcuY2xhc3NdKTsKICAgICByZXR1
cm4gQXBwbGVQYXlTZXNzaW9uRXJyb3IgeyAiZmVhdHVyZUFwcGxpY2F0aW9uRXJyb3IiX3MsIHsg
eyAiYmluZFRva2VuIl9zLCAoTlNTdHJpbmcgKiliaW5kVG9rZW5WYWx1ZSB9IH0gfTsKLSNlbHNl
Ci0gICAgVU5VU0VEX1BBUkFNKGVycm9yKTsKLSAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotI2Vu
ZGlmCiB9CiAKIFBheW1lbnRTZXNzaW9uRXJyb3I6OlBheW1lbnRTZXNzaW9uRXJyb3IoUmV0YWlu
UHRyPE5TRXJyb3I+JiYgZXJyb3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJvdmlkZXIuY3BwCmluZGV4IDZh
NWM0Y2IzNDVmOWMwNjk5ZjZmNjU1YzllNDBjMTA5ZjY0NzQ4YmIuLjc3NzZhZmVjNzY0ZDI1ODYw
Mjc4NGY4MDYzYjFlY2M4NTQzODE3MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJvdmlkZXIuY3BwCkBA
IC0zNiwxMyArMzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0ZDo6dW5pcXVlX3B0cjxN
ZWRpYVJlY29yZGVyUHJpdmF0ZT4gTWVkaWFSZWNvcmRlclByb3ZpZGVyOjpjcmVhdGVNZWRpYVJl
Y29yZGVyUHJpdmF0ZShNZWRpYVN0cmVhbVByaXZhdGUmIHN0cmVhbSwgY29uc3QgTWVkaWFSZWNv
cmRlclByaXZhdGVPcHRpb25zJiBvcHRpb25zKQogewotI2lmIEhBVkUoQVZBU1NFVFdSSVRFUkRF
TEVHQVRFKQogICAgIHJldHVybiBNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6OmNyZWF0ZShz
dHJlYW0sIG9wdGlvbnMpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oc3RyZWFtKTsKLSAgICBV
TlVTRURfUEFSQU0ob3B0aW9ucyk7Ci0gICAgcmV0dXJuIG51bGxwdHI7Ci0jZW5kaWYKIH0KIAog
Ym9vbCBNZWRpYVJlY29yZGVyUHJvdmlkZXI6OmlzU3VwcG9ydGVkKGNvbnN0IFN0cmluZyYgdmFs
dWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRM
aW5rLmNwcCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3Bw
CmluZGV4IDhiZDNhMjNiM2Y5Zjc3ZjUyMGQ5N2M1ODM2MDBiMmU1Y2UwOGJiMDguLmRmNzU3NGE3
NGQ3YTVjNmM0NzlkZjlhNGEzZWRlY2Y2MjU0YTc3MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwCkBAIC0zOCw3ICszOCw3IEBACiAKICNp
bmNsdWRlIDxDb3JlQXVkaW8vQ29yZUF1ZGlvVHlwZXMuaD4KIAotI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dF
RCA+PSAxMDE0MDApCisjaWYgUExBVEZPUk0oQ09DT0EpCiAjZGVmaW5lIENNU0FNUExFQlVGRkVS
Q0FMTF9OT0VTQ0FQRSBDRl9OT0VTQ0FQRQogI2Vsc2UKICNkZWZpbmUgQ01TQU1QTEVCVUZGRVJD
QUxMX05PRVNDQVBFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVN
ZWRpYVNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRM
aW5rLmgKaW5kZXggOTg3NjkyYmNmODI1MDg4MzMxOTU3ZjIyZDBkNTg3ODJmY2Y3NzAwZi4uYzQx
YjQ4M2E0N2NkZjcyYWYwNmJjMTA0OWZlMmRjZmQ5NjQ0NDYyZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaApAQCAtMzgsNyArMzgsNyBAQAogI2Rl
ZmluZSBTT0ZUTElOS19BVktJVF9GUkFNRVdPUksoKSBTT0ZUX0xJTktfRlJBTUVXT1JLX09QVElP
TkFMKEFWS2l0KQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKSB8fCAoUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxNDAwKQorI2lm
IFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBDTVNBTVBMRUJVRkZFUkNBTExfTk9FU0NBUEUgQ0Zf
Tk9FU0NBUEUKICNlbHNlCiAjZGVmaW5lIENNU0FNUExFQlVGRkVSQ0FMTF9OT0VTQ0FQRQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGlu
ay5tbSBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsu
bW0KaW5kZXggMzUxYzZmMmYwZGYxNDk4MGMyM2I5MTI5MjM5YTg5YzQwOTNiZDRjNC4uMTE2ZTdk
ZDc1OGQ4NzJkMTkzN2ExZjk3MTVjOWRmN2NkMTYxOGM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rLm1tCkBAIC0zMCw3ICsz
MCw3IEBACiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZGb3VuZGF0aW9uLmg+CiAjaW1wb3J0IDx3
dGYvU29mdExpbmtpbmcuaD4KIAotI2lmICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKSAmJiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBM
QVRGT1JNKEFQUExFVFYpCisjaWYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBM
RVRWKQogU09GVF9MSU5LX0ZSQU1FV09SS19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgQVZG
b3VuZGF0aW9uLCBQQUxfRVhQT1JUKQogI2Vsc2UKIEBpbnRlcmZhY2UgQVZQbGF5ZXJJdGVtIChE
aXNhYmxlS1ZPT25TdXByZXNzZXNWaWRlb0xheWVycykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5oCmluZGV4IDBiYzI1YjVjZjVjYjFlMzBlOTlmZWE2
NjNiMTA5NzgyOGI2NWFiYjYuLjlmODQ4YjI0YzRkNWNiMTQ4ZWUwMzRlMTA5N2UxMTNmMDExMmZm
ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRM
aW5rLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsu
aApAQCAtNDYsMTEgKzQ2LDggQEAgU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQS1Bh
eW1lbnRTZXR1cFJlcXVlc3QpCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLUGF5
bWVudFNldHVwVmlld0NvbnRyb2xsZXIpCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUws
IFBLUGF5bWVudFN1bW1hcnlJdGVtKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQ
S1NoaXBwaW5nTWV0aG9kKQotCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKIFNPRlRf
TElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0
aW9uKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQS1BheW1lbnRJbnN0YWxsbWVu
dEl0ZW0pCi0jZW5kaWYKIAogI2lmIEhBVkUoUEFTU0tJVF9SRUNVUlJJTkdfU1VNTUFSWV9JVEVN
KQogU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQS1JlY3VycmluZ1BheW1lbnRTdW1t
YXJ5SXRlbSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tp
dFNvZnRMaW5rLm1tIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExp
bmsubW0KaW5kZXggZTE1NmNiYjhiNWUyNWMyMjAxNjQ3ODE0YjhhOWRmY2JkNzk3ZTgxMi4uM2Zi
M2Y1MzZhOGRjNTk3NDAzZTJmNjA3NjhhZmIwZTZlYTVkNDQzMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsubW0KQEAgLTUxLDEwICs1MSw4IEBA
IFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQ
YXltZW50U2V0dXBWaWV3Q29udHJvbGxlCiAKICNlbmRpZiAvLyBQTEFURk9STShNQUMpCiAKLSNp
ZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0Vf
T1BUSU9OQUxfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRJbnN0YWxsbWVudENv
bmZpZ3VyYXRpb24sIFBBTF9FWFBPUlQpCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9PUFRJ
T05BTF9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudEluc3RhbGxtZW50SXRlbSwg
UEFMX0VYUE9SVCkKLSNlbmRpZgogCiAjaWYgSEFWRShQQVNTS0lUX1JFQ1VSUklOR19TVU1NQVJZ
X0lURU0pCiBTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NL
aXQsIFBLUmVjdXJyaW5nUGF5bWVudFN1bW1hcnlJdGVtLCBQQUxfRVhQT1JUKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmggYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaAppbmRleCAwNzUxYzBiM2I1MTc2
MDE4MTQwOGNiZGJmMDBmZWIzNTVmYjI3MTRjLi4yMjNkY2YyOGQ4N2QyMDk5NDI5OTdjNzRmYjAw
NjJhZjViNzFhOGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9D
Rk5ldHdvcmtTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9DRk5ldHdv
cmtTUEkuaApAQCAtMzAxLDEyICszMDEsMTAgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwg
TlNVUkxTZXNzaW9uQ29tcGFuaW9uUHJveHlQcmVmZXJlbmNlKSB7CiAjZW5kaWYKIEBlbmQKIAot
I2lmIEhBVkUoQ0ZORVRXT1JLX05FR09USUFURURfU1NMX1BST1RPQ09MX0NJUEhFUikKIEBpbnRl
cmZhY2UgTlNVUkxTZXNzaW9uVGFza1RyYW5zYWN0aW9uTWV0cmljcyAoKQogQHByb3BlcnR5IChh
c3NpZ24pIFNTTFByb3RvY29sIF9uZWdvdGlhdGVkVExTUHJvdG9jb2w7CiBAcHJvcGVydHkgKGFz
c2lnbikgU1NMQ2lwaGVyU3VpdGUgX25lZ290aWF0ZWRUTFNDaXBoZXI7CiBAZW5kCi0jZW5kaWYK
IAogQGludGVyZmFjZSBOU1VSTFNlc3Npb24gKFNQSSkKICNpZiBIQVZFKENGTkVUV09SS19OU1VS
TFNFU1NJT05fU1RSSUNUUlVTVEVWQUxVQVRFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9zcGkvY29jb2EvQVZGb3VuZGF0aW9uU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL3NwaS9jb2NvYS9BVkZvdW5kYXRpb25TUEkuaAppbmRleCBjYjFlZDExZmRlNzc5NmU0ZGI0
NjlkZTFmOGEyMDliNzRmZDYzNzFkLi4wY2QzZTY0MTNjOWYzNGY3MGU5NmFjYjlmMDA3Nzk5YzE1
OGEwMjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9BVkZv
dW5kYXRpb25TUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9BVkZv
dW5kYXRpb25TUEkuaApAQCAtMzgxLDcgKzM4MSw3IEBAIE5TX0FTU1VNRV9OT05OVUxMX0VORAog
QGVuZAogI2VuZGlmCiAKLSNpZiAhVVNFKEFQUExFX0lOVEVSTkFMX1NESykgfHwgVVNFKEFWX1NB
TVBMRV9CVUZGRVJfRElTUExBWV9MQVlFUikKKyNpZiAhVVNFKEFQUExFX0lOVEVSTkFMX1NESykK
IEBpbnRlcmZhY2UgQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgKFdlYkNvcmVQcml2YXRlKQog
QHByb3BlcnR5IChhc3NpZ24sIG5vbmF0b21pYykgQk9PTCBwcmV2ZW50c0Rpc3BsYXlTbGVlcER1
cmluZ1ZpZGVvUGxheWJhY2s7CiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL3NwaS9jb2NvYS9QYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0SW5zdGFsbG1lbnRzU1BJLmgKaW5kZXggMGIyZDNmMGIx
MzQ0YzM3NjkxOTMwZmNkNTJkYTU3N2JlYmIxMDcxMS4uMzE1YzU1YmMxZWFjMjU0ZWE2YjE0YzRk
NzAxNzFkZDRmZmU2ZDA0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkv
Y29jb2EvUGFzc0tpdEluc3RhbGxtZW50c1NQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL2NvY29hL1Bhc3NLaXRJbnN0YWxsbWVudHNTUEkuaApAQCAtMzQsNyArMzQsNyBAQAog
I2ltcG9ydCA8UGFzc0tpdENvcmUvUEtQYXltZW50UmVxdWVzdFN0YXR1c19Qcml2YXRlLmg+CiAj
aW1wb3J0IDxQYXNzS2l0Q29yZS9QS1BheW1lbnRfUHJpdmF0ZS5oPgogCi0jZWxpZiBIQVZFKFBB
U1NLSVRfSU5TVEFMTE1FTlRTKQorI2Vsc2UKIAogdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwg
UEtJbnN0YWxsbWVudEl0ZW1UeXBlKSB7CiAgICAgUEtJbnN0YWxsbWVudEl0ZW1UeXBlR2VuZXJp
YyA9IDAsCkBAIC0xMjEsNCArMTIxLDQgQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TSW50ZWdlciwg
UEtQYXltZW50U2V0dXBGZWF0dXJlU3VwcG9ydGVkT3B0aW9ucykgewogCiAjZW5kaWYKIAotI2Vu
ZGlmIC8vIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMpCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaCBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaAppbmRleCA4NDk2ZTc2Yzc1ZDJiOTU3
M2Q0MGI4NDJiMmJmNzJlOTk4NDdmZmVlLi4xNjk2OWNiMzdjNjI5ZTgzNjFmNTViMjNkNTIwMjZh
YjRlOTEwZGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Q
YXNzS2l0U1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tp
dFNQSS5oCkBAIC02MywxMCArNjMsNiBAQCBXVEZfRVhURVJOX0NfRU5ECiAjaW1wb3J0IDxQYXNz
S2l0L1BLUGF5bWVudFNldHVwVmlld0NvbnRyb2xsZXIuaD4KICNlbmRpZgogCi0jaWYgIUhBVkUo
UEFTU0tJVF9JTlNUQUxMTUVOVFMpCi0jaW1wb3J0IDxQYXNzS2l0L1BLUGF5bWVudFJlcXVlc3Rf
UHJpdmF0ZS5oPgotI2VuZGlmCi0KICNpZiBIQVZFKFBBU1NLSVRfUkVDVVJSSU5HX1NVTU1BUllf
SVRFTSkKICNpbXBvcnQgPFBhc3NLaXRDb3JlL1BLUmVjdXJyaW5nUGF5bWVudFN1bW1hcnlJdGVt
Lmg+CiAjZW5kaWYKQEAgLTQxMywxNiArNDA5LDggQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdl
ciwgUEtQYXltZW50U2V0dXBGZWF0dXJlVHlwZSkgewogQHByb3BlcnR5IChub25hdG9taWMsIHN0
cm9uZykgTlNTdHJpbmcgKnNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcjsKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIE5TU3RyaW5nICpzb3VyY2VBcHBsaWNhdGlvblNlY29u
ZGFyeUlkZW50aWZpZXI7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBOU1N0cmluZyAq
Q1REYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBlOwotI2lmIEhBVkUoUEFTU0tJVF9CT1VORF9JTlRF
UkZBQ0VfSURFTlRJRklFUikKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAq
Ym91bmRJbnRlcmZhY2VJZGVudGlmaWVyOwotI2VuZGlmCi1AZW5kCi0KLSNpZiAhSEFWRShQQVNT
S0lUX0lOU1RBTExNRU5UUykKLUBpbnRlcmZhY2UgUEtQYXltZW50UmVxdWVzdCAoKQotQHByb3Bl
cnR5IChub25hdG9taWMsIGFzc2lnbikgUEtQYXltZW50UmVxdWVzdEFQSVR5cGUgQVBJVHlwZTsK
IEBlbmQKLSNlbmRpZgogCiBOU19BU1NVTUVfTk9OTlVMTF9FTkQKIApAQCAtNDQyLDExICs0MzAs
OSBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBQS1BheW1lbnRCdXR0b25UeXBlKSB7CiAg
ICAgUEtQYXltZW50QnV0dG9uVHlwZVNldFVwLAogICAgIFBLUGF5bWVudEJ1dHRvblR5cGVJblN0
b3JlLAogICAgIFBLUGF5bWVudEJ1dHRvblR5cGVEb25hdGUsCi0jaWYgKFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTQwMCkgfHwgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKICAgICBQS1BheW1lbnRCdXR0b25UeXBlQ2hlY2tvdXQsCiAgICAgUEtQYXlt
ZW50QnV0dG9uVHlwZUJvb2ssCiAgICAgUEtQYXltZW50QnV0dG9uVHlwZVN1YnNjcmliZSwKLSNl
bmRpZgogfTsKICNlbmRpZiAvLyAhSEFWRShQQVNTS0lUX1JFQ1VSUklOR19TVU1NQVJZX0lURU0p
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9ISVNlcnZpY2Vz
U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvSElTZXJ2aWNlc1NQSS5oCmlu
ZGV4IGI4ZGYwYTFiY2M4OTUyMmRmZWZlZDYzNmY3YWUzMWMyYmVjYjE5MmEuLjYxNjAwY2M2Y2E1
ZjA1ZTgzYTIwOGM1MTFjY2E0MGMwZTBlZjY4OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvc3BpL21hYy9ISVNlcnZpY2VzU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9zcGkvbWFjL0hJU2VydmljZXNTUEkuaApAQCAtMTMwLDcgKzEzMCw2IEBAIE9TU3RhdHVz
IFNldEFwcGxpY2F0aW9uSXNEYWVtb24oQm9vbGVhbik7CiBBWEVycm9yIF9BWFVJRWxlbWVudFVz
ZVNlY29uZGFyeUFYVGhyZWFkKGJvb2wgZW5hYmxlZCk7CiAjZW5kaWYKIAotI2lmIEhBVkUoQVhf
Q0xJRU5UX1RZUEUpCiB0eXBlZGVmIENGX0VOVU0oaW50MzJfdCwgQVhDbGllbnRUeXBlKQogewog
ICAgIGtBWENsaWVudFR5cGVOb0FjdGl2ZVJlcXVlc3RGb3VuZCA9IDAsCkBAIC0xNDcsNyArMTQ2
LDYgQEAgdHlwZWRlZiBDRl9FTlVNKGludDMyX3QsIEFYQ2xpZW50VHlwZSkKIH07CiBBWENsaWVu
dFR5cGUgX0FYR2V0Q2xpZW50Rm9yQ3VycmVudFJlcXVlc3RVbnRydXN0ZWQodm9pZCk7CiB2b2lk
IF9BWFNldENsaWVudElkZW50aWZpY2F0aW9uT3ZlcnJpZGUoQVhDbGllbnRUeXBlKTsKLSNlbmRp
ZiAvLyBIQVZFKEFYX0NMSUVOVF9UWVBFKQogCiBleHRlcm4gQ0ZTdHJpbmdSZWYga0FYSW50ZXJm
YWNlUmVkdWNlTW90aW9uS2V5OwogZXh0ZXJuIENGU3RyaW5nUmVmIGtBWEludGVyZmFjZVJlZHVj
ZU1vdGlvblN0YXR1c0RpZENoYW5nZU5vdGlmaWNhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU01lbnVTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL21hYy9OU01lbnVTUEkuaAppbmRleCBlYmFhNjliYTcyNzI5MzdjMWU0MDNhMThiM2M5
Mzc2NmM0MWJlMDRlLi4wZTY0NzBlMGMxYTY5MDU0ZWM1MjljODI5OGRiNmVkMGFhMzA0M2YwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNNZW51U1BJLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05TTWVudVNQSS5oCkBAIC0yNyw3ICsy
Nyw3IEBACiAKICNpZiBQTEFURk9STShNQUMpCiAKLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RL
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMAorI2lmIFVTRShB
UFBMRV9JTlRFUk5BTF9TREspCiAKICNpbXBvcnQgPEFwcEtpdC9OU01lbnVfUHJpdmF0ZS5oPgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNWaWV3U1BJLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNWaWV3U1BJLmgKaW5kZXggNjhjZThi
ZmMzNGU5ODVlY2FkZWE5MjY5MWE4ZDZhNmMzZmJiNDgzZi4uZGFkN2I0NTc0MmRmMmZmMTY2MGFj
MDdhNDRiYTM0NjlkODg2MzVlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9z
cGkvbWFjL05TVmlld1NQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9O
U1ZpZXdTUEkuaApAQCAtMzAsMTAgKzMwLDYgQEAKICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvUXVh
cnR6Q29yZVNQSS5oPgogCiBAaW50ZXJmYWNlIE5TVmlldyAoKSA8Q0FMYXllckRlbGVnYXRlPiB7
Ci0jaWYgIUhBVkUoU1VCVklFV1NfSVZBUl9TUEkpICYmICFIQVZFKFNVQlZJRVdTX0lWQVJfREVD
TEFSRURfQllfU0RLKQotQHBhY2thZ2UKLSAgICBOU011dGFibGVBcnJheTxfX2tpbmRvZiBOU1Zp
ZXcgKj4gKl9zdWJ2aWV3czsKLSNlbmRpZgogfQogCiAtIChOU1ZpZXcgKilfZmluZExhc3RWaWV3
SW5LZXlWaWV3TG9vcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZEhvc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kSG9zdC5jcHAKaW5kZXggZTU0ODhhMjE3YWM5N2IxNjE0NThkYTI3MDJhM2ViOGRl
ZjQzN2YzZS4uMGJmMWJkNzM2NDczNjQ2ODc3YTEwMzM4YTQyNDFlYzYwYTI2NDFiYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAK
QEAgLTQwMSw4ICs0MDEsNiBAQCBTdHJpbmcgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpwbGF0Zm9y
bVZlcnNpb25OYW1lKCkgY29uc3QKICAgICByZXR1cm4gImJpZy1zdXIiX3M7CiAjZWxpZiBQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCiAg
ICAgcmV0dXJuICJjYXRhbGluYSJfczsKLSNlbGlmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAKLSAgICByZXR1cm4gIm1vamF2ZSJfczsK
ICNlbHNlCiAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFk
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxl
ckdhbWVwYWQubW0KaW5kZXggYTYyZmNiMjFiOWQzMDQ3OGVjYjcyMTRmZjcyYmIzNDJlNWZhNjc3
NS4uN2U0N2VmZDVlOGNkODFlNjQ0Y2E4YTFjZjBjOTgyNDRjN2I2NDM1NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVw
YWQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9HYW1lQ29u
dHJvbGxlckdhbWVwYWQubW0KQEAgLTEzMCwxMiArMTMwLDEwIEBAIHZvaWQgR2FtZUNvbnRyb2xs
ZXJHYW1lcGFkOjpzZXR1cEFzRXh0ZW5kZWRHYW1lcGFkKCkKICAgICB9CiAKICAgICAvLyBTZWxl
Y3QsIFN0YXJ0Ci0jaWYgSEFWRShHQ0VYVEVOREVER0FNRVBBRF9CVVRUT05TX09QVElPTlNfTUVO
VSkKICAgICBiaW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvbk9wdGlvbnMs
IEdhbWVwYWRCdXR0b25Sb2xlOjpDZW50ZXJDbHVzdGVyTGVmdCk7CiAgICAgZGlzYWJsZURlZmF1
bHRTeXN0ZW1BY3Rpb24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuYnV0dG9uT3B0aW9ucyk7CiAg
ICAgYmluZEJ1dHRvbihtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0b25NZW51LCBHYW1lcGFk
QnV0dG9uUm9sZTo6Q2VudGVyQ2x1c3RlclJpZ2h0KTsKICAgICBkaXNhYmxlRGVmYXVsdFN5c3Rl
bUFjdGlvbihtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0b25NZW51KTsKLSNlbmRpZgogCiAg
ICAgLy8gTDMsIFIzCiAjaWYgSEFWRShHQ0VYVEVOREVER0FNRVBBRF9CVVRUT05TX1RIVU1CU1RJ
Q0spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCBmMzE0ZGNlYmRhMzRmOGIyMDgzYjM0YTlk
OWUxMzY1NDJjOWQxYWI5Li5mYWI4YThjYmY0ZTVjZmVkYTZkNTI5MmZkZmNkODBkMzEyMWU4MWM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTMxOTIsMTQgKzMxOTIsNiBAQCB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBsYXllckl0ZW1TdGF0dXNEaWRDaGFu
Z2UoaW50IHN0YXR1cykKIHsKICAgICBtX2NhY2hlZEl0ZW1TdGF0dXMgPSBzdGF0dXM7CiAKLSAg
ICAvLyBTZXR0aW5nIHRoZSBwaXRjaCBhbGdvcml0aG0gaGVyZSBjYXVzZXMgdGVzdHMgdG8gZmFp
bCBvbiBNb2phdmU7IHJldmVydCB0aGlzIGNoYW5nZQotICAgIC8vIGZvciA8PSBNb2phdmUgYnVp
bGRzLgotI2lmICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID4gMTAxNDAwKQotICAgIC8vIEZJWE1FKHJkYXI6Ly83MjgyOTM1NCk6IFJlbW92ZSBhZnRl
ciBBVkZvdW5kYXRpb24gcmFkYXIgaXMgZml4ZWQuCi0gICAgaWYgKHN0YXR1cyA9PSBBVlBsYXll
ckl0ZW1TdGF0dXNSZWFkeVRvUGxheSkKLSAgICAgICAgW21fYXZQbGF5ZXJJdGVtIHNldEF1ZGlv
VGltZVBpdGNoQWxnb3JpdGhtOmF1ZGlvVGltZVBpdGNoQWxnb3JpdGhtRm9yTWVkaWFQbGF5ZXJQ
aXRjaENvcnJlY3Rpb25BbGdvcml0aG0ocGxheWVyKCktPnBpdGNoQ29ycmVjdGlvbkFsZ29yaXRo
bSgpLCBwbGF5ZXIoKS0+cHJlc2VydmVzUGl0Y2goKSwgbV9yZXF1ZXN0ZWRSYXRlKV07Ci0jZW5k
aWYKLQogICAgIHVwZGF0ZVN0YXRlcygpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKaW5k
ZXggMGNjN2NkNzMzM2RkM2FiOWUwZmUxZTdiYTY4MTAxN2Q5ZmI4YmFhYi4uMzUwODQ2ZWRhNjJm
NjZlMzI4YThkYzQ1MDNkZDIzZWY5MjljNTU4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcApA
QCAtODAzLDE0ICs4MDMsNyBAQCBTeW50aGVzaXNQYWlyIGNvbXB1dGVOZWNlc3NhcnlTeW50aGVz
aXMoQ1RGb250UmVmIGZvbnQsIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZgogICAgIENURm9udFN5
bWJvbGljVHJhaXRzIGFjdHVhbFRyYWl0cyA9IDA7CiAgICAgaWYgKGlzRm9udFdlaWdodEJvbGQo
Zm9udERlc2NyaXB0aW9uLndlaWdodCgpKSB8fCBpc0l0YWxpYyhmb250RGVzY3JpcHRpb24uaXRh
bGljKCkpKSB7CiAgICAgICAgIGlmIChzaG91bGRDb21wdXRlUGh5c2ljYWxUcmFpdHMgPT0gU2hv
dWxkQ29tcHV0ZVBoeXNpY2FsVHJhaXRzOjpZZXMpIHsKLSNpZiBIQVZFKENURk9OVEdFVFBIWVNJ
Q0FMU1lNQk9MSUNUUkFJVFMpCiAgICAgICAgICAgICBhY3R1YWxUcmFpdHMgPSBDVEZvbnRHZXRQ
aHlzaWNhbFN5bWJvbGljVHJhaXRzKGZvbnQpOwotI2Vsc2UKLSAgICAgICAgICAgIGF1dG8gZm9u
dEZvclN5bnRoZXNpc0NvbXB1dGF0aW9uID0gcmV0YWluUHRyKGZvbnQpOwotICAgICAgICAgICAg
aWYgKGF1dG8gcGh5c2ljYWxGb250ID0gYWRvcHRDRihDVEZvbnRDb3B5UGh5c2ljYWxGb250KGZv
bnQpKSkKLSAgICAgICAgICAgICAgICBmb250Rm9yU3ludGhlc2lzQ29tcHV0YXRpb24gPSBXVEZN
b3ZlKHBoeXNpY2FsRm9udCk7Ci0gICAgICAgICAgICBhY3R1YWxUcmFpdHMgPSBDVEZvbnRHZXRT
eW1ib2xpY1RyYWl0cyhmb250Rm9yU3ludGhlc2lzQ29tcHV0YXRpb24uZ2V0KCkpOwotI2VuZGlm
CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgYWN0dWFsVHJhaXRzID0gQ1RGb250R2V0U3lt
Ym9saWNUcmFpdHMoZm9udCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFW
RkltcGwuY3BwCmluZGV4IGQ0MTllMGUxOTI1NTVkNzM2MDg1ODUxZjU0Y2EwMDQwZDQ2YjY2M2Yu
Ljk3MThhNGI2NDNkYWI2OGU2MjcxZjNlZDE4Y2NkZDZlMGU0ZTFkNzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVB
VkZJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01l
ZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaCIKIAot
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQor
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRlICJBdWRpb1N0cmVhbURlc2NyaXB0
aW9uLmgiCiAjaW5jbHVkZSAiQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmgiCkBAIC0xNzAsNCAr
MTcwLDQgQEAgY29uc3QgU3RyaW5nJiBNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6Om1pbWVU
eXBlKCkgY29uc3QKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxF
KE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjZW5kaWYgLy8g
RU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5o
CmluZGV4IDMzN2VjMTlkNWI0OTQzYzA1MDJiMTFlZjcyMTE0NjQzNmUxMjAyMTIuLmM2NTk1NWQz
ZWQ4MDNmOWEzZDk3NGM0MzBjYzdkYTQzYjRlMmFlYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVy
UHJpdmF0ZUFWRkltcGwuaApAQCAtMjQsNyArMjQsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRlICJDQUF1ZGlvU3RyZWFtRGVzY3JpcHRp
b24uaCIKICNpbmNsdWRlICJNZWRpYVJlY29yZGVyUHJpdmF0ZS5oIgpAQCAtNjgsNCArNjgsNCBA
QCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUo
TUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNlbmRpZiAvLyBF
TkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQ
cml2YXRlV3JpdGVyQ29jb2EuaAppbmRleCBiNzU1OGQyODBjMmVmNzk2MDY4Y2FjMGNjOTZiNTAz
M2RjMzcwOTcxLi4yMTFmNzVlZTczYWY2OTE5ZTdmNGM5OTU4ZTBjZDM0ODI1MzJkMDlmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlh
UmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaApA
QCAtMjQsNyArMjQsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCiAKICNpbmNsdWRlICJBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmgiCiAKQEAgLTE0Nyw0ICsx
NDcsNCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBF
TkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNlbmRp
ZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29h
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJl
Y29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLm1tCmluZGV4IDZhZDIwYmU4Y2I1NzkyM2EwZTc4NDJl
MzcwMWQzM2E2YWEwM2FiNmMuLjJjN2NhMmUwM2QyOTZjMDNkODFkMmNkYzE1MTcxNTkzZjFlNTA4
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29j
b2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVy
Q29jb2EubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLmgiCiAKLSNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKQogCiAjaW5jbHVkZSAiQXVkaW9TYW1wbGVCdWZmZXJDb21wcmVzc29yLmgiCiAjaW5j
bHVkZSAiQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oIgpAQCAtNTgyLDQgKzU4Miw0IEBAIHVuc2ln
bmVkIE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyOjp2aWRlb0JpdFJhdGUoKSBjb25zdAogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKSAm
JiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RS
RUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9D
b29raWVDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvQ29v
a2llQ29jb2EubW0KaW5kZXggMTBlYzc1YTdlZWU4Nzg0MWNlMDEyYjlhZjE5YjQ2NzBiMGMxOTIw
MC4uMGRjNThhOTkwNmVjYTc0NmM2YmY5ZTc0YTgzZWZmMjg0ZmY1MDk2ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9Db29raWVDb2NvYS5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL0Nvb2tpZUNvY29hLm1tCkBA
IC0yOSwxNiArMjksNiBAQAogLy8gRklYTUU6IFJlbW92ZSBOU19BU1NVTUVfTk9OTlVMTF9CRUdJ
Ti9FTkQgYW5kIGFsbCBfTnVsbGFibGUgYW5ub3RhdGlvbnMgb25jZSB3ZSByZW1vdmUgdGhlIE5T
SFRUUENvb2tpZSBmb3J3YXJkIGRlY2xhcmF0aW9uIGJlbG93LgogTlNfQVNTVU1FX05PTk5VTExf
QkVHSU4KIAotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExP
V0VEIDwgMTAxNTAwCi10eXBlZGVmIE5TU3RyaW5nICogTlNIVFRQQ29va2llU3RyaW5nUG9saWN5
OwotQGludGVyZmFjZSBOU0hUVFBDb29raWUgKFN0YWdpbmcpCi1AcHJvcGVydHkgKG51bGxhYmxl
LCByZWFkb25seSwgY29weSkgTlNIVFRQQ29va2llU3RyaW5nUG9saWN5IHNhbWVTaXRlUG9saWN5
OwotQGVuZAotCi1zdGF0aWMgTlNTdHJpbmcgKiBjb25zdCBOU0hUVFBDb29raWVTYW1lU2l0ZUxh
eCA9IEAibGF4IjsKLXN0YXRpYyBOU1N0cmluZyAqIGNvbnN0IE5TSFRUUENvb2tpZVNhbWVTaXRl
U3RyaWN0ID0gQCJzdHJpY3QiOwotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3Rh
dGljIFZlY3Rvcjx1aW50MTZfdD4gcG9ydFZlY3RvckZyb21MaXN0KE5TQXJyYXk8TlNOdW1iZXIg
Kj4gKnBvcnRMaXN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jb2NvYS9OZXR3b3JrU3RvcmFnZVNlc3Npb25Db2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY29jb2EvTmV0d29ya1N0b3JhZ2VTZXNzaW9uQ29jb2EubW0KaW5kZXgg
NTBjNTAwNmY3MjI2MzhmNWU1M2Y3YWI4ZDYwZGY1MmNhNzUyNDJiZi4uOGU0YTI4NjBlZTgxMTkw
NmVjODY1NWNhNzE5MzkyNjNlMzkzMmNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jb2NvYS9OZXR3b3JrU3RvcmFnZVNlc3Npb25Db2NvYS5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtTdG9yYWdlU2Vzc2lv
bkNvY29hLm1tCkBAIC0xMjIsNyArMTIyLDYgQEAgdm9pZCBOZXR3b3JrU3RvcmFnZVNlc3Npb246
OnNldEFsbENvb2tpZXNUb1NhbWVTaXRlU3RyaWN0KGNvbnN0IFJlZ2lzdHJhYmxlRG9tYWkKIHsK
ICAgICBBU1NFUlQoaGFzUHJvY2Vzc1ByaXZpbGVnZShQcm9jZXNzUHJpdmlsZWdlOjpDYW5BY2Nl
c3NSYXdDb29raWVzKSk7CiAKLSNpZiBIQVZFKENGTkVUV09SS19TQU1FU0lURV9DT09LSUVfQVBJ
KQogICAgIFJldGFpblB0cjxOU011dGFibGVBcnJheTxOU0hUVFBDb29raWUgKj4+IG9sZENvb2tp
ZXNUb0RlbGV0ZSA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOwogICAg
IFJldGFpblB0cjxOU011dGFibGVBcnJheTxOU0hUVFBDb29raWUgKj4+IG5ld0Nvb2tpZXNUb0Fk
ZCA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOwogCkBAIC0xNDMsOSAr
MTQyLDcgQEAgdm9pZCBOZXR3b3JrU3RvcmFnZVNlc3Npb246OnNldEFsbENvb2tpZXNUb1NhbWVT
aXRlU3RyaWN0KGNvbnN0IFJlZ2lzdHJhYmxlRG9tYWkKICAgICBmb3IgKE5TSFRUUENvb2tpZSAq
bmV3Q29va2llIGluIG5ld0Nvb2tpZXNUb0FkZC5nZXQoKSkKICAgICAgICAgW25zQ29va2llU3Rv
cmFnZSgpIHNldENvb2tpZTpuZXdDb29raWVdOwogICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElP
TlMKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGRvbWFpbik7Ci0jZW5kaWYKKwogICAgIGNvbXBs
ZXRpb25IYW5kbGVyKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAppbmRleCA4NmRjM2ZlYzFiMjQxZmFiMWM4
NDU2N2IxZjc4YmM5MGY3NzhmYWZjLi4xMDZjZDkwNGU2ODE3MDkwZGVlYTQxYjY0MWNiOTBhN2Zm
ZDJlYTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MuY3BwCkBAIC0zNDcsNyArMzQ3LDcgQEAgYm9vbCBHUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzOjphbGxvd3NFeGl0VW5kZXJNZW1vcnlQcmVzc3VyZSgpIGNvbnN0CiAg
ICAgaWYgKCFtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXItPmFsbG93c0V4aXRVbmRl
ck1lbW9yeVByZXNzdXJlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgotI2lmIFBM
QVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklU
RVJERUxFR0FURSkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkK
ICAgICBpZiAobV9yZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlciAmJiAhbV9yZW1vdGVNZWRpYVJl
Y29yZGVyTWFuYWdlci0+YWxsb3dzRXhpdFVuZGVyTWVtb3J5UHJlc3N1cmUoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogI2VuZGlmCkBAIC00MzEsNyArNDMxLDcgQEAgUmVtb3RlQXVkaW9NZWRp
YVN0cmVhbVRyYWNrUmVuZGVyZXJJbnRlcm5hbFVuaXRNYW5hZ2VyJiBHUFVDb25uZWN0aW9uVG9X
ZWJQcm9jZXMKIH0KICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShNRURJ
QV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2lmIFBMQVRGT1JNKENP
Q09BKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQogUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIm
IEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6Om1lZGlhUmVjb3JkZXJNYW5hZ2VyKCkKIHsKICAg
ICBpZiAoIW1fcmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIpCkBAIC02NTUsNyArNjU1LDcgQEAg
Ym9vbCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaXNwYXRjaE1lc3NhZ2UoSVBDOjpDb25u
ZWN0aW9uJiBjb25uZWN0aW9uLCBJUEMKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogI2Vu
ZGlmCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIEhBVkUo
QVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQogICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNz
YWdlczo6UmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkg
ewogICAgICAgICBtZWRpYVJlY29yZGVyTWFuYWdlcigpLmRpZFJlY2VpdmVNZXNzYWdlRnJvbVdl
YlByb2Nlc3MoY29ubmVjdGlvbiwgZGVjb2Rlcik7CiAgICAgICAgIHJldHVybiB0cnVlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
LmgKaW5kZXggYjg4MmFhMDkwNzM3NzZkYzhiOGRmNjk3ZGYwMjEwY2I1ODlhZWQzYi4uMDVhNTA1
ZmVlMzI5Mzc4YjEzMGE5Yzk5NzMyNjA2YmUyMGI0ODdjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCkBAIC0xNzQsNyAr
MTc0LDcgQEAgcHJpdmF0ZToKICAgICBVc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5JiB1c2Vy
TWVkaWFDYXB0dXJlTWFuYWdlclByb3h5KCk7CiAgICAgUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRy
YWNrUmVuZGVyZXJJbnRlcm5hbFVuaXRNYW5hZ2VyJiBhdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5k
ZXJlckludGVybmFsVW5pdE1hbmFnZXIoKTsKICNlbmRpZgotI2lmIFBMQVRGT1JNKENPQ09BKSAm
JiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNp
ZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBSZW1vdGVNZWRp
YVJlY29yZGVyTWFuYWdlciYgbWVkaWFSZWNvcmRlck1hbmFnZXIoKTsKICNlbmRpZgogCkBAIC0y
NTYsNyArMjU2LDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlQXVkaW9N
ZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJJbnRlcm5hbFVuaXRNYW5hZ2VyPiBtX2F1ZGlvTWVkaWFT
dHJlYW1UcmFja1JlbmRlcmVySW50ZXJuYWxVbml0TWFuYWdlcjsKICAgICBSZWY8UmVtb3RlU2Ft
cGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlcj4gbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJN
YW5hZ2VyOwogI2VuZGlmCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShNRURJQV9TVFJF
QU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2lmIFBMQVRGT1JNKENPQ09BKSAm
JiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVNZWRpYVJl
Y29yZGVyTWFuYWdlcj4gbV9yZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlcjsKICNlbmRpZgogI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5zYi5pbiBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluCmluZGV4IDE5
ZjAzMWI5NzE0MTI2YmE4ZGM4ZDI1NDQxZTk1Y2Q5MGJmNGUzMzUuLjgwNjM5ODQyM2UxNWI4N2Iz
OTFhMjRhNTg2ZDM2MGI1YjU0YWE1OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluCkBA
IC0xMTgsMTAgKzExOCw4IEBACiAgICAgOzsgQ1ZNUwogICAgIChhbGxvdyBtYWNoLWxvb2t1cCAo
d2l0aCB0ZWxlbWV0cnkpCiAgICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmN2bXNTZXJ2
IikpCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAgfHwgUExB
VEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgKGFsbG93IGZpbGUtcmVhZCogKHdpdGggdGVsZW1ldHJ5
KQogICAgICAgICAocHJlZml4ICIvcHJpdmF0ZS92YXIvZGIvQ1ZNUy9jdm1zQ29kZVNpZ25PYmoi
KSkKLSNlbmRpZgogICAgIDs7IE9wZW5DTAogICAgIChhbGxvdyBpb2tpdC1vcGVuICh3aXRoIHRl
bGVtZXRyeSkKICAgICAgICAgKGlva2l0LWNvbm5lY3Rpb24gIklPQWNjZWxlcmF0b3IiKQpAQCAt
NDI3LDcgKzQyNSw2IEBACiAgICAgKGlva2l0LXByb3BlcnR5ICJzYXZlZC1jb25maWciKQogICAg
IChpb2tpdC1wcm9wZXJ0eSAic3RhcnR1cC10aW1pbmciKQogICAgIChpb2tpdC1wcm9wZXJ0eSAi
dG91Y2gtc2l6ZS1pZCIpCi0jaWYgIVBMQVRGT1JNKE1BQykgfHwgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMDE0MDAKICAgICAoaW9raXQtcHJvcGVydHkgIkFUWSxjYml0cyIp
CiAgICAgKGlva2l0LXByb3BlcnR5ICJBVFksaW50cmV2IikKICAgICAoaW9raXQtcHJvcGVydHkg
IkFjY2VsTmF0aXZlRE1BUm93Qnl0ZUFsaWdubWVudCIpCkBAIC00NDUsNyArNDQyLDYgQEAKICAg
ICAoaW9raXQtcHJvcGVydHkgIlRlbGVtZXRyeURpc2FibGUiKQogICAgIChpb2tpdC1wcm9wZXJ0
eSAiY2FpbF9wcm9wZXJ0aWVzIikKICAgICAoaW9raXQtcHJvcGVydHkgImRwbSIpCi0jZW5kaWYK
ICAgICAoaW9raXQtcHJvcGVydHkgIklPR1ZBSDI2NEVuY29kZUNhcGFiaWxpdGllcyIpIDs7IDxy
ZGFyOi8vcHJvYmxlbS80OTQ5ODA0MD4KICNpZiAhUExBVEZPUk0oTUFDKSB8fCBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID4gMTAxNTAwCiAgICAgKGlva2l0LXByb3BlcnR5ICJJT0FW
REhFVkNEZWNvZGVDYXBhYmlsaXRpZXMiKSA7OyA8cmRhcjovL3Byb2JsZW0vNzExMDAxODg+CkBA
IC03MDAsOSArNjk2LDYgQEAKICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5sb2dkLmV2
ZW50cyIpKQogCiAoYWxsb3cgbWFjaC1sb29rdXAgKHdpdGggdGVsZW1ldHJ5KQotI2lmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE0MDAKLSAgICAgICAoZ2xvYmFsLW5hbWUg
ImNvbS5hcHBsZS5Gb250T2JqZWN0c1NlcnZlciIpCi0jZW5kaWYKICAgICAgICAoZ2xvYmFsLW5h
bWUgImNvbS5hcHBsZS5TeXN0ZW1Db25maWd1cmF0aW9uLmNvbmZpZ2QiKQogICAgICAgIChnbG9i
YWwtbmFtZSAiY29tLmFwcGxlLmFzc2VydGlvbmQucHJvY2Vzc2Fzc2VydGlvbmNvbm5lY3Rpb24i
KQogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmF1ZGlvLnRvb2xib3gucmVwb3J0aW5n
LnNlcnZpY2UiKQpAQCAtNzE4LDE4ICs3MTEsMTQgQEAKICAgICAgICAoZ2xvYmFsLW5hbWUgImNv
bS5hcHBsZS50Y2NkLnN5c3RlbSIpCiApCiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTQwMCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKIDs7IDxyZGFyOi8vcHJv
YmxlbS80NzI2ODE2Nj4KIChhbGxvdyBtYWNoLWxvb2t1cCAod2l0aCB0ZWxlbWV0cnkpICh4cGMt
c2VydmljZS1uYW1lICJjb20uYXBwbGUuTVRMQ29tcGlsZXJTZXJ2aWNlIikpCi0jZW5kaWYKIAot
I2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwIHx8IFBMQVRGT1JN
KE1BQ0NBVEFMWVNUKQogKGRlbnkgbWFjaC1sb29rdXAgKHdpdGggbm8tbG9nKQogICAgIChnbG9i
YWwtbmFtZSAiY29tLmFwcGxlLkNvcmVTZXJ2aWNlcy5jb3Jlc2VydmljZXNkIikKICAgICAoZ2xv
YmFsLW5hbWUgImNvbS5hcHBsZS5EaXNrQXJiaXRyYXRpb24uZGlza2FyYml0cmF0aW9uZCIpCiAg
ICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuVmlld0JyaWRnZUF1eGlsaWFyeSIpCiAgICAgKGds
b2JhbC1uYW1lICJjb20uYXBwbGUud2luZG93c2VydmVyLmFjdGl2ZSIpKQotI2VuZGlmCiAKIDs7
IE5lZWRlZCB0byBzdXBwb3J0IGVuY3J5cHRlZCBtZWRpYSBwbGF5YmFjayA8cmRhcjovL3Byb2Js
ZW0vNDAwMzg0Nzg+CiAoYWxsb3cgbWFjaC1sb29rdXAgKHdpdGggdGVsZW1ldHJ5KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVy
LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRl
ci5jcHAKaW5kZXggOGMxMjU0OWYxNDMyODlmZjFmMmRiYjM2NDU4N2MyZjY4ZWFjYTZiYi4uN2U1
NzJiM2E3NGEyMDI3ZTc0Y2FhNzY3MmU1MmRhMGFmODM0MjA3MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIuY3BwCkBA
IC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUmVtb3RlTWVk
aWFSZWNvcmRlci5oIgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VT
UykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUp
CisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJHUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmgiCkBAIC0xMzQsNCArMTM0LDQgQEAgdm9pZCBSZW1vdGVNZWRp
YVJlY29yZGVyOjpyZXN1bWUoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25I
YW5kbGVyKQogCiAjdW5kZWYgTUVTU0FHRV9DSEVDSwogCi0jZW5kaWYgLy8gUExBVEZPUk0oQ09D
T0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFW
RShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpICYmIEVO
QUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmgKaW5kZXgg
MWIwMDAzZDQwZTgxNGQwMDQ0YjhjYzRmNThhNTYxNzU5MzU1MzVhYS4uY2I2OTQ2YzgyNTg4OWQ3
OThhMTc5YzAwZWY3OGE0NzFjZGIxOGVjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmgKQEAgLTI1LDcgKzI1LDcgQEAK
IAogI3ByYWdtYSBvbmNlCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9D
RVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FU
RSkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIk1l
ZGlhUmVjb3JkZXJJZGVudGlmaWVyLmgiCkBAIC04OSw0ICs4OSw0IEBAIHByaXZhdGU6CiAKIH0K
IAotI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVO
QUJMRShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2VuZGlm
IC8vIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJ
QV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1Jl
bW90ZU1lZGlhUmVjb3JkZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
d2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIubWVzc2FnZXMuaW4KaW5kZXggYWQ1ZWI5NGExYTdh
ZmYxNjI1YjkyYTJhZDI4MGVjNTc5MDk4MjNhYi4uOWY1NWM3N2I2ZDlmM2E3ODQwYWQwZjYxYjAy
MWQzZDQ1NzkxZmZmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0
Yy9SZW1vdGVNZWRpYVJlY29yZGVyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5tZXNzYWdlcy5pbgpAQCAtMjEsNyAr
MjEsNyBAQAogIyBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCiAjIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KIAotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJM
RShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2lmIFBMQVRG
T1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0p
CiAKIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhUmVjb3JkZXIgTm90UmVmQ291bnRlZCB7CiAgICAg
QXVkaW9TYW1wbGVzU3RvcmFnZUNoYW5nZWQoV2ViS2l0OjpTaGFyZWRNZW1vcnk6OklQQ0hhbmRs
ZSBzdG9yYWdlSGFuZGxlLCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24gZGVzY3Jp
cHRpb24sIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLmNw
cAppbmRleCBmMGJmYzhmYTVkMzMwMGY0ZDAyMjg0NTI2NWM5YTNkMmFjZjJlNjM2Li5kMGRiZDc5
NjcxMDYzOTBjZTRlMzJhMzAwYjQ5NTVjNDMxNGZiNzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5h
Z2VyLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IlJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLmgiCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYg
RU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNT
RVRXUklURVJERUxFR0FURSkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9D
RVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5o
IgogI2luY2x1ZGUgIkRlY29kZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIuaAppbmRleCAyZjI5
ZmVmMmFmMmQzYzM2MTA5NmIzM2Y5ZjA5ZWUwNzc4NzMwZGU4Li41M2Y5YWRjZGQ0Y2RiYjM2MmY0
OGJmZDk3YjhiYjQwY2FlZTc0MTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5oCkBAIC0xLDUg
KzEsMyBAQAotCi0KIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKQEAgLTI3LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNp
ZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFf
U1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBQTEFURk9STShDT0NP
QSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiAjaW5j
bHVkZSAiTWVkaWFSZWNvcmRlcklkZW50aWZpZXIuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2
ZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3Rl
TWVkaWFSZWNvcmRlck1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4IGI0
M2IzZjQ0ZWYyMTFlN2U3ZGViMmU0NGE4NzRlZWIyNmFhYWFjODYuLjgyOGI4YWE2OGU5MGE5YjI1
ZTFlODcwZjZjOTBhOGZkN2M1YTcwNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdl
ci5tZXNzYWdlcy5pbgpAQCAtMjEsNyArMjEsNyBAQAogIyBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCiAjIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFC
TEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdS
SVRFUkRFTEVHQVRFKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1Mp
ICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhUmVjb3Jk
ZXJNYW5hZ2VyIE5vdFJlZkNvdW50ZWQgewogICAgIENyZWF0ZVJlY29yZGVyKFdlYktpdDo6TWVk
aWFSZWNvcmRlcklkZW50aWZpZXIgaWQsIGJvb2wgaGFzQXVkaW8sIGJvb2wgaGFzVmlkZW8sIHN0
cnVjdCBXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJpdmF0ZU9wdGlvbnMgb3B0aW9ucykgLT4gKHN0
ZDo6b3B0aW9uYWw8V2ViQ29yZTo6RXhjZXB0aW9uRGF0YT4gY3JlYXRpb25FcnJvciwgU3RyaW5n
IG1pbWVUeXBlLCB1bnNpZ25lZCBhdWRpb0JpdFJhdGUsIHVuc2lnbmVkIHZpZGVvQml0UmF0ZSkg
QXN5bmMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0
d29ya0RhdGFUYXNrQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29h
L05ldHdvcmtEYXRhVGFza0NvY29hLm1tCmluZGV4IDVjMTI1MWFmNDE2YzM2YTIxYTcxYmM4NGYx
OGQwNGM5NTFhNjc5OWYuLmVmMDQ2MDE5M2VmMWI0OGI3ZmI3YWQ3MWJhNzBiZDMyZDk1NjU1ZDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0Rh
dGFUYXNrQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9O
ZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQpAQCAtMTMwLDEzICsxMzAsNyBAQCBOU0hUVFBDb29raWVT
dG9yYWdlICpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6c3RhdGVsZXNzQ29va2llU3RvcmFnZSgpCiB7
CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFJldGFpblB0cjxOU0hUVFBDb29raWVTdG9yYWdl
Pj4gc3RhdGVsZXNzQ29va2llU3RvcmFnZTsKICAgICBpZiAoIXN0YXRlbGVzc0Nvb2tpZVN0b3Jh
Z2UuZ2V0KCkpIHsKLSNpZiBIQVZFKE5TSFRUUENPT0tJRVNUT1JBR0VfX0lOSVRXSVRISURFTlRJ
RklFUl9XSVRIX0lOQUNDVVJBVEVfTlVMTEFCSUxJVFkpCi0gICAgICAgIElHTk9SRV9OVUxMX0NI
RUNLX1dBUk5JTkdTX0JFR0lOCi0jZW5kaWYKICAgICAgICAgc3RhdGVsZXNzQ29va2llU3RvcmFn
ZS5nZXQoKSA9IGFkb3B0TlMoW1tOU0hUVFBDb29raWVTdG9yYWdlIGFsbG9jXSBfaW5pdFdpdGhJ
ZGVudGlmaWVyOm5pbCBwcml2YXRlOllFU10pOwotI2lmIEhBVkUoTlNIVFRQQ09PS0lFU1RPUkFH
RV9fSU5JVFdJVEhJREVOVElGSUVSX1dJVEhfSU5BQ0NVUkFURV9OVUxMQUJJTElUWSkKLSAgICAg
ICAgSUdOT1JFX05VTExfQ0hFQ0tfV0FSTklOR1NfRU5ECi0jZW5kaWYKICAgICAgICAgc3RhdGVs
ZXNzQ29va2llU3RvcmFnZS5nZXQoKS5nZXQoKS5jb29raWVBY2NlcHRQb2xpY3kgPSBOU0hUVFBD
b29raWVBY2NlcHRQb2xpY3lOZXZlcjsKICAgICB9CiAgICAgQVNTRVJUKHN0YXRlbGVzc0Nvb2tp
ZVN0b3JhZ2UuZ2V0KCkuZ2V0KCkuY29va2llcy5jb3VudCA9PSAwKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbSBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5t
bQppbmRleCAyOTMwYjU5NGNhYjM3ODhkNDA4NGI4N2QzMDQ3OTBiNzk5Y2FkODEzLi41YmNiOThh
NmQ4ODhlY2VlYmViMWUyNDVjNjg3YzZjYTU3MmI2YTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KKysrIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCkBA
IC0xNTcsNyArMTU3LDYgQEAgc3RhdGljIFdlYkNvcmU6OlByaXZhY3lTdGFuY2UgdG9Qcml2YWN5
U3RhbmNlKG53X2Nvbm5lY3Rpb25fcHJpdmFjeV9zdGFuY2VfdCBzdGEKIH0KICNlbmRpZgogCi0j
aWYgSEFWRShDRk5FVFdPUktfTkVHT1RJQVRFRF9TU0xfUFJPVE9DT0xfQ0lQSEVSKQogI2lmIEhB
VkUoQ0ZORVRXT1JLX01FVFJJQ1NfQVBJU19WNCkKIHN0YXRpYyBTdHJpbmcgc3RyaW5nRm9yVExT
UHJvdG9jb2xWZXJzaW9uKHRsc19wcm90b2NvbF92ZXJzaW9uX3QgcHJvdG9jb2wpCiB7CkBAIC00
MzcsNyArNDM2LDYgQEAgc3RhdGljIFN0cmluZyBzdHJpbmdGb3JTU0xDaXBoZXIoU1NMQ2lwaGVy
U3VpdGUgY2lwaGVyKQogI3VuZGVmIFNUUklOR0lGWV9DSVBIRVIKIH0KICNlbmRpZiAvLyBIQVZF
KENGTkVUV09SS19NRVRSSUNTX0FQSVNfVjQpCi0jZW5kaWYgLy8gSEFWRShDRk5FVFdPUktfTkVH
T1RJQVRFRF9TU0xfUFJPVE9DT0xfQ0lQSEVSKQogCiBAaW50ZXJmYWNlIFdLTmV0d29ya1Nlc3Np
b25EZWxlZ2F0ZSA6IE5TT2JqZWN0IDxOU1VSTFNlc3Npb25EYXRhRGVsZWdhdGUKICNpZiBIQVZF
KE5TVVJMU0VTU0lPTl9XRUJTT0NLRVQpCkBAIC03MjUsMTQgKzcyMywxMyBAQCAtICh2b2lkKVVS
TFNlc3Npb246KE5TVVJMU2Vzc2lvbiAqKXNlc3Npb24gdGFzazooTlNVUkxTZXNzaW9uVGFzayAq
KXRhc2sgZGlkUmVjZQogICAgICAgICBpZiAoTmV0d29ya1Nlc3Npb25Db2NvYTo6YWxsb3dzU3Bl
Y2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjaGFsbGVuZ2UpKQogICAgICAgICAgICAgcmV0
dXJuIGNvbXBsZXRpb25IYW5kbGVyKE5TVVJMU2Vzc2lvbkF1dGhDaGFsbGVuZ2VVc2VDcmVkZW50
aWFsLCBbTlNVUkxDcmVkZW50aWFsIGNyZWRlbnRpYWxGb3JUcnVzdDpjaGFsbGVuZ2UucHJvdGVj
dGlvblNwYWNlLnNlcnZlclRydXN0XSk7CiAKLSNpZiBIQVZFKFRMU19QUk9UT0NPTF9WRVJTSU9O
X1QpCiAgICAgICAgIE5TVVJMU2Vzc2lvblRhc2tUcmFuc2FjdGlvbk1ldHJpY3MgKm1ldHJpY3Mg
PSB0YXNrLl9pbmNvbXBsZXRlVGFza01ldHJpY3MudHJhbnNhY3Rpb25NZXRyaWNzLmxhc3RPYmpl
Y3Q7CiAgICAgICAgIGF1dG8gdGxzVmVyc2lvbiA9ICh0bHNfcHJvdG9jb2xfdmVyc2lvbl90KW1l
dHJpY3MubmVnb3RpYXRlZFRMU1Byb3RvY29sVmVyc2lvbi51bnNpZ25lZFNob3J0VmFsdWU7CiBB
TExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgogICAgICAgICBpZiAodGxzVmVyc2lv
biA9PSB0bHNfcHJvdG9jb2xfdmVyc2lvbl9UTFN2MTAgfHwgdGxzVmVyc2lvbiA9PSB0bHNfcHJv
dG9jb2xfdmVyc2lvbl9UTFN2MTEpCiAgICAgICAgICAgICBuZWdvdGlhdGVkTGVnYWN5VExTID0g
TmVnb3RpYXRlZExlZ2FjeVRMUzo6WWVzOwogQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNf
RU5ECi0jZW5kaWYKKwogICAgICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJ
TgogICAgICAgICBpZiAobmVnb3RpYXRlZExlZ2FjeVRMUyA9PSBOZWdvdGlhdGVkTGVnYWN5VExT
OjpObyAmJiBbdGFzayByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9UTFNOZWdvdGlhdGVk
UHJvdG9jb2xWZXJzaW9uKV0pIHsKICAgICAgICAgICAgIFNTTFByb3RvY29sIHRsc1ZlcnNpb24g
PSBbdGFzayBfVExTTmVnb3RpYXRlZFByb3RvY29sVmVyc2lvbl07CkBAIC04NDksMTIgKzg0Niwx
MCBAQCAtICh2b2lkKVVSTFNlc3Npb246KE5TVVJMU2Vzc2lvbiAqKXNlc3Npb24gdGFzazooTlNV
UkxTZXNzaW9uVGFzayAqKXRhc2sgZGlkRmluaQogICAgICAgICBuZXR3b3JrTG9hZE1ldHJpY3Mu
bWFya0NvbXBsZXRlKCk7CiAgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcy5yZWRpcmVjdENvdW50
ID0gbWV0cmljcy5yZWRpcmVjdENvdW50OwogICAgICAgICBuZXR3b3JrTG9hZE1ldHJpY3MucHJv
dG9jb2wgPSBTdHJpbmcobS5uZXR3b3JrUHJvdG9jb2xOYW1lKTsKLSNpZiBIQVZFKENGTkVUV09S
S19NRVRSSUNTX0NPTk5FQ1RJT05fUFJPUEVSVElFUykKICAgICAgICAgbmV0d29ya0xvYWRNZXRy
aWNzLmNlbGx1bGFyID0gbS5jZWxsdWxhcjsKICAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNzLmV4
cGVuc2l2ZSA9IG0uZXhwZW5zaXZlOwogICAgICAgICBuZXR3b3JrTG9hZE1ldHJpY3MuY29uc3Ry
YWluZWQgPSBtLmNvbnN0cmFpbmVkOwogICAgICAgICBuZXR3b3JrTG9hZE1ldHJpY3MubXVsdGlw
YXRoID0gbS5tdWx0aXBhdGg7Ci0jZW5kaWYKICAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNzLmlz
UmV1c2VkQ29ubmVjdGlvbiA9IG0uaXNSZXVzZWRDb25uZWN0aW9uOwogCiAjaWYgSEFWRShORVRX
T1JLX0NPTk5FQ1RJT05fUFJJVkFDWV9TVEFOQ0UpCkBAIC04NzcsNyArODcyLDYgQEAgLSAodm9p
ZClVUkxTZXNzaW9uOihOU1VSTFNlc3Npb24gKilzZXNzaW9uIHRhc2s6KE5TVVJMU2Vzc2lvblRh
c2sgKil0YXNrIGRpZEZpbmkKICNlbmRpZgogICAgICAgICAgICAgYWRkaXRpb25hbE1ldHJpY3Mt
PmNvbm5lY3Rpb25JZGVudGlmaWVyID0gU3RyaW5nKFttLl9jb25uZWN0aW9uSWRlbnRpZmllciBV
VUlEU3RyaW5nXSk7CiAKLSNpZiBIQVZFKENGTkVUV09SS19ORUdPVElBVEVEX1NTTF9QUk9UT0NP
TF9DSVBIRVIpCiAjaWYgSEFWRShDRk5FVFdPUktfTUVUUklDU19BUElTX1Y0KQogICAgICAgICAg
ICAgYWRkaXRpb25hbE1ldHJpY3MtPnRsc1Byb3RvY29sID0gc3RyaW5nRm9yVExTUHJvdG9jb2xW
ZXJzaW9uKCh0bHNfcHJvdG9jb2xfdmVyc2lvbl90KVttLm5lZ290aWF0ZWRUTFNQcm90b2NvbFZl
cnNpb24gdW5zaWduZWRTaG9ydFZhbHVlXSk7CiAgICAgICAgICAgICBhZGRpdGlvbmFsTWV0cmlj
cy0+dGxzQ2lwaGVyID0gc3RyaW5nRm9yVExTQ2lwaGVyU3VpdGUoKHRsc19jaXBoZXJzdWl0ZV90
KVttLm5lZ290aWF0ZWRUTFNDaXBoZXJTdWl0ZSB1bnNpZ25lZFNob3J0VmFsdWVdKTsKQEAgLTg4
Niw3ICs4ODAsNiBAQCAtICh2b2lkKVVSTFNlc3Npb246KE5TVVJMU2Vzc2lvbiAqKXNlc3Npb24g
dGFzazooTlNVUkxTZXNzaW9uVGFzayAqKXRhc2sgZGlkRmluaQogICAgICAgICAgICAgYWRkaXRp
b25hbE1ldHJpY3MtPnRsc1Byb3RvY29sID0gc3RyaW5nRm9yU1NMUHJvdG9jb2wobS5fbmVnb3Rp
YXRlZFRMU1Byb3RvY29sKTsKICAgICAgICAgICAgIGFkZGl0aW9uYWxNZXRyaWNzLT50bHNDaXBo
ZXIgPSBzdHJpbmdGb3JTU0xDaXBoZXIobS5fbmVnb3RpYXRlZFRMU0NpcGhlcik7CiAgICAgICAg
ICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKLSNlbmRpZgogI2VuZGlmCiAK
ICAgICAgICAgICAgIF9fYmxvY2sgV2ViQ29yZTo6SFRUUEhlYWRlck1hcCByZXF1ZXN0SGVhZGVy
czsKQEAgLTk0MCwyMiArOTMzLDEzIEBAIC0gKHZvaWQpVVJMU2Vzc2lvbjooTlNVUkxTZXNzaW9u
ICopc2Vzc2lvbiBkYXRhVGFzazooTlNVUkxTZXNzaW9uRGF0YVRhc2sgKilkYXRhCiAKICAgICAg
ICAgTmVnb3RpYXRlZExlZ2FjeVRMUyBuZWdvdGlhdGVkTGVnYWN5VExTID0gTmVnb3RpYXRlZExl
Z2FjeVRMUzo6Tm87CiAgICAgICAgIE5TVVJMU2Vzc2lvblRhc2tNZXRyaWNzICp0YXNrTWV0cmlj
cyA9IGRhdGFUYXNrLl9pbmNvbXBsZXRlVGFza01ldHJpY3M7Ci0jaWYgSEFWRShUTFNfUFJPVE9D
T0xfVkVSU0lPTl9UKQorCiAgICAgICAgIE5TVVJMU2Vzc2lvblRhc2tUcmFuc2FjdGlvbk1ldHJp
Y3MgKm1ldHJpY3MgPSB0YXNrTWV0cmljcy50cmFuc2FjdGlvbk1ldHJpY3MubGFzdE9iamVjdDsK
ICAgICAgICAgYXV0byB0bHNWZXJzaW9uID0gKHRsc19wcm90b2NvbF92ZXJzaW9uX3QpbWV0cmlj
cy5uZWdvdGlhdGVkVExTUHJvdG9jb2xWZXJzaW9uLnVuc2lnbmVkU2hvcnRWYWx1ZTsKIEFMTE9X
X0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCiAgICAgICAgIGlmICh0bHNWZXJzaW9uID09
IHRsc19wcm90b2NvbF92ZXJzaW9uX1RMU3YxMCB8fCB0bHNWZXJzaW9uID09IHRsc19wcm90b2Nv
bF92ZXJzaW9uX1RMU3YxMSkKICAgICAgICAgICAgIG5lZ290aWF0ZWRMZWdhY3lUTFMgPSBOZWdv
dGlhdGVkTGVnYWN5VExTOjpZZXM7CiBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQK
LSNlbHNlIC8vIFdlIGRvIG5vdCBuZWVkIHRvIGNoZWNrIF9UTFNOZWdvdGlhdGVkUHJvdG9jb2xW
ZXJzaW9uIGlmIHdlIGhhdmUgbWV0cmljcy5uZWdvdGlhdGVkVExTUHJvdG9jb2xWZXJzaW9uIGJl
Y2F1c2UgaXQgd29ya3MgYXQgcmVzcG9uc2UgdGltZSBldmVuIGJlZm9yZSByZGFyOi8vcHJvYmxl
bS81NjUyMjYwMQotICAgICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgot
ICAgICAgICBpZiAoW2RhdGFUYXNrIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX1RMU05l
Z290aWF0ZWRQcm90b2NvbFZlcnNpb24pXSkgewotICAgICAgICAgICAgU1NMUHJvdG9jb2wgdGxz
VmVyc2lvbiA9IFtkYXRhVGFzayBfVExTTmVnb3RpYXRlZFByb3RvY29sVmVyc2lvbl07Ci0gICAg
ICAgICAgICBpZiAodGxzVmVyc2lvbiA9PSBrVExTUHJvdG9jb2wxMSB8fCB0bHNWZXJzaW9uID09
IGtUTFNQcm90b2NvbDEpCi0gICAgICAgICAgICAgICAgbmVnb3RpYXRlZExlZ2FjeVRMUyA9IE5l
Z290aWF0ZWRMZWdhY3lUTFM6OlllczsKLSAgICAgICAgfQotICAgICAgICBBTExPV19ERVBSRUNB
VEVEX0RFQ0xBUkFUSU9OU19FTkQKLSNlbmRpZgogICAgICAgICAKICAgICAgICAgLy8gQXZvaWQg
TUlNRSB0eXBlIHNuaWZmaW5nIGlmIHRoZSByZXNwb25zZSBjb21lcyBiYWNrIGFzIDMwNCBOb3Qg
TW9kaWZpZWQuCiAgICAgICAgIGludCBzdGF0dXNDb2RlID0gW3Jlc3BvbnNlIGlzS2luZE9mQ2xh
c3M6TlNIVFRQVVJMUmVzcG9uc2UuY2xhc3NdID8gWyhOU0hUVFBVUkxSZXNwb25zZSAqKXJlc3Bv
bnNlIHN0YXR1c0NvZGVdIDogMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IuaW4gYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNz
LnNiLmluCmluZGV4IDkwMzliYzg3MDFjZWEyYWExZDA5ODA5M2NjNWNkMTNhY2I5Y2Y3MDQuLjE3
NDQxYzczZjRlNTJlNDcyYTI1ZGFjYmMxOGQxNzAxMDhkNDhiODkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nl
c3Muc2IuaW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9tYWMvY29tLmFwcGxl
LldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYi5pbgpAQCAtMzgsNyArMzgsNyBAQAogCiAjaW5jbHVk
ZSAiU2hhcmVkL1NhbmRib3gvcHJlZmVyZW5jZXMuc2IiCiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTUwMAorI2lmIFBMQVRGT1JNKE1BQykKIDs7OwogOzs7IFRo
ZSBmb2xsb3dpbmcgcnVsZXMgd2VyZSBvcmlnaW5hbGx5IGNvbnRhaW5lZCBpbiAnY29tbW9uLnNi
Jy4gV2UgYXJlIGR1cGxpY2F0aW5nIHRoZW0gaGVyZSBzbyB3ZSBjYW4KIDs7OyByZW1vdmUgdW5u
ZWVkZWQgc2FuZGJveCBleHRlbnNpb25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5tbSBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vY29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXIubW0KaW5kZXgg
NTJiOTYwZGNkYjNiYmYzNDQ1MzYxYmVjMmZiODRjYzBmY2EwZjY5OS4uZDdlNGMzZThhMDY5NzVl
Yjc5ODQ4Mzc4Y2Q2YjRhOTk4OTY2ZjRlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL2NvY29hL1BheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyLm1tCkBA
IC0yMjUsOSArMjI1LDkgQEAgdm9pZCBQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlcjo6Y29t
cGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWwKICAgICBbcGF5bWVudE1l
dGhvZFVwZGF0ZSBzZXRFcnJvcnM6dG9OU0Vycm9ycyhXVEZNb3ZlKHVwZGF0ZS0+ZXJyb3JzKSku
Z2V0KCldOwogICAgIFtwYXltZW50TWV0aG9kVXBkYXRlIHNldFNoaXBwaW5nTWV0aG9kczp0b1BL
U2hpcHBpbmdNZXRob2RzKFdURk1vdmUodXBkYXRlLT5uZXdTaGlwcGluZ01ldGhvZHMpKS5nZXQo
KV07CiAjZW5kaWYKLSNpZiBIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKSAmJiBFTkFCTEUoQVBQ
TEVfUEFZX0lOU1RBTExNRU5UUykKKyNpZiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UUykK
ICAgICBbcGF5bWVudE1ldGhvZFVwZGF0ZSBzZXRJbnN0YWxsbWVudEdyb3VwSWRlbnRpZmllcjpX
VEZNb3ZlKHVwZGF0ZS0+aW5zdGFsbG1lbnRHcm91cElkZW50aWZpZXIpXTsKLSNlbmRpZiAvLyBI
QVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRTKSAmJiBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5U
UykKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZX0lOU1RBTExNRU5UUykKICAgICBtZXJnZShw
YXltZW50TWV0aG9kVXBkYXRlLmdldCgpLCAqdXBkYXRlKTsKICAgICBbcGxhdGZvcm1EZWxlZ2F0
ZSgpIGNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbjpwYXltZW50TWV0aG9kVXBkYXRlLmdl
dCgpXTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL21hYy9BcHBL
aXRTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL21hYy9BcHBLaXRTUEkuaAppbmRl
eCBjYTFiYTZjZDY2YTlhZjEwNDM5NGI5ZGRkNzEyOGRmODJiMTAzZmZlLi5iMmIyYTY5ODM4OTAz
MDkyYzhmYjhkZmI2ODExM2IwMmY0NDk5NzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL3NwaS9tYWMvQXBwS2l0U1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9z
cGkvbWFjL0FwcEtpdFNQSS5oCkBAIC02MCwxMCArNjAsNyBAQCB0eXBlZGVmIE5TX09QVElPTlMo
TlNVSW50ZWdlciwgTlNXaW5kb3dTaGFkb3dPcHRpb25zKSB7CiAtICh2b2lkKXNldEluc3BlY3Rv
ckJhcjooTlNJbnNwZWN0b3JCYXIgKiliYXI7CiAKIEBwcm9wZXJ0eSAocmVhZG9ubHkpIE5TV2lu
ZG93U2hhZG93T3B0aW9ucyBzaGFkb3dPcHRpb25zOwotCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9O
X01BWF9BTExPV0VEID49IDEwMTQwMAogQHByb3BlcnR5IENHRmxvYXQgdGl0bGViYXJBbHBoYVZh
bHVlOwotI2VuZGlmCiAKICNpZiBIQVZFKE5TU0NST0xMVklFV19TRVBBUkFUT1JfVFJBQ0tJTkdf
QURBUFRFUikKIC0gKEJPT0wpcmVnaXN0ZXJTY3JvbGxWaWV3U2VwYXJhdG9yVHJhY2tpbmdBZGFw
dGVyOihOU09iamVjdDxOU1Njcm9sbFZpZXdTZXBhcmF0b3JUcmFja2luZ0FkYXB0ZXI+ICopYWRh
cHRlcjsKQEAgLTgyLDEyICs3OSw2IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBO
U1dpbmRvd1NoYWRvd09wdGlvbnMpIHsKIC0gKHZvaWQpX3VwZGF0ZTsKIEBlbmQKIAotI2lmIF9f
TUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEwMTQwMAotQGludGVyZmFjZSBOU1dpbmRv
dyAoSVBJKQotQHByb3BlcnR5IENHRmxvYXQgdGl0bGViYXJBbHBoYVZhbHVlOwotQGVuZAotI2Vu
ZGlmCi0KIC8vIEZJWE1FOiBNb3ZlIHRoaXMgYWJvdmUgb25jZSA8cmRhcjovL3Byb2JsZW0vNzAy
MjQ5ODA+IGlzIGluIGFuIFNESy4KIEBpbnRlcmZhY2UgTlNDdXJzb3IgKCkKICsgKHZvaWQpaGlk
ZVVudGlsQ2hhbmdlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGx1Z2luUHJvY2Vzcy9t
YWMvY29tLmFwcGxlLldlYktpdC5wbHVnaW4tY29tbW9uLnNiLmluIGIvU291cmNlL1dlYktpdC9Q
bHVnaW5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LnBsdWdpbi1jb21tb24uc2IuaW4KaW5k
ZXggMTBkZGUyNzY2MDJmN2Q0NWNkNjU2NTk1ZmUxYjgwYTRhYzU5NjRhZS4uYzIwMTVlYWYwNWY3
MDJkODdkN2EwNWU0YzU3NTgyMmU5MGM3MWZmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Q
bHVnaW5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LnBsdWdpbi1jb21tb24uc2IuaW4KKysr
IGIvU291cmNlL1dlYktpdC9QbHVnaW5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LnBsdWdp
bi1jb21tb24uc2IuaW4KQEAgLTE2OCw3ICsxNjgsNyBAQAogICAgICh4cGMtc2VydmljZS1uYW1l
ICJjb20uYXBwbGUuaGlzZXJ2aWNlcy14cGNzZXJ2aWNlIikKICkKIAotI2lmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwCisjaWYgUExBVEZPUk0oTUFDKQogOzsgPHJk
YXI6Ly9wcm9ibGVtLzQ3MjY4MTY2PgogKGFsbG93IG1hY2gtbG9va3VwICh4cGMtc2VydmljZS1u
YW1lICJjb20uYXBwbGUuTVRMQ29tcGlsZXJTZXJ2aWNlIikpCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRv
clByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9jb2NvYS9XZWJQ
YXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCmluZGV4IDg5ZjE5YjE5OTM1NWZiMDVlZjUz
NGEzMzIyMTMwMDMzOWJhZTE1ZjguLmMxOTk3YmNlMGE4YTk2ODY0MTU5ZDE0YjhmODA2ZjVlMmYz
YjEwYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dl
YlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQpAQCAt
Mjg0LDExICsyODQsOSBAQCBSZXRhaW5QdHI8UEtQYXltZW50UmVxdWVzdD4gV2ViUGF5bWVudENv
b3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtUGF5bWVudFJlcXVlc3QoYwogCiAgICAgW3Jlc3VsdCBz
ZXRTdXBwb3J0ZWRDb3VudHJpZXM6dG9OU1NldChwYXltZW50UmVxdWVzdC5zdXBwb3J0ZWRDb3Vu
dHJpZXMoKSkuZ2V0KCldOwogCi0jaWYgSEFWRShQQVNTS0lUX0JPVU5EX0lOVEVSRkFDRV9JREVO
VElGSUVSKQogICAgIGF1dG8mIGJvdW5kSW50ZXJmYWNlSWRlbnRpZmllciA9IG1fY2xpZW50LnBh
eW1lbnRDb29yZGluYXRvckJvdW5kSW50ZXJmYWNlSWRlbnRpZmllcigqdGhpcyk7CiAgICAgaWYg
KCFib3VuZEludGVyZmFjZUlkZW50aWZpZXIuaXNFbXB0eSgpKQogICAgICAgICBbcmVzdWx0IHNl
dEJvdW5kSW50ZXJmYWNlSWRlbnRpZmllcjpib3VuZEludGVyZmFjZUlkZW50aWZpZXJdOwotI2Vu
ZGlmCiAKICAgICAvLyBGSVhNRTogSW5zdGVhZCBvZiB1c2luZyByZXNwb25kc1RvU2VsZWN0b3Is
IHRoaXMgc2hvdWxkIHVzZSBhIHByb3BlciAjaWYgdmVyc2lvbiBjaGVjay4KICAgICBhdXRvJiBi
dW5kbGVJZGVudGlmaWVyID0gbV9jbGllbnQucGF5bWVudENvb3JkaW5hdG9yU291cmNlQXBwbGlj
YXRpb25CdW5kbGVJZGVudGlmaWVyKCp0aGlzKTsKQEAgLTMwNSwxMiArMzAzLDEwIEBAIFJldGFp
blB0cjxQS1BheW1lbnRSZXF1ZXN0PiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZv
cm1QYXltZW50UmVxdWVzdChjCiAgICAgICAgIFtyZXN1bHQgc2V0Q1REYXRhQ29ubmVjdGlvblNl
cnZpY2VUeXBlOnNlcnZpY2VUeXBlXTsKICNlbmRpZgogCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RB
TExNRU5UUykKICAgICBpZiAoUEtQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uICpjb25m
aWd1cmF0aW9uID0gcGF5bWVudFJlcXVlc3QuaW5zdGFsbG1lbnRDb25maWd1cmF0aW9uKCkucGxh
dGZvcm1Db25maWd1cmF0aW9uKCkpIHsKICAgICAgICAgW3Jlc3VsdCBzZXRJbnN0YWxsbWVudENv
bmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl07CiAgICAgICAgIFtyZXN1bHQgc2V0UmVxdWVzdFR5
cGU6UEtQYXltZW50UmVxdWVzdFR5cGVJbnN0YWxsbWVudF07CiAgICAgfQotI2VuZGlmCiAKICNp
ZiBIQVZFKFBBU1NLSVRfQ09VUE9OX0NPREUpCiAgICAgaWYgKGF1dG8gc3VwcG9ydHNDb3Vwb25D
b2RlID0gcGF5bWVudFJlcXVlc3Quc3VwcG9ydHNDb3Vwb25Db2RlKCkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLm1tIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbQppbmRleCBiYTQ5OTA5
MTJiYjQ0MDJjNDRiNTYwZDM0NTVmOTE0YTg4MzE0ZDVhLi4yMTI1Mzk5MjY0YWIxZmMwYTM2YzVj
MzYwNTQxN2RiZDM2MzNjOGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2Nv
YS9Bcmd1bWVudENvZGVyc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29h
L0FyZ3VtZW50Q29kZXJzQ29jb2EubW0KQEAgLTY2LDE0ICs2Niw2IEBAIEBpbXBsZW1lbnRhdGlv
biBXS1NlY3VyZUNvZGluZ0FyY2hpdmluZ0RlbGVnYXRlCiAKIC0gKG51bGxhYmxlIGlkKWFyY2hp
dmVyOihOU0tleWVkQXJjaGl2ZXIgKilhcmNoaXZlciB3aWxsRW5jb2RlT2JqZWN0OihpZClvYmpl
Y3QKIHsKLSNpZiBIQVZFKE5TRk9OVF9XSVRIX09QVElDQUxfU0laSU5HX0JVRykKLSAgICBpZiAo
YXV0byBmb250ID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNGb250PihvYmplY3QpKSB7Ci0gICAgICAg
IC8vIFJlY3JlYXRlIGFueSBzZXJpYWxpemVkIGZvbnRzIGFmdGVyIG5vcm1hbGl6aW5nIHRoZQot
ICAgICAgICAvLyBmb250IGF0dHJpYnV0ZXMgdG8gd29yayBhcm91bmQgPHJkYXI6Ly9wcm9ibGVt
LzUxNjU3ODgwPi4KLSAgICAgICAgcmV0dXJuIFdlYktpdDo6Zm9udFdpdGhBdHRyaWJ1dGVzKGZv
bnQuZm9udERlc2NyaXB0b3IuZm9udEF0dHJpYnV0ZXMsIDApOwotICAgIH0KLSNlbmRpZgotCiAg
ICAgaWYgKGF1dG8gdW53cmFwcGVkVVJMID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNVUkw+KG9iamVj
dCkpCiAgICAgICAgIHJldHVybiBhZG9wdE5TKFtbV0tTZWN1cmVDb2RpbmdVUkxXcmFwcGVyIGFs
bG9jXSBpbml0V2l0aFVSTDp1bndyYXBwZWRVUkxdKS5hdXRvcmVsZWFzZSgpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMubW0KaW5kZXggY2FhYTdjYjYy
YzU2ZmY4Zjc1NjBkYTk2ZjFhY2FkYmZkZGExMWQ0Mi4uYTI1MTBjNjQzNTA0ZDgzOTU1ZGY5NDJl
ZjQ3NzQ3MzUxYzllZmJjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2Ev
Q29yZVRleHRIZWxwZXJzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVU
ZXh0SGVscGVycy5tbQpAQCAtMzUsMjEgKzM1LDcgQEAgQ29jb2FGb250ICpmb250V2l0aEF0dHJp
YnV0ZXMoTlNEaWN0aW9uYXJ5ICphdHRyaWJ1dGVzLCBDR0Zsb2F0IHNpemUpCiB7CiAgICAgQkVH
SU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TCiAKLSNpZiBIQVZFKE5TRk9OVF9XSVRIX09QVElDQUxf
U0laSU5HX0JVRykKLSAgICBhdXRvIG11dGFibGVEaWN0aW9uYXJ5ID0gYWRvcHROUyhbYXR0cmli
dXRlcyBtdXRhYmxlQ29weV0pOwotICAgIGlmIChpZCBvcHRpY2FsU2l6ZUF0dHJpYnV0ZSA9IFtt
dXRhYmxlRGljdGlvbmFyeSBvYmplY3RGb3JLZXk6KF9fYnJpZGdlIE5TU3RyaW5nICopa0NURm9u
dE9wdGljYWxTaXplQXR0cmlidXRlXSkgewotICAgICAgICBpZiAoW29wdGljYWxTaXplQXR0cmli
dXRlIGlzS2luZE9mQ2xhc3M6W05TU3RyaW5nIGNsYXNzXV0pIHsKLSAgICAgICAgICAgIFttdXRh
YmxlRGljdGlvbmFyeSByZW1vdmVPYmplY3RGb3JLZXk6KF9fYnJpZGdlIE5TU3RyaW5nICopa0NU
Rm9udE9wdGljYWxTaXplQXR0cmlidXRlXTsKLSAgICAgICAgICAgIGlmIChOU051bWJlciAqc2l6
ZSA9IFttdXRhYmxlRGljdGlvbmFyeSBvYmplY3RGb3JLZXk6KF9fYnJpZGdlIE5TU3RyaW5nICop
a0NURm9udFNpemVBdHRyaWJ1dGVdKQotICAgICAgICAgICAgICAgIFttdXRhYmxlRGljdGlvbmFy
eSBzZXRPYmplY3Q6c2l6ZSBmb3JLZXk6KF9fYnJpZGdlIE5TU3RyaW5nICopa0NURm9udE9wdGlj
YWxTaXplQXR0cmlidXRlXTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGF1dG8gZGVzY3JpcHRv
ciA9IFtDb2NvYUZvbnREZXNjcmlwdG9yIGZvbnREZXNjcmlwdG9yV2l0aEZvbnRBdHRyaWJ1dGVz
Om11dGFibGVEaWN0aW9uYXJ5LmdldCgpXTsKLSNlbHNlCiAgICAgYXV0byBkZXNjcmlwdG9yID0g
W0NvY29hRm9udERlc2NyaXB0b3IgZm9udERlc2NyaXB0b3JXaXRoRm9udEF0dHJpYnV0ZXM6YXR0
cmlidXRlc107Ci0jZW5kaWYKLQogICAgIHJldHVybiBbQ29jb2FGb250IGZvbnRXaXRoRGVzY3Jp
cHRvcjpkZXNjcmlwdG9yIHNpemU6c2l6ZV07CiAKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJ
T05TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJDb3JlQXJndW1l
bnRDb2RlcnNDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYkNvcmVBcmd1
bWVudENvZGVyc0NvY29hLm1tCmluZGV4IDg3ZjRlYjFlYmEyODcyZTBjYjBhYjk1OTE2YWZlZGUy
OWZjYmEyNDQuLmM4YmQ2NmZmNGQxYTQzNzMyODZhOWQ5ODA0ZTk0Njc4MGJiY2E0YjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYkNvcmVBcmd1bWVudENvZGVyc0Nv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYkNvcmVBcmd1bWVudENv
ZGVyc0NvY29hLm1tCkBAIC05NCw4ICs5NCw2IEBAIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QXR0
cmlidXRlZFN0cmluZz4gQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpBdHRyaWJ1dGVkU3RyaW5nCiAK
ICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogCi0jaWYgSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykK
LQogdm9pZCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3Vy
YXRpb24+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3QgV2ViQ29yZTo6UGF5bWVudElu
c3RhbGxtZW50Q29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKIHsKICAgICBlbmNvZGVyIDw8
IGNvbmZpZ3VyYXRpb24ucGxhdGZvcm1Db25maWd1cmF0aW9uKCk7CkBAIC0xMTAsOCArMTA4LDYg
QEAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYXltZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9u
PiBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlAKICAgICByZXR1cm4geyBXVEZNb3ZlKCpjb25maWd1
cmF0aW9uKSB9OwogfQogCi0jZW5kaWYgLy8gSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKLQog
dm9pZCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBheW1lbnQ+OjplbmNvZGUoRW5jb2RlciYgZW5j
b2RlciwgY29uc3QgV2ViQ29yZTo6UGF5bWVudCYgcGF5bWVudCkKIHsKICAgICBlbmNvZGVyIDw8
IHBheW1lbnQucGtQYXltZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5oCmluZGV4IDNlMDZkYWJiNjI0Njc0MzU3NjFiZjAzNTc4M2I3NGU1NmZlYzUz
NTEuLjhhOWViMmYxY2U1NDFlYTYzNDIxNzg2MWZkZmFlOGE5OWI3NDc4MmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCkBAIC04MzIsNyArODMyLDcg
QEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpDRE1JbnN0YW5jZVNl
c3Npb246Ok1lc3NhZ2U+IHsKIH07CiAjZW5kaWYKIAotI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxM
TUVOVFMpCisjaWYgUExBVEZPUk0oQ09DT0EpCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENv
ZGVyPFdlYkNvcmU6OlBheW1lbnRJbnN0YWxsbWVudENvbmZpZ3VyYXRpb24+IHsKICAgICBzdGF0
aWMgdm9pZCBlbmNvZGUoRW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlBheW1lbnRJbnN0YWxsbWVu
dENvbmZpZ3VyYXRpb24mKTsKICAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQYXlt
ZW50SW5zdGFsbG1lbnRDb25maWd1cmF0aW9uPiBkZWNvZGUoRGVjb2RlciYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggYzBkNjkwNDVmOGI2NzQ2ZGYxMGU3
MWY5YjQzNWI4YjkyNmY2OTkxZi4uNzAxZjFhMjkwODhkODQyMDE2MGM3M2UwY2Q5ZWZkMzJkY2M2
ZjIzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCkBAIC0xMTUx
LDcgKzExNTEsNiBAQCB2b2lkIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQoV0tQYWdlUmVmIHBh
Z2VSZWYsIGNvbnN0IFdLUGFnZUxvYWRlckNsaWVudEJhc2UqCiAgICAgICAgIHsKICAgICAgICAg
ICAgIGluaXRpYWxpemUoY2xpZW50KTsKICAgICAgICAgICAgIAotI2lmICFQTEFURk9STShNQUMp
IHx8IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPiAxMDE0MDAKICAgICAgICAgICAg
IC8vIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQgaXMgZGVwcmVjYXRlZC4gVXNlIFdLUGFnZVNl
dFBhZ2VOYXZpZ2F0aW9uQ2xpZW50IGluc3RlYWQuCiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VS
VCghbV9jbGllbnQuZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUpOwogICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlQoIW1fY2xpZW50LmRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFt
ZSk7CkBAIC0xMTg0LDcgKzExODMsNiBAQCB2b2lkIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQo
V0tQYWdlUmVmIHBhZ2VSZWYsIGNvbnN0IFdLUGFnZUxvYWRlckNsaWVudEJhc2UqCiAgICAgICAg
ICAgICBSRUxFQVNFX0FTU0VSVCghbV9jbGllbnQubmF2aWdhdGlvbkdlc3R1cmVEaWRCZWdpbik7
CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCghbV9jbGllbnQubmF2aWdhdGlvbkdlc3R1cmVX
aWxsRW5kKTsKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFtX2NsaWVudC5uYXZpZ2F0aW9u
R2VzdHVyZURpZEVuZCk7Ci0jZW5kaWYKICAgICAgICAgfQogCiAgICAgcHJpdmF0ZToKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNh
dGlvblBhbmVsLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1
dGhlbnRpY2F0aW9uUGFuZWwubW0KaW5kZXggMjZkZDU2MjYxNDJiMjg1MzhiYzE0NzY3ZjdhNTJk
ZTFhNjY5YTY2YS4uMjZlOWNkNWEyNDFiMjA3M2FiNjFiNjE2ZjM0YjFkMzRlMTk4OGYzZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRp
Y2F0aW9uUGFuZWwubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KQEAgLTIwNywxMSArMjA3LDcgQEAgc3RhdGljIFJl
dGFpblB0cjxOU0FycmF5PiBnZXRBbGxMb2NhbEF1dGhlbnRpY2F0b3JDcmVkZW50aWFsc0ltcGwo
TlNTdHJpbmcgKmFjY2UKICAgICAgICAgKF9fYnJpZGdlIGlkKWtTZWNBdHRyQWNjZXNzR3JvdXA6
IGFjY2Vzc0dyb3VwLAogICAgICAgICAoX19icmlkZ2UgaWQpa1NlY1JldHVybkF0dHJpYnV0ZXM6
IEBZRVMsCiAgICAgICAgIChfX2JyaWRnZSBpZClrU2VjTWF0Y2hMaW1pdDogKF9fYnJpZGdlIGlk
KWtTZWNNYXRjaExpbWl0QWxsLAotI2lmIEhBVkUoREFUQV9QUk9URUNUSU9OX0tFWUNIQUlOKQog
ICAgICAgICAoX19icmlkZ2UgaWQpa1NlY1VzZURhdGFQcm90ZWN0aW9uS2V5Y2hhaW46IEBZRVMK
LSNlbHNlCi0gICAgICAgIChfX2JyaWRnZSBpZClrU2VjQXR0ck5vTGVnYWN5OiBAWUVTCi0jZW5k
aWYKICAgICB9OwogICAgIENGVHlwZVJlZiBhdHRyaWJ1dGVzQXJyYXlSZWYgPSBudWxscHRyOwog
ICAgIE9TU3RhdHVzIHN0YXR1cyA9IFNlY0l0ZW1Db3B5TWF0Y2hpbmcoKF9fYnJpZGdlIENGRGlj
dGlvbmFyeVJlZilxdWVyeSwgJmF0dHJpYnV0ZXNBcnJheVJlZik7CkBAIC0yNzAsMTEgKzI2Niw3
IEBAICsgKHZvaWQpZGVsZXRlTG9jYWxBdXRoZW50aWNhdG9yQ3JlZGVudGlhbFdpdGhJRDooTlNE
YXRhICopY3JlZGVudGlhbElECiAgICAgTlNEaWN0aW9uYXJ5KiBkZWxldGVRdWVyeSA9IEB7CiAg
ICAgICAgIChfX2JyaWRnZSBpZClrU2VjQ2xhc3M6IChfX2JyaWRnZSBpZClrU2VjQ2xhc3NLZXks
CiAgICAgICAgIChfX2JyaWRnZSBpZClrU2VjQXR0ckFwcGxpY2F0aW9uTGFiZWw6IGNyZWRlbnRp
YWxJRCwKLSNpZiBIQVZFKERBVEFfUFJPVEVDVElPTl9LRVlDSEFJTikKICAgICAgICAgKF9fYnJp
ZGdlIGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktleWNoYWluOiBAWUVTCi0jZWxzZQotICAgICAg
ICAoX19icmlkZ2UgaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwotI2VuZGlmCiAgICAgfTsKICAg
ICBTZWNJdGVtRGVsZXRlKChfX2JyaWRnZSBDRkRpY3Rpb25hcnlSZWYpZGVsZXRlUXVlcnkpOwog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdl
UHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94
eUNvY29hLm1tCmluZGV4IDJhYjUwZGQ3NmZkM2FlM2NmMzFmNmY4MmViZGY1YjdhMjcxYmVkYzUu
LmM3MjdjMjBkYWM2NjRkOGQ1MDU2NzVhYjZmZmI1MjVlMzVmNWUyYjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCkBAIC02MzQs
MTEgKzYzNCw3IEBAIFZlY3RvcjxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+IFdlYlBhZ2VQcm94
eTo6Y3JlYXRlTmV0d29ya0V4dGVuc2lvbnNTYW5kYm94RXh0CiAgICAgaWYgKCFwcm9jZXNzLmhh
c05ldHdvcmtFeHRlbnNpb25TYW5kYm94QWNjZXNzKCkgJiYgTmV0d29ya0V4dGVuc2lvbkNvbnRl
bnRGaWx0ZXI6OmlzUmVxdWlyZWQoKSkgewogICAgICAgICBwcm9jZXNzLm1hcmtIYXNOZXR3b3Jr
RXh0ZW5zaW9uU2FuZGJveEFjY2VzcygpOwogICAgICAgICBjb25zdGV4cHIgQVNDSUlMaXRlcmFs
IG5lSGVscGVyU2VydmljZSB7ICJjb20uYXBwbGUubmVoZWxwZXIiX3MgfTsKLSNpZiBQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDAKLSAgICAg
ICAgY29uc3RleHByIEFTQ0lJTGl0ZXJhbCBuZVNlc3Npb25NYW5hZ2VyU2VydmljZSB7ICJjb20u
YXBwbGUubmVzZXNzaW9ubWFuYWdlciJfcyB9OwotI2Vsc2UKICAgICAgICAgY29uc3RleHByIEFT
Q0lJTGl0ZXJhbCBuZVNlc3Npb25NYW5hZ2VyU2VydmljZSB7ICJjb20uYXBwbGUubmVzZXNzaW9u
bWFuYWdlci5jb250ZW50LWZpbHRlciJfcyB9OwotI2VuZGlmCiAgICAgICAgIHJldHVybiBTYW5k
Ym94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVzRm9yTWFjaExvb2t1cCh7IG5lSGVscGVyU2Vydmlj
ZSwgbmVTZXNzaW9uTWFuYWdlclNlcnZpY2UgfSwgc3RkOjpudWxsb3B0KTsKICAgICB9CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9u
L0NvY29hL0xvY2FsQXV0aGVudGljYXRvci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YkF1dGhlbnRpY2F0aW9uL0NvY29hL0xvY2FsQXV0aGVudGljYXRvci5tbQppbmRleCBjYzFkYjFh
Y2QzMTViOWEyOGM2YjU3NjEwMDI1ZTRiMzViMGVlN2IyLi5lZDJkZWY4OWE4OTgyYTZlY2FhZTNm
YTBhNzUzMTg5ODY1ZWE2NzBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9Mb2NhbEF1dGhlbnRpY2F0b3IubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvTG9jYWxBdXRoZW50aWNh
dG9yLm1tCkBAIC0xMjcsMTEgKzEyNyw3IEBAIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxS
ZWY8QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlPj4+IGdldEV4aXN0aW5nQ3JlCiAgICAg
ICAgIChpZClrU2VjQXR0ckxhYmVsOiBycElkLAogICAgICAgICAoaWQpa1NlY1JldHVybkF0dHJp
YnV0ZXM6IEBZRVMsCiAgICAgICAgIChpZClrU2VjTWF0Y2hMaW1pdDogKGlkKWtTZWNNYXRjaExp
bWl0QWxsLAotI2lmIEhBVkUoREFUQV9QUk9URUNUSU9OX0tFWUNIQUlOKQogICAgICAgICAoaWQp
a1NlY1VzZURhdGFQcm90ZWN0aW9uS2V5Y2hhaW46IEBZRVMKLSNlbHNlCi0gICAgICAgIChpZClr
U2VjQXR0ck5vTGVnYWN5OiBAWUVTCi0jZW5kaWYKICAgICB9XTsKICAgICB1cGRhdGVRdWVyeUlm
TmVjZXNzYXJ5KHF1ZXJ5LmdldCgpKTsKIApAQCAtMTgyLDExICsxNzgsNyBAQCB2b2lkIExvY2Fs
QXV0aGVudGljYXRvcjo6Y2xlYXJBbGxDcmVkZW50aWFscygpCiAgICAgW3F1ZXJ5IHNldERpY3Rp
b25hcnk6QHsKICAgICAgICAgKGlkKWtTZWNDbGFzczogKGlkKWtTZWNDbGFzc0tleSwKICAgICAg
ICAgKGlkKWtTZWNBdHRyQWNjZXNzR3JvdXA6IChpZClTdHJpbmcoTG9jYWxBdXRoZW50aWNhdGlv
ckFjY2Vzc0dyb3VwKSwKLSNpZiBIQVZFKERBVEFfUFJPVEVDVElPTl9LRVlDSEFJTikKICAgICAg
ICAgKGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktleWNoYWluOiBAWUVTCi0jZWxzZQotICAgICAg
ICAoaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwotI2VuZGlmCiAgICAgfV07CiAgICAgdXBkYXRl
UXVlcnlJZk5lY2Vzc2FyeShxdWVyeS5nZXQoKSk7CiAKQEAgLTM5NCwxMSArMzg2LDcgQEAgdm9p
ZCBMb2NhbEF1dGhlbnRpY2F0b3I6OmNvbnRpbnVlTWFrZUNyZWRlbnRpYWxBZnRlclVzZXJWZXJp
ZmljYXRpb24oU2VjQWNjZXNzQ28KICAgICAgICAgICAgIChpZClrU2VjQXR0cktleUNsYXNzOiAo
aWQpa1NlY0F0dHJLZXlDbGFzc1ByaXZhdGUsCiAgICAgICAgICAgICAoaWQpa1NlY0F0dHJMYWJl
bDogc2VjQXR0ckxhYmVsLAogICAgICAgICAgICAgKGlkKWtTZWNBdHRyQXBwbGljYXRpb25MYWJl
bDogbV9wcm92aXNpb25hbENyZWRlbnRpYWxJZC5nZXQoKSwKLSNpZiBIQVZFKERBVEFfUFJPVEVD
VElPTl9LRVlDSEFJTikKICAgICAgICAgICAgIChpZClrU2VjVXNlRGF0YVByb3RlY3Rpb25LZXlj
aGFpbjogQFlFUwotI2Vsc2UKLSAgICAgICAgICAgIChpZClrU2VjQXR0ck5vTGVnYWN5OiBAWUVT
Ci0jZW5kaWYKICAgICAgICAgfV07CiAgICAgICAgIHVwZGF0ZVF1ZXJ5SWZOZWNlc3NhcnkocXVl
cnkuZ2V0KCkpOwogCkBAIC01OTksMTEgKzU4Nyw3IEBAIHZvaWQgTG9jYWxBdXRoZW50aWNhdG9y
Ojpjb250aW51ZUdldEFzc2VydGlvbkFmdGVyVXNlclZlcmlmaWNhdGlvbihSZWY8V2ViQ29yZTo6
CiAgICAgICAgICAgICAoaWQpa1NlY0F0dHJLZXlDbGFzczogKGlkKWtTZWNBdHRyS2V5Q2xhc3NQ
cml2YXRlLAogICAgICAgICAgICAgKGlkKWtTZWNBdHRyQXBwbGljYXRpb25MYWJlbDogbnNDcmVk
ZW50aWFsSWQuZ2V0KCksCiAgICAgICAgICAgICAoaWQpa1NlY1JldHVyblJlZjogQFlFUywKLSNp
ZiBIQVZFKERBVEFfUFJPVEVDVElPTl9LRVlDSEFJTikKICAgICAgICAgICAgIChpZClrU2VjVXNl
RGF0YVByb3RlY3Rpb25LZXljaGFpbjogQFlFUwotI2Vsc2UKLSAgICAgICAgICAgIChpZClrU2Vj
QXR0ck5vTGVnYWN5OiBAWUVTCi0jZW5kaWYKICAgICAgICAgfSBtdXRhYmxlQ29weV07CiAKICAg
ICAgICAgaWYgKGNvbnRleHQpCkBAIC02NDAsMTEgKzYyNCw3IEBAIHZvaWQgTG9jYWxBdXRoZW50
aWNhdG9yOjpjb250aW51ZUdldEFzc2VydGlvbkFmdGVyVXNlclZlcmlmaWNhdGlvbihSZWY8V2Vi
Q29yZTo6CiAgICAgICAgIChpZClrU2VjQ2xhc3M6IChpZClrU2VjQ2xhc3NLZXksCiAgICAgICAg
IChpZClrU2VjQXR0cktleUNsYXNzOiAoaWQpa1NlY0F0dHJLZXlDbGFzc1ByaXZhdGUsCiAgICAg
ICAgIChpZClrU2VjQXR0ckFwcGxpY2F0aW9uTGFiZWw6IG5zQ3JlZGVudGlhbElkLmdldCgpLAot
I2lmIEhBVkUoREFUQV9QUk9URUNUSU9OX0tFWUNIQUlOKQogICAgICAgICAoaWQpa1NlY1VzZURh
dGFQcm90ZWN0aW9uS2V5Y2hhaW46IEBZRVMKLSNlbHNlCi0gICAgICAgIChpZClrU2VjQXR0ck5v
TGVnYWN5OiBAWUVTCi0jZW5kaWYKICAgICB9XTsKICAgICB1cGRhdGVRdWVyeUlmTmVjZXNzYXJ5
KHF1ZXJ5LmdldCgpKTsKIApAQCAtNjcxLDExICs2NTEsNyBAQCB2b2lkIExvY2FsQXV0aGVudGlj
YXRvcjo6cmVjZWl2ZUV4Y2VwdGlvbihFeGNlcHRpb25EYXRhJiYgZXhjZXB0aW9uLCBXZWJBdXRo
ZW50aQogICAgICAgICBbcXVlcnkgc2V0RGljdGlvbmFyeTpAewogICAgICAgICAgICAgKGlkKWtT
ZWNDbGFzczogKGlkKWtTZWNDbGFzc0tleSwKICAgICAgICAgICAgIChpZClrU2VjQXR0ckFwcGxp
Y2F0aW9uTGFiZWw6IG1fcHJvdmlzaW9uYWxDcmVkZW50aWFsSWQuZ2V0KCksCi0jaWYgSEFWRShE
QVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4pCiAgICAgICAgICAgICAoaWQpa1NlY1VzZURhdGFQcm90
ZWN0aW9uS2V5Y2hhaW46IEBZRVMKLSNlbHNlCi0gICAgICAgICAgICAoaWQpa1NlY0F0dHJOb0xl
Z2FjeTogQFlFUwotI2VuZGlmCiAgICAgICAgIH1dOwogICAgICAgICB1cGRhdGVRdWVyeUlmTmVj
ZXNzYXJ5KHF1ZXJ5LmdldCgpKTsKIApAQCAtNzA4LDExICs2ODQsNyBAQCB2b2lkIExvY2FsQXV0
aGVudGljYXRvcjo6ZGVsZXRlRHVwbGljYXRlQ3JlZGVudGlhbCgpIGNvbnN0CiAgICAgICAgIFtx
dWVyeSBzZXREaWN0aW9uYXJ5OkB7CiAgICAgICAgICAgICAoaWQpa1NlY0NsYXNzOiAoaWQpa1Nl
Y0NsYXNzS2V5LAogICAgICAgICAgICAgKGlkKWtTZWNBdHRyQXBwbGljYXRpb25MYWJlbDogdG9O
U0RhdGEoY3JlZGVudGlhbC0+cmF3SWQoKSkuZ2V0KCksCi0jaWYgSEFWRShEQVRBX1BST1RFQ1RJ
T05fS0VZQ0hBSU4pCiAgICAgICAgICAgICAoaWQpa1NlY1VzZURhdGFQcm90ZWN0aW9uS2V5Y2hh
aW46IEBZRVMKLSNlbHNlCi0gICAgICAgICAgICAoaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwot
I2VuZGlmCiAgICAgICAgIH1dOwogICAgICAgICB1cGRhdGVRdWVyeUlmTmVjZXNzYXJ5KHF1ZXJ5
LmdldCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVu
dGljYXRpb24vTW9jay9Nb2NrTG9jYWxDb25uZWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViQXV0aGVudGljYXRpb24vTW9jay9Nb2NrTG9jYWxDb25uZWN0aW9uLm1tCmluZGV4
IDQ4YjJiYWQ5Yzk0MDQ0YTJmMWNjZTgzZmRkZGQ5MjdlYzYxMjJkODguLjg0ZTZhZjU1YmQwYmJi
NWE0YzRhM2Y2Y2E4ODA5NzJkZDczZDAzMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL01vY2svTW9ja0xvY2FsQ29ubmVjdGlvbi5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Nb2NrL01vY2tMb2Nh
bENvbm5lY3Rpb24ubW0KQEAgLTEyMSwxMSArMTIxLDcgQEAgUmV0YWluUHRyPFNlY0tleVJlZj4g
TW9ja0xvY2FsQ29ubmVjdGlvbjo6Y3JlYXRlQ3JlZGVudGlhbFByaXZhdGVLZXkoTEFDb250ZXh0
ICoKICAgICAgICAgKGlkKWtTZWNBdHRyTGFiZWw6IHNlY0F0dHJMYWJlbCwKICAgICAgICAgKGlk
KWtTZWNBdHRyQXBwbGljYXRpb25UYWc6IHNlY0F0dHJBcHBsaWNhdGlvblRhZywKICAgICAgICAg
KGlkKWtTZWNBdHRyQWNjZXNzaWJsZTogKGlkKWtTZWNBdHRyQWNjZXNzaWJsZUFmdGVyRmlyc3RV
bmxvY2ssCi0jaWYgSEFWRShEQVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4pCiAgICAgICAgIChpZClr
U2VjVXNlRGF0YVByb3RlY3Rpb25LZXljaGFpbjogQFlFUwotI2Vsc2UKLSAgICAgICAgKGlkKWtT
ZWNBdHRyTm9MZWdhY3k6IEBZRVMKLSNlbmRpZgogICAgIH07CiAgICAgT1NTdGF0dXMgc3RhdHVz
ID0gU2VjSXRlbUFkZCgoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKWFkZFF1ZXJ5LCBOVUxMKTsK
ICAgICBpZiAoc3RhdHVzKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJv
Y2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW4gYi9Tb3VyY2Uv
V2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nl
c3Muc2IuaW4KaW5kZXggZjRlYzBhZjkzZDRjOWNkNzVlMDMxMmU3OWZkMzE4MzU2ODkzM2UyOC4u
NzQyY2E4ZWE4NDI4ZDE5OTcwMzllMzc5MjQ4NmQyOWY3ZTA2YzdjMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Q
cm9jZXNzLnNiLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL21hYy9jb20u
YXBwbGUuV2ViS2l0LldlYkF1dGhuUHJvY2Vzcy5zYi5pbgpAQCAtMzE4LDcgKzMxOCw3IEBACiAo
YWxsb3cgbWFjaC1sb29rdXAgKGV4dGVuc2lvbiAiY29tLmFwcGxlLmFwcC1zYW5kYm94Lm1hY2gi
KSkgOzsgRklYTUU6IFNob3VsZCBiZSByZW1vdmVkIHdoZW4gPHJkYXI6Ly9wcm9ibGVtLzEzMDY2
MjA2PiBpcyBmaXhlZC4KIAogKGFsbG93IG1hY2gtbG9va3VwCi0jaWYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAKKyNpZiBQTEFURk9STShNQUMpCiAgICAgKHdpdGgg
cmVwb3J0KSAod2l0aCB0ZWxlbWV0cnkpCiAjZW5kaWYKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5h
cHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhciIpCkBAIC0zMzUsOSArMzM1LDYgQEAK
IAogOzsgVmFyaW91cyBzZXJ2aWNlcyByZXF1aXJlZCBieSBBcHBLaXQgYW5kIG90aGVyIGZyYW1l
d29ya3MKIChhbGxvdyBtYWNoLWxvb2t1cAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPCAxMDE0MDAKLSAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5Gb250T2JqZWN0
c1NlcnZlciIpCi0jZW5kaWYKICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5Qb3dlck1h
bmFnZW1lbnQuY29udHJvbCIpCiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuU3lzdGVt
Q29uZmlndXJhdGlvbi5jb25maWdkIikKICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5h
bmFseXRpY3NkIikKQEAgLTM2MCwxOCArMzU3LDE0IEBACiAgICAgICAgKGdsb2JhbC1uYW1lICJj
b20uYXBwbGUuQ0FSZW5kZXJTZXJ2ZXIiKSA7IE5lZWRlZCBmb3IgW0NBQ29udGV4dCByZW1vdGVD
b250ZXh0V2l0aE9wdGlvbnNdCiApCiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTQwMCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKIDs7IDxyZGFyOi8vcHJvYmxl
bS80NzI2ODE2Nj4KIChhbGxvdyBtYWNoLWxvb2t1cCAoeHBjLXNlcnZpY2UtbmFtZSAiY29tLmFw
cGxlLk1UTENvbXBpbGVyU2VydmljZSIpKQotI2VuZGlmCiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKIChkZW55
IG1hY2gtbG9va3VwICh3aXRoIG5vLWxvZykKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5D
b3JlU2VydmljZXMuY29yZXNlcnZpY2VzZCIpCiAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUu
RGlza0FyYml0cmF0aW9uLmRpc2thcmJpdHJhdGlvbmQiKQogICAgIChnbG9iYWwtbmFtZSAiY29t
LmFwcGxlLlZpZXdCcmlkZ2VBdXhpbGlhcnkiKQogICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxl
LndpbmRvd3NlcnZlci5hY3RpdmUiKSkKLSNlbmRpZgogCiA7OyBOZWVkZWQgdG8gc3VwcG9ydCBl
bmNyeXB0ZWQgbWVkaWEgcGxheWJhY2sgPHJkYXI6Ly9wcm9ibGVtLzQwMDM4NDc4PgogKGFsbG93
IG1hY2gtbG9va3VwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dl
YnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKaW5kZXggZjE0YjYzNzE0NjFlZmY5
N2E3M2FlNDBkMTk1OTBjM2YwMTU3ZGJmMS4uMTIzMGRhN2M1NDNkODEzMTg5MDE2NjA4YzE1Y2Vm
MTcyMTU3ZmVlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJy
dGMvTWVkaWFSZWNvcmRlclByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcApAQCAtMjYsNyArMjYsNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIk1lZGlhUmVjb3JkZXJQcml2YXRlLmgiCiAK
LSNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVE
SUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBQTEFURk9STShD
T0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiAj
aW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkdQVVByb2Nlc3NDb25uZWN0aW9u
LmgiCkBAIC0yMDAsNCArMjAwLDQgQEAgY29uc3QgU3RyaW5nJiBNZWRpYVJlY29yZGVyUHJpdmF0
ZTo6bWltZVR5cGUoKSBjb25zdAogCiB9CiAKLSNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkgJiYg
RU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNT
RVRXUklURVJERUxFR0FURSkKKyNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQ
VV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmgKaW5k
ZXggYmRkNTQ5NzFjZGJlYjgwYTE1MjMzNTAxZjQ2YWM1NGIyYzE3YjZlNi4uNTA4YzZhMmYwMWEx
ZTU3ZTRjYjljMmRmZDFjNjI5YmFlZjAyODJhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5oCkBAIC0y
NSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVO
QUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VU
V1JJVEVSREVMRUdBVEUpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VT
UykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogI2luY2x1ZGUgIk1lZGlhUmVjb3JkZXJJZGVu
dGlmaWVyLmgiCiAjaW5jbHVkZSAiU2hhcmVkUmluZ0J1ZmZlclN0b3JhZ2UuaCIKQEAgLTg2LDQg
Kzg2LDQgQEAgcHJpdmF0ZToKIAogfQogCi0jZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpICYmIEVO
QUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VU
V1JJVEVSREVMRUdBVEUpCisjZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVf
UFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLm1tIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUubW0KaW5k
ZXggNjU1NGEwMjAwMDAxNTU3MWU0YTA2Mjc0OTA0Y2I1M2RkNjFmZmVjMy4uODY3OWE1YjRmNjA0
MWVhYjQyMjBlNmM0NDhhZWE0ZTE4NDcxYjFlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUubW0KKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUubW0KQEAg
LTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJNZWRpYVJlY29y
ZGVyUHJpdmF0ZS5oIgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VT
UykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUp
CisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKIAogI2luY2x1ZGUgPFdlYkNvcmUvQ29yZVZpZGVvU29mdExpbmsuaD4KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNv
cmRlclByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01l
ZGlhUmVjb3JkZXJQcm92aWRlci5jcHAKaW5kZXggMDFjNTk5YzEyODAzMTAwZjUxMDEwMjdhMDlh
YTkyMmQxNzAzMDBiOS4uNWM0ZTg5YzA4MTk2YWIwYmMzZWI2OTlhZDY5YmM5YTg0Y2YwODYyOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNv
cmRlclByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0
Yy9NZWRpYVJlY29yZGVyUHJvdmlkZXIuY3BwCkBAIC0zOSw3ICszOSw3IEBAIHVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwogCiBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TWVkaWFSZWNvcmRlclBy
aXZhdGU+IE1lZGlhUmVjb3JkZXJQcm92aWRlcjo6Y3JlYXRlTWVkaWFSZWNvcmRlclByaXZhdGUo
TWVkaWFTdHJlYW1Qcml2YXRlJiBzdHJlYW0sIGNvbnN0IE1lZGlhUmVjb3JkZXJQcml2YXRlT3B0
aW9ucyYgb3B0aW9ucykKIHsKLSNpZiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEhBVkUoQVZBU1NF
VFdSSVRFUkRFTEVHQVRFKQorI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKICAgICBhdXRvKiBwYWdl
ID0gbV93ZWJQYWdlLmNvcmVQYWdlKCk7CiAgICAgaWYgKHBhZ2UgJiYgcGFnZS0+c2V0dGluZ3Mo
KS53ZWJSVENQbGF0Zm9ybUNvZGVjc0luR1BVUHJvY2Vzc0VuYWJsZWQoKSkKICAgICAgICAgcmV0
dXJuIG1ha2VVbmlxdWU8TWVkaWFSZWNvcmRlclByaXZhdGU+KHN0cmVhbSwgb3B0aW9ucyk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29y
ZGVyUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlh
UmVjb3JkZXJQcm92aWRlci5oCmluZGV4IDcxOTFiOTJjNWZkODU3MDMzZGU1Nzc4N2NlZDI3NjY0
ZmFlZDVhNDkuLjU4ZTQwODIwMzZjMzVkZjFmMGI2NDg3MDQwNzBhMWI3MThmNWY2NTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQ
cm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlh
UmVjb3JkZXJQcm92aWRlci5oCkBAIC00MCwxMyArNDAsMTMgQEAgcHJpdmF0ZToKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TWVkaWFSZWNvcmRlclByaXZhdGU+IGNyZWF0ZU1lZGlhUmVj
b3JkZXJQcml2YXRlKFdlYkNvcmU6Ok1lZGlhU3RyZWFtUHJpdmF0ZSYsIGNvbnN0IFdlYkNvcmU6
Ok1lZGlhUmVjb3JkZXJQcml2YXRlT3B0aW9ucyYpIGZpbmFsOwogI2VuZGlmCiAKLSNpZiBFTkFC
TEUoTUVESUFfU1RSRUFNKSAmJiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNT
KSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFN
KSAmJiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKQogICAgIFdlYlBhZ2Um
IG1fd2ViUGFnZTsKICNlbmRpZgogfTsKIAogaW5saW5lIE1lZGlhUmVjb3JkZXJQcm92aWRlcjo6
TWVkaWFSZWNvcmRlclByb3ZpZGVyKFdlYlBhZ2UmIHdlYlBhZ2UpCi0jaWYgRU5BQkxFKE1FRElB
X1NUUkVBTSkgJiYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgSEFW
RShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExB
VEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykKICAgICA6IG1fd2ViUGFnZSh3ZWJQ
YWdlKQogI2VuZGlmCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJD
bGllbnQuY3BwCmluZGV4IDUxMGQyZGE3OThjZGEyNTA5OTNhYjUwZGQzNjk3ZGVhNWRhZTNhZDEu
Ljc1ZDg0ZTlhOGFiMDQyYjY4YmE3MTJkZGQ0NjIxOTdmMzk1N2IxMDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VM
b2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJDbGllbnQuY3BwCkBAIC00NywxMCArNDcsOCBA
QCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIEluamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVu
dDo6SW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50KGNvbnN0IFdLQnVuZGxlUGFnZUxvYWRl
ckNsaWVudEJhc2UqIGNsaWVudCkKIHsKICAgICBpbml0aWFsaXplKGNsaWVudCk7Ci0jaWYgIVBM
QVRGT1JNKE1BQykgfHwgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+IDEwMTQwMAog
ICAgIC8vIERlcHJlY2F0ZWQgY2FsbGJhY2tzLgogICAgIEFTU0VSVCghbV9jbGllbnQuc2hvdWxk
R29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW0pOwotI2VuZGlmCiB9CiAKIHZvaWQgSW5qZWN0ZWRCdW5k
bGVQYWdlTG9hZGVyQ2xpZW50Ojp3aWxsTG9hZFVSTFJlcXVlc3QoV2ViUGFnZSYgcGFnZSwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBBUEk6Ok9iamVjdCogdXNlckRhdGEpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2Iu
aW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW4K
aW5kZXggMWI5OTQ5YjU4NjBkMTg2NjUxOWY1Mjg1MDBjZjczYTQ5MTFlMDllZi4uNGZkZWZjOWMy
OGIzMmY4ZDgxNTE4NDQxYTFmN2ExYWYwM2Y5MzY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbgpAQCAtMzA2LDEwICszMDYs
OCBAQAogICAgICAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuY3Ztc1NlcnYiKQogICAg
ICAgICApCiAgICAgKQotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAx
NDAwIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgIChhbGxvdyBmaWxlLXJlYWQqCiAgICAg
ICAgIChwcmVmaXggIi9wcml2YXRlL3Zhci9kYi9DVk1TL2N2bXNDb2RlU2lnbk9iaiIpKQotI2Vu
ZGlmCiAgICAgOzsgT3BlbkNMCiAgICAgKGlmIChlcXVhbD8gKHBhcmFtICJFTkFCTEVfU0FOREJP
WF9NRVNTQUdFX0ZJTFRFUiIpICJZRVMiKQogICAgICAgICAoYWxsb3cgaW9raXQtb3BlbgpAQCAt
ODMzLDcgKzgzMSw2IEBACiAgICAgKGlva2l0LXByb3BlcnR5ICJzYXZlZC1jb25maWciKQogICAg
IChpb2tpdC1wcm9wZXJ0eSAic3RhcnR1cC10aW1pbmciKQogICAgIChpb2tpdC1wcm9wZXJ0eSAi
dG91Y2gtc2l6ZS1pZCIpCi0jaWYgIVBMQVRGT1JNKE1BQykgfHwgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMDE0MDAKICAgICAoaW9raXQtcHJvcGVydHkgIkFUWSxjYml0cyIp
CiAgICAgKGlva2l0LXByb3BlcnR5ICJBVFksaW50cmV2IikKICAgICAoaW9raXQtcHJvcGVydHkg
IkFjY2VsTmF0aXZlRE1BUm93Qnl0ZUFsaWdubWVudCIpCkBAIC04NTEsNyArODQ4LDYgQEAKICAg
ICAoaW9raXQtcHJvcGVydHkgIlRlbGVtZXRyeURpc2FibGUiKQogICAgIChpb2tpdC1wcm9wZXJ0
eSAiY2FpbF9wcm9wZXJ0aWVzIikKICAgICAoaW9raXQtcHJvcGVydHkgImRwbSIpCi0jZW5kaWYK
ICAgICAoaW9raXQtcHJvcGVydHkgIklPR1ZBSDI2NEVuY29kZUNhcGFiaWxpdGllcyIpIDs7IDxy
ZGFyOi8vcHJvYmxlbS80OTQ5ODA0MD4KICNpZiAhUExBVEZPUk0oTUFDKSB8fCBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID4gMTAxNTAwCiAgICAgKGlva2l0LXByb3BlcnR5ICJJT0FW
REhFVkNEZWNvZGVDYXBhYmlsaXRpZXMiKSA7OyA8cmRhcjovL3Byb2JsZW0vNzExMDAxODg+CkBA
IC0xMzQ4LDkgKzEzNDQsNiBAQAogCiA7OyBWYXJpb3VzIHNlcnZpY2VzIHJlcXVpcmVkIGJ5IEFw
cEtpdCBhbmQgb3RoZXIgZnJhbWV3b3JrcwogKGFsbG93IG1hY2gtbG9va3VwCi0jaWYgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTQwMAotICAgICAgIChnbG9iYWwtbmFtZSAi
Y29tLmFwcGxlLkZvbnRPYmplY3RzU2VydmVyIikKLSNlbmRpZgogICAgICAgIChnbG9iYWwtbmFt
ZSAiY29tLmFwcGxlLmxvZ2QiKQogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmxvZ2Qu
ZXZlbnRzIikKICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5DQVJlbmRlclNlcnZlciIp
IDsgTmVlZGVkIGZvciBbQ0FDb250ZXh0IHJlbW90ZUNvbnRleHRXaXRoT3B0aW9uc10KQEAgLTEz
ODUsNyArMTM3OCw2IEBACiAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUubHNkLm1hcGRiIikK
ICkKIAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwIHx8IFBM
QVRGT1JNKE1BQ0NBVEFMWVNUKQogOzsgPHJkYXI6Ly9wcm9ibGVtLzQ3MjY4MTY2PgogKGFsbG93
IG1hY2gtbG9va3VwCiAgICAgKHJlcXVpcmUtYWxsCkBAIC0xNDAwLDE1ICsxMzkyLDEyIEBACiAg
ICAgICAgICh4cGMtc2VydmljZS1uYW1lICJjb20uYXBwbGUuTVRMQ29tcGlsZXJTZXJ2aWNlIikK
ICAgICApCiApCi0jZW5kaWYKIAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxNDAwIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogKGRlbnkgbWFjaC1sb29rdXAgKHdp
dGggbm8tbG9nKQogICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLkNvcmVTZXJ2aWNlcy5jb3Jl
c2VydmljZXNkIikKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5EaXNrQXJiaXRyYXRpb24u
ZGlza2FyYml0cmF0aW9uZCIpCiAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuVmlld0JyaWRn
ZUF1eGlsaWFyeSIpCiAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUud2luZG93c2VydmVyLmFj
dGl2ZSIpKQotI2VuZGlmCiAKICNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDExMDAwMAogKGRlbnkgbWFjaC1sb29rdXAgKHdpdGggbm8tbG9nKQpAQCAtMTcwNywxMSArMTY5
Niw3IEBACiAgICAgICAgIChnbG9iYWwtbmFtZQogICAgICAgICAgICAgImNvbS5hcHBsZS5hbmFs
eXRpY3NkIgogICAgICAgICAgICAgImNvbS5hcHBsZS5uZWhlbHBlciIKLSNpZiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkK
ICAgICAgICAgICAgICJjb20uYXBwbGUubmVzZXNzaW9ubWFuYWdlci5jb250ZW50LWZpbHRlciIK
LSNlbHNlCi0gICAgICAgICAgICAiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIiCi0jZW5kaWYK
ICAgICAgICAgICAgICJjb20uYXBwbGUud2ViaW5zcGVjdG9yIgogICAgICAgICAgICAgImNvbS5h
cHBsZS5jZnByZWZzZC5hZ2VudCIKICAgICAgICAgICAgICJjb20uYXBwbGUuY2ZwcmVmc2QuZGFl
bW9uIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1M
Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0K
aW5kZXggY2VjOWI4ZTMxODU5OGFlZWViODQxMTcwNjgxMWJjMzEyY2MxY2VjZi4uNGIwNzg1NDlk
YzQyMDJmYmI2YzI3MmVmMjA1YWIzOTRlMzk0NzE2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCkBAIC0yMjMsMjQgKzIyMyw2IEBAIEBwcm9w
ZXJ0eSAocmVhZG9ubHkpIF9fa2luZG9mIE5TVmlldyAqX2JvcmRlclZpZXc7CiAtIChpZClfbmV3
Rmlyc3RSZXNwb25kZXJBZnRlclJlc2lnbmluZzsKIEBlbmQKIAotI2lmICFIQVZFKFNVQlZJRVdT
X0lWQVJfU1BJKQotQGltcGxlbWVudGF0aW9uIE5TVmlldyAoU3Vidmlld3NJdmFyKQotCi0tICh2
b2lkKV9zZXRTdWJ2aWV3c0l2YXI6KE5TTXV0YWJsZUFycmF5PF9fa2luZG9mIE5TVmlldyAqPiAq
KXN1YnZpZXdzIHsKLSAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgotICAg
IF9zdWJ2aWV3cyA9IHN1YnZpZXdzOwotICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05T
X0VORAotfQotCi0tIChOU011dGFibGVBcnJheTxfX2tpbmRvZiBOU1ZpZXcgKj4gKilfc3Vidmll
d3NJdmFyIHsKLSAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgotICAgIHJl
dHVybiAoTlNNdXRhYmxlQXJyYXkgKilfc3Vidmlld3M7Ci0gICAgQUxMT1dfREVQUkVDQVRFRF9E
RUNMQVJBVElPTlNfRU5ECi19Ci0KLUBlbmQKLSNlbmRpZgotCiB1c2luZyBXZWJFdmVudCA9IE5T
RXZlbnQ7CiBjb25zdCBhdXRvIFdlYkV2ZW50TW91c2VEb3duID0gTlNFdmVudFR5cGVMZWZ0TW91
c2VEb3duOwogCkBAIC03MzcsMTIgKzcxOSw5IEBAIHN0YXRpYyB2b2lkIHNldEN1cnNvcihOU1dp
bmRvdyAqc2VsZiwgU0VMIGNtZCwgTlNQb2ludCBwb2ludCkKIEBpbnRlcmZhY2UgTlNWaWV3ICgp
CiAtICh2b2lkKV9yZWN1cnNpdmVEaXNwbGF5UmVjdElmTmVlZGVkSWdub3JpbmdPcGFjaXR5OihO
U1JlY3QpcmVjdCBpc1Zpc2libGVSZWN0OihCT09MKWlzVmlzaWJsZVJlY3QgcmVjdElzVmlzaWJs
ZVJlY3RGb3JWaWV3OihOU1ZpZXcgKil2aXNpYmxlVmlldyB0b3BWaWV3OihCT09MKXRvcFZpZXc7
CiAtICh2b2lkKV9yZWN1cnNpdmVEaXNwbGF5QWxsRGlydHlXaXRoTG9ja0ZvY3VzOihCT09MKW5l
ZWRzTG9ja0ZvY3VzIHZpc1JlY3Q6KE5TUmVjdCl2aXNSZWN0OwotI2lmIFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAKKyNpZiBQTEFURk9S
TShNQUMpCiAtICh2b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzaXZlIGRpc3BsYXlSZWN0SWdu
b3JpbmdPcGFjaXR5OihOU1JlY3QpZGlzcGxheVJlY3QgaW5Db250ZXh0OihOU0dyYXBoaWNzQ29u
dGV4dCAqKWdyYXBoaWNzQ29udGV4dCBzdG9wQXRMYXllckJhY2tlZFZpZXdzOihCT09MKXN0b3BB
dExheWVyQmFja2VkVmlld3M7CiAjZW5kaWYKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDAKLS0gKHZvaWQpX3JlY3Vyc2l2ZTooQk9P
TClyZWN1cnNpdmUgZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6KE5TUmVjdClkaXNwbGF5UmVj
dCBpbkNvbnRleHQ6KE5TR3JhcGhpY3NDb250ZXh0ICopZ3JhcGhpY3NDb250ZXh0IHNob3VsZENo
YW5nZUZvbnRSZWZlcmVuY2VDb2xvcjooQk9PTClzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29s
b3Igc3RvcEF0TGF5ZXJCYWNrZWRWaWV3czooQk9PTClzdG9wQXRMYXllckJhY2tlZFZpZXdzOwot
I2VuZGlmCiAtICh2b2lkKV9zZXREcmF3c093bkRlc2NlbmRhbnRzOihCT09MKWRyYXdzT3duRGVz
Y2VuZGFudHM7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIC0gKHZvaWQpY2VudGVyU2VsZWN0
aW9uSW5WaXNpYmxlQXJlYTooaWQpc2VuZGVyOwpAQCAtMTY4MSwxOCArMTY2MCwxMCBAQCAtICh2
b2lkKV9yZWN1cnNpdmVEaXNwbGF5QWxsRGlydHlXaXRoTG9ja0ZvY3VzOihCT09MKW5lZWRzTG9j
a0ZvY3VzIHZpc1JlY3Q6KE5TUgogfQogCiAvLyBEb24ndCBsZXQgQXBwS2l0IGV2ZW4gZHJhdyBz
dWJ2aWV3cy4gV2UgdGFrZSBjYXJlIG9mIHRoYXQuCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDE1MDAKIC0gKHZvaWQpX3JlY3Vyc2l2ZTooQk9PTClyZWN1cnNpdmUg
ZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6KE5TUmVjdClkaXNwbGF5UmVjdCBpbkNvbnRleHQ6
KE5TR3JhcGhpY3NDb250ZXh0ICopZ3JhcGhpY3NDb250ZXh0IHN0b3BBdExheWVyQmFja2VkVmll
d3M6KEJPT0wpc3RvcEF0TGF5ZXJCYWNrZWRWaWV3cwotI2Vsc2UKLS0gKHZvaWQpX3JlY3Vyc2l2
ZTooQk9PTClyZWN1cnNpdmUgZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6KE5TUmVjdClkaXNw
bGF5UmVjdCBpbkNvbnRleHQ6KE5TR3JhcGhpY3NDb250ZXh0ICopZ3JhcGhpY3NDb250ZXh0IHNo
b3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjooQk9PTClzaG91bGRDaGFuZ2VGb250UmVmZXJl
bmNlQ29sb3Igc3RvcEF0TGF5ZXJCYWNrZWRWaWV3czooQk9PTClzdG9wQXRMYXllckJhY2tlZFZp
ZXdzCi0jZW5kaWYKIHsKICAgICBbc2VsZiBfc2V0QXNpZGVTdWJ2aWV3c107Ci0jaWYgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAKICAgICBbc3VwZXIgX3JlY3Vyc2l2
ZTpyZWN1cnNpdmUgZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6ZGlzcGxheVJlY3QgaW5Db250
ZXh0OmdyYXBoaWNzQ29udGV4dCBzdG9wQXRMYXllckJhY2tlZFZpZXdzOnN0b3BBdExheWVyQmFj
a2VkVmlld3NdOwotI2Vsc2UKLSAgICBbc3VwZXIgX3JlY3Vyc2l2ZTpyZWN1cnNpdmUgZGlzcGxh
eVJlY3RJZ25vcmluZ09wYWNpdHk6ZGlzcGxheVJlY3QgaW5Db250ZXh0OmdyYXBoaWNzQ29udGV4
dCBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5j
ZUNvbG9yIHN0b3BBdExheWVyQmFja2VkVmlld3M6c3RvcEF0TGF5ZXJCYWNrZWRWaWV3c107Ci0j
ZW5kaWYKICAgICBbc2VsZiBfcmVzdG9yZVN1YnZpZXdzXTsKIH0KIApkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDYxYzEzYTVhYjU3MDBlZGFhNjg1
ODZhOTlmMTU1ZjI4ZjAyNTgwYjguLmM3OWZkZjdmM2I5OGU1ZGYxYTRkMWU4YTU0N2JlN2EzNWNj
Yzc2OGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNiBAQAorMjAyMS0xMC0wMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgorCisgICAgICAgIERyb3Agc3VwcG9ydCBmb3IgbWFjT1MgPCAxMC4xNQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMDg1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0UnVubmVyU2hhcmVk
L3NwaS9BcHBLaXRUZXN0U1BJLmg6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJD
b3JlL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rVGVzdC5tbToKKyAgICAgICAgKFRlc3RXZWJL
aXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
UHJlY29ubmVjdC5tbToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL2NvbmZpZy5oOgorCiAyMDIx
LTEwLTAxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgRHJvcCBs
ZWdhY3kgVVNFKExFR0FDWV9DRk5FVFdPUktfRE9XTkxPQURTKSBjb2RlIHBhdGhzCmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0UnVubmVyU2hhcmVkL3NwaS9BcHBLaXRUZXN0U1BJLmggYi9Ub29scy9U
ZXN0UnVubmVyU2hhcmVkL3NwaS9BcHBLaXRUZXN0U1BJLmgKaW5kZXggNWY5YWQ1MjM3MGYwMjdl
YzEwNDRmYzQxNDQ1ZWQ1YWM3NGRhZWJhMi4uMjIwZmYxN2NhYTIxODNjZmI3NzczMGJkY2Y1Y2Rk
NDE2MjdmMDE2ZCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9zcGkvQXBwS2l0
VGVzdFNQSS5oCisrKyBiL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvc3BpL0FwcEtpdFRlc3RTUEku
aApAQCAtMjgsOSArMjgsNyBAQAogI2ltcG9ydCA8QXBwS2l0L05TRHJhZ2dpbmdJdGVtLmg+CiAK
IC8vIEZJWE1FOiBNb3ZlIHRoaXMgdG8gUGxhdGZvcm1IYXZlLmguCi0jaWYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAKICNkZWZpbmUgSEFWRV9OU0RSQUdHSU5HSVRF
TV9JTklUV0lUSElURU0gMQotI2VuZGlmCiAKIEBpbnRlcmZhY2UgTlNEcmFnZ2luZ0l0ZW0gKCkK
ICNpZiBIQVZFKE5TRFJBR0dJTkdJVEVNX0lOSVRXSVRISVRFTSkKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGlua1Rl
c3QubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvQVZGb3VuZGF0
aW9uU29mdExpbmtUZXN0Lm1tCmluZGV4IDE4ZTg5Yzk0MmE4NDM3MWVhYjY3ZTJlYzM0ZGQyNmQ5
MTQxYmJmZTcuLmJhZmE3NWY0NmU2MDJkY2NmMTdmNTdmN2MwMjUzZmYwYjE5NWIxNGYgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9BVkZvdW5kYXRp
b25Tb2Z0TGlua1Rlc3QubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3Jl
L2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rVGVzdC5tbQpAQCAtMTYxLDcgKzE2MSw3IEBAIFRF
U1QoQVZGb3VuZGF0aW9uU29mdExpbmssIENvbnN0YW50cykKICAgICBFWFBFQ1RfVFJVRShbQVZD
b250ZW50S2V5UmVxdWVzdFByb3RvY29sVmVyc2lvbnNLZXkgaXNFcXVhbFRvU3RyaW5nOkAiUHJv
dG9jb2xWZXJzaW9uc0tleSJdKTsKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IFBMQVRGT1JNKElPUykg
fHwgUExBVEZPUk0oV0FUQ0hPUykgfHwgUExBVEZPUk0oQVBQTEVUVikKKyNpZiBQTEFURk9STShN
QUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oV0FUQ0hPUykgfHwgUExBVEZPUk0oQVBQ
TEVUVikKICAgICBFWFBFQ1RfVFJVRShQQUw6OmNhbkxvYWRfQVZGb3VuZGF0aW9uX0FWVmlkZW9D
b2RlY1R5cGVIRVZDV2l0aEFscGhhKCkpOwogICAgIEVYUEVDVF9UUlVFKFtBVlZpZGVvQ29kZWNU
eXBlSEVWQ1dpdGhBbHBoYSBpc0VxdWFsVG9TdHJpbmc6QCJtdXhhIl0pOwogI2VuZGlmCmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByZWNvbm5lY3Qu
bW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByZWNvbm5lY3QubW0K
aW5kZXggOWIxZWJmYWQ3MWZkZjBlZDhmMTg0MjRlZDJiNDBiOGE4NGJiZjQ2Yy4uNTQ3YjM1N2Vl
OWVhMGFhMTlkYWVkYzg5MjRjYWIxYmFhYzQyNjJkYiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QcmVjb25uZWN0Lm1tCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJlY29ubmVjdC5tbQpAQCAtMTAzLDEwICsxMDMs
NiBAQCBURVNUKFByZWNvbm5lY3QsIENvbm5lY3Rpb25Db3VudCkKICAgICBFWFBFQ1RfRVEoY29u
bmVjdGlvbkNvdW50LCAydSk7CiB9CiAKLS8vIE1vamF2ZSBDRk5ldHdvcmsgX3ByZWNvbm5lY3Qg
U1BJIHNlZW1zIHRvIGhhdmUgYSBidWcgY2F1c2luZyB0aGlzIHRvIHRpbWUgb3V0LgotLy8gVGhh
dCdzIG5vIHByb2JsZW0sIGJlY2F1c2UgdGhpcyBpcyBhIHRlc3QgZm9yIFNQSSBvbmx5IHRvIGJl
IHVzZWQgb24gbGF0ZXIgT1MgdmVyc2lvbnMuCi0jaWYgIVBMQVRGT1JNKE1BQykgfHwgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAKLQogVEVTVChQcmVjb25uZWN0LCBI
VFRQUykKIHsKICAgICBib29sIGNvbm5lY3RlZCA9IGZhbHNlOwpAQCAtMTM2LDggKzEzMiw2IEBA
IFRFU1QoUHJlY29ubmVjdCwgSFRUUFMpCiAgICAgRVhQRUNUX1RSVUUocmVjZWl2ZWRDaGFsbGVu
Z2UpOwogfQogCi0jZW5kaWYKLQogI2lmIEhBVkUoUFJFQ09OTkVDVF9QSU5HKQogc3RhdGljIHZv
aWQgcGluZ1BvbmcoUmVmPEgyOjpDb25uZWN0aW9uPiYmIGNvbm5lY3Rpb24sIHNpemVfdCogaGVh
ZGVyc0NvdW50KQogewpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9TZXJ2aWNlV29ya2VyQmFzaWMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL1NlcnZpY2VXb3JrZXJCYXNpYy5tbQppbmRleCAxZDNhZWU3MDlkNDE0Mzhm
Nzk3MDdiY2Y0YTE0NzZiM2E1MTFjZGI5Li4wZThhM2U3YWZmYzJmNTdlOGJmMDQ1ZmRhOGUwY2Q3
NjJhYWM1NGJmIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL1NlcnZpY2VXb3JrZXJCYXNpYy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL1NlcnZpY2VXb3JrZXJCYXNpYy5tbQpAQCAtMjE4Miw4ICsyMTgyLDYgQEAg
VEVTVChTZXJ2aWNlV29ya2VycywgQ29udGVudFJ1bGVMaXN0KQogICAgIFRlc3RXZWJLaXRBUEk6
OlV0aWw6OnJ1bigmZG9uZVJlbW92aW5nKTsKIH0KIAotI2lmIEhBVkUoVExTX1BST1RPQ09MX1ZF
UlNJT05fVCkKLQogc3RhdGljIGJvb2wgaXNUZXN0U2VydmVyVHJ1c3QoU2VjVHJ1c3RSZWYgdHJ1
c3QpCiB7CiAgICAgaWYgKCF0cnVzdCkKQEAgLTIzNzIsOCArMjM3MCw2IEBAIFRFU1QoU2Vydmlj
ZVdvcmtlcnMsIENoYW5nZU9mU2VydmVyQ2VydGlmaWNhdGUpCiAgICAgfQogfQogCi0jZW5kaWYg
Ly8gSEFWRShUTFNfUFJPVE9DT0xfVkVSU0lPTl9UKQotCiBURVNUKFNlcnZpY2VXb3JrZXJzLCBD
bGVhckRPTUNhY2hlQWxzb0luY2x1ZGVzU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbnMpCiB7CiAg
ICAgW1dLV2Vic2l0ZURhdGFTdG9yZSBfYWxsb3dXZWJzaXRlRGF0YVJlY29yZHNGb3JBbGxPcmln
aW5zXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
VExTRGVwcmVjYXRpb24ubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L1RMU0RlcHJlY2F0aW9uLm1tCmluZGV4IGFmYWQ5NDMyZDBjNzVhMmQzMGU2MDMwMjVmNjMxOTlh
Y2M0MGQ0NDEuLjUzYjUxNzA4YmMzN2RkZjFiN2E4NDcxOTI4YTkyMTI4MmMxNzdkOGMgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvVExTRGVwcmVjYXRp
b24ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9UTFNEZXBy
ZWNhdGlvbi5tbQpAQCAtMTQxLDggKzE0MSw2IEBAIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsK
IAogY29uc3QgdWludDE2X3QgdGxzMV8xID0gMHgwMzAyOwogCi0jaWYgSEFWRShUTFNfUFJPVE9D
T0xfVkVSU0lPTl9UKQotCiBURVNUKFRMU1ZlcnNpb24sIERlZmF1bHRCZWhhdmlvcikKIHsKICAg
ICBIVFRQU2VydmVyIHNlcnZlcihIVFRQU2VydmVyOjpyZXNwb25kV2l0aE9LLCBIVFRQU2VydmVy
OjpQcm90b2NvbDo6SHR0cHNXaXRoTGVnYWN5VExTKTsKQEAgLTE1Nyw4ICsxNTUsNiBAQCBURVNU
KFRMU1ZlcnNpb24sIERlZmF1bHRCZWhhdmlvcikKICAgICBbZGVsZWdhdGUgd2FpdEZvckRpZEZp
bmlzaE5hdmlnYXRpb25dOwogfQogCi0jZW5kaWYgLy8gSEFWRShUTFNfUFJPVE9DT0xfVkVSU0lP
Tl9UKQotCiAjaWYgSEFWRShUTFNfVkVSU0lPTl9EVVJJTkdfQ0hBTExFTkdFKQogCiBSZXRhaW5Q
dHI8V0tXZWJWaWV3PiBtYWtlV2ViVmlld1dpdGgoV0tXZWJzaXRlRGF0YVN0b3JlICpzdG9yZSwg
UmV0YWluUHRyPFRlc3ROYXZpZ2F0aW9uRGVsZWdhdGU+IGRlbGVnYXRlKQpAQCAtMjYzLDggKzI1
OSw2IEBAIFRFU1QoVExTVmVyc2lvbiwgUHJlY29ubmVjdCkKIAogI2VuZGlmIC8vIEhBVkUoVExT
X1ZFUlNJT05fRFVSSU5HX0NIQUxMRU5HRSkKIAotI2lmIEhBVkUoVExTX1BST1RPQ09MX1ZFUlNJ
T05fVCkKLQogc3RhdGljIHN0ZDo6cGFpcjxSZXRhaW5QdHI8V0tXZWJWaWV3PiwgUmV0YWluUHRy
PFRlc3ROYXZpZ2F0aW9uRGVsZWdhdGU+PiB3ZWJWaWV3V2l0aE5hdmlnYXRpb25EZWxlZ2F0ZSgp
CiB7CiAgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1Rlc3ROYXZpZ2F0aW9uRGVsZWdhdGUg
bmV3XSk7CkBAIC00OTksOCArNDkzLDYgQEAgVEVTVChUTFNWZXJzaW9uLCBMZWdhY3lTdWJyZXNv
dXJjZXMpCiAKICNlbmRpZiAvLyBIQVZFKFRMU19WRVJTSU9OX0RVUklOR19DSEFMTEVOR0UpCiAK
LSNlbmRpZiAvLyBIQVZFKFRMU19QUk9UT0NPTF9WRVJTSU9OX1QpCi0KIH0KIAogI2VuZGlmIC8v
IEhBVkUoU1NMKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCmluZGV4IGFiYTRm
YjkwN2ZiMjI3YzM3NDBkYWYwOWFmMTFjNzE0ODA2OTdlMjQuLmQ2MmUyOTIzMjY1YTM1OWQwMWVh
NmExYjEwNTMxMzkyMjhjOTA5NjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwu
bW0KQEAgLTM5MiwxMSArMzkyLDcgQEAgYm9vbCBhZGRLZXlUb0tleWNoYWluKGNvbnN0IFN0cmlu
ZyYgcHJpdmF0ZUtleUJhc2U2NCwgY29uc3QgU3RyaW5nJiBycElkLCBjb25zdAogICAgICAgICAo
aWQpa1NlY0F0dHJMYWJlbDogcnBJZCwKICAgICAgICAgKGlkKWtTZWNBdHRyQXBwbGljYXRpb25U
YWc6IGFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRXaXRoQmFzZTY0RW5jb2RlZFN0cmluZzp1
c2VySGFuZGxlQmFzZTY0IG9wdGlvbnM6TlNEYXRhQmFzZTY0RGVjb2RpbmdJZ25vcmVVbmtub3du
Q2hhcmFjdGVyc10pLmdldCgpLAogICAgICAgICAoaWQpa1NlY0F0dHJBY2Nlc3NpYmxlOiAoaWQp
a1NlY0F0dHJBY2Nlc3NpYmxlQWZ0ZXJGaXJzdFVubG9jaywKLSNpZiBIQVZFKERBVEFfUFJPVEVD
VElPTl9LRVlDSEFJTikKICAgICAgICAgKGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktleWNoYWlu
OiBAWUVTCi0jZWxzZQotICAgICAgICAoaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwotI2VuZGlm
CiAgICAgfTsKICAgICBPU1N0YXR1cyBzdGF0dXMgPSBTZWNJdGVtQWRkKChfX2JyaWRnZSBDRkRp
Y3Rpb25hcnlSZWYpYWRkUXVlcnksIE5VTEwpOwogICAgIGlmIChzdGF0dXMpCkBAIC00MTEsMTEg
KzQwNyw3IEBAIHZvaWQgY2xlYW5VcEtleWNoYWluKGNvbnN0IFN0cmluZyYgcnBJZCkKICAgICAg
ICAgKGlkKWtTZWNDbGFzczogKGlkKWtTZWNDbGFzc0tleSwKICAgICAgICAgKGlkKWtTZWNBdHRy
TGFiZWw6IHJwSWQsCiAgICAgICAgIChpZClrU2VjQXR0ckFjY2Vzc2libGU6IChpZClrU2VjQXR0
ckFjY2Vzc2libGVBZnRlckZpcnN0VW5sb2NrLAotI2lmIEhBVkUoREFUQV9QUk9URUNUSU9OX0tF
WUNIQUlOKQogICAgICAgICAoaWQpa1NlY1VzZURhdGFQcm90ZWN0aW9uS2V5Y2hhaW46IEBZRVMK
LSNlbHNlCi0gICAgICAgIChpZClrU2VjQXR0ck5vTGVnYWN5OiBAWUVTCi0jZW5kaWYKICAgICB9
OwogICAgIFNlY0l0ZW1EZWxldGUoKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilkZWxldGVRdWVy
eSk7CiB9CkBAIC0xNDY4LDExICsxNDYwLDcgQEAgVEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVs
LCBMQU1ha2VDcmVkZW50aWFsUm9sbEJhY2tDcmVkZW50aWFsKQogICAgICAgICAoaWQpa1NlY0Ns
YXNzOiAoaWQpa1NlY0NsYXNzS2V5LAogICAgICAgICAoaWQpa1NlY0F0dHJLZXlDbGFzczogKGlk
KWtTZWNBdHRyS2V5Q2xhc3NQcml2YXRlLAogICAgICAgICAoaWQpa1NlY0F0dHJMYWJlbDogQCIi
LAotI2lmIEhBVkUoREFUQV9QUk9URUNUSU9OX0tFWUNIQUlOKQogICAgICAgICAoaWQpa1NlY1Vz
ZURhdGFQcm90ZWN0aW9uS2V5Y2hhaW46IEBZRVMKLSNlbHNlCi0gICAgICAgIChpZClrU2VjQXR0
ck5vTGVnYWN5OiBAWUVTCi0jZW5kaWYKICAgICB9OwogICAgIE9TU3RhdHVzIHN0YXR1cyA9IFNl
Y0l0ZW1Db3B5TWF0Y2hpbmcoKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilxdWVyeSwgbnVsbHB0
cik7CiAgICAgRVhQRUNUX0VRKHN0YXR1cywgZXJyU2VjSXRlbU5vdEZvdW5kKTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0hJREdhbWVwYWRzLm1tIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvSElER2FtZXBhZHMubW0KaW5kZXggYTkwNjdlMWYyZWYz
YWJjNGQ5MTkyODhmYjllYTc5YmMzOTliNjkxZC4uZjQzYWZlZThhYWQ5N2RmZWI5NWNmOWRkNzRm
OTBiMGQ1NTZmMDJmNyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMv
SElER2FtZXBhZHMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvSElER2Ft
ZXBhZHMubW0KQEAgLTI1LDcgKzI1LDcgQEAKIAogI2ltcG9ydCAiY29uZmlnLmgiCiAKLSNpZiBI
QVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaWYgVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKIAogI2ltcG9ydCAiSW5zdGFuY2VNZXRob2RTd2l6emxlci5oIgog
I2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKQEAgLTY1NCw0ICs2NTQsNCBAQCBURVNUKEdh
bWVwYWQsIEZ1bGxJbmZvQWZ0ZXJDb25uZWN0aW9uKQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2Vi
S2l0QVBJCiAKLSNlbmRpZiAvLyBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCisjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvSFRUUFNlcnZlci5tbSBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvY29jb2EvSFRUUFNlcnZlci5tbQppbmRleCBkNzIwYmE2NGRiNDMwNjliZjczNWIzMDVi
ZGUzMGY0NGU3N2U5MjBlLi4xMTI0M2FjNGI3ZGM3ZGM2NmQ0NmUxODA1MWIyYzhhOWEzZjZmNTI3
IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL0hUVFBTZXJ2ZXIubW0KKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9IVFRQU2VydmVyLm1tCkBAIC01Nyw3ICs1Nyw2
IEBAIFJldGFpblB0cjxud19wYXJhbWV0ZXJzX3Q+IEhUVFBTZXJ2ZXI6Omxpc3RlbmVyUGFyYW1l
dGVycyhQcm90b2NvbCBwcm90b2NvbCwgQ2VyCiAgICAgaWYgKHByb3RvY29sICE9IFByb3RvY29s
OjpIdHRwICYmICFjdXN0b21UZXN0SWRlbnRpdHkpCiAgICAgICAgIGN1c3RvbVRlc3RJZGVudGl0
eSA9IHRlc3RJZGVudGl0eSgpOwogICAgIGF1dG8gY29uZmlndXJlVExTID0gcHJvdG9jb2wgPT0g
UHJvdG9jb2w6Okh0dHAgPyBtYWtlQmxvY2tQdHIoTldfUEFSQU1FVEVSU19ESVNBQkxFX1BST1RP
Q09MKSA6IG1ha2VCbG9ja1B0cihbcHJvdG9jb2wsIHZlcmlmaWVyID0gV1RGTW92ZSh2ZXJpZmll
ciksIHRlc3RJZGVudGl0eSA9IFdURk1vdmUoY3VzdG9tVGVzdElkZW50aXR5KV0gKG53X3Byb3Rv
Y29sX29wdGlvbnNfdCBwcm90b2NvbE9wdGlvbnMpIG11dGFibGUgewotI2lmIEhBVkUoVExTX1BS
T1RPQ09MX1ZFUlNJT05fVCkKICAgICAgICAgYXV0byBvcHRpb25zID0gYWRvcHROUyhud190bHNf
Y29weV9zZWNfcHJvdG9jb2xfb3B0aW9ucyhwcm90b2NvbE9wdGlvbnMpKTsKICAgICAgICAgYXV0
byBpZGVudGl0eSA9IGFkb3B0TlMoc2VjX2lkZW50aXR5X2NyZWF0ZSh0ZXN0SWRlbnRpdHkuZ2V0
KCkpKTsKICAgICAgICAgc2VjX3Byb3RvY29sX29wdGlvbnNfc2V0X2xvY2FsX2lkZW50aXR5KG9w
dGlvbnMuZ2V0KCksIGlkZW50aXR5LmdldCgpKTsKQEAgLTcxLDEwICs3MCw2IEBAIFJldGFpblB0
cjxud19wYXJhbWV0ZXJzX3Q+IEhUVFBTZXJ2ZXI6Omxpc3RlbmVyUGFyYW1ldGVycyhQcm90b2Nv
bCBwcm90b2NvbCwgQ2VyCiAgICAgICAgIH0KICAgICAgICAgaWYgKHByb3RvY29sID09IFByb3Rv
Y29sOjpIdHRwMikKICAgICAgICAgICAgIHNlY19wcm90b2NvbF9vcHRpb25zX2FkZF90bHNfYXBw
bGljYXRpb25fcHJvdG9jb2wob3B0aW9ucy5nZXQoKSwgImgyIik7Ci0jZWxzZQotICAgICAgICBV
TlVTRURfUEFSQU0ocHJvdG9jb2xPcHRpb25zKTsKLSAgICAgICAgQVNTRVJUX1VOVVNFRChwcm90
b2NvbCwgcHJvdG9jb2wgIT0gUHJvdG9jb2w6Okh0dHBzV2l0aExlZ2FjeVRMUyk7Ci0jZW5kaWYK
ICAgICB9KTsKICAgICBhdXRvIHBhcmFtZXRlcnMgPSBhZG9wdE5TKG53X3BhcmFtZXRlcnNfY3Jl
YXRlX3NlY3VyZV90Y3AoY29uZmlndXJlVExTLmdldCgpLCBOV19QQVJBTUVURVJTX0RFRkFVTFRf
Q09ORklHVVJBVElPTikpOwogICAgIGlmIChwb3J0KQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9jb25maWcuaCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29uZmlnLmgKaW5kZXggN2Uw
NjcxM2Q3NTVlMDJlNDU0ODc1M2VhNjM1NjQxNDRiNTRkODUyZi4uZmM4Y2Q3YmJjMGQyYjJjNzk5
NmViZWU2YTdmNTQ4NWNjNDdjMDJmYyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9j
b25maWcuaAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvbmZpZy5oCkBAIC0xMjUsMTEgKzEy
NSw2IEBACiAjZGVmaW5lIEhBVkVfVUlXRUJWSUVXIDEKICNlbmRpZgogCi0vLyBGSVhNRTogTW92
ZSB0aGlzIHRvIFBsYXRmb3JtSGF2ZS5oLgotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhKFBMQVRG
T1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkKLSNk
ZWZpbmUgSEFWRV9UTFNfUFJPVE9DT0xfVkVSU0lPTl9UIDEKLSNlbmRpZgotCiAvLyBGSVhNRTog
TW92ZSB0aGlzIHRvIFBsYXRmb3JtSGF2ZS5oLgogI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKSB8fCAoUExBVEZPUk0oSU9TX0ZB
TUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTQwMDAwKQogI2Rl
ZmluZSBIQVZFX1RMU19WRVJTSU9OX0RVUklOR19DSEFMTEVOR0UgMQpkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL0dvb2dsZVN0YWRpYS5tbSBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Hb29nbGVTdGFkaWEubW0KaW5k
ZXggODI4YzZmYWRlMzBjMTQxMjc0ZWYxZmY0NjMxY2YyMDE1ZmEwZmUwMS4uNGQ3ZjM4NDhlNzMz
ODQxNDY1YTFkNTRmYTFmYjczOWM4NTE4OTkxNiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL0dvb2dsZVN0YWRpYS5tbQorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvR29vZ2xlU3RhZGlhLm1tCkBAIC0yNiw3ICsy
Niw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIlZpcnR1YWxHYW1lcGFkLmgiCiAK
LSNpZiBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaWYg
VVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAogI2ltcG9ydCA8SElEL0hJRFVzZXJEZXZpY2UuaD4K
IApAQCAtMjA2LDQgKzIwNiw0IEBAIEdhbWVwYWRNYXBwaW5nIFZpcnR1YWxHYW1lcGFkOjpnb29n
bGVTdGFkaWFNYXBwaW5nKCkKIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQogCi0jZW5k
aWYgLy8gSEFWRShISURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2Vu
ZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvTG9naXRlY2hGMzEwLm1tIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL0xvZ2l0ZWNoRjMxMC5tbQppbmRleCA5NzdmMmZl
YmJlYThhMzI1OTQ3MDE4NTRlZTMyYmI0NGRkOTRlNmFkLi40ZjRhN2I0NjE3NWUxMjRlM2I3MmY3
MWFhYjM0NjRhZWE4NTAxMWMzIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9H
YW1lcGFkTWFwcGluZ3MvTG9naXRlY2hGMzEwLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
bWFjL0dhbWVwYWRNYXBwaW5ncy9Mb2dpdGVjaEYzMTAubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNp
bXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiVmlydHVhbEdhbWVwYWQuaCIKIAotI2lmIEhBVkUo
SElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpZiBVU0UoQVBQTEVf
SU5URVJOQUxfU0RLKQogCiAjaW1wb3J0IDxISUQvSElEVXNlckRldmljZS5oPgogCkBAIC0xNDUs
NCArMTQ1LDQgQEAgR2FtZXBhZE1hcHBpbmcgVmlydHVhbEdhbWVwYWQ6OmxvZ2l0ZWNoRjMxME1h
cHBpbmcoKQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKLSNlbmRpZiAvLyBIQVZF
KEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjZW5kaWYgLy8gVVNF
KEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFj
L0dhbWVwYWRNYXBwaW5ncy9Mb2dpdGVjaEY3MTAubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL21h
Yy9HYW1lcGFkTWFwcGluZ3MvTG9naXRlY2hGNzEwLm1tCmluZGV4IGY1NmVlNjRkMTgwOTNkZjk3
ZjUzMDJhZDBiMGRiNDQ3ZTAxOGRiMjguLmQ1YTA3MzVlYTVmNjFhNzdkMWQ2ZThkZmMwNTVmZjFl
ODk5ZTQxYmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBw
aW5ncy9Mb2dpdGVjaEY3MTAubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBh
ZE1hcHBpbmdzL0xvZ2l0ZWNoRjcxMC5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29u
ZmlnLmgiCiAjaW1wb3J0ICJWaXJ0dWFsR2FtZXBhZC5oIgogCi0jaWYgSEFWRShISURfRlJBTUVX
T1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9T
REspCiAKICNpbXBvcnQgPEhJRC9ISURVc2VyRGV2aWNlLmg+CiAKQEAgLTE1Niw0ICsxNTYsNCBA
QCBHYW1lcGFkTWFwcGluZyBWaXJ0dWFsR2FtZXBhZDo6bG9naXRlY2hGNzEwTWFwcGluZygpCiAK
IH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKIAotI2VuZGlmIC8vIEhBVkUoSElEX0ZSQU1F
V09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNlbmRpZiAvLyBVU0UoQVBQTEVfSU5U
RVJOQUxfU0RLKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1h
cHBpbmdzL01pY3Jvc29mdFhib3hPbmUubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1l
cGFkTWFwcGluZ3MvTWljcm9zb2Z0WGJveE9uZS5tbQppbmRleCA4OTM3YjA1NjJlNTViODZhZTU0
MzcyYzE5YjhmZTk2ZGI4MjhiMmIzLi5kZGZiNjU1ZTJjZDU5NWU4NDgxYWQ5MjMxNzE4YzJjN2Ri
NGY5ZWEzIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGlu
Z3MvTWljcm9zb2Z0WGJveE9uZS5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1l
cGFkTWFwcGluZ3MvTWljcm9zb2Z0WGJveE9uZS5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9y
dCAiY29uZmlnLmgiCiAjaW1wb3J0ICJWaXJ0dWFsR2FtZXBhZC5oIgogCi0jaWYgSEFWRShISURf
RlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2lmIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCiAKICNpbXBvcnQgPEhJRC9ISURVc2VyRGV2aWNlLmg+CiAKQEAgLTI4OSw0ICsy
ODksNCBAQCBHYW1lcGFkTWFwcGluZyBWaXJ0dWFsR2FtZXBhZDo6bWljcm9zb2Z0WGJveE9uZU1h
cHBpbmcoKQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKLSNlbmRpZiAvLyBIQVZF
KEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjZW5kaWYgLy8gVVNF
KEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFj
L0dhbWVwYWRNYXBwaW5ncy9TaGVuemhlbkxvbmdzaGVuZ3dlaVRlY2hub2xvZ3lHYW1lcGFkLm1t
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1NoZW56aGVuTG9uZ3No
ZW5nd2VpVGVjaG5vbG9neUdhbWVwYWQubW0KaW5kZXggZjczMjYzZGIzYmNhNGYwNTlmNjdjYzky
MTlmYTQ3OGY2ZDNiYWRlNi4uYmEzMzdmMjZkN2IxMDE4MzA4ZmVkYzJkMTljOTU4YjA4ZGQxOWEz
MiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1No
ZW56aGVuTG9uZ3NoZW5nd2VpVGVjaG5vbG9neUdhbWVwYWQubW0KKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1NoZW56aGVuTG9uZ3NoZW5nd2VpVGVjaG5vbG9n
eUdhbWVwYWQubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9y
dCAiVmlydHVhbEdhbWVwYWQuaCIKIAotI2lmIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAjaW1wb3J0
IDxISUQvSElEVXNlckRldmljZS5oPgogCkBAIC0xNTQsNCArMTU0LDQgQEAgR2FtZXBhZE1hcHBp
bmcgVmlydHVhbEdhbWVwYWQ6OnNoZW56aGVuTG9uZ3NoZW5nd2VpVGVjaG5vbG9neUdhbWVwYWRN
YXBwaW5nKCkKIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQogCi0jZW5kaWYgLy8gSEFW
RShISURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2VuZGlmIC8vIFVT
RShBUFBMRV9JTlRFUk5BTF9TREspCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL21h
Yy9HYW1lcGFkTWFwcGluZ3MvU29ueUR1YWxTaG9jazMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L21hYy9HYW1lcGFkTWFwcGluZ3MvU29ueUR1YWxTaG9jazMubW0KaW5kZXggNDBmZDAzNTMxNGM4
NGYxZDkwZDMwZWY3Y2FhMjUyYzg1NjNkODJkNS4uZDYwMTJiOWY3ZTM0OGJlNzVhMzgyOWJlMjJm
ZGJjNWJiOTg0MjUxMiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBh
ZE1hcHBpbmdzL1NvbnlEdWFsU2hvY2szLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFj
L0dhbWVwYWRNYXBwaW5ncy9Tb255RHVhbFNob2NrMy5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2lt
cG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJWaXJ0dWFsR2FtZXBhZC5oIgogCi0jaWYgSEFWRShI
SURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2lmIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspCiAKICNpbXBvcnQgPEhJRC9ISURVc2VyRGV2aWNlLmg+CiAKQEAgLTIwMSw0
ICsyMDEsNCBAQCBHYW1lcGFkTWFwcGluZyBWaXJ0dWFsR2FtZXBhZDo6c29ueUR1YWxzaG9jazNN
YXBwaW5nKCkKIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQogCi0jZW5kaWYgLy8gSEFW
RShISURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2VuZGlmIC8vIFVT
RShBUFBMRV9JTlRFUk5BTF9TREspCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL21h
Yy9HYW1lcGFkTWFwcGluZ3MvU29ueUR1YWxTaG9jazQubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L21hYy9HYW1lcGFkTWFwcGluZ3MvU29ueUR1YWxTaG9jazQubW0KaW5kZXggMzA2YTM2ZGE2ZGFl
MzIzOTQ5NzgyNDQ1M2FiYWM3NzI0NzcxZmJhNS4uZWFkMTFmYWU3Y2FlMzk2YzM5MjFlOThhMDY5
ZTQyYzFhMzdiMGM1YiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBh
ZE1hcHBpbmdzL1NvbnlEdWFsU2hvY2s0Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFj
L0dhbWVwYWRNYXBwaW5ncy9Tb255RHVhbFNob2NrNC5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2lt
cG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJWaXJ0dWFsR2FtZXBhZC5oIgogCi0jaWYgSEFWRShI
SURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2lmIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspCiAKICNpbXBvcnQgPEhJRC9ISURVc2VyRGV2aWNlLmg+CiAKQEAgLTMyOCw0
ICszMjgsNCBAQCBHYW1lcGFkTWFwcGluZyBWaXJ0dWFsR2FtZXBhZDo6c29ueUR1YWxzaG9jazRN
YXBwaW5nKCkKIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQogCi0jZW5kaWYgLy8gSEFW
RShISURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2VuZGlmIC8vIFVT
RShBUFBMRV9JTlRFUk5BTF9TREspCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL21h
Yy9HYW1lcGFkTWFwcGluZ3MvU3RlZWxTZXJpZXNOaW1idXMubW0gYi9Ub29scy9UZXN0V2ViS2l0
QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU3RlZWxTZXJpZXNOaW1idXMubW0KaW5kZXggZmIxOWVi
NGU3ZGJhYzFmOTU0OGIwZmU2M2UyMzQ5YzcwZjFkNzU1My4uNzk0NDRmNWUxNDI3ZDJhMjlkNDRk
NzhlNGJlMTYwNGRmZTI4NDQyZCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMv
R2FtZXBhZE1hcHBpbmdzL1N0ZWVsU2VyaWVzTmltYnVzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9TdGVlbFNlcmllc05pbWJ1cy5tbQpAQCAtMjYsNyAr
MjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJWaXJ0dWFsR2FtZXBhZC5oIgog
Ci0jaWYgSEFWRShISURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2lm
IFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAKICNpbXBvcnQgPEhJRC9ISURVc2VyRGV2aWNlLmg+
CiAKQEAgLTE0NCw0ICsxNDQsNCBAQCBHYW1lcGFkTWFwcGluZyBWaXJ0dWFsR2FtZXBhZDo6c3Rl
ZWxTZXJpZXNOaW1idXNNYXBwaW5nKCkKIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQog
Ci0jZW5kaWYgLy8gSEFWRShISURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RL
KQorI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU3VuTGlnaHRBcHBsaWNhdGlvbkdlbmVy
aWNORVMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU3VuTGln
aHRBcHBsaWNhdGlvbkdlbmVyaWNORVMubW0KaW5kZXggNmM1NTlmOWRmNGY5MDdjN2E4MDNmNTFk
NDg3Y2Y2MDU2MDQ4YzYyYi4uNTU2MDU4NWUwODdiNjMzMWE3YWVmMWIyNGZmZTRhMDliNjA3MWZm
NCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1N1
bkxpZ2h0QXBwbGljYXRpb25HZW5lcmljTkVTLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
bWFjL0dhbWVwYWRNYXBwaW5ncy9TdW5MaWdodEFwcGxpY2F0aW9uR2VuZXJpY05FUy5tbQpAQCAt
MjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJWaXJ0dWFsR2FtZXBh
ZC5oIgogCi0jaWYgSEFWRShISURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RL
KQorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAKICNpbXBvcnQgPEhJRC9ISURVc2VyRGV2
aWNlLmg+CiAKQEAgLTE0MSw0ICsxNDEsNCBAQCBHYW1lcGFkTWFwcGluZyBWaXJ0dWFsR2FtZXBh
ZDo6c3VuTGlnaHRBcHBsaWNhdGlvbkdlbmVyaWNORVNNYXBwaW5nKCkKIAogfSAvLyBuYW1lc3Bh
Y2UgVGVzdFdlYktpdEFQSQogCi0jZW5kaWYgLy8gSEFWRShISURfRlJBTUVXT1JLKSAmJiBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKQorI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9WaXJ0dWFsR2FtZXBhZC5oIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9tYWMvVmlydHVhbEdhbWVwYWQuaAppbmRleCBiMjFiOTU1Njk0NzAz
MjQ3MTMyNzVkYzE1YjFhYjk1ZTdlMGVlY2M0Li4wZDg3NmVmNDliNThhMzdiMTViMGY0OTg3MjRj
MTQ2NTU5ZTIzNDMyIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9WaXJ0dWFs
R2FtZXBhZC5oCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1ZpcnR1YWxHYW1lcGFkLmgK
QEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBIQVZFKEhJRF9GUkFNRVdP
UkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykKIAogI2luY2x1ZGUgPGRpc3BhdGNoL2Rpc3BhdGNoLmg+CiAjaW5jbHVkZSA8d3RmL0Zhc3RN
YWxsb2MuaD4KQEAgLTEyMyw0ICsxMjMsNCBAQCBwcml2YXRlOgogfTsKIH0gLy8gbmFtZXNwYWNl
IFRlc3RXZWJLaXRBUEkKIAotI2VuZGlmIC8vIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKKyNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvVmlydHVhbEdhbWVwYWQubW0gYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL21hYy9WaXJ0dWFsR2FtZXBhZC5tbQppbmRleCAwZjQyNDk4YWQ0MGQy
YTBkM2Y4NGZmODFhYWRiY2M4NzM5YmZlMGE3Li4xMzc4OTBkNmI2YmFhZjIwZmNiOWVmNDAwMzhm
NDkwZjYyMzg0YThhIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9WaXJ0dWFs
R2FtZXBhZC5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9WaXJ0dWFsR2FtZXBhZC5t
bQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJWaXJ0dWFs
R2FtZXBhZC5oIgogCi0jaWYgSEFWRShISURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5URVJO
QUxfU0RLKQorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAKICNpbXBvcnQgPEZvdW5kYXRp
b24vRm91bmRhdGlvbi5oPgogI2ltcG9ydCA8SElEL0hJREJhc2UuaD4KQEAgLTk3LDQgKzk3LDQg
QEAgdm9pZCBWaXJ0dWFsR2FtZXBhZDo6cHVibGlzaFJlcG9ydCgpCiAKIH0gLy8gbmFtZXNwYWNl
IFRlc3RXZWJLaXRBUEkKIAotI2VuZGlmIC8vIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKKyNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29h
Lm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1t
CmluZGV4IDJkMDUxODI1Mjc3ODYyY2Q3ZjUxMWNkMmRkMzI4MDE0YzVhOGZjZTQuLjdjMTA5NjQy
ZDk1Mzk0M2UyMjg5NWU1YTkwN2ViZjA5ZjQ4NjY1NGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQorKysgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0KQEAgLTQ2MSwxMSArNDYx
LDcgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6YWRkVGVzdEtleVRvS2V5Y2hhaW4oY29uc3QgU3Ry
aW5nJiBwcml2YXRlS2V5QmFzZTY0LCBjb25zdAogICAgICAgICAoaWQpa1NlY0F0dHJMYWJlbDog
YXR0ckxhYmVsLAogICAgICAgICAoaWQpa1NlY0F0dHJBcHBsaWNhdGlvblRhZzogYWRvcHROUyhb
W05TRGF0YSBhbGxvY10gaW5pdFdpdGhCYXNlNjRFbmNvZGVkU3RyaW5nOmFwcGxpY2F0aW9uVGFn
QmFzZTY0IG9wdGlvbnM6TlNEYXRhQmFzZTY0RGVjb2RpbmdJZ25vcmVVbmtub3duQ2hhcmFjdGVy
c10pLmdldCgpLAogICAgICAgICAoaWQpa1NlY0F0dHJBY2Nlc3NpYmxlOiAoaWQpa1NlY0F0dHJB
Y2Nlc3NpYmxlQWZ0ZXJGaXJzdFVubG9jaywKLSNpZiBIQVZFKERBVEFfUFJPVEVDVElPTl9LRVlD
SEFJTikKICAgICAgICAgKGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktleWNoYWluOiBAWUVTCi0j
ZWxzZQotICAgICAgICAoaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwotI2VuZGlmCiAgICAgfTsK
ICAgICBPU1N0YXR1cyBzdGF0dXMgPSBTZWNJdGVtQWRkKChfX2JyaWRnZSBDRkRpY3Rpb25hcnlS
ZWYpYWRkUXVlcnksIE5VTEwpOwogICAgIEFTU0VSVF9VTlVTRUQoc3RhdHVzLCAhc3RhdHVzKTsK
QEAgLTQ3NiwxMSArNDcyLDcgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6Y2xlYW5VcEtleWNoYWlu
KGNvbnN0IFN0cmluZyYgYXR0ckxhYmVsLCBjb25zdCBTdHJpbmcmIGFwcGwKICAgICBhdXRvIGRl
bGV0ZVF1ZXJ5ID0gYWRvcHROUyhbW05TTXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGluaXRdKTsK
ICAgICBbZGVsZXRlUXVlcnkgc2V0T2JqZWN0OihpZClrU2VjQ2xhc3NLZXkgZm9yS2V5OihpZClr
U2VjQ2xhc3NdOwogICAgIFtkZWxldGVRdWVyeSBzZXRPYmplY3Q6YXR0ckxhYmVsIGZvcktleToo
aWQpa1NlY0F0dHJMYWJlbF07Ci0jaWYgSEFWRShEQVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4pCiAg
ICAgW2RlbGV0ZVF1ZXJ5IHNldE9iamVjdDpAWUVTIGZvcktleTooaWQpa1NlY1VzZURhdGFQcm90
ZWN0aW9uS2V5Y2hhaW5dOwotI2Vsc2UKLSAgICBbZGVsZXRlUXVlcnkgc2V0T2JqZWN0OkBZRVMg
Zm9yS2V5OihpZClrU2VjQXR0ck5vTGVnYWN5XTsKLSNlbmRpZgogICAgIGlmICghIWFwcGxpY2F0
aW9uTGFiZWxCYXNlNjQpCiAgICAgICAgIFtkZWxldGVRdWVyeSBzZXRPYmplY3Q6YWRvcHROUyhb
W05TRGF0YSBhbGxvY10gaW5pdFdpdGhCYXNlNjRFbmNvZGVkU3RyaW5nOmFwcGxpY2F0aW9uTGFi
ZWxCYXNlNjQgb3B0aW9uczpOU0RhdGFCYXNlNjREZWNvZGluZ0lnbm9yZVVua25vd25DaGFyYWN0
ZXJzXSkuZ2V0KCkgZm9yS2V5OihpZClrU2VjQXR0ckFwcGxpY2F0aW9uTGFiZWxdOwogCkBAIC00
OTQsMTEgKzQ4Niw3IEBAIGJvb2wgVGVzdENvbnRyb2xsZXI6OmtleUV4aXN0c0luS2V5Y2hhaW4o
Y29uc3QgU3RyaW5nJiBhdHRyTGFiZWwsIGNvbnN0IFN0cmluZyYKICAgICAgICAgKGlkKWtTZWNB
dHRyS2V5Q2xhc3M6IChpZClrU2VjQXR0cktleUNsYXNzUHJpdmF0ZSwKICAgICAgICAgKGlkKWtT
ZWNBdHRyTGFiZWw6IGF0dHJMYWJlbCwKICAgICAgICAgKGlkKWtTZWNBdHRyQXBwbGljYXRpb25M
YWJlbDogYWRvcHROUyhbW05TRGF0YSBhbGxvY10gaW5pdFdpdGhCYXNlNjRFbmNvZGVkU3RyaW5n
OmFwcGxpY2F0aW9uTGFiZWxCYXNlNjQgb3B0aW9uczpOU0RhdGFCYXNlNjREZWNvZGluZ0lnbm9y
ZVVua25vd25DaGFyYWN0ZXJzXSkuZ2V0KCksCi0jaWYgSEFWRShEQVRBX1BST1RFQ1RJT05fS0VZ
Q0hBSU4pCiAgICAgICAgIChpZClrU2VjVXNlRGF0YVByb3RlY3Rpb25LZXljaGFpbjogQFlFUwot
I2Vsc2UKLSAgICAgICAgKGlkKWtTZWNBdHRyTm9MZWdhY3k6IEBZRVMKLSNlbmRpZgogICAgIH07
CiAgICAgT1NTdGF0dXMgc3RhdHVzID0gU2VjSXRlbUNvcHlNYXRjaGluZygoX19icmlkZ2UgQ0ZE
aWN0aW9uYXJ5UmVmKXF1ZXJ5LCBOVUxMKTsKICAgICBpZiAoIXN0YXR1cykK
</data>
<flag name="commit-queue"
          id="463659"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439899</attachid>
            <date>2021-10-01 12:42:30 -0700</date>
            <delta_ts>2021-10-01 16:10:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231085-20211001124229.patch</filename>
            <type>text/plain</type>
            <size>101365</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMzg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
MWUyNzVhZmMxOWIzYzk5NGEwZGUxMTNkNzNiODc4OGFmYmE5Y2Q0Li5hN2YzMTU4NGRmOTg3Yzg3
YzM2ZjkzZDgwNTllODkwY2NhZjNhMmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAyMS0xMC0wMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIERyb3Agc3VwcG9ydCBmb3IgbWFjT1MgPCAxMC4xNQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMDg1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBBUEkvSlNWYWx1ZS5oOgorICAgICAg
ICAqIEFQSS90ZXN0cy90ZXN0YXBpLm1tOgorICAgICAgICAodGVzdE9iamVjdGl2ZUNBUElNYWlu
KToKKwogMjAyMS0xMC0wMSAgWGFuIEzDs3BleiAgPHhhbkBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtKU0NdWzMyYml0XSBGaXggYnVpbGQgYWZ0ZXIgdW5saW5rZWQgYmFzZWxpbmUgSklUCmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1Ro
aXJkUGFydHkvbGlid2VicnRjL0NoYW5nZUxvZwppbmRleCA4MDgzMmFhOWEzMzM4YTBjNDM3NjBk
YzM0Njc3YzQzZWE0YjVmMzFiLi4zNTc3MzA5MGQzODJlOGViZjllNjIwN2ZiOTc4MjRhMmFkNWZm
NWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBA
QAorMjAyMS0xMC0wMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAg
IERyb3Agc3VwcG9ydCBmb3IgbWFjT1MgPCAxMC4xNQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvVmlkZW9Q
cm9jZXNzaW5nU29mdExpbmsuaDoKKwogMjAyMS0wOS0zMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CiAKICAgICAgICAgU3VwcG9ydCBBRVMgR0NNIGNpcGhlcnMgaW4gV2ViUlRD
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9n
CmluZGV4IGMyMmFlZmJlZTFiN2E5M2JiYjk0MTU3ODg4YWZlMmNhZmE0NGI3NzYuLjY0ZjZkMThl
N2I0YWU4NGI0ODgyYTg3ZjRjMmQ0N2E4ZTY1ZTZhZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MjEtMTAtMDEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9w
IHN1cHBvcnQgZm9yIG1hY09TIDwgMTAuMTUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMTA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoKKyAgICAgICAg
KiB3dGYvUGxhdGZvcm1IYXZlLmg6CisgICAgICAgICogd3RmL1BsYXRmb3JtVXNlLmg6CisKIDIw
MjEtMTAtMDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFk
ZCBzdXBwb3J0IGZvciBQdXNoRXZlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjMDVmMGVkOTRkYzBlYmYyNjk1
YjYzZjEwZmVkMmFiNGFjMGQ0ZGQ2Li42NDNlYTY2MmM0Y2YxMTAyNmMxOTYxNzk1NTJjNDg0MzFk
M2FhMGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMTAtMDEgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIHN1cHBvcnQgZm9yIG1hY09T
IDwgMTAuMTUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzMTA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OnBsYXRmb3JtVmVyc2lvbk5hbWUgY29uc3QpOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY29jb2EvQ29va2llQ29jb2EubW06CisKIDIwMjEtMTAt
MDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBw
b3J0IGZvciBQdXNoRXZlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IGE5MTdlOTUwOTRkY2UyNTA3
M2FhZjNkNWJlMzg4N2YxZjZjMGU5NTAuLmM2ZWU3ZmFlMjE5ZDg4YmE3NDk5ZTI3OWQ1OTU2NTYz
OWE1Njc2YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTEwLTAx
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHJvcCBzdXBwb3J0
IGZvciBtYWNPUyA8IDEwLjE1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzEwODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHBhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbToKKyAgICAgICAg
KiBwYWwvc3BpL2NvY29hL0FWRm91bmRhdGlvblNQSS5oOgorICAgICAgICAqIHBhbC9zcGkvbWFj
L05TTWVudVNQSS5oOgorICAgICAgICAqIHBhbC9zcGkvbWFjL05TVmlld1NQSS5oOgorCiAyMDIx
LTA5LTMwICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9T
XVtHUFUgUHJvY2Vzc10gc3VwcG9ydCBgPGF0dGFjaG1lbnQ+YApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA5ZGJjMDRm
MzJiOTZhNWFhYTM0NjcyZThlNjc3NjkxYjg5NGI1NTc3Li5jN2NiMGQ2MGU1ZWE4MDhlYjZkNWU0
YzgzOGI2YzI1ZTI4MzhlNzY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTEwLTAx
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHJvcCBzdXBwb3J0
IGZvciBtYWNPUyA8IDEwLjE1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzEwODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQ
cm9jZXNzLnNiLmluOgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29h
Lm1tOgorICAgICAgICAoLVtXS1NlY3VyZUNvZGluZ0FyY2hpdmluZ0RlbGVnYXRlIGFyY2hpdmVy
OndpbGxFbmNvZGVPYmplY3Q6XSk6CisgICAgICAgICogU2hhcmVkL0NvY29hL0NvcmVUZXh0SGVs
cGVycy5tbToKKyAgICAgICAgKFdlYktpdDo6Zm9udFdpdGhBdHRyaWJ1dGVzKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6Y3JlYXRlTmV0d29ya0V4dGVuc2lvbnNTYW5kYm94RXh0ZW5zaW9ucyk6
CisgICAgICAgICogV2ViQXV0aG5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LldlYkF1dGhu
UHJvY2Vzcy5zYi5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNz
LnNiLmluOgorCiAyMDIxLTEwLTAxICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29t
PgogCiAgICAgICAgIFByb3RlY3QgV2ViRnJhbWUgZHVyaW5nIGludmFsaWRhdGVQb2xpY3lMaXN0
ZW5lcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggNzMwZTYxZDhkMjk2YzY4ZjQ2
ZmU5YzI4MjVkMWUxMWJmNmZjNGYwYS4uN2JlNDUyNTgzYjE3MGExNGRiNTEyNzYwMjI2YThmNWEx
ZjQ2ODBiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDIxLTEwLTAxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRHJv
cCBzdXBwb3J0IGZvciBtYWNPUyA8IDEwLjE1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViSFRNTFZpZXcubW06CisgICAgICAgICgt
W1dlYkhUTUxWaWV3IF9yZWN1cnNpdmU6ZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6aW5Db250
ZXh0OnN0b3BBdExheWVyQmFja2VkVmlld3M6XSk6CisgICAgICAgICgtW1dlYkhUTUxWaWV3IF9y
ZWN1cnNpdmU6ZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6aW5Db250ZXh0OnN0b3BBdExheWVy
QmFja2VkVmlld3M6X3JlY3Vyc2l2ZTpkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTppbkNvbnRl
eHQ6c2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOnN0b3BBdExheWVyQmFja2VkVmlld3M6
XSk6IERlbGV0ZWQuCisKIDIwMjEtMDktMjkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBNYWtlIFdlYkxvY2FsaXplZFN0cmluZygpIHRocmVhZC1zYWZlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWUuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNWYWx1ZS5oCmluZGV4IDFiODVkODdlMGMxNjEwOTZjNWQ3ODc1Mzhi
YTI1NTBjZTEzMzI2YTUuLjdiYjdjMjVhMGM4ZTVlNjhjY2Y2OTFkZWI0MmVlNjU4OTM1ZDM1ZTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZS5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZS5oCkBAIC01NDksMTEgKzU0OSw3IEBAIENy
ZWF0ZSBhIEpTVmFsdWUgZnJvbSBhIENHUmVjdC4KICAqLwogQGludGVyZmFjZSBKU1ZhbHVlIChQ
cm9wZXJ0eUFjY2VzcykKIAotI2lmIChkZWZpbmVkKF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApIHx8IChk
ZWZpbmVkKF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEKSAmJiBfX0lQSE9ORV9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCA8IDEzMDAwMCkKLXR5cGVkZWYgTlNTdHJpbmcgKkpTVmFsdWVQ
cm9wZXJ0eTsKLSNlbHNlCiB0eXBlZGVmIGlkIEpTVmFsdWVQcm9wZXJ0eTsKLSNlbmRpZgogCiAv
KiEKICBAbWV0aG9kCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3Rz
L3Rlc3RhcGkubW0gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL3Rlc3RhcGkubW0K
aW5kZXggZjJlYzQyYmE4ODhhZjc0OWE2MDRjNzgwN2ZlM2Y1NTEzOTQ2NTRlYy4uNDNhZjI5OTY2
YTMzZDMwZWZlZTJlMzVhZjMxOGUyNjk2YTBiYjI2MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLm1tCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvdGVzdHMvdGVzdGFwaS5tbQpAQCAtNjQzLDEwICs2NDMsNiBAQCBzdGF0aWMgdm9pZCB0
ZXN0T2JqZWN0aXZlQ0FQSU1haW4oKQogICAgICAgICBjaGVja1Jlc3VsdChAIlNob3VsZCBiZSBh
IGNyZWF0ZWQgZnJvbSBPYmotQyIsIHN5bWJvbC5pc1N5bWJvbCk7CiAgICAgfQogCi0vLyBPbGRl
ciBwbGF0Zm9ybXMgaWZkZWYgdGhlIHR5cGUgb2Ygc29tZSBzZWxlY3RvcnMgc28gdGhlc2UgdGVz
dHMgZG9uJ3Qgd29yay4KLS8vIEZJWE1FOiBSZW1vdmUgdGhpcyB3aGVuIHdlIHN0b3AgYnVpbGRp
bmcgZm9yIG1hY09TIDEwLjE0L2lPUyAxMi4KLSNpZiAoZGVmaW5lZChfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTUwMCkgfHwgKGRlZmluZWQoX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQpICYmIF9f
SVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkKLQogICAgIEBhdXRvcmVs
ZWFzZXBvb2wgewogICAgICAgICBKU0NvbnRleHQgKmNvbnRleHQgPSBbW0pTQ29udGV4dCBhbGxv
Y10gaW5pdF07CiAgICAgICAgIEpTVmFsdWUgKmFycmF5SXRlcmF0b3IgPSBbY29udGV4dCBldmFs
dWF0ZVNjcmlwdDpAIkFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIl07CkBAIC03MzIs
OCArNzI4LDYgQEAgc3RhdGljIHZvaWQgdGVzdE9iamVjdGl2ZUNBUElNYWluKCkKICAgICAgICAg
Y2hlY2tSZXN1bHQoQCJpdGVyYXRpb24gY291bnQgc2hvdWxkIGJlIDEiLCBbY291bnQgdG9VSW50
MzJdID09IDEpOwogICAgIH0KIAotI2VuZGlmCi0KICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKICAg
ICAgICAgSlNDb2xsZWN0aW9uKiBteVByaXZhdGVQcm9wZXJ0aWVzID0gW1tKU0NvbGxlY3Rpb24g
YWxsb2NdIGluaXRdOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
U291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1ZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmggYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1ZpZGVvUHJv
Y2Vzc2luZ1NvZnRMaW5rLmgKaW5kZXggY2EwZDk5OGRkYTcwYjhmMzJjYzIzMzIzNzFjN2U2ZTIz
ZDBhNmJlYS4uOWFjZjA4ZjY2NGE0ODk2NTA2ZTA2OWNlYzQxODVkMTEwNDAwMzY3MiAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktp
dC9WaWRlb1Byb2Nlc3NpbmdTb2Z0TGluay5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsuaApA
QCAtNDIsNyArNDIsNyBAQAogI2RlZmluZSBFTkFCTEVfVkNQX0ZPUl9IMjY0X0JBU0VMSU5FIF9f
SVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE1MDAwMAogI2VsaWYgKGRlZmluZWQo
VEFSR0VUX09TX01BQykgJiYgVEFSR0VUX09TX01BQykKICNkZWZpbmUgRU5BQkxFX1ZDUF9FTkNP
REVSIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMTAwMDAKLSNkZWZpbmUgRU5B
QkxFX1ZDUF9WVEJfRU5DT0RFUiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTUwMCAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTEwMDAwCisjZGVmaW5l
IEVOQUJMRV9WQ1BfVlRCX0VOQ09ERVIgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8
IDExMDAwMAogI2RlZmluZSBIQVZFX1ZUQl9SRVFVSVJFRExPV0xBVEVOQ1kgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDAKICNkZWZpbmUgRU5BQkxFX1ZDUF9GT1JfSDI2
NF9CQVNFTElORSBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEyMDAwMAogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmggYi9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKaW5kZXggODdiMmIxY2NlY2I5NWU2
ZWEyMjY3Y2IzNWJmNmExMmUyZTZhNzU5YS4uY2M1YzdlMWUzZjQ3NTQyNjZkOWRmZWFiNTA3MTkw
ZDYzY2I4YTc4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2Nv
YS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaApAQCAtMTcyLDcg
KzE3Miw3IEBACiAjZW5kaWYKIAogLy8gRklYTUU6IFNlZW1zIGxpa2VseSB0aGlzIGNhbiBiZSBl
bmFibGVkIGZvciB0dk9TLgotI2lmICFkZWZpbmVkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRT
KSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8
IDEwMTQwMCkgJiYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgIWRlZmluZWQoRU5BQkxFX0NTU19D
T05JQ19HUkFESUVOVFMpICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBFTkFCTEVfQ1NT
X0NPTklDX0dSQURJRU5UUyAxCiAjZW5kaWYKIApAQCAtMjI4LDcgKzIyOCw3IEBACiAjZGVmaW5l
IEVOQUJMRV9FRElUQUJMRV9SRUdJT04gMQogI2VuZGlmCiAKLSNpZiAhZGVmaW5lZChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA8IDEwMTQwMCkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorI2lmICFk
ZWZpbmVkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkK
ICNkZWZpbmUgRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSAxCiAjZW5kaWYKIApAQCAtNDAyLDcgKzQw
Miw3IEBACiAjZW5kaWYKIAogLy8gRklYTUU6IFdlIGFsbW9zdCBjZXJ0YWlubHkgZG8gbm90IG5l
ZWQgdGhpcyBtb25vc3BhY2UgZm9udCBleGNlcHRpb24gZm9yIHdhdGNoT1MgYW5kIHR2T1MuCi0j
aWYgIWRlZmluZWQoRU5BQkxFX01PTk9TUEFDRV9GT05UX0VYQ0VQVElPTikgJiYgKChQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApIHx8IFBM
QVRGT1JNKFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQUExFVFYpKQorI2lmICFkZWZpbmVkKEVOQUJM
RV9NT05PU1BBQ0VfRk9OVF9FWENFUFRJT04pICYmIChQTEFURk9STShXQVRDSE9TKSB8fCBQTEFU
Rk9STShBUFBMRVRWKSkKICNkZWZpbmUgRU5BQkxFX01PTk9TUEFDRV9GT05UX0VYQ0VQVElPTiAx
CiAjZW5kaWYKIApAQCAtNDk0LDcgKzQ5NCw3IEBACiAjZGVmaW5lIEVOQUJMRV9SRVNPVVJDRV9V
U0FHRSAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9SRVZFQUwpICYmICEoUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKSAmJiAh
UExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgIWRlZmluZWQoRU5B
QkxFX1JFVkVBTCkgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQog
I2RlZmluZSBFTkFCTEVfUkVWRUFMIDEKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4
IDE5N2YxYmE3NWY0ZTBjMmM5ZmQ2NDA1ODllNTU5YzNjMjI1ZTM0Y2QuLjEwMjg2OTUxMDg5OWZm
Y2M2MDQwZDMzM2ZmNDVlM2NlNWJkMDJiYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCkBAIC0yNTAs
NyArMjUwLDcgQEAKICNkZWZpbmUgSEFWRV9GSkNWVFpTX0lOU1RSVUNUSU9OIDEKICNlbmRpZgog
Ci0jaWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVBMQVRG
T1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZ
U1QpCiAjZGVmaW5lIEhBVkVfQVBQX0xJTktTIDEKICNlbmRpZgogCkBAIC0zMTgsMTAgKzMxOCw3
IEBACiAjZGVmaW5lIEhBVkVfSU9TVVJGQUNFX0FDQ0VMRVJBVE9SIDEKICNlbmRpZgogCi0jaWYg
KFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1
MDApIFwKLSAgICB8fCAoKChQTEFURk9STShJT1MpICYmICFQTEFURk9STShJT1NfRkFNSUxZX1NJ
TVVMQVRPUikpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSkgJiYgX19JUEhPTkVfT1NfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwKSBcCi0gICAgfHwgKFBMQVRGT1JNKFdBVENIT1MpICYm
ICFQTEFURk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikgJiYgX19XQVRDSF9PU19WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSA2MDAwMCkgXAotICAgIHx8IChQTEFURk9STShBUFBMRVRWKSAmJiAhUExB
VEZPUk0oSU9TX0ZBTUlMWV9TSU1VTEFUT1IpICYmIF9fVFZfT1NfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTMwMDAwKQorI2lmIFBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKElPU19GQU1JTFlf
U0lNVUxBVE9SKQogI2RlZmluZSBIQVZFX0lPU1VSRkFDRV9TRVRfT1dORVJTSElQIDEKICNlbmRp
ZgogCkBAIC0zNTgsNyArMzU1LDcgQEAKICNkZWZpbmUgSEFWRV9UT1VDSF9CQVIgMQogI2VuZGlm
CiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAh
UExBVEZPUk0oQVBQTEVUVikKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVBMQVRGT1JNKFdBVENI
T1MpICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBIQVZFX0hTVFNfU1RPUkFHRV9QQVRI
IDEKICNlbmRpZgogCkBAIC0zODcsMTAgKzM4NCw2IEBACiAjZGVmaW5lIEhBVkVfRk9VTkRBVElP
Tl9XSVRIX1NBTUVfU0lURV9DT09LSUVfU1VQUE9SVCAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgMTAxNDAwCi0jZGVmaW5l
IEhBVkVfTlNIVFRQQ09PS0lFU1RPUkFHRV9fSU5JVFdJVEhJREVOVElGSUVSX1dJVEhfSU5BQ0NV
UkFURV9OVUxMQUJJTElUWSAxCi0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZP
Uk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFU
Rk9STShXUEUpCiAjZGVmaW5lIEhBVkVfT1NfREFSS19NT0RFX1NVUFBPUlQgMQogI2VuZGlmCkBA
IC0zOTksNyArMzkyLDcgQEAKICNkZWZpbmUgSEFWRV9DR19GT05UX1JFTkRFUklOR19HRVRfRk9O
VF9TTU9PVEhJTkdfRElTQUJMRUQgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCisjaWYgUExBVEZPUk0oTUFD
KQogI2RlZmluZSBIQVZFX1JFQURfT05MWV9TWVNURU1fVk9MVU1FIDEKICNlbmRpZgogCkBAIC00
MzEsMTEgKzQyNCwxMSBAQAogI2RlZmluZSBIQVZFX0FDQ0VTU0lCSUxJVFlfQlVORExFU19QQVRI
IDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0oTUFDKSAmJiAh
KF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDE0MDQpKQorI2lmIFBMQVRGT1JNKENPQ09BKQogI2Rl
ZmluZSBIQVZFX0NGTkVUV09SS19PVkVSUklERV9TRVNTSU9OX0NPT0tJRV9BQ0NFUFRfUE9MSUNZ
IDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0oTUFDKSAmJiBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKSAmJiAhUExBVEZPUk0oV0FU
Q0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmICFQTEFU
Rk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKICNkZWZpbmUgSEFWRV9DRk5FVFdP
UktfTlNVUkxTRVNTSU9OX1NUUklDVFJVU1RFVkFMVUFURSAxCiAjZW5kaWYKIApAQCAtNDQ2LDIx
ICs0MzksNiBAQAogI2RlZmluZSBIQVZFX0NGTkVUV09SS19OU1VSTFNFU1NJT05fQ09OTkVDVElP
Tl9DQUNIRV9MSU1JVFMgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKLSNkZWZpbmUgSEFWRV9DRk5FVFdPUktfTkVHT1RJQVRFRF9TU0xfUFJPVE9DT0xfQ0lQSEVS
IDEKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9O
RV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDApIHx8IFBMQVRGT1JNKE1BQ0NBVEFM
WVNUKSB8fCBQTEFURk9STShXQVRDSE9TKSB8fCBQTEFURk9STShBUFBMRVRWKQotI2RlZmluZSBI
QVZFX0NGTkVUV09SS19TQU1FU0lURV9DT09LSUVfQVBJIDEKLSNlbmRpZgotCi0jaWYgKFBMQVRG
T1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIFwK
LSAgICB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMzAwMDApIFwKLSAgICB8fCAoUExBVEZPUk0oV0FUQ0hPUykgJiYgX19XQVRDSF9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSA2MDAwMCkgXAotICAgIHx8IChQTEFURk9STShBUFBMRVRW
KSAmJiBfX1RWX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkKLSNkZWZpbmUgSEFW
RV9DRk5FVFdPUktfTUVUUklDU19DT05ORUNUSU9OX1BST1BFUlRJRVMgMQotI2VuZGlmCi0KICNp
ZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMjAw
MDAKICNkZWZpbmUgSEFWRV9TQUZBUklfRk9SX1dFQktJVF9ERVZFTE9QTUVOVF9SRVFVSVJJTkdf
RVhUUkFfU1lNQk9MUyAxCiAjZW5kaWYKQEAgLTQ3NywxNSArNDU1LDE1IEBACiAjZGVmaW5lIEhB
VkVfQ0ZORVRXT1JLX0FMVEVSTkFUSVZFX1NFUlZJQ0UgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCisjaWYg
UExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX0NTQ0hFQ0tGSVhESVNBQkxFIDEKICNlbmRpZgog
Ci0jaWYgUExBVEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKSAmJiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBM
QVRGT1JNKEFQUExFVFYpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmICFQTEFURk9STShXQVRDSE9T
KSAmJiAhUExBVEZPUk0oQVBQTEVUVikKICNkZWZpbmUgSEFWRV9NRE5TX0ZBU1RfUkVHSVNUUkFU
SU9OIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0oTUFDKSAm
JiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKSAmJiAhUExBVEZPUk0o
V0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmICFQ
TEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKICNkZWZpbmUgSEFWRV9DVEZP
TlRDUkVBVEVGT1JDSEFSQUNURVJTV0lUSExBTkdVQUdFQU5ET1BUSU9OIDEKICNlbmRpZgogCkBA
IC01MTgsMTEgKzQ5NiwxMSBAQAogI2RlZmluZSBIQVZFX0xPT0tVUF9HRVNUVVJFX1JFQ09HTkla
RVIgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNpZiBQTEFU
Rk9STShDT0NPQSkKICNkZWZpbmUgSEFWRV9BTExPV1NfU0VOU0lUSVZFX0xPR0dJTkcgMQogI2Vu
ZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNpZiBQTEFURk9STShDT0NP
QSkKICNkZWZpbmUgSEFWRV9GQUlSUExBWVNUUkVBTUlOR19DRU5DX0lOSVREQVRBIDEKICNlbmRp
ZgogCkBAIC01NDYsNyArNTI0LDcgQEAKICNkZWZpbmUgSEFWRV9OV1BBUkFNRVRFUlNfVFJBQ0tF
Ul9BUEkgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApICYmICFQTEFURk9S
TShNQUNDQVRBTFlTVCkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFM
WVNUKQogI2RlZmluZSBIQVZFX0FWUExBWUVSX1JFU09VUkNFX0NPTlNFUlZBVElPTl9MRVZFTCAx
CiAjZW5kaWYKIApAQCAtNTYyLDMxICs1NDAsMTEgQEAKICNkZWZpbmUgSEFWRV9DT1JFVEVYVF9B
VVRPX09QVElDQUxfU0laSU5HIDEKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkKLSNkZWZpbmUgSEFWRV9OU0ZP
TlRfV0lUSF9PUFRJQ0FMX1NJWklOR19CVUcgMQotI2VuZGlmCi0KLSNpZiAoUExBVEZPUk0oSU9T
KSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMTUwMCkpCisjaWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUMpCiAjZGVmaW5lIEhB
VkVfQVBQX1NTTyAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhKFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkKLSNkZWZp
bmUgSEFWRV9UTFNfUFJPVE9DT0xfVkVSU0lPTl9UIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMAotI2RlZmlu
ZSBIQVZFX1NVQlZJRVdTX0lWQVJfU1BJIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAm
JiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMDE1MDAKLSNkZWZpbmUgSEFWRV9T
VUJWSUVXU19JVkFSX0RFQ0xBUkVEX0JZX1NESyAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTUwMAotI2RlZmluZSBI
QVZFX0FYX0NMSUVOVF9UWVBFIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmICEo
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAw
KSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmICFQTEFU
Rk9STShNQUNDQVRBTFlTVCkKICNkZWZpbmUgSEFWRV9ERVNJR05fU1lTVEVNX1VJX0ZPTlRTIDEK
ICNlbmRpZgogCkBAIC01OTQsMTEgKzU1Miw3IEBACiAjZGVmaW5lIEhBVkVfQ09PS0lFX0NIQU5H
RV9MSVNURU5FUl9BUEkgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKLSNkZWZpbmUgSEFWRV9EQVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4gMQotI2VuZGlmCi0KLSNp
ZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTUwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShJT1NfRkFNSUxZX1NJ
TVVMQVRPUikpCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oSU9TX0ZBTUlMWV9TSU1V
TEFUT1IpCiAjZGVmaW5lIEhBVkVfTkVBUl9GSUVMRCAxCiAjZW5kaWYKIApAQCAtNjA2LDEwICs1
NjAsNiBAQAogI2RlZmluZSBIQVZFX09TX1NJR05QT1NUIDEKICNlbmRpZgogCi0jaWYgKFBMQVRG
T1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8
IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMzAwMDApCi0jZGVmaW5lIEhBVkVfQVZBU1NFVFdSSVRFUkRFTEVHQVRFIDEKLSNlbmRp
ZgotCiAjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMTAwMDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxNDAwMDApCiAjZGVmaW5lIEhBVkVfQVZBU1NFVFdSSVRFUkRF
TEVHQVRFX0FQSSAxCiAjZW5kaWYKQEAgLTYyNiwyMiArNTc2LDE0IEBACiAjZGVmaW5lIEhBVkVf
TlNQUk9HUkVTU19QVUJMSVNISU5HX1NQSSAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCAoUExBVEZP
Uk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMw
MDAwKQotI2RlZmluZSBIQVZFX0dDRVhURU5ERURHQU1FUEFEX0JVVFRPTlNfT1BUSU9OU19NRU5V
IDEKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjZGVmaW5lIEhBVkVfR0NFWFRFTkRF
REdBTUVQQURfQlVUVE9OU19USFVNQlNUSUNLIDEKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApCisjaWYgUExB
VEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX01VTFRJR0FNRVBBRFBST1ZJREVSX1NVUFBPUlQgMQog
I2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTUwMCkKLSNkZWZpbmUgSEFWRV9ISURfRlJBTUVXT1JLIDEKLSNlbmRpZgot
CiAjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMTAwMDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxNDAwMDApCiAjZGVmaW5lIEhBVkVfR0NFWFRFTkRFREdBTUVQQURf
SE9NRV9CVVRUT04gMQogI2VuZGlmCkBAIC03MDIsMTggKzY0NCwxMCBAQAogI2RlZmluZSBIQVZF
X01FRElBX1VTQUdFX0ZSQU1FV09SSyAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKElPUykgfHwg
KFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1
MDApCi0jZGVmaW5lIEhBVkVfUEFTU0tJVF9CT1VORF9JTlRFUkZBQ0VfSURFTlRJRklFUiAxCi0j
ZW5kaWYKLQotI2lmIFBMQVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApCisjaWYgUExBVEZPUk0oSU9TKSB8fCBQ
TEFURk9STShNQUMpCiAjZGVmaW5lIEhBVkVfUEFTU0tJVF9JTlNUQUxMTUVOVFMgMQogI2VuZGlm
CiAKLSNpZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKQotI2RlZmluZSBIQVZFX1BBU1NLSVRfUEFZTUVO
VF9NRVRIT0RfQklMTElOR19BRERSRVNTIDEKLSNlbmRpZgotCiAjaWYgKFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMjAwMDApIHx8IChQTEFURk9S
TShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE1MDAwMCkKICNk
ZWZpbmUgSEFWRV9QQVNTS0lUX1JFQ1VSUklOR19TVU1NQVJZX0lURU0gMQogI2RlZmluZSBIQVZF
X1BBU1NLSVRfREVGRVJSRURfU1VNTUFSWV9JVEVNIDEKQEAgLTcyMyw3ICs2NTcsNyBAQAogI2Rl
ZmluZSBIQVZFX1BBU1NLSVRfVVBEQVRFX1NISVBQSU5HX01FVEhPRFNfV0hFTl9DSEFOR0lOR19T
VU1NQVJZX0lURU1TIDEKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IFBMQVRGT1JNKElPUykgfHwgUExB
VEZPUk0oTUFDQ0FUQUxZU1QpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmICFQTEFURk9STShXQVRD
SE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKICNkZWZpbmUgSEFWRV9RVUlDS0xPT0tfVEhVTUJO
QUlMSU5HIDEKICNlbmRpZgogCkBAIC03ODcsMTAgKzcyMSw2IEBACiAjZGVmaW5lIEhBVkVfQ1RG
T05USVNTWVNURU1VSUZPTlQgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDAp
Ci0jZGVmaW5lIEhBVkVfQ1RGT05UR0VUUEhZU0lDQUxTWU1CT0xJQ1RSQUlUUyAxCi0jZW5kaWYK
LQogI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTEwMDAwKSBcCiAgICAgfHwgKChQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NBVEFM
WVNUKSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTQwMDAwKSBcCiAg
ICAgfHwgKFBMQVRGT1JNKFdBVENIT1MpICYmIF9fV0FUQ0hfT1NfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gNzAwMDApIFwKQEAgLTg3OCw3ICs4MDgsNyBAQAogI2RlZmluZSBIQVZFX0FWT1VUUFVU
REVWSUNFX1NQQVRJQUxBVURJTyAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKElPUykgfHwgUExB
VEZPUk0oTUFDQ0FUQUxZU1QpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhUExBVEZP
Uk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCiAjZGVmaW5lIEhBVkVfU1BFRUNIUkVD
T0dOSVpFUiAxCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1V
c2UuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKaW5kZXggNTE3MzcyMTdhNTUxNDJh
ZjA5NmFlOTVhYjZjMzQwMTE3MTc5ODM1Yy4uOWM5ZjgwZTNmZDFiMzJkMzJjMTIwYmY0Y2M1OTg3
NzlkODFlNGZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oCkBAIC0xODksMTAgKzE4OSw2IEBACiAjZGVm
aW5lIFVTRV9JTUxBTkdfRk9OVF9MSU5LMiAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgMTAxNTAwCi0jZGVmaW5lIFVTRV9B
Vl9TQU1QTEVfQlVGRkVSX0RJU1BMQVlfTEFZRVIgMQotI2VuZGlmCi0KICNpZiBQTEFURk9STShD
T0NPQSkgfHwgUExBVEZPUk0oR1RLKQogI2RlZmluZSBVU0VfVU5JRklFRF9URVhUX0NIRUNLSU5H
IDEKICNlbmRpZgpAQCAtMjU5LDcgKzI1NSw3IEBACiAjZGVmaW5lIFVTRV9ESUNUQVRJT05fQUxU
RVJOQVRJVkVTIDEKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgVVNFKEFQUExFX0lO
VEVSTkFMX1NESykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAp
IHx8IFBMQVRGT1JNKElPU19GQU1JTFkpCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgVVNFKEFQUExF
X0lOVEVSTkFMX1NESykpIHx8IFBMQVRGT1JNKElPU19GQU1JTFkpCiAjZGVmaW5lIFVTRV9TT1VS
Q0VfQVBQTElDQVRJT05fQVVESVRfREFUQSAxCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcm92aWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByb3Zp
ZGVyLmNwcAppbmRleCA2YTVjNGNiMzQ1ZjljMDY5OWY2ZjY1NWM5ZTQwYzEwOWY2NDc0OGJiLi43
Nzc2YWZlYzc2NGQyNTg2MDI3ODRmODA2M2IxZWNjODU0MzgxNzExIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByb3ZpZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRl
clByb3ZpZGVyLmNwcApAQCAtMzYsMTMgKzM2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBz
dGQ6OnVuaXF1ZV9wdHI8TWVkaWFSZWNvcmRlclByaXZhdGU+IE1lZGlhUmVjb3JkZXJQcm92aWRl
cjo6Y3JlYXRlTWVkaWFSZWNvcmRlclByaXZhdGUoTWVkaWFTdHJlYW1Qcml2YXRlJiBzdHJlYW0s
IGNvbnN0IE1lZGlhUmVjb3JkZXJQcml2YXRlT3B0aW9ucyYgb3B0aW9ucykKIHsKLSNpZiBIQVZF
KEFWQVNTRVRXUklURVJERUxFR0FURSkKICAgICByZXR1cm4gTWVkaWFSZWNvcmRlclByaXZhdGVB
VkZJbXBsOjpjcmVhdGUoc3RyZWFtLCBvcHRpb25zKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFN
KHN0cmVhbSk7Ci0gICAgVU5VU0VEX1BBUkFNKG9wdGlvbnMpOwotICAgIHJldHVybiBudWxscHRy
OwotI2VuZGlmCiB9CiAKIGJvb2wgTWVkaWFSZWNvcmRlclByb3ZpZGVyOjppc1N1cHBvcnRlZChj
b25zdCBTdHJpbmcmIHZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9j
Zi9Db3JlTWVkaWFTb2Z0TGluay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVN
ZWRpYVNvZnRMaW5rLmNwcAppbmRleCA4YmQzYTIzYjNmOWY3N2Y1MjBkOTdjNTgzNjAwYjJlNWNl
MDhiYjA4Li5kZjc1NzRhNzRkN2E1YzZjNDc5ZGY5YTRhM2VkZWNmNjI1NGE3NzM3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcApAQCAtMzgs
NyArMzgsNyBAQAogCiAjaW5jbHVkZSA8Q29yZUF1ZGlvL0NvcmVBdWRpb1R5cGVzLmg+CiAKLSNp
ZiBQTEFURk9STShJT1NfRkFNSUxZKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxNDAwKQorI2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmlu
ZSBDTVNBTVBMRUJVRkZFUkNBTExfTk9FU0NBUEUgQ0ZfTk9FU0NBUEUKICNlbHNlCiAjZGVmaW5l
IENNU0FNUExFQlVGRkVSQ0FMTF9OT0VTQ0FQRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9j
Zi9Db3JlTWVkaWFTb2Z0TGluay5oCmluZGV4IDk4NzY5MmJjZjgyNTA4ODMzMTk1N2YyMmQwZDU4
NzgyZmNmNzcwMGYuLmM0MWI0ODNhNDdjZGY3MmFmMDZiYzEwNDlmZTJkY2ZkOTY0NDQ2MmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmgKQEAgLTM4
LDcgKzM4LDcgQEAKICNkZWZpbmUgU09GVExJTktfQVZLSVRfRlJBTUVXT1JLKCkgU09GVF9MSU5L
X0ZSQU1FV09SS19PUFRJT05BTChBVktpdCkKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VE
ID49IDEwMTQwMCkKKyNpZiBQTEFURk9STShDT0NPQSkKICNkZWZpbmUgQ01TQU1QTEVCVUZGRVJD
QUxMX05PRVNDQVBFIENGX05PRVNDQVBFCiAjZWxzZQogI2RlZmluZSBDTVNBTVBMRUJVRkZFUkNB
TExfTk9FU0NBUEUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZG
b3VuZGF0aW9uU29mdExpbmsubW0gYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91
bmRhdGlvblNvZnRMaW5rLm1tCmluZGV4IDM1MWM2ZjJmMGRmMTQ5ODBjMjNiOTEyOTIzOWE4OWM0
MDkzYmQ0YzQuLjExNmU3ZGQ3NThkODcyZDE5MzdhMWY5NzE1YzlkZjdjZDE2MThjNTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGlu
ay5tbQpAQCAtMzAsNyArMzAsNyBAQAogI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWRm91bmRhdGlv
bi5oPgogI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+CiAKLSNpZiAhKFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkgJiYgIVBMQVRGT1JN
KFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQorI2lmICFQTEFURk9STShXQVRDSE9TKSAm
JiAhUExBVEZPUk0oQVBQTEVUVikKIFNPRlRfTElOS19GUkFNRVdPUktfRk9SX1NPVVJDRV9XSVRI
X0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgUEFMX0VYUE9SVCkKICNlbHNlCiBAaW50ZXJmYWNl
IEFWUGxheWVySXRlbSAoRGlzYWJsZUtWT09uU3VwcmVzc2VzVmlkZW9MYXllcnMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaCBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oCmluZGV4IDA3NTFjMGIzYjUx
NzYwMTgxNDA4Y2JkYmYwMGZlYjM1NWZiMjcxNGMuLjIyM2RjZjI4ZDg3ZDIwOTk0Mjk5N2M3NGZi
MDA2MmFmNWI3MWE4ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2Nm
L0NGTmV0d29ya1NQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NGTmV0
d29ya1NQSS5oCkBAIC0zMDEsMTIgKzMwMSwxMCBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2Vy
LCBOU1VSTFNlc3Npb25Db21wYW5pb25Qcm94eVByZWZlcmVuY2UpIHsKICNlbmRpZgogQGVuZAog
Ci0jaWYgSEFWRShDRk5FVFdPUktfTkVHT1RJQVRFRF9TU0xfUFJPVE9DT0xfQ0lQSEVSKQogQGlu
dGVyZmFjZSBOU1VSTFNlc3Npb25UYXNrVHJhbnNhY3Rpb25NZXRyaWNzICgpCiBAcHJvcGVydHkg
KGFzc2lnbikgU1NMUHJvdG9jb2wgX25lZ290aWF0ZWRUTFNQcm90b2NvbDsKIEBwcm9wZXJ0eSAo
YXNzaWduKSBTU0xDaXBoZXJTdWl0ZSBfbmVnb3RpYXRlZFRMU0NpcGhlcjsKIEBlbmQKLSNlbmRp
ZgogCiBAaW50ZXJmYWNlIE5TVVJMU2Vzc2lvbiAoU1BJKQogI2lmIEhBVkUoQ0ZORVRXT1JLX05T
VVJMU0VTU0lPTl9TVFJJQ1RSVVNURVZBTFVBVEUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL3NwaS9jb2NvYS9BVkZvdW5kYXRpb25TUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvc3BpL2NvY29hL0FWRm91bmRhdGlvblNQSS5oCmluZGV4IGNiMWVkMTFmZGU3Nzk2ZTRk
YjQ2OWRlMWY4YTIwOWI3NGZkNjM3MWQuLjBjZDNlNjQxM2M5ZjM0ZjcwZTk2YWNiOWYwMDc3OTlj
MTU4YTAyMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0FW
Rm91bmRhdGlvblNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0FW
Rm91bmRhdGlvblNQSS5oCkBAIC0zODEsNyArMzgxLDcgQEAgTlNfQVNTVU1FX05PTk5VTExfRU5E
CiBAZW5kCiAjZW5kaWYKIAotI2lmICFVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSB8fCBVU0UoQVZf
U0FNUExFX0JVRkZFUl9ESVNQTEFZX0xBWUVSKQorI2lmICFVU0UoQVBQTEVfSU5URVJOQUxfU0RL
KQogQGludGVyZmFjZSBBVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciAoV2ViQ29yZVByaXZhdGUp
CiBAcHJvcGVydHkgKGFzc2lnbiwgbm9uYXRvbWljKSBCT09MIHByZXZlbnRzRGlzcGxheVNsZWVw
RHVyaW5nVmlkZW9QbGF5YmFjazsKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3Bp
L2NvY29hL1Bhc3NLaXRTUEkuaAppbmRleCA4NDk2ZTc2Yzc1ZDJiOTU3M2Q0MGI4NDJiMmJmNzJl
OTk4NDdmZmVlLi5mMWViOWRjMDRhNDMzYmE1NDRjNjRkM2YzZmE1MDU1YTJmZDYzOTlkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCkBAIC00MTMs
OSArNDEzLDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgUEtQYXltZW50U2V0dXBGZWF0
dXJlVHlwZSkgewogQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgTlNTdHJpbmcgKnNvdXJj
ZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcjsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJv
bmcpIE5TU3RyaW5nICpzb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXI7CiBAcHJv
cGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBOU1N0cmluZyAqQ1REYXRhQ29ubmVjdGlvblNlcnZp
Y2VUeXBlOwotI2lmIEhBVkUoUEFTU0tJVF9CT1VORF9JTlRFUkZBQ0VfSURFTlRJRklFUikKIEBw
cm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqYm91bmRJbnRlcmZhY2VJZGVudGlm
aWVyOwotI2VuZGlmCiBAZW5kCiAKICNpZiAhSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKQEAg
LTQ0MiwxMSArNDQwLDkgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgUEtQYXltZW50QnV0
dG9uVHlwZSkgewogICAgIFBLUGF5bWVudEJ1dHRvblR5cGVTZXRVcCwKICAgICBQS1BheW1lbnRC
dXR0b25UeXBlSW5TdG9yZSwKICAgICBQS1BheW1lbnRCdXR0b25UeXBlRG9uYXRlLAotI2lmIChQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDE0MDAp
IHx8IFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgUEtQYXltZW50QnV0dG9uVHlwZUNoZWNrb3V0
LAogICAgIFBLUGF5bWVudEJ1dHRvblR5cGVCb29rLAogICAgIFBLUGF5bWVudEJ1dHRvblR5cGVT
dWJzY3JpYmUsCi0jZW5kaWYKIH07CiAjZW5kaWYgLy8gIUhBVkUoUEFTU0tJVF9SRUNVUlJJTkdf
U1VNTUFSWV9JVEVNKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9t
YWMvSElTZXJ2aWNlc1NQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL0hJU2Vy
dmljZXNTUEkuaAppbmRleCBiOGRmMGExYmNjODk1MjJkZmVmZWQ2MzZmN2FlMzFjMmJlY2IxOTJh
Li42MTYwMGNjNmNhNWYwNWU4M2EyMDhjNTExY2NhNDBjMGUwZWY2ODlhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvSElTZXJ2aWNlc1NQSS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9ISVNlcnZpY2VzU1BJLmgKQEAgLTEzMCw3ICsxMzAs
NiBAQCBPU1N0YXR1cyBTZXRBcHBsaWNhdGlvbklzRGFlbW9uKEJvb2xlYW4pOwogQVhFcnJvciBf
QVhVSUVsZW1lbnRVc2VTZWNvbmRhcnlBWFRocmVhZChib29sIGVuYWJsZWQpOwogI2VuZGlmCiAK
LSNpZiBIQVZFKEFYX0NMSUVOVF9UWVBFKQogdHlwZWRlZiBDRl9FTlVNKGludDMyX3QsIEFYQ2xp
ZW50VHlwZSkKIHsKICAgICBrQVhDbGllbnRUeXBlTm9BY3RpdmVSZXF1ZXN0Rm91bmQgPSAwLApA
QCAtMTQ3LDcgKzE0Niw2IEBAIHR5cGVkZWYgQ0ZfRU5VTShpbnQzMl90LCBBWENsaWVudFR5cGUp
CiB9OwogQVhDbGllbnRUeXBlIF9BWEdldENsaWVudEZvckN1cnJlbnRSZXF1ZXN0VW50cnVzdGVk
KHZvaWQpOwogdm9pZCBfQVhTZXRDbGllbnRJZGVudGlmaWNhdGlvbk92ZXJyaWRlKEFYQ2xpZW50
VHlwZSk7Ci0jZW5kaWYgLy8gSEFWRShBWF9DTElFTlRfVFlQRSkKIAogZXh0ZXJuIENGU3RyaW5n
UmVmIGtBWEludGVyZmFjZVJlZHVjZU1vdGlvbktleTsKIGV4dGVybiBDRlN0cmluZ1JlZiBrQVhJ
bnRlcmZhY2VSZWR1Y2VNb3Rpb25TdGF0dXNEaWRDaGFuZ2VOb3RpZmljYXRpb247CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNNZW51U1BJLmggYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNNZW51U1BJLmgKaW5kZXggZWJhYTY5YmE3MjcyOTM3
YzFlNDAzYTE4YjNjOTM3NjZjNDFiZTA0ZS4uMGU2NDcwZTBjMWE2OTA1NGVjNTI5YzgyOThkYjZl
ZDBhYTMwNDNmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05T
TWVudVNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU01lbnVTUEku
aApAQCAtMjcsNyArMjcsNyBAQAogCiAjaWYgUExBVEZPUk0oTUFDKQogCi0jaWYgVVNFKEFQUExF
X0lOVEVSTkFMX1NESykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1
MDAKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAjaW1wb3J0IDxBcHBLaXQvTlNNZW51
X1ByaXZhdGUuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFj
L05TVmlld1NQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05TVmlld1NQSS5o
CmluZGV4IDY4Y2U4YmZjMzRlOTg1ZWNhZGVhOTI2OTFhOGQ2YTZjM2ZiYjQ4M2YuLmRhZDdiNDU3
NDJkZjJmZjE2NjBhYzA3YTQ0YmEzNDY5ZDg4NjM1ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvc3BpL21hYy9OU1ZpZXdTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL3NwaS9tYWMvTlNWaWV3U1BJLmgKQEAgLTMwLDEwICszMCw2IEBACiAjaW1wb3J0IDxwYWwv
c3BpL2NvY29hL1F1YXJ0ekNvcmVTUEkuaD4KIAogQGludGVyZmFjZSBOU1ZpZXcgKCkgPENBTGF5
ZXJEZWxlZ2F0ZT4gewotI2lmICFIQVZFKFNVQlZJRVdTX0lWQVJfU1BJKSAmJiAhSEFWRShTVUJW
SUVXU19JVkFSX0RFQ0xBUkVEX0JZX1NESykKLUBwYWNrYWdlCi0gICAgTlNNdXRhYmxlQXJyYXk8
X19raW5kb2YgTlNWaWV3ICo+ICpfc3Vidmlld3M7Ci0jZW5kaWYKIH0KIAogLSAoTlNWaWV3ICop
X2ZpbmRMYXN0Vmlld0luS2V5Vmlld0xvb3A7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCmluZGV4IGU1NDg4YTIxN2FjOTdiMTYxNDU4
ZGEyNzAyYTNlYjhkZWY0MzdmM2UuLjBiZjFiZDczNjQ3MzY0Njg3N2ExMDMzOGE0MjQxZWM2MGEy
NjQxYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9u
dGVuZEhvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9u
dGVuZEhvc3QuY3BwCkBAIC00MDEsOCArNDAxLDYgQEAgU3RyaW5nIEluc3BlY3RvckZyb250ZW5k
SG9zdDo6cGxhdGZvcm1WZXJzaW9uTmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuICJiaWctc3VyIl9z
OwogI2VsaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMTUwMAogICAgIHJldHVybiAiY2F0YWxpbmEiX3M7Ci0jZWxpZiBQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwCi0gICAgcmV0dXJu
ICJtb2phdmUiX3M7CiAjZWxzZQogICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250
cm9sbGVyR2FtZXBhZC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2Ev
R2FtZUNvbnRyb2xsZXJHYW1lcGFkLm1tCmluZGV4IGE2MmZjYjIxYjlkMzA0NzhlY2I3MjE0ZmY3
MmJiMzQyZTVmYTY3NzUuLjdlNDdlZmQ1ZThjZDgxZTY0NGNhOGExY2YwYzk4MjQ0YzdiNjQzNTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNv
bnRyb2xsZXJHYW1lcGFkLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQv
Y29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkLm1tCkBAIC0xMzAsMTIgKzEzMCwxMCBAQCB2b2lk
IEdhbWVDb250cm9sbGVyR2FtZXBhZDo6c2V0dXBBc0V4dGVuZGVkR2FtZXBhZCgpCiAgICAgfQog
CiAgICAgLy8gU2VsZWN0LCBTdGFydAotI2lmIEhBVkUoR0NFWFRFTkRFREdBTUVQQURfQlVUVE9O
U19PUFRJT05TX01FTlUpCiAgICAgYmluZEJ1dHRvbihtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5i
dXR0b25PcHRpb25zLCBHYW1lcGFkQnV0dG9uUm9sZTo6Q2VudGVyQ2x1c3RlckxlZnQpOwogICAg
IGRpc2FibGVEZWZhdWx0U3lzdGVtQWN0aW9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRv
bk9wdGlvbnMpOwogICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuYnV0dG9u
TWVudSwgR2FtZXBhZEJ1dHRvblJvbGU6OkNlbnRlckNsdXN0ZXJSaWdodCk7CiAgICAgZGlzYWJs
ZURlZmF1bHRTeXN0ZW1BY3Rpb24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuYnV0dG9uTWVudSk7
Ci0jZW5kaWYKIAogICAgIC8vIEwzLCBSMwogI2lmIEhBVkUoR0NFWFRFTkRFREdBTUVQQURfQlVU
VE9OU19USFVNQlNUSUNLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KaW5kZXggZjMxNGRjZWJkYTM0
ZjhiMjA4M2IzNGE5ZDllMTM2NTQyYzlkMWFiOS4uZmFiOGE4Y2JmNGU1Y2ZlZGE2ZDUyOTJmZGZj
ZDgwZDMxMjFlODFjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCkBAIC0zMTkyLDE0ICszMTky
LDYgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwbGF5ZXJJdGVt
U3RhdHVzRGlkQ2hhbmdlKGludCBzdGF0dXMpCiB7CiAgICAgbV9jYWNoZWRJdGVtU3RhdHVzID0g
c3RhdHVzOwogCi0gICAgLy8gU2V0dGluZyB0aGUgcGl0Y2ggYWxnb3JpdGhtIGhlcmUgY2F1c2Vz
IHRlc3RzIHRvIGZhaWwgb24gTW9qYXZlOyByZXZlcnQgdGhpcyBjaGFuZ2UKLSAgICAvLyBmb3Ig
PD0gTW9qYXZlIGJ1aWxkcy4KLSNpZiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+IDEwMTQwMCkKLSAgICAvLyBGSVhNRShyZGFyOi8vNzI4MjkzNTQp
OiBSZW1vdmUgYWZ0ZXIgQVZGb3VuZGF0aW9uIHJhZGFyIGlzIGZpeGVkLgotICAgIGlmIChzdGF0
dXMgPT0gQVZQbGF5ZXJJdGVtU3RhdHVzUmVhZHlUb1BsYXkpCi0gICAgICAgIFttX2F2UGxheWVy
SXRlbSBzZXRBdWRpb1RpbWVQaXRjaEFsZ29yaXRobTphdWRpb1RpbWVQaXRjaEFsZ29yaXRobUZv
ck1lZGlhUGxheWVyUGl0Y2hDb3JyZWN0aW9uQWxnb3JpdGhtKHBsYXllcigpLT5waXRjaENvcnJl
Y3Rpb25BbGdvcml0aG0oKSwgcGxheWVyKCktPnByZXNlcnZlc1BpdGNoKCksIG1fcmVxdWVzdGVk
UmF0ZSldOwotI2VuZGlmCi0KICAgICB1cGRhdGVTdGF0ZXMoKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29y
ZVRleHQuY3BwCmluZGV4IDBjYzdjZDczMzNkZDNhYjllMGZlMWU3YmE2ODEwMTdkOWZiOGJhYWIu
LjM1MDg0NmVkYTYyZjY2ZTMyOGE4ZGM0NTAzZGQyM2VmOTI5YzU1ODQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVD
b3JlVGV4dC5jcHAKQEAgLTgwMywxNCArODAzLDcgQEAgU3ludGhlc2lzUGFpciBjb21wdXRlTmVj
ZXNzYXJ5U3ludGhlc2lzKENURm9udFJlZiBmb250LCBjb25zdCBGb250RGVzY3JpcHRpb24mIGYK
ICAgICBDVEZvbnRTeW1ib2xpY1RyYWl0cyBhY3R1YWxUcmFpdHMgPSAwOwogICAgIGlmIChpc0Zv
bnRXZWlnaHRCb2xkKGZvbnREZXNjcmlwdGlvbi53ZWlnaHQoKSkgfHwgaXNJdGFsaWMoZm9udERl
c2NyaXB0aW9uLml0YWxpYygpKSkgewogICAgICAgICBpZiAoc2hvdWxkQ29tcHV0ZVBoeXNpY2Fs
VHJhaXRzID09IFNob3VsZENvbXB1dGVQaHlzaWNhbFRyYWl0czo6WWVzKSB7Ci0jaWYgSEFWRShD
VEZPTlRHRVRQSFlTSUNBTFNZTUJPTElDVFJBSVRTKQogICAgICAgICAgICAgYWN0dWFsVHJhaXRz
ID0gQ1RGb250R2V0UGh5c2ljYWxTeW1ib2xpY1RyYWl0cyhmb250KTsKLSNlbHNlCi0gICAgICAg
ICAgICBhdXRvIGZvbnRGb3JTeW50aGVzaXNDb21wdXRhdGlvbiA9IHJldGFpblB0cihmb250KTsK
LSAgICAgICAgICAgIGlmIChhdXRvIHBoeXNpY2FsRm9udCA9IGFkb3B0Q0YoQ1RGb250Q29weVBo
eXNpY2FsRm9udChmb250KSkpCi0gICAgICAgICAgICAgICAgZm9udEZvclN5bnRoZXNpc0NvbXB1
dGF0aW9uID0gV1RGTW92ZShwaHlzaWNhbEZvbnQpOwotICAgICAgICAgICAgYWN0dWFsVHJhaXRz
ID0gQ1RGb250R2V0U3ltYm9saWNUcmFpdHMoZm9udEZvclN5bnRoZXNpc0NvbXB1dGF0aW9uLmdl
dCgpKTsKLSNlbmRpZgogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIGFjdHVhbFRyYWl0cyA9
IENURm9udEdldFN5bWJvbGljVHJhaXRzKGZvbnQpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJ
bXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNv
cmRlclByaXZhdGVBVkZJbXBsLmNwcAppbmRleCBkNDE5ZTBlMTkyNTU1ZDczNjA4NTg1MWY1NGNh
MDA0MGQ0NmI2NjNmLi45NzE4YTRiNjQzZGFiNjhlNjI3MWYzZWQxOGNjZGQ2ZTBlNGUxZDc4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVj
b3JkZXJQcml2YXRlQVZGSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuY3BwCkBAIC0yNiw3ICsyNiw3
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTWVkaWFSZWNvcmRlclByaXZhdGVB
VkZJbXBsLmgiCiAKLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklU
RVJERUxFR0FURSkKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiAjaW5jbHVkZSAiQXVkaW9T
dHJlYW1EZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgIkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5o
IgpAQCAtMTcwLDQgKzE3MCw0IEBAIGNvbnN0IFN0cmluZyYgTWVkaWFSZWNvcmRlclByaXZhdGVB
VkZJbXBsOjptaW1lVHlwZSgpIGNvbnN0CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2Vu
ZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRF
KQorI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJp
dmF0ZUFWRkltcGwuaAppbmRleCAzMzdlYzE5ZDViNDk0M2MwNTAyYjExZWY3MjExNDY0MzZlMTIw
MjEyLi5jNjU5NTVkM2VkODAzZjlhM2Q5NzRjNDMwY2M3ZGE0M2I0ZTJhZWE3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2
YXRlQVZGSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIv
TWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmgKQEAgLTI0LDcgKzI0LDcgQEAKIAogI3ByYWdt
YSBvbmNlCiAKLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJE
RUxFR0FURSkKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiAjaW5jbHVkZSAiQ0FBdWRpb1N0
cmVhbURlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiTWVkaWFSZWNvcmRlclByaXZhdGUuaCIKQEAg
LTY4LDQgKzY4LDQgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5k
aWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUp
CisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0
ZXJDb2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9N
ZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLmgKaW5kZXggYjc1NThkMjgwYzJlZjc5NjA2
OGNhYzBjYzk2YjUwMzNkYzM3MDk3MS4uMjExZjc1ZWU3M2FmNjkxOWU3ZjRjOTk1OGUwY2QzNDgy
NTMyZDA5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRl
ci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdy
aXRlckNvY29hLmgKQEAgLTI0LDcgKzI0LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFC
TEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBFTkFC
TEUoTUVESUFfU1RSRUFNKQogCiAjaW5jbHVkZSAiQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oIgog
CkBAIC0xNDcsNCArMTQ3LDQgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
Ci0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVM
RUdBVEUpCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZh
dGVXcml0ZXJDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIv
Y29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5tbQppbmRleCA2YWQyMGJlOGNi
NTc5MjNhMGU3ODQyZTM3MDFkMzNhNmFhMDNhYjZjLi4yYzdjYTJlMDNkMjk2YzAzZDgxZDJjZGMx
NTE3MTU5M2YxZTUwOGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVy
UHJpdmF0ZVdyaXRlckNvY29hLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5oIgogCi0jaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkKIAogI2luY2x1ZGUgIkF1ZGlvU2FtcGxlQnVmZmVyQ29tcHJl
c3Nvci5oIgogI2luY2x1ZGUgIkF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uaCIKQEAgLTU4Miw0ICs1
ODIsNCBAQCB1bnNpZ25lZCBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6dmlkZW9CaXRSYXRl
KCkgY29uc3QKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKE1F
RElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjZW5kaWYgLy8gRU5B
QkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvY29jb2EvQ29va2llQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2NvY29hL0Nvb2tpZUNvY29hLm1tCmluZGV4IDEwZWM3NWE3ZWVlODc4NDFjZTAxMmI5YWYx
OWI0NjcwYjBjMTkyMDAuLjBkYzU4YTk5MDZlY2E3NDZjNmJmOWU3NGE4M2VmZjI4NGZmNTA5NmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvQ29va2ll
Q29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9Db29r
aWVDb2NvYS5tbQpAQCAtMjksMTYgKzI5LDYgQEAKIC8vIEZJWE1FOiBSZW1vdmUgTlNfQVNTVU1F
X05PTk5VTExfQkVHSU4vRU5EIGFuZCBhbGwgX051bGxhYmxlIGFubm90YXRpb25zIG9uY2Ugd2Ug
cmVtb3ZlIHRoZSBOU0hUVFBDb29raWUgZm9yd2FyZCBkZWNsYXJhdGlvbiBiZWxvdy4KIE5TX0FT
U1VNRV9OT05OVUxMX0JFR0lOCiAKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NQVhfQUxMT1dFRCA8IDEwMTUwMAotdHlwZWRlZiBOU1N0cmluZyAqIE5TSFRUUENvb2tp
ZVN0cmluZ1BvbGljeTsKLUBpbnRlcmZhY2UgTlNIVFRQQ29va2llIChTdGFnaW5nKQotQHByb3Bl
cnR5IChudWxsYWJsZSwgcmVhZG9ubHksIGNvcHkpIE5TSFRUUENvb2tpZVN0cmluZ1BvbGljeSBz
YW1lU2l0ZVBvbGljeTsKLUBlbmQKLQotc3RhdGljIE5TU3RyaW5nICogY29uc3QgTlNIVFRQQ29v
a2llU2FtZVNpdGVMYXggPSBAImxheCI7Ci1zdGF0aWMgTlNTdHJpbmcgKiBjb25zdCBOU0hUVFBD
b29raWVTYW1lU2l0ZVN0cmljdCA9IEAic3RyaWN0IjsKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIHN0YXRpYyBWZWN0b3I8dWludDE2X3Q+IHBvcnRWZWN0b3JGcm9tTGlzdChOU0Fy
cmF5PE5TTnVtYmVyICo+ICpwb3J0TGlzdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY29jb2EvTmV0d29ya1N0b3JhZ2VTZXNzaW9uQ29jb2EubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtTdG9yYWdlU2Vzc2lvbkNv
Y29hLm1tCmluZGV4IDUwYzUwMDZmNzIyNjM4ZjVlNTNmN2FiOGQ2MGRmNTJjYTc1MjQyYmYuLjhl
NGEyODYwZWU4MTE5MDZlYzg2NTVjYTcxOTM5MjYzZTM5MzJjYTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvTmV0d29ya1N0b3JhZ2VTZXNzaW9uQ29j
b2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9OZXR3b3Jr
U3RvcmFnZVNlc3Npb25Db2NvYS5tbQpAQCAtMTIyLDcgKzEyMiw2IEBAIHZvaWQgTmV0d29ya1N0
b3JhZ2VTZXNzaW9uOjpzZXRBbGxDb29raWVzVG9TYW1lU2l0ZVN0cmljdChjb25zdCBSZWdpc3Ry
YWJsZURvbWFpCiB7CiAgICAgQVNTRVJUKGhhc1Byb2Nlc3NQcml2aWxlZ2UoUHJvY2Vzc1ByaXZp
bGVnZTo6Q2FuQWNjZXNzUmF3Q29va2llcykpOwogCi0jaWYgSEFWRShDRk5FVFdPUktfU0FNRVNJ
VEVfQ09PS0lFX0FQSSkKICAgICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk8TlNIVFRQQ29va2ll
ICo+PiBvbGRDb29raWVzVG9EZWxldGUgPSBhZG9wdE5TKFtbTlNNdXRhYmxlQXJyYXkgYWxsb2Nd
IGluaXRdKTsKICAgICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk8TlNIVFRQQ29va2llICo+PiBu
ZXdDb29raWVzVG9BZGQgPSBhZG9wdE5TKFtbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRdKTsK
IApAQCAtMTQzLDkgKzE0Miw3IEBAIHZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpzZXRBbGxD
b29raWVzVG9TYW1lU2l0ZVN0cmljdChjb25zdCBSZWdpc3RyYWJsZURvbWFpCiAgICAgZm9yIChO
U0hUVFBDb29raWUgKm5ld0Nvb2tpZSBpbiBuZXdDb29raWVzVG9BZGQuZ2V0KCkpCiAgICAgICAg
IFtuc0Nvb2tpZVN0b3JhZ2UoKSBzZXRDb29raWU6bmV3Q29va2llXTsKICAgICBFTkRfQkxPQ0tf
T0JKQ19FWENFUFRJT05TCi0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShkb21haW4pOwotI2VuZGlm
CisKICAgICBjb21wbGV0aW9uSGFuZGxlcigpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKaW5kZXggODZkYzNm
ZWMxYjI0MWZhYjFjODQ1NjdiMWY3OGJjOTBmNzc4ZmFmYy4uMTA2Y2Q5MDRlNjgxNzA5MGRlZWE0
MWI2NDFjYjkwYTdmZmQyZWE1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAtMzQ3LDcgKzM0Nyw3IEBAIGJv
b2wgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6YWxsb3dzRXhpdFVuZGVyTWVtb3J5UHJlc3N1
cmUoKSBjb25zdAogICAgIGlmICghbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLT5h
bGxvd3NFeGl0VW5kZXJNZW1vcnlQcmVzc3VyZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAj
ZW5kaWYKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFW
RShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShN
RURJQV9TVFJFQU0pCiAgICAgaWYgKG1fcmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIgJiYgIW1f
cmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXItPmFsbG93c0V4aXRVbmRlck1lbW9yeVByZXNzdXJl
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgpAQCAtNDMxLDcgKzQzMSw3IEBAIFJl
bW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVySW50ZXJuYWxVbml0TWFuYWdlciYgR1BV
Q29ubmVjdGlvblRvV2ViUHJvY2VzCiB9CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENPQ09BKSAm
JiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNp
ZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIFJlbW90ZU1lZGlhUmVj
b3JkZXJNYW5hZ2VyJiBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjptZWRpYVJlY29yZGVyTWFu
YWdlcigpCiB7CiAgICAgaWYgKCFtX3JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyKQpAQCAtNjU1
LDcgKzY1NSw3IEBAIGJvb2wgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlzcGF0Y2hNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDCiAgICAgICAgIHJldHVybiB0cnVl
OwogICAgIH0KICNlbmRpZgotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoTUVESUFfU1RS
RUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBQTEFURk9STShDT0NPQSkg
JiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJO
YW1lKCkgPT0gTWVzc2FnZXM6OlJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyOjptZXNzYWdlUmVj
ZWl2ZXJOYW1lKCkpIHsKICAgICAgICAgbWVkaWFSZWNvcmRlck1hbmFnZXIoKS5kaWRSZWNlaXZl
TWVzc2FnZUZyb21XZWJQcm9jZXNzKGNvbm5lY3Rpb24sIGRlY29kZXIpOwogICAgICAgICByZXR1
cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5oCmluZGV4IGI4ODJhYTA5MDczNzc2ZGM4YjhkZjY5N2RmMDIxMGNiNTg5
YWVkM2IuLjA1YTUwNWZlZTMyOTM3OGIxMzBhOWM5OTczMjYwNmJlMjBiNDg3YzggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgK
KysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
aApAQCAtMTc0LDcgKzE3NCw3IEBAIHByaXZhdGU6CiAgICAgVXNlck1lZGlhQ2FwdHVyZU1hbmFn
ZXJQcm94eSYgdXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eSgpOwogICAgIFJlbW90ZUF1ZGlv
TWVkaWFTdHJlYW1UcmFja1JlbmRlcmVySW50ZXJuYWxVbml0TWFuYWdlciYgYXVkaW9NZWRpYVN0
cmVhbVRyYWNrUmVuZGVyZXJJbnRlcm5hbFVuaXRNYW5hZ2VyKCk7CiAjZW5kaWYKLSNpZiBQTEFU
Rk9STShDT0NPQSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVS
REVMRUdBVEUpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAg
ICAgUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXImIG1lZGlhUmVjb3JkZXJNYW5hZ2VyKCk7CiAj
ZW5kaWYKIApAQCAtMjU2LDcgKzI1Niw3IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRy
PFJlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVySW50ZXJuYWxVbml0TWFuYWdlcj4g
bV9hdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckludGVybmFsVW5pdE1hbmFnZXI7CiAgICAg
UmVmPFJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXI+IG1fc2FtcGxlQnVmZmVy
RGlzcGxheUxheWVyTWFuYWdlcjsKICNlbmRpZgotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFC
TEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBQTEFU
Rk9STShDT0NPQSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
UmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXI+IG1fcmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXI7
CiAjZW5kaWYKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4gYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5z
Yi5pbgppbmRleCAxOWYwMzFiOTcxNDEyNmJhOGRjOGQyNTQ0MWU5NWNkOTBiZjRlMzM1Li44MDYz
OTg0MjNlMTViODdiMzkxYTI0YTU4NmQzNjBiNWI1NGFhNTllIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5zYi5pbgor
KysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuR1BVUHJv
Y2Vzcy5zYi5pbgpAQCAtMTE4LDEwICsxMTgsOCBAQAogICAgIDs7IENWTVMKICAgICAoYWxsb3cg
bWFjaC1sb29rdXAgKHdpdGggdGVsZW1ldHJ5KQogICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5h
cHBsZS5jdm1zU2VydiIpKQotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxNDAwIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgIChhbGxvdyBmaWxlLXJlYWQqICh3
aXRoIHRlbGVtZXRyeSkKICAgICAgICAgKHByZWZpeCAiL3ByaXZhdGUvdmFyL2RiL0NWTVMvY3Zt
c0NvZGVTaWduT2JqIikpCi0jZW5kaWYKICAgICA7OyBPcGVuQ0wKICAgICAoYWxsb3cgaW9raXQt
b3BlbiAod2l0aCB0ZWxlbWV0cnkpCiAgICAgICAgIChpb2tpdC1jb25uZWN0aW9uICJJT0FjY2Vs
ZXJhdG9yIikKQEAgLTQyNyw3ICs0MjUsNiBAQAogICAgIChpb2tpdC1wcm9wZXJ0eSAic2F2ZWQt
Y29uZmlnIikKICAgICAoaW9raXQtcHJvcGVydHkgInN0YXJ0dXAtdGltaW5nIikKICAgICAoaW9r
aXQtcHJvcGVydHkgInRvdWNoLXNpemUtaWQiKQotI2lmICFQTEFURk9STShNQUMpIHx8IF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwCiAgICAgKGlva2l0LXByb3BlcnR5
ICJBVFksY2JpdHMiKQogICAgIChpb2tpdC1wcm9wZXJ0eSAiQVRZLGludHJldiIpCiAgICAgKGlv
a2l0LXByb3BlcnR5ICJBY2NlbE5hdGl2ZURNQVJvd0J5dGVBbGlnbm1lbnQiKQpAQCAtNDQ1LDcg
KzQ0Miw2IEBACiAgICAgKGlva2l0LXByb3BlcnR5ICJUZWxlbWV0cnlEaXNhYmxlIikKICAgICAo
aW9raXQtcHJvcGVydHkgImNhaWxfcHJvcGVydGllcyIpCiAgICAgKGlva2l0LXByb3BlcnR5ICJk
cG0iKQotI2VuZGlmCiAgICAgKGlva2l0LXByb3BlcnR5ICJJT0dWQUgyNjRFbmNvZGVDYXBhYmls
aXRpZXMiKSA7OyA8cmRhcjovL3Byb2JsZW0vNDk0OTgwNDA+CiAjaWYgIVBMQVRGT1JNKE1BQykg
fHwgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+IDEwMTUwMAogICAgIChpb2tpdC1w
cm9wZXJ0eSAiSU9BVkRIRVZDRGVjb2RlQ2FwYWJpbGl0aWVzIikgOzsgPHJkYXI6Ly9wcm9ibGVt
LzcxMTAwMTg4PgpAQCAtNzAwLDkgKzY5Niw2IEBACiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20u
YXBwbGUubG9nZC5ldmVudHMiKSkKIAogKGFsbG93IG1hY2gtbG9va3VwICh3aXRoIHRlbGVtZXRy
eSkKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNDAwCi0gICAgICAg
KGdsb2JhbC1uYW1lICJjb20uYXBwbGUuRm9udE9iamVjdHNTZXJ2ZXIiKQotI2VuZGlmCiAgICAg
ICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuU3lzdGVtQ29uZmlndXJhdGlvbi5jb25maWdkIikK
ICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5hc3NlcnRpb25kLnByb2Nlc3Nhc3NlcnRp
b25jb25uZWN0aW9uIikKICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5hdWRpby50b29s
Ym94LnJlcG9ydGluZy5zZXJ2aWNlIikKQEAgLTcxOCwxOCArNzExLDE0IEBACiAgICAgICAgKGds
b2JhbC1uYW1lICJjb20uYXBwbGUudGNjZC5zeXN0ZW0iKQogKQogCi0jaWYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiA7
OyA8cmRhcjovL3Byb2JsZW0vNDcyNjgxNjY+CiAoYWxsb3cgbWFjaC1sb29rdXAgKHdpdGggdGVs
ZW1ldHJ5KSAoeHBjLXNlcnZpY2UtbmFtZSAiY29tLmFwcGxlLk1UTENvbXBpbGVyU2VydmljZSIp
KQotI2VuZGlmCiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQw
MCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKIChkZW55IG1hY2gtbG9va3VwICh3aXRoIG5vLWxv
ZykKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5Db3JlU2VydmljZXMuY29yZXNlcnZpY2Vz
ZCIpCiAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuRGlza0FyYml0cmF0aW9uLmRpc2thcmJp
dHJhdGlvbmQiKQogICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLlZpZXdCcmlkZ2VBdXhpbGlh
cnkiKQogICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLndpbmRvd3NlcnZlci5hY3RpdmUiKSkK
LSNlbmRpZgogCiA7OyBOZWVkZWQgdG8gc3VwcG9ydCBlbmNyeXB0ZWQgbWVkaWEgcGxheWJhY2sg
PHJkYXI6Ly9wcm9ibGVtLzQwMDM4NDc4PgogKGFsbG93IG1hY2gtbG9va3VwICh3aXRoIHRlbGVt
ZXRyeSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3Rl
TWVkaWFSZWNvcmRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90
ZU1lZGlhUmVjb3JkZXIuY3BwCmluZGV4IDhjMTI1NDlmMTQzMjg5ZmYxZjJkYmIzNjQ1ODdjMmY2
OGVhY2E2YmIuLjdlNTcyYjNhNzRhMjAyN2U3NGNhYTc2NzJlNTJkYTBhZjgzNDIwNzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJl
Y29yZGVyLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIlJlbW90ZU1lZGlhUmVjb3JkZXIuaCIKIAotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFC
TEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdS
SVRFUkRFTEVHQVRFKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1Mp
ICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCiAjaW5j
bHVkZSAiR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgpAQCAtMTM0LDQgKzEzNCw0IEBAIHZv
aWQgUmVtb3RlTWVkaWFSZWNvcmRlcjo6cmVzdW1lKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4m
JiBjb21wbGV0aW9uSGFuZGxlcikKIAogI3VuZGVmIE1FU1NBR0VfQ0hFQ0sKIAotI2VuZGlmIC8v
IFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9T
VFJFQU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2VuZGlmIC8vIFBMQVRGT1JN
KENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVj
b3JkZXIuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNv
cmRlci5oCmluZGV4IDFiMDAwM2Q0MGU4MTRkMDA0NGI4Y2M0ZjU4YTU2MTc1OTM1NTM1YWEuLmNi
Njk0NmM4MjU4ODlkNzk4YTE3OWMwMGVmNzhhNDcxY2RiMThlYzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oCkBAIC0y
NSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVO
QUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VU
V1JJVEVSREVMRUdBVEUpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VT
UykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIK
ICNpbmNsdWRlICJNZWRpYVJlY29yZGVySWRlbnRpZmllci5oIgpAQCAtODksNCArODksNCBAQCBw
cml2YXRlOgogCiB9CiAKLSNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9Q
Uk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxF
R0FURSkKKyNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAm
JiBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLm1lc3NhZ2VzLmluCmluZGV4
IGFkNWViOTRhMWE3YWZmMTYyNWI5MmEyYWQyODBlYzU3OTA5ODIzYWIuLjlmNTVjNzdiNmQ5ZjNh
Nzg0MGFkMGY2MWIwMjFkM2Q0NTc5MWZmZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIubWVzc2FnZXMu
aW4KQEAgLTIxLDcgKzIxLDcgQEAKICMgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgogIyBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9D
RVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FU
RSkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogCiBtZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVJlY29yZGVyIE5vdFJlZkNv
dW50ZWQgewogICAgIEF1ZGlvU2FtcGxlc1N0b3JhZ2VDaGFuZ2VkKFdlYktpdDo6U2hhcmVkTWVt
b3J5OjpJUENIYW5kbGUgc3RvcmFnZUhhbmRsZSwgV2ViQ29yZTo6Q0FBdWRpb1N0cmVhbURlc2Ny
aXB0aW9uIGRlc2NyaXB0aW9uLCB1aW50NjRfdCBudW1iZXJPZkZyYW1lcykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFn
ZXIuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29y
ZGVyTWFuYWdlci5jcHAKaW5kZXggZjBiZmM4ZmE1ZDMzMDBmNGQwMjI4NDUyNjVjOWEzZDJhY2Yy
ZTYzNi4uZDBkYmQ3OTY3MTA2MzkwY2U0ZTMyYTMwMGI0OTU1YzQzMTRmYjc5ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFu
YWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRp
YVJlY29yZGVyTWFuYWdlci5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJSZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5oIgogCi0jaWYgUExBVEZP
Uk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkg
JiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVO
QUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogI2luY2x1ZGUgIkRh
dGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJEZWNvZGVyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLmggYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2Vy
LmgKaW5kZXggMmYyOWZlZjJhZjJkM2MzNjEwOTZiMzNmOWYwOWVlMDc3ODczMGRlOC4uNTNmOWFk
Y2RkNGNkYmIzNjJmNDhiZmQ5N2I4YmI0MGNhZWU3NDE5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFn
ZXIuaApAQCAtMSw1ICsxLDMgQEAKLQotCiAvKgogICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCkBAIC0yNyw3ICsyNSw3IEBACiAKICNwcmFn
bWEgb25jZQogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYg
RU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjaWYg
UExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NU
UkVBTSkKIAogI2luY2x1ZGUgIk1lZGlhUmVjb3JkZXJJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAi
TWVzc2FnZVJlY2VpdmVyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
d2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5tZXNzYWdl
cy5pbgppbmRleCBiNDNiM2Y0NGVmMjExZTdlN2RlYjJlNDRhODc0ZWViMjZhYWFhYzg2Li44Mjhi
OGFhNjhlOTBhOWIyNWUxZTg3MGY2YzkwYThmZDdjNWE3MDcwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFS
ZWNvcmRlck1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTIxLDcgKzIxLDcgQEAKICMgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgogIyBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKLSNpZiBQTEFURk9STShD
T0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBI
QVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxF
KEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiBtZXNzYWdlcyAtPiBSZW1v
dGVNZWRpYVJlY29yZGVyTWFuYWdlciBOb3RSZWZDb3VudGVkIHsKICAgICBDcmVhdGVSZWNvcmRl
cihXZWJLaXQ6Ok1lZGlhUmVjb3JkZXJJZGVudGlmaWVyIGlkLCBib29sIGhhc0F1ZGlvLCBib29s
IGhhc1ZpZGVvLCBzdHJ1Y3QgV2ViQ29yZTo6TWVkaWFSZWNvcmRlclByaXZhdGVPcHRpb25zIG9w
dGlvbnMpIC0+IChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGE+IGNyZWF0aW9u
RXJyb3IsIFN0cmluZyBtaW1lVHlwZSwgdW5zaWduZWQgYXVkaW9CaXRSYXRlLCB1bnNpZ25lZCB2
aWRlb0JpdFJhdGUpIEFzeW5jCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQppbmRleCA1YzEyNTFhZjQxNmMz
NmEyMWE3MWJjODRmMThkMDRjOTUxYTY3OTlmLi5lZjA0NjAxOTNlZjFiNDhiN2ZiN2FkNzFiYTcw
YmQzMmQ5NTY1NWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2Nv
Y29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KQEAgLTEzMCwxMyArMTMwLDcgQEAg
TlNIVFRQQ29va2llU3RvcmFnZSAqTmV0d29ya0RhdGFUYXNrQ29jb2E6OnN0YXRlbGVzc0Nvb2tp
ZVN0b3JhZ2UoKQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxSZXRhaW5QdHI8TlNIVFRQ
Q29va2llU3RvcmFnZT4+IHN0YXRlbGVzc0Nvb2tpZVN0b3JhZ2U7CiAgICAgaWYgKCFzdGF0ZWxl
c3NDb29raWVTdG9yYWdlLmdldCgpKSB7Ci0jaWYgSEFWRShOU0hUVFBDT09LSUVTVE9SQUdFX19J
TklUV0lUSElERU5USUZJRVJfV0lUSF9JTkFDQ1VSQVRFX05VTExBQklMSVRZKQotICAgICAgICBJ
R05PUkVfTlVMTF9DSEVDS19XQVJOSU5HU19CRUdJTgotI2VuZGlmCiAgICAgICAgIHN0YXRlbGVz
c0Nvb2tpZVN0b3JhZ2UuZ2V0KCkgPSBhZG9wdE5TKFtbTlNIVFRQQ29va2llU3RvcmFnZSBhbGxv
Y10gX2luaXRXaXRoSWRlbnRpZmllcjpuaWwgcHJpdmF0ZTpZRVNdKTsKLSNpZiBIQVZFKE5TSFRU
UENPT0tJRVNUT1JBR0VfX0lOSVRXSVRISURFTlRJRklFUl9XSVRIX0lOQUNDVVJBVEVfTlVMTEFC
SUxJVFkpCi0gICAgICAgIElHTk9SRV9OVUxMX0NIRUNLX1dBUk5JTkdTX0VORAotI2VuZGlmCiAg
ICAgICAgIHN0YXRlbGVzc0Nvb2tpZVN0b3JhZ2UuZ2V0KCkuZ2V0KCkuY29va2llQWNjZXB0UG9s
aWN5ID0gTlNIVFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI7CiAgICAgfQogICAgIEFTU0VSVChz
dGF0ZWxlc3NDb29raWVTdG9yYWdlLmdldCgpLmdldCgpLmNvb2tpZXMuY291bnQgPT0gMCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNz
aW9uQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtT
ZXNzaW9uQ29jb2EubW0KaW5kZXggMjkzMGI1OTRjYWIzNzg4ZDQwODRiODdkMzA0NzkwYjc5OWNh
ZDgxMy4uNWJjYjk4YTZkODg4ZWNlZWJlYjFlMjQ1YzY4N2M2Y2E1NzJiNmEyMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29h
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Np
b25Db2NvYS5tbQpAQCAtMTU3LDcgKzE1Nyw2IEBAIHN0YXRpYyBXZWJDb3JlOjpQcml2YWN5U3Rh
bmNlIHRvUHJpdmFjeVN0YW5jZShud19jb25uZWN0aW9uX3ByaXZhY3lfc3RhbmNlX3Qgc3RhCiB9
CiAjZW5kaWYKIAotI2lmIEhBVkUoQ0ZORVRXT1JLX05FR09USUFURURfU1NMX1BST1RPQ09MX0NJ
UEhFUikKICNpZiBIQVZFKENGTkVUV09SS19NRVRSSUNTX0FQSVNfVjQpCiBzdGF0aWMgU3RyaW5n
IHN0cmluZ0ZvclRMU1Byb3RvY29sVmVyc2lvbih0bHNfcHJvdG9jb2xfdmVyc2lvbl90IHByb3Rv
Y29sKQogewpAQCAtNDM3LDcgKzQzNiw2IEBAIHN0YXRpYyBTdHJpbmcgc3RyaW5nRm9yU1NMQ2lw
aGVyKFNTTENpcGhlclN1aXRlIGNpcGhlcikKICN1bmRlZiBTVFJJTkdJRllfQ0lQSEVSCiB9CiAj
ZW5kaWYgLy8gSEFWRShDRk5FVFdPUktfTUVUUklDU19BUElTX1Y0KQotI2VuZGlmIC8vIEhBVkUo
Q0ZORVRXT1JLX05FR09USUFURURfU1NMX1BST1RPQ09MX0NJUEhFUikKIAogQGludGVyZmFjZSBX
S05ldHdvcmtTZXNzaW9uRGVsZWdhdGUgOiBOU09iamVjdCA8TlNVUkxTZXNzaW9uRGF0YURlbGVn
YXRlCiAjaWYgSEFWRShOU1VSTFNFU1NJT05fV0VCU09DS0VUKQpAQCAtNzI1LDE0ICs3MjMsMTMg
QEAgLSAodm9pZClVUkxTZXNzaW9uOihOU1VSTFNlc3Npb24gKilzZXNzaW9uIHRhc2s6KE5TVVJM
U2Vzc2lvblRhc2sgKil0YXNrIGRpZFJlY2UKICAgICAgICAgaWYgKE5ldHdvcmtTZXNzaW9uQ29j
b2E6OmFsbG93c1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY2hhbGxlbmdlKSkKICAg
ICAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihOU1VSTFNlc3Npb25BdXRoQ2hhbGxl
bmdlVXNlQ3JlZGVudGlhbCwgW05TVVJMQ3JlZGVudGlhbCBjcmVkZW50aWFsRm9yVHJ1c3Q6Y2hh
bGxlbmdlLnByb3RlY3Rpb25TcGFjZS5zZXJ2ZXJUcnVzdF0pOwogCi0jaWYgSEFWRShUTFNfUFJP
VE9DT0xfVkVSU0lPTl9UKQogICAgICAgICBOU1VSTFNlc3Npb25UYXNrVHJhbnNhY3Rpb25NZXRy
aWNzICptZXRyaWNzID0gdGFzay5faW5jb21wbGV0ZVRhc2tNZXRyaWNzLnRyYW5zYWN0aW9uTWV0
cmljcy5sYXN0T2JqZWN0OwogICAgICAgICBhdXRvIHRsc1ZlcnNpb24gPSAodGxzX3Byb3RvY29s
X3ZlcnNpb25fdCltZXRyaWNzLm5lZ290aWF0ZWRUTFNQcm90b2NvbFZlcnNpb24udW5zaWduZWRT
aG9ydFZhbHVlOwogQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KICAgICAgICAg
aWYgKHRsc1ZlcnNpb24gPT0gdGxzX3Byb3RvY29sX3ZlcnNpb25fVExTdjEwIHx8IHRsc1ZlcnNp
b24gPT0gdGxzX3Byb3RvY29sX3ZlcnNpb25fVExTdjExKQogICAgICAgICAgICAgbmVnb3RpYXRl
ZExlZ2FjeVRMUyA9IE5lZ290aWF0ZWRMZWdhY3lUTFM6OlllczsKIEFMTE9XX0RFUFJFQ0FURURf
REVDTEFSQVRJT05TX0VORAotI2VuZGlmCisKICAgICAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNM
QVJBVElPTlNfQkVHSU4KICAgICAgICAgaWYgKG5lZ290aWF0ZWRMZWdhY3lUTFMgPT0gTmVnb3Rp
YXRlZExlZ2FjeVRMUzo6Tm8gJiYgW3Rhc2sgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihf
VExTTmVnb3RpYXRlZFByb3RvY29sVmVyc2lvbildKSB7CiAgICAgICAgICAgICBTU0xQcm90b2Nv
bCB0bHNWZXJzaW9uID0gW3Rhc2sgX1RMU05lZ290aWF0ZWRQcm90b2NvbFZlcnNpb25dOwpAQCAt
ODQ5LDEyICs4NDYsMTAgQEAgLSAodm9pZClVUkxTZXNzaW9uOihOU1VSTFNlc3Npb24gKilzZXNz
aW9uIHRhc2s6KE5TVVJMU2Vzc2lvblRhc2sgKil0YXNrIGRpZEZpbmkKICAgICAgICAgbmV0d29y
a0xvYWRNZXRyaWNzLm1hcmtDb21wbGV0ZSgpOwogICAgICAgICBuZXR3b3JrTG9hZE1ldHJpY3Mu
cmVkaXJlY3RDb3VudCA9IG1ldHJpY3MucmVkaXJlY3RDb3VudDsKICAgICAgICAgbmV0d29ya0xv
YWRNZXRyaWNzLnByb3RvY29sID0gU3RyaW5nKG0ubmV0d29ya1Byb3RvY29sTmFtZSk7Ci0jaWYg
SEFWRShDRk5FVFdPUktfTUVUUklDU19DT05ORUNUSU9OX1BST1BFUlRJRVMpCiAgICAgICAgIG5l
dHdvcmtMb2FkTWV0cmljcy5jZWxsdWxhciA9IG0uY2VsbHVsYXI7CiAgICAgICAgIG5ldHdvcmtM
b2FkTWV0cmljcy5leHBlbnNpdmUgPSBtLmV4cGVuc2l2ZTsKICAgICAgICAgbmV0d29ya0xvYWRN
ZXRyaWNzLmNvbnN0cmFpbmVkID0gbS5jb25zdHJhaW5lZDsKICAgICAgICAgbmV0d29ya0xvYWRN
ZXRyaWNzLm11bHRpcGF0aCA9IG0ubXVsdGlwYXRoOwotI2VuZGlmCiAgICAgICAgIG5ldHdvcmtM
b2FkTWV0cmljcy5pc1JldXNlZENvbm5lY3Rpb24gPSBtLmlzUmV1c2VkQ29ubmVjdGlvbjsKIAog
I2lmIEhBVkUoTkVUV09SS19DT05ORUNUSU9OX1BSSVZBQ1lfU1RBTkNFKQpAQCAtODc3LDcgKzg3
Miw2IEBAIC0gKHZvaWQpVVJMU2Vzc2lvbjooTlNVUkxTZXNzaW9uICopc2Vzc2lvbiB0YXNrOihO
U1VSTFNlc3Npb25UYXNrICopdGFzayBkaWRGaW5pCiAjZW5kaWYKICAgICAgICAgICAgIGFkZGl0
aW9uYWxNZXRyaWNzLT5jb25uZWN0aW9uSWRlbnRpZmllciA9IFN0cmluZyhbbS5fY29ubmVjdGlv
bklkZW50aWZpZXIgVVVJRFN0cmluZ10pOwogCi0jaWYgSEFWRShDRk5FVFdPUktfTkVHT1RJQVRF
RF9TU0xfUFJPVE9DT0xfQ0lQSEVSKQogI2lmIEhBVkUoQ0ZORVRXT1JLX01FVFJJQ1NfQVBJU19W
NCkKICAgICAgICAgICAgIGFkZGl0aW9uYWxNZXRyaWNzLT50bHNQcm90b2NvbCA9IHN0cmluZ0Zv
clRMU1Byb3RvY29sVmVyc2lvbigodGxzX3Byb3RvY29sX3ZlcnNpb25fdClbbS5uZWdvdGlhdGVk
VExTUHJvdG9jb2xWZXJzaW9uIHVuc2lnbmVkU2hvcnRWYWx1ZV0pOwogICAgICAgICAgICAgYWRk
aXRpb25hbE1ldHJpY3MtPnRsc0NpcGhlciA9IHN0cmluZ0ZvclRMU0NpcGhlclN1aXRlKCh0bHNf
Y2lwaGVyc3VpdGVfdClbbS5uZWdvdGlhdGVkVExTQ2lwaGVyU3VpdGUgdW5zaWduZWRTaG9ydFZh
bHVlXSk7CkBAIC04ODYsNyArODgwLDYgQEAgLSAodm9pZClVUkxTZXNzaW9uOihOU1VSTFNlc3Np
b24gKilzZXNzaW9uIHRhc2s6KE5TVVJMU2Vzc2lvblRhc2sgKil0YXNrIGRpZEZpbmkKICAgICAg
ICAgICAgIGFkZGl0aW9uYWxNZXRyaWNzLT50bHNQcm90b2NvbCA9IHN0cmluZ0ZvclNTTFByb3Rv
Y29sKG0uX25lZ290aWF0ZWRUTFNQcm90b2NvbCk7CiAgICAgICAgICAgICBhZGRpdGlvbmFsTWV0
cmljcy0+dGxzQ2lwaGVyID0gc3RyaW5nRm9yU1NMQ2lwaGVyKG0uX25lZ290aWF0ZWRUTFNDaXBo
ZXIpOwogICAgICAgICAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECi0jZW5k
aWYKICNlbmRpZgogCiAgICAgICAgICAgICBfX2Jsb2NrIFdlYkNvcmU6OkhUVFBIZWFkZXJNYXAg
cmVxdWVzdEhlYWRlcnM7CkBAIC05NDAsMjIgKzkzMywxMyBAQCAtICh2b2lkKVVSTFNlc3Npb246
KE5TVVJMU2Vzc2lvbiAqKXNlc3Npb24gZGF0YVRhc2s6KE5TVVJMU2Vzc2lvbkRhdGFUYXNrICop
ZGF0YQogCiAgICAgICAgIE5lZ290aWF0ZWRMZWdhY3lUTFMgbmVnb3RpYXRlZExlZ2FjeVRMUyA9
IE5lZ290aWF0ZWRMZWdhY3lUTFM6Ok5vOwogICAgICAgICBOU1VSTFNlc3Npb25UYXNrTWV0cmlj
cyAqdGFza01ldHJpY3MgPSBkYXRhVGFzay5faW5jb21wbGV0ZVRhc2tNZXRyaWNzOwotI2lmIEhB
VkUoVExTX1BST1RPQ09MX1ZFUlNJT05fVCkKKwogICAgICAgICBOU1VSTFNlc3Npb25UYXNrVHJh
bnNhY3Rpb25NZXRyaWNzICptZXRyaWNzID0gdGFza01ldHJpY3MudHJhbnNhY3Rpb25NZXRyaWNz
Lmxhc3RPYmplY3Q7CiAgICAgICAgIGF1dG8gdGxzVmVyc2lvbiA9ICh0bHNfcHJvdG9jb2xfdmVy
c2lvbl90KW1ldHJpY3MubmVnb3RpYXRlZFRMU1Byb3RvY29sVmVyc2lvbi51bnNpZ25lZFNob3J0
VmFsdWU7CiBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgogICAgICAgICBpZiAo
dGxzVmVyc2lvbiA9PSB0bHNfcHJvdG9jb2xfdmVyc2lvbl9UTFN2MTAgfHwgdGxzVmVyc2lvbiA9
PSB0bHNfcHJvdG9jb2xfdmVyc2lvbl9UTFN2MTEpCiAgICAgICAgICAgICBuZWdvdGlhdGVkTGVn
YWN5VExTID0gTmVnb3RpYXRlZExlZ2FjeVRMUzo6WWVzOwogQUxMT1dfREVQUkVDQVRFRF9ERUNM
QVJBVElPTlNfRU5ECi0jZWxzZSAvLyBXZSBkbyBub3QgbmVlZCB0byBjaGVjayBfVExTTmVnb3Rp
YXRlZFByb3RvY29sVmVyc2lvbiBpZiB3ZSBoYXZlIG1ldHJpY3MubmVnb3RpYXRlZFRMU1Byb3Rv
Y29sVmVyc2lvbiBiZWNhdXNlIGl0IHdvcmtzIGF0IHJlc3BvbnNlIHRpbWUgZXZlbiBiZWZvcmUg
cmRhcjovL3Byb2JsZW0vNTY1MjI2MDEKLSAgICAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJB
VElPTlNfQkVHSU4KLSAgICAgICAgaWYgKFtkYXRhVGFzayByZXNwb25kc1RvU2VsZWN0b3I6QHNl
bGVjdG9yKF9UTFNOZWdvdGlhdGVkUHJvdG9jb2xWZXJzaW9uKV0pIHsKLSAgICAgICAgICAgIFNT
TFByb3RvY29sIHRsc1ZlcnNpb24gPSBbZGF0YVRhc2sgX1RMU05lZ290aWF0ZWRQcm90b2NvbFZl
cnNpb25dOwotICAgICAgICAgICAgaWYgKHRsc1ZlcnNpb24gPT0ga1RMU1Byb3RvY29sMTEgfHwg
dGxzVmVyc2lvbiA9PSBrVExTUHJvdG9jb2wxKQotICAgICAgICAgICAgICAgIG5lZ290aWF0ZWRM
ZWdhY3lUTFMgPSBOZWdvdGlhdGVkTGVnYWN5VExTOjpZZXM7Ci0gICAgICAgIH0KLSAgICAgICAg
QUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECi0jZW5kaWYKICAgICAgICAgCiAgICAg
ICAgIC8vIEF2b2lkIE1JTUUgdHlwZSBzbmlmZmluZyBpZiB0aGUgcmVzcG9uc2UgY29tZXMgYmFj
ayBhcyAzMDQgTm90IE1vZGlmaWVkLgogICAgICAgICBpbnQgc3RhdHVzQ29kZSA9IFtyZXNwb25z
ZSBpc0tpbmRPZkNsYXNzOk5TSFRUUFVSTFJlc3BvbnNlLmNsYXNzXSA/IFsoTlNIVFRQVVJMUmVz
cG9uc2UgKilyZXNwb25zZSBzdGF0dXNDb2RlXSA6IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNi
LmluIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5O
ZXR3b3JrUHJvY2Vzcy5zYi5pbgppbmRleCA5MDM5YmM4NzAxY2VhMmFhMWQwOTgwOTNjYzVjZDEz
YWNiOWNmNzA0Li4xNzQ0MWM3M2Y0ZTUyZTQ3MmEyNWRhY2JjMThkMTcwMTA4ZDQ4Yjg5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0
Lk5ldHdvcmtQcm9jZXNzLnNiLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
bWFjL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IuaW4KQEAgLTM4LDcgKzM4LDcg
QEAKIAogI2luY2x1ZGUgIlNoYXJlZC9TYW5kYm94L3ByZWZlcmVuY2VzLnNiIgogCi0jaWYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAKKyNpZiBQTEFURk9STShNQUMp
CiA7OzsKIDs7OyBUaGUgZm9sbG93aW5nIHJ1bGVzIHdlcmUgb3JpZ2luYWxseSBjb250YWluZWQg
aW4gJ2NvbW1vbi5zYicuIFdlIGFyZSBkdXBsaWNhdGluZyB0aGVtIGhlcmUgc28gd2UgY2FuCiA7
OzsgcmVtb3ZlIHVubmVlZGVkIHNhbmRib3ggZXh0ZW5zaW9ucy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vc3BpL21hYy9BcHBLaXRTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vc3BpL21hYy9BcHBLaXRTUEkuaAppbmRleCBjYTFiYTZjZDY2YTlhZjEwNDM5NGI5ZGRk
NzEyOGRmODJiMTAzZmZlLi5iMmIyYTY5ODM4OTAzMDkyYzhmYjhkZmI2ODExM2IwMmY0NDk5NzZk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9tYWMvQXBwS2l0U1BJLmgK
KysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvbWFjL0FwcEtpdFNQSS5oCkBAIC02MCwx
MCArNjAsNyBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgTlNXaW5kb3dTaGFkb3dP
cHRpb25zKSB7CiAtICh2b2lkKXNldEluc3BlY3RvckJhcjooTlNJbnNwZWN0b3JCYXIgKiliYXI7
CiAKIEBwcm9wZXJ0eSAocmVhZG9ubHkpIE5TV2luZG93U2hhZG93T3B0aW9ucyBzaGFkb3dPcHRp
b25zOwotCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTQwMAogQHBy
b3BlcnR5IENHRmxvYXQgdGl0bGViYXJBbHBoYVZhbHVlOwotI2VuZGlmCiAKICNpZiBIQVZFKE5T
U0NST0xMVklFV19TRVBBUkFUT1JfVFJBQ0tJTkdfQURBUFRFUikKIC0gKEJPT0wpcmVnaXN0ZXJT
Y3JvbGxWaWV3U2VwYXJhdG9yVHJhY2tpbmdBZGFwdGVyOihOU09iamVjdDxOU1Njcm9sbFZpZXdT
ZXBhcmF0b3JUcmFja2luZ0FkYXB0ZXI+ICopYWRhcHRlcjsKQEAgLTgyLDEyICs3OSw2IEBAIHR5
cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBOU1dpbmRvd1NoYWRvd09wdGlvbnMpIHsKIC0g
KHZvaWQpX3VwZGF0ZTsKIEBlbmQKIAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dF
RCA8IDEwMTQwMAotQGludGVyZmFjZSBOU1dpbmRvdyAoSVBJKQotQHByb3BlcnR5IENHRmxvYXQg
dGl0bGViYXJBbHBoYVZhbHVlOwotQGVuZAotI2VuZGlmCi0KIC8vIEZJWE1FOiBNb3ZlIHRoaXMg
YWJvdmUgb25jZSA8cmRhcjovL3Byb2JsZW0vNzAyMjQ5ODA+IGlzIGluIGFuIFNESy4KIEBpbnRl
cmZhY2UgTlNDdXJzb3IgKCkKICsgKHZvaWQpaGlkZVVudGlsQ2hhbmdlZDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvUGx1Z2luUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5wbHVnaW4t
Y29tbW9uLnNiLmluIGIvU291cmNlL1dlYktpdC9QbHVnaW5Qcm9jZXNzL21hYy9jb20uYXBwbGUu
V2ViS2l0LnBsdWdpbi1jb21tb24uc2IuaW4KaW5kZXggMTBkZGUyNzY2MDJmN2Q0NWNkNjU2NTk1
ZmUxYjgwYTRhYzU5NjRhZS4uYzIwMTVlYWYwNWY3MDJkODdkN2EwNWU0YzU3NTgyMmU5MGM3MWZm
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbHVnaW5Qcm9jZXNzL21hYy9jb20uYXBwbGUu
V2ViS2l0LnBsdWdpbi1jb21tb24uc2IuaW4KKysrIGIvU291cmNlL1dlYktpdC9QbHVnaW5Qcm9j
ZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LnBsdWdpbi1jb21tb24uc2IuaW4KQEAgLTE2OCw3ICsx
NjgsNyBAQAogICAgICh4cGMtc2VydmljZS1uYW1lICJjb20uYXBwbGUuaGlzZXJ2aWNlcy14cGNz
ZXJ2aWNlIikKICkKIAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAx
NDAwCisjaWYgUExBVEZPUk0oTUFDKQogOzsgPHJkYXI6Ly9wcm9ibGVtLzQ3MjY4MTY2PgogKGFs
bG93IG1hY2gtbG9va3VwICh4cGMtc2VydmljZS1uYW1lICJjb20uYXBwbGUuTVRMQ29tcGlsZXJT
ZXJ2aWNlIikpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxl
UGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29h
Lm1tCmluZGV4IDg5ZjE5YjE5OTM1NWZiMDVlZjUzNGEzMzIyMTMwMDMzOWJhZTE1ZjguLmU1YTAx
ZDkxOWU3MWM1YTk2ZDkwMjA3NTI5MDJhY2JhZmQ4YzZhNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29j
b2EubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQpAQCAtMjg0LDExICsyODQsOSBAQCBSZXRhaW5QdHI8
UEtQYXltZW50UmVxdWVzdD4gV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtUGF5
bWVudFJlcXVlc3QoYwogCiAgICAgW3Jlc3VsdCBzZXRTdXBwb3J0ZWRDb3VudHJpZXM6dG9OU1Nl
dChwYXltZW50UmVxdWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMoKSkuZ2V0KCldOwogCi0jaWYgSEFW
RShQQVNTS0lUX0JPVU5EX0lOVEVSRkFDRV9JREVOVElGSUVSKQogICAgIGF1dG8mIGJvdW5kSW50
ZXJmYWNlSWRlbnRpZmllciA9IG1fY2xpZW50LnBheW1lbnRDb29yZGluYXRvckJvdW5kSW50ZXJm
YWNlSWRlbnRpZmllcigqdGhpcyk7CiAgICAgaWYgKCFib3VuZEludGVyZmFjZUlkZW50aWZpZXIu
aXNFbXB0eSgpKQogICAgICAgICBbcmVzdWx0IHNldEJvdW5kSW50ZXJmYWNlSWRlbnRpZmllcjpi
b3VuZEludGVyZmFjZUlkZW50aWZpZXJdOwotI2VuZGlmCiAKICAgICAvLyBGSVhNRTogSW5zdGVh
ZCBvZiB1c2luZyByZXNwb25kc1RvU2VsZWN0b3IsIHRoaXMgc2hvdWxkIHVzZSBhIHByb3BlciAj
aWYgdmVyc2lvbiBjaGVjay4KICAgICBhdXRvJiBidW5kbGVJZGVudGlmaWVyID0gbV9jbGllbnQu
cGF5bWVudENvb3JkaW5hdG9yU291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKCp0aGlz
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJz
Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29h
Lm1tCmluZGV4IGJhNDk5MDkxMmJiNDQwMmM0NGI1NjBkMzQ1NWY5MTRhODgzMTRkNWEuLjIxMjUz
OTkyNjRhYjFmYzBhMzZjNWMzNjA1NDE3ZGJkMzYzM2M4ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW0KKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbQpAQCAtNjYsMTQgKzY2LDYg
QEAgQGltcGxlbWVudGF0aW9uIFdLU2VjdXJlQ29kaW5nQXJjaGl2aW5nRGVsZWdhdGUKIAogLSAo
bnVsbGFibGUgaWQpYXJjaGl2ZXI6KE5TS2V5ZWRBcmNoaXZlciAqKWFyY2hpdmVyIHdpbGxFbmNv
ZGVPYmplY3Q6KGlkKW9iamVjdAogewotI2lmIEhBVkUoTlNGT05UX1dJVEhfT1BUSUNBTF9TSVpJ
TkdfQlVHKQotICAgIGlmIChhdXRvIGZvbnQgPSBkeW5hbWljX29iamNfY2FzdDxOU0ZvbnQ+KG9i
amVjdCkpIHsKLSAgICAgICAgLy8gUmVjcmVhdGUgYW55IHNlcmlhbGl6ZWQgZm9udHMgYWZ0ZXIg
bm9ybWFsaXppbmcgdGhlCi0gICAgICAgIC8vIGZvbnQgYXR0cmlidXRlcyB0byB3b3JrIGFyb3Vu
ZCA8cmRhcjovL3Byb2JsZW0vNTE2NTc4ODA+LgotICAgICAgICByZXR1cm4gV2ViS2l0Ojpmb250
V2l0aEF0dHJpYnV0ZXMoZm9udC5mb250RGVzY3JpcHRvci5mb250QXR0cmlidXRlcywgMCk7Ci0g
ICAgfQotI2VuZGlmCi0KICAgICBpZiAoYXV0byB1bndyYXBwZWRVUkwgPSBkeW5hbWljX29iamNf
Y2FzdDxOU1VSTD4ob2JqZWN0KSkKICAgICAgICAgcmV0dXJuIGFkb3B0TlMoW1tXS1NlY3VyZUNv
ZGluZ1VSTFdyYXBwZXIgYWxsb2NdIGluaXRXaXRoVVJMOnVud3JhcHBlZFVSTF0pLmF1dG9yZWxl
YXNlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVUZXh0
SGVscGVycy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVUZXh0SGVscGVycy5t
bQppbmRleCBjYWFhN2NiNjJjNTZmZjhmNzU2MGRhOTZmMWFjYWRiZmRkYTExZDQyLi5hMjUxMGM2
NDM1MDRkODM5NTVkZjk0MmVmNDc3NDczNTFjOWVmYmM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Db2NvYS9Db3JlVGV4dEhlbHBlcnMubW0KKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvQ29jb2EvQ29yZVRleHRIZWxwZXJzLm1tCkBAIC0zNSwyMSArMzUsNyBAQCBDb2NvYUZv
bnQgKmZvbnRXaXRoQXR0cmlidXRlcyhOU0RpY3Rpb25hcnkgKmF0dHJpYnV0ZXMsIENHRmxvYXQg
c2l6ZSkKIHsKICAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlMKIAotI2lmIEhBVkUoTlNG
T05UX1dJVEhfT1BUSUNBTF9TSVpJTkdfQlVHKQotICAgIGF1dG8gbXV0YWJsZURpY3Rpb25hcnkg
PSBhZG9wdE5TKFthdHRyaWJ1dGVzIG11dGFibGVDb3B5XSk7Ci0gICAgaWYgKGlkIG9wdGljYWxT
aXplQXR0cmlidXRlID0gW211dGFibGVEaWN0aW9uYXJ5IG9iamVjdEZvcktleTooX19icmlkZ2Ug
TlNTdHJpbmcgKilrQ1RGb250T3B0aWNhbFNpemVBdHRyaWJ1dGVdKSB7Ci0gICAgICAgIGlmIChb
b3B0aWNhbFNpemVBdHRyaWJ1dGUgaXNLaW5kT2ZDbGFzczpbTlNTdHJpbmcgY2xhc3NdXSkgewot
ICAgICAgICAgICAgW211dGFibGVEaWN0aW9uYXJ5IHJlbW92ZU9iamVjdEZvcktleTooX19icmlk
Z2UgTlNTdHJpbmcgKilrQ1RGb250T3B0aWNhbFNpemVBdHRyaWJ1dGVdOwotICAgICAgICAgICAg
aWYgKE5TTnVtYmVyICpzaXplID0gW211dGFibGVEaWN0aW9uYXJ5IG9iamVjdEZvcktleTooX19i
cmlkZ2UgTlNTdHJpbmcgKilrQ1RGb250U2l6ZUF0dHJpYnV0ZV0pCi0gICAgICAgICAgICAgICAg
W211dGFibGVEaWN0aW9uYXJ5IHNldE9iamVjdDpzaXplIGZvcktleTooX19icmlkZ2UgTlNTdHJp
bmcgKilrQ1RGb250T3B0aWNhbFNpemVBdHRyaWJ1dGVdOwotICAgICAgICB9Ci0gICAgfQotCi0g
ICAgYXV0byBkZXNjcmlwdG9yID0gW0NvY29hRm9udERlc2NyaXB0b3IgZm9udERlc2NyaXB0b3JX
aXRoRm9udEF0dHJpYnV0ZXM6bXV0YWJsZURpY3Rpb25hcnkuZ2V0KCldOwotI2Vsc2UKICAgICBh
dXRvIGRlc2NyaXB0b3IgPSBbQ29jb2FGb250RGVzY3JpcHRvciBmb250RGVzY3JpcHRvcldpdGhG
b250QXR0cmlidXRlczphdHRyaWJ1dGVzXTsKLSNlbmRpZgotCiAgICAgcmV0dXJuIFtDb2NvYUZv
bnQgZm9udFdpdGhEZXNjcmlwdG9yOmRlc2NyaXB0b3Igc2l6ZTpzaXplXTsKIAogICAgIEVORF9C
TE9DS19PQkpDX0VYQ0VQVElPTlMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9DL1dLUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2Uu
Y3BwCmluZGV4IGMwZDY5MDQ1ZjhiNjc0NmRmMTBlNzFmOWI0MzViOGI5MjZmNjk5MWYuLjcwMWYx
YTI5MDg4ZDg0MjAxNjBjNzNlMGNkOWVmZDMyZGNjNmYyM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlLmNwcApAQCAtMTE1MSw3ICsxMTUxLDYgQEAgdm9pZCBXS1BhZ2VT
ZXRQYWdlTG9hZGVyQ2xpZW50KFdLUGFnZVJlZiBwYWdlUmVmLCBjb25zdCBXS1BhZ2VMb2FkZXJD
bGllbnRCYXNlKgogICAgICAgICB7CiAgICAgICAgICAgICBpbml0aWFsaXplKGNsaWVudCk7CiAg
ICAgICAgICAgICAKLSNpZiAhUExBVEZPUk0oTUFDKSB8fCBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID4gMTAxNDAwCiAgICAgICAgICAgICAvLyBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xp
ZW50IGlzIGRlcHJlY2F0ZWQuIFVzZSBXS1BhZ2VTZXRQYWdlTmF2aWdhdGlvbkNsaWVudCBpbnN0
ZWFkLgogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIW1fY2xpZW50LmRpZEZpbmlzaERvY3Vt
ZW50TG9hZEZvckZyYW1lKTsKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFtX2NsaWVudC5k
aWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWUpOwpAQCAtMTE4NCw3ICsxMTgzLDYgQEAg
dm9pZCBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KFdLUGFnZVJlZiBwYWdlUmVmLCBjb25zdCBX
S1BhZ2VMb2FkZXJDbGllbnRCYXNlKgogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIW1fY2xp
ZW50Lm5hdmlnYXRpb25HZXN0dXJlRGlkQmVnaW4pOwogICAgICAgICAgICAgUkVMRUFTRV9BU1NF
UlQoIW1fY2xpZW50Lm5hdmlnYXRpb25HZXN0dXJlV2lsbEVuZCk7CiAgICAgICAgICAgICBSRUxF
QVNFX0FTU0VSVCghbV9jbGllbnQubmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQpOwotI2VuZGlmCiAg
ICAgICAgIH0KIAogICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCmluZGV4
IDI2ZGQ1NjI2MTQyYjI4NTM4YmMxNDc2N2Y3YTUyZGUxYTY2OWE2NmEuLjI2ZTljZDVhMjQxYjIw
NzNhYjYxYjYxNmYzNGIxZDM0ZTE5ODhmM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1t
CkBAIC0yMDcsMTEgKzIwNyw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8TlNBcnJheT4gZ2V0QWxsTG9j
YWxBdXRoZW50aWNhdG9yQ3JlZGVudGlhbHNJbXBsKE5TU3RyaW5nICphY2NlCiAgICAgICAgIChf
X2JyaWRnZSBpZClrU2VjQXR0ckFjY2Vzc0dyb3VwOiBhY2Nlc3NHcm91cCwKICAgICAgICAgKF9f
YnJpZGdlIGlkKWtTZWNSZXR1cm5BdHRyaWJ1dGVzOiBAWUVTLAogICAgICAgICAoX19icmlkZ2Ug
aWQpa1NlY01hdGNoTGltaXQ6IChfX2JyaWRnZSBpZClrU2VjTWF0Y2hMaW1pdEFsbCwKLSNpZiBI
QVZFKERBVEFfUFJPVEVDVElPTl9LRVlDSEFJTikKICAgICAgICAgKF9fYnJpZGdlIGlkKWtTZWNV
c2VEYXRhUHJvdGVjdGlvbktleWNoYWluOiBAWUVTCi0jZWxzZQotICAgICAgICAoX19icmlkZ2Ug
aWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwotI2VuZGlmCiAgICAgfTsKICAgICBDRlR5cGVSZWYg
YXR0cmlidXRlc0FycmF5UmVmID0gbnVsbHB0cjsKICAgICBPU1N0YXR1cyBzdGF0dXMgPSBTZWNJ
dGVtQ29weU1hdGNoaW5nKChfX2JyaWRnZSBDRkRpY3Rpb25hcnlSZWYpcXVlcnksICZhdHRyaWJ1
dGVzQXJyYXlSZWYpOwpAQCAtMjcwLDExICsyNjYsNyBAQCArICh2b2lkKWRlbGV0ZUxvY2FsQXV0
aGVudGljYXRvckNyZWRlbnRpYWxXaXRoSUQ6KE5TRGF0YSAqKWNyZWRlbnRpYWxJRAogICAgIE5T
RGljdGlvbmFyeSogZGVsZXRlUXVlcnkgPSBAewogICAgICAgICAoX19icmlkZ2UgaWQpa1NlY0Ns
YXNzOiAoX19icmlkZ2UgaWQpa1NlY0NsYXNzS2V5LAogICAgICAgICAoX19icmlkZ2UgaWQpa1Nl
Y0F0dHJBcHBsaWNhdGlvbkxhYmVsOiBjcmVkZW50aWFsSUQsCi0jaWYgSEFWRShEQVRBX1BST1RF
Q1RJT05fS0VZQ0hBSU4pCiAgICAgICAgIChfX2JyaWRnZSBpZClrU2VjVXNlRGF0YVByb3RlY3Rp
b25LZXljaGFpbjogQFlFUwotI2Vsc2UKLSAgICAgICAgKF9fYnJpZGdlIGlkKWtTZWNBdHRyTm9M
ZWdhY3k6IEBZRVMKLSNlbmRpZgogICAgIH07CiAgICAgU2VjSXRlbURlbGV0ZSgoX19icmlkZ2Ug
Q0ZEaWN0aW9uYXJ5UmVmKWRlbGV0ZVF1ZXJ5KTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQppbmRleCAyYWI1MGRkNzZm
ZDNhZTNjZjMxZjZmODJlYmRmNWI3YTI3MWJlZGM1Li5jNzI3YzIwZGFjNjY0ZDhkNTA1Njc1YWI2
ZmZiNTI1ZTM1ZjVlMmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQYWdlUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQYWdlUHJveHlDb2NvYS5tbQpAQCAtNjM0LDExICs2MzQsNyBAQCBWZWN0b3I8U2FuZGJv
eEV4dGVuc2lvbjo6SGFuZGxlPiBXZWJQYWdlUHJveHk6OmNyZWF0ZU5ldHdvcmtFeHRlbnNpb25z
U2FuZGJveEV4dAogICAgIGlmICghcHJvY2Vzcy5oYXNOZXR3b3JrRXh0ZW5zaW9uU2FuZGJveEFj
Y2VzcygpICYmIE5ldHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyOjppc1JlcXVpcmVkKCkpIHsK
ICAgICAgICAgcHJvY2Vzcy5tYXJrSGFzTmV0d29ya0V4dGVuc2lvblNhbmRib3hBY2Nlc3MoKTsK
ICAgICAgICAgY29uc3RleHByIEFTQ0lJTGl0ZXJhbCBuZUhlbHBlclNlcnZpY2UgeyAiY29tLmFw
cGxlLm5laGVscGVyIl9zIH07Ci0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwCi0gICAgICAgIGNvbnN0ZXhwciBBU0NJSUxpdGVyYWwg
bmVTZXNzaW9uTWFuYWdlclNlcnZpY2UgeyAiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIiX3Mg
fTsKLSNlbHNlCiAgICAgICAgIGNvbnN0ZXhwciBBU0NJSUxpdGVyYWwgbmVTZXNzaW9uTWFuYWdl
clNlcnZpY2UgeyAiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIuY29udGVudC1maWx0ZXIiX3Mg
fTsKLSNlbmRpZgogICAgICAgICByZXR1cm4gU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxl
c0Zvck1hY2hMb29rdXAoeyBuZUhlbHBlclNlcnZpY2UsIG5lU2Vzc2lvbk1hbmFnZXJTZXJ2aWNl
IH0sIHN0ZDo6bnVsbG9wdCk7CiAgICAgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9Mb2NhbEF1dGhlbnRpY2F0b3Iu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9Mb2Nh
bEF1dGhlbnRpY2F0b3IubW0KaW5kZXggY2MxZGIxYWNkMzE1YjlhMjhjNmI1NzYxMDAyNWU0YjM1
YjBlZTdiMi4uZWQyZGVmODlhODk4MmE2ZWNhYWUzZmEwYTc1MzE4OTg2NWVhNjcwYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvTG9j
YWxBdXRoZW50aWNhdG9yLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhl
bnRpY2F0aW9uL0NvY29hL0xvY2FsQXV0aGVudGljYXRvci5tbQpAQCAtMTI3LDExICsxMjcsNyBA
QCBzdGF0aWMgc3RkOjpvcHRpb25hbDxWZWN0b3I8UmVmPEF1dGhlbnRpY2F0b3JBc3NlcnRpb25S
ZXNwb25zZT4+PiBnZXRFeGlzdGluZ0NyZQogICAgICAgICAoaWQpa1NlY0F0dHJMYWJlbDogcnBJ
ZCwKICAgICAgICAgKGlkKWtTZWNSZXR1cm5BdHRyaWJ1dGVzOiBAWUVTLAogICAgICAgICAoaWQp
a1NlY01hdGNoTGltaXQ6IChpZClrU2VjTWF0Y2hMaW1pdEFsbCwKLSNpZiBIQVZFKERBVEFfUFJP
VEVDVElPTl9LRVlDSEFJTikKICAgICAgICAgKGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktleWNo
YWluOiBAWUVTCi0jZWxzZQotICAgICAgICAoaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwotI2Vu
ZGlmCiAgICAgfV07CiAgICAgdXBkYXRlUXVlcnlJZk5lY2Vzc2FyeShxdWVyeS5nZXQoKSk7CiAK
QEAgLTE4MiwxMSArMTc4LDcgQEAgdm9pZCBMb2NhbEF1dGhlbnRpY2F0b3I6OmNsZWFyQWxsQ3Jl
ZGVudGlhbHMoKQogICAgIFtxdWVyeSBzZXREaWN0aW9uYXJ5OkB7CiAgICAgICAgIChpZClrU2Vj
Q2xhc3M6IChpZClrU2VjQ2xhc3NLZXksCiAgICAgICAgIChpZClrU2VjQXR0ckFjY2Vzc0dyb3Vw
OiAoaWQpU3RyaW5nKExvY2FsQXV0aGVudGljYXRpb3JBY2Nlc3NHcm91cCksCi0jaWYgSEFWRShE
QVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4pCiAgICAgICAgIChpZClrU2VjVXNlRGF0YVByb3RlY3Rp
b25LZXljaGFpbjogQFlFUwotI2Vsc2UKLSAgICAgICAgKGlkKWtTZWNBdHRyTm9MZWdhY3k6IEBZ
RVMKLSNlbmRpZgogICAgIH1dOwogICAgIHVwZGF0ZVF1ZXJ5SWZOZWNlc3NhcnkocXVlcnkuZ2V0
KCkpOwogCkBAIC0zOTQsMTEgKzM4Niw3IEBAIHZvaWQgTG9jYWxBdXRoZW50aWNhdG9yOjpjb250
aW51ZU1ha2VDcmVkZW50aWFsQWZ0ZXJVc2VyVmVyaWZpY2F0aW9uKFNlY0FjY2Vzc0NvCiAgICAg
ICAgICAgICAoaWQpa1NlY0F0dHJLZXlDbGFzczogKGlkKWtTZWNBdHRyS2V5Q2xhc3NQcml2YXRl
LAogICAgICAgICAgICAgKGlkKWtTZWNBdHRyTGFiZWw6IHNlY0F0dHJMYWJlbCwKICAgICAgICAg
ICAgIChpZClrU2VjQXR0ckFwcGxpY2F0aW9uTGFiZWw6IG1fcHJvdmlzaW9uYWxDcmVkZW50aWFs
SWQuZ2V0KCksCi0jaWYgSEFWRShEQVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4pCiAgICAgICAgICAg
ICAoaWQpa1NlY1VzZURhdGFQcm90ZWN0aW9uS2V5Y2hhaW46IEBZRVMKLSNlbHNlCi0gICAgICAg
ICAgICAoaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwotI2VuZGlmCiAgICAgICAgIH1dOwogICAg
ICAgICB1cGRhdGVRdWVyeUlmTmVjZXNzYXJ5KHF1ZXJ5LmdldCgpKTsKIApAQCAtNTk5LDExICs1
ODcsNyBAQCB2b2lkIExvY2FsQXV0aGVudGljYXRvcjo6Y29udGludWVHZXRBc3NlcnRpb25BZnRl
clVzZXJWZXJpZmljYXRpb24oUmVmPFdlYkNvcmU6OgogICAgICAgICAgICAgKGlkKWtTZWNBdHRy
S2V5Q2xhc3M6IChpZClrU2VjQXR0cktleUNsYXNzUHJpdmF0ZSwKICAgICAgICAgICAgIChpZClr
U2VjQXR0ckFwcGxpY2F0aW9uTGFiZWw6IG5zQ3JlZGVudGlhbElkLmdldCgpLAogICAgICAgICAg
ICAgKGlkKWtTZWNSZXR1cm5SZWY6IEBZRVMsCi0jaWYgSEFWRShEQVRBX1BST1RFQ1RJT05fS0VZ
Q0hBSU4pCiAgICAgICAgICAgICAoaWQpa1NlY1VzZURhdGFQcm90ZWN0aW9uS2V5Y2hhaW46IEBZ
RVMKLSNlbHNlCi0gICAgICAgICAgICAoaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwotI2VuZGlm
CiAgICAgICAgIH0gbXV0YWJsZUNvcHldOwogCiAgICAgICAgIGlmIChjb250ZXh0KQpAQCAtNjQw
LDExICs2MjQsNyBAQCB2b2lkIExvY2FsQXV0aGVudGljYXRvcjo6Y29udGludWVHZXRBc3NlcnRp
b25BZnRlclVzZXJWZXJpZmljYXRpb24oUmVmPFdlYkNvcmU6OgogICAgICAgICAoaWQpa1NlY0Ns
YXNzOiAoaWQpa1NlY0NsYXNzS2V5LAogICAgICAgICAoaWQpa1NlY0F0dHJLZXlDbGFzczogKGlk
KWtTZWNBdHRyS2V5Q2xhc3NQcml2YXRlLAogICAgICAgICAoaWQpa1NlY0F0dHJBcHBsaWNhdGlv
bkxhYmVsOiBuc0NyZWRlbnRpYWxJZC5nZXQoKSwKLSNpZiBIQVZFKERBVEFfUFJPVEVDVElPTl9L
RVlDSEFJTikKICAgICAgICAgKGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktleWNoYWluOiBAWUVT
Ci0jZWxzZQotICAgICAgICAoaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwotI2VuZGlmCiAgICAg
fV07CiAgICAgdXBkYXRlUXVlcnlJZk5lY2Vzc2FyeShxdWVyeS5nZXQoKSk7CiAKQEAgLTY3MSwx
MSArNjUxLDcgQEAgdm9pZCBMb2NhbEF1dGhlbnRpY2F0b3I6OnJlY2VpdmVFeGNlcHRpb24oRXhj
ZXB0aW9uRGF0YSYmIGV4Y2VwdGlvbiwgV2ViQXV0aGVudGkKICAgICAgICAgW3F1ZXJ5IHNldERp
Y3Rpb25hcnk6QHsKICAgICAgICAgICAgIChpZClrU2VjQ2xhc3M6IChpZClrU2VjQ2xhc3NLZXks
CiAgICAgICAgICAgICAoaWQpa1NlY0F0dHJBcHBsaWNhdGlvbkxhYmVsOiBtX3Byb3Zpc2lvbmFs
Q3JlZGVudGlhbElkLmdldCgpLAotI2lmIEhBVkUoREFUQV9QUk9URUNUSU9OX0tFWUNIQUlOKQog
ICAgICAgICAgICAgKGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktleWNoYWluOiBAWUVTCi0jZWxz
ZQotICAgICAgICAgICAgKGlkKWtTZWNBdHRyTm9MZWdhY3k6IEBZRVMKLSNlbmRpZgogICAgICAg
ICB9XTsKICAgICAgICAgdXBkYXRlUXVlcnlJZk5lY2Vzc2FyeShxdWVyeS5nZXQoKSk7CiAKQEAg
LTcwOCwxMSArNjg0LDcgQEAgdm9pZCBMb2NhbEF1dGhlbnRpY2F0b3I6OmRlbGV0ZUR1cGxpY2F0
ZUNyZWRlbnRpYWwoKSBjb25zdAogICAgICAgICBbcXVlcnkgc2V0RGljdGlvbmFyeTpAewogICAg
ICAgICAgICAgKGlkKWtTZWNDbGFzczogKGlkKWtTZWNDbGFzc0tleSwKICAgICAgICAgICAgIChp
ZClrU2VjQXR0ckFwcGxpY2F0aW9uTGFiZWw6IHRvTlNEYXRhKGNyZWRlbnRpYWwtPnJhd0lkKCkp
LmdldCgpLAotI2lmIEhBVkUoREFUQV9QUk9URUNUSU9OX0tFWUNIQUlOKQogICAgICAgICAgICAg
KGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktleWNoYWluOiBAWUVTCi0jZWxzZQotICAgICAgICAg
ICAgKGlkKWtTZWNBdHRyTm9MZWdhY3k6IEBZRVMKLSNlbmRpZgogICAgICAgICB9XTsKICAgICAg
ICAgdXBkYXRlUXVlcnlJZk5lY2Vzc2FyeShxdWVyeS5nZXQoKSk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL01vY2svTW9ja0xvY2FsQ29u
bmVjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL01v
Y2svTW9ja0xvY2FsQ29ubmVjdGlvbi5tbQppbmRleCA0OGIyYmFkOWM5NDA0NGEyZjFjY2U4M2Zk
ZGRkOTI3ZWM2MTIyZDg4Li44NGU2YWY1NWJkMGJiYjVhNGM0YTNmNmNhODgwOTcyZGQ3M2QwMzA0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9N
b2NrL01vY2tMb2NhbENvbm5lY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViQXV0aGVudGljYXRpb24vTW9jay9Nb2NrTG9jYWxDb25uZWN0aW9uLm1tCkBAIC0xMjEsMTEg
KzEyMSw3IEBAIFJldGFpblB0cjxTZWNLZXlSZWY+IE1vY2tMb2NhbENvbm5lY3Rpb246OmNyZWF0
ZUNyZWRlbnRpYWxQcml2YXRlS2V5KExBQ29udGV4dCAqCiAgICAgICAgIChpZClrU2VjQXR0ckxh
YmVsOiBzZWNBdHRyTGFiZWwsCiAgICAgICAgIChpZClrU2VjQXR0ckFwcGxpY2F0aW9uVGFnOiBz
ZWNBdHRyQXBwbGljYXRpb25UYWcsCiAgICAgICAgIChpZClrU2VjQXR0ckFjY2Vzc2libGU6IChp
ZClrU2VjQXR0ckFjY2Vzc2libGVBZnRlckZpcnN0VW5sb2NrLAotI2lmIEhBVkUoREFUQV9QUk9U
RUNUSU9OX0tFWUNIQUlOKQogICAgICAgICAoaWQpa1NlY1VzZURhdGFQcm90ZWN0aW9uS2V5Y2hh
aW46IEBZRVMKLSNlbHNlCi0gICAgICAgIChpZClrU2VjQXR0ck5vTGVnYWN5OiBAWUVTCi0jZW5k
aWYKICAgICB9OwogICAgIE9TU3RhdHVzIHN0YXR1cyA9IFNlY0l0ZW1BZGQoKF9fYnJpZGdlIENG
RGljdGlvbmFyeVJlZilhZGRRdWVyeSwgTlVMTCk7CiAgICAgaWYgKHN0YXR1cykgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQu
V2ViQXV0aG5Qcm9jZXNzLnNiLmluIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvbWFj
L2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluCmluZGV4IGY0ZWMwYWY5M2Q0
YzljZDc1ZTAzMTJlNzlmZDMxODM1Njg5MzNlMjguLjc0MmNhOGVhODQyOGQxOTk3MDM5ZTM3OTI0
ODZkMjlmN2UwNmM3YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNz
L21hYy9jb20uYXBwbGUuV2ViS2l0LldlYkF1dGhuUHJvY2Vzcy5zYi5pbgorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nl
c3Muc2IuaW4KQEAgLTMxOCw3ICszMTgsNyBAQAogKGFsbG93IG1hY2gtbG9va3VwIChleHRlbnNp
b24gImNvbS5hcHBsZS5hcHAtc2FuZGJveC5tYWNoIikpIDs7IEZJWE1FOiBTaG91bGQgYmUgcmVt
b3ZlZCB3aGVuIDxyZGFyOi8vcHJvYmxlbS8xMzA2NjIwNj4gaXMgZml4ZWQuCiAKIChhbGxvdyBt
YWNoLWxvb2t1cAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAw
CisjaWYgUExBVEZPUk0oTUFDKQogICAgICh3aXRoIHJlcG9ydCkgKHdpdGggdGVsZW1ldHJ5KQog
I2VuZGlmCiAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuYXVkaW8uQXVkaW9Db21wb25lbnRS
ZWdpc3RyYXIiKQpAQCAtMzM1LDkgKzMzNSw2IEBACiAKIDs7IFZhcmlvdXMgc2VydmljZXMgcmVx
dWlyZWQgYnkgQXBwS2l0IGFuZCBvdGhlciBmcmFtZXdvcmtzCiAoYWxsb3cgbWFjaC1sb29rdXAK
LSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNDAwCi0gICAgICAgKGds
b2JhbC1uYW1lICJjb20uYXBwbGUuRm9udE9iamVjdHNTZXJ2ZXIiKQotI2VuZGlmCiAgICAgICAg
KGdsb2JhbC1uYW1lICJjb20uYXBwbGUuUG93ZXJNYW5hZ2VtZW50LmNvbnRyb2wiKQogICAgICAg
IChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLlN5c3RlbUNvbmZpZ3VyYXRpb24uY29uZmlnZCIpCiAg
ICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuYW5hbHl0aWNzZCIpCkBAIC0zNjAsMTggKzM1
NywxNCBAQAogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLkNBUmVuZGVyU2VydmVyIikg
OyBOZWVkZWQgZm9yIFtDQUNvbnRleHQgcmVtb3RlQ29udGV4dFdpdGhPcHRpb25zXQogKQogCi0j
aWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAgfHwgUExBVEZPUk0o
TUFDQ0FUQUxZU1QpCiA7OyA8cmRhcjovL3Byb2JsZW0vNDcyNjgxNjY+CiAoYWxsb3cgbWFjaC1s
b29rdXAgKHhwYy1zZXJ2aWNlLW5hbWUgImNvbS5hcHBsZS5NVExDb21waWxlclNlcnZpY2UiKSkK
LSNlbmRpZgogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAg
fHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAoZGVueSBtYWNoLWxvb2t1cCAod2l0aCBuby1sb2cp
CiAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuQ29yZVNlcnZpY2VzLmNvcmVzZXJ2aWNlc2Qi
KQogICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLkRpc2tBcmJpdHJhdGlvbi5kaXNrYXJiaXRy
YXRpb25kIikKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5WaWV3QnJpZGdlQXV4aWxpYXJ5
IikKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS53aW5kb3dzZXJ2ZXIuYWN0aXZlIikpCi0j
ZW5kaWYKIAogOzsgTmVlZGVkIHRvIHN1cHBvcnQgZW5jcnlwdGVkIG1lZGlhIHBsYXliYWNrIDxy
ZGFyOi8vcHJvYmxlbS80MDAzODQ3OD4KIChhbGxvdyBtYWNoLWxvb2t1cApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclBy
aXZhdGUuY3BwCmluZGV4IGYxNGI2MzcxNDYxZWZmOTdhNzNhZTQwZDE5NTkwYzNmMDE1N2RiZjEu
LjEyMzBkYTdjNTQzZDgxMzE4OTAxNjYwOGMxNWNlZjE3MjE1N2ZlZTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVy
UHJpdmF0ZS5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJNZWRpYVJlY29yZGVyUHJpdmF0ZS5oIgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVO
QUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VU
V1JJVEVSREVMRUdBVEUpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VT
UykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIK
ICNpbmNsdWRlICJHUFVQcm9jZXNzQ29ubmVjdGlvbi5oIgpAQCAtMjAwLDQgKzIwMCw0IEBAIGNv
bnN0IFN0cmluZyYgTWVkaWFSZWNvcmRlclByaXZhdGU6Om1pbWVUeXBlKCkgY29uc3QKIAogfQog
Ci0jZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5B
QkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjZW5kaWYg
Ly8gUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElB
X1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRj
L01lZGlhUmVjb3JkZXJQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dl
YnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5oCmluZGV4IGJkZDU0OTcxY2RiZWI4MGExNTIzMzUw
MWY0NmFjNTRiMmMxN2I2ZTYuLjUwOGM2YTJmMDFhMWU1N2U0Y2I5YzJkZmQxYzYyOWJhZWYwMjgy
YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlh
UmVjb3JkZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJy
dGMvTWVkaWFSZWNvcmRlclByaXZhdGUuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9u
Y2UKIAotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJM
RShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2lmIFBMQVRG
T1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0p
CiAKICNpbmNsdWRlICJNZWRpYVJlY29yZGVySWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlNoYXJl
ZFJpbmdCdWZmZXJTdG9yYWdlLmgiCkBAIC04Niw0ICs4Niw0IEBAIHByaXZhdGU6CiAKIH0KIAot
I2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJM
RShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2VuZGlmIC8v
IFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9T
VFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9N
ZWRpYVJlY29yZGVyUHJpdmF0ZS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2Vi
cnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLm1tCmluZGV4IDY1NTRhMDIwMDAwMTU1NzFlNGEwNjI3
NDkwNGNiNTNkZDYxZmZlYzMuLjg2NzlhNWI0ZjYwNDFlYWI0MjIwZTZjNDQ4YWVhNGUxODQ3MWIx
ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlh
UmVjb3JkZXJQcml2YXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2Vi
cnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiTWVkaWFSZWNvcmRlclByaXZhdGUuaCIKIAotI2lmIFBMQVRG
T1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0p
ICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBF
TkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRlIDxX
ZWJDb3JlL0NvcmVWaWRlb1NvZnRMaW5rLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcm92aWRlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJvdmlkZXIuY3BwCmlu
ZGV4IDAxYzU5OWMxMjgwMzEwMGY1MTAxMDI3YTA5YWE5MjJkMTcwMzAwYjkuLjVjNGU4OWMwODE5
NmFiMGJjM2ViNjk5YWQ2OWJjOWE4NGNmMDg2MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcm92aWRlci5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByb3ZpZGVyLmNw
cApAQCAtMzksNyArMzksNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogc3RkOjp1bmlx
dWVfcHRyPFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlPiBNZWRpYVJlY29yZGVyUHJvdmlk
ZXI6OmNyZWF0ZU1lZGlhUmVjb3JkZXJQcml2YXRlKE1lZGlhU3RyZWFtUHJpdmF0ZSYgc3RyZWFt
LCBjb25zdCBNZWRpYVJlY29yZGVyUHJpdmF0ZU9wdGlvbnMmIG9wdGlvbnMpCiB7Ci0jaWYgRU5B
QkxFKEdQVV9QUk9DRVNTKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBFTkFC
TEUoR1BVX1BST0NFU1MpCiAgICAgYXV0byogcGFnZSA9IG1fd2ViUGFnZS5jb3JlUGFnZSgpOwog
ICAgIGlmIChwYWdlICYmIHBhZ2UtPnNldHRpbmdzKCkud2ViUlRDUGxhdGZvcm1Db2RlY3NJbkdQ
VVByb2Nlc3NFbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBtYWtlVW5pcXVlPE1lZGlhUmVjb3Jk
ZXJQcml2YXRlPihzdHJlYW0sIG9wdGlvbnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByb3ZpZGVyLmggYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJvdmlkZXIuaAppbmRleCA3
MTkxYjkyYzVmZDg1NzAzM2RlNTc3ODdjZWQyNzY2NGZhZWQ1YTQ5Li41OGU0MDgyMDM2YzM1ZGYx
ZjBiNjQ4NzA0MDcwYTFiNzE4ZjVmNjU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJvdmlkZXIuaApAQCAtNDAs
MTMgKzQwLDEzIEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6Ok1lZGlh
UmVjb3JkZXJQcml2YXRlPiBjcmVhdGVNZWRpYVJlY29yZGVyUHJpdmF0ZShXZWJDb3JlOjpNZWRp
YVN0cmVhbVByaXZhdGUmLCBjb25zdCBXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJpdmF0ZU9wdGlv
bnMmKSBmaW5hbDsKICNlbmRpZgogCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExBVEZP
Uk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVM
RUdBVEUpCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExBVEZPUk0oQ09DT0EpICYmIEVO
QUJMRShHUFVfUFJPQ0VTUykKICAgICBXZWJQYWdlJiBtX3dlYlBhZ2U7CiAjZW5kaWYKIH07CiAK
IGlubGluZSBNZWRpYVJlY29yZGVyUHJvdmlkZXI6Ok1lZGlhUmVjb3JkZXJQcm92aWRlcihXZWJQ
YWdlJiB3ZWJQYWdlKQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFBMQVRGT1JNKENPQ09B
KSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQor
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BV
X1BST0NFU1MpCiAgICAgOiBtX3dlYlBhZ2Uod2ViUGFnZSkKICNlbmRpZgogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
UGFnZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50LmNwcAppbmRleCA1MTBkMmRhNzk4
Y2RhMjUwOTkzYWI1MGRkMzY5N2RlYTVkYWUzYWQxLi43NWQ4NGU5YThhYjA0MmI2OGJhNzEyZGRk
NDYyMTk3ZjM5NTdiMTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlTG9h
ZGVyQ2xpZW50LmNwcApAQCAtNDcsMTAgKzQ3LDggQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiBJbmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJDbGllbnQ6OkluamVjdGVkQnVuZGxlUGFnZUxvYWRl
ckNsaWVudChjb25zdCBXS0J1bmRsZVBhZ2VMb2FkZXJDbGllbnRCYXNlKiBjbGllbnQpCiB7CiAg
ICAgaW5pdGlhbGl6ZShjbGllbnQpOwotI2lmICFQTEFURk9STShNQUMpIHx8IF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPiAxMDE0MDAKICAgICAvLyBEZXByZWNhdGVkIGNhbGxiYWNr
cy4KICAgICBBU1NFUlQoIW1fY2xpZW50LnNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtKTsK
LSNlbmRpZgogfQogCiB2b2lkIEluamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVudDo6d2lsbExv
YWRVUkxSZXF1ZXN0KFdlYlBhZ2UmIHBhZ2UsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVz
dCwgQVBJOjpPYmplY3QqIHVzZXJEYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCmluZGV4IDFiOTk0OWI1ODYwZDE4NjY1MTlm
NTI4NTAwY2Y3M2E0OTExZTA5ZWYuLjRmZGVmYzljMjhiMzJmOGQ4MTUxODQ0MWExZjdhMWFmMDNm
OTM2OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2Vi
UHJvY2Vzcy5zYi5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29tLmFwcGxlLldl
YlByb2Nlc3Muc2IuaW4KQEAgLTMwNiwxMCArMzA2LDggQEAKICAgICAgICAgICAgIChnbG9iYWwt
bmFtZSAiY29tLmFwcGxlLmN2bXNTZXJ2IikKICAgICAgICAgKQogICAgICkKLSNpZiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCB8fCBQTEFURk9STShNQUNDQVRBTFlT
VCkKICAgICAoYWxsb3cgZmlsZS1yZWFkKgogICAgICAgICAocHJlZml4ICIvcHJpdmF0ZS92YXIv
ZGIvQ1ZNUy9jdm1zQ29kZVNpZ25PYmoiKSkKLSNlbmRpZgogICAgIDs7IE9wZW5DTAogICAgIChp
ZiAoZXF1YWw/IChwYXJhbSAiRU5BQkxFX1NBTkRCT1hfTUVTU0FHRV9GSUxURVIiKSAiWUVTIikK
ICAgICAgICAgKGFsbG93IGlva2l0LW9wZW4KQEAgLTgzMyw3ICs4MzEsNiBAQAogICAgIChpb2tp
dC1wcm9wZXJ0eSAic2F2ZWQtY29uZmlnIikKICAgICAoaW9raXQtcHJvcGVydHkgInN0YXJ0dXAt
dGltaW5nIikKICAgICAoaW9raXQtcHJvcGVydHkgInRvdWNoLXNpemUtaWQiKQotI2lmICFQTEFU
Rk9STShNQUMpIHx8IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwCiAg
ICAgKGlva2l0LXByb3BlcnR5ICJBVFksY2JpdHMiKQogICAgIChpb2tpdC1wcm9wZXJ0eSAiQVRZ
LGludHJldiIpCiAgICAgKGlva2l0LXByb3BlcnR5ICJBY2NlbE5hdGl2ZURNQVJvd0J5dGVBbGln
bm1lbnQiKQpAQCAtODUxLDcgKzg0OCw2IEBACiAgICAgKGlva2l0LXByb3BlcnR5ICJUZWxlbWV0
cnlEaXNhYmxlIikKICAgICAoaW9raXQtcHJvcGVydHkgImNhaWxfcHJvcGVydGllcyIpCiAgICAg
KGlva2l0LXByb3BlcnR5ICJkcG0iKQotI2VuZGlmCiAgICAgKGlva2l0LXByb3BlcnR5ICJJT0dW
QUgyNjRFbmNvZGVDYXBhYmlsaXRpZXMiKSA7OyA8cmRhcjovL3Byb2JsZW0vNDk0OTgwNDA+CiAj
aWYgIVBMQVRGT1JNKE1BQykgfHwgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+IDEw
MTUwMAogICAgIChpb2tpdC1wcm9wZXJ0eSAiSU9BVkRIRVZDRGVjb2RlQ2FwYWJpbGl0aWVzIikg
OzsgPHJkYXI6Ly9wcm9ibGVtLzcxMTAwMTg4PgpAQCAtMTM0OCw5ICsxMzQ0LDYgQEAKIAogOzsg
VmFyaW91cyBzZXJ2aWNlcyByZXF1aXJlZCBieSBBcHBLaXQgYW5kIG90aGVyIGZyYW1ld29ya3MK
IChhbGxvdyBtYWNoLWxvb2t1cAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
PCAxMDE0MDAKLSAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5Gb250T2JqZWN0c1NlcnZl
ciIpCi0jZW5kaWYKICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5sb2dkIikKICAgICAg
ICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5sb2dkLmV2ZW50cyIpCiAgICAgICAgKGdsb2JhbC1u
YW1lICJjb20uYXBwbGUuQ0FSZW5kZXJTZXJ2ZXIiKSA7IE5lZWRlZCBmb3IgW0NBQ29udGV4dCBy
ZW1vdGVDb250ZXh0V2l0aE9wdGlvbnNdCkBAIC0xMzg1LDcgKzEzNzgsNiBAQAogICAgIChnbG9i
YWwtbmFtZSAiY29tLmFwcGxlLmxzZC5tYXBkYiIpCiApCiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKIDs7IDxy
ZGFyOi8vcHJvYmxlbS80NzI2ODE2Nj4KIChhbGxvdyBtYWNoLWxvb2t1cAogICAgIChyZXF1aXJl
LWFsbApAQCAtMTQwMCwxNSArMTM5MiwxMiBAQAogICAgICAgICAoeHBjLXNlcnZpY2UtbmFtZSAi
Y29tLmFwcGxlLk1UTENvbXBpbGVyU2VydmljZSIpCiAgICAgKQogKQotI2VuZGlmCiAKLSNpZiBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCB8fCBQTEFURk9STShNQUND
QVRBTFlTVCkKIChkZW55IG1hY2gtbG9va3VwICh3aXRoIG5vLWxvZykKICAgICAoZ2xvYmFsLW5h
bWUgImNvbS5hcHBsZS5Db3JlU2VydmljZXMuY29yZXNlcnZpY2VzZCIpCiAgICAgKGdsb2JhbC1u
YW1lICJjb20uYXBwbGUuRGlza0FyYml0cmF0aW9uLmRpc2thcmJpdHJhdGlvbmQiKQogICAgIChn
bG9iYWwtbmFtZSAiY29tLmFwcGxlLlZpZXdCcmlkZ2VBdXhpbGlhcnkiKQogICAgIChnbG9iYWwt
bmFtZSAiY29tLmFwcGxlLndpbmRvd3NlcnZlci5hY3RpdmUiKSkKLSNlbmRpZgogCiAjaWYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDAKIChkZW55IG1hY2gtbG9va3Vw
ICh3aXRoIG5vLWxvZykKQEAgLTE3MDcsMTEgKzE2OTYsNyBAQAogICAgICAgICAoZ2xvYmFsLW5h
bWUKICAgICAgICAgICAgICJjb20uYXBwbGUuYW5hbHl0aWNzZCIKICAgICAgICAgICAgICJjb20u
YXBwbGUubmVoZWxwZXIiCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDE1MDAgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgICAgICAgICAiY29tLmFwcGxlLm5l
c2Vzc2lvbm1hbmFnZXIuY29udGVudC1maWx0ZXIiCi0jZWxzZQotICAgICAgICAgICAgImNvbS5h
cHBsZS5uZXNlc3Npb25tYW5hZ2VyIgotI2VuZGlmCiAgICAgICAgICAgICAiY29tLmFwcGxlLndl
Ymluc3BlY3RvciIKICAgICAgICAgICAgICJjb20uYXBwbGUuY2ZwcmVmc2QuYWdlbnQiCiAgICAg
ICAgICAgICAiY29tLmFwcGxlLmNmcHJlZnNkLmRhZW1vbiIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCmluZGV4IGNlYzliOGUzMTg1OThhZWVlYjg0
MTE3MDY4MTFiYzMxMmNjMWNlY2YuLjRiMDc4NTQ5ZGM0MjAyZmJiNmMyNzJlZjIwNWFiMzk0ZTM5
NDcxNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRN
TFZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmll
dy5tbQpAQCAtMjIzLDI0ICsyMjMsNiBAQCBAcHJvcGVydHkgKHJlYWRvbmx5KSBfX2tpbmRvZiBO
U1ZpZXcgKl9ib3JkZXJWaWV3OwogLSAoaWQpX25ld0ZpcnN0UmVzcG9uZGVyQWZ0ZXJSZXNpZ25p
bmc7CiBAZW5kCiAKLSNpZiAhSEFWRShTVUJWSUVXU19JVkFSX1NQSSkKLUBpbXBsZW1lbnRhdGlv
biBOU1ZpZXcgKFN1YnZpZXdzSXZhcikKLQotLSAodm9pZClfc2V0U3Vidmlld3NJdmFyOihOU011
dGFibGVBcnJheTxfX2tpbmRvZiBOU1ZpZXcgKj4gKilzdWJ2aWV3cyB7Ci0gICAgQUxMT1dfREVQ
UkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KLSAgICBfc3Vidmlld3MgPSBzdWJ2aWV3czsKLSAg
ICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKLX0KLQotLSAoTlNNdXRhYmxlQXJy
YXk8X19raW5kb2YgTlNWaWV3ICo+ICopX3N1YnZpZXdzSXZhciB7Ci0gICAgQUxMT1dfREVQUkVD
QVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KLSAgICByZXR1cm4gKE5TTXV0YWJsZUFycmF5ICopX3N1
YnZpZXdzOwotICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAotfQotCi1AZW5k
Ci0jZW5kaWYKLQogdXNpbmcgV2ViRXZlbnQgPSBOU0V2ZW50OwogY29uc3QgYXV0byBXZWJFdmVu
dE1vdXNlRG93biA9IE5TRXZlbnRUeXBlTGVmdE1vdXNlRG93bjsKIApAQCAtNzM3LDEyICs3MTks
OSBAQCBzdGF0aWMgdm9pZCBzZXRDdXJzb3IoTlNXaW5kb3cgKnNlbGYsIFNFTCBjbWQsIE5TUG9p
bnQgcG9pbnQpCiBAaW50ZXJmYWNlIE5TVmlldyAoKQogLSAodm9pZClfcmVjdXJzaXZlRGlzcGxh
eVJlY3RJZk5lZWRlZElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KXJlY3QgaXNWaXNpYmxlUmVjdDoo
Qk9PTClpc1Zpc2libGVSZWN0IHJlY3RJc1Zpc2libGVSZWN0Rm9yVmlldzooTlNWaWV3ICopdmlz
aWJsZVZpZXcgdG9wVmlldzooQk9PTCl0b3BWaWV3OwogLSAodm9pZClfcmVjdXJzaXZlRGlzcGxh
eUFsbERpcnR5V2l0aExvY2tGb2N1czooQk9PTCluZWVkc0xvY2tGb2N1cyB2aXNSZWN0OihOU1Jl
Y3QpdmlzUmVjdDsKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTAxNTAwCisjaWYgUExBVEZPUk0oTUFDKQogLSAodm9pZClfcmVjdXJzaXZl
OihCT09MKXJlY3Vyc2l2ZSBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KWRpc3Bs
YXlSZWN0IGluQ29udGV4dDooTlNHcmFwaGljc0NvbnRleHQgKilncmFwaGljc0NvbnRleHQgc3Rv
cEF0TGF5ZXJCYWNrZWRWaWV3czooQk9PTClzdG9wQXRMYXllckJhY2tlZFZpZXdzOwogI2VuZGlm
Ci0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwg
MTAxNTAwCi0tICh2b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzaXZlIGRpc3BsYXlSZWN0SWdu
b3JpbmdPcGFjaXR5OihOU1JlY3QpZGlzcGxheVJlY3QgaW5Db250ZXh0OihOU0dyYXBoaWNzQ29u
dGV4dCAqKWdyYXBoaWNzQ29udGV4dCBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6KEJP
T0wpc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yIHN0b3BBdExheWVyQmFja2VkVmlld3M6
KEJPT0wpc3RvcEF0TGF5ZXJCYWNrZWRWaWV3czsKLSNlbmRpZgogLSAodm9pZClfc2V0RHJhd3NP
d25EZXNjZW5kYW50czooQk9PTClkcmF3c093bkRlc2NlbmRhbnRzOwogI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCiAtICh2b2lkKWNlbnRlclNlbGVjdGlvbkluVmlzaWJsZUFyZWE6KGlkKXNlbmRl
cjsKQEAgLTE2ODEsMTggKzE2NjAsMTAgQEAgLSAodm9pZClfcmVjdXJzaXZlRGlzcGxheUFsbERp
cnR5V2l0aExvY2tGb2N1czooQk9PTCluZWVkc0xvY2tGb2N1cyB2aXNSZWN0OihOU1IKIH0KIAog
Ly8gRG9uJ3QgbGV0IEFwcEtpdCBldmVuIGRyYXcgc3Vidmlld3MuIFdlIHRha2UgY2FyZSBvZiB0
aGF0LgotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCiAtICh2
b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzaXZlIGRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5
OihOU1JlY3QpZGlzcGxheVJlY3QgaW5Db250ZXh0OihOU0dyYXBoaWNzQ29udGV4dCAqKWdyYXBo
aWNzQ29udGV4dCBzdG9wQXRMYXllckJhY2tlZFZpZXdzOihCT09MKXN0b3BBdExheWVyQmFja2Vk
Vmlld3MKLSNlbHNlCi0tICh2b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzaXZlIGRpc3BsYXlS
ZWN0SWdub3JpbmdPcGFjaXR5OihOU1JlY3QpZGlzcGxheVJlY3QgaW5Db250ZXh0OihOU0dyYXBo
aWNzQ29udGV4dCAqKWdyYXBoaWNzQ29udGV4dCBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29s
b3I6KEJPT0wpc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yIHN0b3BBdExheWVyQmFja2Vk
Vmlld3M6KEJPT0wpc3RvcEF0TGF5ZXJCYWNrZWRWaWV3cwotI2VuZGlmCiB7CiAgICAgW3NlbGYg
X3NldEFzaWRlU3Vidmlld3NdOwotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxNTAwCiAgICAgW3N1cGVyIF9yZWN1cnNpdmU6cmVjdXJzaXZlIGRpc3BsYXlSZWN0SWdu
b3JpbmdPcGFjaXR5OmRpc3BsYXlSZWN0IGluQ29udGV4dDpncmFwaGljc0NvbnRleHQgc3RvcEF0
TGF5ZXJCYWNrZWRWaWV3czpzdG9wQXRMYXllckJhY2tlZFZpZXdzXTsKLSNlbHNlCi0gICAgW3N1
cGVyIF9yZWN1cnNpdmU6cmVjdXJzaXZlIGRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OmRpc3Bs
YXlSZWN0IGluQ29udGV4dDpncmFwaGljc0NvbnRleHQgc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5j
ZUNvbG9yOnNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvciBzdG9wQXRMYXllckJhY2tlZFZp
ZXdzOnN0b3BBdExheWVyQmFja2VkVmlld3NdOwotI2VuZGlmCiAgICAgW3NlbGYgX3Jlc3RvcmVT
dWJ2aWV3c107CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCA2MWMxM2E1YWI1NzAwZWRhYTY4NTg2YTk5ZjE1NWYyOGYwMjU4MGI4Li5jNzlm
ZGY3ZjNiOThlNWRmMWE0ZDFlOGE1NDdiZTdhMzVjY2M3NjhhIDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTAt
MDEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIHN1cHBv
cnQgZm9yIG1hY09TIDwgMTAuMTUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzMTA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogVGVzdFJ1bm5lclNoYXJlZC9zcGkvQXBwS2l0VGVzdFNQSS5oOgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0
TGlua1Rlc3QubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByZWNvbm5lY3QubW06CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9jb25maWcuaDoKKwogMjAyMS0xMC0wMSAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIERyb3AgbGVnYWN5IFVTRShMRUdBQ1lfQ0ZORVRXT1JL
X0RPV05MT0FEUykgY29kZSBwYXRocwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJl
ZC9zcGkvQXBwS2l0VGVzdFNQSS5oIGIvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9zcGkvQXBwS2l0
VGVzdFNQSS5oCmluZGV4IDVmOWFkNTIzNzBmMDI3ZWMxMDQ0ZmM0MTQ0NWVkNWFjNzRkYWViYTIu
LjIyMGZmMTdjYWEyMTgzY2ZiNzc3MzBiZGNmNWNkZDQxNjI3ZjAxNmQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RSdW5uZXJTaGFyZWQvc3BpL0FwcEtpdFRlc3RTUEkuaAorKysgYi9Ub29scy9UZXN0
UnVubmVyU2hhcmVkL3NwaS9BcHBLaXRUZXN0U1BJLmgKQEAgLTI4LDkgKzI4LDcgQEAKICNpbXBv
cnQgPEFwcEtpdC9OU0RyYWdnaW5nSXRlbS5oPgogCiAvLyBGSVhNRTogTW92ZSB0aGlzIHRvIFBs
YXRmb3JtSGF2ZS5oLgotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAx
NTAwCiAjZGVmaW5lIEhBVkVfTlNEUkFHR0lOR0lURU1fSU5JVFdJVEhJVEVNIDEKLSNlbmRpZgog
CiBAaW50ZXJmYWNlIE5TRHJhZ2dpbmdJdGVtICgpCiAjaWYgSEFWRShOU0RSQUdHSU5HSVRFTV9J
TklUV0lUSElURU0pCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNv
cmUvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmtUZXN0Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJDb3JlL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rVGVzdC5tbQppbmRleCAx
OGU4OWM5NDJhODQzNzFlYWI2N2UyZWMzNGRkMjZkOTE0MWJiZmU3Li5iYWZhNzVmNDZlNjAyZGNj
ZjE3ZjU3ZjdjMDI1M2ZmMGIxOTViMTRmIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYkNvcmUvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmtUZXN0Lm1tCisrKyBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGlu
a1Rlc3QubW0KQEAgLTE2MSw3ICsxNjEsNyBAQCBURVNUKEFWRm91bmRhdGlvblNvZnRMaW5rLCBD
b25zdGFudHMpCiAgICAgRVhQRUNUX1RSVUUoW0FWQ29udGVudEtleVJlcXVlc3RQcm90b2NvbFZl
cnNpb25zS2V5IGlzRXF1YWxUb1N0cmluZzpAIlByb3RvY29sVmVyc2lvbnNLZXkiXSk7CiAjZW5k
aWYKIAotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKFdBVENIT1MpIHx8IFBM
QVRGT1JNKEFQUExFVFYpCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShJT1MpIHx8IFBM
QVRGT1JNKFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQUExFVFYpCiAgICAgRVhQRUNUX1RSVUUoUEFM
OjpjYW5Mb2FkX0FWRm91bmRhdGlvbl9BVlZpZGVvQ29kZWNUeXBlSEVWQ1dpdGhBbHBoYSgpKTsK
ICAgICBFWFBFQ1RfVFJVRShbQVZWaWRlb0NvZGVjVHlwZUhFVkNXaXRoQWxwaGEgaXNFcXVhbFRv
U3RyaW5nOkAibXV4YSJdKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9QcmVjb25uZWN0Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9QcmVjb25uZWN0Lm1tCmluZGV4IDliMWViZmFkNzFmZGYwZWQ4ZjE4
NDI0ZWQyYjQwYjhhODRiYmY0NmMuLjU0N2IzNTdlZTllYTBhYTE5ZGFlZGM4OTI0Y2FiMWJhYWM0
MjYyZGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
UHJlY29ubmVjdC5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L1ByZWNvbm5lY3QubW0KQEAgLTEwMywxMCArMTAzLDYgQEAgVEVTVChQcmVjb25uZWN0LCBDb25u
ZWN0aW9uQ291bnQpCiAgICAgRVhQRUNUX0VRKGNvbm5lY3Rpb25Db3VudCwgMnUpOwogfQogCi0v
LyBNb2phdmUgQ0ZOZXR3b3JrIF9wcmVjb25uZWN0IFNQSSBzZWVtcyB0byBoYXZlIGEgYnVnIGNh
dXNpbmcgdGhpcyB0byB0aW1lIG91dC4KLS8vIFRoYXQncyBubyBwcm9ibGVtLCBiZWNhdXNlIHRo
aXMgaXMgYSB0ZXN0IGZvciBTUEkgb25seSB0byBiZSB1c2VkIG9uIGxhdGVyIE9TIHZlcnNpb25z
LgotI2lmICFQTEFURk9STShNQUMpIHx8IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxNTAwCi0KIFRFU1QoUHJlY29ubmVjdCwgSFRUUFMpCiB7CiAgICAgYm9vbCBjb25uZWN0
ZWQgPSBmYWxzZTsKQEAgLTEzNiw4ICsxMzIsNiBAQCBURVNUKFByZWNvbm5lY3QsIEhUVFBTKQog
ICAgIEVYUEVDVF9UUlVFKHJlY2VpdmVkQ2hhbGxlbmdlKTsKIH0KIAotI2VuZGlmCi0KICNpZiBI
QVZFKFBSRUNPTk5FQ1RfUElORykKIHN0YXRpYyB2b2lkIHBpbmdQb25nKFJlZjxIMjo6Q29ubmVj
dGlvbj4mJiBjb25uZWN0aW9uLCBzaXplX3QqIGhlYWRlcnNDb3VudCkKIHsKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2lj
Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TZXJ2aWNlV29ya2Vy
QmFzaWMubW0KaW5kZXggMWQzYWVlNzA5ZDQxNDM4Zjc5NzA3YmNmNGExNDc2YjNhNTExY2RiOS4u
MGU4YTNlN2FmZmMyZjU3ZThiZjA0NWZkYThlMGNkNzYyYWFjNTRiZiAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TZXJ2aWNlV29ya2VyQmFzaWMubW0K
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TZXJ2aWNlV29ya2Vy
QmFzaWMubW0KQEAgLTIxODIsOCArMjE4Miw2IEBAIFRFU1QoU2VydmljZVdvcmtlcnMsIENvbnRl
bnRSdWxlTGlzdCkKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmVSZW1vdmluZyk7
CiB9CiAKLSNpZiBIQVZFKFRMU19QUk9UT0NPTF9WRVJTSU9OX1QpCi0KIHN0YXRpYyBib29sIGlz
VGVzdFNlcnZlclRydXN0KFNlY1RydXN0UmVmIHRydXN0KQogewogICAgIGlmICghdHJ1c3QpCkBA
IC0yMzcyLDggKzIzNzAsNiBAQCBURVNUKFNlcnZpY2VXb3JrZXJzLCBDaGFuZ2VPZlNlcnZlckNl
cnRpZmljYXRlKQogICAgIH0KIH0KIAotI2VuZGlmIC8vIEhBVkUoVExTX1BST1RPQ09MX1ZFUlNJ
T05fVCkKLQogVEVTVChTZXJ2aWNlV29ya2VycywgQ2xlYXJET01DYWNoZUFsc29JbmNsdWRlc1Nl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25zKQogewogICAgIFtXS1dlYnNpdGVEYXRhU3RvcmUgX2Fs
bG93V2Vic2l0ZURhdGFSZWNvcmRzRm9yQWxsT3JpZ2luc107CmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1RMU0RlcHJlY2F0aW9uLm1tIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9UTFNEZXByZWNhdGlvbi5tbQppbmRleCBh
ZmFkOTQzMmQwYzc1YTJkMzBlNjAzMDI1ZjYzMTk5YWNjNDBkNDQxLi41M2I1MTcwOGJjMzdkZGYx
YjdhODQ3MTkyOGE5MjEyODJjMTc3ZDhjIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL1RMU0RlcHJlY2F0aW9uLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvVExTRGVwcmVjYXRpb24ubW0KQEAgLTE0MSw4ICsxNDEs
NiBAQCBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CiAKIGNvbnN0IHVpbnQxNl90IHRsczFfMSA9
IDB4MDMwMjsKIAotI2lmIEhBVkUoVExTX1BST1RPQ09MX1ZFUlNJT05fVCkKLQogVEVTVChUTFNW
ZXJzaW9uLCBEZWZhdWx0QmVoYXZpb3IpCiB7CiAgICAgSFRUUFNlcnZlciBzZXJ2ZXIoSFRUUFNl
cnZlcjo6cmVzcG9uZFdpdGhPSywgSFRUUFNlcnZlcjo6UHJvdG9jb2w6Okh0dHBzV2l0aExlZ2Fj
eVRMUyk7CkBAIC0xNTcsOCArMTU1LDYgQEAgVEVTVChUTFNWZXJzaW9uLCBEZWZhdWx0QmVoYXZp
b3IpCiAgICAgW2RlbGVnYXRlIHdhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKIH0KIAotI2Vu
ZGlmIC8vIEhBVkUoVExTX1BST1RPQ09MX1ZFUlNJT05fVCkKLQogI2lmIEhBVkUoVExTX1ZFUlNJ
T05fRFVSSU5HX0NIQUxMRU5HRSkKIAogUmV0YWluUHRyPFdLV2ViVmlldz4gbWFrZVdlYlZpZXdX
aXRoKFdLV2Vic2l0ZURhdGFTdG9yZSAqc3RvcmUsIFJldGFpblB0cjxUZXN0TmF2aWdhdGlvbkRl
bGVnYXRlPiBkZWxlZ2F0ZSkKQEAgLTI2Myw4ICsyNTksNiBAQCBURVNUKFRMU1ZlcnNpb24sIFBy
ZWNvbm5lY3QpCiAKICNlbmRpZiAvLyBIQVZFKFRMU19WRVJTSU9OX0RVUklOR19DSEFMTEVOR0Up
CiAKLSNpZiBIQVZFKFRMU19QUk9UT0NPTF9WRVJTSU9OX1QpCi0KIHN0YXRpYyBzdGQ6OnBhaXI8
UmV0YWluUHRyPFdLV2ViVmlldz4sIFJldGFpblB0cjxUZXN0TmF2aWdhdGlvbkRlbGVnYXRlPj4g
d2ViVmlld1dpdGhOYXZpZ2F0aW9uRGVsZWdhdGUoKQogewogICAgIGF1dG8gZGVsZWdhdGUgPSBh
ZG9wdE5TKFtUZXN0TmF2aWdhdGlvbkRlbGVnYXRlIG5ld10pOwpAQCAtNDk5LDggKzQ5Myw2IEBA
IFRFU1QoVExTVmVyc2lvbiwgTGVnYWN5U3VicmVzb3VyY2VzKQogCiAjZW5kaWYgLy8gSEFWRShU
TFNfVkVSU0lPTl9EVVJJTkdfQ0hBTExFTkdFKQogCi0jZW5kaWYgLy8gSEFWRShUTFNfUFJPVE9D
T0xfVkVSU0lPTl9UKQotCiB9CiAKICNlbmRpZiAvLyBIQVZFKFNTTCkKZGlmZiAtLWdpdCBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25Q
YW5lbC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0
aGVudGljYXRpb25QYW5lbC5tbQppbmRleCBhYmE0ZmI5MDdmYjIyN2MzNzQwZGFmMDlhZjExYzcx
NDgwNjk3ZTI0Li5kNjJlMjkyMzI2NWEzNTlkMDFlYTZhMWIxMDUzMTM5MjI4YzkwOTY3IDEwMDY0
NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhl
bnRpY2F0aW9uUGFuZWwubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCkBAIC0zOTIsMTEgKzM5Miw3IEBAIGJv
b2wgYWRkS2V5VG9LZXljaGFpbihjb25zdCBTdHJpbmcmIHByaXZhdGVLZXlCYXNlNjQsIGNvbnN0
IFN0cmluZyYgcnBJZCwgY29uc3QKICAgICAgICAgKGlkKWtTZWNBdHRyTGFiZWw6IHJwSWQsCiAg
ICAgICAgIChpZClrU2VjQXR0ckFwcGxpY2F0aW9uVGFnOiBhZG9wdE5TKFtbTlNEYXRhIGFsbG9j
XSBpbml0V2l0aEJhc2U2NEVuY29kZWRTdHJpbmc6dXNlckhhbmRsZUJhc2U2NCBvcHRpb25zOk5T
RGF0YUJhc2U2NERlY29kaW5nSWdub3JlVW5rbm93bkNoYXJhY3RlcnNdKS5nZXQoKSwKICAgICAg
ICAgKGlkKWtTZWNBdHRyQWNjZXNzaWJsZTogKGlkKWtTZWNBdHRyQWNjZXNzaWJsZUFmdGVyRmly
c3RVbmxvY2ssCi0jaWYgSEFWRShEQVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4pCiAgICAgICAgIChp
ZClrU2VjVXNlRGF0YVByb3RlY3Rpb25LZXljaGFpbjogQFlFUwotI2Vsc2UKLSAgICAgICAgKGlk
KWtTZWNBdHRyTm9MZWdhY3k6IEBZRVMKLSNlbmRpZgogICAgIH07CiAgICAgT1NTdGF0dXMgc3Rh
dHVzID0gU2VjSXRlbUFkZCgoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKWFkZFF1ZXJ5LCBOVUxM
KTsKICAgICBpZiAoc3RhdHVzKQpAQCAtNDExLDExICs0MDcsNyBAQCB2b2lkIGNsZWFuVXBLZXlj
aGFpbihjb25zdCBTdHJpbmcmIHJwSWQpCiAgICAgICAgIChpZClrU2VjQ2xhc3M6IChpZClrU2Vj
Q2xhc3NLZXksCiAgICAgICAgIChpZClrU2VjQXR0ckxhYmVsOiBycElkLAogICAgICAgICAoaWQp
a1NlY0F0dHJBY2Nlc3NpYmxlOiAoaWQpa1NlY0F0dHJBY2Nlc3NpYmxlQWZ0ZXJGaXJzdFVubG9j
aywKLSNpZiBIQVZFKERBVEFfUFJPVEVDVElPTl9LRVlDSEFJTikKICAgICAgICAgKGlkKWtTZWNV
c2VEYXRhUHJvdGVjdGlvbktleWNoYWluOiBAWUVTCi0jZWxzZQotICAgICAgICAoaWQpa1NlY0F0
dHJOb0xlZ2FjeTogQFlFUwotI2VuZGlmCiAgICAgfTsKICAgICBTZWNJdGVtRGVsZXRlKChfX2Jy
aWRnZSBDRkRpY3Rpb25hcnlSZWYpZGVsZXRlUXVlcnkpOwogfQpAQCAtMTQ2OCwxMSArMTQ2MCw3
IEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25QYW5lbCwgTEFNYWtlQ3JlZGVudGlhbFJvbGxCYWNr
Q3JlZGVudGlhbCkKICAgICAgICAgKGlkKWtTZWNDbGFzczogKGlkKWtTZWNDbGFzc0tleSwKICAg
ICAgICAgKGlkKWtTZWNBdHRyS2V5Q2xhc3M6IChpZClrU2VjQXR0cktleUNsYXNzUHJpdmF0ZSwK
ICAgICAgICAgKGlkKWtTZWNBdHRyTGFiZWw6IEAiIiwKLSNpZiBIQVZFKERBVEFfUFJPVEVDVElP
Tl9LRVlDSEFJTikKICAgICAgICAgKGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktleWNoYWluOiBA
WUVTCi0jZWxzZQotICAgICAgICAoaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwotI2VuZGlmCiAg
ICAgfTsKICAgICBPU1N0YXR1cyBzdGF0dXMgPSBTZWNJdGVtQ29weU1hdGNoaW5nKChfX2JyaWRn
ZSBDRkRpY3Rpb25hcnlSZWYpcXVlcnksIG51bGxwdHIpOwogICAgIEVYUEVDVF9FUShzdGF0dXMs
IGVyclNlY0l0ZW1Ob3RGb3VuZCk7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL21hYy9ISURHYW1lcGFkcy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0hJ
REdhbWVwYWRzLm1tCmluZGV4IGE5MDY3ZTFmMmVmM2FiYzRkOTE5Mjg4ZmI5ZWE3OWJjMzk5YjY5
MWQuLmY0M2FmZWU4YWFkOTdkZmViOTVjZjlkZDc0ZjkwYjBkNTU2ZjAyZjcgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0hJREdhbWVwYWRzLm1tCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0hJREdhbWVwYWRzLm1tCkBAIC0yNSw3ICsyNSw3IEBA
CiAKICNpbXBvcnQgImNvbmZpZy5oIgogCi0jaWYgSEFWRShISURfRlJBTUVXT1JLKSAmJiBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKQorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAKICNpbXBv
cnQgIkluc3RhbmNlTWV0aG9kU3dpenpsZXIuaCIKICNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVz
LmgiCkBAIC02NTQsNCArNjU0LDQgQEAgVEVTVChHYW1lcGFkLCBGdWxsSW5mb0FmdGVyQ29ubmVj
dGlvbikKIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQogCi0jZW5kaWYgLy8gSEFWRShI
SURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2VuZGlmIC8vIFVTRShB
UFBMRV9JTlRFUk5BTF9TREspCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29h
L0hUVFBTZXJ2ZXIubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL0hUVFBTZXJ2ZXIubW0K
aW5kZXggZDcyMGJhNjRkYjQzMDY5YmY3MzViMzA1YmRlMzBmNDRlNzdlOTIwZS4uMTEyNDNhYzRi
N2RjN2RjNjZkNDZlMTgwNTFiMmM4YTlhM2Y2ZjUyNyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9jb2NvYS9IVFRQU2VydmVyLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29j
b2EvSFRUUFNlcnZlci5tbQpAQCAtNTcsNyArNTcsNiBAQCBSZXRhaW5QdHI8bndfcGFyYW1ldGVy
c190PiBIVFRQU2VydmVyOjpsaXN0ZW5lclBhcmFtZXRlcnMoUHJvdG9jb2wgcHJvdG9jb2wsIENl
cgogICAgIGlmIChwcm90b2NvbCAhPSBQcm90b2NvbDo6SHR0cCAmJiAhY3VzdG9tVGVzdElkZW50
aXR5KQogICAgICAgICBjdXN0b21UZXN0SWRlbnRpdHkgPSB0ZXN0SWRlbnRpdHkoKTsKICAgICBh
dXRvIGNvbmZpZ3VyZVRMUyA9IHByb3RvY29sID09IFByb3RvY29sOjpIdHRwID8gbWFrZUJsb2Nr
UHRyKE5XX1BBUkFNRVRFUlNfRElTQUJMRV9QUk9UT0NPTCkgOiBtYWtlQmxvY2tQdHIoW3Byb3Rv
Y29sLCB2ZXJpZmllciA9IFdURk1vdmUodmVyaWZpZXIpLCB0ZXN0SWRlbnRpdHkgPSBXVEZNb3Zl
KGN1c3RvbVRlc3RJZGVudGl0eSldIChud19wcm90b2NvbF9vcHRpb25zX3QgcHJvdG9jb2xPcHRp
b25zKSBtdXRhYmxlIHsKLSNpZiBIQVZFKFRMU19QUk9UT0NPTF9WRVJTSU9OX1QpCiAgICAgICAg
IGF1dG8gb3B0aW9ucyA9IGFkb3B0TlMobndfdGxzX2NvcHlfc2VjX3Byb3RvY29sX29wdGlvbnMo
cHJvdG9jb2xPcHRpb25zKSk7CiAgICAgICAgIGF1dG8gaWRlbnRpdHkgPSBhZG9wdE5TKHNlY19p
ZGVudGl0eV9jcmVhdGUodGVzdElkZW50aXR5LmdldCgpKSk7CiAgICAgICAgIHNlY19wcm90b2Nv
bF9vcHRpb25zX3NldF9sb2NhbF9pZGVudGl0eShvcHRpb25zLmdldCgpLCBpZGVudGl0eS5nZXQo
KSk7CkBAIC03MSwxMCArNzAsNiBAQCBSZXRhaW5QdHI8bndfcGFyYW1ldGVyc190PiBIVFRQU2Vy
dmVyOjpsaXN0ZW5lclBhcmFtZXRlcnMoUHJvdG9jb2wgcHJvdG9jb2wsIENlcgogICAgICAgICB9
CiAgICAgICAgIGlmIChwcm90b2NvbCA9PSBQcm90b2NvbDo6SHR0cDIpCiAgICAgICAgICAgICBz
ZWNfcHJvdG9jb2xfb3B0aW9uc19hZGRfdGxzX2FwcGxpY2F0aW9uX3Byb3RvY29sKG9wdGlvbnMu
Z2V0KCksICJoMiIpOwotI2Vsc2UKLSAgICAgICAgVU5VU0VEX1BBUkFNKHByb3RvY29sT3B0aW9u
cyk7Ci0gICAgICAgIEFTU0VSVF9VTlVTRUQocHJvdG9jb2wsIHByb3RvY29sICE9IFByb3RvY29s
OjpIdHRwc1dpdGhMZWdhY3lUTFMpOwotI2VuZGlmCiAgICAgfSk7CiAgICAgYXV0byBwYXJhbWV0
ZXJzID0gYWRvcHROUyhud19wYXJhbWV0ZXJzX2NyZWF0ZV9zZWN1cmVfdGNwKGNvbmZpZ3VyZVRM
Uy5nZXQoKSwgTldfUEFSQU1FVEVSU19ERUZBVUxUX0NPTkZJR1VSQVRJT04pKTsKICAgICBpZiAo
cG9ydCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29uZmlnLmggYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL2NvbmZpZy5oCmluZGV4IDdlMDY3MTNkNzU1ZTAyZTQ1NDg3NTNlYTYzNTY0
MTQ0YjU0ZDg1MmYuLmZjOGNkN2JiYzBkMmIyYzc5OTZlYmVlNmE3ZjU0ODVjYzQ3YzAyZmMgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29uZmlnLmgKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9jb25maWcuaApAQCAtMTI1LDExICsxMjUsNiBAQAogI2RlZmluZSBIQVZFX1VJV0VC
VklFVyAxCiAjZW5kaWYKIAotLy8gRklYTUU6IE1vdmUgdGhpcyB0byBQbGF0Zm9ybUhhdmUuaC4K
LSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApCi0jZGVmaW5lIEhBVkVfVExTX1BST1RPQ09MX1ZF
UlNJT05fVCAxCi0jZW5kaWYKLQogLy8gRklYTUU6IE1vdmUgdGhpcyB0byBQbGF0Zm9ybUhhdmUu
aC4KICNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDExMDAwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDE0MDAwMCkKICNkZWZpbmUgSEFWRV9UTFNfVkVSU0lPTl9EVVJJ
TkdfQ0hBTExFTkdFIDEKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVw
YWRNYXBwaW5ncy9Hb29nbGVTdGFkaWEubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1l
cGFkTWFwcGluZ3MvR29vZ2xlU3RhZGlhLm1tCmluZGV4IDgyOGM2ZmFkZTMwYzE0MTI3NGVmMWZm
NDYzMWNmMjAxNWZhMGZlMDEuLjRkN2YzODQ4ZTczMzg0MTQ2NWExZDU0ZmExZmI3MzljODUxODk5
MTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9H
b29nbGVTdGFkaWEubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBp
bmdzL0dvb2dsZVN0YWRpYS5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgi
CiAjaW1wb3J0ICJWaXJ0dWFsR2FtZXBhZC5oIgogCi0jaWYgSEFWRShISURfRlJBTUVXT1JLKSAm
JiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAK
ICNpbXBvcnQgPEhJRC9ISURVc2VyRGV2aWNlLmg+CiAKQEAgLTIwNiw0ICsyMDYsNCBAQCBHYW1l
cGFkTWFwcGluZyBWaXJ0dWFsR2FtZXBhZDo6Z29vZ2xlU3RhZGlhTWFwcGluZygpCiAKIH0gLy8g
bmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKIAotI2VuZGlmIC8vIEhBVkUoSElEX0ZSQU1FV09SSykg
JiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxf
U0RLKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdz
L0xvZ2l0ZWNoRjMxMC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5n
cy9Mb2dpdGVjaEYzMTAubW0KaW5kZXggOTc3ZjJmZWJiZWE4YTMyNTk0NzAxODU0ZWUzMmJiNDRk
ZDk0ZTZhZC4uNGY0YTdiNDYxNzVlMTI0ZTNiNzJmNzFhYWIzNDY0YWVhODUwMTFjMyAxMDA2NDQK
LS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL0xvZ2l0ZWNoRjMx
MC5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvTG9naXRl
Y2hGMzEwLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQg
IlZpcnR1YWxHYW1lcGFkLmgiCiAKLSNpZiBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBM
RV9JTlRFUk5BTF9TREspCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAogI2ltcG9ydCA8
SElEL0hJRFVzZXJEZXZpY2UuaD4KIApAQCAtMTQ1LDQgKzE0NSw0IEBAIEdhbWVwYWRNYXBwaW5n
IFZpcnR1YWxHYW1lcGFkOjpsb2dpdGVjaEYzMTBNYXBwaW5nKCkKIAogfSAvLyBuYW1lc3BhY2Ug
VGVzdFdlYktpdEFQSQogCi0jZW5kaWYgLy8gSEFWRShISURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQorI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvTG9naXRlY2hG
NzEwLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL0xvZ2l0ZWNo
RjcxMC5tbQppbmRleCBmNTZlZTY0ZDE4MDkzZGY5N2Y1MzAyYWQwYjBkYjQ0N2UwMThkYjI4Li5k
NWEwNzM1ZWE1ZjYxYTc3ZDFkNmU4ZGZjMDU1ZmYxZTg5OWU0MWJhIDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvTG9naXRlY2hGNzEwLm1tCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Mb2dpdGVjaEY3MTAubW0K
QEAgLTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiVmlydHVhbEdh
bWVwYWQuaCIKIAotI2lmIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFM
X1NESykKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAjaW1wb3J0IDxISUQvSElEVXNl
ckRldmljZS5oPgogCkBAIC0xNTYsNCArMTU2LDQgQEAgR2FtZXBhZE1hcHBpbmcgVmlydHVhbEdh
bWVwYWQ6OmxvZ2l0ZWNoRjcxME1hcHBpbmcoKQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0
QVBJCiAKLSNlbmRpZiAvLyBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5B
TF9TREspCisjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9NaWNyb3NvZnRYYm94T25lLm1t
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL01pY3Jvc29mdFhib3hP
bmUubW0KaW5kZXggODkzN2IwNTYyZTU1Yjg2YWU1NDM3MmMxOWI4ZmU5NmRiODI4YjJiMy4uZGRm
YjY1NWUyY2Q1OTVlODQ4MWFkOTIzMTcxOGMyYzdkYjRmOWVhMyAxMDA2NDQKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL01pY3Jvc29mdFhib3hPbmUubW0KKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL01pY3Jvc29mdFhib3hP
bmUubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiVmly
dHVhbEdhbWVwYWQuaCIKIAotI2lmIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lO
VEVSTkFMX1NESykKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAjaW1wb3J0IDxISUQv
SElEVXNlckRldmljZS5oPgogCkBAIC0yODksNCArMjg5LDQgQEAgR2FtZXBhZE1hcHBpbmcgVmly
dHVhbEdhbWVwYWQ6Om1pY3Jvc29mdFhib3hPbmVNYXBwaW5nKCkKIAogfSAvLyBuYW1lc3BhY2Ug
VGVzdFdlYktpdEFQSQogCi0jZW5kaWYgLy8gSEFWRShISURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQorI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU2hlbnpoZW5M
b25nc2hlbmd3ZWlUZWNobm9sb2d5R2FtZXBhZC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFj
L0dhbWVwYWRNYXBwaW5ncy9TaGVuemhlbkxvbmdzaGVuZ3dlaVRlY2hub2xvZ3lHYW1lcGFkLm1t
CmluZGV4IGY3MzI2M2RiM2JjYTRmMDU5ZjY3Y2M5MjE5ZmE0NzhmNmQzYmFkZTYuLmJhMzM3ZjI2
ZDdiMTAxODMwOGZlZGMyZDE5Yzk1OGIwOGRkMTlhMzIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9TaGVuemhlbkxvbmdzaGVuZ3dlaVRlY2hub2xv
Z3lHYW1lcGFkLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5n
cy9TaGVuemhlbkxvbmdzaGVuZ3dlaVRlY2hub2xvZ3lHYW1lcGFkLm1tCkBAIC0yNiw3ICsyNiw3
IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIlZpcnR1YWxHYW1lcGFkLmgiCiAKLSNp
ZiBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaWYgVVNF
KEFQUExFX0lOVEVSTkFMX1NESykKIAogI2ltcG9ydCA8SElEL0hJRFVzZXJEZXZpY2UuaD4KIApA
QCAtMTU0LDQgKzE1NCw0IEBAIEdhbWVwYWRNYXBwaW5nIFZpcnR1YWxHYW1lcGFkOjpzaGVuemhl
bkxvbmdzaGVuZ3dlaVRlY2hub2xvZ3lHYW1lcGFkTWFwcGluZygpCiAKIH0gLy8gbmFtZXNwYWNl
IFRlc3RXZWJLaXRBUEkKIAotI2VuZGlmIC8vIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKKyNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1NvbnlEdWFs
U2hvY2szLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1NvbnlE
dWFsU2hvY2szLm1tCmluZGV4IDQwZmQwMzUzMTRjODRmMWQ5MGQzMGVmN2NhYTI1MmM4NTYzZDgy
ZDUuLmQ2MDEyYjlmN2UzNDhiZTc1YTM4MjliZTIyZmRiYzViYjk4NDI1MTIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Tb255RHVhbFNob2NrMy5t
bQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU29ueUR1YWxT
aG9jazMubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAi
VmlydHVhbEdhbWVwYWQuaCIKIAotI2lmIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExF
X0lOVEVSTkFMX1NESykKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAjaW1wb3J0IDxI
SUQvSElEVXNlckRldmljZS5oPgogCkBAIC0yMDEsNCArMjAxLDQgQEAgR2FtZXBhZE1hcHBpbmcg
VmlydHVhbEdhbWVwYWQ6OnNvbnlEdWFsc2hvY2szTWFwcGluZygpCiAKIH0gLy8gbmFtZXNwYWNl
IFRlc3RXZWJLaXRBUEkKIAotI2VuZGlmIC8vIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKKyNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1NvbnlEdWFs
U2hvY2s0Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1NvbnlE
dWFsU2hvY2s0Lm1tCmluZGV4IDMwNmEzNmRhNmRhZTMyMzk0OTc4MjQ0NTNhYmFjNzcyNDc3MWZi
YTUuLmVhZDExZmFlN2NhZTM5NmMzOTIxZTk4YTA2OWU0MmMxYTM3YjBjNWIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Tb255RHVhbFNob2NrNC5t
bQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU29ueUR1YWxT
aG9jazQubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAi
VmlydHVhbEdhbWVwYWQuaCIKIAotI2lmIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExF
X0lOVEVSTkFMX1NESykKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAjaW1wb3J0IDxI
SUQvSElEVXNlckRldmljZS5oPgogCkBAIC0zMjgsNCArMzI4LDQgQEAgR2FtZXBhZE1hcHBpbmcg
VmlydHVhbEdhbWVwYWQ6OnNvbnlEdWFsc2hvY2s0TWFwcGluZygpCiAKIH0gLy8gbmFtZXNwYWNl
IFRlc3RXZWJLaXRBUEkKIAotI2VuZGlmIC8vIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKKyNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1N0ZWVsU2Vy
aWVzTmltYnVzLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1N0
ZWVsU2VyaWVzTmltYnVzLm1tCmluZGV4IGZiMTllYjRlN2RiYWMxZjk1NDhiMGZlNjNlMjM0OWM3
MGYxZDc1NTMuLjc5NDQ0ZjVlMTQyN2QyYTI5ZDQ0ZDc4ZTRiZTE2MDRkZmUyODQ0MmQgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9TdGVlbFNlcmll
c05pbWJ1cy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3Mv
U3RlZWxTZXJpZXNOaW1idXMubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5o
IgogI2ltcG9ydCAiVmlydHVhbEdhbWVwYWQuaCIKIAotI2lmIEhBVkUoSElEX0ZSQU1FV09SSykg
JiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQog
CiAjaW1wb3J0IDxISUQvSElEVXNlckRldmljZS5oPgogCkBAIC0xNDQsNCArMTQ0LDQgQEAgR2Ft
ZXBhZE1hcHBpbmcgVmlydHVhbEdhbWVwYWQ6OnN0ZWVsU2VyaWVzTmltYnVzTWFwcGluZygpCiAK
IH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKIAotI2VuZGlmIC8vIEhBVkUoSElEX0ZSQU1F
V09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNlbmRpZiAvLyBVU0UoQVBQTEVfSU5U
RVJOQUxfU0RLKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1h
cHBpbmdzL1N1bkxpZ2h0QXBwbGljYXRpb25HZW5lcmljTkVTLm1tIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1N1bkxpZ2h0QXBwbGljYXRpb25HZW5lcmljTkVTLm1t
CmluZGV4IDZjNTU5ZjlkZjRmOTA3YzdhODAzZjUxZDQ4N2NmNjA1NjA0OGM2MmIuLjU1NjA1ODVl
MDg3YjYzMzFhN2FlZjFiMjRmZmU0YTA5YjYwNzFmZjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9TdW5MaWdodEFwcGxpY2F0aW9uR2VuZXJpY05F
Uy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU3VuTGln
aHRBcHBsaWNhdGlvbkdlbmVyaWNORVMubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNv
bmZpZy5oIgogI2ltcG9ydCAiVmlydHVhbEdhbWVwYWQuaCIKIAotI2lmIEhBVkUoSElEX0ZSQU1F
V09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxf
U0RLKQogCiAjaW1wb3J0IDxISUQvSElEVXNlckRldmljZS5oPgogCkBAIC0xNDEsNCArMTQxLDQg
QEAgR2FtZXBhZE1hcHBpbmcgVmlydHVhbEdhbWVwYWQ6OnN1bkxpZ2h0QXBwbGljYXRpb25HZW5l
cmljTkVTTWFwcGluZygpCiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKIAotI2VuZGlm
IC8vIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNlbmRp
ZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9tYWMvVmlydHVhbEdhbWVwYWQuaCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1ZpcnR1
YWxHYW1lcGFkLmgKaW5kZXggYjIxYjk1NTY5NDcwMzI0NzEzMjc1ZGMxNWIxYWI5NWU3ZTBlZWNj
NC4uMGQ4NzZlZjQ5YjU4YTM3YjE1YjBmNDk4NzI0YzE0NjU1OWUyMzQzMiAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvVmlydHVhbEdhbWVwYWQuaAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL21hYy9WaXJ0dWFsR2FtZXBhZC5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFn
bWEgb25jZQogCi0jaWYgSEFWRShISURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxf
U0RLKQorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAKICNpbmNsdWRlIDxkaXNwYXRjaC9k
aXNwYXRjaC5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CkBAIC0xMjMsNCArMTIzLDQg
QEAgcHJpdmF0ZToKIH07CiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKLSNlbmRpZiAv
LyBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjZW5kaWYg
Ly8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvbWFjL1ZpcnR1YWxHYW1lcGFkLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvVmlydHVh
bEdhbWVwYWQubW0KaW5kZXggMGY0MjQ5OGFkNDBkMmEwZDNmODRmZjgxYWFkYmNjODczOWJmZTBh
Ny4uMTM3ODkwZDZiNmJhYWYyMGZjYjllZjQwMDM4ZjQ5MGY2MjM4NGE4YSAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvVmlydHVhbEdhbWVwYWQubW0KKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9tYWMvVmlydHVhbEdhbWVwYWQubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbXBv
cnQgImNvbmZpZy5oIgogI2ltcG9ydCAiVmlydHVhbEdhbWVwYWQuaCIKIAotI2lmIEhBVkUoSElE
X0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpZiBVU0UoQVBQTEVfSU5U
RVJOQUxfU0RLKQogCiAjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KICNpbXBvcnQg
PEhJRC9ISURCYXNlLmg+CkBAIC05Nyw0ICs5Nyw0IEBAIHZvaWQgVmlydHVhbEdhbWVwYWQ6OnB1
Ymxpc2hSZXBvcnQoKQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKLSNlbmRpZiAv
LyBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjZW5kaWYg
Ly8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQppbmRleCAyZDA1MTgyNTI3Nzg2MmNkN2Y1
MTFjZDJkZDMyODAxNGM1YThmY2U0Li43YzEwOTY0MmQ5NTM5NDNlMjI4OTVlNWE5MDdlYmYwOWY0
ODY2NTRjIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250
cm9sbGVyQ29jb2EubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29u
dHJvbGxlckNvY29hLm1tCkBAIC00NjEsMTEgKzQ2MSw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6
OmFkZFRlc3RLZXlUb0tleWNoYWluKGNvbnN0IFN0cmluZyYgcHJpdmF0ZUtleUJhc2U2NCwgY29u
c3QKICAgICAgICAgKGlkKWtTZWNBdHRyTGFiZWw6IGF0dHJMYWJlbCwKICAgICAgICAgKGlkKWtT
ZWNBdHRyQXBwbGljYXRpb25UYWc6IGFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRXaXRoQmFz
ZTY0RW5jb2RlZFN0cmluZzphcHBsaWNhdGlvblRhZ0Jhc2U2NCBvcHRpb25zOk5TRGF0YUJhc2U2
NERlY29kaW5nSWdub3JlVW5rbm93bkNoYXJhY3RlcnNdKS5nZXQoKSwKICAgICAgICAgKGlkKWtT
ZWNBdHRyQWNjZXNzaWJsZTogKGlkKWtTZWNBdHRyQWNjZXNzaWJsZUFmdGVyRmlyc3RVbmxvY2ss
Ci0jaWYgSEFWRShEQVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4pCiAgICAgICAgIChpZClrU2VjVXNl
RGF0YVByb3RlY3Rpb25LZXljaGFpbjogQFlFUwotI2Vsc2UKLSAgICAgICAgKGlkKWtTZWNBdHRy
Tm9MZWdhY3k6IEBZRVMKLSNlbmRpZgogICAgIH07CiAgICAgT1NTdGF0dXMgc3RhdHVzID0gU2Vj
SXRlbUFkZCgoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKWFkZFF1ZXJ5LCBOVUxMKTsKICAgICBB
U1NFUlRfVU5VU0VEKHN0YXR1cywgIXN0YXR1cyk7CkBAIC00NzYsMTEgKzQ3Miw3IEBAIHZvaWQg
VGVzdENvbnRyb2xsZXI6OmNsZWFuVXBLZXljaGFpbihjb25zdCBTdHJpbmcmIGF0dHJMYWJlbCwg
Y29uc3QgU3RyaW5nJiBhcHBsCiAgICAgYXV0byBkZWxldGVRdWVyeSA9IGFkb3B0TlMoW1tOU011
dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0XSk7CiAgICAgW2RlbGV0ZVF1ZXJ5IHNldE9iamVj
dDooaWQpa1NlY0NsYXNzS2V5IGZvcktleTooaWQpa1NlY0NsYXNzXTsKICAgICBbZGVsZXRlUXVl
cnkgc2V0T2JqZWN0OmF0dHJMYWJlbCBmb3JLZXk6KGlkKWtTZWNBdHRyTGFiZWxdOwotI2lmIEhB
VkUoREFUQV9QUk9URUNUSU9OX0tFWUNIQUlOKQogICAgIFtkZWxldGVRdWVyeSBzZXRPYmplY3Q6
QFlFUyBmb3JLZXk6KGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktleWNoYWluXTsKLSNlbHNlCi0g
ICAgW2RlbGV0ZVF1ZXJ5IHNldE9iamVjdDpAWUVTIGZvcktleTooaWQpa1NlY0F0dHJOb0xlZ2Fj
eV07Ci0jZW5kaWYKICAgICBpZiAoISFhcHBsaWNhdGlvbkxhYmVsQmFzZTY0KQogICAgICAgICBb
ZGVsZXRlUXVlcnkgc2V0T2JqZWN0OmFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRXaXRoQmFz
ZTY0RW5jb2RlZFN0cmluZzphcHBsaWNhdGlvbkxhYmVsQmFzZTY0IG9wdGlvbnM6TlNEYXRhQmFz
ZTY0RGVjb2RpbmdJZ25vcmVVbmtub3duQ2hhcmFjdGVyc10pLmdldCgpIGZvcktleTooaWQpa1Nl
Y0F0dHJBcHBsaWNhdGlvbkxhYmVsXTsKIApAQCAtNDk0LDExICs0ODYsNyBAQCBib29sIFRlc3RD
b250cm9sbGVyOjprZXlFeGlzdHNJbktleWNoYWluKGNvbnN0IFN0cmluZyYgYXR0ckxhYmVsLCBj
b25zdCBTdHJpbmcmCiAgICAgICAgIChpZClrU2VjQXR0cktleUNsYXNzOiAoaWQpa1NlY0F0dHJL
ZXlDbGFzc1ByaXZhdGUsCiAgICAgICAgIChpZClrU2VjQXR0ckxhYmVsOiBhdHRyTGFiZWwsCiAg
ICAgICAgIChpZClrU2VjQXR0ckFwcGxpY2F0aW9uTGFiZWw6IGFkb3B0TlMoW1tOU0RhdGEgYWxs
b2NdIGluaXRXaXRoQmFzZTY0RW5jb2RlZFN0cmluZzphcHBsaWNhdGlvbkxhYmVsQmFzZTY0IG9w
dGlvbnM6TlNEYXRhQmFzZTY0RGVjb2RpbmdJZ25vcmVVbmtub3duQ2hhcmFjdGVyc10pLmdldCgp
LAotI2lmIEhBVkUoREFUQV9QUk9URUNUSU9OX0tFWUNIQUlOKQogICAgICAgICAoaWQpa1NlY1Vz
ZURhdGFQcm90ZWN0aW9uS2V5Y2hhaW46IEBZRVMKLSNlbHNlCi0gICAgICAgIChpZClrU2VjQXR0
ck5vTGVnYWN5OiBAWUVTCi0jZW5kaWYKICAgICB9OwogICAgIE9TU3RhdHVzIHN0YXR1cyA9IFNl
Y0l0ZW1Db3B5TWF0Y2hpbmcoKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilxdWVyeSwgTlVMTCk7
CiAgICAgaWYgKCFzdGF0dXMpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439925</attachid>
            <date>2021-10-01 16:10:56 -0700</date>
            <delta_ts>2021-10-01 17:03:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231085-20211001161055.patch</filename>
            <type>text/plain</type>
            <size>102944</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNDEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
NmE0NzgzNzQxODc2ZDYzNmVlNTA3N2I4NzY0MzRkOTkxOWQ2N2Y2Li43Mjk3ODUwMmE2NDVmYzc4
MGRlMmI0ZWMxMDU4M2NhMDI4MDZmZmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAyMS0xMC0wMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIERyb3Agc3VwcG9ydCBmb3IgbWFjT1MgPCAxMC4xNQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMDg1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBBUEkvdGVzdHMvdGVzdGFwaS5tbToKKyAg
ICAgICAgKHRlc3RPYmplY3RpdmVDQVBJTWFpbik6CisKIDIwMjEtMTAtMDEgIFl1c3VrZSBTdXp1
a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBEaXNhYmxlIG5ldyBpbmN1bWJlbnQt
d2luZG93IHVudGlsIGl0IGlzIGZ1bGx5IGltcGxlbWVudGVkCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL0NoYW5nZUxvZwppbmRleCA4MDgzMmFhOWEzMzM4YTBjNDM3NjBkYzM0Njc3YzQzZWE0YjVm
MzFiLi42ZjRmZDM4NjdhMDAzYWQzMDUzY2E3ZTAwZTVmYjQyY2U5OTY5ODNiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMS0xMC0wMSAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3Agc3VwcG9ydCBm
b3IgbWFjT1MgPCAxMC4xNQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjMxMDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAg
ICAgICAgKiBTb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsu
aDoKKwogMjAyMS0wOS0zMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAg
ICAgICAgU3VwcG9ydCBBRVMgR0NNIGNpcGhlcnMgaW4gV2ViUlRDCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGMyMmFlZmJlZTFi
N2E5M2JiYjk0MTU3ODg4YWZlMmNhZmE0NGI3NzYuLjU1Y2Y3YzAxMTIzNDk4NmM2M2E2OGJjM2M0
YThiNTc1MjliNmMwZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMTAtMDEgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIHN1cHBvcnQgZm9yIG1hY09T
IDwgMTAuMTUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzMTA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICog
d3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1IYXZlLmg6
CisgICAgICAgICogd3RmL1BsYXRmb3JtVXNlLmg6CisKIDIwMjEtMTAtMDEgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBQdXNoRXZl
bnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCAwOTA5MDk2MWZmMDFkMjY2NmVlYmI0OWEyZjNlZGIzYzBhZTg3MzY4
Li5lNDE1MTQ5OGYzNTJkNDY1ZTUyYmQwMmRkMjVlYjU1YTdhYjAwNDBjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMjEtMTAtMDEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KKworICAgICAgICBEcm9wIHN1cHBvcnQgZm9yIG1hY09TIDwgMTAuMTUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTA4NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kSG9zdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZEhvc3Q6
OnBsYXRmb3JtVmVyc2lvbk5hbWUgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
Y29jb2EvQ29va2llQ29jb2EubW06CisKIDIwMjEtMTAtMDEgIFl1c3VrZSBTdXp1a2kgIDx5c3V6
dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBEaXNhYmxlIG5ldyBpbmN1bWJlbnQtd2luZG93IHVu
dGlsIGl0IGlzIGZ1bGx5IGltcGxlbWVudGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBhMWYzNzM4
YWFiNGEwN2E4ZDczOTE3MjExMTkwNjZjYmM3MGMyMDA0Li5iNTIyMWE0ZjZmNTE5MjliNGI5MGE4
YWM0MTUzNDAwMzE3MWVlNDZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAyMS0xMC0wMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERy
b3Agc3VwcG9ydCBmb3IgbWFjT1MgPCAxMC4xNQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCisKKyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW06Cisg
ICAgICAgICogcGFsL3NwaS9jb2NvYS9BVkZvdW5kYXRpb25TUEkuaDoKKyAgICAgICAgKiBwYWwv
c3BpL21hYy9OU01lbnVTUEkuaDoKKyAgICAgICAgKiBwYWwvc3BpL21hYy9OU1ZpZXdTUEkuaDoK
KwogMjAyMS0xMC0wMSAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4K
IAogICAgICAgICBHUFUgUHJvY2VzcyBtaWNyb3Bob25lIGF0dHJpYnV0aW9uIFNQSSBhZG9wdGlv
bgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCA2MGY3NDY4MzAyY2QyZTAxNzY4Y2RjODgwNmUyMWViNGYwMWZmYjFkLi5k
NmE4OTIwMTc5ZDE5YWRlN2I5MTY0ZDY4ODY4YTQ2MDBmODhjZmI5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIwIEBACisyMDIxLTEwLTAxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisK
KyAgICAgICAgRHJvcCBzdXBwb3J0IGZvciBtYWNPUyA8IDEwLjE1CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwODUKKworICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL21hYy9jb20uYXBw
bGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiLmluOgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9B
cmd1bWVudENvZGVyc0NvY29hLm1tOgorICAgICAgICAoLVtXS1NlY3VyZUNvZGluZ0FyY2hpdmlu
Z0RlbGVnYXRlIGFyY2hpdmVyOndpbGxFbmNvZGVPYmplY3Q6XSk6CisgICAgICAgICogU2hhcmVk
L0NvY29hL0NvcmVUZXh0SGVscGVycy5tbToKKyAgICAgICAgKFdlYktpdDo6Zm9udFdpdGhBdHRy
aWJ1dGVzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y3JlYXRlTmV0d29ya0V4dGVuc2lvbnNT
YW5kYm94RXh0ZW5zaW9ucyk6CisgICAgICAgICogV2ViQXV0aG5Qcm9jZXNzL21hYy9jb20uYXBw
bGUuV2ViS2l0LldlYkF1dGhuUHJvY2Vzcy5zYi5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2Nv
bS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluOgorCiAyMDIxLTEwLTAxICBJYW4gQW5kZXJzb24gIDxp
YW5hQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJLaXRMZWdhY3kncyBtb2R1bGUgbWFwIGZpbGVz
IGRvbid0IGdldCBpbnN0YWxsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA0NmQx
MDNhMTg2NmYzOTQ4YTE2YWRlOWM0ZTdkMmI0MzMxODA2MWJkLi41OWQ4NThkZDcwMDI4M2M1Yzg4
OTQwZjRlOGYwMWI3ODUxZjExOGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMjEtMTAtMDEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
KworICAgICAgICBEcm9wIHN1cHBvcnQgZm9yIG1hY09TIDwgMTAuMTUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTA4NQorCisgICAgICAgIFJldmll
d2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogV2ViVmlldy9XZWJIVE1MVmlldy5tbToK
KyAgICAgICAgKC1bV2ViSFRNTFZpZXcgX3JlY3Vyc2l2ZTpkaXNwbGF5UmVjdElnbm9yaW5nT3Bh
Y2l0eTppbkNvbnRleHQ6c3RvcEF0TGF5ZXJCYWNrZWRWaWV3czpdKToKKyAgICAgICAgKC1bV2Vi
SFRNTFZpZXcgX3JlY3Vyc2l2ZTpkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTppbkNvbnRleHQ6
c3RvcEF0TGF5ZXJCYWNrZWRWaWV3czpfcmVjdXJzaXZlOmRpc3BsYXlSZWN0SWdub3JpbmdPcGFj
aXR5OmluQ29udGV4dDpzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6c3RvcEF0TGF5ZXJC
YWNrZWRWaWV3czpdKTogRGVsZXRlZC4KKwogMjAyMS0xMC0wMSAgSWFuIEFuZGVyc29uICA8aWFu
YUBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViS2l0TGVnYWN5J3MgbW9kdWxlIG1hcCBmaWxlcyBk
b24ndCBnZXQgaW5zdGFsbGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L3Rlc3RzL3Rlc3RhcGkubW0gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL3Rlc3Rh
cGkubW0KaW5kZXggZjJlYzQyYmE4ODhhZjc0OWE2MDRjNzgwN2ZlM2Y1NTEzOTQ2NTRlYy4uNDNh
ZjI5OTY2YTMzZDMwZWZlZTJlMzVhZjMxOGUyNjk2YTBiYjI2MSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLm1tCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9BUEkvdGVzdHMvdGVzdGFwaS5tbQpAQCAtNjQzLDEwICs2NDMsNiBAQCBzdGF0aWMg
dm9pZCB0ZXN0T2JqZWN0aXZlQ0FQSU1haW4oKQogICAgICAgICBjaGVja1Jlc3VsdChAIlNob3Vs
ZCBiZSBhIGNyZWF0ZWQgZnJvbSBPYmotQyIsIHN5bWJvbC5pc1N5bWJvbCk7CiAgICAgfQogCi0v
LyBPbGRlciBwbGF0Zm9ybXMgaWZkZWYgdGhlIHR5cGUgb2Ygc29tZSBzZWxlY3RvcnMgc28gdGhl
c2UgdGVzdHMgZG9uJ3Qgd29yay4KLS8vIEZJWE1FOiBSZW1vdmUgdGhpcyB3aGVuIHdlIHN0b3Ag
YnVpbGRpbmcgZm9yIG1hY09TIDEwLjE0L2lPUyAxMi4KLSNpZiAoZGVmaW5lZChfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMTUwMCkgfHwgKGRlZmluZWQoX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQp
ICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkKLQogICAgIEBh
dXRvcmVsZWFzZXBvb2wgewogICAgICAgICBKU0NvbnRleHQgKmNvbnRleHQgPSBbW0pTQ29udGV4
dCBhbGxvY10gaW5pdF07CiAgICAgICAgIEpTVmFsdWUgKmFycmF5SXRlcmF0b3IgPSBbY29udGV4
dCBldmFsdWF0ZVNjcmlwdDpAIkFycmF5LnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdIl07CkBA
IC03MzIsOCArNzI4LDYgQEAgc3RhdGljIHZvaWQgdGVzdE9iamVjdGl2ZUNBUElNYWluKCkKICAg
ICAgICAgY2hlY2tSZXN1bHQoQCJpdGVyYXRpb24gY291bnQgc2hvdWxkIGJlIDEiLCBbY291bnQg
dG9VSW50MzJdID09IDEpOwogICAgIH0KIAotI2VuZGlmCi0KICAgICBAYXV0b3JlbGVhc2Vwb29s
IHsKICAgICAgICAgSlNDb2xsZWN0aW9uKiBteVByaXZhdGVQcm9wZXJ0aWVzID0gW1tKU0NvbGxl
Y3Rpb24gYWxsb2NdIGluaXRdOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1ZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmgg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1Zp
ZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmgKaW5kZXggY2EwZDk5OGRkYTcwYjhmMzJjYzIzMzIzNzFj
N2U2ZTIzZDBhNmJlYS4uOWFjZjA4ZjY2NGE0ODk2NTA2ZTA2OWNlYzQxODVkMTEwNDAwMzY3MiAx
MDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2Rr
L1dlYktpdC9WaWRlb1Byb2Nlc3NpbmdTb2Z0TGluay5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvVmlkZW9Qcm9jZXNzaW5nU29mdExp
bmsuaApAQCAtNDIsNyArNDIsNyBAQAogI2RlZmluZSBFTkFCTEVfVkNQX0ZPUl9IMjY0X0JBU0VM
SU5FIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE1MDAwMAogI2VsaWYgKGRl
ZmluZWQoVEFSR0VUX09TX01BQykgJiYgVEFSR0VUX09TX01BQykKICNkZWZpbmUgRU5BQkxFX1ZD
UF9FTkNPREVSIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMTAwMDAKLSNkZWZp
bmUgRU5BQkxFX1ZDUF9WVEJfRU5DT0RFUiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMTUwMCAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTEwMDAwCisj
ZGVmaW5lIEVOQUJMRV9WQ1BfVlRCX0VOQ09ERVIgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA8IDExMDAwMAogI2RlZmluZSBIQVZFX1ZUQl9SRVFVSVJFRExPV0xBVEVOQ1kgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDAKICNkZWZpbmUgRU5BQkxFX1ZDUF9G
T1JfSDI2NF9CQVNFTElORSBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEyMDAw
MAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29h
LmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKaW5kZXggODdiMmIxY2Nl
Y2I5NWU2ZWEyMjY3Y2IzNWJmNmExMmUyZTZhNzU5YS4uY2M1YzdlMWUzZjQ3NTQyNjZkOWRmZWFi
NTA3MTkwZDYzY2I4YTc4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFi
bGVDb2NvYS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaApAQCAt
MTcyLDcgKzE3Miw3IEBACiAjZW5kaWYKIAogLy8gRklYTUU6IFNlZW1zIGxpa2VseSB0aGlzIGNh
biBiZSBlbmFibGVkIGZvciB0dk9TLgotI2lmICFkZWZpbmVkKEVOQUJMRV9DU1NfQ09OSUNfR1JB
RElFTlRTKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA8IDEwMTQwMCkgJiYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgIWRlZmluZWQoRU5BQkxF
X0NTU19DT05JQ19HUkFESUVOVFMpICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBFTkFC
TEVfQ1NTX0NPTklDX0dSQURJRU5UUyAxCiAjZW5kaWYKIApAQCAtMjI4LDcgKzIyOCw3IEBACiAj
ZGVmaW5lIEVOQUJMRV9FRElUQUJMRV9SRUdJT04gMQogI2VuZGlmCiAKLSNpZiAhZGVmaW5lZChF
TkFCTEVfRU5DUllQVEVEX01FRElBKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTQwMCkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQor
I2lmICFkZWZpbmVkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICYmICFQTEFURk9STShNQUNDQVRB
TFlTVCkKICNkZWZpbmUgRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSAxCiAjZW5kaWYKIApAQCAtNDAy
LDcgKzQwMiw3IEBACiAjZW5kaWYKIAogLy8gRklYTUU6IFdlIGFsbW9zdCBjZXJ0YWlubHkgZG8g
bm90IG5lZWQgdGhpcyBtb25vc3BhY2UgZm9udCBleGNlcHRpb24gZm9yIHdhdGNoT1MgYW5kIHR2
T1MuCi0jaWYgIWRlZmluZWQoRU5BQkxFX01PTk9TUEFDRV9GT05UX0VYQ0VQVElPTikgJiYgKChQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDAp
IHx8IFBMQVRGT1JNKFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQUExFVFYpKQorI2lmICFkZWZpbmVk
KEVOQUJMRV9NT05PU1BBQ0VfRk9OVF9FWENFUFRJT04pICYmIChQTEFURk9STShXQVRDSE9TKSB8
fCBQTEFURk9STShBUFBMRVRWKSkKICNkZWZpbmUgRU5BQkxFX01PTk9TUEFDRV9GT05UX0VYQ0VQ
VElPTiAxCiAjZW5kaWYKIApAQCAtNDk0LDcgKzQ5NCw3IEBACiAjZGVmaW5lIEVOQUJMRV9SRVNP
VVJDRV9VU0FHRSAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9SRVZFQUwpICYmICEo
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAw
KSAmJiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgIWRlZmlu
ZWQoRU5BQkxFX1JFVkVBTCkgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBM
RVRWKQogI2RlZmluZSBFTkFCTEVfUkVWRUFMIDEKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5o
CmluZGV4IDE5N2YxYmE3NWY0ZTBjMmM5ZmQ2NDA1ODllNTU5YzNjMjI1ZTM0Y2QuLjEwMjg2OTUx
MDg5OWZmY2M2MDQwZDMzM2ZmNDVlM2NlNWJkMDJiYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCkBA
IC0yNTAsNyArMjUwLDcgQEAKICNkZWZpbmUgSEFWRV9GSkNWVFpTX0lOU1RSVUNUSU9OIDEKICNl
bmRpZgogCi0jaWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYg
IVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKSAmJiAhUExBVEZPUk0oTUFD
Q0FUQUxZU1QpCiAjZGVmaW5lIEhBVkVfQVBQX0xJTktTIDEKICNlbmRpZgogCkBAIC0zMTgsMTAg
KzMxOCw3IEBACiAjZGVmaW5lIEhBVkVfSU9TVVJGQUNFX0FDQ0VMRVJBVE9SIDEKICNlbmRpZgog
Ci0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMDE1MDApIFwKLSAgICB8fCAoKChQTEFURk9STShJT1MpICYmICFQTEFURk9STShJT1NfRkFN
SUxZX1NJTVVMQVRPUikpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSkgJiYgX19JUEhPTkVfT1Nf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwKSBcCi0gICAgfHwgKFBMQVRGT1JNKFdBVENI
T1MpICYmICFQTEFURk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikgJiYgX19XQVRDSF9PU19WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSA2MDAwMCkgXAotICAgIHx8IChQTEFURk9STShBUFBMRVRWKSAm
JiAhUExBVEZPUk0oSU9TX0ZBTUlMWV9TSU1VTEFUT1IpICYmIF9fVFZfT1NfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTMwMDAwKQorI2lmIFBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKElPU19G
QU1JTFlfU0lNVUxBVE9SKQogI2RlZmluZSBIQVZFX0lPU1VSRkFDRV9TRVRfT1dORVJTSElQIDEK
ICNlbmRpZgogCkBAIC0zNTgsNyArMzU1LDcgQEAKICNkZWZpbmUgSEFWRV9UT1VDSF9CQVIgMQog
I2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApICYmICFQTEFURk9STShXQVRDSE9T
KSAmJiAhUExBVEZPUk0oQVBQTEVUVikKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVBMQVRGT1JN
KFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBIQVZFX0hTVFNfU1RPUkFH
RV9QQVRIIDEKICNlbmRpZgogCkBAIC0zODcsMTAgKzM4NCw2IEBACiAjZGVmaW5lIEhBVkVfRk9V
TkRBVElPTl9XSVRIX1NBTUVfU0lURV9DT09LSUVfU1VQUE9SVCAxCiAjZW5kaWYKIAotI2lmIFBM
QVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgMTAxNDAwCi0j
ZGVmaW5lIEhBVkVfTlNIVFRQQ09PS0lFU1RPUkFHRV9fSU5JVFdJVEhJREVOVElGSUVSX1dJVEhf
SU5BQ0NVUkFURV9OVUxMQUJJTElUWSAxCi0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKE1BQykgfHwg
UExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkgfHwgUExBVEZPUk0oR1RLKSB8
fCBQTEFURk9STShXUEUpCiAjZGVmaW5lIEhBVkVfT1NfREFSS19NT0RFX1NVUFBPUlQgMQogI2Vu
ZGlmCkBAIC0zOTksNyArMzkyLDcgQEAKICNkZWZpbmUgSEFWRV9DR19GT05UX1JFTkRFUklOR19H
RVRfRk9OVF9TTU9PVEhJTkdfRElTQUJMRUQgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCisjaWYgUExBVEZP
Uk0oTUFDKQogI2RlZmluZSBIQVZFX1JFQURfT05MWV9TWVNURU1fVk9MVU1FIDEKICNlbmRpZgog
CkBAIC00MzEsMTEgKzQyNCwxMSBAQAogI2RlZmluZSBIQVZFX0FDQ0VTU0lCSUxJVFlfQlVORExF
U19QQVRIIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0oTUFD
KSAmJiAhKF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDE0MDQpKQorI2lmIFBMQVRGT1JNKENPQ09B
KQogI2RlZmluZSBIQVZFX0NGTkVUV09SS19PVkVSUklERV9TRVNTSU9OX0NPT0tJRV9BQ0NFUFRf
UE9MSUNZIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKSAmJiAhUExBVEZP
Uk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgUExBVEZPUk0oQ09DT0EpICYm
ICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKICNkZWZpbmUgSEFWRV9D
Rk5FVFdPUktfTlNVUkxTRVNTSU9OX1NUUklDVFJVU1RFVkFMVUFURSAxCiAjZW5kaWYKIApAQCAt
NDQ2LDIxICs0MzksNiBAQAogI2RlZmluZSBIQVZFX0NGTkVUV09SS19OU1VSTFNFU1NJT05fQ09O
TkVDVElPTl9DQUNIRV9MSU1JVFMgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKLSNkZWZpbmUgSEFWRV9DRk5FVFdPUktfTkVHT1RJQVRFRF9TU0xfUFJPVE9DT0xf
Q0lQSEVSIDEKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBf
X0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDApIHx8IFBMQVRGT1JNKE1B
Q0NBVEFMWVNUKSB8fCBQTEFURk9STShXQVRDSE9TKSB8fCBQTEFURk9STShBUFBMRVRWKQotI2Rl
ZmluZSBIQVZFX0NGTkVUV09SS19TQU1FU0lURV9DT09LSUVfQVBJIDEKLSNlbmRpZgotCi0jaWYg
KFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1
MDApIFwKLSAgICB8fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMzAwMDApIFwKLSAgICB8fCAoUExBVEZPUk0oV0FUQ0hPUykgJiYgX19XQVRD
SF9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSA2MDAwMCkgXAotICAgIHx8IChQTEFURk9STShB
UFBMRVRWKSAmJiBfX1RWX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkKLSNkZWZp
bmUgSEFWRV9DRk5FVFdPUktfTUVUUklDU19DT05ORUNUSU9OX1BST1BFUlRJRVMgMQotI2VuZGlm
Ci0KICNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
PCAxMjAwMDAKICNkZWZpbmUgSEFWRV9TQUZBUklfRk9SX1dFQktJVF9ERVZFTE9QTUVOVF9SRVFV
SVJJTkdfRVhUUkFfU1lNQk9MUyAxCiAjZW5kaWYKQEAgLTQ3NywxNSArNDU1LDE1IEBACiAjZGVm
aW5lIEhBVkVfQ0ZORVRXT1JLX0FMVEVSTkFUSVZFX1NFUlZJQ0UgMQogI2VuZGlmCiAKLSNpZiBQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAw
CisjaWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX0NTQ0hFQ0tGSVhESVNBQkxFIDEKICNl
bmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKSAmJiAhUExBVEZPUk0oV0FUQ0hPUykg
JiYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmICFQTEFURk9STShX
QVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKICNkZWZpbmUgSEFWRV9NRE5TX0ZBU1RfUkVH
SVNUUkFUSU9OIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKSAmJiAhUExB
VEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgUExBVEZPUk0oQ09DT0Ep
ICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKICNkZWZpbmUgSEFW
RV9DVEZPTlRDUkVBVEVGT1JDSEFSQUNURVJTV0lUSExBTkdVQUdFQU5ET1BUSU9OIDEKICNlbmRp
ZgogCkBAIC01MTgsMTEgKzQ5NiwxMSBAQAogI2RlZmluZSBIQVZFX0xPT0tVUF9HRVNUVVJFX1JF
Q09HTklaRVIgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNp
ZiBQTEFURk9STShDT0NPQSkKICNkZWZpbmUgSEFWRV9BTExPV1NfU0VOU0lUSVZFX0xPR0dJTkcg
MQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNpZiBQTEFURk9S
TShDT0NPQSkKICNkZWZpbmUgSEFWRV9GQUlSUExBWVNUUkVBTUlOR19DRU5DX0lOSVREQVRBIDEK
ICNlbmRpZgogCkBAIC01NDYsNyArNTI0LDcgQEAKICNkZWZpbmUgSEFWRV9OV1BBUkFNRVRFUlNf
VFJBQ0tFUl9BUEkgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApICYmICFQ
TEFURk9STShNQUNDQVRBTFlTVCkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVBMQVRGT1JNKE1B
Q0NBVEFMWVNUKQogI2RlZmluZSBIQVZFX0FWUExBWUVSX1JFU09VUkNFX0NPTlNFUlZBVElPTl9M
RVZFTCAxCiAjZW5kaWYKIApAQCAtNTYyLDMxICs1NDAsMTEgQEAKICNkZWZpbmUgSEFWRV9DT1JF
VEVYVF9BVVRPX09QVElDQUxfU0laSU5HIDEKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkKLSNkZWZpbmUgSEFW
RV9OU0ZPTlRfV0lUSF9PUFRJQ0FMX1NJWklOR19CVUcgMQotI2VuZGlmCi0KLSNpZiAoUExBVEZP
Uk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTUwMCkpCisjaWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUMpCiAjZGVm
aW5lIEhBVkVfQVBQX1NTTyAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhKFBM
QVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkK
LSNkZWZpbmUgSEFWRV9UTFNfUFJPVE9DT0xfVkVSU0lPTl9UIDEKLSNlbmRpZgotCi0jaWYgUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMAot
I2RlZmluZSBIQVZFX1NVQlZJRVdTX0lWQVJfU1BJIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMDE1MDAKLSNkZWZpbmUg
SEFWRV9TVUJWSUVXU19JVkFSX0RFQ0xBUkVEX0JZX1NESyAxCi0jZW5kaWYKLQotI2lmIFBMQVRG
T1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTUwMAotI2Rl
ZmluZSBIQVZFX0FYX0NMSUVOVF9UWVBFIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ09DT0Ep
ICYmICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwg
MTAxNTAwKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCisjaWYgUExBVEZPUk0oQ09DT0EpICYm
ICFQTEFURk9STShNQUNDQVRBTFlTVCkKICNkZWZpbmUgSEFWRV9ERVNJR05fU1lTVEVNX1VJX0ZP
TlRTIDEKICNlbmRpZgogCkBAIC01OTQsMTEgKzU1Miw3IEBACiAjZGVmaW5lIEhBVkVfQ09PS0lF
X0NIQU5HRV9MSVNURU5FUl9BUEkgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKLSNkZWZpbmUgSEFWRV9EQVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4gMQotI2VuZGlm
Ci0KLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMTUwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShJT1NfRkFN
SUxZX1NJTVVMQVRPUikpCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oSU9TX0ZBTUlM
WV9TSU1VTEFUT1IpCiAjZGVmaW5lIEhBVkVfTkVBUl9GSUVMRCAxCiAjZW5kaWYKIApAQCAtNjA2
LDEwICs1NjAsNiBAQAogI2RlZmluZSBIQVZFX09TX1NJR05QT1NUIDEKICNlbmRpZgogCi0jaWYg
KFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1
MDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMzAwMDApCi0jZGVmaW5lIEhBVkVfQVZBU1NFVFdSSVRFUkRFTEVHQVRFIDEK
LSNlbmRpZgotCiAjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMTAwMDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9P
U19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNDAwMDApCiAjZGVmaW5lIEhBVkVfQVZBU1NFVFdS
SVRFUkRFTEVHQVRFX0FQSSAxCiAjZW5kaWYKQEAgLTYyNiwyMiArNTc2LDE0IEBACiAjZGVmaW5l
IEhBVkVfTlNQUk9HUkVTU19QVUJMSVNISU5HX1NQSSAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCAo
UExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTMwMDAwKQotI2RlZmluZSBIQVZFX0dDRVhURU5ERURHQU1FUEFEX0JVVFRPTlNfT1BUSU9O
U19NRU5VIDEKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjZGVmaW5lIEhBVkVfR0NF
WFRFTkRFREdBTUVQQURfQlVUVE9OU19USFVNQlNUSUNLIDEKICNlbmRpZgogCi0jaWYgKFBMQVRG
T1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApCisj
aWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBIQVZFX01VTFRJR0FNRVBBRFBST1ZJREVSX1NVUFBP
UlQgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTUwMCkKLSNkZWZpbmUgSEFWRV9ISURfRlJBTUVXT1JLIDEKLSNl
bmRpZgotCiAjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMTAwMDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNDAwMDApCiAjZGVmaW5lIEhBVkVfR0NFWFRFTkRFREdB
TUVQQURfSE9NRV9CVVRUT04gMQogI2VuZGlmCkBAIC03MDIsMTggKzY0NCwxMCBAQAogI2RlZmlu
ZSBIQVZFX01FRElBX1VTQUdFX0ZSQU1FV09SSyAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKElP
UykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMDE1MDApCi0jZGVmaW5lIEhBVkVfUEFTU0tJVF9CT1VORF9JTlRFUkZBQ0VfSURFTlRJRklF
UiAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApCisjaWYgUExBVEZPUk0oSU9T
KSB8fCBQTEFURk9STShNQUMpCiAjZGVmaW5lIEhBVkVfUEFTU0tJVF9JTlNUQUxMTUVOVFMgMQog
I2VuZGlmCiAKLSNpZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKQotI2RlZmluZSBIQVZFX1BBU1NLSVRf
UEFZTUVOVF9NRVRIT0RfQklMTElOR19BRERSRVNTIDEKLSNlbmRpZgotCiAjaWYgKFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMjAwMDApIHx8IChQ
TEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE1MDAw
MCkKICNkZWZpbmUgSEFWRV9QQVNTS0lUX1JFQ1VSUklOR19TVU1NQVJZX0lURU0gMQogI2RlZmlu
ZSBIQVZFX1BBU1NLSVRfREVGRVJSRURfU1VNTUFSWV9JVEVNIDEKQEAgLTcyMyw3ICs2NTcsNyBA
QAogI2RlZmluZSBIQVZFX1BBU1NLSVRfVVBEQVRFX1NISVBQSU5HX01FVEhPRFNfV0hFTl9DSEFO
R0lOR19TVU1NQVJZX0lURU1TIDEKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IFBMQVRGT1JNKElPUykg
fHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmICFQTEFURk9S
TShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKICNkZWZpbmUgSEFWRV9RVUlDS0xPT0tf
VEhVTUJOQUlMSU5HIDEKICNlbmRpZgogCkBAIC03ODcsMTAgKzcyMSw2IEBACiAjZGVmaW5lIEhB
VkVfQ1RGT05USVNTWVNURU1VSUZPTlQgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkg
JiYgIShQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAx
MDE1MDApCi0jZGVmaW5lIEhBVkVfQ1RGT05UR0VUUEhZU0lDQUxTWU1CT0xJQ1RSQUlUUyAxCi0j
ZW5kaWYKLQogI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTEwMDAwKSBcCiAgICAgfHwgKChQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1B
Q0NBVEFMWVNUKSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTQwMDAw
KSBcCiAgICAgfHwgKFBMQVRGT1JNKFdBVENIT1MpICYmIF9fV0FUQ0hfT1NfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gNzAwMDApIFwKQEAgLTg3OCw3ICs4MDgsNyBAQAogI2RlZmluZSBIQVZFX0FW
T1VUUFVUREVWSUNFX1NQQVRJQUxBVURJTyAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKElPUykg
fHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAh
UExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCiAjZGVmaW5lIEhBVkVfU1BF
RUNIUkVDT0dOSVpFUiAxCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxh
dGZvcm1Vc2UuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKaW5kZXggNTE3MzcyMTdh
NTUxNDJhZjA5NmFlOTVhYjZjMzQwMTE3MTc5ODM1Yy4uOWM5ZjgwZTNmZDFiMzJkMzJjMTIwYmY0
Y2M1OTg3NzlkODFlNGZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2Uu
aAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oCkBAIC0xODksMTAgKzE4OSw2IEBA
CiAjZGVmaW5lIFVTRV9JTUxBTkdfRk9OVF9MSU5LMiAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgMTAxNTAwCi0jZGVmaW5l
IFVTRV9BVl9TQU1QTEVfQlVGRkVSX0RJU1BMQVlfTEFZRVIgMQotI2VuZGlmCi0KICNpZiBQTEFU
Rk9STShDT0NPQSkgfHwgUExBVEZPUk0oR1RLKQogI2RlZmluZSBVU0VfVU5JRklFRF9URVhUX0NI
RUNLSU5HIDEKICNlbmRpZgpAQCAtMjU5LDcgKzI1NSw3IEBACiAjZGVmaW5lIFVTRV9ESUNUQVRJ
T05fQUxURVJOQVRJVkVTIDEKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDE1MDApIHx8IFBMQVRGT1JNKElPU19GQU1JTFkpCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgVVNF
KEFQUExFX0lOVEVSTkFMX1NESykpIHx8IFBMQVRGT1JNKElPU19GQU1JTFkpCiAjZGVmaW5lIFVT
RV9TT1VSQ0VfQVBQTElDQVRJT05fQVVESVRfREFUQSAxCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcm92aWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRl
clByb3ZpZGVyLmNwcAppbmRleCA2YTVjNGNiMzQ1ZjljMDY5OWY2ZjY1NWM5ZTQwYzEwOWY2NDc0
OGJiLi43Nzc2YWZlYzc2NGQyNTg2MDI3ODRmODA2M2IxZWNjODU0MzgxNzExIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByb3Zp
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFS
ZWNvcmRlclByb3ZpZGVyLmNwcApAQCAtMzYsMTMgKzM2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBzdGQ6OnVuaXF1ZV9wdHI8TWVkaWFSZWNvcmRlclByaXZhdGU+IE1lZGlhUmVjb3JkZXJQ
cm92aWRlcjo6Y3JlYXRlTWVkaWFSZWNvcmRlclByaXZhdGUoTWVkaWFTdHJlYW1Qcml2YXRlJiBz
dHJlYW0sIGNvbnN0IE1lZGlhUmVjb3JkZXJQcml2YXRlT3B0aW9ucyYgb3B0aW9ucykKIHsKLSNp
ZiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKICAgICByZXR1cm4gTWVkaWFSZWNvcmRlclBy
aXZhdGVBVkZJbXBsOjpjcmVhdGUoc3RyZWFtLCBvcHRpb25zKTsKLSNlbHNlCi0gICAgVU5VU0VE
X1BBUkFNKHN0cmVhbSk7Ci0gICAgVU5VU0VEX1BBUkFNKG9wdGlvbnMpOwotICAgIHJldHVybiBu
dWxscHRyOwotI2VuZGlmCiB9CiAKIGJvb2wgTWVkaWFSZWNvcmRlclByb3ZpZGVyOjppc1N1cHBv
cnRlZChjb25zdCBTdHJpbmcmIHZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2Nm
L0NvcmVNZWRpYVNvZnRMaW5rLmNwcAppbmRleCA4YmQzYTIzYjNmOWY3N2Y1MjBkOTdjNTgzNjAw
YjJlNWNlMDhiYjA4Li5kZjc1NzRhNzRkN2E1YzZjNDc5ZGY5YTRhM2VkZWNmNjI1NGE3NzM3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcApA
QCAtMzgsNyArMzgsNyBAQAogCiAjaW5jbHVkZSA8Q29yZUF1ZGlvL0NvcmVBdWRpb1R5cGVzLmg+
CiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxNDAwKQorI2lmIFBMQVRGT1JNKENPQ09BKQog
I2RlZmluZSBDTVNBTVBMRUJVRkZFUkNBTExfTk9FU0NBUEUgQ0ZfTk9FU0NBUEUKICNlbHNlCiAj
ZGVmaW5lIENNU0FNUExFQlVGRkVSQ0FMTF9OT0VTQ0FQRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oCmluZGV4IDk4NzY5MmJjZjgyNTA4ODMzMTk1N2Yy
MmQwZDU4NzgyZmNmNzcwMGYuLmM0MWI0ODNhNDdjZGY3MmFmMDZiYzEwNDlmZTJkY2ZkOTY0NDQ2
MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExp
bmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmgK
QEAgLTM4LDcgKzM4LDcgQEAKICNkZWZpbmUgU09GVExJTktfQVZLSVRfRlJBTUVXT1JLKCkgU09G
VF9MSU5LX0ZSQU1FV09SS19PUFRJT05BTChBVktpdCkKICNlbmRpZgogCi0jaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9B
TExPV0VEID49IDEwMTQwMCkKKyNpZiBQTEFURk9STShDT0NPQSkKICNkZWZpbmUgQ01TQU1QTEVC
VUZGRVJDQUxMX05PRVNDQVBFIENGX05PRVNDQVBFCiAjZWxzZQogI2RlZmluZSBDTVNBTVBMRUJV
RkZFUkNBTExfTk9FU0NBUEUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29j
b2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0gYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29h
L0FWRm91bmRhdGlvblNvZnRMaW5rLm1tCmluZGV4IDM1MWM2ZjJmMGRmMTQ5ODBjMjNiOTEyOTIz
OWE4OWM0MDkzYmQ0YzQuLjExNmU3ZGQ3NThkODcyZDE5MzdhMWY5NzE1YzlkZjdjZDE2MThjNTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29m
dExpbmsubW0KKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25T
b2Z0TGluay5tbQpAQCAtMzAsNyArMzAsNyBAQAogI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWRm91
bmRhdGlvbi5oPgogI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+CiAKLSNpZiAhKFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkgJiYgIVBM
QVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQorI2lmICFQTEFURk9STShXQVRD
SE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKIFNPRlRfTElOS19GUkFNRVdPUktfRk9SX1NPVVJD
RV9XSVRIX0VYUE9SVChQQUwsIEFWRm91bmRhdGlvbiwgUEFMX0VYUE9SVCkKICNlbHNlCiBAaW50
ZXJmYWNlIEFWUGxheWVySXRlbSAoRGlzYWJsZUtWT09uU3VwcmVzc2VzVmlkZW9MYXllcnMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaCBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oCmluZGV4IDA3NTFj
MGIzYjUxNzYwMTgxNDA4Y2JkYmYwMGZlYjM1NWZiMjcxNGMuLjIyM2RjZjI4ZDg3ZDIwOTk0Mjk5
N2M3NGZiMDA2MmFmNWI3MWE4ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
c3BpL2NmL0NGTmV0d29ya1NQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2Nm
L0NGTmV0d29ya1NQSS5oCkBAIC0zMDEsMTIgKzMwMSwxMCBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJ
bnRlZ2VyLCBOU1VSTFNlc3Npb25Db21wYW5pb25Qcm94eVByZWZlcmVuY2UpIHsKICNlbmRpZgog
QGVuZAogCi0jaWYgSEFWRShDRk5FVFdPUktfTkVHT1RJQVRFRF9TU0xfUFJPVE9DT0xfQ0lQSEVS
KQogQGludGVyZmFjZSBOU1VSTFNlc3Npb25UYXNrVHJhbnNhY3Rpb25NZXRyaWNzICgpCiBAcHJv
cGVydHkgKGFzc2lnbikgU1NMUHJvdG9jb2wgX25lZ290aWF0ZWRUTFNQcm90b2NvbDsKIEBwcm9w
ZXJ0eSAoYXNzaWduKSBTU0xDaXBoZXJTdWl0ZSBfbmVnb3RpYXRlZFRMU0NpcGhlcjsKIEBlbmQK
LSNlbmRpZgogCiBAaW50ZXJmYWNlIE5TVVJMU2Vzc2lvbiAoU1BJKQogI2lmIEhBVkUoQ0ZORVRX
T1JLX05TVVJMU0VTU0lPTl9TVFJJQ1RSVVNURVZBTFVBVEUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9BVkZvdW5kYXRpb25TUEkuaCBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvc3BpL2NvY29hL0FWRm91bmRhdGlvblNQSS5oCmluZGV4IGNiMWVkMTFmZGU3
Nzk2ZTRkYjQ2OWRlMWY4YTIwOWI3NGZkNjM3MWQuLjBjZDNlNjQxM2M5ZjM0ZjcwZTk2YWNiOWYw
MDc3OTljMTU4YTAyMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2Nv
Y29hL0FWRm91bmRhdGlvblNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2Nv
Y29hL0FWRm91bmRhdGlvblNQSS5oCkBAIC0zODEsNyArMzgxLDcgQEAgTlNfQVNTVU1FX05PTk5V
TExfRU5ECiBAZW5kCiAjZW5kaWYKIAotI2lmICFVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSB8fCBV
U0UoQVZfU0FNUExFX0JVRkZFUl9ESVNQTEFZX0xBWUVSKQorI2lmICFVU0UoQVBQTEVfSU5URVJO
QUxfU0RLKQogQGludGVyZmFjZSBBVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciAoV2ViQ29yZVBy
aXZhdGUpCiBAcHJvcGVydHkgKGFzc2lnbiwgbm9uYXRvbWljKSBCT09MIHByZXZlbnRzRGlzcGxh
eVNsZWVwRHVyaW5nVmlkZW9QbGF5YmFjazsKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaAppbmRleCA4NDk2ZTc2Yzc1ZDJiOTU3M2Q0MGI4NDJi
MmJmNzJlOTk4NDdmZmVlLi5mMWViOWRjMDRhNDMzYmE1NDRjNjRkM2YzZmE1MDU1YTJmZDYzOTlk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJ
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCkBA
IC00MTMsOSArNDEzLDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgUEtQYXltZW50U2V0
dXBGZWF0dXJlVHlwZSkgewogQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgTlNTdHJpbmcg
KnNvdXJjZUFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcjsKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzdHJvbmcpIE5TU3RyaW5nICpzb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXI7
CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBOU1N0cmluZyAqQ1REYXRhQ29ubmVjdGlv
blNlcnZpY2VUeXBlOwotI2lmIEhBVkUoUEFTU0tJVF9CT1VORF9JTlRFUkZBQ0VfSURFTlRJRklF
UikKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqYm91bmRJbnRlcmZhY2VJ
ZGVudGlmaWVyOwotI2VuZGlmCiBAZW5kCiAKICNpZiAhSEFWRShQQVNTS0lUX0lOU1RBTExNRU5U
UykKQEAgLTQ0MiwxMSArNDQwLDkgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgUEtQYXlt
ZW50QnV0dG9uVHlwZSkgewogICAgIFBLUGF5bWVudEJ1dHRvblR5cGVTZXRVcCwKICAgICBQS1Bh
eW1lbnRCdXR0b25UeXBlSW5TdG9yZSwKICAgICBQS1BheW1lbnRCdXR0b25UeXBlRG9uYXRlLAot
I2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAx
MDE0MDApIHx8IFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgUEtQYXltZW50QnV0dG9uVHlwZUNo
ZWNrb3V0LAogICAgIFBLUGF5bWVudEJ1dHRvblR5cGVCb29rLAogICAgIFBLUGF5bWVudEJ1dHRv
blR5cGVTdWJzY3JpYmUsCi0jZW5kaWYKIH07CiAjZW5kaWYgLy8gIUhBVkUoUEFTU0tJVF9SRUNV
UlJJTkdfU1VNTUFSWV9JVEVNKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L3NwaS9tYWMvSElTZXJ2aWNlc1NQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFj
L0hJU2VydmljZXNTUEkuaAppbmRleCBiOGRmMGExYmNjODk1MjJkZmVmZWQ2MzZmN2FlMzFjMmJl
Y2IxOTJhLi42MTYwMGNjNmNhNWYwNWU4M2EyMDhjNTExY2NhNDBjMGUwZWY2ODlhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvSElTZXJ2aWNlc1NQSS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9ISVNlcnZpY2VzU1BJLmgKQEAgLTEzMCw3
ICsxMzAsNiBAQCBPU1N0YXR1cyBTZXRBcHBsaWNhdGlvbklzRGFlbW9uKEJvb2xlYW4pOwogQVhF
cnJvciBfQVhVSUVsZW1lbnRVc2VTZWNvbmRhcnlBWFRocmVhZChib29sIGVuYWJsZWQpOwogI2Vu
ZGlmCiAKLSNpZiBIQVZFKEFYX0NMSUVOVF9UWVBFKQogdHlwZWRlZiBDRl9FTlVNKGludDMyX3Qs
IEFYQ2xpZW50VHlwZSkKIHsKICAgICBrQVhDbGllbnRUeXBlTm9BY3RpdmVSZXF1ZXN0Rm91bmQg
PSAwLApAQCAtMTQ3LDcgKzE0Niw2IEBAIHR5cGVkZWYgQ0ZfRU5VTShpbnQzMl90LCBBWENsaWVu
dFR5cGUpCiB9OwogQVhDbGllbnRUeXBlIF9BWEdldENsaWVudEZvckN1cnJlbnRSZXF1ZXN0VW50
cnVzdGVkKHZvaWQpOwogdm9pZCBfQVhTZXRDbGllbnRJZGVudGlmaWNhdGlvbk92ZXJyaWRlKEFY
Q2xpZW50VHlwZSk7Ci0jZW5kaWYgLy8gSEFWRShBWF9DTElFTlRfVFlQRSkKIAogZXh0ZXJuIENG
U3RyaW5nUmVmIGtBWEludGVyZmFjZVJlZHVjZU1vdGlvbktleTsKIGV4dGVybiBDRlN0cmluZ1Jl
ZiBrQVhJbnRlcmZhY2VSZWR1Y2VNb3Rpb25TdGF0dXNEaWRDaGFuZ2VOb3RpZmljYXRpb247CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNNZW51U1BJLmggYi9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNNZW51U1BJLmgKaW5kZXggZWJhYTY5YmE3
MjcyOTM3YzFlNDAzYTE4YjNjOTM3NjZjNDFiZTA0ZS4uMGU2NDcwZTBjMWE2OTA1NGVjNTI5Yzgy
OThkYjZlZDBhYTMwNDNmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkv
bWFjL05TTWVudVNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU01l
bnVTUEkuaApAQCAtMjcsNyArMjcsNyBAQAogCiAjaWYgUExBVEZPUk0oTUFDKQogCi0jaWYgVVNF
KEFQUExFX0lOVEVSTkFMX1NESykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMDE1MDAKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAjaW1wb3J0IDxBcHBLaXQv
TlNNZW51X1ByaXZhdGUuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9z
cGkvbWFjL05TVmlld1NQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05TVmll
d1NQSS5oCmluZGV4IDY4Y2U4YmZjMzRlOTg1ZWNhZGVhOTI2OTFhOGQ2YTZjM2ZiYjQ4M2YuLmRh
ZDdiNDU3NDJkZjJmZjE2NjBhYzA3YTQ0YmEzNDY5ZDg4NjM1ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU1ZpZXdTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL3NwaS9tYWMvTlNWaWV3U1BJLmgKQEAgLTMwLDEwICszMCw2IEBACiAjaW1wb3J0
IDxwYWwvc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEkuaD4KIAogQGludGVyZmFjZSBOU1ZpZXcgKCkg
PENBTGF5ZXJEZWxlZ2F0ZT4gewotI2lmICFIQVZFKFNVQlZJRVdTX0lWQVJfU1BJKSAmJiAhSEFW
RShTVUJWSUVXU19JVkFSX0RFQ0xBUkVEX0JZX1NESykKLUBwYWNrYWdlCi0gICAgTlNNdXRhYmxl
QXJyYXk8X19raW5kb2YgTlNWaWV3ICo+ICpfc3Vidmlld3M7Ci0jZW5kaWYKIH0KIAogLSAoTlNW
aWV3ICopX2ZpbmRMYXN0Vmlld0luS2V5Vmlld0xvb3A7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCmluZGV4IGU1NDg4YTIxN2FjOTdi
MTYxNDU4ZGEyNzAyYTNlYjhkZWY0MzdmM2UuLjBiZjFiZDczNjQ3MzY0Njg3N2ExMDMzOGE0MjQx
ZWM2MGEyNjQxYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZEhvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZEhvc3QuY3BwCkBAIC00MDEsOCArNDAxLDYgQEAgU3RyaW5nIEluc3BlY3RvckZy
b250ZW5kSG9zdDo6cGxhdGZvcm1WZXJzaW9uTmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuICJiaWct
c3VyIl9zOwogI2VsaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTUwMAogICAgIHJldHVybiAiY2F0YWxpbmEiX3M7Ci0jZWxpZiBQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwCi0gICAg
cmV0dXJuICJtb2phdmUiX3M7CiAjZWxzZQogICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dh
bWVDb250cm9sbGVyR2FtZXBhZC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQv
Y29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkLm1tCmluZGV4IGE2MmZjYjIxYjlkMzA0NzhlY2I3
MjE0ZmY3MmJiMzQyZTVmYTY3NzUuLjdlNDdlZmQ1ZThjZDgxZTY0NGNhOGExY2YwYzk4MjQ0Yzdi
NjQzNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2Ev
R2FtZUNvbnRyb2xsZXJHYW1lcGFkLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dh
bWVwYWQvY29jb2EvR2FtZUNvbnRyb2xsZXJHYW1lcGFkLm1tCkBAIC0xMzAsMTIgKzEzMCwxMCBA
QCB2b2lkIEdhbWVDb250cm9sbGVyR2FtZXBhZDo6c2V0dXBBc0V4dGVuZGVkR2FtZXBhZCgpCiAg
ICAgfQogCiAgICAgLy8gU2VsZWN0LCBTdGFydAotI2lmIEhBVkUoR0NFWFRFTkRFREdBTUVQQURf
QlVUVE9OU19PUFRJT05TX01FTlUpCiAgICAgYmluZEJ1dHRvbihtX2V4dGVuZGVkR2FtZXBhZC5n
ZXQoKS5idXR0b25PcHRpb25zLCBHYW1lcGFkQnV0dG9uUm9sZTo6Q2VudGVyQ2x1c3RlckxlZnQp
OwogICAgIGRpc2FibGVEZWZhdWx0U3lzdGVtQWN0aW9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgp
LmJ1dHRvbk9wdGlvbnMpOwogICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCku
YnV0dG9uTWVudSwgR2FtZXBhZEJ1dHRvblJvbGU6OkNlbnRlckNsdXN0ZXJSaWdodCk7CiAgICAg
ZGlzYWJsZURlZmF1bHRTeXN0ZW1BY3Rpb24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuYnV0dG9u
TWVudSk7Ci0jZW5kaWYKIAogICAgIC8vIEwzLCBSMwogI2lmIEhBVkUoR0NFWFRFTkRFREdBTUVQ
QURfQlVUVE9OU19USFVNQlNUSUNLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KaW5kZXggZjMxNGRj
ZWJkYTM0ZjhiMjA4M2IzNGE5ZDllMTM2NTQyYzlkMWFiOS4uZmFiOGE4Y2JmNGU1Y2ZlZGE2ZDUy
OTJmZGZjZDgwZDMxMjFlODFjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9u
T2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCkBAIC0zMTkyLDE0
ICszMTkyLDYgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwbGF5
ZXJJdGVtU3RhdHVzRGlkQ2hhbmdlKGludCBzdGF0dXMpCiB7CiAgICAgbV9jYWNoZWRJdGVtU3Rh
dHVzID0gc3RhdHVzOwogCi0gICAgLy8gU2V0dGluZyB0aGUgcGl0Y2ggYWxnb3JpdGhtIGhlcmUg
Y2F1c2VzIHRlc3RzIHRvIGZhaWwgb24gTW9qYXZlOyByZXZlcnQgdGhpcyBjaGFuZ2UKLSAgICAv
LyBmb3IgPD0gTW9qYXZlIGJ1aWxkcy4KLSNpZiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+IDEwMTQwMCkKLSAgICAvLyBGSVhNRShyZGFyOi8vNzI4
MjkzNTQpOiBSZW1vdmUgYWZ0ZXIgQVZGb3VuZGF0aW9uIHJhZGFyIGlzIGZpeGVkLgotICAgIGlm
IChzdGF0dXMgPT0gQVZQbGF5ZXJJdGVtU3RhdHVzUmVhZHlUb1BsYXkpCi0gICAgICAgIFttX2F2
UGxheWVySXRlbSBzZXRBdWRpb1RpbWVQaXRjaEFsZ29yaXRobTphdWRpb1RpbWVQaXRjaEFsZ29y
aXRobUZvck1lZGlhUGxheWVyUGl0Y2hDb3JyZWN0aW9uQWxnb3JpdGhtKHBsYXllcigpLT5waXRj
aENvcnJlY3Rpb25BbGdvcml0aG0oKSwgcGxheWVyKCktPnByZXNlcnZlc1BpdGNoKCksIG1fcmVx
dWVzdGVkUmF0ZSldOwotI2VuZGlmCi0KICAgICB1cGRhdGVTdGF0ZXMoKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29y
ZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENh
Y2hlQ29yZVRleHQuY3BwCmluZGV4IDRjNWEzNWM2ODdiMzc2OTIwOTczNDcyYTY4YjliMDQxZGJi
NmFjMmUuLjZmOWY5M2U1ZWQ4M2NkMzZhMmIyZTBkZWRjYmQ3ZWJjNDhlNDNhMWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVU
ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250
Q2FjaGVDb3JlVGV4dC5jcHAKQEAgLTgyNSwxNiArODI1LDkgQEAgU3ludGhlc2lzUGFpciBjb21w
dXRlTmVjZXNzYXJ5U3ludGhlc2lzKENURm9udFJlZiBmb250LCBjb25zdCBGb250RGVzY3JpcHRp
b24mIGYKIAogICAgIENURm9udFN5bWJvbGljVHJhaXRzIGFjdHVhbFRyYWl0cyA9IDA7CiAgICAg
aWYgKGlzRm9udFdlaWdodEJvbGQoZm9udERlc2NyaXB0aW9uLndlaWdodCgpKSB8fCBpc0l0YWxp
Yyhmb250RGVzY3JpcHRpb24uaXRhbGljKCkpKSB7Ci0gICAgICAgIGlmIChzaG91bGRDb21wdXRl
UGh5c2ljYWxUcmFpdHMgPT0gU2hvdWxkQ29tcHV0ZVBoeXNpY2FsVHJhaXRzOjpZZXMpIHsKLSNp
ZiBIQVZFKENURk9OVEdFVFBIWVNJQ0FMU1lNQk9MSUNUUkFJVFMpCisgICAgICAgIGlmIChzaG91
bGRDb21wdXRlUGh5c2ljYWxUcmFpdHMgPT0gU2hvdWxkQ29tcHV0ZVBoeXNpY2FsVHJhaXRzOjpZ
ZXMpCiAgICAgICAgICAgICBhY3R1YWxUcmFpdHMgPSBDVEZvbnRHZXRQaHlzaWNhbFN5bWJvbGlj
VHJhaXRzKGZvbnQpOwotI2Vsc2UKLSAgICAgICAgICAgIGF1dG8gZm9udEZvclN5bnRoZXNpc0Nv
bXB1dGF0aW9uID0gcmV0YWluUHRyKGZvbnQpOwotICAgICAgICAgICAgaWYgKGF1dG8gcGh5c2lj
YWxGb250ID0gYWRvcHRDRihDVEZvbnRDb3B5UGh5c2ljYWxGb250KGZvbnQpKSkKLSAgICAgICAg
ICAgICAgICBmb250Rm9yU3ludGhlc2lzQ29tcHV0YXRpb24gPSBXVEZNb3ZlKHBoeXNpY2FsRm9u
dCk7Ci0gICAgICAgICAgICBhY3R1YWxUcmFpdHMgPSBDVEZvbnRHZXRTeW1ib2xpY1RyYWl0cyhm
b250Rm9yU3ludGhlc2lzQ29tcHV0YXRpb24uZ2V0KCkpOwotI2VuZGlmCi0gICAgICAgIH0gZWxz
ZQorICAgICAgICBlbHNlCiAgICAgICAgICAgICBhY3R1YWxUcmFpdHMgPSBDVEZvbnRHZXRTeW1i
b2xpY1RyYWl0cyhmb250KTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVB
VkZJbXBsLmNwcAppbmRleCBkNDE5ZTBlMTkyNTU1ZDczNjA4NTg1MWY1NGNhMDA0MGQ0NmI2NjNm
Li45NzE4YTRiNjQzZGFiNjhlNjI3MWYzZWQxOGNjZGQ2ZTBlNGUxZDc4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRl
QVZGSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9N
ZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmgiCiAK
LSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkK
KyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiAjaW5jbHVkZSAiQXVkaW9TdHJlYW1EZXNjcmlw
dGlvbi5oIgogI2luY2x1ZGUgIkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oIgpAQCAtMTcwLDQg
KzE3MCw0IEBAIGNvbnN0IFN0cmluZyYgTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjptaW1l
VHlwZSgpIGNvbnN0CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJM
RShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2VuZGlmIC8v
IEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwu
aAppbmRleCAzMzdlYzE5ZDViNDk0M2MwNTAyYjExZWY3MjExNDY0MzZlMTIwMjEyLi5jNjU5NTVk
M2VkODAzZjlhM2Q5NzRjNDMwY2M3ZGE0M2I0ZTJhZWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRl
clByaXZhdGVBVkZJbXBsLmgKQEAgLTI0LDcgKzI0LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiAjaW5jbHVkZSAiQ0FBdWRpb1N0cmVhbURlc2NyaXB0
aW9uLmgiCiAjaW5jbHVkZSAiTWVkaWFSZWNvcmRlclByaXZhdGUuaCIKQEAgLTY4LDQgKzY4LDQg
QEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxF
KE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjZW5kaWYgLy8g
RU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVy
UHJpdmF0ZVdyaXRlckNvY29hLmgKaW5kZXggYjc1NThkMjgwYzJlZjc5NjA2OGNhYzBjYzk2YjUw
MzNkYzM3MDk3MS4uMjExZjc1ZWU3M2FmNjkxOWU3ZjRjOTk1OGUwY2QzNDgyNTMyZDA5ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRp
YVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLmgK
QEAgLTI0LDcgKzI0LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBFTkFCTEUoTUVESUFfU1RS
RUFNKQogCiAjaW5jbHVkZSAiQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oIgogCkBAIC0xNDcsNCAr
MTQ3LDQgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8g
RU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjZW5k
aWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2Nv
YS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFS
ZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5tbQppbmRleCA2YWQyMGJlOGNiNTc5MjNhMGU3ODQy
ZTM3MDFkMzNhNmFhMDNhYjZjLi4yYzdjYTJlMDNkMjk2YzAzZDgxZDJjZGMxNTE3MTU5M2YxZTUw
OGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2Nv
Y29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRl
ckNvY29hLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5oIgogCi0jaWYgRU5BQkxFKE1FRElB
X1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjaWYgRU5BQkxFKE1FRElB
X1NUUkVBTSkKIAogI2luY2x1ZGUgIkF1ZGlvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5oIgogI2lu
Y2x1ZGUgIkF1ZGlvU3RyZWFtRGVzY3JpcHRpb24uaCIKQEAgLTU4Miw0ICs1ODIsNCBAQCB1bnNp
Z25lZCBNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlcjo6dmlkZW9CaXRSYXRlKCkgY29uc3QKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkg
JiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NU
UkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2Ev
Q29va2llQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL0Nv
b2tpZUNvY29hLm1tCmluZGV4IDEwZWM3NWE3ZWVlODc4NDFjZTAxMmI5YWYxOWI0NjcwYjBjMTky
MDAuLjBkYzU4YTk5MDZlY2E3NDZjNmJmOWU3NGE4M2VmZjI4NGZmNTA5NmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvQ29va2llQ29jb2EubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9Db29raWVDb2NvYS5tbQpA
QCAtMjksMTYgKzI5LDYgQEAKIC8vIEZJWE1FOiBSZW1vdmUgTlNfQVNTVU1FX05PTk5VTExfQkVH
SU4vRU5EIGFuZCBhbGwgX051bGxhYmxlIGFubm90YXRpb25zIG9uY2Ugd2UgcmVtb3ZlIHRoZSBO
U0hUVFBDb29raWUgZm9yd2FyZCBkZWNsYXJhdGlvbiBiZWxvdy4KIE5TX0FTU1VNRV9OT05OVUxM
X0JFR0lOCiAKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxM
T1dFRCA8IDEwMTUwMAotdHlwZWRlZiBOU1N0cmluZyAqIE5TSFRUUENvb2tpZVN0cmluZ1BvbGlj
eTsKLUBpbnRlcmZhY2UgTlNIVFRQQ29va2llIChTdGFnaW5nKQotQHByb3BlcnR5IChudWxsYWJs
ZSwgcmVhZG9ubHksIGNvcHkpIE5TSFRUUENvb2tpZVN0cmluZ1BvbGljeSBzYW1lU2l0ZVBvbGlj
eTsKLUBlbmQKLQotc3RhdGljIE5TU3RyaW5nICogY29uc3QgTlNIVFRQQ29va2llU2FtZVNpdGVM
YXggPSBAImxheCI7Ci1zdGF0aWMgTlNTdHJpbmcgKiBjb25zdCBOU0hUVFBDb29raWVTYW1lU2l0
ZVN0cmljdCA9IEAic3RyaWN0IjsKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0
YXRpYyBWZWN0b3I8dWludDE2X3Q+IHBvcnRWZWN0b3JGcm9tTGlzdChOU0FycmF5PE5TTnVtYmVy
ICo+ICpwb3J0TGlzdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvY29jb2EvTmV0d29ya1N0b3JhZ2VTZXNzaW9uQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtTdG9yYWdlU2Vzc2lvbkNvY29hLm1tCmluZGV4
IDUwYzUwMDZmNzIyNjM4ZjVlNTNmN2FiOGQ2MGRmNTJjYTc1MjQyYmYuLjhlNGEyODYwZWU4MTE5
MDZlYzg2NTVjYTcxOTM5MjYzZTM5MzJjYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY29jb2EvTmV0d29ya1N0b3JhZ2VTZXNzaW9uQ29jb2EubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9OZXR3b3JrU3RvcmFnZVNlc3Np
b25Db2NvYS5tbQpAQCAtMTIyLDcgKzEyMiw2IEBAIHZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9u
OjpzZXRBbGxDb29raWVzVG9TYW1lU2l0ZVN0cmljdChjb25zdCBSZWdpc3RyYWJsZURvbWFpCiB7
CiAgICAgQVNTRVJUKGhhc1Byb2Nlc3NQcml2aWxlZ2UoUHJvY2Vzc1ByaXZpbGVnZTo6Q2FuQWNj
ZXNzUmF3Q29va2llcykpOwogCi0jaWYgSEFWRShDRk5FVFdPUktfU0FNRVNJVEVfQ09PS0lFX0FQ
SSkKICAgICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk8TlNIVFRQQ29va2llICo+PiBvbGRDb29r
aWVzVG9EZWxldGUgPSBhZG9wdE5TKFtbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRdKTsKICAg
ICBSZXRhaW5QdHI8TlNNdXRhYmxlQXJyYXk8TlNIVFRQQ29va2llICo+PiBuZXdDb29raWVzVG9B
ZGQgPSBhZG9wdE5TKFtbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRdKTsKIApAQCAtMTQzLDkg
KzE0Miw3IEBAIHZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpzZXRBbGxDb29raWVzVG9TYW1l
U2l0ZVN0cmljdChjb25zdCBSZWdpc3RyYWJsZURvbWFpCiAgICAgZm9yIChOU0hUVFBDb29raWUg
Km5ld0Nvb2tpZSBpbiBuZXdDb29raWVzVG9BZGQuZ2V0KCkpCiAgICAgICAgIFtuc0Nvb2tpZVN0
b3JhZ2UoKSBzZXRDb29raWU6bmV3Q29va2llXTsKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJ
T05TCi0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShkb21haW4pOwotI2VuZGlmCisKICAgICBjb21w
bGV0aW9uSGFuZGxlcigpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKaW5kZXggYTk5OGQ3NjdiOTJhNWU1Y2Qz
ZDNiZjc1ZjJmMTRkMzNlNTA4NTIzZS4uODVjYTg4ZjdhOTgyNDYyNjJjMzFhN2ZiNDE3Nzk5NTA1
M2U0OWNlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAtMzQ3LDcgKzM0Nyw3IEBAIGJvb2wgR1BVQ29ubmVj
dGlvblRvV2ViUHJvY2Vzczo6YWxsb3dzRXhpdFVuZGVyTWVtb3J5UHJlc3N1cmUoKSBjb25zdAog
ICAgIGlmICghbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLT5hbGxvd3NFeGl0VW5k
ZXJNZW1vcnlQcmVzc3VyZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKLSNpZiBQ
TEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJ
VEVSREVMRUdBVEUpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShNRURJQV9TVFJFQU0p
CiAgICAgaWYgKG1fcmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIgJiYgIW1fcmVtb3RlTWVkaWFS
ZWNvcmRlck1hbmFnZXItPmFsbG93c0V4aXRVbmRlck1lbW9yeVByZXNzdXJlKCkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKICNlbmRpZgpAQCAtNDMxLDcgKzQzMSw3IEBAIFJlbW90ZUF1ZGlvTWVk
aWFTdHJlYW1UcmFja1JlbmRlcmVySW50ZXJuYWxVbml0TWFuYWdlciYgR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2VzCiB9CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoTUVE
SUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBQTEFURk9STShD
T0NPQSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIFJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2Vy
JiBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjptZWRpYVJlY29yZGVyTWFuYWdlcigpCiB7CiAg
ICAgaWYgKCFtX3JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyKQpAQCAtNjU3LDcgKzY1Nyw3IEBA
IGJvb2wgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlzcGF0Y2hNZXNzYWdlKElQQzo6Q29u
bmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICNl
bmRpZgotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZF
KEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVz
c2FnZXM6OlJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkp
IHsKICAgICAgICAgbWVkaWFSZWNvcmRlck1hbmFnZXIoKS5kaWRSZWNlaXZlTWVzc2FnZUZyb21X
ZWJQcm9jZXNzKGNvbm5lY3Rpb24sIGRlY29kZXIpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5oCmluZGV4IGI4ODJhYTA5MDczNzc2ZGM4YjhkZjY5N2RmMDIxMGNiNTg5YWVkM2IuLjA1YTUw
NWZlZTMyOTM3OGIxMzBhOWM5OTczMjYwNmJlMjBiNDg3YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApAQCAtMTc0LDcg
KzE3NCw3IEBAIHByaXZhdGU6CiAgICAgVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eSYgdXNl
ck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eSgpOwogICAgIFJlbW90ZUF1ZGlvTWVkaWFTdHJlYW1U
cmFja1JlbmRlcmVySW50ZXJuYWxVbml0TWFuYWdlciYgYXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVu
ZGVyZXJJbnRlcm5hbFVuaXRNYW5hZ2VyKCk7CiAjZW5kaWYKLSNpZiBQTEFURk9STShDT0NPQSkg
JiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisj
aWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgUmVtb3RlTWVk
aWFSZWNvcmRlck1hbmFnZXImIG1lZGlhUmVjb3JkZXJNYW5hZ2VyKCk7CiAjZW5kaWYKIApAQCAt
MjU2LDcgKzI1Niw3IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUF1ZGlv
TWVkaWFTdHJlYW1UcmFja1JlbmRlcmVySW50ZXJuYWxVbml0TWFuYWdlcj4gbV9hdWRpb01lZGlh
U3RyZWFtVHJhY2tSZW5kZXJlckludGVybmFsVW5pdE1hbmFnZXI7CiAgICAgUmVmPFJlbW90ZVNh
bXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXI+IG1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVy
TWFuYWdlcjsKICNlbmRpZgotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoTUVESUFfU1RS
RUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBQTEFURk9STShDT0NPQSkg
JiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlTWVkaWFS
ZWNvcmRlck1hbmFnZXI+IG1fcmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXI7CiAjZW5kaWYKICNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4gYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5zYi5pbgppbmRleCBm
YjJiMDczM2VjOGRhZWM3ZjMyMjA0YWM5MTcxN2FiNjRjNDJmNTk2Li4xZDQwYmQwZmRjZTlkM2Y1
MjUxMDAzYmNmNDg5YTQ3ZTUxOGM2M2ExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5zYi5pbgorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5zYi5pbgpA
QCAtMTIwLDEwICsxMjAsOCBAQAogICAgIDs7IENWTVMKICAgICAoYWxsb3cgbWFjaC1sb29rdXAg
KHdpdGggdGVsZW1ldHJ5KQogICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5jdm1zU2Vy
diIpKQotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwIHx8IFBM
QVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgIChhbGxvdyBmaWxlLXJlYWQqICh3aXRoIHRlbGVtZXRy
eSkKICAgICAgICAgKHByZWZpeCAiL3ByaXZhdGUvdmFyL2RiL0NWTVMvY3Ztc0NvZGVTaWduT2Jq
IikpCi0jZW5kaWYKICAgICA7OyBPcGVuQ0wKICAgICAoYWxsb3cgaW9raXQtb3BlbiAod2l0aCB0
ZWxlbWV0cnkpCiAgICAgICAgIChpb2tpdC1jb25uZWN0aW9uICJJT0FjY2VsZXJhdG9yIikKQEAg
LTQyOSw3ICs0MjcsNiBAQAogICAgIChpb2tpdC1wcm9wZXJ0eSAic2F2ZWQtY29uZmlnIikKICAg
ICAoaW9raXQtcHJvcGVydHkgInN0YXJ0dXAtdGltaW5nIikKICAgICAoaW9raXQtcHJvcGVydHkg
InRvdWNoLXNpemUtaWQiKQotI2lmICFQTEFURk9STShNQUMpIHx8IF9fTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwCiAgICAgKGlva2l0LXByb3BlcnR5ICJBVFksY2JpdHMi
KQogICAgIChpb2tpdC1wcm9wZXJ0eSAiQVRZLGludHJldiIpCiAgICAgKGlva2l0LXByb3BlcnR5
ICJBY2NlbE5hdGl2ZURNQVJvd0J5dGVBbGlnbm1lbnQiKQpAQCAtNDQ3LDcgKzQ0NCw2IEBACiAg
ICAgKGlva2l0LXByb3BlcnR5ICJUZWxlbWV0cnlEaXNhYmxlIikKICAgICAoaW9raXQtcHJvcGVy
dHkgImNhaWxfcHJvcGVydGllcyIpCiAgICAgKGlva2l0LXByb3BlcnR5ICJkcG0iKQotI2VuZGlm
CiAgICAgKGlva2l0LXByb3BlcnR5ICJJT0dWQUgyNjRFbmNvZGVDYXBhYmlsaXRpZXMiKSA7OyA8
cmRhcjovL3Byb2JsZW0vNDk0OTgwNDA+CiAjaWYgIVBMQVRGT1JNKE1BQykgfHwgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+IDEwMTUwMAogICAgIChpb2tpdC1wcm9wZXJ0eSAiSU9B
VkRIRVZDRGVjb2RlQ2FwYWJpbGl0aWVzIikgOzsgPHJkYXI6Ly9wcm9ibGVtLzcxMTAwMTg4PgpA
QCAtNzAyLDkgKzY5OCw2IEBACiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUubG9nZC5l
dmVudHMiKSkKIAogKGFsbG93IG1hY2gtbG9va3VwICh3aXRoIHRlbGVtZXRyeSkKLSNpZiBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNDAwCi0gICAgICAgKGdsb2JhbC1uYW1l
ICJjb20uYXBwbGUuRm9udE9iamVjdHNTZXJ2ZXIiKQotI2VuZGlmCiAgICAgICAgKGdsb2JhbC1u
YW1lICJjb20uYXBwbGUuU3lzdGVtQ29uZmlndXJhdGlvbi5jb25maWdkIikKICAgICAgICAoZ2xv
YmFsLW5hbWUgImNvbS5hcHBsZS5hc3NlcnRpb25kLnByb2Nlc3Nhc3NlcnRpb25jb25uZWN0aW9u
IikKICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5hdWRpby50b29sYm94LnJlcG9ydGlu
Zy5zZXJ2aWNlIikKQEAgLTcyMCwxOCArNzEzLDE0IEBACiAgICAgICAgKGdsb2JhbC1uYW1lICJj
b20uYXBwbGUudGNjZC5zeXN0ZW0iKQogKQogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDE0MDAgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiA7OyA8cmRhcjovL3By
b2JsZW0vNDcyNjgxNjY+CiAoYWxsb3cgbWFjaC1sb29rdXAgKHdpdGggdGVsZW1ldHJ5KSAoeHBj
LXNlcnZpY2UtbmFtZSAiY29tLmFwcGxlLk1UTENvbXBpbGVyU2VydmljZSIpKQotI2VuZGlmCiAK
LSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCB8fCBQTEFURk9S
TShNQUNDQVRBTFlTVCkKIChkZW55IG1hY2gtbG9va3VwICh3aXRoIG5vLWxvZykKICAgICAoZ2xv
YmFsLW5hbWUgImNvbS5hcHBsZS5Db3JlU2VydmljZXMuY29yZXNlcnZpY2VzZCIpCiAgICAgKGds
b2JhbC1uYW1lICJjb20uYXBwbGUuRGlza0FyYml0cmF0aW9uLmRpc2thcmJpdHJhdGlvbmQiKQog
ICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLlZpZXdCcmlkZ2VBdXhpbGlhcnkiKQogICAgIChn
bG9iYWwtbmFtZSAiY29tLmFwcGxlLndpbmRvd3NlcnZlci5hY3RpdmUiKSkKLSNlbmRpZgogCiA7
OyBOZWVkZWQgdG8gc3VwcG9ydCBlbmNyeXB0ZWQgbWVkaWEgcGxheWJhY2sgPHJkYXI6Ly9wcm9i
bGVtLzQwMDM4NDc4PgogKGFsbG93IG1hY2gtbG9va3VwICh3aXRoIHRlbGVtZXRyeSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3Jk
ZXIuY3BwCmluZGV4IDhjMTI1NDlmMTQzMjg5ZmYxZjJkYmIzNjQ1ODdjMmY2OGVhY2E2YmIuLjdl
NTcyYjNhNzRhMjAyN2U3NGNhYTc2NzJlNTJkYTBhZjgzNDIwNzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmNwcApA
QCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlJlbW90ZU1l
ZGlhUmVjb3JkZXIuaCIKIAotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NF
U1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRF
KQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShN
RURJQV9TVFJFQU0pCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiR1BVQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcy5oIgpAQCAtMTM0LDQgKzEzNCw0IEBAIHZvaWQgUmVtb3RlTWVk
aWFSZWNvcmRlcjo6cmVzdW1lKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKIAogI3VuZGVmIE1FU1NBR0VfQ0hFQ0sKIAotI2VuZGlmIC8vIFBMQVRGT1JNKENP
Q09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIEhB
VkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKSAmJiBF
TkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIuaCBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oCmluZGV4
IDFiMDAwM2Q0MGU4MTRkMDA0NGI4Y2M0ZjU4YTU2MTc1OTM1NTM1YWEuLmNiNjk0NmM4MjU4ODlk
Nzk4YTE3OWMwMGVmNzhhNDcxY2RiMThlYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oCkBAIC0yNSw3ICsyNSw3IEBA
CiAKICNwcmFnbWEgb25jZQogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJP
Q0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdB
VEUpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKIAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJN
ZWRpYVJlY29yZGVySWRlbnRpZmllci5oIgpAQCAtODksNCArODksNCBAQCBwcml2YXRlOgogCiB9
CiAKLSNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBF
TkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNlbmRp
ZiAvLyBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9S
ZW1vdGVNZWRpYVJlY29yZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLm1lc3NhZ2VzLmluCmluZGV4IGFkNWViOTRhMWE3
YWZmMTYyNWI5MmEyYWQyODBlYzU3OTA5ODIzYWIuLjlmNTVjNzdiNmQ5ZjNhNzg0MGFkMGY2MWIw
MjFkM2Q0NTc5MWZmZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJy
dGMvUmVtb3RlTWVkaWFSZWNvcmRlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIubWVzc2FnZXMuaW4KQEAgLTIxLDcg
KzIxLDcgQEAKICMgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgogIyBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFC
TEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBQTEFU
Rk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFN
KQogCiBtZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVJlY29yZGVyIE5vdFJlZkNvdW50ZWQgewogICAg
IEF1ZGlvU2FtcGxlc1N0b3JhZ2VDaGFuZ2VkKFdlYktpdDo6U2hhcmVkTWVtb3J5OjpJUENIYW5k
bGUgc3RvcmFnZUhhbmRsZSwgV2ViQ29yZTo6Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uIGRlc2Ny
aXB0aW9uLCB1aW50NjRfdCBudW1iZXJPZkZyYW1lcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIuY3BwIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5j
cHAKaW5kZXggZjBiZmM4ZmE1ZDMzMDBmNGQwMjI4NDUyNjVjOWEzZDJhY2YyZTYzNi4uZDBkYmQ3
OTY3MTA2MzkwY2U0ZTMyYTMwMGI0OTU1YzQzMTRmYjc5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFu
YWdlci5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJSZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5oIgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYm
IEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFT
U0VUV1JJVEVSREVMRUdBVEUpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJP
Q0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2Uu
aCIKICNpbmNsdWRlICJEZWNvZGVyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLmgKaW5kZXggMmYy
OWZlZjJhZjJkM2MzNjEwOTZiMzNmOWYwOWVlMDc3ODczMGRlOC4uNTNmOWFkY2RkNGNkYmIzNjJm
NDhiZmQ5N2I4YmI0MGNhZWU3NDE5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIuaApAQCAtMSw1
ICsxLDMgQEAKLQotCiAvKgogICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCkBAIC0yNyw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0j
aWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElB
X1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjaWYgUExBVEZPUk0oQ09D
T0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogI2lu
Y2x1ZGUgIk1lZGlhUmVjb3JkZXJJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2Vp
dmVyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90
ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5tZXNzYWdlcy5pbgppbmRleCBi
NDNiM2Y0NGVmMjExZTdlN2RlYjJlNDRhODc0ZWViMjZhYWFhYzg2Li44MjhiOGFhNjhlOTBhOWIy
NWUxZTg3MGY2YzkwYThmZDdjNWE3MDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFn
ZXIubWVzc2FnZXMuaW4KQEAgLTIxLDcgKzIxLDcgQEAKICMgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgogIyBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5B
QkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRX
UklURVJERUxFR0FURSkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNT
KSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiBtZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVJlY29y
ZGVyTWFuYWdlciBOb3RSZWZDb3VudGVkIHsKICAgICBDcmVhdGVSZWNvcmRlcihXZWJLaXQ6Ok1l
ZGlhUmVjb3JkZXJJZGVudGlmaWVyIGlkLCBib29sIGhhc0F1ZGlvLCBib29sIGhhc1ZpZGVvLCBz
dHJ1Y3QgV2ViQ29yZTo6TWVkaWFSZWNvcmRlclByaXZhdGVPcHRpb25zIG9wdGlvbnMpIC0+IChz
dGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGE+IGNyZWF0aW9uRXJyb3IsIFN0cmlu
ZyBtaW1lVHlwZSwgdW5zaWduZWQgYXVkaW9CaXRSYXRlLCB1bnNpZ25lZCB2aWRlb0JpdFJhdGUp
IEFzeW5jCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05l
dHdvcmtEYXRhVGFza0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2Nv
YS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQppbmRleCA1YzEyNTFhZjQxNmMzNmEyMWE3MWJjODRm
MThkMDRjOTUxYTY3OTlmLi5lZjA0NjAxOTNlZjFiNDhiN2ZiN2FkNzFiYTcwYmQzMmQ5NTY1NWQ5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtE
YXRhVGFza0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2Ev
TmV0d29ya0RhdGFUYXNrQ29jb2EubW0KQEAgLTEzMCwxMyArMTMwLDcgQEAgTlNIVFRQQ29va2ll
U3RvcmFnZSAqTmV0d29ya0RhdGFUYXNrQ29jb2E6OnN0YXRlbGVzc0Nvb2tpZVN0b3JhZ2UoKQog
ewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxSZXRhaW5QdHI8TlNIVFRQQ29va2llU3RvcmFn
ZT4+IHN0YXRlbGVzc0Nvb2tpZVN0b3JhZ2U7CiAgICAgaWYgKCFzdGF0ZWxlc3NDb29raWVTdG9y
YWdlLmdldCgpKSB7Ci0jaWYgSEFWRShOU0hUVFBDT09LSUVTVE9SQUdFX19JTklUV0lUSElERU5U
SUZJRVJfV0lUSF9JTkFDQ1VSQVRFX05VTExBQklMSVRZKQotICAgICAgICBJR05PUkVfTlVMTF9D
SEVDS19XQVJOSU5HU19CRUdJTgotI2VuZGlmCiAgICAgICAgIHN0YXRlbGVzc0Nvb2tpZVN0b3Jh
Z2UuZ2V0KCkgPSBhZG9wdE5TKFtbTlNIVFRQQ29va2llU3RvcmFnZSBhbGxvY10gX2luaXRXaXRo
SWRlbnRpZmllcjpuaWwgcHJpdmF0ZTpZRVNdKTsKLSNpZiBIQVZFKE5TSFRUUENPT0tJRVNUT1JB
R0VfX0lOSVRXSVRISURFTlRJRklFUl9XSVRIX0lOQUNDVVJBVEVfTlVMTEFCSUxJVFkpCi0gICAg
ICAgIElHTk9SRV9OVUxMX0NIRUNLX1dBUk5JTkdTX0VORAotI2VuZGlmCiAgICAgICAgIHN0YXRl
bGVzc0Nvb2tpZVN0b3JhZ2UuZ2V0KCkuZ2V0KCkuY29va2llQWNjZXB0UG9saWN5ID0gTlNIVFRQ
Q29va2llQWNjZXB0UG9saWN5TmV2ZXI7CiAgICAgfQogICAgIEFTU0VSVChzdGF0ZWxlc3NDb29r
aWVTdG9yYWdlLmdldCgpLmdldCgpLmNvb2tpZXMuY291bnQgPT0gMCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0g
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2Eu
bW0KaW5kZXggNTRmNTAxOTM4NTZmODkyYmJjNjFmYzQyZDBkMTU0MjQzZjRlYjgxOS4uOTg2OGU5
ZTBhYzM2Nzc0YWJlYzE5ZDVjNzJkMTc0MDg2NDg1YTY1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbQpA
QCAtMTU5LDcgKzE1OSw2IEBAIHN0YXRpYyBXZWJDb3JlOjpQcml2YWN5U3RhbmNlIHRvUHJpdmFj
eVN0YW5jZShud19jb25uZWN0aW9uX3ByaXZhY3lfc3RhbmNlX3Qgc3RhCiB9CiAjZW5kaWYKIAot
I2lmIEhBVkUoQ0ZORVRXT1JLX05FR09USUFURURfU1NMX1BST1RPQ09MX0NJUEhFUikKICNpZiBI
QVZFKENGTkVUV09SS19NRVRSSUNTX0FQSVNfVjQpCiBzdGF0aWMgU3RyaW5nIHN0cmluZ0ZvclRM
U1Byb3RvY29sVmVyc2lvbih0bHNfcHJvdG9jb2xfdmVyc2lvbl90IHByb3RvY29sKQogewpAQCAt
NDM5LDcgKzQzOCw2IEBAIHN0YXRpYyBTdHJpbmcgc3RyaW5nRm9yU1NMQ2lwaGVyKFNTTENpcGhl
clN1aXRlIGNpcGhlcikKICN1bmRlZiBTVFJJTkdJRllfQ0lQSEVSCiB9CiAjZW5kaWYgLy8gSEFW
RShDRk5FVFdPUktfTUVUUklDU19BUElTX1Y0KQotI2VuZGlmIC8vIEhBVkUoQ0ZORVRXT1JLX05F
R09USUFURURfU1NMX1BST1RPQ09MX0NJUEhFUikKIAogQGludGVyZmFjZSBXS05ldHdvcmtTZXNz
aW9uRGVsZWdhdGUgOiBOU09iamVjdCA8TlNVUkxTZXNzaW9uRGF0YURlbGVnYXRlCiAjaWYgSEFW
RShOU1VSTFNFU1NJT05fV0VCU09DS0VUKQpAQCAtNzI3LDE0ICs3MjUsMTMgQEAgLSAodm9pZClV
UkxTZXNzaW9uOihOU1VSTFNlc3Npb24gKilzZXNzaW9uIHRhc2s6KE5TVVJMU2Vzc2lvblRhc2sg
Kil0YXNrIGRpZFJlY2UKICAgICAgICAgaWYgKE5ldHdvcmtTZXNzaW9uQ29jb2E6OmFsbG93c1Nw
ZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY2hhbGxlbmdlKSkKICAgICAgICAgICAgIHJl
dHVybiBjb21wbGV0aW9uSGFuZGxlcihOU1VSTFNlc3Npb25BdXRoQ2hhbGxlbmdlVXNlQ3JlZGVu
dGlhbCwgW05TVVJMQ3JlZGVudGlhbCBjcmVkZW50aWFsRm9yVHJ1c3Q6Y2hhbGxlbmdlLnByb3Rl
Y3Rpb25TcGFjZS5zZXJ2ZXJUcnVzdF0pOwogCi0jaWYgSEFWRShUTFNfUFJPVE9DT0xfVkVSU0lP
Tl9UKQogICAgICAgICBOU1VSTFNlc3Npb25UYXNrVHJhbnNhY3Rpb25NZXRyaWNzICptZXRyaWNz
ID0gdGFzay5faW5jb21wbGV0ZVRhc2tNZXRyaWNzLnRyYW5zYWN0aW9uTWV0cmljcy5sYXN0T2Jq
ZWN0OwogICAgICAgICBhdXRvIHRsc1ZlcnNpb24gPSAodGxzX3Byb3RvY29sX3ZlcnNpb25fdClt
ZXRyaWNzLm5lZ290aWF0ZWRUTFNQcm90b2NvbFZlcnNpb24udW5zaWduZWRTaG9ydFZhbHVlOwog
QUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KICAgICAgICAgaWYgKHRsc1ZlcnNp
b24gPT0gdGxzX3Byb3RvY29sX3ZlcnNpb25fVExTdjEwIHx8IHRsc1ZlcnNpb24gPT0gdGxzX3By
b3RvY29sX3ZlcnNpb25fVExTdjExKQogICAgICAgICAgICAgbmVnb3RpYXRlZExlZ2FjeVRMUyA9
IE5lZ290aWF0ZWRMZWdhY3lUTFM6OlllczsKIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05T
X0VORAotI2VuZGlmCisKICAgICAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVH
SU4KICAgICAgICAgaWYgKG5lZ290aWF0ZWRMZWdhY3lUTFMgPT0gTmVnb3RpYXRlZExlZ2FjeVRM
Uzo6Tm8gJiYgW3Rhc2sgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihfVExTTmVnb3RpYXRl
ZFByb3RvY29sVmVyc2lvbildKSB7CiAgICAgICAgICAgICBTU0xQcm90b2NvbCB0bHNWZXJzaW9u
ID0gW3Rhc2sgX1RMU05lZ290aWF0ZWRQcm90b2NvbFZlcnNpb25dOwpAQCAtODUxLDEyICs4NDgs
MTAgQEAgLSAodm9pZClVUkxTZXNzaW9uOihOU1VSTFNlc3Npb24gKilzZXNzaW9uIHRhc2s6KE5T
VVJMU2Vzc2lvblRhc2sgKil0YXNrIGRpZEZpbmkKICAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNz
Lm1hcmtDb21wbGV0ZSgpOwogICAgICAgICBuZXR3b3JrTG9hZE1ldHJpY3MucmVkaXJlY3RDb3Vu
dCA9IG1ldHJpY3MucmVkaXJlY3RDb3VudDsKICAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNzLnBy
b3RvY29sID0gU3RyaW5nKG0ubmV0d29ya1Byb3RvY29sTmFtZSk7Ci0jaWYgSEFWRShDRk5FVFdP
UktfTUVUUklDU19DT05ORUNUSU9OX1BST1BFUlRJRVMpCiAgICAgICAgIG5ldHdvcmtMb2FkTWV0
cmljcy5jZWxsdWxhciA9IG0uY2VsbHVsYXI7CiAgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcy5l
eHBlbnNpdmUgPSBtLmV4cGVuc2l2ZTsKICAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNzLmNvbnN0
cmFpbmVkID0gbS5jb25zdHJhaW5lZDsKICAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNzLm11bHRp
cGF0aCA9IG0ubXVsdGlwYXRoOwotI2VuZGlmCiAgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcy5p
c1JldXNlZENvbm5lY3Rpb24gPSBtLmlzUmV1c2VkQ29ubmVjdGlvbjsKIAogI2lmIEhBVkUoTkVU
V09SS19DT05ORUNUSU9OX1BSSVZBQ1lfU1RBTkNFKQpAQCAtODc5LDcgKzg3NCw2IEBAIC0gKHZv
aWQpVVJMU2Vzc2lvbjooTlNVUkxTZXNzaW9uICopc2Vzc2lvbiB0YXNrOihOU1VSTFNlc3Npb25U
YXNrICopdGFzayBkaWRGaW5pCiAjZW5kaWYKICAgICAgICAgICAgIGFkZGl0aW9uYWxNZXRyaWNz
LT5jb25uZWN0aW9uSWRlbnRpZmllciA9IFN0cmluZyhbbS5fY29ubmVjdGlvbklkZW50aWZpZXIg
VVVJRFN0cmluZ10pOwogCi0jaWYgSEFWRShDRk5FVFdPUktfTkVHT1RJQVRFRF9TU0xfUFJPVE9D
T0xfQ0lQSEVSKQogI2lmIEhBVkUoQ0ZORVRXT1JLX01FVFJJQ1NfQVBJU19WNCkKICAgICAgICAg
ICAgIGFkZGl0aW9uYWxNZXRyaWNzLT50bHNQcm90b2NvbCA9IHN0cmluZ0ZvclRMU1Byb3RvY29s
VmVyc2lvbigodGxzX3Byb3RvY29sX3ZlcnNpb25fdClbbS5uZWdvdGlhdGVkVExTUHJvdG9jb2xW
ZXJzaW9uIHVuc2lnbmVkU2hvcnRWYWx1ZV0pOwogICAgICAgICAgICAgYWRkaXRpb25hbE1ldHJp
Y3MtPnRsc0NpcGhlciA9IHN0cmluZ0ZvclRMU0NpcGhlclN1aXRlKCh0bHNfY2lwaGVyc3VpdGVf
dClbbS5uZWdvdGlhdGVkVExTQ2lwaGVyU3VpdGUgdW5zaWduZWRTaG9ydFZhbHVlXSk7CkBAIC04
ODgsNyArODgyLDYgQEAgLSAodm9pZClVUkxTZXNzaW9uOihOU1VSTFNlc3Npb24gKilzZXNzaW9u
IHRhc2s6KE5TVVJMU2Vzc2lvblRhc2sgKil0YXNrIGRpZEZpbmkKICAgICAgICAgICAgIGFkZGl0
aW9uYWxNZXRyaWNzLT50bHNQcm90b2NvbCA9IHN0cmluZ0ZvclNTTFByb3RvY29sKG0uX25lZ290
aWF0ZWRUTFNQcm90b2NvbCk7CiAgICAgICAgICAgICBhZGRpdGlvbmFsTWV0cmljcy0+dGxzQ2lw
aGVyID0gc3RyaW5nRm9yU1NMQ2lwaGVyKG0uX25lZ290aWF0ZWRUTFNDaXBoZXIpOwogICAgICAg
ICAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECi0jZW5kaWYKICNlbmRpZgog
CiAgICAgICAgICAgICBfX2Jsb2NrIFdlYkNvcmU6OkhUVFBIZWFkZXJNYXAgcmVxdWVzdEhlYWRl
cnM7CkBAIC05NDIsMjIgKzkzNSwxMyBAQCAtICh2b2lkKVVSTFNlc3Npb246KE5TVVJMU2Vzc2lv
biAqKXNlc3Npb24gZGF0YVRhc2s6KE5TVVJMU2Vzc2lvbkRhdGFUYXNrICopZGF0YQogCiAgICAg
ICAgIE5lZ290aWF0ZWRMZWdhY3lUTFMgbmVnb3RpYXRlZExlZ2FjeVRMUyA9IE5lZ290aWF0ZWRM
ZWdhY3lUTFM6Ok5vOwogICAgICAgICBOU1VSTFNlc3Npb25UYXNrTWV0cmljcyAqdGFza01ldHJp
Y3MgPSBkYXRhVGFzay5faW5jb21wbGV0ZVRhc2tNZXRyaWNzOwotI2lmIEhBVkUoVExTX1BST1RP
Q09MX1ZFUlNJT05fVCkKKwogICAgICAgICBOU1VSTFNlc3Npb25UYXNrVHJhbnNhY3Rpb25NZXRy
aWNzICptZXRyaWNzID0gdGFza01ldHJpY3MudHJhbnNhY3Rpb25NZXRyaWNzLmxhc3RPYmplY3Q7
CiAgICAgICAgIGF1dG8gdGxzVmVyc2lvbiA9ICh0bHNfcHJvdG9jb2xfdmVyc2lvbl90KW1ldHJp
Y3MubmVnb3RpYXRlZFRMU1Byb3RvY29sVmVyc2lvbi51bnNpZ25lZFNob3J0VmFsdWU7CiBBTExP
V19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgogICAgICAgICBpZiAodGxzVmVyc2lvbiA9
PSB0bHNfcHJvdG9jb2xfdmVyc2lvbl9UTFN2MTAgfHwgdGxzVmVyc2lvbiA9PSB0bHNfcHJvdG9j
b2xfdmVyc2lvbl9UTFN2MTEpCiAgICAgICAgICAgICBuZWdvdGlhdGVkTGVnYWN5VExTID0gTmVn
b3RpYXRlZExlZ2FjeVRMUzo6WWVzOwogQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5E
Ci0jZWxzZSAvLyBXZSBkbyBub3QgbmVlZCB0byBjaGVjayBfVExTTmVnb3RpYXRlZFByb3RvY29s
VmVyc2lvbiBpZiB3ZSBoYXZlIG1ldHJpY3MubmVnb3RpYXRlZFRMU1Byb3RvY29sVmVyc2lvbiBi
ZWNhdXNlIGl0IHdvcmtzIGF0IHJlc3BvbnNlIHRpbWUgZXZlbiBiZWZvcmUgcmRhcjovL3Byb2Js
ZW0vNTY1MjI2MDEKLSAgICAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4K
LSAgICAgICAgaWYgKFtkYXRhVGFzayByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9UTFNO
ZWdvdGlhdGVkUHJvdG9jb2xWZXJzaW9uKV0pIHsKLSAgICAgICAgICAgIFNTTFByb3RvY29sIHRs
c1ZlcnNpb24gPSBbZGF0YVRhc2sgX1RMU05lZ290aWF0ZWRQcm90b2NvbFZlcnNpb25dOwotICAg
ICAgICAgICAgaWYgKHRsc1ZlcnNpb24gPT0ga1RMU1Byb3RvY29sMTEgfHwgdGxzVmVyc2lvbiA9
PSBrVExTUHJvdG9jb2wxKQotICAgICAgICAgICAgICAgIG5lZ290aWF0ZWRMZWdhY3lUTFMgPSBO
ZWdvdGlhdGVkTGVnYWN5VExTOjpZZXM7Ci0gICAgICAgIH0KLSAgICAgICAgQUxMT1dfREVQUkVD
QVRFRF9ERUNMQVJBVElPTlNfRU5ECi0jZW5kaWYKICAgICAgICAgCiAgICAgICAgIC8vIEF2b2lk
IE1JTUUgdHlwZSBzbmlmZmluZyBpZiB0aGUgcmVzcG9uc2UgY29tZXMgYmFjayBhcyAzMDQgTm90
IE1vZGlmaWVkLgogICAgICAgICBpbnQgc3RhdHVzQ29kZSA9IFtyZXNwb25zZSBpc0tpbmRPZkNs
YXNzOk5TSFRUUFVSTFJlc3BvbnNlLmNsYXNzXSA/IFsoTlNIVFRQVVJMUmVzcG9uc2UgKilyZXNw
b25zZSBzdGF0dXNDb2RlXSA6IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiLmluIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vz
cy5zYi5pbgppbmRleCA1Yjg4ODVmZWQ0NGFjOGFiNTBmN2FkODczZDdlNzIzNGE5NzkzYWE4Li5h
ZDBhZWYxOTU3YzNjNGYyYjcxYjZmYWVjY2UzMzk5YzNiYTIzNjQzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9j
ZXNzLnNiLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvbWFjL2NvbS5hcHBs
ZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IuaW4KQEAgLTM4LDcgKzM4LDcgQEAKIAogI2luY2x1
ZGUgIlNoYXJlZC9TYW5kYm94L3ByZWZlcmVuY2VzLnNiIgogCi0jaWYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAKKyNpZiBQTEFURk9STShNQUMpCiA7OzsKIDs7OyBU
aGUgZm9sbG93aW5nIHJ1bGVzIHdlcmUgb3JpZ2luYWxseSBjb250YWluZWQgaW4gJ2NvbW1vbi5z
YicuIFdlIGFyZSBkdXBsaWNhdGluZyB0aGVtIGhlcmUgc28gd2UgY2FuCiA7OzsgcmVtb3ZlIHVu
bmVlZGVkIHNhbmRib3ggZXh0ZW5zaW9ucy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vc3BpL21hYy9BcHBLaXRTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL21h
Yy9BcHBLaXRTUEkuaAppbmRleCBjYTFiYTZjZDY2YTlhZjEwNDM5NGI5ZGRkNzEyOGRmODJiMTAz
ZmZlLi5iMmIyYTY5ODM4OTAzMDkyYzhmYjhkZmI2ODExM2IwMmY0NDk5NzZkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9tYWMvQXBwS2l0U1BJLmgKKysrIGIvU291cmNl
L1dlYktpdC9QbGF0Zm9ybS9zcGkvbWFjL0FwcEtpdFNQSS5oCkBAIC02MCwxMCArNjAsNyBAQCB0
eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgTlNXaW5kb3dTaGFkb3dPcHRpb25zKSB7CiAt
ICh2b2lkKXNldEluc3BlY3RvckJhcjooTlNJbnNwZWN0b3JCYXIgKiliYXI7CiAKIEBwcm9wZXJ0
eSAocmVhZG9ubHkpIE5TV2luZG93U2hhZG93T3B0aW9ucyBzaGFkb3dPcHRpb25zOwotCi0jaWYg
X19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTQwMAogQHByb3BlcnR5IENHRmxv
YXQgdGl0bGViYXJBbHBoYVZhbHVlOwotI2VuZGlmCiAKICNpZiBIQVZFKE5TU0NST0xMVklFV19T
RVBBUkFUT1JfVFJBQ0tJTkdfQURBUFRFUikKIC0gKEJPT0wpcmVnaXN0ZXJTY3JvbGxWaWV3U2Vw
YXJhdG9yVHJhY2tpbmdBZGFwdGVyOihOU09iamVjdDxOU1Njcm9sbFZpZXdTZXBhcmF0b3JUcmFj
a2luZ0FkYXB0ZXI+ICopYWRhcHRlcjsKQEAgLTgyLDEyICs3OSw2IEBAIHR5cGVkZWYgTlNfT1BU
SU9OUyhOU1VJbnRlZ2VyLCBOU1dpbmRvd1NoYWRvd09wdGlvbnMpIHsKIC0gKHZvaWQpX3VwZGF0
ZTsKIEBlbmQKIAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEwMTQwMAot
QGludGVyZmFjZSBOU1dpbmRvdyAoSVBJKQotQHByb3BlcnR5IENHRmxvYXQgdGl0bGViYXJBbHBo
YVZhbHVlOwotQGVuZAotI2VuZGlmCi0KIC8vIEZJWE1FOiBNb3ZlIHRoaXMgYWJvdmUgb25jZSA8
cmRhcjovL3Byb2JsZW0vNzAyMjQ5ODA+IGlzIGluIGFuIFNESy4KIEBpbnRlcmZhY2UgTlNDdXJz
b3IgKCkKICsgKHZvaWQpaGlkZVVudGlsQ2hhbmdlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvUGx1Z2luUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5wbHVnaW4tY29tbW9uLnNiLmlu
IGIvU291cmNlL1dlYktpdC9QbHVnaW5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LnBsdWdp
bi1jb21tb24uc2IuaW4KaW5kZXggMTBkZGUyNzY2MDJmN2Q0NWNkNjU2NTk1ZmUxYjgwYTRhYzU5
NjRhZS4uYzIwMTVlYWYwNWY3MDJkODdkN2EwNWU0YzU3NTgyMmU5MGM3MWZmOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9QbHVnaW5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LnBsdWdp
bi1jb21tb24uc2IuaW4KKysrIGIvU291cmNlL1dlYktpdC9QbHVnaW5Qcm9jZXNzL21hYy9jb20u
YXBwbGUuV2ViS2l0LnBsdWdpbi1jb21tb24uc2IuaW4KQEAgLTE2OCw3ICsxNjgsNyBAQAogICAg
ICh4cGMtc2VydmljZS1uYW1lICJjb20uYXBwbGUuaGlzZXJ2aWNlcy14cGNzZXJ2aWNlIikKICkK
IAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwCisjaWYgUExB
VEZPUk0oTUFDKQogOzsgPHJkYXI6Ly9wcm9ibGVtLzQ3MjY4MTY2PgogKGFsbG93IG1hY2gtbG9v
a3VwICh4cGMtc2VydmljZS1uYW1lICJjb20uYXBwbGUuTVRMQ29tcGlsZXJTZXJ2aWNlIikpCiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dl
YlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9B
cHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCmluZGV4IDg5
ZjE5YjE5OTM1NWZiMDVlZjUzNGEzMzIyMTMwMDMzOWJhZTE1ZjguLmU1YTAxZDkxOWU3MWM1YTk2
ZDkwMjA3NTI5MDJhY2JhZmQ4YzZhNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0KKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHlDb2NvYS5tbQpAQCAtMjg0LDExICsyODQsOSBAQCBSZXRhaW5QdHI8UEtQYXltZW50UmVx
dWVzdD4gV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtUGF5bWVudFJlcXVlc3Qo
YwogCiAgICAgW3Jlc3VsdCBzZXRTdXBwb3J0ZWRDb3VudHJpZXM6dG9OU1NldChwYXltZW50UmVx
dWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMoKSkuZ2V0KCldOwogCi0jaWYgSEFWRShQQVNTS0lUX0JP
VU5EX0lOVEVSRkFDRV9JREVOVElGSUVSKQogICAgIGF1dG8mIGJvdW5kSW50ZXJmYWNlSWRlbnRp
ZmllciA9IG1fY2xpZW50LnBheW1lbnRDb29yZGluYXRvckJvdW5kSW50ZXJmYWNlSWRlbnRpZmll
cigqdGhpcyk7CiAgICAgaWYgKCFib3VuZEludGVyZmFjZUlkZW50aWZpZXIuaXNFbXB0eSgpKQog
ICAgICAgICBbcmVzdWx0IHNldEJvdW5kSW50ZXJmYWNlSWRlbnRpZmllcjpib3VuZEludGVyZmFj
ZUlkZW50aWZpZXJdOwotI2VuZGlmCiAKICAgICAvLyBGSVhNRTogSW5zdGVhZCBvZiB1c2luZyBy
ZXNwb25kc1RvU2VsZWN0b3IsIHRoaXMgc2hvdWxkIHVzZSBhIHByb3BlciAjaWYgdmVyc2lvbiBj
aGVjay4KICAgICBhdXRvJiBidW5kbGVJZGVudGlmaWVyID0gbV9jbGllbnQucGF5bWVudENvb3Jk
aW5hdG9yU291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKCp0aGlzKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW0gYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLm1tCmluZGV4IGJh
NDk5MDkxMmJiNDQwMmM0NGI1NjBkMzQ1NWY5MTRhODgzMTRkNWEuLjIxMjUzOTkyNjRhYjFmYzBh
MzZjNWMzNjA1NDE3ZGJkMzYzM2M4ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
Q29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbQpAQCAtNjYsMTQgKzY2LDYgQEAgQGltcGxlbWVu
dGF0aW9uIFdLU2VjdXJlQ29kaW5nQXJjaGl2aW5nRGVsZWdhdGUKIAogLSAobnVsbGFibGUgaWQp
YXJjaGl2ZXI6KE5TS2V5ZWRBcmNoaXZlciAqKWFyY2hpdmVyIHdpbGxFbmNvZGVPYmplY3Q6KGlk
KW9iamVjdAogewotI2lmIEhBVkUoTlNGT05UX1dJVEhfT1BUSUNBTF9TSVpJTkdfQlVHKQotICAg
IGlmIChhdXRvIGZvbnQgPSBkeW5hbWljX29iamNfY2FzdDxOU0ZvbnQ+KG9iamVjdCkpIHsKLSAg
ICAgICAgLy8gUmVjcmVhdGUgYW55IHNlcmlhbGl6ZWQgZm9udHMgYWZ0ZXIgbm9ybWFsaXppbmcg
dGhlCi0gICAgICAgIC8vIGZvbnQgYXR0cmlidXRlcyB0byB3b3JrIGFyb3VuZCA8cmRhcjovL3By
b2JsZW0vNTE2NTc4ODA+LgotICAgICAgICByZXR1cm4gV2ViS2l0Ojpmb250V2l0aEF0dHJpYnV0
ZXMoZm9udC5mb250RGVzY3JpcHRvci5mb250QXR0cmlidXRlcywgMCk7Ci0gICAgfQotI2VuZGlm
Ci0KICAgICBpZiAoYXV0byB1bndyYXBwZWRVUkwgPSBkeW5hbWljX29iamNfY2FzdDxOU1VSTD4o
b2JqZWN0KSkKICAgICAgICAgcmV0dXJuIGFkb3B0TlMoW1tXS1NlY3VyZUNvZGluZ1VSTFdyYXBw
ZXIgYWxsb2NdIGluaXRXaXRoVVJMOnVud3JhcHBlZFVSTF0pLmF1dG9yZWxlYXNlKCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVUZXh0SGVscGVycy5tbSBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVUZXh0SGVscGVycy5tbQppbmRleCBjYWFh
N2NiNjJjNTZmZjhmNzU2MGRhOTZmMWFjYWRiZmRkYTExZDQyLi5hMjUxMGM2NDM1MDRkODM5NTVk
Zjk0MmVmNDc3NDczNTFjOWVmYmM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9D
b2NvYS9Db3JlVGV4dEhlbHBlcnMubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2Ev
Q29yZVRleHRIZWxwZXJzLm1tCkBAIC0zNSwyMSArMzUsNyBAQCBDb2NvYUZvbnQgKmZvbnRXaXRo
QXR0cmlidXRlcyhOU0RpY3Rpb25hcnkgKmF0dHJpYnV0ZXMsIENHRmxvYXQgc2l6ZSkKIHsKICAg
ICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlMKIAotI2lmIEhBVkUoTlNGT05UX1dJVEhfT1BU
SUNBTF9TSVpJTkdfQlVHKQotICAgIGF1dG8gbXV0YWJsZURpY3Rpb25hcnkgPSBhZG9wdE5TKFth
dHRyaWJ1dGVzIG11dGFibGVDb3B5XSk7Ci0gICAgaWYgKGlkIG9wdGljYWxTaXplQXR0cmlidXRl
ID0gW211dGFibGVEaWN0aW9uYXJ5IG9iamVjdEZvcktleTooX19icmlkZ2UgTlNTdHJpbmcgKilr
Q1RGb250T3B0aWNhbFNpemVBdHRyaWJ1dGVdKSB7Ci0gICAgICAgIGlmIChbb3B0aWNhbFNpemVB
dHRyaWJ1dGUgaXNLaW5kT2ZDbGFzczpbTlNTdHJpbmcgY2xhc3NdXSkgewotICAgICAgICAgICAg
W211dGFibGVEaWN0aW9uYXJ5IHJlbW92ZU9iamVjdEZvcktleTooX19icmlkZ2UgTlNTdHJpbmcg
KilrQ1RGb250T3B0aWNhbFNpemVBdHRyaWJ1dGVdOwotICAgICAgICAgICAgaWYgKE5TTnVtYmVy
ICpzaXplID0gW211dGFibGVEaWN0aW9uYXJ5IG9iamVjdEZvcktleTooX19icmlkZ2UgTlNTdHJp
bmcgKilrQ1RGb250U2l6ZUF0dHJpYnV0ZV0pCi0gICAgICAgICAgICAgICAgW211dGFibGVEaWN0
aW9uYXJ5IHNldE9iamVjdDpzaXplIGZvcktleTooX19icmlkZ2UgTlNTdHJpbmcgKilrQ1RGb250
T3B0aWNhbFNpemVBdHRyaWJ1dGVdOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgYXV0byBkZXNj
cmlwdG9yID0gW0NvY29hRm9udERlc2NyaXB0b3IgZm9udERlc2NyaXB0b3JXaXRoRm9udEF0dHJp
YnV0ZXM6bXV0YWJsZURpY3Rpb25hcnkuZ2V0KCldOwotI2Vsc2UKICAgICBhdXRvIGRlc2NyaXB0
b3IgPSBbQ29jb2FGb250RGVzY3JpcHRvciBmb250RGVzY3JpcHRvcldpdGhGb250QXR0cmlidXRl
czphdHRyaWJ1dGVzXTsKLSNlbmRpZgotCiAgICAgcmV0dXJuIFtDb2NvYUZvbnQgZm9udFdpdGhE
ZXNjcmlwdG9yOmRlc2NyaXB0b3Igc2l6ZTpzaXplXTsKIAogICAgIEVORF9CTE9DS19PQkpDX0VY
Q0VQVElPTlMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFn
ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCmluZGV4IGMw
ZDY5MDQ1ZjhiNjc0NmRmMTBlNzFmOWI0MzViOGI5MjZmNjk5MWYuLjcwMWYxYTI5MDg4ZDg0MjAx
NjBjNzNlMGNkOWVmZDMyZGNjNmYyM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9DL1dLUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tQYWdlLmNwcApAQCAtMTE1MSw3ICsxMTUxLDYgQEAgdm9pZCBXS1BhZ2VTZXRQYWdlTG9hZGVy
Q2xpZW50KFdLUGFnZVJlZiBwYWdlUmVmLCBjb25zdCBXS1BhZ2VMb2FkZXJDbGllbnRCYXNlKgog
ICAgICAgICB7CiAgICAgICAgICAgICBpbml0aWFsaXplKGNsaWVudCk7CiAgICAgICAgICAgICAK
LSNpZiAhUExBVEZPUk0oTUFDKSB8fCBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID4g
MTAxNDAwCiAgICAgICAgICAgICAvLyBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50IGlzIGRlcHJl
Y2F0ZWQuIFVzZSBXS1BhZ2VTZXRQYWdlTmF2aWdhdGlvbkNsaWVudCBpbnN0ZWFkLgogICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoIW1fY2xpZW50LmRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZy
YW1lKTsKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFtX2NsaWVudC5kaWRTYW1lRG9jdW1l
bnROYXZpZ2F0aW9uRm9yRnJhbWUpOwpAQCAtMTE4NCw3ICsxMTgzLDYgQEAgdm9pZCBXS1BhZ2VT
ZXRQYWdlTG9hZGVyQ2xpZW50KFdLUGFnZVJlZiBwYWdlUmVmLCBjb25zdCBXS1BhZ2VMb2FkZXJD
bGllbnRCYXNlKgogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIW1fY2xpZW50Lm5hdmlnYXRp
b25HZXN0dXJlRGlkQmVnaW4pOwogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIW1fY2xpZW50
Lm5hdmlnYXRpb25HZXN0dXJlV2lsbEVuZCk7CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCgh
bV9jbGllbnQubmF2aWdhdGlvbkdlc3R1cmVEaWRFbmQpOwotI2VuZGlmCiAgICAgICAgIH0KIAog
ICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCmluZGV4IDI2ZGQ1NjI2MTQy
YjI4NTM4YmMxNDc2N2Y3YTUyZGUxYTY2OWE2NmEuLjI2ZTljZDVhMjQxYjIwNzNhYjYxYjYxNmYz
NGIxZDM0ZTE5ODhmM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCkBAIC0yMDcsMTEg
KzIwNyw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8TlNBcnJheT4gZ2V0QWxsTG9jYWxBdXRoZW50aWNh
dG9yQ3JlZGVudGlhbHNJbXBsKE5TU3RyaW5nICphY2NlCiAgICAgICAgIChfX2JyaWRnZSBpZClr
U2VjQXR0ckFjY2Vzc0dyb3VwOiBhY2Nlc3NHcm91cCwKICAgICAgICAgKF9fYnJpZGdlIGlkKWtT
ZWNSZXR1cm5BdHRyaWJ1dGVzOiBAWUVTLAogICAgICAgICAoX19icmlkZ2UgaWQpa1NlY01hdGNo
TGltaXQ6IChfX2JyaWRnZSBpZClrU2VjTWF0Y2hMaW1pdEFsbCwKLSNpZiBIQVZFKERBVEFfUFJP
VEVDVElPTl9LRVlDSEFJTikKICAgICAgICAgKF9fYnJpZGdlIGlkKWtTZWNVc2VEYXRhUHJvdGVj
dGlvbktleWNoYWluOiBAWUVTCi0jZWxzZQotICAgICAgICAoX19icmlkZ2UgaWQpa1NlY0F0dHJO
b0xlZ2FjeTogQFlFUwotI2VuZGlmCiAgICAgfTsKICAgICBDRlR5cGVSZWYgYXR0cmlidXRlc0Fy
cmF5UmVmID0gbnVsbHB0cjsKICAgICBPU1N0YXR1cyBzdGF0dXMgPSBTZWNJdGVtQ29weU1hdGNo
aW5nKChfX2JyaWRnZSBDRkRpY3Rpb25hcnlSZWYpcXVlcnksICZhdHRyaWJ1dGVzQXJyYXlSZWYp
OwpAQCAtMjcwLDExICsyNjYsNyBAQCArICh2b2lkKWRlbGV0ZUxvY2FsQXV0aGVudGljYXRvckNy
ZWRlbnRpYWxXaXRoSUQ6KE5TRGF0YSAqKWNyZWRlbnRpYWxJRAogICAgIE5TRGljdGlvbmFyeSog
ZGVsZXRlUXVlcnkgPSBAewogICAgICAgICAoX19icmlkZ2UgaWQpa1NlY0NsYXNzOiAoX19icmlk
Z2UgaWQpa1NlY0NsYXNzS2V5LAogICAgICAgICAoX19icmlkZ2UgaWQpa1NlY0F0dHJBcHBsaWNh
dGlvbkxhYmVsOiBjcmVkZW50aWFsSUQsCi0jaWYgSEFWRShEQVRBX1BST1RFQ1RJT05fS0VZQ0hB
SU4pCiAgICAgICAgIChfX2JyaWRnZSBpZClrU2VjVXNlRGF0YVByb3RlY3Rpb25LZXljaGFpbjog
QFlFUwotI2Vsc2UKLSAgICAgICAgKF9fYnJpZGdlIGlkKWtTZWNBdHRyTm9MZWdhY3k6IEBZRVMK
LSNlbmRpZgogICAgIH07CiAgICAgU2VjSXRlbURlbGV0ZSgoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5
UmVmKWRlbGV0ZVF1ZXJ5KTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQppbmRleCAyYWI1MGRkNzZmZDNhZTNjZjMxZjZm
ODJlYmRmNWI3YTI3MWJlZGM1Li5jNzI3YzIwZGFjNjY0ZDhkNTA1Njc1YWI2ZmZiNTI1ZTM1ZjVl
MmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJv
eHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJv
eHlDb2NvYS5tbQpAQCAtNjM0LDExICs2MzQsNyBAQCBWZWN0b3I8U2FuZGJveEV4dGVuc2lvbjo6
SGFuZGxlPiBXZWJQYWdlUHJveHk6OmNyZWF0ZU5ldHdvcmtFeHRlbnNpb25zU2FuZGJveEV4dAog
ICAgIGlmICghcHJvY2Vzcy5oYXNOZXR3b3JrRXh0ZW5zaW9uU2FuZGJveEFjY2VzcygpICYmIE5l
dHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyOjppc1JlcXVpcmVkKCkpIHsKICAgICAgICAgcHJv
Y2Vzcy5tYXJrSGFzTmV0d29ya0V4dGVuc2lvblNhbmRib3hBY2Nlc3MoKTsKICAgICAgICAgY29u
c3RleHByIEFTQ0lJTGl0ZXJhbCBuZUhlbHBlclNlcnZpY2UgeyAiY29tLmFwcGxlLm5laGVscGVy
Il9zIH07Ci0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEIDwgMTAxNTAwCi0gICAgICAgIGNvbnN0ZXhwciBBU0NJSUxpdGVyYWwgbmVTZXNzaW9uTWFu
YWdlclNlcnZpY2UgeyAiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIiX3MgfTsKLSNlbHNlCiAg
ICAgICAgIGNvbnN0ZXhwciBBU0NJSUxpdGVyYWwgbmVTZXNzaW9uTWFuYWdlclNlcnZpY2UgeyAi
Y29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIuY29udGVudC1maWx0ZXIiX3MgfTsKLSNlbmRpZgog
ICAgICAgICByZXR1cm4gU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlc0Zvck1hY2hMb29r
dXAoeyBuZUhlbHBlclNlcnZpY2UsIG5lU2Vzc2lvbk1hbmFnZXJTZXJ2aWNlIH0sIHN0ZDo6bnVs
bG9wdCk7CiAgICAgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9Mb2NhbEF1dGhlbnRpY2F0b3IubW0gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9Mb2NhbEF1dGhlbnRpY2F0
b3IubW0KaW5kZXggY2MxZGIxYWNkMzE1YjlhMjhjNmI1NzYxMDAyNWU0YjM1YjBlZTdiMi4uZWQy
ZGVmODlhODk4MmE2ZWNhYWUzZmEwYTc1MzE4OTg2NWVhNjcwYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvTG9jYWxBdXRoZW50aWNh
dG9yLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0Nv
Y29hL0xvY2FsQXV0aGVudGljYXRvci5tbQpAQCAtMTI3LDExICsxMjcsNyBAQCBzdGF0aWMgc3Rk
OjpvcHRpb25hbDxWZWN0b3I8UmVmPEF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZT4+PiBn
ZXRFeGlzdGluZ0NyZQogICAgICAgICAoaWQpa1NlY0F0dHJMYWJlbDogcnBJZCwKICAgICAgICAg
KGlkKWtTZWNSZXR1cm5BdHRyaWJ1dGVzOiBAWUVTLAogICAgICAgICAoaWQpa1NlY01hdGNoTGlt
aXQ6IChpZClrU2VjTWF0Y2hMaW1pdEFsbCwKLSNpZiBIQVZFKERBVEFfUFJPVEVDVElPTl9LRVlD
SEFJTikKICAgICAgICAgKGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktleWNoYWluOiBAWUVTCi0j
ZWxzZQotICAgICAgICAoaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwotI2VuZGlmCiAgICAgfV07
CiAgICAgdXBkYXRlUXVlcnlJZk5lY2Vzc2FyeShxdWVyeS5nZXQoKSk7CiAKQEAgLTE4MiwxMSAr
MTc4LDcgQEAgdm9pZCBMb2NhbEF1dGhlbnRpY2F0b3I6OmNsZWFyQWxsQ3JlZGVudGlhbHMoKQog
ICAgIFtxdWVyeSBzZXREaWN0aW9uYXJ5OkB7CiAgICAgICAgIChpZClrU2VjQ2xhc3M6IChpZClr
U2VjQ2xhc3NLZXksCiAgICAgICAgIChpZClrU2VjQXR0ckFjY2Vzc0dyb3VwOiAoaWQpU3RyaW5n
KExvY2FsQXV0aGVudGljYXRpb3JBY2Nlc3NHcm91cCksCi0jaWYgSEFWRShEQVRBX1BST1RFQ1RJ
T05fS0VZQ0hBSU4pCiAgICAgICAgIChpZClrU2VjVXNlRGF0YVByb3RlY3Rpb25LZXljaGFpbjog
QFlFUwotI2Vsc2UKLSAgICAgICAgKGlkKWtTZWNBdHRyTm9MZWdhY3k6IEBZRVMKLSNlbmRpZgog
ICAgIH1dOwogICAgIHVwZGF0ZVF1ZXJ5SWZOZWNlc3NhcnkocXVlcnkuZ2V0KCkpOwogCkBAIC0z
OTQsMTEgKzM4Niw3IEBAIHZvaWQgTG9jYWxBdXRoZW50aWNhdG9yOjpjb250aW51ZU1ha2VDcmVk
ZW50aWFsQWZ0ZXJVc2VyVmVyaWZpY2F0aW9uKFNlY0FjY2Vzc0NvCiAgICAgICAgICAgICAoaWQp
a1NlY0F0dHJLZXlDbGFzczogKGlkKWtTZWNBdHRyS2V5Q2xhc3NQcml2YXRlLAogICAgICAgICAg
ICAgKGlkKWtTZWNBdHRyTGFiZWw6IHNlY0F0dHJMYWJlbCwKICAgICAgICAgICAgIChpZClrU2Vj
QXR0ckFwcGxpY2F0aW9uTGFiZWw6IG1fcHJvdmlzaW9uYWxDcmVkZW50aWFsSWQuZ2V0KCksCi0j
aWYgSEFWRShEQVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4pCiAgICAgICAgICAgICAoaWQpa1NlY1Vz
ZURhdGFQcm90ZWN0aW9uS2V5Y2hhaW46IEBZRVMKLSNlbHNlCi0gICAgICAgICAgICAoaWQpa1Nl
Y0F0dHJOb0xlZ2FjeTogQFlFUwotI2VuZGlmCiAgICAgICAgIH1dOwogICAgICAgICB1cGRhdGVR
dWVyeUlmTmVjZXNzYXJ5KHF1ZXJ5LmdldCgpKTsKIApAQCAtNTk5LDExICs1ODcsNyBAQCB2b2lk
IExvY2FsQXV0aGVudGljYXRvcjo6Y29udGludWVHZXRBc3NlcnRpb25BZnRlclVzZXJWZXJpZmlj
YXRpb24oUmVmPFdlYkNvcmU6OgogICAgICAgICAgICAgKGlkKWtTZWNBdHRyS2V5Q2xhc3M6IChp
ZClrU2VjQXR0cktleUNsYXNzUHJpdmF0ZSwKICAgICAgICAgICAgIChpZClrU2VjQXR0ckFwcGxp
Y2F0aW9uTGFiZWw6IG5zQ3JlZGVudGlhbElkLmdldCgpLAogICAgICAgICAgICAgKGlkKWtTZWNS
ZXR1cm5SZWY6IEBZRVMsCi0jaWYgSEFWRShEQVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4pCiAgICAg
ICAgICAgICAoaWQpa1NlY1VzZURhdGFQcm90ZWN0aW9uS2V5Y2hhaW46IEBZRVMKLSNlbHNlCi0g
ICAgICAgICAgICAoaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwotI2VuZGlmCiAgICAgICAgIH0g
bXV0YWJsZUNvcHldOwogCiAgICAgICAgIGlmIChjb250ZXh0KQpAQCAtNjQwLDExICs2MjQsNyBA
QCB2b2lkIExvY2FsQXV0aGVudGljYXRvcjo6Y29udGludWVHZXRBc3NlcnRpb25BZnRlclVzZXJW
ZXJpZmljYXRpb24oUmVmPFdlYkNvcmU6OgogICAgICAgICAoaWQpa1NlY0NsYXNzOiAoaWQpa1Nl
Y0NsYXNzS2V5LAogICAgICAgICAoaWQpa1NlY0F0dHJLZXlDbGFzczogKGlkKWtTZWNBdHRyS2V5
Q2xhc3NQcml2YXRlLAogICAgICAgICAoaWQpa1NlY0F0dHJBcHBsaWNhdGlvbkxhYmVsOiBuc0Ny
ZWRlbnRpYWxJZC5nZXQoKSwKLSNpZiBIQVZFKERBVEFfUFJPVEVDVElPTl9LRVlDSEFJTikKICAg
ICAgICAgKGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktleWNoYWluOiBAWUVTCi0jZWxzZQotICAg
ICAgICAoaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwotI2VuZGlmCiAgICAgfV07CiAgICAgdXBk
YXRlUXVlcnlJZk5lY2Vzc2FyeShxdWVyeS5nZXQoKSk7CiAKQEAgLTY3MSwxMSArNjUxLDcgQEAg
dm9pZCBMb2NhbEF1dGhlbnRpY2F0b3I6OnJlY2VpdmVFeGNlcHRpb24oRXhjZXB0aW9uRGF0YSYm
IGV4Y2VwdGlvbiwgV2ViQXV0aGVudGkKICAgICAgICAgW3F1ZXJ5IHNldERpY3Rpb25hcnk6QHsK
ICAgICAgICAgICAgIChpZClrU2VjQ2xhc3M6IChpZClrU2VjQ2xhc3NLZXksCiAgICAgICAgICAg
ICAoaWQpa1NlY0F0dHJBcHBsaWNhdGlvbkxhYmVsOiBtX3Byb3Zpc2lvbmFsQ3JlZGVudGlhbElk
LmdldCgpLAotI2lmIEhBVkUoREFUQV9QUk9URUNUSU9OX0tFWUNIQUlOKQogICAgICAgICAgICAg
KGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktleWNoYWluOiBAWUVTCi0jZWxzZQotICAgICAgICAg
ICAgKGlkKWtTZWNBdHRyTm9MZWdhY3k6IEBZRVMKLSNlbmRpZgogICAgICAgICB9XTsKICAgICAg
ICAgdXBkYXRlUXVlcnlJZk5lY2Vzc2FyeShxdWVyeS5nZXQoKSk7CiAKQEAgLTcwOCwxMSArNjg0
LDcgQEAgdm9pZCBMb2NhbEF1dGhlbnRpY2F0b3I6OmRlbGV0ZUR1cGxpY2F0ZUNyZWRlbnRpYWwo
KSBjb25zdAogICAgICAgICBbcXVlcnkgc2V0RGljdGlvbmFyeTpAewogICAgICAgICAgICAgKGlk
KWtTZWNDbGFzczogKGlkKWtTZWNDbGFzc0tleSwKICAgICAgICAgICAgIChpZClrU2VjQXR0ckFw
cGxpY2F0aW9uTGFiZWw6IHRvTlNEYXRhKGNyZWRlbnRpYWwtPnJhd0lkKCkpLmdldCgpLAotI2lm
IEhBVkUoREFUQV9QUk9URUNUSU9OX0tFWUNIQUlOKQogICAgICAgICAgICAgKGlkKWtTZWNVc2VE
YXRhUHJvdGVjdGlvbktleWNoYWluOiBAWUVTCi0jZWxzZQotICAgICAgICAgICAgKGlkKWtTZWNB
dHRyTm9MZWdhY3k6IEBZRVMKLSNlbmRpZgogICAgICAgICB9XTsKICAgICAgICAgdXBkYXRlUXVl
cnlJZk5lY2Vzc2FyeShxdWVyeS5nZXQoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL01vY2svTW9ja0xvY2FsQ29ubmVjdGlvbi5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL01vY2svTW9ja0xvY2Fs
Q29ubmVjdGlvbi5tbQppbmRleCA0OGIyYmFkOWM5NDA0NGEyZjFjY2U4M2ZkZGRkOTI3ZWM2MTIy
ZDg4Li44NGU2YWY1NWJkMGJiYjVhNGM0YTNmNmNhODgwOTcyZGQ3M2QwMzA0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Nb2NrL01vY2tMb2Nh
bENvbm5lY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGlj
YXRpb24vTW9jay9Nb2NrTG9jYWxDb25uZWN0aW9uLm1tCkBAIC0xMjEsMTEgKzEyMSw3IEBAIFJl
dGFpblB0cjxTZWNLZXlSZWY+IE1vY2tMb2NhbENvbm5lY3Rpb246OmNyZWF0ZUNyZWRlbnRpYWxQ
cml2YXRlS2V5KExBQ29udGV4dCAqCiAgICAgICAgIChpZClrU2VjQXR0ckxhYmVsOiBzZWNBdHRy
TGFiZWwsCiAgICAgICAgIChpZClrU2VjQXR0ckFwcGxpY2F0aW9uVGFnOiBzZWNBdHRyQXBwbGlj
YXRpb25UYWcsCiAgICAgICAgIChpZClrU2VjQXR0ckFjY2Vzc2libGU6IChpZClrU2VjQXR0ckFj
Y2Vzc2libGVBZnRlckZpcnN0VW5sb2NrLAotI2lmIEhBVkUoREFUQV9QUk9URUNUSU9OX0tFWUNI
QUlOKQogICAgICAgICAoaWQpa1NlY1VzZURhdGFQcm90ZWN0aW9uS2V5Y2hhaW46IEBZRVMKLSNl
bHNlCi0gICAgICAgIChpZClrU2VjQXR0ck5vTGVnYWN5OiBAWUVTCi0jZW5kaWYKICAgICB9Owog
ICAgIE9TU3RhdHVzIHN0YXR1cyA9IFNlY0l0ZW1BZGQoKF9fYnJpZGdlIENGRGljdGlvbmFyeVJl
ZilhZGRRdWVyeSwgTlVMTCk7CiAgICAgaWYgKHN0YXR1cykgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9j
ZXNzLnNiLmluIGIvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5X
ZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluCmluZGV4IDhjZjhhN2IyYzMwZTYzMWQ3ZjM3ZTk4
NWIzYTBjNjc2MWMyNGNlMTguLmI0NWVmMzEyZTZhMDMyYWVmNTMyYzlkOWIwYmY5NGQ5YWUzMWRl
NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL21hYy9jb20uYXBw
bGUuV2ViS2l0LldlYkF1dGhuUHJvY2Vzcy5zYi5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1
dGhuUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW4KQEAg
LTMyMCw3ICszMjAsNyBAQAogKGFsbG93IG1hY2gtbG9va3VwIChleHRlbnNpb24gImNvbS5hcHBs
ZS5hcHAtc2FuZGJveC5tYWNoIikpIDs7IEZJWE1FOiBTaG91bGQgYmUgcmVtb3ZlZCB3aGVuIDxy
ZGFyOi8vcHJvYmxlbS8xMzA2NjIwNj4gaXMgZml4ZWQuCiAKIChhbGxvdyBtYWNoLWxvb2t1cAot
I2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCisjaWYgUExBVEZP
Uk0oTUFDKQogICAgICh3aXRoIHJlcG9ydCkgKHdpdGggdGVsZW1ldHJ5KQogI2VuZGlmCiAgICAg
KGdsb2JhbC1uYW1lICJjb20uYXBwbGUuYXVkaW8uQXVkaW9Db21wb25lbnRSZWdpc3RyYXIiKQpA
QCAtMzM3LDkgKzMzNyw2IEBACiAKIDs7IFZhcmlvdXMgc2VydmljZXMgcmVxdWlyZWQgYnkgQXBw
S2l0IGFuZCBvdGhlciBmcmFtZXdvcmtzCiAoYWxsb3cgbWFjaC1sb29rdXAKLSNpZiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNDAwCi0gICAgICAgKGdsb2JhbC1uYW1lICJj
b20uYXBwbGUuRm9udE9iamVjdHNTZXJ2ZXIiKQotI2VuZGlmCiAgICAgICAgKGdsb2JhbC1uYW1l
ICJjb20uYXBwbGUuUG93ZXJNYW5hZ2VtZW50LmNvbnRyb2wiKQogICAgICAgIChnbG9iYWwtbmFt
ZSAiY29tLmFwcGxlLlN5c3RlbUNvbmZpZ3VyYXRpb24uY29uZmlnZCIpCiAgICAgICAgKGdsb2Jh
bC1uYW1lICJjb20uYXBwbGUuYW5hbHl0aWNzZCIpCkBAIC0zNjIsMTggKzM1OSwxNCBAQAogICAg
ICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLkNBUmVuZGVyU2VydmVyIikgOyBOZWVkZWQgZm9y
IFtDQUNvbnRleHQgcmVtb3RlQ29udGV4dFdpdGhPcHRpb25zXQogKQogCi0jaWYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1Qp
CiA7OyA8cmRhcjovL3Byb2JsZW0vNDcyNjgxNjY+CiAoYWxsb3cgbWFjaC1sb29rdXAgKHhwYy1z
ZXJ2aWNlLW5hbWUgImNvbS5hcHBsZS5NVExDb21waWxlclNlcnZpY2UiKSkKLSNlbmRpZgogCi0j
aWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAgfHwgUExBVEZPUk0o
TUFDQ0FUQUxZU1QpCiAoZGVueSBtYWNoLWxvb2t1cCAod2l0aCBuby1sb2cpCiAgICAgKGdsb2Jh
bC1uYW1lICJjb20uYXBwbGUuQ29yZVNlcnZpY2VzLmNvcmVzZXJ2aWNlc2QiKQogICAgIChnbG9i
YWwtbmFtZSAiY29tLmFwcGxlLkRpc2tBcmJpdHJhdGlvbi5kaXNrYXJiaXRyYXRpb25kIikKICAg
ICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5WaWV3QnJpZGdlQXV4aWxpYXJ5IikKICAgICAoZ2xv
YmFsLW5hbWUgImNvbS5hcHBsZS53aW5kb3dzZXJ2ZXIuYWN0aXZlIikpCi0jZW5kaWYKIAogOzsg
TmVlZGVkIHRvIHN1cHBvcnQgZW5jcnlwdGVkIG1lZGlhIHBsYXliYWNrIDxyZGFyOi8vcHJvYmxl
bS80MDAzODQ3OD4KIChhbGxvdyBtYWNoLWxvb2t1cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUuY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUuY3BwCmlu
ZGV4IGYxNGI2MzcxNDYxZWZmOTdhNzNhZTQwZDE5NTkwYzNmMDE1N2RiZjEuLjEyMzBkYTdjNTQz
ZDgxMzE4OTAxNjYwOGMxNWNlZjE3MjE1N2ZlZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAK
QEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJNZWRpYVJl
Y29yZGVyUHJpdmF0ZS5oIgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJP
Q0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdB
VEUpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKIAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJH
UFVQcm9jZXNzQ29ubmVjdGlvbi5oIgpAQCAtMjAwLDQgKzIwMCw0IEBAIGNvbnN0IFN0cmluZyYg
TWVkaWFSZWNvcmRlclByaXZhdGU6Om1pbWVUeXBlKCkgY29uc3QKIAogfQogCi0jZW5kaWYgLy8g
UExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NU
UkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjZW5kaWYgLy8gUExBVEZPUk0o
Q09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3Jk
ZXJQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJl
Y29yZGVyUHJpdmF0ZS5oCmluZGV4IGJkZDU0OTcxY2RiZWI4MGExNTIzMzUwMWY0NmFjNTRiMmMx
N2I2ZTYuLjUwOGM2YTJmMDFhMWU1N2U0Y2I5YzJkZmQxYzYyOWJhZWYwMjgyYWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2
YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNv
cmRlclByaXZhdGUuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIFBM
QVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJF
QU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2lmIFBMQVRGT1JNKENPQ09BKSAm
JiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRl
ICJNZWRpYVJlY29yZGVySWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlNoYXJlZFJpbmdCdWZmZXJT
dG9yYWdlLmgiCkBAIC04Niw0ICs4Niw0IEBAIHByaXZhdGU6CiAKIH0KIAotI2VuZGlmIC8vIFBM
QVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJF
QU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2VuZGlmIC8vIFBMQVRGT1JNKENP
Q09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVy
UHJpdmF0ZS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVj
b3JkZXJQcml2YXRlLm1tCmluZGV4IDY1NTRhMDIwMDAwMTU1NzFlNGEwNjI3NDkwNGNiNTNkZDYx
ZmZlYzMuLjg2NzlhNWI0ZjYwNDFlYWI0MjIwZTZjNDQ4YWVhNGUxODQ3MWIxZWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2
YXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVj
b3JkZXJQcml2YXRlLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiTWVkaWFSZWNvcmRlclByaXZhdGUuaCIKIAotI2lmIFBMQVRGT1JNKENPQ09BKSAm
JiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZB
U1NFVFdSSVRFUkRFTEVHQVRFKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BS
T0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRlIDxXZWJDb3JlL0NvcmVW
aWRlb1NvZnRMaW5rLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJvdmlkZXIuY3BwCmluZGV4IDAxYzU5OWMx
MjgwMzEwMGY1MTAxMDI3YTA5YWE5MjJkMTcwMzAwYjkuLjVjNGU4OWMwODE5NmFiMGJjM2ViNjk5
YWQ2OWJjOWE4NGNmMDg2MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByb3ZpZGVyLmNwcApAQCAtMzksNyAr
MzksNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogc3RkOjp1bmlxdWVfcHRyPFdlYkNv
cmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlPiBNZWRpYVJlY29yZGVyUHJvdmlkZXI6OmNyZWF0ZU1l
ZGlhUmVjb3JkZXJQcml2YXRlKE1lZGlhU3RyZWFtUHJpdmF0ZSYgc3RyZWFtLCBjb25zdCBNZWRp
YVJlY29yZGVyUHJpdmF0ZU9wdGlvbnMmIG9wdGlvbnMpCiB7Ci0jaWYgRU5BQkxFKEdQVV9QUk9D
RVNTKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBFTkFCTEUoR1BVX1BST0NF
U1MpCiAgICAgYXV0byogcGFnZSA9IG1fd2ViUGFnZS5jb3JlUGFnZSgpOwogICAgIGlmIChwYWdl
ICYmIHBhZ2UtPnNldHRpbmdzKCkud2ViUlRDUGxhdGZvcm1Db2RlY3NJbkdQVVByb2Nlc3NFbmFi
bGVkKCkpCiAgICAgICAgIHJldHVybiBtYWtlVW5pcXVlPE1lZGlhUmVjb3JkZXJQcml2YXRlPihz
dHJlYW0sIG9wdGlvbnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS93ZWJydGMvTWVkaWFSZWNvcmRlclByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJvdmlkZXIuaAppbmRleCA3MTkxYjkyYzVmZDg1
NzAzM2RlNTc3ODdjZWQyNzY2NGZhZWQ1YTQ5Li41OGU0MDgyMDM2YzM1ZGYxZjBiNjQ4NzA0MDcw
YTFiNzE4ZjVmNjU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dl
YnJ0Yy9NZWRpYVJlY29yZGVyUHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJvdmlkZXIuaApAQCAtNDAsMTMgKzQwLDEzIEBA
IHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2
YXRlPiBjcmVhdGVNZWRpYVJlY29yZGVyUHJpdmF0ZShXZWJDb3JlOjpNZWRpYVN0cmVhbVByaXZh
dGUmLCBjb25zdCBXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJpdmF0ZU9wdGlvbnMmKSBmaW5hbDsK
ICNlbmRpZgogCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExBVEZPUk0oQ09DT0EpICYm
IEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjaWYg
RU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJP
Q0VTUykKICAgICBXZWJQYWdlJiBtX3dlYlBhZ2U7CiAjZW5kaWYKIH07CiAKIGlubGluZSBNZWRp
YVJlY29yZGVyUHJvdmlkZXI6Ok1lZGlhUmVjb3JkZXJQcm92aWRlcihXZWJQYWdlJiB3ZWJQYWdl
KQotI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUo
R1BVX1BST0NFU1MpICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2lmIEVOQUJMRShN
RURJQV9TVFJFQU0pICYmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpCiAg
ICAgOiBtX3dlYlBhZ2Uod2ViUGFnZSkKICNlbmRpZgogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUxvYWRlckNs
aWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50LmNwcAppbmRleCA1MTBkMmRhNzk4Y2RhMjUwOTkzYWI1
MGRkMzY5N2RlYTVkYWUzYWQxLi43NWQ4NGU5YThhYjA0MmI2OGJhNzEyZGRkNDYyMTk3ZjM5NTdi
MTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50LmNw
cApAQCAtNDcsMTAgKzQ3LDggQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBJbmplY3RlZEJ1
bmRsZVBhZ2VMb2FkZXJDbGllbnQ6OkluamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVudChjb25z
dCBXS0J1bmRsZVBhZ2VMb2FkZXJDbGllbnRCYXNlKiBjbGllbnQpCiB7CiAgICAgaW5pdGlhbGl6
ZShjbGllbnQpOwotI2lmICFQTEFURk9STShNQUMpIHx8IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPiAxMDE0MDAKICAgICAvLyBEZXByZWNhdGVkIGNhbGxiYWNrcy4KICAgICBBU1NF
UlQoIW1fY2xpZW50LnNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtKTsKLSNlbmRpZgogfQog
CiB2b2lkIEluamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVudDo6d2lsbExvYWRVUkxSZXF1ZXN0
KFdlYlBhZ2UmIHBhZ2UsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgQVBJOjpPYmpl
Y3QqIHVzZXJEYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5h
cHBsZS5XZWJQcm9jZXNzLnNiLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBs
ZS5XZWJQcm9jZXNzLnNiLmluCmluZGV4IDFkYTcyZGNhMzc3OGFkMzQwYmMzOTU5ZTBjNzg0Mjlk
YmU3Njk0ZWQuLmRmYmY3ZGVlMDYzMzQ3YTM4OWI0N2I1YjE1ZTVlMzgzY2U2Zjc4OTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2Iu
aW4KQEAgLTMwOCwxMCArMzA4LDggQEAKICAgICAgICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFw
cGxlLmN2bXNTZXJ2IikKICAgICAgICAgKQogICAgICkKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwMTQwMCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKICAgICAoYWxs
b3cgZmlsZS1yZWFkKgogICAgICAgICAocHJlZml4ICIvcHJpdmF0ZS92YXIvZGIvQ1ZNUy9jdm1z
Q29kZVNpZ25PYmoiKSkKLSNlbmRpZgogICAgIDs7IE9wZW5DTAogICAgIChpZiAoZXF1YWw/IChw
YXJhbSAiRU5BQkxFX1NBTkRCT1hfTUVTU0FHRV9GSUxURVIiKSAiWUVTIikKICAgICAgICAgKGFs
bG93IGlva2l0LW9wZW4KQEAgLTgzNSw3ICs4MzMsNiBAQAogICAgIChpb2tpdC1wcm9wZXJ0eSAi
c2F2ZWQtY29uZmlnIikKICAgICAoaW9raXQtcHJvcGVydHkgInN0YXJ0dXAtdGltaW5nIikKICAg
ICAoaW9raXQtcHJvcGVydHkgInRvdWNoLXNpemUtaWQiKQotI2lmICFQTEFURk9STShNQUMpIHx8
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwCiAgICAgKGlva2l0LXBy
b3BlcnR5ICJBVFksY2JpdHMiKQogICAgIChpb2tpdC1wcm9wZXJ0eSAiQVRZLGludHJldiIpCiAg
ICAgKGlva2l0LXByb3BlcnR5ICJBY2NlbE5hdGl2ZURNQVJvd0J5dGVBbGlnbm1lbnQiKQpAQCAt
ODUzLDcgKzg1MCw2IEBACiAgICAgKGlva2l0LXByb3BlcnR5ICJUZWxlbWV0cnlEaXNhYmxlIikK
ICAgICAoaW9raXQtcHJvcGVydHkgImNhaWxfcHJvcGVydGllcyIpCiAgICAgKGlva2l0LXByb3Bl
cnR5ICJkcG0iKQotI2VuZGlmCiAgICAgKGlva2l0LXByb3BlcnR5ICJJT0dWQUgyNjRFbmNvZGVD
YXBhYmlsaXRpZXMiKSA7OyA8cmRhcjovL3Byb2JsZW0vNDk0OTgwNDA+CiAjaWYgIVBMQVRGT1JN
KE1BQykgfHwgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+IDEwMTUwMAogICAgIChp
b2tpdC1wcm9wZXJ0eSAiSU9BVkRIRVZDRGVjb2RlQ2FwYWJpbGl0aWVzIikgOzsgPHJkYXI6Ly9w
cm9ibGVtLzcxMTAwMTg4PgpAQCAtMTM1MCw5ICsxMzQ2LDYgQEAKIAogOzsgVmFyaW91cyBzZXJ2
aWNlcyByZXF1aXJlZCBieSBBcHBLaXQgYW5kIG90aGVyIGZyYW1ld29ya3MKIChhbGxvdyBtYWNo
LWxvb2t1cAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE0MDAKLSAg
ICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5Gb250T2JqZWN0c1NlcnZlciIpCi0jZW5kaWYK
ICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5sb2dkIikKICAgICAgICAoZ2xvYmFsLW5h
bWUgImNvbS5hcHBsZS5sb2dkLmV2ZW50cyIpCiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBw
bGUuQ0FSZW5kZXJTZXJ2ZXIiKSA7IE5lZWRlZCBmb3IgW0NBQ29udGV4dCByZW1vdGVDb250ZXh0
V2l0aE9wdGlvbnNdCkBAIC0xMzg3LDcgKzEzODAsNiBAQAogICAgIChnbG9iYWwtbmFtZSAiY29t
LmFwcGxlLmxzZC5tYXBkYiIpCiApCiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDEwMTQwMCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKIDs7IDxyZGFyOi8vcHJvYmxl
bS80NzI2ODE2Nj4KIChhbGxvdyBtYWNoLWxvb2t1cAogICAgIChyZXF1aXJlLWFsbApAQCAtMTQw
MiwxNSArMTM5NCwxMiBAQAogICAgICAgICAoeHBjLXNlcnZpY2UtbmFtZSAiY29tLmFwcGxlLk1U
TENvbXBpbGVyU2VydmljZSIpCiAgICAgKQogKQotI2VuZGlmCiAKLSNpZiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKIChk
ZW55IG1hY2gtbG9va3VwICh3aXRoIG5vLWxvZykKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBs
ZS5Db3JlU2VydmljZXMuY29yZXNlcnZpY2VzZCIpCiAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBw
bGUuRGlza0FyYml0cmF0aW9uLmRpc2thcmJpdHJhdGlvbmQiKQogICAgIChnbG9iYWwtbmFtZSAi
Y29tLmFwcGxlLlZpZXdCcmlkZ2VBdXhpbGlhcnkiKQogICAgIChnbG9iYWwtbmFtZSAiY29tLmFw
cGxlLndpbmRvd3NlcnZlci5hY3RpdmUiKSkKLSNlbmRpZgogCiAjaWYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDAKIChkZW55IG1hY2gtbG9va3VwICh3aXRoIG5vLWxv
ZykKQEAgLTE3MDksMTEgKzE2OTgsNyBAQAogICAgICAgICAoZ2xvYmFsLW5hbWUKICAgICAgICAg
ICAgICJjb20uYXBwbGUuYW5hbHl0aWNzZCIKICAgICAgICAgICAgICJjb20uYXBwbGUubmVoZWxw
ZXIiCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAgfHwgUExB
VEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgICAgICAgICAiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFn
ZXIuY29udGVudC1maWx0ZXIiCi0jZWxzZQotICAgICAgICAgICAgImNvbS5hcHBsZS5uZXNlc3Np
b25tYW5hZ2VyIgotI2VuZGlmCiAgICAgICAgICAgICAiY29tLmFwcGxlLndlYmluc3BlY3RvciIK
ICAgICAgICAgICAgICJjb20uYXBwbGUuY2ZwcmVmc2QuYWdlbnQiCiAgICAgICAgICAgICAiY29t
LmFwcGxlLmNmcHJlZnNkLmRhZW1vbiIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYkhUTUxWaWV3Lm1tCmluZGV4IGNlYzliOGUzMTg1OThhZWVlYjg0MTE3MDY4MTFiYzMx
MmNjMWNlY2YuLjRiMDc4NTQ5ZGM0MjAyZmJiNmMyNzJlZjIwNWFiMzk0ZTM5NDcxNjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQpAQCAtMjIz
LDI0ICsyMjMsNiBAQCBAcHJvcGVydHkgKHJlYWRvbmx5KSBfX2tpbmRvZiBOU1ZpZXcgKl9ib3Jk
ZXJWaWV3OwogLSAoaWQpX25ld0ZpcnN0UmVzcG9uZGVyQWZ0ZXJSZXNpZ25pbmc7CiBAZW5kCiAK
LSNpZiAhSEFWRShTVUJWSUVXU19JVkFSX1NQSSkKLUBpbXBsZW1lbnRhdGlvbiBOU1ZpZXcgKFN1
YnZpZXdzSXZhcikKLQotLSAodm9pZClfc2V0U3Vidmlld3NJdmFyOihOU011dGFibGVBcnJheTxf
X2tpbmRvZiBOU1ZpZXcgKj4gKilzdWJ2aWV3cyB7Ci0gICAgQUxMT1dfREVQUkVDQVRFRF9ERUNM
QVJBVElPTlNfQkVHSU4KLSAgICBfc3Vidmlld3MgPSBzdWJ2aWV3czsKLSAgICBBTExPV19ERVBS
RUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKLX0KLQotLSAoTlNNdXRhYmxlQXJyYXk8X19raW5kb2Yg
TlNWaWV3ICo+ICopX3N1YnZpZXdzSXZhciB7Ci0gICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJB
VElPTlNfQkVHSU4KLSAgICByZXR1cm4gKE5TTXV0YWJsZUFycmF5ICopX3N1YnZpZXdzOwotICAg
IEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAotfQotCi1AZW5kCi0jZW5kaWYKLQog
dXNpbmcgV2ViRXZlbnQgPSBOU0V2ZW50OwogY29uc3QgYXV0byBXZWJFdmVudE1vdXNlRG93biA9
IE5TRXZlbnRUeXBlTGVmdE1vdXNlRG93bjsKIApAQCAtNzM3LDEyICs3MTksOSBAQCBzdGF0aWMg
dm9pZCBzZXRDdXJzb3IoTlNXaW5kb3cgKnNlbGYsIFNFTCBjbWQsIE5TUG9pbnQgcG9pbnQpCiBA
aW50ZXJmYWNlIE5TVmlldyAoKQogLSAodm9pZClfcmVjdXJzaXZlRGlzcGxheVJlY3RJZk5lZWRl
ZElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KXJlY3QgaXNWaXNpYmxlUmVjdDooQk9PTClpc1Zpc2li
bGVSZWN0IHJlY3RJc1Zpc2libGVSZWN0Rm9yVmlldzooTlNWaWV3ICopdmlzaWJsZVZpZXcgdG9w
VmlldzooQk9PTCl0b3BWaWV3OwogLSAodm9pZClfcmVjdXJzaXZlRGlzcGxheUFsbERpcnR5V2l0
aExvY2tGb2N1czooQk9PTCluZWVkc0xvY2tGb2N1cyB2aXNSZWN0OihOU1JlY3QpdmlzUmVjdDsK
LSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxNTAwCisjaWYgUExBVEZPUk0oTUFDKQogLSAodm9pZClfcmVjdXJzaXZlOihCT09MKXJlY3Vy
c2l2ZSBkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KWRpc3BsYXlSZWN0IGluQ29u
dGV4dDooTlNHcmFwaGljc0NvbnRleHQgKilncmFwaGljc0NvbnRleHQgc3RvcEF0TGF5ZXJCYWNr
ZWRWaWV3czooQk9PTClzdG9wQXRMYXllckJhY2tlZFZpZXdzOwogI2VuZGlmCi0jaWYgUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwCi0tICh2
b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzaXZlIGRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5
OihOU1JlY3QpZGlzcGxheVJlY3QgaW5Db250ZXh0OihOU0dyYXBoaWNzQ29udGV4dCAqKWdyYXBo
aWNzQ29udGV4dCBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6KEJPT0wpc2hvdWxkQ2hh
bmdlRm9udFJlZmVyZW5jZUNvbG9yIHN0b3BBdExheWVyQmFja2VkVmlld3M6KEJPT0wpc3RvcEF0
TGF5ZXJCYWNrZWRWaWV3czsKLSNlbmRpZgogLSAodm9pZClfc2V0RHJhd3NPd25EZXNjZW5kYW50
czooQk9PTClkcmF3c093bkRlc2NlbmRhbnRzOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAt
ICh2b2lkKWNlbnRlclNlbGVjdGlvbkluVmlzaWJsZUFyZWE6KGlkKXNlbmRlcjsKQEAgLTE2ODEs
MTggKzE2NjAsMTAgQEAgLSAodm9pZClfcmVjdXJzaXZlRGlzcGxheUFsbERpcnR5V2l0aExvY2tG
b2N1czooQk9PTCluZWVkc0xvY2tGb2N1cyB2aXNSZWN0OihOU1IKIH0KIAogLy8gRG9uJ3QgbGV0
IEFwcEtpdCBldmVuIGRyYXcgc3Vidmlld3MuIFdlIHRha2UgY2FyZSBvZiB0aGF0LgotI2lmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCiAtICh2b2lkKV9yZWN1cnNp
dmU6KEJPT0wpcmVjdXJzaXZlIGRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OihOU1JlY3QpZGlz
cGxheVJlY3QgaW5Db250ZXh0OihOU0dyYXBoaWNzQ29udGV4dCAqKWdyYXBoaWNzQ29udGV4dCBz
dG9wQXRMYXllckJhY2tlZFZpZXdzOihCT09MKXN0b3BBdExheWVyQmFja2VkVmlld3MKLSNlbHNl
Ci0tICh2b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJzaXZlIGRpc3BsYXlSZWN0SWdub3JpbmdP
cGFjaXR5OihOU1JlY3QpZGlzcGxheVJlY3QgaW5Db250ZXh0OihOU0dyYXBoaWNzQ29udGV4dCAq
KWdyYXBoaWNzQ29udGV4dCBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6KEJPT0wpc2hv
dWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yIHN0b3BBdExheWVyQmFja2VkVmlld3M6KEJPT0wp
c3RvcEF0TGF5ZXJCYWNrZWRWaWV3cwotI2VuZGlmCiB7CiAgICAgW3NlbGYgX3NldEFzaWRlU3Vi
dmlld3NdOwotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCiAg
ICAgW3N1cGVyIF9yZWN1cnNpdmU6cmVjdXJzaXZlIGRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5
OmRpc3BsYXlSZWN0IGluQ29udGV4dDpncmFwaGljc0NvbnRleHQgc3RvcEF0TGF5ZXJCYWNrZWRW
aWV3czpzdG9wQXRMYXllckJhY2tlZFZpZXdzXTsKLSNlbHNlCi0gICAgW3N1cGVyIF9yZWN1cnNp
dmU6cmVjdXJzaXZlIGRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OmRpc3BsYXlSZWN0IGluQ29u
dGV4dDpncmFwaGljc0NvbnRleHQgc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOnNob3Vs
ZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvciBzdG9wQXRMYXllckJhY2tlZFZpZXdzOnN0b3BBdExh
eWVyQmFja2VkVmlld3NdOwotI2VuZGlmCiAgICAgW3NlbGYgX3Jlc3RvcmVTdWJ2aWV3c107CiB9
CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAx
ZmIzNjk3NDg5MGEzYjE2MTA0OGM3NjgzNzMzNzg5NDhiNjY2YjUzLi41NDZlYWM0NThlYmExODBh
OTkzZDY0NDRjMWU2YTEzYTM3ODRkNDIyIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTAtMDEgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIHN1cHBvcnQgZm9yIG1hY09T
IDwgMTAuMTUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzMTA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICog
VGVzdFJ1bm5lclNoYXJlZC9zcGkvQXBwS2l0VGVzdFNQSS5oOgorICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGlua1Rlc3QubW06Cisg
ICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL1ByZWNvbm5lY3QubW06CisgICAgICAgICogVGVzdFdlYktpdEFQSS9j
b25maWcuaDoKKwogMjAyMS0xMC0wMSAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5j
b20+CiAKICAgICAgICAgW3dlYmtpdGNvcmVweV0gQWRkIFRhc2tQb29sIChGb2xsb3ctdXAgZml4
KQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlRHJh
Z2dpbmdJbmZvLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlRHJh
Z2dpbmdJbmZvLm1tCmluZGV4IGJmMGRjY2QwZTZlMDkxMDMyY2MxMmNjM2I0OTk3MGJjOTcwN2Ez
MDQuLmI0MTIzZTcwNDU3NjdkNzI5ODEzNTdiZjgyYzIzNDIwODA1ZGZhNGQgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZURyYWdnaW5nSW5mby5tbQor
KysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWVEcmFnZ2luZ0luZm8u
bW0KQEAgLTI3MywxMyArMjczLDcgQEAgLSAodm9pZCllbnVtZXJhdGVEcmFnZ2luZ0l0ZW1zV2l0
aE9wdGlvbnM6KE5TRW51bWVyYXRpb25PcHRpb25zKWVudW1PcHRpb25zIGZvclYKICAgICAgICAg
W3JlY2VpdmVyIHNldERyYWdnaW5nU291cmNlOmRyYWdnaW5nU291cmNlXTsKICAgICAgICAgW2Fs
bEZpbGVQcm9taXNlUmVjZWl2ZXJzKCkgYWRkT2JqZWN0OnJlY2VpdmVyLmdldCgpXTsKIAotI2lm
IEhBVkUoTlNEUkFHR0lOR0lURU1fSU5JVFdJVEhJVEVNKQogICAgICAgICBhdXRvIGl0ZW0gPSBh
ZG9wdE5TKFtbTlNEcmFnZ2luZ0l0ZW0gYWxsb2NdIF9pbml0V2l0aEl0ZW06cmVjZWl2ZXIuZ2V0
KCldKTsKLSNlbHNlCi0gICAgICAgIGF1dG8gaXRlbSA9IGFkb3B0TlMoW1tOU0RyYWdnaW5nSXRl
bSBhbGxvY10gaW5pdFdpdGhQYXN0ZWJvYXJkV3JpdGVyOihpZCA8TlNQYXN0ZWJvYXJkV3JpdGlu
Zz4pcmVjZWl2ZXIuZ2V0KCldKTsgLy8gRklYTUU6IDxodHRwczovL3dlYmtpdC5vcmcvYi8xOTQw
NjA+IFBhc3MgYW4gb2JqZWN0IG9mIHRoZSByaWdodCB0eXBlLgotICAgICAgICBbaXRlbSBzZXRJ
dGVtOnJlY2VpdmVyLmdldCgpXTsKLSNlbmRpZgotCiAgICAgICAgIGJsb2NrKGl0ZW0uZ2V0KCks
IDAsICZzdG9wKTsKICAgICAgICAgaWYgKHN0b3ApCiAgICAgICAgICAgICByZXR1cm47CmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0UnVubmVyU2hhcmVkL3NwaS9BcHBLaXRUZXN0U1BJLmggYi9Ub29s
cy9UZXN0UnVubmVyU2hhcmVkL3NwaS9BcHBLaXRUZXN0U1BJLmgKaW5kZXggNWY5YWQ1MjM3MGYw
MjdlYzEwNDRmYzQxNDQ1ZWQ1YWM3NGRhZWJhMi4uMmQ4NzRlMTIwNzBmYzJiNzhlZGEwNzdkNjgz
Y2FkMjcxZWFjNDI2MCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9zcGkvQXBw
S2l0VGVzdFNQSS5oCisrKyBiL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvc3BpL0FwcEtpdFRlc3RT
UEkuaApAQCAtMjcsMTcgKzI3LDggQEAKIAogI2ltcG9ydCA8QXBwS2l0L05TRHJhZ2dpbmdJdGVt
Lmg+CiAKLS8vIEZJWE1FOiBNb3ZlIHRoaXMgdG8gUGxhdGZvcm1IYXZlLmguCi0jaWYgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAKLSNkZWZpbmUgSEFWRV9OU0RSQUdH
SU5HSVRFTV9JTklUV0lUSElURU0gMQotI2VuZGlmCi0KIEBpbnRlcmZhY2UgTlNEcmFnZ2luZ0l0
ZW0gKCkKLSNpZiBIQVZFKE5TRFJBR0dJTkdJVEVNX0lOSVRXSVRISVRFTSkKIC0gKGluc3RhbmNl
dHlwZSlfaW5pdFdpdGhJdGVtOihpZClpdGVtOwotI2Vsc2UKLS0gKHZvaWQpc2V0SXRlbTooaWQp
aXRlbTsKLSNlbmRpZgogQGVuZAogCiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2NvY29hL0FWRm91bmRhdGlvblNv
ZnRMaW5rVGVzdC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9B
VkZvdW5kYXRpb25Tb2Z0TGlua1Rlc3QubW0KaW5kZXggMThlODljOTQyYTg0MzcxZWFiNjdlMmVj
MzRkZDI2ZDkxNDFiYmZlNy4uYmFmYTc1ZjQ2ZTYwMmRjY2YxN2Y1N2Y3YzAyNTNmZjBiMTk1YjE0
ZiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2NvY29hL0FW
Rm91bmRhdGlvblNvZnRMaW5rVGVzdC5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYkNvcmUvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmtUZXN0Lm1tCkBAIC0xNjEsNyArMTYx
LDcgQEAgVEVTVChBVkZvdW5kYXRpb25Tb2Z0TGluaywgQ29uc3RhbnRzKQogICAgIEVYUEVDVF9U
UlVFKFtBVkNvbnRlbnRLZXlSZXF1ZXN0UHJvdG9jb2xWZXJzaW9uc0tleSBpc0VxdWFsVG9TdHJp
bmc6QCJQcm90b2NvbFZlcnNpb25zS2V5Il0pOwogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgUExBVEZP
Uk0oSU9TKSB8fCBQTEFURk9STShXQVRDSE9TKSB8fCBQTEFURk9STShBUFBMRVRWKQorI2lmIFBM
QVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShXQVRDSE9TKSB8fCBQTEFU
Rk9STShBUFBMRVRWKQogICAgIEVYUEVDVF9UUlVFKFBBTDo6Y2FuTG9hZF9BVkZvdW5kYXRpb25f
QVZWaWRlb0NvZGVjVHlwZUhFVkNXaXRoQWxwaGEoKSk7CiAgICAgRVhQRUNUX1RSVUUoW0FWVmlk
ZW9Db2RlY1R5cGVIRVZDV2l0aEFscGhhIGlzRXF1YWxUb1N0cmluZzpAIm11eGEiXSk7CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJl
Y29ubmVjdC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJlY29u
bmVjdC5tbQppbmRleCA5YjFlYmZhZDcxZmRmMGVkOGYxODQyNGVkMmI0MGI4YTg0YmJmNDZjLi41
NDdiMzU3ZWU5ZWEwYWExOWRhZWRjODkyNGNhYjFiYWFjNDI2MmRiIDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByZWNvbm5lY3QubW0KKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QcmVjb25uZWN0Lm1tCkBAIC0xMDMs
MTAgKzEwMyw2IEBAIFRFU1QoUHJlY29ubmVjdCwgQ29ubmVjdGlvbkNvdW50KQogICAgIEVYUEVD
VF9FUShjb25uZWN0aW9uQ291bnQsIDJ1KTsKIH0KIAotLy8gTW9qYXZlIENGTmV0d29yayBfcHJl
Y29ubmVjdCBTUEkgc2VlbXMgdG8gaGF2ZSBhIGJ1ZyBjYXVzaW5nIHRoaXMgdG8gdGltZSBvdXQu
Ci0vLyBUaGF0J3Mgbm8gcHJvYmxlbSwgYmVjYXVzZSB0aGlzIGlzIGEgdGVzdCBmb3IgU1BJIG9u
bHkgdG8gYmUgdXNlZCBvbiBsYXRlciBPUyB2ZXJzaW9ucy4KLSNpZiAhUExBVEZPUk0oTUFDKSB8
fCBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMAotCiBURVNUKFByZWNv
bm5lY3QsIEhUVFBTKQogewogICAgIGJvb2wgY29ubmVjdGVkID0gZmFsc2U7CkBAIC0xMzYsOCAr
MTMyLDYgQEAgVEVTVChQcmVjb25uZWN0LCBIVFRQUykKICAgICBFWFBFQ1RfVFJVRShyZWNlaXZl
ZENoYWxsZW5nZSk7CiB9CiAKLSNlbmRpZgotCiAjaWYgSEFWRShQUkVDT05ORUNUX1BJTkcpCiBz
dGF0aWMgdm9pZCBwaW5nUG9uZyhSZWY8SDI6OkNvbm5lY3Rpb24+JiYgY29ubmVjdGlvbiwgc2l6
ZV90KiBoZWFkZXJzQ291bnQpCiB7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL1NlcnZpY2VXb3JrZXJCYXNpYy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tCmluZGV4IDFkM2FlZTcw
OWQ0MTQzOGY3OTcwN2JjZjRhMTQ3NmIzYTUxMWNkYjkuLjBlOGEzZTdhZmZjMmY1N2U4YmYwNDVm
ZGE4ZTBjZDc2MmFhYzU0YmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tCkBAIC0yMTgyLDggKzIx
ODIsNiBAQCBURVNUKFNlcnZpY2VXb3JrZXJzLCBDb250ZW50UnVsZUxpc3QpCiAgICAgVGVzdFdl
YktpdEFQSTo6VXRpbDo6cnVuKCZkb25lUmVtb3ZpbmcpOwogfQogCi0jaWYgSEFWRShUTFNfUFJP
VE9DT0xfVkVSU0lPTl9UKQotCiBzdGF0aWMgYm9vbCBpc1Rlc3RTZXJ2ZXJUcnVzdChTZWNUcnVz
dFJlZiB0cnVzdCkKIHsKICAgICBpZiAoIXRydXN0KQpAQCAtMjM3Miw4ICsyMzcwLDYgQEAgVEVT
VChTZXJ2aWNlV29ya2VycywgQ2hhbmdlT2ZTZXJ2ZXJDZXJ0aWZpY2F0ZSkKICAgICB9CiB9CiAK
LSNlbmRpZiAvLyBIQVZFKFRMU19QUk9UT0NPTF9WRVJTSU9OX1QpCi0KIFRFU1QoU2VydmljZVdv
cmtlcnMsIENsZWFyRE9NQ2FjaGVBbHNvSW5jbHVkZXNTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
cykKIHsKICAgICBbV0tXZWJzaXRlRGF0YVN0b3JlIF9hbGxvd1dlYnNpdGVEYXRhUmVjb3Jkc0Zv
ckFsbE9yaWdpbnNdOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9UTFNEZXByZWNhdGlvbi5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvVExTRGVwcmVjYXRpb24ubW0KaW5kZXggYWZhZDk0MzJkMGM3NWEyZDMwZTYwMzAy
NWY2MzE5OWFjYzQwZDQ0MS4uNTNiNTE3MDhiYzM3ZGRmMWI3YTg0NzE5MjhhOTIxMjgyYzE3N2Q4
YyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9UTFNE
ZXByZWNhdGlvbi5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L1RMU0RlcHJlY2F0aW9uLm1tCkBAIC0xNDEsOCArMTQxLDYgQEAgbmFtZXNwYWNlIFRlc3RXZWJL
aXRBUEkgewogCiBjb25zdCB1aW50MTZfdCB0bHMxXzEgPSAweDAzMDI7CiAKLSNpZiBIQVZFKFRM
U19QUk9UT0NPTF9WRVJTSU9OX1QpCi0KIFRFU1QoVExTVmVyc2lvbiwgRGVmYXVsdEJlaGF2aW9y
KQogewogICAgIEhUVFBTZXJ2ZXIgc2VydmVyKEhUVFBTZXJ2ZXI6OnJlc3BvbmRXaXRoT0ssIEhU
VFBTZXJ2ZXI6OlByb3RvY29sOjpIdHRwc1dpdGhMZWdhY3lUTFMpOwpAQCAtMTU3LDggKzE1NSw2
IEBAIFRFU1QoVExTVmVyc2lvbiwgRGVmYXVsdEJlaGF2aW9yKQogICAgIFtkZWxlZ2F0ZSB3YWl0
Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07CiB9CiAKLSNlbmRpZiAvLyBIQVZFKFRMU19QUk9UT0NP
TF9WRVJTSU9OX1QpCi0KICNpZiBIQVZFKFRMU19WRVJTSU9OX0RVUklOR19DSEFMTEVOR0UpCiAK
IFJldGFpblB0cjxXS1dlYlZpZXc+IG1ha2VXZWJWaWV3V2l0aChXS1dlYnNpdGVEYXRhU3RvcmUg
KnN0b3JlLCBSZXRhaW5QdHI8VGVzdE5hdmlnYXRpb25EZWxlZ2F0ZT4gZGVsZWdhdGUpCkBAIC0y
NjMsOCArMjU5LDYgQEAgVEVTVChUTFNWZXJzaW9uLCBQcmVjb25uZWN0KQogCiAjZW5kaWYgLy8g
SEFWRShUTFNfVkVSU0lPTl9EVVJJTkdfQ0hBTExFTkdFKQogCi0jaWYgSEFWRShUTFNfUFJPVE9D
T0xfVkVSU0lPTl9UKQotCiBzdGF0aWMgc3RkOjpwYWlyPFJldGFpblB0cjxXS1dlYlZpZXc+LCBS
ZXRhaW5QdHI8VGVzdE5hdmlnYXRpb25EZWxlZ2F0ZT4+IHdlYlZpZXdXaXRoTmF2aWdhdGlvbkRl
bGVnYXRlKCkKIHsKICAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbVGVzdE5hdmlnYXRpb25E
ZWxlZ2F0ZSBuZXddKTsKQEAgLTQ5OSw4ICs0OTMsNiBAQCBURVNUKFRMU1ZlcnNpb24sIExlZ2Fj
eVN1YnJlc291cmNlcykKIAogI2VuZGlmIC8vIEhBVkUoVExTX1ZFUlNJT05fRFVSSU5HX0NIQUxM
RU5HRSkKIAotI2VuZGlmIC8vIEhBVkUoVExTX1BST1RPQ09MX1ZFUlNJT05fVCkKLQogfQogCiAj
ZW5kaWYgLy8gSEFWRShTU0wpCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0gYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KaW5k
ZXggYWJhNGZiOTA3ZmIyMjdjMzc0MGRhZjA5YWYxMWM3MTQ4MDY5N2UyNC4uZDYyZTI5MjMyNjVh
MzU5ZDAxZWE2YTFiMTA1MzEzOTIyOGM5MDk2NyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRp
b25QYW5lbC5tbQpAQCAtMzkyLDExICszOTIsNyBAQCBib29sIGFkZEtleVRvS2V5Y2hhaW4oY29u
c3QgU3RyaW5nJiBwcml2YXRlS2V5QmFzZTY0LCBjb25zdCBTdHJpbmcmIHJwSWQsIGNvbnN0CiAg
ICAgICAgIChpZClrU2VjQXR0ckxhYmVsOiBycElkLAogICAgICAgICAoaWQpa1NlY0F0dHJBcHBs
aWNhdGlvblRhZzogYWRvcHROUyhbW05TRGF0YSBhbGxvY10gaW5pdFdpdGhCYXNlNjRFbmNvZGVk
U3RyaW5nOnVzZXJIYW5kbGVCYXNlNjQgb3B0aW9uczpOU0RhdGFCYXNlNjREZWNvZGluZ0lnbm9y
ZVVua25vd25DaGFyYWN0ZXJzXSkuZ2V0KCksCiAgICAgICAgIChpZClrU2VjQXR0ckFjY2Vzc2li
bGU6IChpZClrU2VjQXR0ckFjY2Vzc2libGVBZnRlckZpcnN0VW5sb2NrLAotI2lmIEhBVkUoREFU
QV9QUk9URUNUSU9OX0tFWUNIQUlOKQogICAgICAgICAoaWQpa1NlY1VzZURhdGFQcm90ZWN0aW9u
S2V5Y2hhaW46IEBZRVMKLSNlbHNlCi0gICAgICAgIChpZClrU2VjQXR0ck5vTGVnYWN5OiBAWUVT
Ci0jZW5kaWYKICAgICB9OwogICAgIE9TU3RhdHVzIHN0YXR1cyA9IFNlY0l0ZW1BZGQoKF9fYnJp
ZGdlIENGRGljdGlvbmFyeVJlZilhZGRRdWVyeSwgTlVMTCk7CiAgICAgaWYgKHN0YXR1cykKQEAg
LTQxMSwxMSArNDA3LDcgQEAgdm9pZCBjbGVhblVwS2V5Y2hhaW4oY29uc3QgU3RyaW5nJiBycElk
KQogICAgICAgICAoaWQpa1NlY0NsYXNzOiAoaWQpa1NlY0NsYXNzS2V5LAogICAgICAgICAoaWQp
a1NlY0F0dHJMYWJlbDogcnBJZCwKICAgICAgICAgKGlkKWtTZWNBdHRyQWNjZXNzaWJsZTogKGlk
KWtTZWNBdHRyQWNjZXNzaWJsZUFmdGVyRmlyc3RVbmxvY2ssCi0jaWYgSEFWRShEQVRBX1BST1RF
Q1RJT05fS0VZQ0hBSU4pCiAgICAgICAgIChpZClrU2VjVXNlRGF0YVByb3RlY3Rpb25LZXljaGFp
bjogQFlFUwotI2Vsc2UKLSAgICAgICAgKGlkKWtTZWNBdHRyTm9MZWdhY3k6IEBZRVMKLSNlbmRp
ZgogICAgIH07CiAgICAgU2VjSXRlbURlbGV0ZSgoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKWRl
bGV0ZVF1ZXJ5KTsKIH0KQEAgLTE0NjgsMTEgKzE0NjAsNyBAQCBURVNUKFdlYkF1dGhlbnRpY2F0
aW9uUGFuZWwsIExBTWFrZUNyZWRlbnRpYWxSb2xsQmFja0NyZWRlbnRpYWwpCiAgICAgICAgIChp
ZClrU2VjQ2xhc3M6IChpZClrU2VjQ2xhc3NLZXksCiAgICAgICAgIChpZClrU2VjQXR0cktleUNs
YXNzOiAoaWQpa1NlY0F0dHJLZXlDbGFzc1ByaXZhdGUsCiAgICAgICAgIChpZClrU2VjQXR0ckxh
YmVsOiBAIiIsCi0jaWYgSEFWRShEQVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4pCiAgICAgICAgIChp
ZClrU2VjVXNlRGF0YVByb3RlY3Rpb25LZXljaGFpbjogQFlFUwotI2Vsc2UKLSAgICAgICAgKGlk
KWtTZWNBdHRyTm9MZWdhY3k6IEBZRVMKLSNlbmRpZgogICAgIH07CiAgICAgT1NTdGF0dXMgc3Rh
dHVzID0gU2VjSXRlbUNvcHlNYXRjaGluZygoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKXF1ZXJ5
LCBudWxscHRyKTsKICAgICBFWFBFQ1RfRVEoc3RhdHVzLCBlcnJTZWNJdGVtTm90Rm91bmQpOwpk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvSElER2FtZXBhZHMubW0g
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9ISURHYW1lcGFkcy5tbQppbmRleCBhOTA2
N2UxZjJlZjNhYmM0ZDkxOTI4OGZiOWVhNzliYzM5OWI2OTFkLi5mNDNhZmVlOGFhZDk3ZGZlYjk1
Y2Y5ZGQ3NGY5MGIwZDU1NmYwMmY3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL21hYy9ISURHYW1lcGFkcy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21h
Yy9ISURHYW1lcGFkcy5tbQpAQCAtMjUsNyArMjUsNyBAQAogCiAjaW1wb3J0ICJjb25maWcuaCIK
IAotI2lmIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNp
ZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAjaW1wb3J0ICJJbnN0YW5jZU1ldGhvZFN3aXp6
bGVyLmgiCiAjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgpAQCAtNjU0LDQgKzY1NCw0IEBA
IFRFU1QoR2FtZXBhZCwgRnVsbEluZm9BZnRlckNvbm5lY3Rpb24pCiAKIH0gLy8gbmFtZXNwYWNl
IFRlc3RXZWJLaXRBUEkKIAotI2VuZGlmIC8vIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKKyNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9IVFRQU2VydmVyLm1tIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9jb2NvYS9IVFRQU2VydmVyLm1tCmluZGV4IGQ3MjBiYTY0ZGI0MzA2OWJm
NzM1YjMwNWJkZTMwZjQ0ZTc3ZTkyMGUuLjExMjQzYWM0YjdkYzdkYzY2ZDQ2ZTE4MDUxYjJjOGE5
YTNmNmY1MjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvSFRUUFNlcnZl
ci5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL0hUVFBTZXJ2ZXIubW0KQEAgLTU3
LDcgKzU3LDYgQEAgUmV0YWluUHRyPG53X3BhcmFtZXRlcnNfdD4gSFRUUFNlcnZlcjo6bGlzdGVu
ZXJQYXJhbWV0ZXJzKFByb3RvY29sIHByb3RvY29sLCBDZXIKICAgICBpZiAocHJvdG9jb2wgIT0g
UHJvdG9jb2w6Okh0dHAgJiYgIWN1c3RvbVRlc3RJZGVudGl0eSkKICAgICAgICAgY3VzdG9tVGVz
dElkZW50aXR5ID0gdGVzdElkZW50aXR5KCk7CiAgICAgYXV0byBjb25maWd1cmVUTFMgPSBwcm90
b2NvbCA9PSBQcm90b2NvbDo6SHR0cCA/IG1ha2VCbG9ja1B0cihOV19QQVJBTUVURVJTX0RJU0FC
TEVfUFJPVE9DT0wpIDogbWFrZUJsb2NrUHRyKFtwcm90b2NvbCwgdmVyaWZpZXIgPSBXVEZNb3Zl
KHZlcmlmaWVyKSwgdGVzdElkZW50aXR5ID0gV1RGTW92ZShjdXN0b21UZXN0SWRlbnRpdHkpXSAo
bndfcHJvdG9jb2xfb3B0aW9uc190IHByb3RvY29sT3B0aW9ucykgbXV0YWJsZSB7Ci0jaWYgSEFW
RShUTFNfUFJPVE9DT0xfVkVSU0lPTl9UKQogICAgICAgICBhdXRvIG9wdGlvbnMgPSBhZG9wdE5T
KG53X3Rsc19jb3B5X3NlY19wcm90b2NvbF9vcHRpb25zKHByb3RvY29sT3B0aW9ucykpOwogICAg
ICAgICBhdXRvIGlkZW50aXR5ID0gYWRvcHROUyhzZWNfaWRlbnRpdHlfY3JlYXRlKHRlc3RJZGVu
dGl0eS5nZXQoKSkpOwogICAgICAgICBzZWNfcHJvdG9jb2xfb3B0aW9uc19zZXRfbG9jYWxfaWRl
bnRpdHkob3B0aW9ucy5nZXQoKSwgaWRlbnRpdHkuZ2V0KCkpOwpAQCAtNzEsMTAgKzcwLDYgQEAg
UmV0YWluUHRyPG53X3BhcmFtZXRlcnNfdD4gSFRUUFNlcnZlcjo6bGlzdGVuZXJQYXJhbWV0ZXJz
KFByb3RvY29sIHByb3RvY29sLCBDZXIKICAgICAgICAgfQogICAgICAgICBpZiAocHJvdG9jb2wg
PT0gUHJvdG9jb2w6Okh0dHAyKQogICAgICAgICAgICAgc2VjX3Byb3RvY29sX29wdGlvbnNfYWRk
X3Rsc19hcHBsaWNhdGlvbl9wcm90b2NvbChvcHRpb25zLmdldCgpLCAiaDIiKTsKLSNlbHNlCi0g
ICAgICAgIFVOVVNFRF9QQVJBTShwcm90b2NvbE9wdGlvbnMpOwotICAgICAgICBBU1NFUlRfVU5V
U0VEKHByb3RvY29sLCBwcm90b2NvbCAhPSBQcm90b2NvbDo6SHR0cHNXaXRoTGVnYWN5VExTKTsK
LSNlbmRpZgogICAgIH0pOwogICAgIGF1dG8gcGFyYW1ldGVycyA9IGFkb3B0TlMobndfcGFyYW1l
dGVyc19jcmVhdGVfc2VjdXJlX3RjcChjb25maWd1cmVUTFMuZ2V0KCksIE5XX1BBUkFNRVRFUlNf
REVGQVVMVF9DT05GSUdVUkFUSU9OKSk7CiAgICAgaWYgKHBvcnQpCmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL2NvbmZpZy5oIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb25maWcuaApp
bmRleCA3ZTA2NzEzZDc1NWUwMmU0NTQ4NzUzZWE2MzU2NDE0NGI1NGQ4NTJmLi5mYzhjZDdiYmMw
ZDJiMmM3OTk2ZWJlZTZhN2Y1NDg1Y2M0N2MwMmZjIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL2NvbmZpZy5oCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29uZmlnLmgKQEAgLTEy
NSwxMSArMTI1LDYgQEAKICNkZWZpbmUgSEFWRV9VSVdFQlZJRVcgMQogI2VuZGlmCiAKLS8vIEZJ
WE1FOiBNb3ZlIHRoaXMgdG8gUGxhdGZvcm1IYXZlLmguCi0jaWYgUExBVEZPUk0oQ09DT0EpICYm
ICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAx
NTAwKQotI2RlZmluZSBIQVZFX1RMU19QUk9UT0NPTF9WRVJTSU9OX1QgMQotI2VuZGlmCi0KIC8v
IEZJWE1FOiBNb3ZlIHRoaXMgdG8gUGxhdGZvcm1IYXZlLmguCiAjaWYgKFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDApIHx8IChQTEFURk9S
TShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNDAw
MDApCiAjZGVmaW5lIEhBVkVfVExTX1ZFUlNJT05fRFVSSU5HX0NIQUxMRU5HRSAxCmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvR29vZ2xlU3RhZGlh
Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL0dvb2dsZVN0YWRp
YS5tbQppbmRleCA4MjhjNmZhZGUzMGMxNDEyNzRlZjFmZjQ2MzFjZjIwMTVmYTBmZTAxLi40ZDdm
Mzg0OGU3MzM4NDE0NjVhMWQ1NGZhMWZiNzM5Yzg1MTg5OTE2IDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvR29vZ2xlU3RhZGlhLm1tCisrKyBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Hb29nbGVTdGFkaWEubW0KQEAg
LTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiVmlydHVhbEdhbWVw
YWQuaCIKIAotI2lmIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAjaW1wb3J0IDxISUQvSElEVXNlckRl
dmljZS5oPgogCkBAIC0yMDYsNCArMjA2LDQgQEAgR2FtZXBhZE1hcHBpbmcgVmlydHVhbEdhbWVw
YWQ6Omdvb2dsZVN0YWRpYU1hcHBpbmcoKQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJ
CiAKLSNlbmRpZiAvLyBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9T
REspCisjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Mb2dpdGVjaEYzMTAubW0gYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvTG9naXRlY2hGMzEwLm1tCmluZGV4
IDk3N2YyZmViYmVhOGEzMjU5NDcwMTg1NGVlMzJiYjQ0ZGQ5NGU2YWQuLjRmNGE3YjQ2MTc1ZTEy
NGUzYjcyZjcxYWFiMzQ2NGFlYTg1MDExYzMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Mb2dpdGVjaEYzMTAubW0KKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL0xvZ2l0ZWNoRjMxMC5tbQpAQCAtMjYsNyArMjYs
NyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJWaXJ0dWFsR2FtZXBhZC5oIgogCi0j
aWYgSEFWRShISURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2lmIFVT
RShBUFBMRV9JTlRFUk5BTF9TREspCiAKICNpbXBvcnQgPEhJRC9ISURVc2VyRGV2aWNlLmg+CiAK
QEAgLTE0NSw0ICsxNDUsNCBAQCBHYW1lcGFkTWFwcGluZyBWaXJ0dWFsR2FtZXBhZDo6bG9naXRl
Y2hGMzEwTWFwcGluZygpCiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKIAotI2VuZGlm
IC8vIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNlbmRp
ZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL0xvZ2l0ZWNoRjcxMC5tbSBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Mb2dpdGVjaEY3MTAubW0KaW5kZXggZjU2ZWU2NGQx
ODA5M2RmOTdmNTMwMmFkMGIwZGI0NDdlMDE4ZGIyOC4uZDVhMDczNWVhNWY2MWE3N2QxZDZlOGRm
YzA1NWZmMWU4OTllNDFiYSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2Ft
ZXBhZE1hcHBpbmdzL0xvZ2l0ZWNoRjcxMC5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL21h
Yy9HYW1lcGFkTWFwcGluZ3MvTG9naXRlY2hGNzEwLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1w
b3J0ICJjb25maWcuaCIKICNpbXBvcnQgIlZpcnR1YWxHYW1lcGFkLmgiCiAKLSNpZiBIQVZFKEhJ
RF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaWYgVVNFKEFQUExFX0lO
VEVSTkFMX1NESykKIAogI2ltcG9ydCA8SElEL0hJRFVzZXJEZXZpY2UuaD4KIApAQCAtMTU2LDQg
KzE1Niw0IEBAIEdhbWVwYWRNYXBwaW5nIFZpcnR1YWxHYW1lcGFkOjpsb2dpdGVjaEY3MTBNYXBw
aW5nKCkKIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQogCi0jZW5kaWYgLy8gSEFWRShI
SURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2VuZGlmIC8vIFVTRShB
UFBMRV9JTlRFUk5BTF9TREspCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9H
YW1lcGFkTWFwcGluZ3MvTWljcm9zb2Z0WGJveE9uZS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
bWFjL0dhbWVwYWRNYXBwaW5ncy9NaWNyb3NvZnRYYm94T25lLm1tCmluZGV4IDg5MzdiMDU2MmU1
NWI4NmFlNTQzNzJjMTliOGZlOTZkYjgyOGIyYjMuLmRkZmI2NTVlMmNkNTk1ZTg0ODFhZDkyMzE3
MThjMmM3ZGI0ZjllYTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVw
YWRNYXBwaW5ncy9NaWNyb3NvZnRYYm94T25lLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
bWFjL0dhbWVwYWRNYXBwaW5ncy9NaWNyb3NvZnRYYm94T25lLm1tCkBAIC0yNiw3ICsyNiw3IEBA
CiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIlZpcnR1YWxHYW1lcGFkLmgiCiAKLSNpZiBI
QVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaWYgVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKIAogI2ltcG9ydCA8SElEL0hJRFVzZXJEZXZpY2UuaD4KIApAQCAt
Mjg5LDQgKzI4OSw0IEBAIEdhbWVwYWRNYXBwaW5nIFZpcnR1YWxHYW1lcGFkOjptaWNyb3NvZnRY
Ym94T25lTWFwcGluZygpCiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKIAotI2VuZGlm
IC8vIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNlbmRp
ZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1NoZW56aGVuTG9uZ3NoZW5nd2VpVGVjaG5vbG9neUdh
bWVwYWQubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU2hlbnpo
ZW5Mb25nc2hlbmd3ZWlUZWNobm9sb2d5R2FtZXBhZC5tbQppbmRleCBmNzMyNjNkYjNiY2E0ZjA1
OWY2N2NjOTIxOWZhNDc4ZjZkM2JhZGU2Li5iYTMzN2YyNmQ3YjEwMTgzMDhmZWRjMmQxOWM5NThi
MDhkZDE5YTMyIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFw
cGluZ3MvU2hlbnpoZW5Mb25nc2hlbmd3ZWlUZWNobm9sb2d5R2FtZXBhZC5tbQorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU2hlbnpoZW5Mb25nc2hlbmd3ZWlU
ZWNobm9sb2d5R2FtZXBhZC5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgi
CiAjaW1wb3J0ICJWaXJ0dWFsR2FtZXBhZC5oIgogCi0jaWYgSEFWRShISURfRlJBTUVXT1JLKSAm
JiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAK
ICNpbXBvcnQgPEhJRC9ISURVc2VyRGV2aWNlLmg+CiAKQEAgLTE1NCw0ICsxNTQsNCBAQCBHYW1l
cGFkTWFwcGluZyBWaXJ0dWFsR2FtZXBhZDo6c2hlbnpoZW5Mb25nc2hlbmd3ZWlUZWNobm9sb2d5
R2FtZXBhZE1hcHBpbmcoKQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKLSNlbmRp
ZiAvLyBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjZW5k
aWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Tb255RHVhbFNob2NrMy5tbSBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Tb255RHVhbFNob2NrMy5tbQppbmRleCA0MGZk
MDM1MzE0Yzg0ZjFkOTBkMzBlZjdjYWEyNTJjODU2M2Q4MmQ1Li5kNjAxMmI5ZjdlMzQ4YmU3NWEz
ODI5YmUyMmZkYmM1YmI5ODQyNTEyIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL21h
Yy9HYW1lcGFkTWFwcGluZ3MvU29ueUR1YWxTaG9jazMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1NvbnlEdWFsU2hvY2szLm1tCkBAIC0yNiw3ICsyNiw3
IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIlZpcnR1YWxHYW1lcGFkLmgiCiAKLSNp
ZiBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaWYgVVNF
KEFQUExFX0lOVEVSTkFMX1NESykKIAogI2ltcG9ydCA8SElEL0hJRFVzZXJEZXZpY2UuaD4KIApA
QCAtMjAxLDQgKzIwMSw0IEBAIEdhbWVwYWRNYXBwaW5nIFZpcnR1YWxHYW1lcGFkOjpzb255RHVh
bHNob2NrM01hcHBpbmcoKQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKLSNlbmRp
ZiAvLyBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjZW5k
aWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Tb255RHVhbFNob2NrNC5tbSBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Tb255RHVhbFNob2NrNC5tbQppbmRleCAzMDZh
MzZkYTZkYWUzMjM5NDk3ODI0NDUzYWJhYzc3MjQ3NzFmYmE1Li5lYWQxMWZhZTdjYWUzOTZjMzky
MWU5OGEwNjllNDJjMWEzN2IwYzViIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL21h
Yy9HYW1lcGFkTWFwcGluZ3MvU29ueUR1YWxTaG9jazQubW0KKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1NvbnlEdWFsU2hvY2s0Lm1tCkBAIC0yNiw3ICsyNiw3
IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIlZpcnR1YWxHYW1lcGFkLmgiCiAKLSNp
ZiBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaWYgVVNF
KEFQUExFX0lOVEVSTkFMX1NESykKIAogI2ltcG9ydCA8SElEL0hJRFVzZXJEZXZpY2UuaD4KIApA
QCAtMzI4LDQgKzMyOCw0IEBAIEdhbWVwYWRNYXBwaW5nIFZpcnR1YWxHYW1lcGFkOjpzb255RHVh
bHNob2NrNE1hcHBpbmcoKQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKLSNlbmRp
ZiAvLyBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjZW5k
aWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9TdGVlbFNlcmllc05pbWJ1cy5tbSBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9TdGVlbFNlcmllc05pbWJ1cy5tbQppbmRl
eCBmYjE5ZWI0ZTdkYmFjMWY5NTQ4YjBmZTYzZTIzNDljNzBmMWQ3NTUzLi43OTQ0NGY1ZTE0Mjdk
MmEyOWQ0NGQ3OGU0YmUxNjA0ZGZlMjg0NDJkIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU3RlZWxTZXJpZXNOaW1idXMubW0KKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1N0ZWVsU2VyaWVzTmltYnVzLm1tCkBA
IC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIlZpcnR1YWxHYW1l
cGFkLmgiCiAKLSNpZiBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9T
REspCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAogI2ltcG9ydCA8SElEL0hJRFVzZXJE
ZXZpY2UuaD4KIApAQCAtMTQ0LDQgKzE0NCw0IEBAIEdhbWVwYWRNYXBwaW5nIFZpcnR1YWxHYW1l
cGFkOjpzdGVlbFNlcmllc05pbWJ1c01hcHBpbmcoKQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2Vi
S2l0QVBJCiAKLSNlbmRpZiAvLyBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCisjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9TdW5MaWdodEFwcGxpY2F0
aW9uR2VuZXJpY05FUy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5n
cy9TdW5MaWdodEFwcGxpY2F0aW9uR2VuZXJpY05FUy5tbQppbmRleCA2YzU1OWY5ZGY0ZjkwN2M3
YTgwM2Y1MWQ0ODdjZjYwNTYwNDhjNjJiLi41NTYwNTg1ZTA4N2I2MzMxYTdhZWYxYjI0ZmZlNGEw
OWI2MDcxZmY0IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFw
cGluZ3MvU3VuTGlnaHRBcHBsaWNhdGlvbkdlbmVyaWNORVMubW0KKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1N1bkxpZ2h0QXBwbGljYXRpb25HZW5lcmljTkVT
Lm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIlZpcnR1
YWxHYW1lcGFkLmgiCiAKLSNpZiBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAogI2ltcG9ydCA8SElEL0hJ
RFVzZXJEZXZpY2UuaD4KIApAQCAtMTQxLDQgKzE0MSw0IEBAIEdhbWVwYWRNYXBwaW5nIFZpcnR1
YWxHYW1lcGFkOjpzdW5MaWdodEFwcGxpY2F0aW9uR2VuZXJpY05FU01hcHBpbmcoKQogCiB9IC8v
IG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKLSNlbmRpZiAvLyBIQVZFKEhJRF9GUkFNRVdPUksp
ICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFM
X1NESykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1Rlc3REcmFnZ2luZ0lu
Zm8ubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9UZXN0RHJhZ2dpbmdJbmZvLm1tCmluZGV4
IDRiY2I2ZGNlZTFhNGU3OTVhNjExODdmMzVhZDIwNWM2MzZiOTdiNDcuLmQ4ZmUzMjdmZWJlYTE2
NmIyOWI2OWE0MjNiNzU1YjQxZDY0OTI1NTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvbWFjL1Rlc3REcmFnZ2luZ0luZm8ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMv
VGVzdERyYWdnaW5nSW5mby5tbQpAQCAtMTEzLDEzICsxMTMsNyBAQCAtICh2b2lkKWVudW1lcmF0
ZURyYWdnaW5nSXRlbXNXaXRoT3B0aW9uczooTlNEcmFnZ2luZ0l0ZW1FbnVtZXJhdGlvbk9wdGlv
bnMpZW51bQogICAgICAgICBbcmVjZWl2ZXIgc2V0RHJhZ2dpbmdTb3VyY2U6X3NvdXJjZS5nZXQo
KS5nZXQoKV07CiAgICAgICAgIFtfZmlsZVByb21pc2VSZWNlaXZlcnMgYWRkT2JqZWN0OnJlY2Vp
dmVyLmdldCgpXTsKIAotI2lmIEhBVkUoTlNEUkFHR0lOR0lURU1fSU5JVFdJVEhJVEVNKQogICAg
ICAgICBhdXRvIGl0ZW0gPSBhZG9wdE5TKFtbTlNEcmFnZ2luZ0l0ZW0gYWxsb2NdIF9pbml0V2l0
aEl0ZW06cmVjZWl2ZXIuZ2V0KCldKTsKLSNlbHNlCi0gICAgICAgIGF1dG8gaXRlbSA9IGFkb3B0
TlMoW1tOU0RyYWdnaW5nSXRlbSBhbGxvY10gaW5pdFdpdGhQYXN0ZWJvYXJkV3JpdGVyOihpZCA8
TlNQYXN0ZWJvYXJkV3JpdGluZz4pcmVjZWl2ZXIuZ2V0KCldKTsgLy8gRklYTUU6IDxodHRwczov
L3dlYmtpdC5vcmcvYi8xOTQwNjA+IFBhc3MgYW4gb2JqZWN0IG9mIHRoZSByaWdodCB0eXBlLgot
ICAgICAgICBbaXRlbSBzZXRJdGVtOnJlY2VpdmVyLmdldCgpXTsKLSNlbmRpZgotCiAgICAgICAg
IGJsb2NrKGl0ZW0uZ2V0KCksIDAsICZzdG9wKTsKICAgICAgICAgaWYgKHN0b3ApCiAgICAgICAg
ICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1ZpcnR1YWxH
YW1lcGFkLmggYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9WaXJ0dWFsR2FtZXBhZC5oCmluZGV4
IGIyMWI5NTU2OTQ3MDMyNDcxMzI3NWRjMTViMWFiOTVlN2UwZWVjYzQuLjBkODc2ZWY0OWI1OGEz
N2IxNWIwZjQ5ODcyNGMxNDY1NTllMjM0MzIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvbWFjL1ZpcnR1YWxHYW1lcGFkLmgKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvVmly
dHVhbEdhbWVwYWQuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEhB
VkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQogCiAjaW5jbHVkZSA8ZGlzcGF0Y2gvZGlzcGF0Y2guaD4KICNpbmNs
dWRlIDx3dGYvRmFzdE1hbGxvYy5oPgpAQCAtMTIzLDQgKzEyMyw0IEBAIHByaXZhdGU6CiB9Owog
fSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQogCi0jZW5kaWYgLy8gSEFWRShISURfRlJBTUVX
T1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9WaXJ0dWFsR2Ft
ZXBhZC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1ZpcnR1YWxHYW1lcGFkLm1tCmluZGV4
IDBmNDI0OThhZDQwZDJhMGQzZjg0ZmY4MWFhZGJjYzg3MzliZmUwYTcuLjEzNzg5MGQ2YjZiYWFm
MjBmY2I5ZWY0MDAzOGY0OTBmNjIzODRhOGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvbWFjL1ZpcnR1YWxHYW1lcGFkLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1Zp
cnR1YWxHYW1lcGFkLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNp
bXBvcnQgIlZpcnR1YWxHYW1lcGFkLmgiCiAKLSNpZiBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVT
RShBUFBMRV9JTlRFUk5BTF9TREspCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAogI2lt
cG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CiAjaW1wb3J0IDxISUQvSElEQmFzZS5oPgpA
QCAtOTcsNCArOTcsNCBAQCB2b2lkIFZpcnR1YWxHYW1lcGFkOjpwdWJsaXNoUmVwb3J0KCkKIAog
fSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQogCi0jZW5kaWYgLy8gSEFWRShISURfRlJBTUVX
T1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RD
b250cm9sbGVyQ29jb2EubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250
cm9sbGVyQ29jb2EubW0KaW5kZXggMmQwNTE4MjUyNzc4NjJjZDdmNTExY2QyZGQzMjgwMTRjNWE4
ZmNlNC4uN2MxMDk2NDJkOTUzOTQzZTIyODk1ZTVhOTA3ZWJmMDlmNDg2NjU0YyAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tCisr
KyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQpA
QCAtNDYxLDExICs0NjEsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjphZGRUZXN0S2V5VG9LZXlj
aGFpbihjb25zdCBTdHJpbmcmIHByaXZhdGVLZXlCYXNlNjQsIGNvbnN0CiAgICAgICAgIChpZClr
U2VjQXR0ckxhYmVsOiBhdHRyTGFiZWwsCiAgICAgICAgIChpZClrU2VjQXR0ckFwcGxpY2F0aW9u
VGFnOiBhZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0aEJhc2U2NEVuY29kZWRTdHJpbmc6
YXBwbGljYXRpb25UYWdCYXNlNjQgb3B0aW9uczpOU0RhdGFCYXNlNjREZWNvZGluZ0lnbm9yZVVu
a25vd25DaGFyYWN0ZXJzXSkuZ2V0KCksCiAgICAgICAgIChpZClrU2VjQXR0ckFjY2Vzc2libGU6
IChpZClrU2VjQXR0ckFjY2Vzc2libGVBZnRlckZpcnN0VW5sb2NrLAotI2lmIEhBVkUoREFUQV9Q
Uk9URUNUSU9OX0tFWUNIQUlOKQogICAgICAgICAoaWQpa1NlY1VzZURhdGFQcm90ZWN0aW9uS2V5
Y2hhaW46IEBZRVMKLSNlbHNlCi0gICAgICAgIChpZClrU2VjQXR0ck5vTGVnYWN5OiBAWUVTCi0j
ZW5kaWYKICAgICB9OwogICAgIE9TU3RhdHVzIHN0YXR1cyA9IFNlY0l0ZW1BZGQoKF9fYnJpZGdl
IENGRGljdGlvbmFyeVJlZilhZGRRdWVyeSwgTlVMTCk7CiAgICAgQVNTRVJUX1VOVVNFRChzdGF0
dXMsICFzdGF0dXMpOwpAQCAtNDc2LDExICs0NzIsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpj
bGVhblVwS2V5Y2hhaW4oY29uc3QgU3RyaW5nJiBhdHRyTGFiZWwsIGNvbnN0IFN0cmluZyYgYXBw
bAogICAgIGF1dG8gZGVsZXRlUXVlcnkgPSBhZG9wdE5TKFtbTlNNdXRhYmxlRGljdGlvbmFyeSBh
bGxvY10gaW5pdF0pOwogICAgIFtkZWxldGVRdWVyeSBzZXRPYmplY3Q6KGlkKWtTZWNDbGFzc0tl
eSBmb3JLZXk6KGlkKWtTZWNDbGFzc107CiAgICAgW2RlbGV0ZVF1ZXJ5IHNldE9iamVjdDphdHRy
TGFiZWwgZm9yS2V5OihpZClrU2VjQXR0ckxhYmVsXTsKLSNpZiBIQVZFKERBVEFfUFJPVEVDVElP
Tl9LRVlDSEFJTikKICAgICBbZGVsZXRlUXVlcnkgc2V0T2JqZWN0OkBZRVMgZm9yS2V5OihpZClr
U2VjVXNlRGF0YVByb3RlY3Rpb25LZXljaGFpbl07Ci0jZWxzZQotICAgIFtkZWxldGVRdWVyeSBz
ZXRPYmplY3Q6QFlFUyBmb3JLZXk6KGlkKWtTZWNBdHRyTm9MZWdhY3ldOwotI2VuZGlmCiAgICAg
aWYgKCEhYXBwbGljYXRpb25MYWJlbEJhc2U2NCkKICAgICAgICAgW2RlbGV0ZVF1ZXJ5IHNldE9i
amVjdDphZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0aEJhc2U2NEVuY29kZWRTdHJpbmc6
YXBwbGljYXRpb25MYWJlbEJhc2U2NCBvcHRpb25zOk5TRGF0YUJhc2U2NERlY29kaW5nSWdub3Jl
VW5rbm93bkNoYXJhY3RlcnNdKS5nZXQoKSBmb3JLZXk6KGlkKWtTZWNBdHRyQXBwbGljYXRpb25M
YWJlbF07CiAKQEAgLTQ5NCwxMSArNDg2LDcgQEAgYm9vbCBUZXN0Q29udHJvbGxlcjo6a2V5RXhp
c3RzSW5LZXljaGFpbihjb25zdCBTdHJpbmcmIGF0dHJMYWJlbCwgY29uc3QgU3RyaW5nJgogICAg
ICAgICAoaWQpa1NlY0F0dHJLZXlDbGFzczogKGlkKWtTZWNBdHRyS2V5Q2xhc3NQcml2YXRlLAog
ICAgICAgICAoaWQpa1NlY0F0dHJMYWJlbDogYXR0ckxhYmVsLAogICAgICAgICAoaWQpa1NlY0F0
dHJBcHBsaWNhdGlvbkxhYmVsOiBhZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0aEJhc2U2
NEVuY29kZWRTdHJpbmc6YXBwbGljYXRpb25MYWJlbEJhc2U2NCBvcHRpb25zOk5TRGF0YUJhc2U2
NERlY29kaW5nSWdub3JlVW5rbm93bkNoYXJhY3RlcnNdKS5nZXQoKSwKLSNpZiBIQVZFKERBVEFf
UFJPVEVDVElPTl9LRVlDSEFJTikKICAgICAgICAgKGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktl
eWNoYWluOiBAWUVTCi0jZWxzZQotICAgICAgICAoaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwot
I2VuZGlmCiAgICAgfTsKICAgICBPU1N0YXR1cyBzdGF0dXMgPSBTZWNJdGVtQ29weU1hdGNoaW5n
KChfX2JyaWRnZSBDRkRpY3Rpb25hcnlSZWYpcXVlcnksIE5VTEwpOwogICAgIGlmICghc3RhdHVz
KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439935</attachid>
            <date>2021-10-01 17:03:54 -0700</date>
            <delta_ts>2021-10-01 17:33:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231085-20211001170353.patch</filename>
            <type>text/plain</type>
            <size>101108</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNDEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCA4MDgzMmFhOWEzMzM4YTBjNDM3NjBkYzM0Njc3YzQzZWE0YjVmMzFiLi42ZjRm
ZDM4NjdhMDAzYWQzMDUzY2E3ZTAwZTVmYjQyY2U5OTY5ODNiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMS0xMC0wMSAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3Agc3VwcG9ydCBmb3IgbWFjT1Mg
PCAxMC4xNQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMxMDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBT
b3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsuaDoKKwogMjAy
MS0wOS0zMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU3Vw
cG9ydCBBRVMgR0NNIGNpcGhlcnMgaW4gV2ViUlRDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGMyMmFlZmJlZTFiN2E5M2JiYjk0
MTU3ODg4YWZlMmNhZmE0NGI3NzYuLjU1Y2Y3YzAxMTIzNDk4NmM2M2E2OGJjM2M0YThiNTc1Mjli
NmMwZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMTAtMDEgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIHN1cHBvcnQgZm9yIG1hY09TIDwgMTAuMTUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTA4NQor
CisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogd3RmL1BsYXRm
b3JtRW5hYmxlQ29jb2EuaDoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1IYXZlLmg6CisgICAgICAg
ICogd3RmL1BsYXRmb3JtVXNlLmg6CisKIDIwMjEtMTAtMDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBQdXNoRXZlbnQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCAwOTA5MDk2MWZmMDFkMjY2NmVlYmI0OWEyZjNlZGIzYzBhZTg3MzY4Li5lNDE1MTQ5
OGYzNTJkNDY1ZTUyYmQwMmRkMjVlYjU1YTdhYjAwNDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMjEtMTAtMDEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAg
ICAgICBEcm9wIHN1cHBvcnQgZm9yIG1hY09TIDwgMTAuMTUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTA4NQorCisgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9z
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OnBsYXRmb3Jt
VmVyc2lvbk5hbWUgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY29jb2EvQ29v
a2llQ29jb2EubW06CisKIDIwMjEtMTAtMDEgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxl
LmNvbT4KIAogICAgICAgICBEaXNhYmxlIG5ldyBpbmN1bWJlbnQtd2luZG93IHVudGlsIGl0IGlz
IGZ1bGx5IGltcGxlbWVudGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBhMWYzNzM4YWFiNGEwN2E4
ZDczOTE3MjExMTkwNjZjYmM3MGMyMDA0Li5iNTIyMWE0ZjZmNTE5MjliNGI5MGE4YWM0MTUzNDAw
MzE3MWVlNDZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0xMC0w
MSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3Agc3VwcG9y
dCBmb3IgbWFjT1MgPCAxMC4xNQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMxMDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisK
KyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW06CisgICAgICAgICog
cGFsL3NwaS9jb2NvYS9BVkZvdW5kYXRpb25TUEkuaDoKKyAgICAgICAgKiBwYWwvc3BpL21hYy9O
U01lbnVTUEkuaDoKKyAgICAgICAgKiBwYWwvc3BpL21hYy9OU1ZpZXdTUEkuaDoKKwogMjAyMS0x
MC0wMSAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAogICAgICAg
ICBHUFUgUHJvY2VzcyBtaWNyb3Bob25lIGF0dHJpYnV0aW9uIFNQSSBhZG9wdGlvbgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCA2MGY3NDY4MzAyY2QyZTAxNzY4Y2RjODgwNmUyMWViNGYwMWZmYjFkLi5kNmE4OTIwMTc5
ZDE5YWRlN2I5MTY0ZDY4ODY4YTQ2MDBmODhjZmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBA
CisyMDIxLTEwLTAxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAg
RHJvcCBzdXBwb3J0IGZvciBtYWNPUyA8IDEwLjE1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwODUKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0
Lk5ldHdvcmtQcm9jZXNzLnNiLmluOgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9Bcmd1bWVudENv
ZGVyc0NvY29hLm1tOgorICAgICAgICAoLVtXS1NlY3VyZUNvZGluZ0FyY2hpdmluZ0RlbGVnYXRl
IGFyY2hpdmVyOndpbGxFbmNvZGVPYmplY3Q6XSk6CisgICAgICAgICogU2hhcmVkL0NvY29hL0Nv
cmVUZXh0SGVscGVycy5tbToKKyAgICAgICAgKFdlYktpdDo6Zm9udFdpdGhBdHRyaWJ1dGVzKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW06CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y3JlYXRlTmV0d29ya0V4dGVuc2lvbnNTYW5kYm94RXh0
ZW5zaW9ucyk6CisgICAgICAgICogV2ViQXV0aG5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0
LldlYkF1dGhuUHJvY2Vzcy5zYi5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvbS5hcHBsZS5X
ZWJQcm9jZXNzLnNiLmluOgorCiAyMDIxLTEwLTAxICBJYW4gQW5kZXJzb24gIDxpYW5hQGFwcGxl
LmNvbT4KIAogICAgICAgICBXZWJLaXRMZWdhY3kncyBtb2R1bGUgbWFwIGZpbGVzIGRvbid0IGdl
dCBpbnN0YWxsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA0NmQxMDNhMTg2NmYz
OTQ4YTE2YWRlOWM0ZTdkMmI0MzMxODA2MWJkLi41OWQ4NThkZDcwMDI4M2M1Yzg4OTQwZjRlOGYw
MWI3ODUxZjExOGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMjEtMTAtMDEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAg
ICBEcm9wIHN1cHBvcnQgZm9yIG1hY09TIDwgMTAuMTUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgorCisgICAgICAgICogV2ViVmlldy9XZWJIVE1MVmlldy5tbToKKyAgICAgICAg
KC1bV2ViSFRNTFZpZXcgX3JlY3Vyc2l2ZTpkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTppbkNv
bnRleHQ6c3RvcEF0TGF5ZXJCYWNrZWRWaWV3czpdKToKKyAgICAgICAgKC1bV2ViSFRNTFZpZXcg
X3JlY3Vyc2l2ZTpkaXNwbGF5UmVjdElnbm9yaW5nT3BhY2l0eTppbkNvbnRleHQ6c3RvcEF0TGF5
ZXJCYWNrZWRWaWV3czpfcmVjdXJzaXZlOmRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OmluQ29u
dGV4dDpzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6c3RvcEF0TGF5ZXJCYWNrZWRWaWV3
czpdKTogRGVsZXRlZC4KKwogMjAyMS0xMC0wMSAgSWFuIEFuZGVyc29uICA8aWFuYUBhcHBsZS5j
b20+CiAKICAgICAgICAgV2ViS2l0TGVnYWN5J3MgbW9kdWxlIG1hcCBmaWxlcyBkb24ndCBnZXQg
aW5zdGFsbGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNl
L3dlYnJ0Yy9zZGsvV2ViS2l0L1ZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmggYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1ZpZGVvUHJvY2Vzc2lu
Z1NvZnRMaW5rLmgKaW5kZXggY2EwZDk5OGRkYTcwYjhmMzJjYzIzMzIzNzFjN2U2ZTIzZDBhNmJl
YS4uOWFjZjA4ZjY2NGE0ODk2NTA2ZTA2OWNlYzQxODVkMTEwNDAwMzY3MiAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9WaWRl
b1Byb2Nlc3NpbmdTb2Z0TGluay5oCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsuaApAQCAtNDIs
NyArNDIsNyBAQAogI2RlZmluZSBFTkFCTEVfVkNQX0ZPUl9IMjY0X0JBU0VMSU5FIF9fSVBIT05F
X09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE1MDAwMAogI2VsaWYgKGRlZmluZWQoVEFSR0VU
X09TX01BQykgJiYgVEFSR0VUX09TX01BQykKICNkZWZpbmUgRU5BQkxFX1ZDUF9FTkNPREVSIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMTAwMDAKLSNkZWZpbmUgRU5BQkxFX1ZD
UF9WVEJfRU5DT0RFUiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCAm
JiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTEwMDAwCisjZGVmaW5lIEVOQUJM
RV9WQ1BfVlRCX0VOQ09ERVIgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDExMDAw
MAogI2RlZmluZSBIQVZFX1ZUQl9SRVFVSVJFRExPV0xBVEVOQ1kgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMTAwMDAKICNkZWZpbmUgRU5BQkxFX1ZDUF9GT1JfSDI2NF9CQVNF
TElORSBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEyMDAwMAogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmggYi9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKaW5kZXggODdiMmIxY2NlY2I5NWU2ZWEyMjY3
Y2IzNWJmNmExMmUyZTZhNzU5YS4uY2M1YzdlMWUzZjQ3NTQyNjZkOWRmZWFiNTA3MTkwZDYzY2I4
YTc4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCisr
KyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaApAQCAtMTcyLDcgKzE3Miw3
IEBACiAjZW5kaWYKIAogLy8gRklYTUU6IFNlZW1zIGxpa2VseSB0aGlzIGNhbiBiZSBlbmFibGVk
IGZvciB0dk9TLgotI2lmICFkZWZpbmVkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAmJiAh
KFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTQw
MCkgJiYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgIWRlZmluZWQoRU5BQkxFX0NTU19DT05JQ19H
UkFESUVOVFMpICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBFTkFCTEVfQ1NTX0NPTklD
X0dSQURJRU5UUyAxCiAjZW5kaWYKIApAQCAtMjI4LDcgKzIyOCw3IEBACiAjZGVmaW5lIEVOQUJM
RV9FRElUQUJMRV9SRUdJT04gMQogI2VuZGlmCiAKLSNpZiAhZGVmaW5lZChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA8IDEwMTQwMCkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorI2lmICFkZWZpbmVk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkKICNkZWZp
bmUgRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSAxCiAjZW5kaWYKIApAQCAtNDAyLDcgKzQwMiw3IEBA
CiAjZW5kaWYKIAogLy8gRklYTUU6IFdlIGFsbW9zdCBjZXJ0YWlubHkgZG8gbm90IG5lZWQgdGhp
cyBtb25vc3BhY2UgZm9udCBleGNlcHRpb24gZm9yIHdhdGNoT1MgYW5kIHR2T1MuCi0jaWYgIWRl
ZmluZWQoRU5BQkxFX01PTk9TUEFDRV9GT05UX0VYQ0VQVElPTikgJiYgKChQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApIHx8IFBMQVRGT1JN
KFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQUExFVFYpKQorI2lmICFkZWZpbmVkKEVOQUJMRV9NT05P
U1BBQ0VfRk9OVF9FWENFUFRJT04pICYmIChQTEFURk9STShXQVRDSE9TKSB8fCBQTEFURk9STShB
UFBMRVRWKSkKICNkZWZpbmUgRU5BQkxFX01PTk9TUEFDRV9GT05UX0VYQ0VQVElPTiAxCiAjZW5k
aWYKIApAQCAtNDk0LDcgKzQ5NCw3IEBACiAjZGVmaW5lIEVOQUJMRV9SRVNPVVJDRV9VU0FHRSAx
CiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9SRVZFQUwpICYmICEoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKSAmJiAhUExBVEZP
Uk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgIWRlZmluZWQoRU5BQkxFX1JF
VkVBTCkgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmlu
ZSBFTkFCTEVfUkVWRUFMIDEKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IDE5N2Yx
YmE3NWY0ZTBjMmM5ZmQ2NDA1ODllNTU5YzNjMjI1ZTM0Y2QuLjEwMjg2OTUxMDg5OWZmY2M2MDQw
ZDMzM2ZmNDVlM2NlNWJkMDJiYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
SGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCkBAIC0yNTAsNyArMjUw
LDcgQEAKICNkZWZpbmUgSEFWRV9GSkNWVFpTX0lOU1RSVUNUSU9OIDEKICNlbmRpZgogCi0jaWYg
UExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTUwMCkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVBMQVRGT1JNKFdB
VENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAj
ZGVmaW5lIEhBVkVfQVBQX0xJTktTIDEKICNlbmRpZgogCkBAIC0zMTgsMTAgKzMxOCw3IEBACiAj
ZGVmaW5lIEhBVkVfSU9TVVJGQUNFX0FDQ0VMRVJBVE9SIDEKICNlbmRpZgogCi0jaWYgKFBMQVRG
T1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIFwK
LSAgICB8fCAoKChQTEFURk9STShJT1MpICYmICFQTEFURk9STShJT1NfRkFNSUxZX1NJTVVMQVRP
UikpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTMwMDAwKSBcCi0gICAgfHwgKFBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFU
Rk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikgJiYgX19XQVRDSF9PU19WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSA2MDAwMCkgXAotICAgIHx8IChQTEFURk9STShBUFBMRVRWKSAmJiAhUExBVEZPUk0o
SU9TX0ZBTUlMWV9TSU1VTEFUT1IpICYmIF9fVFZfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTMwMDAwKQorI2lmIFBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKElPU19GQU1JTFlfU0lNVUxB
VE9SKQogI2RlZmluZSBIQVZFX0lPU1VSRkFDRV9TRVRfT1dORVJTSElQIDEKICNlbmRpZgogCkBA
IC0zNTgsNyArMzU1LDcgQEAKICNkZWZpbmUgSEFWRV9UT1VDSF9CQVIgMQogI2VuZGlmCiAKLSNp
ZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZP
Uk0oQVBQTEVUVikKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYm
ICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBIQVZFX0hTVFNfU1RPUkFHRV9QQVRIIDEKICNl
bmRpZgogCkBAIC0zODcsMTAgKzM4NCw2IEBACiAjZGVmaW5lIEhBVkVfRk9VTkRBVElPTl9XSVRI
X1NBTUVfU0lURV9DT09LSUVfU1VQUE9SVCAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgMTAxNDAwCi0jZGVmaW5lIEhBVkVf
TlNIVFRQQ09PS0lFU1RPUkFHRV9fSU5JVFdJVEhJREVOVElGSUVSX1dJVEhfSU5BQ0NVUkFURV9O
VUxMQUJJTElUWSAxCi0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oSU9T
KSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShX
UEUpCiAjZGVmaW5lIEhBVkVfT1NfREFSS19NT0RFX1NVUFBPUlQgMQogI2VuZGlmCkBAIC0zOTks
NyArMzkyLDcgQEAKICNkZWZpbmUgSEFWRV9DR19GT05UX1JFTkRFUklOR19HRVRfRk9OVF9TTU9P
VEhJTkdfRElTQUJMRUQgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCisjaWYgUExBVEZPUk0oTUFDKQogI2Rl
ZmluZSBIQVZFX1JFQURfT05MWV9TWVNURU1fVk9MVU1FIDEKICNlbmRpZgogCkBAIC00MzEsMTEg
KzQyNCwxMSBAQAogI2RlZmluZSBIQVZFX0FDQ0VTU0lCSUxJVFlfQlVORExFU19QQVRIIDEKICNl
bmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0oTUFDKSAmJiAhKF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwICYmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NQVhfQUxMT1dFRCA+PSAxMDE0MDQpKQorI2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBI
QVZFX0NGTkVUV09SS19PVkVSUklERV9TRVNTSU9OX0NPT0tJRV9BQ0NFUFRfUE9MSUNZIDEKICNl
bmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKSAmJiAhUExBVEZPUk0oV0FUQ0hPUykg
JiYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmICFQTEFURk9STShX
QVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKICNkZWZpbmUgSEFWRV9DRk5FVFdPUktfTlNV
UkxTRVNTSU9OX1NUUklDVFJVU1RFVkFMVUFURSAxCiAjZW5kaWYKIApAQCAtNDQ2LDIxICs0Mzks
NiBAQAogI2RlZmluZSBIQVZFX0NGTkVUV09SS19OU1VSTFNFU1NJT05fQ09OTkVDVElPTl9DQUNI
RV9MSU1JVFMgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSNk
ZWZpbmUgSEFWRV9DRk5FVFdPUktfTkVHT1RJQVRFRF9TU0xfUFJPVE9DT0xfQ0lQSEVSIDEKLSNl
bmRpZgotCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMDE1MDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDApIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSB8
fCBQTEFURk9STShXQVRDSE9TKSB8fCBQTEFURk9STShBUFBMRVRWKQotI2RlZmluZSBIQVZFX0NG
TkVUV09SS19TQU1FU0lURV9DT09LSUVfQVBJIDEKLSNlbmRpZgotCi0jaWYgKFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIFwKLSAgICB8
fCAoUExBVEZPUk0oSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MzAwMDApIFwKLSAgICB8fCAoUExBVEZPUk0oV0FUQ0hPUykgJiYgX19XQVRDSF9PU19WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSA2MDAwMCkgXAotICAgIHx8IChQTEFURk9STShBUFBMRVRWKSAmJiBf
X1RWX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkKLSNkZWZpbmUgSEFWRV9DRk5F
VFdPUktfTUVUUklDU19DT05ORUNUSU9OX1BST1BFUlRJRVMgMQotI2VuZGlmCi0KICNpZiBQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMjAwMDAKICNk
ZWZpbmUgSEFWRV9TQUZBUklfRk9SX1dFQktJVF9ERVZFTE9QTUVOVF9SRVFVSVJJTkdfRVhUUkFf
U1lNQk9MUyAxCiAjZW5kaWYKQEAgLTQ3NywxNSArNDU1LDE1IEBACiAjZGVmaW5lIEhBVkVfQ0ZO
RVRXT1JLX0FMVEVSTkFUSVZFX1NFUlZJQ0UgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCisjaWYgUExBVEZP
Uk0oTUFDKQogI2RlZmluZSBIQVZFX0NTQ0hFQ0tGSVhESVNBQkxFIDEKICNlbmRpZgogCi0jaWYg
UExBVEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEIDwgMTAxNTAwKSAmJiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JN
KEFQUExFVFYpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAh
UExBVEZPUk0oQVBQTEVUVikKICNkZWZpbmUgSEFWRV9NRE5TX0ZBU1RfUkVHSVNUUkFUSU9OIDEK
ICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0oTUFDKSAmJiBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKSAmJiAhUExBVEZPUk0oV0FUQ0hP
UykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmICFQTEFURk9S
TShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKICNkZWZpbmUgSEFWRV9DVEZPTlRDUkVB
VEVGT1JDSEFSQUNURVJTV0lUSExBTkdVQUdFQU5ET1BUSU9OIDEKICNlbmRpZgogCkBAIC01MTgs
MTEgKzQ5NiwxMSBAQAogI2RlZmluZSBIQVZFX0xPT0tVUF9HRVNUVVJFX1JFQ09HTklaRVIgMQog
I2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNpZiBQTEFURk9STShD
T0NPQSkKICNkZWZpbmUgSEFWRV9BTExPV1NfU0VOU0lUSVZFX0xPR0dJTkcgMQogI2VuZGlmCiAK
LSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNpZiBQTEFURk9STShDT0NPQSkKICNk
ZWZpbmUgSEFWRV9GQUlSUExBWVNUUkVBTUlOR19DRU5DX0lOSVREQVRBIDEKICNlbmRpZgogCkBA
IC01NDYsNyArNTI0LDcgQEAKICNkZWZpbmUgSEFWRV9OV1BBUkFNRVRFUlNfVFJBQ0tFUl9BUEkg
MQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApICYmICFQTEFURk9STShNQUND
QVRBTFlTVCkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQog
I2RlZmluZSBIQVZFX0FWUExBWUVSX1JFU09VUkNFX0NPTlNFUlZBVElPTl9MRVZFTCAxCiAjZW5k
aWYKIApAQCAtNTYyLDMxICs1NDAsMTEgQEAKICNkZWZpbmUgSEFWRV9DT1JFVEVYVF9BVVRPX09Q
VElDQUxfU0laSU5HIDEKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkKLSNkZWZpbmUgSEFWRV9OU0ZPTlRfV0lU
SF9PUFRJQ0FMX1NJWklOR19CVUcgMQotI2VuZGlmCi0KLSNpZiAoUExBVEZPUk0oSU9TKSB8fCAo
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUw
MCkpCisjaWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUMpCiAjZGVmaW5lIEhBVkVfQVBQ
X1NTTyAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhKFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkKLSNkZWZpbmUgSEFW
RV9UTFNfUFJPVE9DT0xfVkVSU0lPTl9UIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAm
JiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMAotI2RlZmluZSBIQVZF
X1NVQlZJRVdTX0lWQVJfU1BJIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01B
Q19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMDE1MDAKLSNkZWZpbmUgSEFWRV9TVUJWSUVX
U19JVkFSX0RFQ0xBUkVEX0JZX1NESyAxCi0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTUwMAotI2RlZmluZSBIQVZFX0FY
X0NMSUVOVF9UWVBFIDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmICEoUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKSAmJiAh
UExBVEZPUk0oTUFDQ0FUQUxZU1QpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmICFQTEFURk9STShN
QUNDQVRBTFlTVCkKICNkZWZpbmUgSEFWRV9ERVNJR05fU1lTVEVNX1VJX0ZPTlRTIDEKICNlbmRp
ZgogCkBAIC01OTQsMTEgKzU1Miw3IEBACiAjZGVmaW5lIEhBVkVfQ09PS0lFX0NIQU5HRV9MSVNU
RU5FUl9BUEkgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSNk
ZWZpbmUgSEFWRV9EQVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4gMQotI2VuZGlmCi0KLSNpZiAoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkg
fHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShJT1NfRkFNSUxZX1NJTVVMQVRP
UikpCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oSU9TX0ZBTUlMWV9TSU1VTEFUT1Ip
CiAjZGVmaW5lIEhBVkVfTkVBUl9GSUVMRCAxCiAjZW5kaWYKIApAQCAtNjA2LDEwICs1NjAsNiBA
QAogI2RlZmluZSBIQVZFX09TX1NJR05QT1NUIDEKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IChQTEFU
Rk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MzAwMDApCi0jZGVmaW5lIEhBVkVfQVZBU1NFVFdSSVRFUkRFTEVHQVRFIDEKLSNlbmRpZgotCiAj
aWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MTAwMDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxNDAwMDApCiAjZGVmaW5lIEhBVkVfQVZBU1NFVFdSSVRFUkRFTEVHQVRF
X0FQSSAxCiAjZW5kaWYKQEAgLTYyNiwyMiArNTc2LDE0IEBACiAjZGVmaW5lIEhBVkVfTlNQUk9H
UkVTU19QVUJMSVNISU5HX1NQSSAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCAoUExBVEZPUk0oSU9T
X0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwKQot
I2RlZmluZSBIQVZFX0dDRVhURU5ERURHQU1FUEFEX0JVVFRPTlNfT1BUSU9OU19NRU5VIDEKLSNl
bmRpZgotCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjZGVmaW5lIEhBVkVfR0NFWFRFTkRFREdBTUVQ
QURfQlVUVE9OU19USFVNQlNUSUNLIDEKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApCisjaWYgUExBVEZPUk0o
TUFDKQogI2RlZmluZSBIQVZFX01VTFRJR0FNRVBBRFBST1ZJREVSX1NVUFBPUlQgMQogI2VuZGlm
CiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMTUwMCkKLSNkZWZpbmUgSEFWRV9ISURfRlJBTUVXT1JLIDEKLSNlbmRpZgotCiAjaWYg
KFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAw
MDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxNDAwMDApCiAjZGVmaW5lIEhBVkVfR0NFWFRFTkRFREdBTUVQQURfSE9NRV9C
VVRUT04gMQogI2VuZGlmCkBAIC03MDIsMTggKzY0NCwxMCBAQAogI2RlZmluZSBIQVZFX01FRElB
X1VTQUdFX0ZSQU1FV09SSyAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKElPUykgfHwgKFBMQVRG
T1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApCi0j
ZGVmaW5lIEhBVkVfUEFTU0tJVF9CT1VORF9JTlRFUkZBQ0VfSURFTlRJRklFUiAxCi0jZW5kaWYK
LQotI2lmIFBMQVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApCisjaWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9S
TShNQUMpCiAjZGVmaW5lIEhBVkVfUEFTU0tJVF9JTlNUQUxMTUVOVFMgMQogI2VuZGlmCiAKLSNp
ZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxNTAwKQotI2RlZmluZSBIQVZFX1BBU1NLSVRfUEFZTUVOVF9NRVRI
T0RfQklMTElOR19BRERSRVNTIDEKLSNlbmRpZgotCiAjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMjAwMDApIHx8IChQTEFURk9STShJT1Mp
ICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE1MDAwMCkKICNkZWZpbmUg
SEFWRV9QQVNTS0lUX1JFQ1VSUklOR19TVU1NQVJZX0lURU0gMQogI2RlZmluZSBIQVZFX1BBU1NL
SVRfREVGRVJSRURfU1VNTUFSWV9JVEVNIDEKQEAgLTcyMyw3ICs2NTcsNyBAQAogI2RlZmluZSBI
QVZFX1BBU1NLSVRfVVBEQVRFX1NISVBQSU5HX01FVEhPRFNfV0hFTl9DSEFOR0lOR19TVU1NQVJZ
X0lURU1TIDEKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0o
TUFDQ0FUQUxZU1QpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmICFQTEFURk9STShXQVRDSE9TKSAm
JiAhUExBVEZPUk0oQVBQTEVUVikKICNkZWZpbmUgSEFWRV9RVUlDS0xPT0tfVEhVTUJOQUlMSU5H
IDEKICNlbmRpZgogCkBAIC03ODcsMTAgKzcyMSw2IEBACiAjZGVmaW5lIEhBVkVfQ1RGT05USVNT
WVNURU1VSUZPTlQgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApCi0jZGVm
aW5lIEhBVkVfQ1RGT05UR0VUUEhZU0lDQUxTWU1CT0xJQ1RSQUlUUyAxCi0jZW5kaWYKLQogI2lm
IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEw
MDAwKSBcCiAgICAgfHwgKChQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSkg
JiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTQwMDAwKSBcCiAgICAgfHwg
KFBMQVRGT1JNKFdBVENIT1MpICYmIF9fV0FUQ0hfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
NzAwMDApIFwKQEAgLTg3OCw3ICs4MDgsNyBAQAogI2RlZmluZSBIQVZFX0FWT1VUUFVUREVWSUNF
X1NQQVRJQUxBVURJTyAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0o
TUFDQ0FUQUxZU1QpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTAxNTAwKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhUExBVEZPUk0oV0FU
Q0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCiAjZGVmaW5lIEhBVkVfU1BFRUNIUkVDT0dOSVpF
UiAxCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaCBi
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKaW5kZXggNTE3MzcyMTdhNTUxNDJhZjA5NmFl
OTVhYjZjMzQwMTE3MTc5ODM1Yy4uOWM5ZjgwZTNmZDFiMzJkMzJjMTIwYmY0Y2M1OTg3NzlkODFl
NGZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oCkBAIC0xODksMTAgKzE4OSw2IEBACiAjZGVmaW5lIFVT
RV9JTUxBTkdfRk9OVF9MSU5LMiAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgMTAxNTAwCi0jZGVmaW5lIFVTRV9BVl9TQU1Q
TEVfQlVGRkVSX0RJU1BMQVlfTEFZRVIgMQotI2VuZGlmCi0KICNpZiBQTEFURk9STShDT0NPQSkg
fHwgUExBVEZPUk0oR1RLKQogI2RlZmluZSBVU0VfVU5JRklFRF9URVhUX0NIRUNLSU5HIDEKICNl
bmRpZgpAQCAtMjU5LDcgKzI1NSw3IEBACiAjZGVmaW5lIFVTRV9ESUNUQVRJT05fQUxURVJOQVRJ
VkVTIDEKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1BQykgJiYgVVNFKEFQUExFX0lOVEVSTkFM
X1NESykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IFBM
QVRGT1JNKElPU19GQU1JTFkpCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykpIHx8IFBMQVRGT1JNKElPU19GQU1JTFkpCiAjZGVmaW5lIFVTRV9TT1VSQ0VfQVBQ
TElDQVRJT05fQVVESVRfREFUQSAxCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcm92aWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByb3ZpZGVyLmNw
cAppbmRleCA2YTVjNGNiMzQ1ZjljMDY5OWY2ZjY1NWM5ZTQwYzEwOWY2NDc0OGJiLi43Nzc2YWZl
Yzc2NGQyNTg2MDI3ODRmODA2M2IxZWNjODU0MzgxNzExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByb3ZpZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByb3Zp
ZGVyLmNwcApAQCAtMzYsMTMgKzM2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGQ6OnVu
aXF1ZV9wdHI8TWVkaWFSZWNvcmRlclByaXZhdGU+IE1lZGlhUmVjb3JkZXJQcm92aWRlcjo6Y3Jl
YXRlTWVkaWFSZWNvcmRlclByaXZhdGUoTWVkaWFTdHJlYW1Qcml2YXRlJiBzdHJlYW0sIGNvbnN0
IE1lZGlhUmVjb3JkZXJQcml2YXRlT3B0aW9ucyYgb3B0aW9ucykKIHsKLSNpZiBIQVZFKEFWQVNT
RVRXUklURVJERUxFR0FURSkKICAgICByZXR1cm4gTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBs
OjpjcmVhdGUoc3RyZWFtLCBvcHRpb25zKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKHN0cmVh
bSk7Ci0gICAgVU5VU0VEX1BBUkFNKG9wdGlvbnMpOwotICAgIHJldHVybiBudWxscHRyOwotI2Vu
ZGlmCiB9CiAKIGJvb2wgTWVkaWFSZWNvcmRlclByb3ZpZGVyOjppc1N1cHBvcnRlZChjb25zdCBT
dHJpbmcmIHZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3Jl
TWVkaWFTb2Z0TGluay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNv
ZnRMaW5rLmNwcAppbmRleCA4YmQzYTIzYjNmOWY3N2Y1MjBkOTdjNTgzNjAwYjJlNWNlMDhiYjA4
Li5kZjc1NzRhNzRkN2E1YzZjNDc5ZGY5YTRhM2VkZWNmNjI1NGE3NzM3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcApAQCAtMzgsNyArMzgs
NyBAQAogCiAjaW5jbHVkZSA8Q29yZUF1ZGlvL0NvcmVBdWRpb1R5cGVzLmg+CiAKLSNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUFYX0FMTE9XRUQgPj0gMTAxNDAwKQorI2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBDTVNB
TVBMRUJVRkZFUkNBTExfTk9FU0NBUEUgQ0ZfTk9FU0NBUEUKICNlbHNlCiAjZGVmaW5lIENNU0FN
UExFQlVGRkVSQ0FMTF9OT0VTQ0FQRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3Jl
TWVkaWFTb2Z0TGluay5oCmluZGV4IDk4NzY5MmJjZjgyNTA4ODMzMTk1N2YyMmQwZDU4NzgyZmNm
NzcwMGYuLmM0MWI0ODNhNDdjZGY3MmFmMDZiYzEwNDlmZTJkY2ZkOTY0NDQ2MmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmgKQEAgLTM4LDcgKzM4
LDcgQEAKICNkZWZpbmUgU09GVExJTktfQVZLSVRfRlJBTUVXT1JLKCkgU09GVF9MSU5LX0ZSQU1F
V09SS19PUFRJT05BTChBVktpdCkKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkg
fHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEw
MTQwMCkKKyNpZiBQTEFURk9STShDT0NPQSkKICNkZWZpbmUgQ01TQU1QTEVCVUZGRVJDQUxMX05P
RVNDQVBFIENGX05PRVNDQVBFCiAjZWxzZQogI2RlZmluZSBDTVNBTVBMRUJVRkZFUkNBTExfTk9F
U0NBUEUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0
aW9uU29mdExpbmsubW0gYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlv
blNvZnRMaW5rLm1tCmluZGV4IDM1MWM2ZjJmMGRmMTQ5ODBjMjNiOTEyOTIzOWE4OWM0MDkzYmQ0
YzQuLjExNmU3ZGQ3NThkODcyZDE5MzdhMWY5NzE1YzlkZjdjZDE2MThjNTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbQpA
QCAtMzAsNyArMzAsNyBAQAogI2ltcG9ydCA8QVZGb3VuZGF0aW9uL0FWRm91bmRhdGlvbi5oPgog
I2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+CiAKLSNpZiAhKFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkgJiYgIVBMQVRGT1JNKFdBVENI
T1MpICYmICFQTEFURk9STShBUFBMRVRWKQorI2lmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExB
VEZPUk0oQVBQTEVUVikKIFNPRlRfTElOS19GUkFNRVdPUktfRk9SX1NPVVJDRV9XSVRIX0VYUE9S
VChQQUwsIEFWRm91bmRhdGlvbiwgUEFMX0VYUE9SVCkKICNlbHNlCiBAaW50ZXJmYWNlIEFWUGxh
eWVySXRlbSAoRGlzYWJsZUtWT09uU3VwcmVzc2VzVmlkZW9MYXllcnMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaCBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oCmluZGV4IDA3NTFjMGIzYjUxNzYwMTgx
NDA4Y2JkYmYwMGZlYjM1NWZiMjcxNGMuLjIyM2RjZjI4ZDg3ZDIwOTk0Mjk5N2M3NGZiMDA2MmFm
NWI3MWE4ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NGTmV0
d29ya1NQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NGTmV0d29ya1NQ
SS5oCkBAIC0zMDEsMTIgKzMwMSwxMCBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBOU1VS
TFNlc3Npb25Db21wYW5pb25Qcm94eVByZWZlcmVuY2UpIHsKICNlbmRpZgogQGVuZAogCi0jaWYg
SEFWRShDRk5FVFdPUktfTkVHT1RJQVRFRF9TU0xfUFJPVE9DT0xfQ0lQSEVSKQogQGludGVyZmFj
ZSBOU1VSTFNlc3Npb25UYXNrVHJhbnNhY3Rpb25NZXRyaWNzICgpCiBAcHJvcGVydHkgKGFzc2ln
bikgU1NMUHJvdG9jb2wgX25lZ290aWF0ZWRUTFNQcm90b2NvbDsKIEBwcm9wZXJ0eSAoYXNzaWdu
KSBTU0xDaXBoZXJTdWl0ZSBfbmVnb3RpYXRlZFRMU0NpcGhlcjsKIEBlbmQKLSNlbmRpZgogCiBA
aW50ZXJmYWNlIE5TVVJMU2Vzc2lvbiAoU1BJKQogI2lmIEhBVkUoQ0ZORVRXT1JLX05TVVJMU0VT
U0lPTl9TVFJJQ1RSVVNURVZBTFVBVEUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL3NwaS9jb2NvYS9BVkZvdW5kYXRpb25TUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
c3BpL2NvY29hL0FWRm91bmRhdGlvblNQSS5oCmluZGV4IGNiMWVkMTFmZGU3Nzk2ZTRkYjQ2OWRl
MWY4YTIwOWI3NGZkNjM3MWQuLjBjZDNlNjQxM2M5ZjM0ZjcwZTk2YWNiOWYwMDc3OTljMTU4YTAy
MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0FWRm91bmRh
dGlvblNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0FWRm91bmRh
dGlvblNQSS5oCkBAIC0zODEsNyArMzgxLDcgQEAgTlNfQVNTVU1FX05PTk5VTExfRU5ECiBAZW5k
CiAjZW5kaWYKIAotI2lmICFVU0UoQVBQTEVfSU5URVJOQUxfU0RLKSB8fCBVU0UoQVZfU0FNUExF
X0JVRkZFUl9ESVNQTEFZX0xBWUVSKQorI2lmICFVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogQGlu
dGVyZmFjZSBBVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciAoV2ViQ29yZVByaXZhdGUpCiBAcHJv
cGVydHkgKGFzc2lnbiwgbm9uYXRvbWljKSBCT09MIHByZXZlbnRzRGlzcGxheVNsZWVwRHVyaW5n
VmlkZW9QbGF5YmFjazsKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
c3BpL2NvY29hL1Bhc3NLaXRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29h
L1Bhc3NLaXRTUEkuaAppbmRleCA4NDk2ZTc2Yzc1ZDJiOTU3M2Q0MGI4NDJiMmJmNzJlOTk4NDdm
ZmVlLi5mMWViOWRjMDRhNDMzYmE1NDRjNjRkM2YzZmE1MDU1YTJmZDYzOTlkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCkBAIC00MTMsOSArNDEz
LDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgUEtQYXltZW50U2V0dXBGZWF0dXJlVHlw
ZSkgewogQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgTlNTdHJpbmcgKnNvdXJjZUFwcGxp
Y2F0aW9uQnVuZGxlSWRlbnRpZmllcjsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIE5T
U3RyaW5nICpzb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXI7CiBAcHJvcGVydHkg
KG5vbmF0b21pYywgc3Ryb25nKSBOU1N0cmluZyAqQ1REYXRhQ29ubmVjdGlvblNlcnZpY2VUeXBl
OwotI2lmIEhBVkUoUEFTU0tJVF9CT1VORF9JTlRFUkZBQ0VfSURFTlRJRklFUikKIEBwcm9wZXJ0
eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqYm91bmRJbnRlcmZhY2VJZGVudGlmaWVyOwot
I2VuZGlmCiBAZW5kCiAKICNpZiAhSEFWRShQQVNTS0lUX0lOU1RBTExNRU5UUykKQEAgLTQ0Miwx
MSArNDQwLDkgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgUEtQYXltZW50QnV0dG9uVHlw
ZSkgewogICAgIFBLUGF5bWVudEJ1dHRvblR5cGVTZXRVcCwKICAgICBQS1BheW1lbnRCdXR0b25U
eXBlSW5TdG9yZSwKICAgICBQS1BheW1lbnRCdXR0b25UeXBlRG9uYXRlLAotI2lmIChQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDE0MDApIHx8IFBM
QVRGT1JNKElPU19GQU1JTFkpCiAgICAgUEtQYXltZW50QnV0dG9uVHlwZUNoZWNrb3V0LAogICAg
IFBLUGF5bWVudEJ1dHRvblR5cGVCb29rLAogICAgIFBLUGF5bWVudEJ1dHRvblR5cGVTdWJzY3Jp
YmUsCi0jZW5kaWYKIH07CiAjZW5kaWYgLy8gIUhBVkUoUEFTU0tJVF9SRUNVUlJJTkdfU1VNTUFS
WV9JVEVNKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvSElT
ZXJ2aWNlc1NQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL0hJU2VydmljZXNT
UEkuaAppbmRleCBiOGRmMGExYmNjODk1MjJkZmVmZWQ2MzZmN2FlMzFjMmJlY2IxOTJhLi42MTYw
MGNjNmNhNWYwNWU4M2EyMDhjNTExY2NhNDBjMGUwZWY2ODlhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvSElTZXJ2aWNlc1NQSS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvc3BpL21hYy9ISVNlcnZpY2VzU1BJLmgKQEAgLTEzMCw3ICsxMzAsNiBAQCBP
U1N0YXR1cyBTZXRBcHBsaWNhdGlvbklzRGFlbW9uKEJvb2xlYW4pOwogQVhFcnJvciBfQVhVSUVs
ZW1lbnRVc2VTZWNvbmRhcnlBWFRocmVhZChib29sIGVuYWJsZWQpOwogI2VuZGlmCiAKLSNpZiBI
QVZFKEFYX0NMSUVOVF9UWVBFKQogdHlwZWRlZiBDRl9FTlVNKGludDMyX3QsIEFYQ2xpZW50VHlw
ZSkKIHsKICAgICBrQVhDbGllbnRUeXBlTm9BY3RpdmVSZXF1ZXN0Rm91bmQgPSAwLApAQCAtMTQ3
LDcgKzE0Niw2IEBAIHR5cGVkZWYgQ0ZfRU5VTShpbnQzMl90LCBBWENsaWVudFR5cGUpCiB9Owog
QVhDbGllbnRUeXBlIF9BWEdldENsaWVudEZvckN1cnJlbnRSZXF1ZXN0VW50cnVzdGVkKHZvaWQp
Owogdm9pZCBfQVhTZXRDbGllbnRJZGVudGlmaWNhdGlvbk92ZXJyaWRlKEFYQ2xpZW50VHlwZSk7
Ci0jZW5kaWYgLy8gSEFWRShBWF9DTElFTlRfVFlQRSkKIAogZXh0ZXJuIENGU3RyaW5nUmVmIGtB
WEludGVyZmFjZVJlZHVjZU1vdGlvbktleTsKIGV4dGVybiBDRlN0cmluZ1JlZiBrQVhJbnRlcmZh
Y2VSZWR1Y2VNb3Rpb25TdGF0dXNEaWRDaGFuZ2VOb3RpZmljYXRpb247CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNNZW51U1BJLmggYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL3NwaS9tYWMvTlNNZW51U1BJLmgKaW5kZXggZWJhYTY5YmE3MjcyOTM3YzFlNDAz
YTE4YjNjOTM3NjZjNDFiZTA0ZS4uMGU2NDcwZTBjMWE2OTA1NGVjNTI5YzgyOThkYjZlZDBhYTMw
NDNmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05TTWVudVNQ
SS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU01lbnVTUEkuaApAQCAt
MjcsNyArMjcsNyBAQAogCiAjaWYgUExBVEZPUk0oTUFDKQogCi0jaWYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAKKyNp
ZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAjaW1wb3J0IDxBcHBLaXQvTlNNZW51X1ByaXZh
dGUuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05TVmll
d1NQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05TVmlld1NQSS5oCmluZGV4
IDY4Y2U4YmZjMzRlOTg1ZWNhZGVhOTI2OTFhOGQ2YTZjM2ZiYjQ4M2YuLmRhZDdiNDU3NDJkZjJm
ZjE2NjBhYzA3YTQ0YmEzNDY5ZDg4NjM1ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvc3BpL21hYy9OU1ZpZXdTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9tYWMvTlNWaWV3U1BJLmgKQEAgLTMwLDEwICszMCw2IEBACiAjaW1wb3J0IDxwYWwvc3BpL2Nv
Y29hL1F1YXJ0ekNvcmVTUEkuaD4KIAogQGludGVyZmFjZSBOU1ZpZXcgKCkgPENBTGF5ZXJEZWxl
Z2F0ZT4gewotI2lmICFIQVZFKFNVQlZJRVdTX0lWQVJfU1BJKSAmJiAhSEFWRShTVUJWSUVXU19J
VkFSX0RFQ0xBUkVEX0JZX1NESykKLUBwYWNrYWdlCi0gICAgTlNNdXRhYmxlQXJyYXk8X19raW5k
b2YgTlNWaWV3ICo+ICpfc3Vidmlld3M7Ci0jZW5kaWYKIH0KIAogLSAoTlNWaWV3ICopX2ZpbmRM
YXN0Vmlld0luS2V5Vmlld0xvb3A7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCmluZGV4IGU1NDg4YTIxN2FjOTdiMTYxNDU4ZGEyNzAy
YTNlYjhkZWY0MzdmM2UuLjBiZjFiZDczNjQ3MzY0Njg3N2ExMDMzOGE0MjQxZWM2MGEyNjQxYmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhv
c3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhv
c3QuY3BwCkBAIC00MDEsOCArNDAxLDYgQEAgU3RyaW5nIEluc3BlY3RvckZyb250ZW5kSG9zdDo6
cGxhdGZvcm1WZXJzaW9uTmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuICJiaWctc3VyIl9zOwogI2Vs
aWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTUwMAogICAgIHJldHVybiAiY2F0YWxpbmEiX3M7Ci0jZWxpZiBQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwCi0gICAgcmV0dXJuICJtb2ph
dmUiX3M7CiAjZWxzZQogICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9nYW1lcGFkL2NvY29hL0dhbWVDb250cm9sbGVy
R2FtZXBhZC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNv
bnRyb2xsZXJHYW1lcGFkLm1tCmluZGV4IGE2MmZjYjIxYjlkMzA0NzhlY2I3MjE0ZmY3MmJiMzQy
ZTVmYTY3NzUuLjdlNDdlZmQ1ZThjZDgxZTY0NGNhOGExY2YwYzk4MjQ0YzdiNjQzNTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2FtZUNvbnRyb2xs
ZXJHYW1lcGFkLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2Ev
R2FtZUNvbnRyb2xsZXJHYW1lcGFkLm1tCkBAIC0xMzAsMTIgKzEzMCwxMCBAQCB2b2lkIEdhbWVD
b250cm9sbGVyR2FtZXBhZDo6c2V0dXBBc0V4dGVuZGVkR2FtZXBhZCgpCiAgICAgfQogCiAgICAg
Ly8gU2VsZWN0LCBTdGFydAotI2lmIEhBVkUoR0NFWFRFTkRFREdBTUVQQURfQlVUVE9OU19PUFRJ
T05TX01FTlUpCiAgICAgYmluZEJ1dHRvbihtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0b25P
cHRpb25zLCBHYW1lcGFkQnV0dG9uUm9sZTo6Q2VudGVyQ2x1c3RlckxlZnQpOwogICAgIGRpc2Fi
bGVEZWZhdWx0U3lzdGVtQWN0aW9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdldCgpLmJ1dHRvbk9wdGlv
bnMpOwogICAgIGJpbmRCdXR0b24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuYnV0dG9uTWVudSwg
R2FtZXBhZEJ1dHRvblJvbGU6OkNlbnRlckNsdXN0ZXJSaWdodCk7CiAgICAgZGlzYWJsZURlZmF1
bHRTeXN0ZW1BY3Rpb24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCkuYnV0dG9uTWVudSk7Ci0jZW5k
aWYKIAogICAgIC8vIEwzLCBSMwogI2lmIEhBVkUoR0NFWFRFTkRFREdBTUVQQURfQlVUVE9OU19U
SFVNQlNUSUNLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KaW5kZXggZjMxNGRjZWJkYTM0ZjhiMjA4
M2IzNGE5ZDllMTM2NTQyYzlkMWFiOS4uZmFiOGE4Y2JmNGU1Y2ZlZGE2ZDUyOTJmZGZjZDgwZDMx
MjFlODFjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCkBAIC0zMTkyLDE0ICszMTkyLDYgQEAg
dm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwbGF5ZXJJdGVtU3RhdHVz
RGlkQ2hhbmdlKGludCBzdGF0dXMpCiB7CiAgICAgbV9jYWNoZWRJdGVtU3RhdHVzID0gc3RhdHVz
OwogCi0gICAgLy8gU2V0dGluZyB0aGUgcGl0Y2ggYWxnb3JpdGhtIGhlcmUgY2F1c2VzIHRlc3Rz
IHRvIGZhaWwgb24gTW9qYXZlOyByZXZlcnQgdGhpcyBjaGFuZ2UKLSAgICAvLyBmb3IgPD0gTW9q
YXZlIGJ1aWxkcy4KLSNpZiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+IDEwMTQwMCkKLSAgICAvLyBGSVhNRShyZGFyOi8vNzI4MjkzNTQpOiBSZW1v
dmUgYWZ0ZXIgQVZGb3VuZGF0aW9uIHJhZGFyIGlzIGZpeGVkLgotICAgIGlmIChzdGF0dXMgPT0g
QVZQbGF5ZXJJdGVtU3RhdHVzUmVhZHlUb1BsYXkpCi0gICAgICAgIFttX2F2UGxheWVySXRlbSBz
ZXRBdWRpb1RpbWVQaXRjaEFsZ29yaXRobTphdWRpb1RpbWVQaXRjaEFsZ29yaXRobUZvck1lZGlh
UGxheWVyUGl0Y2hDb3JyZWN0aW9uQWxnb3JpdGhtKHBsYXllcigpLT5waXRjaENvcnJlY3Rpb25B
bGdvcml0aG0oKSwgcGxheWVyKCktPnByZXNlcnZlc1BpdGNoKCksIG1fcmVxdWVzdGVkUmF0ZSld
OwotI2VuZGlmCi0KICAgICB1cGRhdGVTdGF0ZXMoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQu
Y3BwCmluZGV4IDRjNWEzNWM2ODdiMzc2OTIwOTczNDcyYTY4YjliMDQxZGJiNmFjMmUuLjZmOWY5
M2U1ZWQ4M2NkMzZhMmIyZTBkZWRjYmQ3ZWJjNDhlNDNhMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4
dC5jcHAKQEAgLTgyNSwxNiArODI1LDkgQEAgU3ludGhlc2lzUGFpciBjb21wdXRlTmVjZXNzYXJ5
U3ludGhlc2lzKENURm9udFJlZiBmb250LCBjb25zdCBGb250RGVzY3JpcHRpb24mIGYKIAogICAg
IENURm9udFN5bWJvbGljVHJhaXRzIGFjdHVhbFRyYWl0cyA9IDA7CiAgICAgaWYgKGlzRm9udFdl
aWdodEJvbGQoZm9udERlc2NyaXB0aW9uLndlaWdodCgpKSB8fCBpc0l0YWxpYyhmb250RGVzY3Jp
cHRpb24uaXRhbGljKCkpKSB7Ci0gICAgICAgIGlmIChzaG91bGRDb21wdXRlUGh5c2ljYWxUcmFp
dHMgPT0gU2hvdWxkQ29tcHV0ZVBoeXNpY2FsVHJhaXRzOjpZZXMpIHsKLSNpZiBIQVZFKENURk9O
VEdFVFBIWVNJQ0FMU1lNQk9MSUNUUkFJVFMpCisgICAgICAgIGlmIChzaG91bGRDb21wdXRlUGh5
c2ljYWxUcmFpdHMgPT0gU2hvdWxkQ29tcHV0ZVBoeXNpY2FsVHJhaXRzOjpZZXMpCiAgICAgICAg
ICAgICBhY3R1YWxUcmFpdHMgPSBDVEZvbnRHZXRQaHlzaWNhbFN5bWJvbGljVHJhaXRzKGZvbnQp
OwotI2Vsc2UKLSAgICAgICAgICAgIGF1dG8gZm9udEZvclN5bnRoZXNpc0NvbXB1dGF0aW9uID0g
cmV0YWluUHRyKGZvbnQpOwotICAgICAgICAgICAgaWYgKGF1dG8gcGh5c2ljYWxGb250ID0gYWRv
cHRDRihDVEZvbnRDb3B5UGh5c2ljYWxGb250KGZvbnQpKSkKLSAgICAgICAgICAgICAgICBmb250
Rm9yU3ludGhlc2lzQ29tcHV0YXRpb24gPSBXVEZNb3ZlKHBoeXNpY2FsRm9udCk7Ci0gICAgICAg
ICAgICBhY3R1YWxUcmFpdHMgPSBDVEZvbnRHZXRTeW1ib2xpY1RyYWl0cyhmb250Rm9yU3ludGhl
c2lzQ29tcHV0YXRpb24uZ2V0KCkpOwotI2VuZGlmCi0gICAgICAgIH0gZWxzZQorICAgICAgICBl
bHNlCiAgICAgICAgICAgICBhY3R1YWxUcmFpdHMgPSBDVEZvbnRHZXRTeW1ib2xpY1RyYWl0cyhm
b250KTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
cmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmNwcApp
bmRleCBkNDE5ZTBlMTkyNTU1ZDczNjA4NTg1MWY1NGNhMDA0MGQ0NmI2NjNmLi45NzE4YTRiNjQz
ZGFiNjhlNjI3MWYzZWQxOGNjZGQ2ZTBlNGUxZDc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVy
UHJpdmF0ZUFWRkltcGwuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmgiCiAKLSNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogCiAjaW5jbHVkZSAiQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oIgogI2lu
Y2x1ZGUgIkNBQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oIgpAQCAtMTcwLDQgKzE3MCw0IEBAIGNv
bnN0IFN0cmluZyYgTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsOjptaW1lVHlwZSgpIGNvbnN0
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJF
QU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2VuZGlmIC8vIEVOQUJMRShNRURJ
QV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29y
ZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaAppbmRleCAzMzdl
YzE5ZDViNDk0M2MwNTAyYjExZWY3MjExNDY0MzZlMTIwMjEyLi5jNjU5NTVkM2VkODAzZjlhM2Q5
NzRjNDMwY2M3ZGE0M2I0ZTJhZWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJ
bXBsLmgKQEAgLTI0LDcgKzI0LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQogCiAjaW5jbHVkZSAiQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmgiCiAjaW5j
bHVkZSAiTWVkaWFSZWNvcmRlclByaXZhdGUuaCIKQEAgLTY4LDQgKzY4LDQgQEAgcHJpdmF0ZToK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVB
TSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjZW5kaWYgLy8gRU5BQkxFKE1FRElB
X1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3Jk
ZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRl
ckNvY29hLmgKaW5kZXggYjc1NThkMjgwYzJlZjc5NjA2OGNhYzBjYzk2YjUwMzNkYzM3MDk3MS4u
MjExZjc1ZWU3M2FmNjkxOWU3ZjRjOTk1OGUwY2QzNDgyNTMyZDA5ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJp
dmF0ZVdyaXRlckNvY29hLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNv
cmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLmgKQEAgLTI0LDcgKzI0
LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZF
KEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiAjaW5j
bHVkZSAiQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oIgogCkBAIC0xNDcsNCArMTQ3LDQgQEAgcHJp
dmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElB
X1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjZW5kaWYgLy8gRU5BQkxF
KE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
cmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvTWVkaWFSZWNvcmRlclByaXZh
dGVXcml0ZXJDb2NvYS5tbQppbmRleCA2YWQyMGJlOGNiNTc5MjNhMGU3ODQyZTM3MDFkMzNhNmFh
MDNhYjZjLi4yYzdjYTJlMDNkMjk2YzAzZDgxZDJjZGMxNTE3MTU5M2YxZTUwOGNmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVj
b3JkZXJQcml2YXRlV3JpdGVyQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLm1tCkBA
IC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTWVkaWFSZWNv
cmRlclByaXZhdGVXcml0ZXJDb2NvYS5oIgogCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYg
SEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAog
I2luY2x1ZGUgIkF1ZGlvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5oIgogI2luY2x1ZGUgIkF1ZGlv
U3RyZWFtRGVzY3JpcHRpb24uaCIKQEAgLTU4Miw0ICs1ODIsNCBAQCB1bnNpZ25lZCBNZWRpYVJl
Y29yZGVyUHJpdmF0ZVdyaXRlcjo6dmlkZW9CaXRSYXRlKCkgY29uc3QKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFT
U0VUV1JJVEVSREVMRUdBVEUpCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvQ29va2llQ29jb2Eu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL0Nvb2tpZUNvY29hLm1t
CmluZGV4IDEwZWM3NWE3ZWVlODc4NDFjZTAxMmI5YWYxOWI0NjcwYjBjMTkyMDAuLjBkYzU4YTk5
MDZlY2E3NDZjNmJmOWU3NGE4M2VmZjI4NGZmNTA5NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvQ29va2llQ29jb2EubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9Db29raWVDb2NvYS5tbQpAQCAtMjksMTYgKzI5
LDYgQEAKIC8vIEZJWE1FOiBSZW1vdmUgTlNfQVNTVU1FX05PTk5VTExfQkVHSU4vRU5EIGFuZCBh
bGwgX051bGxhYmxlIGFubm90YXRpb25zIG9uY2Ugd2UgcmVtb3ZlIHRoZSBOU0hUVFBDb29raWUg
Zm9yd2FyZCBkZWNsYXJhdGlvbiBiZWxvdy4KIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiAKLSNp
ZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEwMTUw
MAotdHlwZWRlZiBOU1N0cmluZyAqIE5TSFRUUENvb2tpZVN0cmluZ1BvbGljeTsKLUBpbnRlcmZh
Y2UgTlNIVFRQQ29va2llIChTdGFnaW5nKQotQHByb3BlcnR5IChudWxsYWJsZSwgcmVhZG9ubHks
IGNvcHkpIE5TSFRUUENvb2tpZVN0cmluZ1BvbGljeSBzYW1lU2l0ZVBvbGljeTsKLUBlbmQKLQot
c3RhdGljIE5TU3RyaW5nICogY29uc3QgTlNIVFRQQ29va2llU2FtZVNpdGVMYXggPSBAImxheCI7
Ci1zdGF0aWMgTlNTdHJpbmcgKiBjb25zdCBOU0hUVFBDb29raWVTYW1lU2l0ZVN0cmljdCA9IEAi
c3RyaWN0IjsKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBWZWN0b3I8
dWludDE2X3Q+IHBvcnRWZWN0b3JGcm9tTGlzdChOU0FycmF5PE5TTnVtYmVyICo+ICpwb3J0TGlz
dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvTmV0
d29ya1N0b3JhZ2VTZXNzaW9uQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2NvY29hL05ldHdvcmtTdG9yYWdlU2Vzc2lvbkNvY29hLm1tCmluZGV4IDUwYzUwMDZmNzIy
NjM4ZjVlNTNmN2FiOGQ2MGRmNTJjYTc1MjQyYmYuLjhlNGEyODYwZWU4MTE5MDZlYzg2NTVjYTcx
OTM5MjYzZTM5MzJjYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvY29jb2EvTmV0d29ya1N0b3JhZ2VTZXNzaW9uQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9OZXR3b3JrU3RvcmFnZVNlc3Npb25Db2NvYS5tbQpA
QCAtMTIyLDcgKzEyMiw2IEBAIHZvaWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpzZXRBbGxDb29r
aWVzVG9TYW1lU2l0ZVN0cmljdChjb25zdCBSZWdpc3RyYWJsZURvbWFpCiB7CiAgICAgQVNTRVJU
KGhhc1Byb2Nlc3NQcml2aWxlZ2UoUHJvY2Vzc1ByaXZpbGVnZTo6Q2FuQWNjZXNzUmF3Q29va2ll
cykpOwogCi0jaWYgSEFWRShDRk5FVFdPUktfU0FNRVNJVEVfQ09PS0lFX0FQSSkKICAgICBSZXRh
aW5QdHI8TlNNdXRhYmxlQXJyYXk8TlNIVFRQQ29va2llICo+PiBvbGRDb29raWVzVG9EZWxldGUg
PSBhZG9wdE5TKFtbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRdKTsKICAgICBSZXRhaW5QdHI8
TlNNdXRhYmxlQXJyYXk8TlNIVFRQQ29va2llICo+PiBuZXdDb29raWVzVG9BZGQgPSBhZG9wdE5T
KFtbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRdKTsKIApAQCAtMTQzLDkgKzE0Miw3IEBAIHZv
aWQgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpzZXRBbGxDb29raWVzVG9TYW1lU2l0ZVN0cmljdChj
b25zdCBSZWdpc3RyYWJsZURvbWFpCiAgICAgZm9yIChOU0hUVFBDb29raWUgKm5ld0Nvb2tpZSBp
biBuZXdDb29raWVzVG9BZGQuZ2V0KCkpCiAgICAgICAgIFtuc0Nvb2tpZVN0b3JhZ2UoKSBzZXRD
b29raWU6bmV3Q29va2llXTsKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TCi0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShkb21haW4pOwotI2VuZGlmCisKICAgICBjb21wbGV0aW9uSGFuZGxl
cigpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5jcHAKaW5kZXggYTk5OGQ3NjdiOTJhNWU1Y2QzZDNiZjc1ZjJmMTRk
MzNlNTA4NTIzZS4uODVjYTg4ZjdhOTgyNDYyNjJjMzFhN2ZiNDE3Nzk5NTA1M2U0OWNlZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmNwcApAQCAtMzQ3LDcgKzM0Nyw3IEBAIGJvb2wgR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6YWxsb3dzRXhpdFVuZGVyTWVtb3J5UHJlc3N1cmUoKSBjb25zdAogICAgIGlmICghbV9z
YW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyLT5hbGxvd3NFeGl0VW5kZXJNZW1vcnlQcmVz
c3VyZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKLSNpZiBQTEFURk9STShDT0NP
QSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUp
CisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgaWYgKG1f
cmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIgJiYgIW1fcmVtb3RlTWVkaWFSZWNvcmRlck1hbmFn
ZXItPmFsbG93c0V4aXRVbmRlck1lbW9yeVByZXNzdXJlKCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICNlbmRpZgpAQCAtNDMxLDcgKzQzMSw3IEBAIFJlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFj
a1JlbmRlcmVySW50ZXJuYWxVbml0TWFuYWdlciYgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzCiB9
CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKSAm
JiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5B
QkxFKE1FRElBX1NUUkVBTSkKIFJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyJiBHUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzOjptZWRpYVJlY29yZGVyTWFuYWdlcigpCiB7CiAgICAgaWYgKCFtX3Jl
bW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyKQpAQCAtNjU3LDcgKzY1Nyw3IEBAIGJvb2wgR1BVQ29u
bmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlzcGF0Y2hNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29u
bmVjdGlvbiwgSVBDCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICNlbmRpZgotI2lmIFBM
QVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklU
RVJERUxFR0FURSkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkK
ICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6OlJlbW90
ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKICAgICAgICAg
bWVkaWFSZWNvcmRlck1hbmFnZXIoKS5kaWRSZWNlaXZlTWVzc2FnZUZyb21XZWJQcm9jZXNzKGNv
bm5lY3Rpb24sIGRlY29kZXIpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCmluZGV4IGI4
ODJhYTA5MDczNzc2ZGM4YjhkZjY5N2RmMDIxMGNiNTg5YWVkM2IuLjA1YTUwNWZlZTMyOTM3OGIx
MzBhOWM5OTczMjYwNmJlMjBiNDg3YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApAQCAtMTc0LDcgKzE3NCw3IEBAIHBy
aXZhdGU6CiAgICAgVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eSYgdXNlck1lZGlhQ2FwdHVy
ZU1hbmFnZXJQcm94eSgpOwogICAgIFJlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVy
SW50ZXJuYWxVbml0TWFuYWdlciYgYXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJJbnRlcm5h
bFVuaXRNYW5hZ2VyKCk7CiAjZW5kaWYKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1F
RElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjaWYgUExBVEZPUk0o
Q09DT0EpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgUmVtb3RlTWVkaWFSZWNvcmRlck1h
bmFnZXImIG1lZGlhUmVjb3JkZXJNYW5hZ2VyKCk7CiAjZW5kaWYKIApAQCAtMjU2LDcgKzI1Niw3
IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbW90ZUF1ZGlvTWVkaWFTdHJlYW1U
cmFja1JlbmRlcmVySW50ZXJuYWxVbml0TWFuYWdlcj4gbV9hdWRpb01lZGlhU3RyZWFtVHJhY2tS
ZW5kZXJlckludGVybmFsVW5pdE1hbmFnZXI7CiAgICAgUmVmPFJlbW90ZVNhbXBsZUJ1ZmZlckRp
c3BsYXlMYXllck1hbmFnZXI+IG1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlcjsKICNl
bmRpZgotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZF
KEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlTWVkaWFSZWNvcmRlck1hbmFn
ZXI+IG1fcmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXI7CiAjZW5kaWYKICNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21hYy9jb20u
YXBwbGUuV2ViS2l0LkdQVVByb2Nlc3Muc2IuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWFjL2NvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5zYi5pbgppbmRleCBmYjJiMDczM2VjOGRh
ZWM3ZjMyMjA0YWM5MTcxN2FiNjRjNDJmNTk2Li4xZDQwYmQwZmRjZTlkM2Y1MjUxMDAzYmNmNDg5
YTQ3ZTUxOGM2M2ExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL2Nv
bS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5zYi5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5zYi5pbgpAQCAtMTIwLDEwICsx
MjAsOCBAQAogICAgIDs7IENWTVMKICAgICAoYWxsb3cgbWFjaC1sb29rdXAgKHdpdGggdGVsZW1l
dHJ5KQogICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5jdm1zU2VydiIpKQotI2lmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwIHx8IFBMQVRGT1JNKE1BQ0NB
VEFMWVNUKQogICAgIChhbGxvdyBmaWxlLXJlYWQqICh3aXRoIHRlbGVtZXRyeSkKICAgICAgICAg
KHByZWZpeCAiL3ByaXZhdGUvdmFyL2RiL0NWTVMvY3Ztc0NvZGVTaWduT2JqIikpCi0jZW5kaWYK
ICAgICA7OyBPcGVuQ0wKICAgICAoYWxsb3cgaW9raXQtb3BlbiAod2l0aCB0ZWxlbWV0cnkpCiAg
ICAgICAgIChpb2tpdC1jb25uZWN0aW9uICJJT0FjY2VsZXJhdG9yIikKQEAgLTQyOSw3ICs0Mjcs
NiBAQAogICAgIChpb2tpdC1wcm9wZXJ0eSAic2F2ZWQtY29uZmlnIikKICAgICAoaW9raXQtcHJv
cGVydHkgInN0YXJ0dXAtdGltaW5nIikKICAgICAoaW9raXQtcHJvcGVydHkgInRvdWNoLXNpemUt
aWQiKQotI2lmICFQTEFURk9STShNQUMpIHx8IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAxNDAwCiAgICAgKGlva2l0LXByb3BlcnR5ICJBVFksY2JpdHMiKQogICAgIChpb2tp
dC1wcm9wZXJ0eSAiQVRZLGludHJldiIpCiAgICAgKGlva2l0LXByb3BlcnR5ICJBY2NlbE5hdGl2
ZURNQVJvd0J5dGVBbGlnbm1lbnQiKQpAQCAtNDQ3LDcgKzQ0NCw2IEBACiAgICAgKGlva2l0LXBy
b3BlcnR5ICJUZWxlbWV0cnlEaXNhYmxlIikKICAgICAoaW9raXQtcHJvcGVydHkgImNhaWxfcHJv
cGVydGllcyIpCiAgICAgKGlva2l0LXByb3BlcnR5ICJkcG0iKQotI2VuZGlmCiAgICAgKGlva2l0
LXByb3BlcnR5ICJJT0dWQUgyNjRFbmNvZGVDYXBhYmlsaXRpZXMiKSA7OyA8cmRhcjovL3Byb2Js
ZW0vNDk0OTgwNDA+CiAjaWYgIVBMQVRGT1JNKE1BQykgfHwgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+IDEwMTUwMAogICAgIChpb2tpdC1wcm9wZXJ0eSAiSU9BVkRIRVZDRGVjb2Rl
Q2FwYWJpbGl0aWVzIikgOzsgPHJkYXI6Ly9wcm9ibGVtLzcxMTAwMTg4PgpAQCAtNzAyLDkgKzY5
OCw2IEBACiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUubG9nZC5ldmVudHMiKSkKIAog
KGFsbG93IG1hY2gtbG9va3VwICh3aXRoIHRlbGVtZXRyeSkKLSNpZiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEIDwgMTAxNDAwCi0gICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUu
Rm9udE9iamVjdHNTZXJ2ZXIiKQotI2VuZGlmCiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBw
bGUuU3lzdGVtQ29uZmlndXJhdGlvbi5jb25maWdkIikKICAgICAgICAoZ2xvYmFsLW5hbWUgImNv
bS5hcHBsZS5hc3NlcnRpb25kLnByb2Nlc3Nhc3NlcnRpb25jb25uZWN0aW9uIikKICAgICAgICAo
Z2xvYmFsLW5hbWUgImNvbS5hcHBsZS5hdWRpby50b29sYm94LnJlcG9ydGluZy5zZXJ2aWNlIikK
QEAgLTcyMCwxOCArNzEzLDE0IEBACiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUudGNj
ZC5zeXN0ZW0iKQogKQogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDE0MDAgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiA7OyA8cmRhcjovL3Byb2JsZW0vNDcyNjgx
NjY+CiAoYWxsb3cgbWFjaC1sb29rdXAgKHdpdGggdGVsZW1ldHJ5KSAoeHBjLXNlcnZpY2UtbmFt
ZSAiY29tLmFwcGxlLk1UTENvbXBpbGVyU2VydmljZSIpKQotI2VuZGlmCiAKLSNpZiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCB8fCBQTEFURk9STShNQUNDQVRBTFlT
VCkKIChkZW55IG1hY2gtbG9va3VwICh3aXRoIG5vLWxvZykKICAgICAoZ2xvYmFsLW5hbWUgImNv
bS5hcHBsZS5Db3JlU2VydmljZXMuY29yZXNlcnZpY2VzZCIpCiAgICAgKGdsb2JhbC1uYW1lICJj
b20uYXBwbGUuRGlza0FyYml0cmF0aW9uLmRpc2thcmJpdHJhdGlvbmQiKQogICAgIChnbG9iYWwt
bmFtZSAiY29tLmFwcGxlLlZpZXdCcmlkZ2VBdXhpbGlhcnkiKQogICAgIChnbG9iYWwtbmFtZSAi
Y29tLmFwcGxlLndpbmRvd3NlcnZlci5hY3RpdmUiKSkKLSNlbmRpZgogCiA7OyBOZWVkZWQgdG8g
c3VwcG9ydCBlbmNyeXB0ZWQgbWVkaWEgcGxheWJhY2sgPHJkYXI6Ly9wcm9ibGVtLzQwMDM4NDc4
PgogKGFsbG93IG1hY2gtbG9va3VwICh3aXRoIHRlbGVtZXRyeSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIuY3BwCmluZGV4
IDhjMTI1NDlmMTQzMjg5ZmYxZjJkYmIzNjQ1ODdjMmY2OGVhY2E2YmIuLjdlNTcyYjNhNzRhMjAy
N2U3NGNhYTc2NzJlNTJkYTBhZjgzNDIwNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmNwcApAQCAtMjYsNyArMjYs
NyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUmVjb3JkZXIu
aCIKIAotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJM
RShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2lmIFBMQVRG
T1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0p
CiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiR1BVQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5oIgpAQCAtMTM0LDQgKzEzNCw0IEBAIHZvaWQgUmVtb3RlTWVkaWFSZWNvcmRlcjo6
cmVzdW1lKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIAog
I3VuZGVmIE1FU1NBR0VfQ0hFQ0sKIAotI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFC
TEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdS
SVRFUkRFTEVHQVRFKQorI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BS
T0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIuaCBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oCmluZGV4IDFiMDAwM2Q0MGU4
MTRkMDA0NGI4Y2M0ZjU4YTU2MTc1OTM1NTM1YWEuLmNiNjk0NmM4MjU4ODlkNzk4YTE3OWMwMGVm
NzhhNDcxY2RiMThlYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJy
dGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93
ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEg
b25jZQogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5B
QkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjaWYgUExB
VEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKIAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJNZWRpYVJlY29yZGVy
SWRlbnRpZmllci5oIgpAQCAtODksNCArODksNCBAQCBwcml2YXRlOgogCiB9CiAKLSNlbmRpZiAv
LyBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFf
U1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNlbmRpZiAvLyBQTEFURk9S
TShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJl
Y29yZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1v
dGVNZWRpYVJlY29yZGVyLm1lc3NhZ2VzLmluCmluZGV4IGFkNWViOTRhMWE3YWZmMTYyNWI5MmEy
YWQyODBlYzU3OTA5ODIzYWIuLjlmNTVjNzdiNmQ5ZjNhNzg0MGFkMGY2MWIwMjFkM2Q0NTc5MWZm
ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVk
aWFSZWNvcmRlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2Vi
cnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIubWVzc2FnZXMuaW4KQEAgLTIxLDcgKzIxLDcgQEAKICMg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgogIyBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKLSNpZiBQ
TEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RS
RUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBQTEFURk9STShDT0NPQSkg
JiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiBtZXNzYWdl
cyAtPiBSZW1vdGVNZWRpYVJlY29yZGVyIE5vdFJlZkNvdW50ZWQgewogICAgIEF1ZGlvU2FtcGxl
c1N0b3JhZ2VDaGFuZ2VkKFdlYktpdDo6U2hhcmVkTWVtb3J5OjpJUENIYW5kbGUgc3RvcmFnZUhh
bmRsZSwgV2ViQ29yZTo6Q0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uIGRlc2NyaXB0aW9uLCB1aW50
NjRfdCBudW1iZXJPZkZyYW1lcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5jcHAKaW5kZXggZjBi
ZmM4ZmE1ZDMzMDBmNGQwMjI4NDUyNjVjOWEzZDJhY2YyZTYzNi4uZDBkYmQ3OTY3MTA2MzkwY2U0
ZTMyYTMwMGI0OTU1YzQzMTRmYjc5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5jcHAKQEAg
LTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJSZW1vdGVNZWRp
YVJlY29yZGVyTWFuYWdlci5oIgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVf
UFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVM
RUdBVEUpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5B
QkxFKE1FRElBX1NUUkVBTSkKIAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRl
ICJEZWNvZGVyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRj
L1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
d2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLmgKaW5kZXggMmYyOWZlZjJhZjJkM2Mz
NjEwOTZiMzNmOWYwOWVlMDc3ODczMGRlOC4uNTNmOWFkY2RkNGNkYmIzNjJmNDhiZmQ5N2I4YmI0
MGNhZWU3NDE5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9S
ZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIuaApAQCAtMSw1ICsxLDMgQEAKLQot
CiAvKgogICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCkBAIC0yNyw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgUExBVEZPUk0o
Q09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYg
SEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJM
RShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogI2luY2x1ZGUgIk1lZGlh
UmVjb3JkZXJJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3Jk
ZXJNYW5hZ2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9S
ZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5tZXNzYWdlcy5pbgppbmRleCBiNDNiM2Y0NGVmMjEx
ZTdlN2RlYjJlNDRhODc0ZWViMjZhYWFhYzg2Li44MjhiOGFhNjhlOTBhOWIyNWUxZTg3MGY2Yzkw
YThmZDdjNWE3MDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRj
L1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIubWVzc2FnZXMu
aW4KQEAgLTIxLDcgKzIxLDcgQEAKICMgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgogIyBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9D
RVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FU
RSkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogCiBtZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlciBO
b3RSZWZDb3VudGVkIHsKICAgICBDcmVhdGVSZWNvcmRlcihXZWJLaXQ6Ok1lZGlhUmVjb3JkZXJJ
ZGVudGlmaWVyIGlkLCBib29sIGhhc0F1ZGlvLCBib29sIGhhc1ZpZGVvLCBzdHJ1Y3QgV2ViQ29y
ZTo6TWVkaWFSZWNvcmRlclByaXZhdGVPcHRpb25zIG9wdGlvbnMpIC0+IChzdGQ6Om9wdGlvbmFs
PFdlYkNvcmU6OkV4Y2VwdGlvbkRhdGE+IGNyZWF0aW9uRXJyb3IsIFN0cmluZyBtaW1lVHlwZSwg
dW5zaWduZWQgYXVkaW9CaXRSYXRlLCB1bnNpZ25lZCB2aWRlb0JpdFJhdGUpIEFzeW5jCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFz
a0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0
YVRhc2tDb2NvYS5tbQppbmRleCA1YzEyNTFhZjQxNmMzNmEyMWE3MWJjODRmMThkMDRjOTUxYTY3
OTlmLi5lZjA0NjAxOTNlZjFiNDhiN2ZiN2FkNzFiYTcwYmQzMmQ5NTY1NWQ5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29h
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFU
YXNrQ29jb2EubW0KQEAgLTEzMCwxMyArMTMwLDcgQEAgTlNIVFRQQ29va2llU3RvcmFnZSAqTmV0
d29ya0RhdGFUYXNrQ29jb2E6OnN0YXRlbGVzc0Nvb2tpZVN0b3JhZ2UoKQogewogICAgIHN0YXRp
YyBOZXZlckRlc3Ryb3llZDxSZXRhaW5QdHI8TlNIVFRQQ29va2llU3RvcmFnZT4+IHN0YXRlbGVz
c0Nvb2tpZVN0b3JhZ2U7CiAgICAgaWYgKCFzdGF0ZWxlc3NDb29raWVTdG9yYWdlLmdldCgpKSB7
Ci0jaWYgSEFWRShOU0hUVFBDT09LSUVTVE9SQUdFX19JTklUV0lUSElERU5USUZJRVJfV0lUSF9J
TkFDQ1VSQVRFX05VTExBQklMSVRZKQotICAgICAgICBJR05PUkVfTlVMTF9DSEVDS19XQVJOSU5H
U19CRUdJTgotI2VuZGlmCiAgICAgICAgIHN0YXRlbGVzc0Nvb2tpZVN0b3JhZ2UuZ2V0KCkgPSBh
ZG9wdE5TKFtbTlNIVFRQQ29va2llU3RvcmFnZSBhbGxvY10gX2luaXRXaXRoSWRlbnRpZmllcjpu
aWwgcHJpdmF0ZTpZRVNdKTsKLSNpZiBIQVZFKE5TSFRUUENPT0tJRVNUT1JBR0VfX0lOSVRXSVRI
SURFTlRJRklFUl9XSVRIX0lOQUNDVVJBVEVfTlVMTEFCSUxJVFkpCi0gICAgICAgIElHTk9SRV9O
VUxMX0NIRUNLX1dBUk5JTkdTX0VORAotI2VuZGlmCiAgICAgICAgIHN0YXRlbGVzc0Nvb2tpZVN0
b3JhZ2UuZ2V0KCkuZ2V0KCkuY29va2llQWNjZXB0UG9saWN5ID0gTlNIVFRQQ29va2llQWNjZXB0
UG9saWN5TmV2ZXI7CiAgICAgfQogICAgIEFTU0VSVChzdGF0ZWxlc3NDb29raWVTdG9yYWdlLmdl
dCgpLmdldCgpLmNvb2tpZXMuY291bnQgPT0gMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0gYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KaW5kZXggNTRm
NTAxOTM4NTZmODkyYmJjNjFmYzQyZDBkMTU0MjQzZjRlYjgxOS4uOTg2OGU5ZTBhYzM2Nzc0YWJl
YzE5ZDVjNzJkMTc0MDg2NDg1YTY1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbQpAQCAtMTU5LDcgKzE1
OSw2IEBAIHN0YXRpYyBXZWJDb3JlOjpQcml2YWN5U3RhbmNlIHRvUHJpdmFjeVN0YW5jZShud19j
b25uZWN0aW9uX3ByaXZhY3lfc3RhbmNlX3Qgc3RhCiB9CiAjZW5kaWYKIAotI2lmIEhBVkUoQ0ZO
RVRXT1JLX05FR09USUFURURfU1NMX1BST1RPQ09MX0NJUEhFUikKICNpZiBIQVZFKENGTkVUV09S
S19NRVRSSUNTX0FQSVNfVjQpCiBzdGF0aWMgU3RyaW5nIHN0cmluZ0ZvclRMU1Byb3RvY29sVmVy
c2lvbih0bHNfcHJvdG9jb2xfdmVyc2lvbl90IHByb3RvY29sKQogewpAQCAtNDM5LDcgKzQzOCw2
IEBAIHN0YXRpYyBTdHJpbmcgc3RyaW5nRm9yU1NMQ2lwaGVyKFNTTENpcGhlclN1aXRlIGNpcGhl
cikKICN1bmRlZiBTVFJJTkdJRllfQ0lQSEVSCiB9CiAjZW5kaWYgLy8gSEFWRShDRk5FVFdPUktf
TUVUUklDU19BUElTX1Y0KQotI2VuZGlmIC8vIEhBVkUoQ0ZORVRXT1JLX05FR09USUFURURfU1NM
X1BST1RPQ09MX0NJUEhFUikKIAogQGludGVyZmFjZSBXS05ldHdvcmtTZXNzaW9uRGVsZWdhdGUg
OiBOU09iamVjdCA8TlNVUkxTZXNzaW9uRGF0YURlbGVnYXRlCiAjaWYgSEFWRShOU1VSTFNFU1NJ
T05fV0VCU09DS0VUKQpAQCAtNzI3LDE0ICs3MjUsMTMgQEAgLSAodm9pZClVUkxTZXNzaW9uOihO
U1VSTFNlc3Npb24gKilzZXNzaW9uIHRhc2s6KE5TVVJMU2Vzc2lvblRhc2sgKil0YXNrIGRpZFJl
Y2UKICAgICAgICAgaWYgKE5ldHdvcmtTZXNzaW9uQ29jb2E6OmFsbG93c1NwZWNpZmljSFRUUFND
ZXJ0aWZpY2F0ZUZvckhvc3QoY2hhbGxlbmdlKSkKICAgICAgICAgICAgIHJldHVybiBjb21wbGV0
aW9uSGFuZGxlcihOU1VSTFNlc3Npb25BdXRoQ2hhbGxlbmdlVXNlQ3JlZGVudGlhbCwgW05TVVJM
Q3JlZGVudGlhbCBjcmVkZW50aWFsRm9yVHJ1c3Q6Y2hhbGxlbmdlLnByb3RlY3Rpb25TcGFjZS5z
ZXJ2ZXJUcnVzdF0pOwogCi0jaWYgSEFWRShUTFNfUFJPVE9DT0xfVkVSU0lPTl9UKQogICAgICAg
ICBOU1VSTFNlc3Npb25UYXNrVHJhbnNhY3Rpb25NZXRyaWNzICptZXRyaWNzID0gdGFzay5faW5j
b21wbGV0ZVRhc2tNZXRyaWNzLnRyYW5zYWN0aW9uTWV0cmljcy5sYXN0T2JqZWN0OwogICAgICAg
ICBhdXRvIHRsc1ZlcnNpb24gPSAodGxzX3Byb3RvY29sX3ZlcnNpb25fdCltZXRyaWNzLm5lZ290
aWF0ZWRUTFNQcm90b2NvbFZlcnNpb24udW5zaWduZWRTaG9ydFZhbHVlOwogQUxMT1dfREVQUkVD
QVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KICAgICAgICAgaWYgKHRsc1ZlcnNpb24gPT0gdGxzX3By
b3RvY29sX3ZlcnNpb25fVExTdjEwIHx8IHRsc1ZlcnNpb24gPT0gdGxzX3Byb3RvY29sX3ZlcnNp
b25fVExTdjExKQogICAgICAgICAgICAgbmVnb3RpYXRlZExlZ2FjeVRMUyA9IE5lZ290aWF0ZWRM
ZWdhY3lUTFM6OlllczsKIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAotI2VuZGlm
CisKICAgICAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KICAgICAgICAg
aWYgKG5lZ290aWF0ZWRMZWdhY3lUTFMgPT0gTmVnb3RpYXRlZExlZ2FjeVRMUzo6Tm8gJiYgW3Rh
c2sgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihfVExTTmVnb3RpYXRlZFByb3RvY29sVmVy
c2lvbildKSB7CiAgICAgICAgICAgICBTU0xQcm90b2NvbCB0bHNWZXJzaW9uID0gW3Rhc2sgX1RM
U05lZ290aWF0ZWRQcm90b2NvbFZlcnNpb25dOwpAQCAtODUxLDEyICs4NDgsMTAgQEAgLSAodm9p
ZClVUkxTZXNzaW9uOihOU1VSTFNlc3Npb24gKilzZXNzaW9uIHRhc2s6KE5TVVJMU2Vzc2lvblRh
c2sgKil0YXNrIGRpZEZpbmkKICAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNzLm1hcmtDb21wbGV0
ZSgpOwogICAgICAgICBuZXR3b3JrTG9hZE1ldHJpY3MucmVkaXJlY3RDb3VudCA9IG1ldHJpY3Mu
cmVkaXJlY3RDb3VudDsKICAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNzLnByb3RvY29sID0gU3Ry
aW5nKG0ubmV0d29ya1Byb3RvY29sTmFtZSk7Ci0jaWYgSEFWRShDRk5FVFdPUktfTUVUUklDU19D
T05ORUNUSU9OX1BST1BFUlRJRVMpCiAgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcy5jZWxsdWxh
ciA9IG0uY2VsbHVsYXI7CiAgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcy5leHBlbnNpdmUgPSBt
LmV4cGVuc2l2ZTsKICAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNzLmNvbnN0cmFpbmVkID0gbS5j
b25zdHJhaW5lZDsKICAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNzLm11bHRpcGF0aCA9IG0ubXVs
dGlwYXRoOwotI2VuZGlmCiAgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcy5pc1JldXNlZENvbm5l
Y3Rpb24gPSBtLmlzUmV1c2VkQ29ubmVjdGlvbjsKIAogI2lmIEhBVkUoTkVUV09SS19DT05ORUNU
SU9OX1BSSVZBQ1lfU1RBTkNFKQpAQCAtODc5LDcgKzg3NCw2IEBAIC0gKHZvaWQpVVJMU2Vzc2lv
bjooTlNVUkxTZXNzaW9uICopc2Vzc2lvbiB0YXNrOihOU1VSTFNlc3Npb25UYXNrICopdGFzayBk
aWRGaW5pCiAjZW5kaWYKICAgICAgICAgICAgIGFkZGl0aW9uYWxNZXRyaWNzLT5jb25uZWN0aW9u
SWRlbnRpZmllciA9IFN0cmluZyhbbS5fY29ubmVjdGlvbklkZW50aWZpZXIgVVVJRFN0cmluZ10p
OwogCi0jaWYgSEFWRShDRk5FVFdPUktfTkVHT1RJQVRFRF9TU0xfUFJPVE9DT0xfQ0lQSEVSKQog
I2lmIEhBVkUoQ0ZORVRXT1JLX01FVFJJQ1NfQVBJU19WNCkKICAgICAgICAgICAgIGFkZGl0aW9u
YWxNZXRyaWNzLT50bHNQcm90b2NvbCA9IHN0cmluZ0ZvclRMU1Byb3RvY29sVmVyc2lvbigodGxz
X3Byb3RvY29sX3ZlcnNpb25fdClbbS5uZWdvdGlhdGVkVExTUHJvdG9jb2xWZXJzaW9uIHVuc2ln
bmVkU2hvcnRWYWx1ZV0pOwogICAgICAgICAgICAgYWRkaXRpb25hbE1ldHJpY3MtPnRsc0NpcGhl
ciA9IHN0cmluZ0ZvclRMU0NpcGhlclN1aXRlKCh0bHNfY2lwaGVyc3VpdGVfdClbbS5uZWdvdGlh
dGVkVExTQ2lwaGVyU3VpdGUgdW5zaWduZWRTaG9ydFZhbHVlXSk7CkBAIC04ODgsNyArODgyLDYg
QEAgLSAodm9pZClVUkxTZXNzaW9uOihOU1VSTFNlc3Npb24gKilzZXNzaW9uIHRhc2s6KE5TVVJM
U2Vzc2lvblRhc2sgKil0YXNrIGRpZEZpbmkKICAgICAgICAgICAgIGFkZGl0aW9uYWxNZXRyaWNz
LT50bHNQcm90b2NvbCA9IHN0cmluZ0ZvclNTTFByb3RvY29sKG0uX25lZ290aWF0ZWRUTFNQcm90
b2NvbCk7CiAgICAgICAgICAgICBhZGRpdGlvbmFsTWV0cmljcy0+dGxzQ2lwaGVyID0gc3RyaW5n
Rm9yU1NMQ2lwaGVyKG0uX25lZ290aWF0ZWRUTFNDaXBoZXIpOwogICAgICAgICAgICAgQUxMT1df
REVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECi0jZW5kaWYKICNlbmRpZgogCiAgICAgICAgICAg
ICBfX2Jsb2NrIFdlYkNvcmU6OkhUVFBIZWFkZXJNYXAgcmVxdWVzdEhlYWRlcnM7CkBAIC05NDIs
MjIgKzkzNSwxMyBAQCAtICh2b2lkKVVSTFNlc3Npb246KE5TVVJMU2Vzc2lvbiAqKXNlc3Npb24g
ZGF0YVRhc2s6KE5TVVJMU2Vzc2lvbkRhdGFUYXNrICopZGF0YQogCiAgICAgICAgIE5lZ290aWF0
ZWRMZWdhY3lUTFMgbmVnb3RpYXRlZExlZ2FjeVRMUyA9IE5lZ290aWF0ZWRMZWdhY3lUTFM6Ok5v
OwogICAgICAgICBOU1VSTFNlc3Npb25UYXNrTWV0cmljcyAqdGFza01ldHJpY3MgPSBkYXRhVGFz
ay5faW5jb21wbGV0ZVRhc2tNZXRyaWNzOwotI2lmIEhBVkUoVExTX1BST1RPQ09MX1ZFUlNJT05f
VCkKKwogICAgICAgICBOU1VSTFNlc3Npb25UYXNrVHJhbnNhY3Rpb25NZXRyaWNzICptZXRyaWNz
ID0gdGFza01ldHJpY3MudHJhbnNhY3Rpb25NZXRyaWNzLmxhc3RPYmplY3Q7CiAgICAgICAgIGF1
dG8gdGxzVmVyc2lvbiA9ICh0bHNfcHJvdG9jb2xfdmVyc2lvbl90KW1ldHJpY3MubmVnb3RpYXRl
ZFRMU1Byb3RvY29sVmVyc2lvbi51bnNpZ25lZFNob3J0VmFsdWU7CiBBTExPV19ERVBSRUNBVEVE
X0RFQ0xBUkFUSU9OU19CRUdJTgogICAgICAgICBpZiAodGxzVmVyc2lvbiA9PSB0bHNfcHJvdG9j
b2xfdmVyc2lvbl9UTFN2MTAgfHwgdGxzVmVyc2lvbiA9PSB0bHNfcHJvdG9jb2xfdmVyc2lvbl9U
TFN2MTEpCiAgICAgICAgICAgICBuZWdvdGlhdGVkTGVnYWN5VExTID0gTmVnb3RpYXRlZExlZ2Fj
eVRMUzo6WWVzOwogQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECi0jZWxzZSAvLyBX
ZSBkbyBub3QgbmVlZCB0byBjaGVjayBfVExTTmVnb3RpYXRlZFByb3RvY29sVmVyc2lvbiBpZiB3
ZSBoYXZlIG1ldHJpY3MubmVnb3RpYXRlZFRMU1Byb3RvY29sVmVyc2lvbiBiZWNhdXNlIGl0IHdv
cmtzIGF0IHJlc3BvbnNlIHRpbWUgZXZlbiBiZWZvcmUgcmRhcjovL3Byb2JsZW0vNTY1MjI2MDEK
LSAgICAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KLSAgICAgICAgaWYg
KFtkYXRhVGFzayByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9UTFNOZWdvdGlhdGVkUHJv
dG9jb2xWZXJzaW9uKV0pIHsKLSAgICAgICAgICAgIFNTTFByb3RvY29sIHRsc1ZlcnNpb24gPSBb
ZGF0YVRhc2sgX1RMU05lZ290aWF0ZWRQcm90b2NvbFZlcnNpb25dOwotICAgICAgICAgICAgaWYg
KHRsc1ZlcnNpb24gPT0ga1RMU1Byb3RvY29sMTEgfHwgdGxzVmVyc2lvbiA9PSBrVExTUHJvdG9j
b2wxKQotICAgICAgICAgICAgICAgIG5lZ290aWF0ZWRMZWdhY3lUTFMgPSBOZWdvdGlhdGVkTGVn
YWN5VExTOjpZZXM7Ci0gICAgICAgIH0KLSAgICAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJB
VElPTlNfRU5ECi0jZW5kaWYKICAgICAgICAgCiAgICAgICAgIC8vIEF2b2lkIE1JTUUgdHlwZSBz
bmlmZmluZyBpZiB0aGUgcmVzcG9uc2UgY29tZXMgYmFjayBhcyAzMDQgTm90IE1vZGlmaWVkLgog
ICAgICAgICBpbnQgc3RhdHVzQ29kZSA9IFtyZXNwb25zZSBpc0tpbmRPZkNsYXNzOk5TSFRUUFVS
TFJlc3BvbnNlLmNsYXNzXSA/IFsoTlNIVFRQVVJMUmVzcG9uc2UgKilyZXNwb25zZSBzdGF0dXND
b2RlXSA6IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL21hYy9j
b20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiLmluIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYi5pbgppbmRl
eCA1Yjg4ODVmZWQ0NGFjOGFiNTBmN2FkODczZDdlNzIzNGE5NzkzYWE4Li5hZDBhZWYxOTU3YzNj
NGYyYjcxYjZmYWVjY2UzMzk5YzNiYTIzNjQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNzLnNiLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuTmV0
d29ya1Byb2Nlc3Muc2IuaW4KQEAgLTM4LDcgKzM4LDcgQEAKIAogI2luY2x1ZGUgIlNoYXJlZC9T
YW5kYm94L3ByZWZlcmVuY2VzLnNiIgogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMDE1MDAKKyNpZiBQTEFURk9STShNQUMpCiA7OzsKIDs7OyBUaGUgZm9sbG93aW5n
IHJ1bGVzIHdlcmUgb3JpZ2luYWxseSBjb250YWluZWQgaW4gJ2NvbW1vbi5zYicuIFdlIGFyZSBk
dXBsaWNhdGluZyB0aGVtIGhlcmUgc28gd2UgY2FuCiA7OzsgcmVtb3ZlIHVubmVlZGVkIHNhbmRi
b3ggZXh0ZW5zaW9ucy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL21h
Yy9BcHBLaXRTUEkuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL21hYy9BcHBLaXRTUEku
aAppbmRleCBjYTFiYTZjZDY2YTlhZjEwNDM5NGI5ZGRkNzEyOGRmODJiMTAzZmZlLi5iMmIyYTY5
ODM4OTAzMDkyYzhmYjhkZmI2ODExM2IwMmY0NDk5NzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL3NwaS9tYWMvQXBwS2l0U1BJLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9zcGkvbWFjL0FwcEtpdFNQSS5oCkBAIC02MCwxMCArNjAsNyBAQCB0eXBlZGVmIE5TX09Q
VElPTlMoTlNVSW50ZWdlciwgTlNXaW5kb3dTaGFkb3dPcHRpb25zKSB7CiAtICh2b2lkKXNldElu
c3BlY3RvckJhcjooTlNJbnNwZWN0b3JCYXIgKiliYXI7CiAKIEBwcm9wZXJ0eSAocmVhZG9ubHkp
IE5TV2luZG93U2hhZG93T3B0aW9ucyBzaGFkb3dPcHRpb25zOwotCi0jaWYgX19NQUNfT1NfWF9W
RVJTSU9OX01BWF9BTExPV0VEID49IDEwMTQwMAogQHByb3BlcnR5IENHRmxvYXQgdGl0bGViYXJB
bHBoYVZhbHVlOwotI2VuZGlmCiAKICNpZiBIQVZFKE5TU0NST0xMVklFV19TRVBBUkFUT1JfVFJB
Q0tJTkdfQURBUFRFUikKIC0gKEJPT0wpcmVnaXN0ZXJTY3JvbGxWaWV3U2VwYXJhdG9yVHJhY2tp
bmdBZGFwdGVyOihOU09iamVjdDxOU1Njcm9sbFZpZXdTZXBhcmF0b3JUcmFja2luZ0FkYXB0ZXI+
ICopYWRhcHRlcjsKQEAgLTgyLDEyICs3OSw2IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRl
Z2VyLCBOU1dpbmRvd1NoYWRvd09wdGlvbnMpIHsKIC0gKHZvaWQpX3VwZGF0ZTsKIEBlbmQKIAot
I2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEwMTQwMAotQGludGVyZmFjZSBO
U1dpbmRvdyAoSVBJKQotQHByb3BlcnR5IENHRmxvYXQgdGl0bGViYXJBbHBoYVZhbHVlOwotQGVu
ZAotI2VuZGlmCi0KIC8vIEZJWE1FOiBNb3ZlIHRoaXMgYWJvdmUgb25jZSA8cmRhcjovL3Byb2Js
ZW0vNzAyMjQ5ODA+IGlzIGluIGFuIFNESy4KIEBpbnRlcmZhY2UgTlNDdXJzb3IgKCkKICsgKHZv
aWQpaGlkZVVudGlsQ2hhbmdlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGx1Z2luUHJv
Y2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5wbHVnaW4tY29tbW9uLnNiLmluIGIvU291cmNlL1dl
YktpdC9QbHVnaW5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LnBsdWdpbi1jb21tb24uc2Iu
aW4KaW5kZXggMTBkZGUyNzY2MDJmN2Q0NWNkNjU2NTk1ZmUxYjgwYTRhYzU5NjRhZS4uYzIwMTVl
YWYwNWY3MDJkODdkN2EwNWU0YzU3NTgyMmU5MGM3MWZmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9QbHVnaW5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LnBsdWdpbi1jb21tb24uc2Iu
aW4KKysrIGIvU291cmNlL1dlYktpdC9QbHVnaW5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0
LnBsdWdpbi1jb21tb24uc2IuaW4KQEAgLTE2OCw3ICsxNjgsNyBAQAogICAgICh4cGMtc2Vydmlj
ZS1uYW1lICJjb20uYXBwbGUuaGlzZXJ2aWNlcy14cGNzZXJ2aWNlIikKICkKIAotI2lmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwCisjaWYgUExBVEZPUk0oTUFDKQog
OzsgPHJkYXI6Ly9wcm9ibGVtLzQ3MjY4MTY2PgogKGFsbG93IG1hY2gtbG9va3VwICh4cGMtc2Vy
dmljZS1uYW1lICJjb20uYXBwbGUuTVRMQ29tcGlsZXJTZXJ2aWNlIikpCiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29y
ZGluYXRvclByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9jb2Nv
YS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCmluZGV4IDg5ZjE5YjE5OTM1NWZi
MDVlZjUzNGEzMzIyMTMwMDMzOWJhZTE1ZjguLmU1YTAxZDkxOWU3MWM1YTk2ZDkwMjA3NTI5MDJh
Y2JhZmQ4YzZhNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L2Nv
Y29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5t
bQpAQCAtMjg0LDExICsyODQsOSBAQCBSZXRhaW5QdHI8UEtQYXltZW50UmVxdWVzdD4gV2ViUGF5
bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtUGF5bWVudFJlcXVlc3QoYwogCiAgICAgW3Jl
c3VsdCBzZXRTdXBwb3J0ZWRDb3VudHJpZXM6dG9OU1NldChwYXltZW50UmVxdWVzdC5zdXBwb3J0
ZWRDb3VudHJpZXMoKSkuZ2V0KCldOwogCi0jaWYgSEFWRShQQVNTS0lUX0JPVU5EX0lOVEVSRkFD
RV9JREVOVElGSUVSKQogICAgIGF1dG8mIGJvdW5kSW50ZXJmYWNlSWRlbnRpZmllciA9IG1fY2xp
ZW50LnBheW1lbnRDb29yZGluYXRvckJvdW5kSW50ZXJmYWNlSWRlbnRpZmllcigqdGhpcyk7CiAg
ICAgaWYgKCFib3VuZEludGVyZmFjZUlkZW50aWZpZXIuaXNFbXB0eSgpKQogICAgICAgICBbcmVz
dWx0IHNldEJvdW5kSW50ZXJmYWNlSWRlbnRpZmllcjpib3VuZEludGVyZmFjZUlkZW50aWZpZXJd
OwotI2VuZGlmCiAKICAgICAvLyBGSVhNRTogSW5zdGVhZCBvZiB1c2luZyByZXNwb25kc1RvU2Vs
ZWN0b3IsIHRoaXMgc2hvdWxkIHVzZSBhIHByb3BlciAjaWYgdmVyc2lvbiBjaGVjay4KICAgICBh
dXRvJiBidW5kbGVJZGVudGlmaWVyID0gbV9jbGllbnQucGF5bWVudENvb3JkaW5hdG9yU291cmNl
QXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKCp0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLm1tCmluZGV4IGJhNDk5MDkxMmJiNDQw
MmM0NGI1NjBkMzQ1NWY5MTRhODgzMTRkNWEuLjIxMjUzOTkyNjRhYjFmYzBhMzZjNWMzNjA1NDE3
ZGJkMzYzM2M4ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FyZ3Vt
ZW50Q29kZXJzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1l
bnRDb2RlcnNDb2NvYS5tbQpAQCAtNjYsMTQgKzY2LDYgQEAgQGltcGxlbWVudGF0aW9uIFdLU2Vj
dXJlQ29kaW5nQXJjaGl2aW5nRGVsZWdhdGUKIAogLSAobnVsbGFibGUgaWQpYXJjaGl2ZXI6KE5T
S2V5ZWRBcmNoaXZlciAqKWFyY2hpdmVyIHdpbGxFbmNvZGVPYmplY3Q6KGlkKW9iamVjdAogewot
I2lmIEhBVkUoTlNGT05UX1dJVEhfT1BUSUNBTF9TSVpJTkdfQlVHKQotICAgIGlmIChhdXRvIGZv
bnQgPSBkeW5hbWljX29iamNfY2FzdDxOU0ZvbnQ+KG9iamVjdCkpIHsKLSAgICAgICAgLy8gUmVj
cmVhdGUgYW55IHNlcmlhbGl6ZWQgZm9udHMgYWZ0ZXIgbm9ybWFsaXppbmcgdGhlCi0gICAgICAg
IC8vIGZvbnQgYXR0cmlidXRlcyB0byB3b3JrIGFyb3VuZCA8cmRhcjovL3Byb2JsZW0vNTE2NTc4
ODA+LgotICAgICAgICByZXR1cm4gV2ViS2l0Ojpmb250V2l0aEF0dHJpYnV0ZXMoZm9udC5mb250
RGVzY3JpcHRvci5mb250QXR0cmlidXRlcywgMCk7Ci0gICAgfQotI2VuZGlmCi0KICAgICBpZiAo
YXV0byB1bndyYXBwZWRVUkwgPSBkeW5hbWljX29iamNfY2FzdDxOU1VSTD4ob2JqZWN0KSkKICAg
ICAgICAgcmV0dXJuIGFkb3B0TlMoW1tXS1NlY3VyZUNvZGluZ1VSTFdyYXBwZXIgYWxsb2NdIGlu
aXRXaXRoVVJMOnVud3JhcHBlZFVSTF0pLmF1dG9yZWxlYXNlKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvcmVUZXh0SGVscGVycy5tbSBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0NvY29hL0NvcmVUZXh0SGVscGVycy5tbQppbmRleCBjYWFhN2NiNjJjNTZmZjhm
NzU2MGRhOTZmMWFjYWRiZmRkYTExZDQyLi5hMjUxMGM2NDM1MDRkODM5NTVkZjk0MmVmNDc3NDcz
NTFjOWVmYmM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db3JlVGV4
dEhlbHBlcnMubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZVRleHRIZWxw
ZXJzLm1tCkBAIC0zNSwyMSArMzUsNyBAQCBDb2NvYUZvbnQgKmZvbnRXaXRoQXR0cmlidXRlcyhO
U0RpY3Rpb25hcnkgKmF0dHJpYnV0ZXMsIENHRmxvYXQgc2l6ZSkKIHsKICAgICBCRUdJTl9CTE9D
S19PQkpDX0VYQ0VQVElPTlMKIAotI2lmIEhBVkUoTlNGT05UX1dJVEhfT1BUSUNBTF9TSVpJTkdf
QlVHKQotICAgIGF1dG8gbXV0YWJsZURpY3Rpb25hcnkgPSBhZG9wdE5TKFthdHRyaWJ1dGVzIG11
dGFibGVDb3B5XSk7Ci0gICAgaWYgKGlkIG9wdGljYWxTaXplQXR0cmlidXRlID0gW211dGFibGVE
aWN0aW9uYXJ5IG9iamVjdEZvcktleTooX19icmlkZ2UgTlNTdHJpbmcgKilrQ1RGb250T3B0aWNh
bFNpemVBdHRyaWJ1dGVdKSB7Ci0gICAgICAgIGlmIChbb3B0aWNhbFNpemVBdHRyaWJ1dGUgaXNL
aW5kT2ZDbGFzczpbTlNTdHJpbmcgY2xhc3NdXSkgewotICAgICAgICAgICAgW211dGFibGVEaWN0
aW9uYXJ5IHJlbW92ZU9iamVjdEZvcktleTooX19icmlkZ2UgTlNTdHJpbmcgKilrQ1RGb250T3B0
aWNhbFNpemVBdHRyaWJ1dGVdOwotICAgICAgICAgICAgaWYgKE5TTnVtYmVyICpzaXplID0gW211
dGFibGVEaWN0aW9uYXJ5IG9iamVjdEZvcktleTooX19icmlkZ2UgTlNTdHJpbmcgKilrQ1RGb250
U2l6ZUF0dHJpYnV0ZV0pCi0gICAgICAgICAgICAgICAgW211dGFibGVEaWN0aW9uYXJ5IHNldE9i
amVjdDpzaXplIGZvcktleTooX19icmlkZ2UgTlNTdHJpbmcgKilrQ1RGb250T3B0aWNhbFNpemVB
dHRyaWJ1dGVdOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgYXV0byBkZXNjcmlwdG9yID0gW0Nv
Y29hRm9udERlc2NyaXB0b3IgZm9udERlc2NyaXB0b3JXaXRoRm9udEF0dHJpYnV0ZXM6bXV0YWJs
ZURpY3Rpb25hcnkuZ2V0KCldOwotI2Vsc2UKICAgICBhdXRvIGRlc2NyaXB0b3IgPSBbQ29jb2FG
b250RGVzY3JpcHRvciBmb250RGVzY3JpcHRvcldpdGhGb250QXR0cmlidXRlczphdHRyaWJ1dGVz
XTsKLSNlbmRpZgotCiAgICAgcmV0dXJuIFtDb2NvYUZvbnQgZm9udFdpdGhEZXNjcmlwdG9yOmRl
c2NyaXB0b3Igc2l6ZTpzaXplXTsKIAogICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCmluZGV4IGMwZDY5MDQ1ZjhiNjc0
NmRmMTBlNzFmOWI0MzViOGI5MjZmNjk5MWYuLjcwMWYxYTI5MDg4ZDg0MjAxNjBjNzNlMGNkOWVm
ZDMyZGNjNmYyM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcApA
QCAtMTE1MSw3ICsxMTUxLDYgQEAgdm9pZCBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KFdLUGFn
ZVJlZiBwYWdlUmVmLCBjb25zdCBXS1BhZ2VMb2FkZXJDbGllbnRCYXNlKgogICAgICAgICB7CiAg
ICAgICAgICAgICBpbml0aWFsaXplKGNsaWVudCk7CiAgICAgICAgICAgICAKLSNpZiAhUExBVEZP
Uk0oTUFDKSB8fCBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID4gMTAxNDAwCiAgICAg
ICAgICAgICAvLyBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50IGlzIGRlcHJlY2F0ZWQuIFVzZSBX
S1BhZ2VTZXRQYWdlTmF2aWdhdGlvbkNsaWVudCBpbnN0ZWFkLgogICAgICAgICAgICAgUkVMRUFT
RV9BU1NFUlQoIW1fY2xpZW50LmRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lKTsKICAgICAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKCFtX2NsaWVudC5kaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9u
Rm9yRnJhbWUpOwpAQCAtMTE4NCw3ICsxMTgzLDYgQEAgdm9pZCBXS1BhZ2VTZXRQYWdlTG9hZGVy
Q2xpZW50KFdLUGFnZVJlZiBwYWdlUmVmLCBjb25zdCBXS1BhZ2VMb2FkZXJDbGllbnRCYXNlKgog
ICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIW1fY2xpZW50Lm5hdmlnYXRpb25HZXN0dXJlRGlk
QmVnaW4pOwogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIW1fY2xpZW50Lm5hdmlnYXRpb25H
ZXN0dXJlV2lsbEVuZCk7CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCghbV9jbGllbnQubmF2
aWdhdGlvbkdlc3R1cmVEaWRFbmQpOwotI2VuZGlmCiAgICAgICAgIH0KIAogICAgIHByaXZhdGU6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2ViQXV0
aGVudGljYXRpb25QYW5lbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCmluZGV4IDI2ZGQ1NjI2MTQyYjI4NTM4YmMxNDc2
N2Y3YTUyZGUxYTY2OWE2NmEuLjI2ZTljZDVhMjQxYjIwNzNhYjYxYjYxNmYzNGIxZDM0ZTE5ODhm
M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJB
dXRoZW50aWNhdGlvblBhbmVsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCkBAIC0yMDcsMTEgKzIwNyw3IEBAIHN0
YXRpYyBSZXRhaW5QdHI8TlNBcnJheT4gZ2V0QWxsTG9jYWxBdXRoZW50aWNhdG9yQ3JlZGVudGlh
bHNJbXBsKE5TU3RyaW5nICphY2NlCiAgICAgICAgIChfX2JyaWRnZSBpZClrU2VjQXR0ckFjY2Vz
c0dyb3VwOiBhY2Nlc3NHcm91cCwKICAgICAgICAgKF9fYnJpZGdlIGlkKWtTZWNSZXR1cm5BdHRy
aWJ1dGVzOiBAWUVTLAogICAgICAgICAoX19icmlkZ2UgaWQpa1NlY01hdGNoTGltaXQ6IChfX2Jy
aWRnZSBpZClrU2VjTWF0Y2hMaW1pdEFsbCwKLSNpZiBIQVZFKERBVEFfUFJPVEVDVElPTl9LRVlD
SEFJTikKICAgICAgICAgKF9fYnJpZGdlIGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktleWNoYWlu
OiBAWUVTCi0jZWxzZQotICAgICAgICAoX19icmlkZ2UgaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlF
UwotI2VuZGlmCiAgICAgfTsKICAgICBDRlR5cGVSZWYgYXR0cmlidXRlc0FycmF5UmVmID0gbnVs
bHB0cjsKICAgICBPU1N0YXR1cyBzdGF0dXMgPSBTZWNJdGVtQ29weU1hdGNoaW5nKChfX2JyaWRn
ZSBDRkRpY3Rpb25hcnlSZWYpcXVlcnksICZhdHRyaWJ1dGVzQXJyYXlSZWYpOwpAQCAtMjcwLDEx
ICsyNjYsNyBAQCArICh2b2lkKWRlbGV0ZUxvY2FsQXV0aGVudGljYXRvckNyZWRlbnRpYWxXaXRo
SUQ6KE5TRGF0YSAqKWNyZWRlbnRpYWxJRAogICAgIE5TRGljdGlvbmFyeSogZGVsZXRlUXVlcnkg
PSBAewogICAgICAgICAoX19icmlkZ2UgaWQpa1NlY0NsYXNzOiAoX19icmlkZ2UgaWQpa1NlY0Ns
YXNzS2V5LAogICAgICAgICAoX19icmlkZ2UgaWQpa1NlY0F0dHJBcHBsaWNhdGlvbkxhYmVsOiBj
cmVkZW50aWFsSUQsCi0jaWYgSEFWRShEQVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4pCiAgICAgICAg
IChfX2JyaWRnZSBpZClrU2VjVXNlRGF0YVByb3RlY3Rpb25LZXljaGFpbjogQFlFUwotI2Vsc2UK
LSAgICAgICAgKF9fYnJpZGdlIGlkKWtTZWNBdHRyTm9MZWdhY3k6IEBZRVMKLSNlbmRpZgogICAg
IH07CiAgICAgU2VjSXRlbURlbGV0ZSgoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKWRlbGV0ZVF1
ZXJ5KTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViUGFnZVByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
YWdlUHJveHlDb2NvYS5tbQppbmRleCAyYWI1MGRkNzZmZDNhZTNjZjMxZjZmODJlYmRmNWI3YTI3
MWJlZGM1Li5jNzI3YzIwZGFjNjY0ZDhkNTA1Njc1YWI2ZmZiNTI1ZTM1ZjVlMmIxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpA
QCAtNjM0LDExICs2MzQsNyBAQCBWZWN0b3I8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiBXZWJQ
YWdlUHJveHk6OmNyZWF0ZU5ldHdvcmtFeHRlbnNpb25zU2FuZGJveEV4dAogICAgIGlmICghcHJv
Y2Vzcy5oYXNOZXR3b3JrRXh0ZW5zaW9uU2FuZGJveEFjY2VzcygpICYmIE5ldHdvcmtFeHRlbnNp
b25Db250ZW50RmlsdGVyOjppc1JlcXVpcmVkKCkpIHsKICAgICAgICAgcHJvY2Vzcy5tYXJrSGFz
TmV0d29ya0V4dGVuc2lvblNhbmRib3hBY2Nlc3MoKTsKICAgICAgICAgY29uc3RleHByIEFTQ0lJ
TGl0ZXJhbCBuZUhlbHBlclNlcnZpY2UgeyAiY29tLmFwcGxlLm5laGVscGVyIl9zIH07Ci0jaWYg
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAw
Ci0gICAgICAgIGNvbnN0ZXhwciBBU0NJSUxpdGVyYWwgbmVTZXNzaW9uTWFuYWdlclNlcnZpY2Ug
eyAiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIiX3MgfTsKLSNlbHNlCiAgICAgICAgIGNvbnN0
ZXhwciBBU0NJSUxpdGVyYWwgbmVTZXNzaW9uTWFuYWdlclNlcnZpY2UgeyAiY29tLmFwcGxlLm5l
c2Vzc2lvbm1hbmFnZXIuY29udGVudC1maWx0ZXIiX3MgfTsKLSNlbmRpZgogICAgICAgICByZXR1
cm4gU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlc0Zvck1hY2hMb29rdXAoeyBuZUhlbHBl
clNlcnZpY2UsIG5lU2Vzc2lvbk1hbmFnZXJTZXJ2aWNlIH0sIHN0ZDo6bnVsbG9wdCk7CiAgICAg
fQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50
aWNhdGlvbi9Db2NvYS9Mb2NhbEF1dGhlbnRpY2F0b3IubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9Mb2NhbEF1dGhlbnRpY2F0b3IubW0KaW5kZXgg
Y2MxZGIxYWNkMzE1YjlhMjhjNmI1NzYxMDAyNWU0YjM1YjBlZTdiMi4uZWQyZGVmODlhODk4MmE2
ZWNhYWUzZmEwYTc1MzE4OTg2NWVhNjcwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29jb2EvTG9jYWxBdXRoZW50aWNhdG9yLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0xvY2FsQXV0
aGVudGljYXRvci5tbQpAQCAtMTI3LDExICsxMjcsNyBAQCBzdGF0aWMgc3RkOjpvcHRpb25hbDxW
ZWN0b3I8UmVmPEF1dGhlbnRpY2F0b3JBc3NlcnRpb25SZXNwb25zZT4+PiBnZXRFeGlzdGluZ0Ny
ZQogICAgICAgICAoaWQpa1NlY0F0dHJMYWJlbDogcnBJZCwKICAgICAgICAgKGlkKWtTZWNSZXR1
cm5BdHRyaWJ1dGVzOiBAWUVTLAogICAgICAgICAoaWQpa1NlY01hdGNoTGltaXQ6IChpZClrU2Vj
TWF0Y2hMaW1pdEFsbCwKLSNpZiBIQVZFKERBVEFfUFJPVEVDVElPTl9LRVlDSEFJTikKICAgICAg
ICAgKGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktleWNoYWluOiBAWUVTCi0jZWxzZQotICAgICAg
ICAoaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwotI2VuZGlmCiAgICAgfV07CiAgICAgdXBkYXRl
UXVlcnlJZk5lY2Vzc2FyeShxdWVyeS5nZXQoKSk7CiAKQEAgLTE4MiwxMSArMTc4LDcgQEAgdm9p
ZCBMb2NhbEF1dGhlbnRpY2F0b3I6OmNsZWFyQWxsQ3JlZGVudGlhbHMoKQogICAgIFtxdWVyeSBz
ZXREaWN0aW9uYXJ5OkB7CiAgICAgICAgIChpZClrU2VjQ2xhc3M6IChpZClrU2VjQ2xhc3NLZXks
CiAgICAgICAgIChpZClrU2VjQXR0ckFjY2Vzc0dyb3VwOiAoaWQpU3RyaW5nKExvY2FsQXV0aGVu
dGljYXRpb3JBY2Nlc3NHcm91cCksCi0jaWYgSEFWRShEQVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4p
CiAgICAgICAgIChpZClrU2VjVXNlRGF0YVByb3RlY3Rpb25LZXljaGFpbjogQFlFUwotI2Vsc2UK
LSAgICAgICAgKGlkKWtTZWNBdHRyTm9MZWdhY3k6IEBZRVMKLSNlbmRpZgogICAgIH1dOwogICAg
IHVwZGF0ZVF1ZXJ5SWZOZWNlc3NhcnkocXVlcnkuZ2V0KCkpOwogCkBAIC0zOTQsMTEgKzM4Niw3
IEBAIHZvaWQgTG9jYWxBdXRoZW50aWNhdG9yOjpjb250aW51ZU1ha2VDcmVkZW50aWFsQWZ0ZXJV
c2VyVmVyaWZpY2F0aW9uKFNlY0FjY2Vzc0NvCiAgICAgICAgICAgICAoaWQpa1NlY0F0dHJLZXlD
bGFzczogKGlkKWtTZWNBdHRyS2V5Q2xhc3NQcml2YXRlLAogICAgICAgICAgICAgKGlkKWtTZWNB
dHRyTGFiZWw6IHNlY0F0dHJMYWJlbCwKICAgICAgICAgICAgIChpZClrU2VjQXR0ckFwcGxpY2F0
aW9uTGFiZWw6IG1fcHJvdmlzaW9uYWxDcmVkZW50aWFsSWQuZ2V0KCksCi0jaWYgSEFWRShEQVRB
X1BST1RFQ1RJT05fS0VZQ0hBSU4pCiAgICAgICAgICAgICAoaWQpa1NlY1VzZURhdGFQcm90ZWN0
aW9uS2V5Y2hhaW46IEBZRVMKLSNlbHNlCi0gICAgICAgICAgICAoaWQpa1NlY0F0dHJOb0xlZ2Fj
eTogQFlFUwotI2VuZGlmCiAgICAgICAgIH1dOwogICAgICAgICB1cGRhdGVRdWVyeUlmTmVjZXNz
YXJ5KHF1ZXJ5LmdldCgpKTsKIApAQCAtNTk5LDExICs1ODcsNyBAQCB2b2lkIExvY2FsQXV0aGVu
dGljYXRvcjo6Y29udGludWVHZXRBc3NlcnRpb25BZnRlclVzZXJWZXJpZmljYXRpb24oUmVmPFdl
YkNvcmU6OgogICAgICAgICAgICAgKGlkKWtTZWNBdHRyS2V5Q2xhc3M6IChpZClrU2VjQXR0cktl
eUNsYXNzUHJpdmF0ZSwKICAgICAgICAgICAgIChpZClrU2VjQXR0ckFwcGxpY2F0aW9uTGFiZWw6
IG5zQ3JlZGVudGlhbElkLmdldCgpLAogICAgICAgICAgICAgKGlkKWtTZWNSZXR1cm5SZWY6IEBZ
RVMsCi0jaWYgSEFWRShEQVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4pCiAgICAgICAgICAgICAoaWQp
a1NlY1VzZURhdGFQcm90ZWN0aW9uS2V5Y2hhaW46IEBZRVMKLSNlbHNlCi0gICAgICAgICAgICAo
aWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwotI2VuZGlmCiAgICAgICAgIH0gbXV0YWJsZUNvcHld
OwogCiAgICAgICAgIGlmIChjb250ZXh0KQpAQCAtNjQwLDExICs2MjQsNyBAQCB2b2lkIExvY2Fs
QXV0aGVudGljYXRvcjo6Y29udGludWVHZXRBc3NlcnRpb25BZnRlclVzZXJWZXJpZmljYXRpb24o
UmVmPFdlYkNvcmU6OgogICAgICAgICAoaWQpa1NlY0NsYXNzOiAoaWQpa1NlY0NsYXNzS2V5LAog
ICAgICAgICAoaWQpa1NlY0F0dHJLZXlDbGFzczogKGlkKWtTZWNBdHRyS2V5Q2xhc3NQcml2YXRl
LAogICAgICAgICAoaWQpa1NlY0F0dHJBcHBsaWNhdGlvbkxhYmVsOiBuc0NyZWRlbnRpYWxJZC5n
ZXQoKSwKLSNpZiBIQVZFKERBVEFfUFJPVEVDVElPTl9LRVlDSEFJTikKICAgICAgICAgKGlkKWtT
ZWNVc2VEYXRhUHJvdGVjdGlvbktleWNoYWluOiBAWUVTCi0jZWxzZQotICAgICAgICAoaWQpa1Nl
Y0F0dHJOb0xlZ2FjeTogQFlFUwotI2VuZGlmCiAgICAgfV07CiAgICAgdXBkYXRlUXVlcnlJZk5l
Y2Vzc2FyeShxdWVyeS5nZXQoKSk7CiAKQEAgLTY3MSwxMSArNjUxLDcgQEAgdm9pZCBMb2NhbEF1
dGhlbnRpY2F0b3I6OnJlY2VpdmVFeGNlcHRpb24oRXhjZXB0aW9uRGF0YSYmIGV4Y2VwdGlvbiwg
V2ViQXV0aGVudGkKICAgICAgICAgW3F1ZXJ5IHNldERpY3Rpb25hcnk6QHsKICAgICAgICAgICAg
IChpZClrU2VjQ2xhc3M6IChpZClrU2VjQ2xhc3NLZXksCiAgICAgICAgICAgICAoaWQpa1NlY0F0
dHJBcHBsaWNhdGlvbkxhYmVsOiBtX3Byb3Zpc2lvbmFsQ3JlZGVudGlhbElkLmdldCgpLAotI2lm
IEhBVkUoREFUQV9QUk9URUNUSU9OX0tFWUNIQUlOKQogICAgICAgICAgICAgKGlkKWtTZWNVc2VE
YXRhUHJvdGVjdGlvbktleWNoYWluOiBAWUVTCi0jZWxzZQotICAgICAgICAgICAgKGlkKWtTZWNB
dHRyTm9MZWdhY3k6IEBZRVMKLSNlbmRpZgogICAgICAgICB9XTsKICAgICAgICAgdXBkYXRlUXVl
cnlJZk5lY2Vzc2FyeShxdWVyeS5nZXQoKSk7CiAKQEAgLTcwOCwxMSArNjg0LDcgQEAgdm9pZCBM
b2NhbEF1dGhlbnRpY2F0b3I6OmRlbGV0ZUR1cGxpY2F0ZUNyZWRlbnRpYWwoKSBjb25zdAogICAg
ICAgICBbcXVlcnkgc2V0RGljdGlvbmFyeTpAewogICAgICAgICAgICAgKGlkKWtTZWNDbGFzczog
KGlkKWtTZWNDbGFzc0tleSwKICAgICAgICAgICAgIChpZClrU2VjQXR0ckFwcGxpY2F0aW9uTGFi
ZWw6IHRvTlNEYXRhKGNyZWRlbnRpYWwtPnJhd0lkKCkpLmdldCgpLAotI2lmIEhBVkUoREFUQV9Q
Uk9URUNUSU9OX0tFWUNIQUlOKQogICAgICAgICAgICAgKGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlv
bktleWNoYWluOiBAWUVTCi0jZWxzZQotICAgICAgICAgICAgKGlkKWtTZWNBdHRyTm9MZWdhY3k6
IEBZRVMKLSNlbmRpZgogICAgICAgICB9XTsKICAgICAgICAgdXBkYXRlUXVlcnlJZk5lY2Vzc2Fy
eShxdWVyeS5nZXQoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YkF1dGhlbnRpY2F0aW9uL01vY2svTW9ja0xvY2FsQ29ubmVjdGlvbi5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL01vY2svTW9ja0xvY2FsQ29ubmVjdGlvbi5t
bQppbmRleCA0OGIyYmFkOWM5NDA0NGEyZjFjY2U4M2ZkZGRkOTI3ZWM2MTIyZDg4Li44NGU2YWY1
NWJkMGJiYjVhNGM0YTNmNmNhODgwOTcyZGQ3M2QwMzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Nb2NrL01vY2tMb2NhbENvbm5lY3Rpb24u
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vTW9jay9N
b2NrTG9jYWxDb25uZWN0aW9uLm1tCkBAIC0xMjEsMTEgKzEyMSw3IEBAIFJldGFpblB0cjxTZWNL
ZXlSZWY+IE1vY2tMb2NhbENvbm5lY3Rpb246OmNyZWF0ZUNyZWRlbnRpYWxQcml2YXRlS2V5KExB
Q29udGV4dCAqCiAgICAgICAgIChpZClrU2VjQXR0ckxhYmVsOiBzZWNBdHRyTGFiZWwsCiAgICAg
ICAgIChpZClrU2VjQXR0ckFwcGxpY2F0aW9uVGFnOiBzZWNBdHRyQXBwbGljYXRpb25UYWcsCiAg
ICAgICAgIChpZClrU2VjQXR0ckFjY2Vzc2libGU6IChpZClrU2VjQXR0ckFjY2Vzc2libGVBZnRl
ckZpcnN0VW5sb2NrLAotI2lmIEhBVkUoREFUQV9QUk9URUNUSU9OX0tFWUNIQUlOKQogICAgICAg
ICAoaWQpa1NlY1VzZURhdGFQcm90ZWN0aW9uS2V5Y2hhaW46IEBZRVMKLSNlbHNlCi0gICAgICAg
IChpZClrU2VjQXR0ck5vTGVnYWN5OiBAWUVTCi0jZW5kaWYKICAgICB9OwogICAgIE9TU3RhdHVz
IHN0YXR1cyA9IFNlY0l0ZW1BZGQoKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilhZGRRdWVyeSwg
TlVMTCk7CiAgICAgaWYgKHN0YXR1cykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJB
dXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluIGIv
U291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuV2ViQXV0
aG5Qcm9jZXNzLnNiLmluCmluZGV4IDhjZjhhN2IyYzMwZTYzMWQ3ZjM3ZTk4NWIzYTBjNjc2MWMy
NGNlMTguLmI0NWVmMzEyZTZhMDMyYWVmNTMyYzlkOWIwYmY5NGQ5YWUzMWRlNDEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0Lldl
YkF1dGhuUHJvY2Vzcy5zYi5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9t
YWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW4KQEAgLTMyMCw3ICszMjAs
NyBAQAogKGFsbG93IG1hY2gtbG9va3VwIChleHRlbnNpb24gImNvbS5hcHBsZS5hcHAtc2FuZGJv
eC5tYWNoIikpIDs7IEZJWE1FOiBTaG91bGQgYmUgcmVtb3ZlZCB3aGVuIDxyZGFyOi8vcHJvYmxl
bS8xMzA2NjIwNj4gaXMgZml4ZWQuCiAKIChhbGxvdyBtYWNoLWxvb2t1cAotI2lmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCisjaWYgUExBVEZPUk0oTUFDKQogICAg
ICh3aXRoIHJlcG9ydCkgKHdpdGggdGVsZW1ldHJ5KQogI2VuZGlmCiAgICAgKGdsb2JhbC1uYW1l
ICJjb20uYXBwbGUuYXVkaW8uQXVkaW9Db21wb25lbnRSZWdpc3RyYXIiKQpAQCAtMzM3LDkgKzMz
Nyw2IEBACiAKIDs7IFZhcmlvdXMgc2VydmljZXMgcmVxdWlyZWQgYnkgQXBwS2l0IGFuZCBvdGhl
ciBmcmFtZXdvcmtzCiAoYWxsb3cgbWFjaC1sb29rdXAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEIDwgMTAxNDAwCi0gICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuRm9u
dE9iamVjdHNTZXJ2ZXIiKQotI2VuZGlmCiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUu
UG93ZXJNYW5hZ2VtZW50LmNvbnRyb2wiKQogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxl
LlN5c3RlbUNvbmZpZ3VyYXRpb24uY29uZmlnZCIpCiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20u
YXBwbGUuYW5hbHl0aWNzZCIpCkBAIC0zNjIsMTggKzM1OSwxNCBAQAogICAgICAgIChnbG9iYWwt
bmFtZSAiY29tLmFwcGxlLkNBUmVuZGVyU2VydmVyIikgOyBOZWVkZWQgZm9yIFtDQUNvbnRleHQg
cmVtb3RlQ29udGV4dFdpdGhPcHRpb25zXQogKQogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDE0MDAgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiA7OyA8cmRhcjov
L3Byb2JsZW0vNDcyNjgxNjY+CiAoYWxsb3cgbWFjaC1sb29rdXAgKHhwYy1zZXJ2aWNlLW5hbWUg
ImNvbS5hcHBsZS5NVExDb21waWxlclNlcnZpY2UiKSkKLSNlbmRpZgogCi0jaWYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1Qp
CiAoZGVueSBtYWNoLWxvb2t1cCAod2l0aCBuby1sb2cpCiAgICAgKGdsb2JhbC1uYW1lICJjb20u
YXBwbGUuQ29yZVNlcnZpY2VzLmNvcmVzZXJ2aWNlc2QiKQogICAgIChnbG9iYWwtbmFtZSAiY29t
LmFwcGxlLkRpc2tBcmJpdHJhdGlvbi5kaXNrYXJiaXRyYXRpb25kIikKICAgICAoZ2xvYmFsLW5h
bWUgImNvbS5hcHBsZS5WaWV3QnJpZGdlQXV4aWxpYXJ5IikKICAgICAoZ2xvYmFsLW5hbWUgImNv
bS5hcHBsZS53aW5kb3dzZXJ2ZXIuYWN0aXZlIikpCi0jZW5kaWYKIAogOzsgTmVlZGVkIHRvIHN1
cHBvcnQgZW5jcnlwdGVkIG1lZGlhIHBsYXliYWNrIDxyZGFyOi8vcHJvYmxlbS80MDAzODQ3OD4K
IChhbGxvdyBtYWNoLWxvb2t1cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUuY3BwCmluZGV4IGYxNGI2Mzcx
NDYxZWZmOTdhNzNhZTQwZDE5NTkwYzNmMDE1N2RiZjEuLjEyMzBkYTdjNTQzZDgxMzE4OTAxNjYw
OGMxNWNlZjE3MjE1N2ZlZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKQEAgLTI2LDcgKzI2
LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJNZWRpYVJlY29yZGVyUHJpdmF0
ZS5oIgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5B
QkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjaWYgUExB
VEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKIAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJHUFVQcm9jZXNzQ29u
bmVjdGlvbi5oIgpAQCAtMjAwLDQgKzIwMCw0IEBAIGNvbnN0IFN0cmluZyYgTWVkaWFSZWNvcmRl
clByaXZhdGU6Om1pbWVUeXBlKCkgY29uc3QKIAogfQogCi0jZW5kaWYgLy8gUExBVEZPUk0oQ09D
T0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFW
RShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpICYmIEVO
QUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0
ZS5oCmluZGV4IGJkZDU0OTcxY2RiZWI4MGExNTIzMzUwMWY0NmFjNTRiMmMxN2I2ZTYuLjUwOGM2
YTJmMDFhMWU1N2U0Y2I5YzJkZmQxYzYyOWJhZWYwMjgyYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUu
aApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIFBMQVRGT1JNKENPQ09B
KSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIEhBVkUo
QVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BV
X1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRlICJNZWRpYVJlY29y
ZGVySWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlNoYXJlZFJpbmdCdWZmZXJTdG9yYWdlLmgiCkBA
IC04Niw0ICs4Niw0IEBAIHByaXZhdGU6CiAKIH0KIAotI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09B
KSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIEhBVkUo
QVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFC
TEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5tbSBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRl
Lm1tCmluZGV4IDY1NTRhMDIwMDAwMTU1NzFlNGEwNjI3NDkwNGNiNTNkZDYxZmZlYzMuLjg2Nzlh
NWI0ZjYwNDFlYWI0MjIwZTZjNDQ4YWVhNGUxODQ3MWIxZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRl
Lm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTWVk
aWFSZWNvcmRlclByaXZhdGUuaCIKIAotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BV
X1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRF
TEVHQVRFKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVO
QUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRlIDxXZWJDb3JlL0NvcmVWaWRlb1NvZnRMaW5r
Lmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01l
ZGlhUmVjb3JkZXJQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dl
YnJ0Yy9NZWRpYVJlY29yZGVyUHJvdmlkZXIuY3BwCmluZGV4IDAxYzU5OWMxMjgwMzEwMGY1MTAx
MDI3YTA5YWE5MjJkMTcwMzAwYjkuLjVjNGU4OWMwODE5NmFiMGJjM2ViNjk5YWQ2OWJjOWE4NGNm
MDg2MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01l
ZGlhUmVjb3JkZXJQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS93ZWJydGMvTWVkaWFSZWNvcmRlclByb3ZpZGVyLmNwcApAQCAtMzksNyArMzksNyBAQCB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6Ok1lZGlhUmVj
b3JkZXJQcml2YXRlPiBNZWRpYVJlY29yZGVyUHJvdmlkZXI6OmNyZWF0ZU1lZGlhUmVjb3JkZXJQ
cml2YXRlKE1lZGlhU3RyZWFtUHJpdmF0ZSYgc3RyZWFtLCBjb25zdCBNZWRpYVJlY29yZGVyUHJp
dmF0ZU9wdGlvbnMmIG9wdGlvbnMpCiB7Ci0jaWYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBIQVZF
KEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBFTkFCTEUoR1BVX1BST0NFU1MpCiAgICAgYXV0
byogcGFnZSA9IG1fd2ViUGFnZS5jb3JlUGFnZSgpOwogICAgIGlmIChwYWdlICYmIHBhZ2UtPnNl
dHRpbmdzKCkud2ViUlRDUGxhdGZvcm1Db2RlY3NJbkdQVVByb2Nlc3NFbmFibGVkKCkpCiAgICAg
ICAgIHJldHVybiBtYWtlVW5pcXVlPE1lZGlhUmVjb3JkZXJQcml2YXRlPihzdHJlYW0sIG9wdGlv
bnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVk
aWFSZWNvcmRlclByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0
Yy9NZWRpYVJlY29yZGVyUHJvdmlkZXIuaAppbmRleCA3MTkxYjkyYzVmZDg1NzAzM2RlNTc3ODdj
ZWQyNzY2NGZhZWQ1YTQ5Li41OGU0MDgyMDM2YzM1ZGYxZjBiNjQ4NzA0MDcwYTFiNzE4ZjVmNjU5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJl
Y29yZGVyUHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0
Yy9NZWRpYVJlY29yZGVyUHJvdmlkZXIuaApAQCAtNDAsMTMgKzQwLDEzIEBAIHByaXZhdGU6CiAg
ICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlPiBjcmVhdGVN
ZWRpYVJlY29yZGVyUHJpdmF0ZShXZWJDb3JlOjpNZWRpYVN0cmVhbVByaXZhdGUmLCBjb25zdCBX
ZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJpdmF0ZU9wdGlvbnMmKSBmaW5hbDsKICNlbmRpZgogCi0j
aWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVf
UFJPQ0VTUykgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjaWYgRU5BQkxFKE1FRElB
X1NUUkVBTSkgJiYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykKICAgICBX
ZWJQYWdlJiBtX3dlYlBhZ2U7CiAjZW5kaWYKIH07CiAKIGlubGluZSBNZWRpYVJlY29yZGVyUHJv
dmlkZXI6Ok1lZGlhUmVjb3JkZXJQcm92aWRlcihXZWJQYWdlJiB3ZWJQYWdlKQotI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pICYmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1Mp
ICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0p
ICYmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpCiAgICAgOiBtX3dlYlBh
Z2Uod2ViUGFnZSkKICNlbmRpZgogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVudC5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdl
TG9hZGVyQ2xpZW50LmNwcAppbmRleCA1MTBkMmRhNzk4Y2RhMjUwOTkzYWI1MGRkMzY5N2RlYTVk
YWUzYWQxLi43NWQ4NGU5YThhYjA0MmI2OGJhNzEyZGRkNDYyMTk3ZjM5NTdiMTAwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGVQYWdlTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50LmNwcApAQCAtNDcsMTAg
KzQ3LDggQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBJbmplY3RlZEJ1bmRsZVBhZ2VMb2Fk
ZXJDbGllbnQ6OkluamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVudChjb25zdCBXS0J1bmRsZVBh
Z2VMb2FkZXJDbGllbnRCYXNlKiBjbGllbnQpCiB7CiAgICAgaW5pdGlhbGl6ZShjbGllbnQpOwot
I2lmICFQTEFURk9STShNQUMpIHx8IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPiAx
MDE0MDAKICAgICAvLyBEZXByZWNhdGVkIGNhbGxiYWNrcy4KICAgICBBU1NFUlQoIW1fY2xpZW50
LnNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtKTsKLSNlbmRpZgogfQogCiB2b2lkIEluamVj
dGVkQnVuZGxlUGFnZUxvYWRlckNsaWVudDo6d2lsbExvYWRVUkxSZXF1ZXN0KFdlYlBhZ2UmIHBh
Z2UsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgQVBJOjpPYmplY3QqIHVzZXJEYXRh
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9j
ZXNzLnNiLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNz
LnNiLmluCmluZGV4IDFkYTcyZGNhMzc3OGFkMzQwYmMzOTU5ZTBjNzg0MjlkYmU3Njk0ZWQuLmRm
YmY3ZGVlMDYzMzQ3YTM4OWI0N2I1YjE1ZTVlMzgzY2U2Zjc4OTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW4KQEAgLTMwOCwx
MCArMzA4LDggQEAKICAgICAgICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmN2bXNTZXJ2
IikKICAgICAgICAgKQogICAgICkKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMTQwMCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKICAgICAoYWxsb3cgZmlsZS1yZWFk
KgogICAgICAgICAocHJlZml4ICIvcHJpdmF0ZS92YXIvZGIvQ1ZNUy9jdm1zQ29kZVNpZ25PYmoi
KSkKLSNlbmRpZgogICAgIDs7IE9wZW5DTAogICAgIChpZiAoZXF1YWw/IChwYXJhbSAiRU5BQkxF
X1NBTkRCT1hfTUVTU0FHRV9GSUxURVIiKSAiWUVTIikKICAgICAgICAgKGFsbG93IGlva2l0LW9w
ZW4KQEAgLTgzNSw3ICs4MzMsNiBAQAogICAgIChpb2tpdC1wcm9wZXJ0eSAic2F2ZWQtY29uZmln
IikKICAgICAoaW9raXQtcHJvcGVydHkgInN0YXJ0dXAtdGltaW5nIikKICAgICAoaW9raXQtcHJv
cGVydHkgInRvdWNoLXNpemUtaWQiKQotI2lmICFQTEFURk9STShNQUMpIHx8IF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwCiAgICAgKGlva2l0LXByb3BlcnR5ICJBVFks
Y2JpdHMiKQogICAgIChpb2tpdC1wcm9wZXJ0eSAiQVRZLGludHJldiIpCiAgICAgKGlva2l0LXBy
b3BlcnR5ICJBY2NlbE5hdGl2ZURNQVJvd0J5dGVBbGlnbm1lbnQiKQpAQCAtODUzLDcgKzg1MCw2
IEBACiAgICAgKGlva2l0LXByb3BlcnR5ICJUZWxlbWV0cnlEaXNhYmxlIikKICAgICAoaW9raXQt
cHJvcGVydHkgImNhaWxfcHJvcGVydGllcyIpCiAgICAgKGlva2l0LXByb3BlcnR5ICJkcG0iKQot
I2VuZGlmCiAgICAgKGlva2l0LXByb3BlcnR5ICJJT0dWQUgyNjRFbmNvZGVDYXBhYmlsaXRpZXMi
KSA7OyA8cmRhcjovL3Byb2JsZW0vNDk0OTgwNDA+CiAjaWYgIVBMQVRGT1JNKE1BQykgfHwgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+IDEwMTUwMAogICAgIChpb2tpdC1wcm9wZXJ0
eSAiSU9BVkRIRVZDRGVjb2RlQ2FwYWJpbGl0aWVzIikgOzsgPHJkYXI6Ly9wcm9ibGVtLzcxMTAw
MTg4PgpAQCAtMTM1MCw5ICsxMzQ2LDYgQEAKIAogOzsgVmFyaW91cyBzZXJ2aWNlcyByZXF1aXJl
ZCBieSBBcHBLaXQgYW5kIG90aGVyIGZyYW1ld29ya3MKIChhbGxvdyBtYWNoLWxvb2t1cAotI2lm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE0MDAKLSAgICAgICAoZ2xvYmFs
LW5hbWUgImNvbS5hcHBsZS5Gb250T2JqZWN0c1NlcnZlciIpCi0jZW5kaWYKICAgICAgICAoZ2xv
YmFsLW5hbWUgImNvbS5hcHBsZS5sb2dkIikKICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBs
ZS5sb2dkLmV2ZW50cyIpCiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuQ0FSZW5kZXJT
ZXJ2ZXIiKSA7IE5lZWRlZCBmb3IgW0NBQ29udGV4dCByZW1vdGVDb250ZXh0V2l0aE9wdGlvbnNd
CkBAIC0xMzg3LDcgKzEzODAsNiBAQAogICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmxzZC5t
YXBkYiIpCiApCiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQw
MCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKIDs7IDxyZGFyOi8vcHJvYmxlbS80NzI2ODE2Nj4K
IChhbGxvdyBtYWNoLWxvb2t1cAogICAgIChyZXF1aXJlLWFsbApAQCAtMTQwMiwxNSArMTM5NCwx
MiBAQAogICAgICAgICAoeHBjLXNlcnZpY2UtbmFtZSAiY29tLmFwcGxlLk1UTENvbXBpbGVyU2Vy
dmljZSIpCiAgICAgKQogKQotI2VuZGlmCiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTQwMCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKIChkZW55IG1hY2gtbG9v
a3VwICh3aXRoIG5vLWxvZykKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5Db3JlU2Vydmlj
ZXMuY29yZXNlcnZpY2VzZCIpCiAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuRGlza0FyYml0
cmF0aW9uLmRpc2thcmJpdHJhdGlvbmQiKQogICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLlZp
ZXdCcmlkZ2VBdXhpbGlhcnkiKQogICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLndpbmRvd3Nl
cnZlci5hY3RpdmUiKSkKLSNlbmRpZgogCiAjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMTAwMDAKIChkZW55IG1hY2gtbG9va3VwICh3aXRoIG5vLWxvZykKQEAgLTE3MDks
MTEgKzE2OTgsNyBAQAogICAgICAgICAoZ2xvYmFsLW5hbWUKICAgICAgICAgICAgICJjb20uYXBw
bGUuYW5hbHl0aWNzZCIKICAgICAgICAgICAgICJjb20uYXBwbGUubmVoZWxwZXIiCi0jaWYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAgfHwgUExBVEZPUk0oTUFDQ0FU
QUxZU1QpCiAgICAgICAgICAgICAiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIuY29udGVudC1m
aWx0ZXIiCi0jZWxzZQotICAgICAgICAgICAgImNvbS5hcHBsZS5uZXNlc3Npb25tYW5hZ2VyIgot
I2VuZGlmCiAgICAgICAgICAgICAiY29tLmFwcGxlLndlYmluc3BlY3RvciIKICAgICAgICAgICAg
ICJjb20uYXBwbGUuY2ZwcmVmc2QuYWdlbnQiCiAgICAgICAgICAgICAiY29tLmFwcGxlLmNmcHJl
ZnNkLmRhZW1vbiIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViSFRNTFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxW
aWV3Lm1tCmluZGV4IGNlYzliOGUzMTg1OThhZWVlYjg0MTE3MDY4MTFiYzMxMmNjMWNlY2YuLjRi
MDc4NTQ5ZGM0MjAyZmJiNmMyNzJlZjIwNWFiMzk0ZTM5NDcxNjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KKysrIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQpAQCAtMjIzLDI0ICsyMjMsNiBA
QCBAcHJvcGVydHkgKHJlYWRvbmx5KSBfX2tpbmRvZiBOU1ZpZXcgKl9ib3JkZXJWaWV3OwogLSAo
aWQpX25ld0ZpcnN0UmVzcG9uZGVyQWZ0ZXJSZXNpZ25pbmc7CiBAZW5kCiAKLSNpZiAhSEFWRShT
VUJWSUVXU19JVkFSX1NQSSkKLUBpbXBsZW1lbnRhdGlvbiBOU1ZpZXcgKFN1YnZpZXdzSXZhcikK
LQotLSAodm9pZClfc2V0U3Vidmlld3NJdmFyOihOU011dGFibGVBcnJheTxfX2tpbmRvZiBOU1Zp
ZXcgKj4gKilzdWJ2aWV3cyB7Ci0gICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVH
SU4KLSAgICBfc3Vidmlld3MgPSBzdWJ2aWV3czsKLSAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xB
UkFUSU9OU19FTkQKLX0KLQotLSAoTlNNdXRhYmxlQXJyYXk8X19raW5kb2YgTlNWaWV3ICo+ICop
X3N1YnZpZXdzSXZhciB7Ci0gICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4K
LSAgICByZXR1cm4gKE5TTXV0YWJsZUFycmF5ICopX3N1YnZpZXdzOwotICAgIEFMTE9XX0RFUFJF
Q0FURURfREVDTEFSQVRJT05TX0VORAotfQotCi1AZW5kCi0jZW5kaWYKLQogdXNpbmcgV2ViRXZl
bnQgPSBOU0V2ZW50OwogY29uc3QgYXV0byBXZWJFdmVudE1vdXNlRG93biA9IE5TRXZlbnRUeXBl
TGVmdE1vdXNlRG93bjsKIApAQCAtNzM3LDEyICs3MTksOSBAQCBzdGF0aWMgdm9pZCBzZXRDdXJz
b3IoTlNXaW5kb3cgKnNlbGYsIFNFTCBjbWQsIE5TUG9pbnQgcG9pbnQpCiBAaW50ZXJmYWNlIE5T
VmlldyAoKQogLSAodm9pZClfcmVjdXJzaXZlRGlzcGxheVJlY3RJZk5lZWRlZElnbm9yaW5nT3Bh
Y2l0eTooTlNSZWN0KXJlY3QgaXNWaXNpYmxlUmVjdDooQk9PTClpc1Zpc2libGVSZWN0IHJlY3RJ
c1Zpc2libGVSZWN0Rm9yVmlldzooTlNWaWV3ICopdmlzaWJsZVZpZXcgdG9wVmlldzooQk9PTCl0
b3BWaWV3OwogLSAodm9pZClfcmVjdXJzaXZlRGlzcGxheUFsbERpcnR5V2l0aExvY2tGb2N1czoo
Qk9PTCluZWVkc0xvY2tGb2N1cyB2aXNSZWN0OihOU1JlY3QpdmlzUmVjdDsKLSNpZiBQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCisjaWYg
UExBVEZPUk0oTUFDKQogLSAodm9pZClfcmVjdXJzaXZlOihCT09MKXJlY3Vyc2l2ZSBkaXNwbGF5
UmVjdElnbm9yaW5nT3BhY2l0eTooTlNSZWN0KWRpc3BsYXlSZWN0IGluQ29udGV4dDooTlNHcmFw
aGljc0NvbnRleHQgKilncmFwaGljc0NvbnRleHQgc3RvcEF0TGF5ZXJCYWNrZWRWaWV3czooQk9P
TClzdG9wQXRMYXllckJhY2tlZFZpZXdzOwogI2VuZGlmCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwCi0tICh2b2lkKV9yZWN1cnNp
dmU6KEJPT0wpcmVjdXJzaXZlIGRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OihOU1JlY3QpZGlz
cGxheVJlY3QgaW5Db250ZXh0OihOU0dyYXBoaWNzQ29udGV4dCAqKWdyYXBoaWNzQ29udGV4dCBz
aG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6KEJPT0wpc2hvdWxkQ2hhbmdlRm9udFJlZmVy
ZW5jZUNvbG9yIHN0b3BBdExheWVyQmFja2VkVmlld3M6KEJPT0wpc3RvcEF0TGF5ZXJCYWNrZWRW
aWV3czsKLSNlbmRpZgogLSAodm9pZClfc2V0RHJhd3NPd25EZXNjZW5kYW50czooQk9PTClkcmF3
c093bkRlc2NlbmRhbnRzOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAtICh2b2lkKWNlbnRl
clNlbGVjdGlvbkluVmlzaWJsZUFyZWE6KGlkKXNlbmRlcjsKQEAgLTE2ODEsMTggKzE2NjAsMTAg
QEAgLSAodm9pZClfcmVjdXJzaXZlRGlzcGxheUFsbERpcnR5V2l0aExvY2tGb2N1czooQk9PTClu
ZWVkc0xvY2tGb2N1cyB2aXNSZWN0OihOU1IKIH0KIAogLy8gRG9uJ3QgbGV0IEFwcEtpdCBldmVu
IGRyYXcgc3Vidmlld3MuIFdlIHRha2UgY2FyZSBvZiB0aGF0LgotI2lmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCiAtICh2b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVj
dXJzaXZlIGRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OihOU1JlY3QpZGlzcGxheVJlY3QgaW5D
b250ZXh0OihOU0dyYXBoaWNzQ29udGV4dCAqKWdyYXBoaWNzQ29udGV4dCBzdG9wQXRMYXllckJh
Y2tlZFZpZXdzOihCT09MKXN0b3BBdExheWVyQmFja2VkVmlld3MKLSNlbHNlCi0tICh2b2lkKV9y
ZWN1cnNpdmU6KEJPT0wpcmVjdXJzaXZlIGRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OihOU1Jl
Y3QpZGlzcGxheVJlY3QgaW5Db250ZXh0OihOU0dyYXBoaWNzQ29udGV4dCAqKWdyYXBoaWNzQ29u
dGV4dCBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6KEJPT0wpc2hvdWxkQ2hhbmdlRm9u
dFJlZmVyZW5jZUNvbG9yIHN0b3BBdExheWVyQmFja2VkVmlld3M6KEJPT0wpc3RvcEF0TGF5ZXJC
YWNrZWRWaWV3cwotI2VuZGlmCiB7CiAgICAgW3NlbGYgX3NldEFzaWRlU3Vidmlld3NdOwotI2lm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCiAgICAgW3N1cGVyIF9y
ZWN1cnNpdmU6cmVjdXJzaXZlIGRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OmRpc3BsYXlSZWN0
IGluQ29udGV4dDpncmFwaGljc0NvbnRleHQgc3RvcEF0TGF5ZXJCYWNrZWRWaWV3czpzdG9wQXRM
YXllckJhY2tlZFZpZXdzXTsKLSNlbHNlCi0gICAgW3N1cGVyIF9yZWN1cnNpdmU6cmVjdXJzaXZl
IGRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OmRpc3BsYXlSZWN0IGluQ29udGV4dDpncmFwaGlj
c0NvbnRleHQgc2hvdWxkQ2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yOnNob3VsZENoYW5nZUZvbnRS
ZWZlcmVuY2VDb2xvciBzdG9wQXRMYXllckJhY2tlZFZpZXdzOnN0b3BBdExheWVyQmFja2VkVmll
d3NdOwotI2VuZGlmCiAgICAgW3NlbGYgX3Jlc3RvcmVTdWJ2aWV3c107CiB9CiAKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxZmIzNjk3NDg5MGEz
YjE2MTA0OGM3NjgzNzMzNzg5NDhiNjY2YjUzLi41NDZlYWM0NThlYmExODBhOTkzZDY0NDRjMWU2
YTEzYTM3ODRkNDIyIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTAtMDEgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIHN1cHBvcnQgZm9yIG1hY09TIDwgMTAuMTUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTA4NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogVGVzdFJ1bm5lclNo
YXJlZC9zcGkvQXBwS2l0VGVzdFNQSS5oOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViQ29yZS9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0TGlua1Rlc3QubW06CisgICAgICAgIChUZXN0
V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL1ByZWNvbm5lY3QubW06CisgICAgICAgICogVGVzdFdlYktpdEFQSS9jb25maWcuaDoKKwog
MjAyMS0xMC0wMSAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAg
ICAgW3dlYmtpdGNvcmVweV0gQWRkIFRhc2tQb29sIChGb2xsb3ctdXAgZml4KQpkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlRHJhZ2dpbmdJbmZvLm1t
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlRHJhZ2dpbmdJbmZvLm1t
CmluZGV4IGJmMGRjY2QwZTZlMDkxMDMyY2MxMmNjM2I0OTk3MGJjOTcwN2EzMDQuLmI0MTIzZTcw
NDU3NjdkNzI5ODEzNTdiZjgyYzIzNDIwODA1ZGZhNGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZURyYWdnaW5nSW5mby5tbQorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWVEcmFnZ2luZ0luZm8ubW0KQEAgLTI3Mywx
MyArMjczLDcgQEAgLSAodm9pZCllbnVtZXJhdGVEcmFnZ2luZ0l0ZW1zV2l0aE9wdGlvbnM6KE5T
RW51bWVyYXRpb25PcHRpb25zKWVudW1PcHRpb25zIGZvclYKICAgICAgICAgW3JlY2VpdmVyIHNl
dERyYWdnaW5nU291cmNlOmRyYWdnaW5nU291cmNlXTsKICAgICAgICAgW2FsbEZpbGVQcm9taXNl
UmVjZWl2ZXJzKCkgYWRkT2JqZWN0OnJlY2VpdmVyLmdldCgpXTsKIAotI2lmIEhBVkUoTlNEUkFH
R0lOR0lURU1fSU5JVFdJVEhJVEVNKQogICAgICAgICBhdXRvIGl0ZW0gPSBhZG9wdE5TKFtbTlNE
cmFnZ2luZ0l0ZW0gYWxsb2NdIF9pbml0V2l0aEl0ZW06cmVjZWl2ZXIuZ2V0KCldKTsKLSNlbHNl
Ci0gICAgICAgIGF1dG8gaXRlbSA9IGFkb3B0TlMoW1tOU0RyYWdnaW5nSXRlbSBhbGxvY10gaW5p
dFdpdGhQYXN0ZWJvYXJkV3JpdGVyOihpZCA8TlNQYXN0ZWJvYXJkV3JpdGluZz4pcmVjZWl2ZXIu
Z2V0KCldKTsgLy8gRklYTUU6IDxodHRwczovL3dlYmtpdC5vcmcvYi8xOTQwNjA+IFBhc3MgYW4g
b2JqZWN0IG9mIHRoZSByaWdodCB0eXBlLgotICAgICAgICBbaXRlbSBzZXRJdGVtOnJlY2VpdmVy
LmdldCgpXTsKLSNlbmRpZgotCiAgICAgICAgIGJsb2NrKGl0ZW0uZ2V0KCksIDAsICZzdG9wKTsK
ICAgICAgICAgaWYgKHN0b3ApCiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0UnVubmVyU2hhcmVkL3NwaS9BcHBLaXRUZXN0U1BJLmggYi9Ub29scy9UZXN0UnVubmVy
U2hhcmVkL3NwaS9BcHBLaXRUZXN0U1BJLmgKaW5kZXggNWY5YWQ1MjM3MGYwMjdlYzEwNDRmYzQx
NDQ1ZWQ1YWM3NGRhZWJhMi4uMmQ4NzRlMTIwNzBmYzJiNzhlZGEwNzdkNjgzY2FkMjcxZWFjNDI2
MCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9zcGkvQXBwS2l0VGVzdFNQSS5o
CisrKyBiL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvc3BpL0FwcEtpdFRlc3RTUEkuaApAQCAtMjcs
MTcgKzI3LDggQEAKIAogI2ltcG9ydCA8QXBwS2l0L05TRHJhZ2dpbmdJdGVtLmg+CiAKLS8vIEZJ
WE1FOiBNb3ZlIHRoaXMgdG8gUGxhdGZvcm1IYXZlLmguCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMDE1MDAKLSNkZWZpbmUgSEFWRV9OU0RSQUdHSU5HSVRFTV9JTklU
V0lUSElURU0gMQotI2VuZGlmCi0KIEBpbnRlcmZhY2UgTlNEcmFnZ2luZ0l0ZW0gKCkKLSNpZiBI
QVZFKE5TRFJBR0dJTkdJVEVNX0lOSVRXSVRISVRFTSkKIC0gKGluc3RhbmNldHlwZSlfaW5pdFdp
dGhJdGVtOihpZClpdGVtOwotI2Vsc2UKLS0gKHZvaWQpc2V0SXRlbTooaWQpaXRlbTsKLSNlbmRp
ZgogQGVuZAogCiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rVGVzdC5t
bSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9BVkZvdW5kYXRpb25T
b2Z0TGlua1Rlc3QubW0KaW5kZXggMThlODljOTQyYTg0MzcxZWFiNjdlMmVjMzRkZDI2ZDkxNDFi
YmZlNy4uYmFmYTc1ZjQ2ZTYwMmRjY2YxN2Y1N2Y3YzAyNTNmZjBiMTk1YjE0ZiAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2NvY29hL0FWRm91bmRhdGlvblNv
ZnRMaW5rVGVzdC5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29j
b2EvQVZGb3VuZGF0aW9uU29mdExpbmtUZXN0Lm1tCkBAIC0xNjEsNyArMTYxLDcgQEAgVEVTVChB
VkZvdW5kYXRpb25Tb2Z0TGluaywgQ29uc3RhbnRzKQogICAgIEVYUEVDVF9UUlVFKFtBVkNvbnRl
bnRLZXlSZXF1ZXN0UHJvdG9jb2xWZXJzaW9uc0tleSBpc0VxdWFsVG9TdHJpbmc6QCJQcm90b2Nv
bFZlcnNpb25zS2V5Il0pOwogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TKSB8fCBQ
TEFURk9STShXQVRDSE9TKSB8fCBQTEFURk9STShBUFBMRVRWKQorI2lmIFBMQVRGT1JNKE1BQykg
fHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShXQVRDSE9TKSB8fCBQTEFURk9STShBUFBMRVRW
KQogICAgIEVYUEVDVF9UUlVFKFBBTDo6Y2FuTG9hZF9BVkZvdW5kYXRpb25fQVZWaWRlb0NvZGVj
VHlwZUhFVkNXaXRoQWxwaGEoKSk7CiAgICAgRVhQRUNUX1RSVUUoW0FWVmlkZW9Db2RlY1R5cGVI
RVZDV2l0aEFscGhhIGlzRXF1YWxUb1N0cmluZzpAIm11eGEiXSk7CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJlY29ubmVjdC5tbSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJlY29ubmVjdC5tbQppbmRl
eCA5YjFlYmZhZDcxZmRmMGVkOGYxODQyNGVkMmI0MGI4YTg0YmJmNDZjLi41NDdiMzU3ZWU5ZWEw
YWExOWRhZWRjODkyNGNhYjFiYWFjNDI2MmRiIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByZWNvbm5lY3QubW0KKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QcmVjb25uZWN0Lm1tCkBAIC0xMDMsMTAgKzEwMyw2IEBA
IFRFU1QoUHJlY29ubmVjdCwgQ29ubmVjdGlvbkNvdW50KQogICAgIEVYUEVDVF9FUShjb25uZWN0
aW9uQ291bnQsIDJ1KTsKIH0KIAotLy8gTW9qYXZlIENGTmV0d29yayBfcHJlY29ubmVjdCBTUEkg
c2VlbXMgdG8gaGF2ZSBhIGJ1ZyBjYXVzaW5nIHRoaXMgdG8gdGltZSBvdXQuCi0vLyBUaGF0J3Mg
bm8gcHJvYmxlbSwgYmVjYXVzZSB0aGlzIGlzIGEgdGVzdCBmb3IgU1BJIG9ubHkgdG8gYmUgdXNl
ZCBvbiBsYXRlciBPUyB2ZXJzaW9ucy4KLSNpZiAhUExBVEZPUk0oTUFDKSB8fCBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMAotCiBURVNUKFByZWNvbm5lY3QsIEhUVFBT
KQogewogICAgIGJvb2wgY29ubmVjdGVkID0gZmFsc2U7CkBAIC0xMzYsOCArMTMyLDYgQEAgVEVT
VChQcmVjb25uZWN0LCBIVFRQUykKICAgICBFWFBFQ1RfVFJVRShyZWNlaXZlZENoYWxsZW5nZSk7
CiB9CiAKLSNlbmRpZgotCiAjaWYgSEFWRShQUkVDT05ORUNUX1BJTkcpCiBzdGF0aWMgdm9pZCBw
aW5nUG9uZyhSZWY8SDI6OkNvbm5lY3Rpb24+JiYgY29ubmVjdGlvbiwgc2l6ZV90KiBoZWFkZXJz
Q291bnQpCiB7CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL1NlcnZpY2VXb3JrZXJCYXNpYy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tCmluZGV4IDFkM2FlZTcwOWQ0MTQzOGY3OTcw
N2JjZjRhMTQ3NmIzYTUxMWNkYjkuLjBlOGEzZTdhZmZjMmY1N2U4YmYwNDVmZGE4ZTBjZDc2MmFh
YzU0YmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
U2VydmljZVdvcmtlckJhc2ljLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvU2VydmljZVdvcmtlckJhc2ljLm1tCkBAIC0yMTgyLDggKzIxODIsNiBAQCBURVNU
KFNlcnZpY2VXb3JrZXJzLCBDb250ZW50UnVsZUxpc3QpCiAgICAgVGVzdFdlYktpdEFQSTo6VXRp
bDo6cnVuKCZkb25lUmVtb3ZpbmcpOwogfQogCi0jaWYgSEFWRShUTFNfUFJPVE9DT0xfVkVSU0lP
Tl9UKQotCiBzdGF0aWMgYm9vbCBpc1Rlc3RTZXJ2ZXJUcnVzdChTZWNUcnVzdFJlZiB0cnVzdCkK
IHsKICAgICBpZiAoIXRydXN0KQpAQCAtMjM3Miw4ICsyMzcwLDYgQEAgVEVTVChTZXJ2aWNlV29y
a2VycywgQ2hhbmdlT2ZTZXJ2ZXJDZXJ0aWZpY2F0ZSkKICAgICB9CiB9CiAKLSNlbmRpZiAvLyBI
QVZFKFRMU19QUk9UT0NPTF9WRVJTSU9OX1QpCi0KIFRFU1QoU2VydmljZVdvcmtlcnMsIENsZWFy
RE9NQ2FjaGVBbHNvSW5jbHVkZXNTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9ucykKIHsKICAgICBb
V0tXZWJzaXRlRGF0YVN0b3JlIF9hbGxvd1dlYnNpdGVEYXRhUmVjb3Jkc0ZvckFsbE9yaWdpbnNd
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9UTFNE
ZXByZWNhdGlvbi5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvVExT
RGVwcmVjYXRpb24ubW0KaW5kZXggYWZhZDk0MzJkMGM3NWEyZDMwZTYwMzAyNWY2MzE5OWFjYzQw
ZDQ0MS4uNTNiNTE3MDhiYzM3ZGRmMWI3YTg0NzE5MjhhOTIxMjgyYzE3N2Q4YyAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9UTFNEZXByZWNhdGlvbi5t
bQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1RMU0RlcHJlY2F0
aW9uLm1tCkBAIC0xNDEsOCArMTQxLDYgQEAgbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewogCiBj
b25zdCB1aW50MTZfdCB0bHMxXzEgPSAweDAzMDI7CiAKLSNpZiBIQVZFKFRMU19QUk9UT0NPTF9W
RVJTSU9OX1QpCi0KIFRFU1QoVExTVmVyc2lvbiwgRGVmYXVsdEJlaGF2aW9yKQogewogICAgIEhU
VFBTZXJ2ZXIgc2VydmVyKEhUVFBTZXJ2ZXI6OnJlc3BvbmRXaXRoT0ssIEhUVFBTZXJ2ZXI6OlBy
b3RvY29sOjpIdHRwc1dpdGhMZWdhY3lUTFMpOwpAQCAtMTU3LDggKzE1NSw2IEBAIFRFU1QoVExT
VmVyc2lvbiwgRGVmYXVsdEJlaGF2aW9yKQogICAgIFtkZWxlZ2F0ZSB3YWl0Rm9yRGlkRmluaXNo
TmF2aWdhdGlvbl07CiB9CiAKLSNlbmRpZiAvLyBIQVZFKFRMU19QUk9UT0NPTF9WRVJTSU9OX1Qp
Ci0KICNpZiBIQVZFKFRMU19WRVJTSU9OX0RVUklOR19DSEFMTEVOR0UpCiAKIFJldGFpblB0cjxX
S1dlYlZpZXc+IG1ha2VXZWJWaWV3V2l0aChXS1dlYnNpdGVEYXRhU3RvcmUgKnN0b3JlLCBSZXRh
aW5QdHI8VGVzdE5hdmlnYXRpb25EZWxlZ2F0ZT4gZGVsZWdhdGUpCkBAIC0yNjMsOCArMjU5LDYg
QEAgVEVTVChUTFNWZXJzaW9uLCBQcmVjb25uZWN0KQogCiAjZW5kaWYgLy8gSEFWRShUTFNfVkVS
U0lPTl9EVVJJTkdfQ0hBTExFTkdFKQogCi0jaWYgSEFWRShUTFNfUFJPVE9DT0xfVkVSU0lPTl9U
KQotCiBzdGF0aWMgc3RkOjpwYWlyPFJldGFpblB0cjxXS1dlYlZpZXc+LCBSZXRhaW5QdHI8VGVz
dE5hdmlnYXRpb25EZWxlZ2F0ZT4+IHdlYlZpZXdXaXRoTmF2aWdhdGlvbkRlbGVnYXRlKCkKIHsK
ICAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbVGVzdE5hdmlnYXRpb25EZWxlZ2F0ZSBuZXdd
KTsKQEAgLTQ5OSw4ICs0OTMsNiBAQCBURVNUKFRMU1ZlcnNpb24sIExlZ2FjeVN1YnJlc291cmNl
cykKIAogI2VuZGlmIC8vIEhBVkUoVExTX1ZFUlNJT05fRFVSSU5HX0NIQUxMRU5HRSkKIAotI2Vu
ZGlmIC8vIEhBVkUoVExTX1BST1RPQ09MX1ZFUlNJT05fVCkKLQogfQogCiAjZW5kaWYgLy8gSEFW
RShTU0wpCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KaW5kZXggYWJhNGZiOTA3
ZmIyMjdjMzc0MGRhZjA5YWYxMWM3MTQ4MDY5N2UyNC4uZDYyZTI5MjMyNjVhMzU5ZDAxZWE2YTFi
MTA1MzEzOTIyOGM5MDk2NyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQpA
QCAtMzkyLDExICszOTIsNyBAQCBib29sIGFkZEtleVRvS2V5Y2hhaW4oY29uc3QgU3RyaW5nJiBw
cml2YXRlS2V5QmFzZTY0LCBjb25zdCBTdHJpbmcmIHJwSWQsIGNvbnN0CiAgICAgICAgIChpZClr
U2VjQXR0ckxhYmVsOiBycElkLAogICAgICAgICAoaWQpa1NlY0F0dHJBcHBsaWNhdGlvblRhZzog
YWRvcHROUyhbW05TRGF0YSBhbGxvY10gaW5pdFdpdGhCYXNlNjRFbmNvZGVkU3RyaW5nOnVzZXJI
YW5kbGVCYXNlNjQgb3B0aW9uczpOU0RhdGFCYXNlNjREZWNvZGluZ0lnbm9yZVVua25vd25DaGFy
YWN0ZXJzXSkuZ2V0KCksCiAgICAgICAgIChpZClrU2VjQXR0ckFjY2Vzc2libGU6IChpZClrU2Vj
QXR0ckFjY2Vzc2libGVBZnRlckZpcnN0VW5sb2NrLAotI2lmIEhBVkUoREFUQV9QUk9URUNUSU9O
X0tFWUNIQUlOKQogICAgICAgICAoaWQpa1NlY1VzZURhdGFQcm90ZWN0aW9uS2V5Y2hhaW46IEBZ
RVMKLSNlbHNlCi0gICAgICAgIChpZClrU2VjQXR0ck5vTGVnYWN5OiBAWUVTCi0jZW5kaWYKICAg
ICB9OwogICAgIE9TU3RhdHVzIHN0YXR1cyA9IFNlY0l0ZW1BZGQoKF9fYnJpZGdlIENGRGljdGlv
bmFyeVJlZilhZGRRdWVyeSwgTlVMTCk7CiAgICAgaWYgKHN0YXR1cykKQEAgLTQxMSwxMSArNDA3
LDcgQEAgdm9pZCBjbGVhblVwS2V5Y2hhaW4oY29uc3QgU3RyaW5nJiBycElkKQogICAgICAgICAo
aWQpa1NlY0NsYXNzOiAoaWQpa1NlY0NsYXNzS2V5LAogICAgICAgICAoaWQpa1NlY0F0dHJMYWJl
bDogcnBJZCwKICAgICAgICAgKGlkKWtTZWNBdHRyQWNjZXNzaWJsZTogKGlkKWtTZWNBdHRyQWNj
ZXNzaWJsZUFmdGVyRmlyc3RVbmxvY2ssCi0jaWYgSEFWRShEQVRBX1BST1RFQ1RJT05fS0VZQ0hB
SU4pCiAgICAgICAgIChpZClrU2VjVXNlRGF0YVByb3RlY3Rpb25LZXljaGFpbjogQFlFUwotI2Vs
c2UKLSAgICAgICAgKGlkKWtTZWNBdHRyTm9MZWdhY3k6IEBZRVMKLSNlbmRpZgogICAgIH07CiAg
ICAgU2VjSXRlbURlbGV0ZSgoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKWRlbGV0ZVF1ZXJ5KTsK
IH0KQEAgLTE0NjgsMTEgKzE0NjAsNyBAQCBURVNUKFdlYkF1dGhlbnRpY2F0aW9uUGFuZWwsIExB
TWFrZUNyZWRlbnRpYWxSb2xsQmFja0NyZWRlbnRpYWwpCiAgICAgICAgIChpZClrU2VjQ2xhc3M6
IChpZClrU2VjQ2xhc3NLZXksCiAgICAgICAgIChpZClrU2VjQXR0cktleUNsYXNzOiAoaWQpa1Nl
Y0F0dHJLZXlDbGFzc1ByaXZhdGUsCiAgICAgICAgIChpZClrU2VjQXR0ckxhYmVsOiBAIiIsCi0j
aWYgSEFWRShEQVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4pCiAgICAgICAgIChpZClrU2VjVXNlRGF0
YVByb3RlY3Rpb25LZXljaGFpbjogQFlFUwotI2Vsc2UKLSAgICAgICAgKGlkKWtTZWNBdHRyTm9M
ZWdhY3k6IEBZRVMKLSNlbmRpZgogICAgIH07CiAgICAgT1NTdGF0dXMgc3RhdHVzID0gU2VjSXRl
bUNvcHlNYXRjaGluZygoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKXF1ZXJ5LCBudWxscHRyKTsK
ICAgICBFWFBFQ1RfRVEoc3RhdHVzLCBlcnJTZWNJdGVtTm90Rm91bmQpOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvSElER2FtZXBhZHMubW0gYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL21hYy9ISURHYW1lcGFkcy5tbQppbmRleCBhOTA2N2UxZjJlZjNhYmM0
ZDkxOTI4OGZiOWVhNzliYzM5OWI2OTFkLi5mNDNhZmVlOGFhZDk3ZGZlYjk1Y2Y5ZGQ3NGY5MGIw
ZDU1NmYwMmY3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9ISURH
YW1lcGFkcy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9ISURHYW1lcGFk
cy5tbQpAQCAtMjUsNyArMjUsNyBAQAogCiAjaW1wb3J0ICJjb25maWcuaCIKIAotI2lmIEhBVkUo
SElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpZiBVU0UoQVBQTEVf
SU5URVJOQUxfU0RLKQogCiAjaW1wb3J0ICJJbnN0YW5jZU1ldGhvZFN3aXp6bGVyLmgiCiAjaW1w
b3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgpAQCAtNjU0LDQgKzY1NCw0IEBAIFRFU1QoR2FtZXBh
ZCwgRnVsbEluZm9BZnRlckNvbm5lY3Rpb24pCiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRB
UEkKIAotI2VuZGlmIC8vIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFM
X1NESykKKyNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9jb2NvYS9IVFRQU2VydmVyLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9jb2NvYS9IVFRQU2VydmVyLm1tCmluZGV4IGQ3MjBiYTY0ZGI0MzA2OWJmNzM1YjMwNWJkZTMw
ZjQ0ZTc3ZTkyMGUuLjExMjQzYWM0YjdkYzdkYzY2ZDQ2ZTE4MDUxYjJjOGE5YTNmNmY1MjcgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvSFRUUFNlcnZlci5tbQorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL2NvY29hL0hUVFBTZXJ2ZXIubW0KQEAgLTU3LDcgKzU3LDYgQEAg
UmV0YWluUHRyPG53X3BhcmFtZXRlcnNfdD4gSFRUUFNlcnZlcjo6bGlzdGVuZXJQYXJhbWV0ZXJz
KFByb3RvY29sIHByb3RvY29sLCBDZXIKICAgICBpZiAocHJvdG9jb2wgIT0gUHJvdG9jb2w6Okh0
dHAgJiYgIWN1c3RvbVRlc3RJZGVudGl0eSkKICAgICAgICAgY3VzdG9tVGVzdElkZW50aXR5ID0g
dGVzdElkZW50aXR5KCk7CiAgICAgYXV0byBjb25maWd1cmVUTFMgPSBwcm90b2NvbCA9PSBQcm90
b2NvbDo6SHR0cCA/IG1ha2VCbG9ja1B0cihOV19QQVJBTUVURVJTX0RJU0FCTEVfUFJPVE9DT0wp
IDogbWFrZUJsb2NrUHRyKFtwcm90b2NvbCwgdmVyaWZpZXIgPSBXVEZNb3ZlKHZlcmlmaWVyKSwg
dGVzdElkZW50aXR5ID0gV1RGTW92ZShjdXN0b21UZXN0SWRlbnRpdHkpXSAobndfcHJvdG9jb2xf
b3B0aW9uc190IHByb3RvY29sT3B0aW9ucykgbXV0YWJsZSB7Ci0jaWYgSEFWRShUTFNfUFJPVE9D
T0xfVkVSU0lPTl9UKQogICAgICAgICBhdXRvIG9wdGlvbnMgPSBhZG9wdE5TKG53X3Rsc19jb3B5
X3NlY19wcm90b2NvbF9vcHRpb25zKHByb3RvY29sT3B0aW9ucykpOwogICAgICAgICBhdXRvIGlk
ZW50aXR5ID0gYWRvcHROUyhzZWNfaWRlbnRpdHlfY3JlYXRlKHRlc3RJZGVudGl0eS5nZXQoKSkp
OwogICAgICAgICBzZWNfcHJvdG9jb2xfb3B0aW9uc19zZXRfbG9jYWxfaWRlbnRpdHkob3B0aW9u
cy5nZXQoKSwgaWRlbnRpdHkuZ2V0KCkpOwpAQCAtNzEsMTAgKzcwLDYgQEAgUmV0YWluUHRyPG53
X3BhcmFtZXRlcnNfdD4gSFRUUFNlcnZlcjo6bGlzdGVuZXJQYXJhbWV0ZXJzKFByb3RvY29sIHBy
b3RvY29sLCBDZXIKICAgICAgICAgfQogICAgICAgICBpZiAocHJvdG9jb2wgPT0gUHJvdG9jb2w6
Okh0dHAyKQogICAgICAgICAgICAgc2VjX3Byb3RvY29sX29wdGlvbnNfYWRkX3Rsc19hcHBsaWNh
dGlvbl9wcm90b2NvbChvcHRpb25zLmdldCgpLCAiaDIiKTsKLSNlbHNlCi0gICAgICAgIFVOVVNF
RF9QQVJBTShwcm90b2NvbE9wdGlvbnMpOwotICAgICAgICBBU1NFUlRfVU5VU0VEKHByb3RvY29s
LCBwcm90b2NvbCAhPSBQcm90b2NvbDo6SHR0cHNXaXRoTGVnYWN5VExTKTsKLSNlbmRpZgogICAg
IH0pOwogICAgIGF1dG8gcGFyYW1ldGVycyA9IGFkb3B0TlMobndfcGFyYW1ldGVyc19jcmVhdGVf
c2VjdXJlX3RjcChjb25maWd1cmVUTFMuZ2V0KCksIE5XX1BBUkFNRVRFUlNfREVGQVVMVF9DT05G
SUdVUkFUSU9OKSk7CiAgICAgaWYgKHBvcnQpCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL2NvbmZpZy5oIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb25maWcuaAppbmRleCA3ZTA2NzEz
ZDc1NWUwMmU0NTQ4NzUzZWE2MzU2NDE0NGI1NGQ4NTJmLi5mYzhjZDdiYmMwZDJiMmM3OTk2ZWJl
ZTZhN2Y1NDg1Y2M0N2MwMmZjIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvbmZp
Zy5oCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29uZmlnLmgKQEAgLTEyNSwxMSArMTI1LDYg
QEAKICNkZWZpbmUgSEFWRV9VSVdFQlZJRVcgMQogI2VuZGlmCiAKLS8vIEZJWE1FOiBNb3ZlIHRo
aXMgdG8gUGxhdGZvcm1IYXZlLmguCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKQotI2RlZmlu
ZSBIQVZFX1RMU19QUk9UT0NPTF9WRVJTSU9OX1QgMQotI2VuZGlmCi0KIC8vIEZJWE1FOiBNb3Zl
IHRoaXMgdG8gUGxhdGZvcm1IYXZlLmguCiAjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMTAwMDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZ
KSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNDAwMDApCiAjZGVmaW5l
IEhBVkVfVExTX1ZFUlNJT05fRFVSSU5HX0NIQUxMRU5HRSAxCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvR29vZ2xlU3RhZGlhLm1tIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL0dvb2dsZVN0YWRpYS5tbQppbmRleCA4
MjhjNmZhZGUzMGMxNDEyNzRlZjFmZjQ2MzFjZjIwMTVmYTBmZTAxLi40ZDdmMzg0OGU3MzM4NDE0
NjVhMWQ1NGZhMWZiNzM5Yzg1MTg5OTE2IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L21hYy9HYW1lcGFkTWFwcGluZ3MvR29vZ2xlU3RhZGlhLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Hb29nbGVTdGFkaWEubW0KQEAgLTI2LDcgKzI2LDcg
QEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiVmlydHVhbEdhbWVwYWQuaCIKIAotI2lm
IEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpZiBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKQogCiAjaW1wb3J0IDxISUQvSElEVXNlckRldmljZS5oPgogCkBA
IC0yMDYsNCArMjA2LDQgQEAgR2FtZXBhZE1hcHBpbmcgVmlydHVhbEdhbWVwYWQ6Omdvb2dsZVN0
YWRpYU1hcHBpbmcoKQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKLSNlbmRpZiAv
LyBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjZW5kaWYg
Ly8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Mb2dpdGVjaEYzMTAubW0gYi9Ub29scy9UZXN0V2ViS2l0
QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvTG9naXRlY2hGMzEwLm1tCmluZGV4IDk3N2YyZmViYmVh
OGEzMjU5NDcwMTg1NGVlMzJiYjQ0ZGQ5NGU2YWQuLjRmNGE3YjQ2MTc1ZTEyNGUzYjcyZjcxYWFi
MzQ2NGFlYTg1MDExYzMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVw
YWRNYXBwaW5ncy9Mb2dpdGVjaEYzMTAubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMv
R2FtZXBhZE1hcHBpbmdzL0xvZ2l0ZWNoRjMxMC5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9y
dCAiY29uZmlnLmgiCiAjaW1wb3J0ICJWaXJ0dWFsR2FtZXBhZC5oIgogCi0jaWYgSEFWRShISURf
RlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2lmIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCiAKICNpbXBvcnQgPEhJRC9ISURVc2VyRGV2aWNlLmg+CiAKQEAgLTE0NSw0ICsx
NDUsNCBAQCBHYW1lcGFkTWFwcGluZyBWaXJ0dWFsR2FtZXBhZDo6bG9naXRlY2hGMzEwTWFwcGlu
ZygpCiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKIAotI2VuZGlmIC8vIEhBVkUoSElE
X0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNlbmRpZiAvLyBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2Ft
ZXBhZE1hcHBpbmdzL0xvZ2l0ZWNoRjcxMC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dh
bWVwYWRNYXBwaW5ncy9Mb2dpdGVjaEY3MTAubW0KaW5kZXggZjU2ZWU2NGQxODA5M2RmOTdmNTMw
MmFkMGIwZGI0NDdlMDE4ZGIyOC4uZDVhMDczNWVhNWY2MWE3N2QxZDZlOGRmYzA1NWZmMWU4OTll
NDFiYSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdz
L0xvZ2l0ZWNoRjcxMC5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFw
cGluZ3MvTG9naXRlY2hGNzEwLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcu
aCIKICNpbXBvcnQgIlZpcnR1YWxHYW1lcGFkLmgiCiAKLSNpZiBIQVZFKEhJRF9GUkFNRVdPUksp
ICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykK
IAogI2ltcG9ydCA8SElEL0hJRFVzZXJEZXZpY2UuaD4KIApAQCAtMTU2LDQgKzE1Niw0IEBAIEdh
bWVwYWRNYXBwaW5nIFZpcnR1YWxHYW1lcGFkOjpsb2dpdGVjaEY3MTBNYXBwaW5nKCkKIAogfSAv
LyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQogCi0jZW5kaWYgLy8gSEFWRShISURfRlJBTUVXT1JL
KSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5B
TF9TREspCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGlu
Z3MvTWljcm9zb2Z0WGJveE9uZS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRN
YXBwaW5ncy9NaWNyb3NvZnRYYm94T25lLm1tCmluZGV4IDg5MzdiMDU2MmU1NWI4NmFlNTQzNzJj
MTliOGZlOTZkYjgyOGIyYjMuLmRkZmI2NTVlMmNkNTk1ZTg0ODFhZDkyMzE3MThjMmM3ZGI0Zjll
YTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9N
aWNyb3NvZnRYYm94T25lLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRN
YXBwaW5ncy9NaWNyb3NvZnRYYm94T25lLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJj
b25maWcuaCIKICNpbXBvcnQgIlZpcnR1YWxHYW1lcGFkLmgiCiAKLSNpZiBIQVZFKEhJRF9GUkFN
RVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaWYgVVNFKEFQUExFX0lOVEVSTkFM
X1NESykKIAogI2ltcG9ydCA8SElEL0hJRFVzZXJEZXZpY2UuaD4KIApAQCAtMjg5LDQgKzI4OSw0
IEBAIEdhbWVwYWRNYXBwaW5nIFZpcnR1YWxHYW1lcGFkOjptaWNyb3NvZnRYYm94T25lTWFwcGlu
ZygpCiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKIAotI2VuZGlmIC8vIEhBVkUoSElE
X0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNlbmRpZiAvLyBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2Ft
ZXBhZE1hcHBpbmdzL1NoZW56aGVuTG9uZ3NoZW5nd2VpVGVjaG5vbG9neUdhbWVwYWQubW0gYi9U
b29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU2hlbnpoZW5Mb25nc2hlbmd3
ZWlUZWNobm9sb2d5R2FtZXBhZC5tbQppbmRleCBmNzMyNjNkYjNiY2E0ZjA1OWY2N2NjOTIxOWZh
NDc4ZjZkM2JhZGU2Li5iYTMzN2YyNmQ3YjEwMTgzMDhmZWRjMmQxOWM5NThiMDhkZDE5YTMyIDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU2hlbnpo
ZW5Mb25nc2hlbmd3ZWlUZWNobm9sb2d5R2FtZXBhZC5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU2hlbnpoZW5Mb25nc2hlbmd3ZWlUZWNobm9sb2d5R2Ft
ZXBhZC5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJW
aXJ0dWFsR2FtZXBhZC5oIgogCi0jaWYgSEFWRShISURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVf
SU5URVJOQUxfU0RLKQorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAKICNpbXBvcnQgPEhJ
RC9ISURVc2VyRGV2aWNlLmg+CiAKQEAgLTE1NCw0ICsxNTQsNCBAQCBHYW1lcGFkTWFwcGluZyBW
aXJ0dWFsR2FtZXBhZDo6c2hlbnpoZW5Mb25nc2hlbmd3ZWlUZWNobm9sb2d5R2FtZXBhZE1hcHBp
bmcoKQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKLSNlbmRpZiAvLyBIQVZFKEhJ
RF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjZW5kaWYgLy8gVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dh
bWVwYWRNYXBwaW5ncy9Tb255RHVhbFNob2NrMy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFj
L0dhbWVwYWRNYXBwaW5ncy9Tb255RHVhbFNob2NrMy5tbQppbmRleCA0MGZkMDM1MzE0Yzg0ZjFk
OTBkMzBlZjdjYWEyNTJjODU2M2Q4MmQ1Li5kNjAxMmI5ZjdlMzQ4YmU3NWEzODI5YmUyMmZkYmM1
YmI5ODQyNTEyIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFw
cGluZ3MvU29ueUR1YWxTaG9jazMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2Ft
ZXBhZE1hcHBpbmdzL1NvbnlEdWFsU2hvY2szLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0
ICJjb25maWcuaCIKICNpbXBvcnQgIlZpcnR1YWxHYW1lcGFkLmgiCiAKLSNpZiBIQVZFKEhJRF9G
UkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaWYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykKIAogI2ltcG9ydCA8SElEL0hJRFVzZXJEZXZpY2UuaD4KIApAQCAtMjAxLDQgKzIw
MSw0IEBAIEdhbWVwYWRNYXBwaW5nIFZpcnR1YWxHYW1lcGFkOjpzb255RHVhbHNob2NrM01hcHBp
bmcoKQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKLSNlbmRpZiAvLyBIQVZFKEhJ
RF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjZW5kaWYgLy8gVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dh
bWVwYWRNYXBwaW5ncy9Tb255RHVhbFNob2NrNC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFj
L0dhbWVwYWRNYXBwaW5ncy9Tb255RHVhbFNob2NrNC5tbQppbmRleCAzMDZhMzZkYTZkYWUzMjM5
NDk3ODI0NDUzYWJhYzc3MjQ3NzFmYmE1Li5lYWQxMWZhZTdjYWUzOTZjMzkyMWU5OGEwNjllNDJj
MWEzN2IwYzViIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFw
cGluZ3MvU29ueUR1YWxTaG9jazQubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2Ft
ZXBhZE1hcHBpbmdzL1NvbnlEdWFsU2hvY2s0Lm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0
ICJjb25maWcuaCIKICNpbXBvcnQgIlZpcnR1YWxHYW1lcGFkLmgiCiAKLSNpZiBIQVZFKEhJRF9G
UkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaWYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykKIAogI2ltcG9ydCA8SElEL0hJRFVzZXJEZXZpY2UuaD4KIApAQCAtMzI4LDQgKzMy
OCw0IEBAIEdhbWVwYWRNYXBwaW5nIFZpcnR1YWxHYW1lcGFkOjpzb255RHVhbHNob2NrNE1hcHBp
bmcoKQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKLSNlbmRpZiAvLyBIQVZFKEhJ
RF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjZW5kaWYgLy8gVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dh
bWVwYWRNYXBwaW5ncy9TdGVlbFNlcmllc05pbWJ1cy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
bWFjL0dhbWVwYWRNYXBwaW5ncy9TdGVlbFNlcmllc05pbWJ1cy5tbQppbmRleCBmYjE5ZWI0ZTdk
YmFjMWY5NTQ4YjBmZTYzZTIzNDljNzBmMWQ3NTUzLi43OTQ0NGY1ZTE0MjdkMmEyOWQ0NGQ3OGU0
YmUxNjA0ZGZlMjg0NDJkIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1l
cGFkTWFwcGluZ3MvU3RlZWxTZXJpZXNOaW1idXMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9tYWMvR2FtZXBhZE1hcHBpbmdzL1N0ZWVsU2VyaWVzTmltYnVzLm1tCkBAIC0yNiw3ICsyNiw3
IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIlZpcnR1YWxHYW1lcGFkLmgiCiAKLSNp
ZiBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaWYgVVNF
KEFQUExFX0lOVEVSTkFMX1NESykKIAogI2ltcG9ydCA8SElEL0hJRFVzZXJEZXZpY2UuaD4KIApA
QCAtMTQ0LDQgKzE0NCw0IEBAIEdhbWVwYWRNYXBwaW5nIFZpcnR1YWxHYW1lcGFkOjpzdGVlbFNl
cmllc05pbWJ1c01hcHBpbmcoKQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKLSNl
bmRpZiAvLyBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisj
ZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9TdW5MaWdodEFwcGxpY2F0aW9uR2VuZXJpY05F
Uy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9TdW5MaWdodEFw
cGxpY2F0aW9uR2VuZXJpY05FUy5tbQppbmRleCA2YzU1OWY5ZGY0ZjkwN2M3YTgwM2Y1MWQ0ODdj
ZjYwNTYwNDhjNjJiLi41NTYwNTg1ZTA4N2I2MzMxYTdhZWYxYjI0ZmZlNGEwOWI2MDcxZmY0IDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU3VuTGln
aHRBcHBsaWNhdGlvbkdlbmVyaWNORVMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMv
R2FtZXBhZE1hcHBpbmdzL1N1bkxpZ2h0QXBwbGljYXRpb25HZW5lcmljTkVTLm1tCkBAIC0yNiw3
ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIlZpcnR1YWxHYW1lcGFkLmgi
CiAKLSNpZiBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisj
aWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAogI2ltcG9ydCA8SElEL0hJRFVzZXJEZXZpY2Uu
aD4KIApAQCAtMTQxLDQgKzE0MSw0IEBAIEdhbWVwYWRNYXBwaW5nIFZpcnR1YWxHYW1lcGFkOjpz
dW5MaWdodEFwcGxpY2F0aW9uR2VuZXJpY05FU01hcHBpbmcoKQogCiB9IC8vIG5hbWVzcGFjZSBU
ZXN0V2ViS2l0QVBJCiAKLSNlbmRpZiAvLyBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBM
RV9JTlRFUk5BTF9TREspCisjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1Rlc3REcmFnZ2luZ0luZm8ubW0gYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL21hYy9UZXN0RHJhZ2dpbmdJbmZvLm1tCmluZGV4IDRiY2I2ZGNlZTFh
NGU3OTVhNjExODdmMzVhZDIwNWM2MzZiOTdiNDcuLmQ4ZmUzMjdmZWJlYTE2NmIyOWI2OWE0MjNi
NzU1YjQxZDY0OTI1NTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1Rlc3RE
cmFnZ2luZ0luZm8ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvVGVzdERyYWdnaW5n
SW5mby5tbQpAQCAtMTEzLDEzICsxMTMsNyBAQCAtICh2b2lkKWVudW1lcmF0ZURyYWdnaW5nSXRl
bXNXaXRoT3B0aW9uczooTlNEcmFnZ2luZ0l0ZW1FbnVtZXJhdGlvbk9wdGlvbnMpZW51bQogICAg
ICAgICBbcmVjZWl2ZXIgc2V0RHJhZ2dpbmdTb3VyY2U6X3NvdXJjZS5nZXQoKS5nZXQoKV07CiAg
ICAgICAgIFtfZmlsZVByb21pc2VSZWNlaXZlcnMgYWRkT2JqZWN0OnJlY2VpdmVyLmdldCgpXTsK
IAotI2lmIEhBVkUoTlNEUkFHR0lOR0lURU1fSU5JVFdJVEhJVEVNKQogICAgICAgICBhdXRvIGl0
ZW0gPSBhZG9wdE5TKFtbTlNEcmFnZ2luZ0l0ZW0gYWxsb2NdIF9pbml0V2l0aEl0ZW06cmVjZWl2
ZXIuZ2V0KCldKTsKLSNlbHNlCi0gICAgICAgIGF1dG8gaXRlbSA9IGFkb3B0TlMoW1tOU0RyYWdn
aW5nSXRlbSBhbGxvY10gaW5pdFdpdGhQYXN0ZWJvYXJkV3JpdGVyOihpZCA8TlNQYXN0ZWJvYXJk
V3JpdGluZz4pcmVjZWl2ZXIuZ2V0KCldKTsgLy8gRklYTUU6IDxodHRwczovL3dlYmtpdC5vcmcv
Yi8xOTQwNjA+IFBhc3MgYW4gb2JqZWN0IG9mIHRoZSByaWdodCB0eXBlLgotICAgICAgICBbaXRl
bSBzZXRJdGVtOnJlY2VpdmVyLmdldCgpXTsKLSNlbmRpZgotCiAgICAgICAgIGJsb2NrKGl0ZW0u
Z2V0KCksIDAsICZzdG9wKTsKICAgICAgICAgaWYgKHN0b3ApCiAgICAgICAgICAgICBicmVhazsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1ZpcnR1YWxHYW1lcGFkLmggYi9U
b29scy9UZXN0V2ViS2l0QVBJL21hYy9WaXJ0dWFsR2FtZXBhZC5oCmluZGV4IGIyMWI5NTU2OTQ3
MDMyNDcxMzI3NWRjMTViMWFiOTVlN2UwZWVjYzQuLjBkODc2ZWY0OWI1OGEzN2IxNWIwZjQ5ODcy
NGMxNDY1NTllMjM0MzIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1ZpcnR1
YWxHYW1lcGFkLmgKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvVmlydHVhbEdhbWVwYWQu
aApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEhBVkUoSElEX0ZSQU1F
V09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxf
U0RLKQogCiAjaW5jbHVkZSA8ZGlzcGF0Y2gvZGlzcGF0Y2guaD4KICNpbmNsdWRlIDx3dGYvRmFz
dE1hbGxvYy5oPgpAQCAtMTIzLDQgKzEyMyw0IEBAIHByaXZhdGU6CiB9OwogfSAvLyBuYW1lc3Bh
Y2UgVGVzdFdlYktpdEFQSQogCi0jZW5kaWYgLy8gSEFWRShISURfRlJBTUVXT1JLKSAmJiBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKQorI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9WaXJ0dWFsR2FtZXBhZC5tbSBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1ZpcnR1YWxHYW1lcGFkLm1tCmluZGV4IDBmNDI0OThhZDQw
ZDJhMGQzZjg0ZmY4MWFhZGJjYzg3MzliZmUwYTcuLjEzNzg5MGQ2YjZiYWFmMjBmY2I5ZWY0MDAz
OGY0OTBmNjIzODRhOGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1ZpcnR1
YWxHYW1lcGFkLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1ZpcnR1YWxHYW1lcGFk
Lm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIlZpcnR1
YWxHYW1lcGFkLmgiCiAKLSNpZiBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAogI2ltcG9ydCA8Rm91bmRh
dGlvbi9Gb3VuZGF0aW9uLmg+CiAjaW1wb3J0IDxISUQvSElEQmFzZS5oPgpAQCAtOTcsNCArOTcs
NCBAQCB2b2lkIFZpcnR1YWxHYW1lcGFkOjpwdWJsaXNoUmVwb3J0KCkKIAogfSAvLyBuYW1lc3Bh
Y2UgVGVzdFdlYktpdEFQSQogCi0jZW5kaWYgLy8gSEFWRShISURfRlJBTUVXT1JLKSAmJiBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKQorI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29j
b2EubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2Eu
bW0KaW5kZXggMmQwNTE4MjUyNzc4NjJjZDdmNTExY2QyZGQzMjgwMTRjNWE4ZmNlNC4uN2MxMDk2
NDJkOTUzOTQzZTIyODk1ZTVhOTA3ZWJmMDlmNDg2NjU0YyAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQpAQCAtNDYxLDExICs0
NjEsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjphZGRUZXN0S2V5VG9LZXljaGFpbihjb25zdCBT
dHJpbmcmIHByaXZhdGVLZXlCYXNlNjQsIGNvbnN0CiAgICAgICAgIChpZClrU2VjQXR0ckxhYmVs
OiBhdHRyTGFiZWwsCiAgICAgICAgIChpZClrU2VjQXR0ckFwcGxpY2F0aW9uVGFnOiBhZG9wdE5T
KFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0aEJhc2U2NEVuY29kZWRTdHJpbmc6YXBwbGljYXRpb25U
YWdCYXNlNjQgb3B0aW9uczpOU0RhdGFCYXNlNjREZWNvZGluZ0lnbm9yZVVua25vd25DaGFyYWN0
ZXJzXSkuZ2V0KCksCiAgICAgICAgIChpZClrU2VjQXR0ckFjY2Vzc2libGU6IChpZClrU2VjQXR0
ckFjY2Vzc2libGVBZnRlckZpcnN0VW5sb2NrLAotI2lmIEhBVkUoREFUQV9QUk9URUNUSU9OX0tF
WUNIQUlOKQogICAgICAgICAoaWQpa1NlY1VzZURhdGFQcm90ZWN0aW9uS2V5Y2hhaW46IEBZRVMK
LSNlbHNlCi0gICAgICAgIChpZClrU2VjQXR0ck5vTGVnYWN5OiBAWUVTCi0jZW5kaWYKICAgICB9
OwogICAgIE9TU3RhdHVzIHN0YXR1cyA9IFNlY0l0ZW1BZGQoKF9fYnJpZGdlIENGRGljdGlvbmFy
eVJlZilhZGRRdWVyeSwgTlVMTCk7CiAgICAgQVNTRVJUX1VOVVNFRChzdGF0dXMsICFzdGF0dXMp
OwpAQCAtNDc2LDExICs0NzIsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpjbGVhblVwS2V5Y2hh
aW4oY29uc3QgU3RyaW5nJiBhdHRyTGFiZWwsIGNvbnN0IFN0cmluZyYgYXBwbAogICAgIGF1dG8g
ZGVsZXRlUXVlcnkgPSBhZG9wdE5TKFtbTlNNdXRhYmxlRGljdGlvbmFyeSBhbGxvY10gaW5pdF0p
OwogICAgIFtkZWxldGVRdWVyeSBzZXRPYmplY3Q6KGlkKWtTZWNDbGFzc0tleSBmb3JLZXk6KGlk
KWtTZWNDbGFzc107CiAgICAgW2RlbGV0ZVF1ZXJ5IHNldE9iamVjdDphdHRyTGFiZWwgZm9yS2V5
OihpZClrU2VjQXR0ckxhYmVsXTsKLSNpZiBIQVZFKERBVEFfUFJPVEVDVElPTl9LRVlDSEFJTikK
ICAgICBbZGVsZXRlUXVlcnkgc2V0T2JqZWN0OkBZRVMgZm9yS2V5OihpZClrU2VjVXNlRGF0YVBy
b3RlY3Rpb25LZXljaGFpbl07Ci0jZWxzZQotICAgIFtkZWxldGVRdWVyeSBzZXRPYmplY3Q6QFlF
UyBmb3JLZXk6KGlkKWtTZWNBdHRyTm9MZWdhY3ldOwotI2VuZGlmCiAgICAgaWYgKCEhYXBwbGlj
YXRpb25MYWJlbEJhc2U2NCkKICAgICAgICAgW2RlbGV0ZVF1ZXJ5IHNldE9iamVjdDphZG9wdE5T
KFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0aEJhc2U2NEVuY29kZWRTdHJpbmc6YXBwbGljYXRpb25M
YWJlbEJhc2U2NCBvcHRpb25zOk5TRGF0YUJhc2U2NERlY29kaW5nSWdub3JlVW5rbm93bkNoYXJh
Y3RlcnNdKS5nZXQoKSBmb3JLZXk6KGlkKWtTZWNBdHRyQXBwbGljYXRpb25MYWJlbF07CiAKQEAg
LTQ5NCwxMSArNDg2LDcgQEAgYm9vbCBUZXN0Q29udHJvbGxlcjo6a2V5RXhpc3RzSW5LZXljaGFp
bihjb25zdCBTdHJpbmcmIGF0dHJMYWJlbCwgY29uc3QgU3RyaW5nJgogICAgICAgICAoaWQpa1Nl
Y0F0dHJLZXlDbGFzczogKGlkKWtTZWNBdHRyS2V5Q2xhc3NQcml2YXRlLAogICAgICAgICAoaWQp
a1NlY0F0dHJMYWJlbDogYXR0ckxhYmVsLAogICAgICAgICAoaWQpa1NlY0F0dHJBcHBsaWNhdGlv
bkxhYmVsOiBhZG9wdE5TKFtbTlNEYXRhIGFsbG9jXSBpbml0V2l0aEJhc2U2NEVuY29kZWRTdHJp
bmc6YXBwbGljYXRpb25MYWJlbEJhc2U2NCBvcHRpb25zOk5TRGF0YUJhc2U2NERlY29kaW5nSWdu
b3JlVW5rbm93bkNoYXJhY3RlcnNdKS5nZXQoKSwKLSNpZiBIQVZFKERBVEFfUFJPVEVDVElPTl9L
RVlDSEFJTikKICAgICAgICAgKGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktleWNoYWluOiBAWUVT
Ci0jZWxzZQotICAgICAgICAoaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwotI2VuZGlmCiAgICAg
fTsKICAgICBPU1N0YXR1cyBzdGF0dXMgPSBTZWNJdGVtQ29weU1hdGNoaW5nKChfX2JyaWRnZSBD
RkRpY3Rpb25hcnlSZWYpcXVlcnksIE5VTEwpOwogICAgIGlmICghc3RhdHVzKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439941</attachid>
            <date>2021-10-01 17:33:54 -0700</date>
            <delta_ts>2021-10-01 19:48:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231085-20211001173353.patch</filename>
            <type>text/plain</type>
            <size>101014</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNDI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCA4MDgzMmFhOWEzMzM4YTBjNDM3NjBkYzM0Njc3YzQzZWE0YjVmMzFiLi42ZjRm
ZDM4NjdhMDAzYWQzMDUzY2E3ZTAwZTVmYjQyY2U5OTY5ODNiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMS0xMC0wMSAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3Agc3VwcG9ydCBmb3IgbWFjT1Mg
PCAxMC4xNQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMxMDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBT
b3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsuaDoKKwogMjAy
MS0wOS0zMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU3Vw
cG9ydCBBRVMgR0NNIGNpcGhlcnMgaW4gV2ViUlRDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGMyMmFlZmJlZTFiN2E5M2JiYjk0
MTU3ODg4YWZlMmNhZmE0NGI3NzYuLjU1Y2Y3YzAxMTIzNDk4NmM2M2E2OGJjM2M0YThiNTc1Mjli
NmMwZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMTAtMDEgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEcm9wIHN1cHBvcnQgZm9yIG1hY09TIDwgMTAuMTUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTA4NQor
CisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogd3RmL1BsYXRm
b3JtRW5hYmxlQ29jb2EuaDoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1IYXZlLmg6CisgICAgICAg
ICogd3RmL1BsYXRmb3JtVXNlLmg6CisKIDIwMjEtMTAtMDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBQdXNoRXZlbnQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCAwOTA5MDk2MWZmMDFkMjY2NmVlYmI0OWEyZjNlZGIzYzBhZTg3MzY4Li5lNDE1MTQ5
OGYzNTJkNDY1ZTUyYmQwMmRkMjVlYjU1YTdhYjAwNDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMjEtMTAtMDEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAg
ICAgICBEcm9wIHN1cHBvcnQgZm9yIG1hY09TIDwgMTAuMTUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTA4NQorCisgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9z
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OnBsYXRmb3Jt
VmVyc2lvbk5hbWUgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY29jb2EvQ29v
a2llQ29jb2EubW06CisKIDIwMjEtMTAtMDEgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxl
LmNvbT4KIAogICAgICAgICBEaXNhYmxlIG5ldyBpbmN1bWJlbnQtd2luZG93IHVudGlsIGl0IGlz
IGZ1bGx5IGltcGxlbWVudGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBhMWYzNzM4YWFiNGEwN2E4
ZDczOTE3MjExMTkwNjZjYmM3MGMyMDA0Li5iNTIyMWE0ZjZmNTE5MjliNGI5MGE4YWM0MTUzNDAw
MzE3MWVlNDZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0xMC0w
MSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3Agc3VwcG9y
dCBmb3IgbWFjT1MgPCAxMC4xNQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjMxMDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisK
KyAgICAgICAgKiBwYWwvY29jb2EvQVZGb3VuZGF0aW9uU29mdExpbmsubW06CisgICAgICAgICog
cGFsL3NwaS9jb2NvYS9BVkZvdW5kYXRpb25TUEkuaDoKKyAgICAgICAgKiBwYWwvc3BpL21hYy9O
U01lbnVTUEkuaDoKKyAgICAgICAgKiBwYWwvc3BpL21hYy9OU1ZpZXdTUEkuaDoKKwogMjAyMS0x
MC0wMSAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAogICAgICAg
ICBHUFUgUHJvY2VzcyBtaWNyb3Bob25lIGF0dHJpYnV0aW9uIFNQSSBhZG9wdGlvbgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCBlNzRhNTdmOTJkMTc4NDg1NjY0NTdjYWViMWVlNGQ0NzI4MjViZjQ4Li5lOTEyY2YwOTlh
ZDBjYmE3NmRhMTRhZjcxYjZjNThhMGIyZGE4YjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBA
CisyMDIxLTEwLTAxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAg
RHJvcCBzdXBwb3J0IGZvciBtYWNPUyA8IDEwLjE1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwODUKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0
Lk5ldHdvcmtQcm9jZXNzLnNiLmluOgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9Bcmd1bWVudENv
ZGVyc0NvY29hLm1tOgorICAgICAgICAoLVtXS1NlY3VyZUNvZGluZ0FyY2hpdmluZ0RlbGVnYXRl
IGFyY2hpdmVyOndpbGxFbmNvZGVPYmplY3Q6XSk6CisgICAgICAgICogU2hhcmVkL0NvY29hL0Nv
cmVUZXh0SGVscGVycy5tbToKKyAgICAgICAgKFdlYktpdDo6Zm9udFdpdGhBdHRyaWJ1dGVzKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW06CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y3JlYXRlTmV0d29ya0V4dGVuc2lvbnNTYW5kYm94RXh0
ZW5zaW9ucyk6CisgICAgICAgICogV2ViQXV0aG5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0
LldlYkF1dGhuUHJvY2Vzcy5zYi5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvbS5hcHBsZS5X
ZWJQcm9jZXNzLnNiLmluOgorCiAyMDIxLTEwLTAxICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1A
YXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSByZWZlcmVuY2UgdG8gb2Qtc2VydmVyLW5hbWUg
ZnJvbSBzYW5kYm94IHByb2ZpbGVzIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDQ2
ZDEwM2ExODY2ZjM5NDhhMTZhZGU5YzRlN2QyYjQzMzE4MDYxYmQuLjU5ZDg1OGRkNzAwMjgzYzVj
ODg5NDBmNGU4ZjAxYjc4NTFmMTE4YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNCBAQAorMjAyMS0xMC0wMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29t
PgorCisgICAgICAgIERyb3Agc3VwcG9ydCBmb3IgbWFjT1MgPCAxMC4xNQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMDg1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxWaWV3Lm1t
OgorICAgICAgICAoLVtXZWJIVE1MVmlldyBfcmVjdXJzaXZlOmRpc3BsYXlSZWN0SWdub3JpbmdP
cGFjaXR5OmluQ29udGV4dDpzdG9wQXRMYXllckJhY2tlZFZpZXdzOl0pOgorICAgICAgICAoLVtX
ZWJIVE1MVmlldyBfcmVjdXJzaXZlOmRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OmluQ29udGV4
dDpzdG9wQXRMYXllckJhY2tlZFZpZXdzOl9yZWN1cnNpdmU6ZGlzcGxheVJlY3RJZ25vcmluZ09w
YWNpdHk6aW5Db250ZXh0OnNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjpzdG9wQXRMYXll
ckJhY2tlZFZpZXdzOl0pOiBEZWxldGVkLgorCiAyMDIxLTEwLTAxICBJYW4gQW5kZXJzb24gIDxp
YW5hQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJLaXRMZWdhY3kncyBtb2R1bGUgbWFwIGZpbGVz
IGRvbid0IGdldCBpbnN0YWxsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndl
YnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvVmlkZW9Qcm9jZXNzaW5nU29mdExpbmsuaCBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvVmlk
ZW9Qcm9jZXNzaW5nU29mdExpbmsuaAppbmRleCBjYTBkOTk4ZGRhNzBiOGYzMmNjMjMzMjM3MWM3
ZTZlMjNkMGE2YmVhLi45YWNmMDhmNjY0YTQ4OTY1MDZlMDY5Y2VjNDE4NWQxMTA0MDAzNjcyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsv
V2ViS2l0L1ZpZGVvUHJvY2Vzc2luZ1NvZnRMaW5rLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9WaWRlb1Byb2Nlc3NpbmdTb2Z0TGlu
ay5oCkBAIC00Miw3ICs0Miw3IEBACiAjZGVmaW5lIEVOQUJMRV9WQ1BfRk9SX0gyNjRfQkFTRUxJ
TkUgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTUwMDAwCiAjZWxpZiAoZGVm
aW5lZChUQVJHRVRfT1NfTUFDKSAmJiBUQVJHRVRfT1NfTUFDKQogI2RlZmluZSBFTkFCTEVfVkNQ
X0VOQ09ERVIgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDExMDAwMAotI2RlZmlu
ZSBFTkFCTEVfVkNQX1ZUQl9FTkNPREVSIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxNTAwICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMTAwMDAKKyNk
ZWZpbmUgRU5BQkxFX1ZDUF9WVEJfRU5DT0RFUiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEIDwgMTEwMDAwCiAjZGVmaW5lIEhBVkVfVlRCX1JFUVVJUkVETE9XTEFURU5DWSBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMAogI2RlZmluZSBFTkFCTEVfVkNQX0ZP
Ul9IMjY0X0JBU0VMSU5FIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTIwMDAw
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2Eu
aCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaAppbmRleCA4N2IyYjFjY2Vj
Yjk1ZTZlYTIyNjdjYjM1YmY2YTEyZTJlNmE3NTlhLi5jYzVjN2UxZTNmNDc1NDI2NmQ5ZGZlYWI1
MDcxOTBkNjNjYjhhNzg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJs
ZUNvY29hLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCkBAIC0x
NzIsNyArMTcyLDcgQEAKICNlbmRpZgogCiAvLyBGSVhNRTogU2VlbXMgbGlrZWx5IHRoaXMgY2Fu
IGJlIGVuYWJsZWQgZm9yIHR2T1MuCi0jaWYgIWRlZmluZWQoRU5BQkxFX0NTU19DT05JQ19HUkFE
SUVOVFMpICYmICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEIDwgMTAxNDAwKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKKyNpZiAhZGVmaW5lZChFTkFCTEVf
Q1NTX0NPTklDX0dSQURJRU5UUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCiAjZGVmaW5lIEVOQUJM
RV9DU1NfQ09OSUNfR1JBRElFTlRTIDEKICNlbmRpZgogCkBAIC0yMjgsNyArMjI4LDcgQEAKICNk
ZWZpbmUgRU5BQkxFX0VESVRBQkxFX1JFR0lPTiAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICYmICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNDAwKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCisj
aWYgIWRlZmluZWQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFM
WVNUKQogI2RlZmluZSBFTkFCTEVfRU5DUllQVEVEX01FRElBIDEKICNlbmRpZgogCkBAIC00MDIs
NyArNDAyLDcgQEAKICNlbmRpZgogCiAvLyBGSVhNRTogV2UgYWxtb3N0IGNlcnRhaW5seSBkbyBu
b3QgbmVlZCB0aGlzIG1vbm9zcGFjZSBmb250IGV4Y2VwdGlvbiBmb3Igd2F0Y2hPUyBhbmQgdHZP
Uy4KLSNpZiAhZGVmaW5lZChFTkFCTEVfTU9OT1NQQUNFX0ZPTlRfRVhDRVBUSU9OKSAmJiAoKFBM
QVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkg
fHwgUExBVEZPUk0oV0FUQ0hPUykgfHwgUExBVEZPUk0oQVBQTEVUVikpCisjaWYgIWRlZmluZWQo
RU5BQkxFX01PTk9TUEFDRV9GT05UX0VYQ0VQVElPTikgJiYgKFBMQVRGT1JNKFdBVENIT1MpIHx8
IFBMQVRGT1JNKEFQUExFVFYpKQogI2RlZmluZSBFTkFCTEVfTU9OT1NQQUNFX0ZPTlRfRVhDRVBU
SU9OIDEKICNlbmRpZgogCkBAIC00OTQsNyArNDk0LDcgQEAKICNkZWZpbmUgRU5BQkxFX1JFU09V
UkNFX1VTQUdFIDEKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoRU5BQkxFX1JFVkVBTCkgJiYgIShQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDAp
ICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKKyNpZiAhZGVmaW5l
ZChFTkFCTEVfUkVWRUFMKSAmJiAhUExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExF
VFYpCiAjZGVmaW5lIEVOQUJMRV9SRVZFQUwgMQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgK
aW5kZXggMTk3ZjFiYTc1ZjRlMGMyYzlmZDY0MDU4OWU1NTljM2MyMjVlMzRjZC4uMTAyODY5NTEw
ODk5ZmZjYzYwNDBkMzMzZmY0NWUzY2U1YmQwMmJiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvUGxhdGZvcm1IYXZlLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKQEAg
LTI1MCw3ICsyNTAsNyBAQAogI2RlZmluZSBIQVZFX0ZKQ1ZUWlNfSU5TVFJVQ1RJT04gMQogI2Vu
ZGlmCiAKLSNpZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAh
UExBVEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpICYmICFQTEFURk9STShNQUND
QVRBTFlTVCkKICNkZWZpbmUgSEFWRV9BUFBfTElOS1MgMQogI2VuZGlmCiAKQEAgLTMxOCwxMCAr
MzE4LDcgQEAKICNkZWZpbmUgSEFWRV9JT1NVUkZBQ0VfQUNDRUxFUkFUT1IgMQogI2VuZGlmCiAK
LSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMTUwMCkgXAotICAgIHx8ICgoKFBMQVRGT1JNKElPUykgJiYgIVBMQVRGT1JNKElPU19GQU1J
TFlfU0lNVUxBVE9SKSkgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpKSAmJiBfX0lQSE9ORV9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDApIFwKLSAgICB8fCAoUExBVEZPUk0oV0FUQ0hP
UykgJiYgIVBMQVRGT1JNKElPU19GQU1JTFlfU0lNVUxBVE9SKSAmJiBfX1dBVENIX09TX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDYwMDAwKSBcCi0gICAgfHwgKFBMQVRGT1JNKEFQUExFVFYpICYm
ICFQTEFURk9STShJT1NfRkFNSUxZX1NJTVVMQVRPUikgJiYgX19UVl9PU19WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMzAwMDApCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oSU9TX0ZB
TUlMWV9TSU1VTEFUT1IpCiAjZGVmaW5lIEhBVkVfSU9TVVJGQUNFX1NFVF9PV05FUlNISVAgMQog
I2VuZGlmCiAKQEAgLTM1OCw3ICszNTUsNyBAQAogI2RlZmluZSBIQVZFX1RPVUNIX0JBUiAxCiAj
ZW5kaWYKIAotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkgJiYgIVBMQVRGT1JNKFdBVENIT1Mp
ICYmICFQTEFURk9STShBUFBMRVRWKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhUExBVEZPUk0o
V0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCiAjZGVmaW5lIEhBVkVfSFNUU19TVE9SQUdF
X1BBVEggMQogI2VuZGlmCiAKQEAgLTM4NywxMCArMzg0LDYgQEAKICNkZWZpbmUgSEFWRV9GT1VO
REFUSU9OX1dJVEhfU0FNRV9TSVRFX0NPT0tJRV9TVVBQT1JUIDEKICNlbmRpZgogCi0jaWYgUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMDE0MDAKLSNk
ZWZpbmUgSEFWRV9OU0hUVFBDT09LSUVTVE9SQUdFX19JTklUV0lUSElERU5USUZJRVJfV0lUSF9J
TkFDQ1VSQVRFX05VTExBQklMSVRZIDEKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oTUFDKSB8fCBQ
TEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSB8fCBQTEFURk9STShHVEspIHx8
IFBMQVRGT1JNKFdQRSkKICNkZWZpbmUgSEFWRV9PU19EQVJLX01PREVfU1VQUE9SVCAxCiAjZW5k
aWYKQEAgLTM5OSw3ICszOTIsNyBAQAogI2RlZmluZSBIQVZFX0NHX0ZPTlRfUkVOREVSSU5HX0dF
VF9GT05UX1NNT09USElOR19ESVNBQkxFRCAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAKKyNpZiBQTEFURk9S
TShNQUMpCiAjZGVmaW5lIEhBVkVfUkVBRF9PTkxZX1NZU1RFTV9WT0xVTUUgMQogI2VuZGlmCiAK
QEAgLTQzMSwxMSArNDI0LDExIEBACiAjZGVmaW5lIEhBVkVfQUNDRVNTSUJJTElUWV9CVU5ETEVT
X1BBVEggMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9STShNQUMp
ICYmICEoX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAgJiYgX19NQUNf
T1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTQwNCkpCisjaWYgUExBVEZPUk0oQ09DT0Ep
CiAjZGVmaW5lIEhBVkVfQ0ZORVRXT1JLX09WRVJSSURFX1NFU1NJT05fQ09PS0lFX0FDQ0VQVF9Q
T0xJQ1kgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApICYmICFQTEFURk9S
TShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKKyNpZiBQTEFURk9STShDT0NPQSkgJiYg
IVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBIQVZFX0NG
TkVUV09SS19OU1VSTFNFU1NJT05fU1RSSUNUUlVTVEVWQUxVQVRFIDEKICNlbmRpZgogCkBAIC00
NDYsMjEgKzQzOSw2IEBACiAjZGVmaW5lIEhBVkVfQ0ZORVRXT1JLX05TVVJMU0VTU0lPTl9DT05O
RUNUSU9OX0NBQ0hFX0xJTUlUUyAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1Nf
RkFNSUxZKQotI2RlZmluZSBIQVZFX0NGTkVUV09SS19ORUdPVElBVEVEX1NTTF9QUk9UT0NPTF9D
SVBIRVIgMQotI2VuZGlmCi0KLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9f
SVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkgfHwgUExBVEZPUk0oTUFD
Q0FUQUxZU1QpIHx8IFBMQVRGT1JNKFdBVENIT1MpIHx8IFBMQVRGT1JNKEFQUExFVFYpCi0jZGVm
aW5lIEhBVkVfQ0ZORVRXT1JLX1NBTUVTSVRFX0NPT0tJRV9BUEkgMQotI2VuZGlmCi0KLSNpZiAo
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUw
MCkgXAotICAgIHx8IChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEzMDAwMCkgXAotICAgIHx8IChQTEFURk9STShXQVRDSE9TKSAmJiBfX1dBVENI
X09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDYwMDAwKSBcCi0gICAgfHwgKFBMQVRGT1JNKEFQ
UExFVFYpICYmIF9fVFZfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwKQotI2RlZmlu
ZSBIQVZFX0NGTkVUV09SS19NRVRSSUNTX0NPTk5FQ1RJT05fUFJPUEVSVElFUyAxCi0jZW5kaWYK
LQogI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8
IDEyMDAwMAogI2RlZmluZSBIQVZFX1NBRkFSSV9GT1JfV0VCS0lUX0RFVkVMT1BNRU5UX1JFUVVJ
UklOR19FWFRSQV9TWU1CT0xTIDEKICNlbmRpZgpAQCAtNDc3LDE1ICs0NTUsMTUgQEAKICNkZWZp
bmUgSEFWRV9DRk5FVFdPUktfQUxURVJOQVRJVkVfU0VSVklDRSAxCiAjZW5kaWYKIAotI2lmIFBM
QVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAK
KyNpZiBQTEFURk9STShNQUMpCiAjZGVmaW5lIEhBVkVfQ1NDSEVDS0ZJWERJU0FCTEUgMQogI2Vu
ZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApICYmICFQTEFURk9STShXQVRDSE9TKSAm
JiAhUExBVEZPUk0oQVBQTEVUVikKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVBMQVRGT1JNKFdB
VENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBIQVZFX01ETlNfRkFTVF9SRUdJ
U1RSQVRJT04gMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgIShQTEFURk9STShN
QUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDApICYmICFQTEFU
Rk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKKyNpZiBQTEFURk9STShDT0NPQSkg
JiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBIQVZF
X0NURk9OVENSRUFURUZPUkNIQVJBQ1RFUlNXSVRITEFOR1VBR0VBTkRPUFRJT04gMQogI2VuZGlm
CiAKQEAgLTUxOCwxMSArNDk2LDExIEBACiAjZGVmaW5lIEhBVkVfTE9PS1VQX0dFU1RVUkVfUkVD
T0dOSVpFUiAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQorI2lm
IFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBIQVZFX0FMTE9XU19TRU5TSVRJVkVfTE9HR0lORyAx
CiAjZW5kaWYKIAotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1NfRkFNSUxZKQorI2lmIFBMQVRGT1JN
KENPQ09BKQogI2RlZmluZSBIQVZFX0ZBSVJQTEFZU1RSRUFNSU5HX0NFTkNfSU5JVERBVEEgMQog
I2VuZGlmCiAKQEAgLTU0Niw3ICs1MjQsNyBAQAogI2RlZmluZSBIQVZFX05XUEFSQU1FVEVSU19U
UkFDS0VSX0FQSSAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhKFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMCkgJiYgIVBM
QVRGT1JNKE1BQ0NBVEFMWVNUKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAhUExBVEZPUk0oTUFD
Q0FUQUxZU1QpCiAjZGVmaW5lIEhBVkVfQVZQTEFZRVJfUkVTT1VSQ0VfQ09OU0VSVkFUSU9OX0xF
VkVMIDEKICNlbmRpZgogCkBAIC01NjIsMzEgKzU0MCwxMSBAQAogI2RlZmluZSBIQVZFX0NPUkVU
RVhUX0FVVE9fT1BUSUNBTF9TSVpJTkcgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAm
JiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKQotI2RlZmluZSBIQVZF
X05TRk9OVF9XSVRIX09QVElDQUxfU0laSU5HX0JVRyAxCi0jZW5kaWYKLQotI2lmIChQTEFURk9S
TShJT1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAxNTAwKSkKKyNpZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQykKICNkZWZp
bmUgSEFWRV9BUFBfU1NPIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmICEoUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKQot
I2RlZmluZSBIQVZFX1RMU19QUk9UT0NPTF9WRVJTSU9OX1QgMQotI2VuZGlmCi0KLSNpZiBQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCi0j
ZGVmaW5lIEhBVkVfU1VCVklFV1NfSVZBUl9TUEkgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShN
QUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IDEwMTUwMAotI2RlZmluZSBI
QVZFX1NVQlZJRVdTX0lWQVJfREVDTEFSRURfQllfU0RLIDEKLSNlbmRpZgotCi0jaWYgUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxNTAwCi0jZGVm
aW5lIEhBVkVfQVhfQ0xJRU5UX1RZUEUgMQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDT0NPQSkg
JiYgIShQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAx
MDE1MDApICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYg
IVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogI2RlZmluZSBIQVZFX0RFU0lHTl9TWVNURU1fVUlfRk9O
VFMgMQogI2VuZGlmCiAKQEAgLTU5NCwxMSArNTUyLDcgQEAKICNkZWZpbmUgSEFWRV9DT09LSUVf
Q0hBTkdFX0xJU1RFTkVSX0FQSSAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwKSB8fCBQTEFURk9STShJT1Nf
RkFNSUxZKQotI2RlZmluZSBIQVZFX0RBVEFfUFJPVEVDVElPTl9LRVlDSEFJTiAxCi0jZW5kaWYK
LQotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxNTAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgIVBMQVRGT1JNKElPU19GQU1J
TFlfU0lNVUxBVE9SKSkKKyNpZiBQTEFURk9STShNQUMpICYmICFQTEFURk9STShJT1NfRkFNSUxZ
X1NJTVVMQVRPUikKICNkZWZpbmUgSEFWRV9ORUFSX0ZJRUxEIDEKICNlbmRpZgogCkBAIC02MDYs
MTAgKzU2MCw2IEBACiAjZGVmaW5lIEhBVkVfT1NfU0lHTlBPU1QgMQogI2VuZGlmCiAKLSNpZiAo
UExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUw
MCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEzMDAwMCkKLSNkZWZpbmUgSEFWRV9BVkFTU0VUV1JJVEVSREVMRUdBVEUgMQot
I2VuZGlmCi0KICNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDExMDAwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDE0MDAwMCkKICNkZWZpbmUgSEFWRV9BVkFTU0VUV1JJ
VEVSREVMRUdBVEVfQVBJIDEKICNlbmRpZgpAQCAtNjI2LDIyICs1NzYsMTQgQEAKICNkZWZpbmUg
SEFWRV9OU1BST0dSRVNTX1BVQkxJU0hJTkdfU1BJIDEKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IChQ
TEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMzAwMDApCi0jZGVmaW5lIEhBVkVfR0NFWFRFTkRFREdBTUVQQURfQlVUVE9OU19PUFRJT05T
X01FTlUgMQotI2VuZGlmCi0KICNpZiBQTEFURk9STShDT0NPQSkKICNkZWZpbmUgSEFWRV9HQ0VY
VEVOREVER0FNRVBBRF9CVVRUT05TX1RIVU1CU1RJQ0sgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkKKyNp
ZiBQTEFURk9STShNQUMpCiAjZGVmaW5lIEhBVkVfTVVMVElHQU1FUEFEUFJPVklERVJfU1VQUE9S
VCAxCiAjZW5kaWYKIAotI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxNTAwKQotI2RlZmluZSBIQVZFX0hJRF9GUkFNRVdPUksgMQotI2Vu
ZGlmCi0KICNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJ
UkVEID49IDExMDAwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDE0MDAwMCkKICNkZWZpbmUgSEFWRV9HQ0VYVEVOREVER0FN
RVBBRF9IT01FX0JVVFRPTiAxCiAjZW5kaWYKQEAgLTcwMiwxOCArNjQ0LDEwIEBACiAjZGVmaW5l
IEhBVkVfTUVESUFfVVNBR0VfRlJBTUVXT1JLIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oSU9T
KSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMTUwMCkKLSNkZWZpbmUgSEFWRV9QQVNTS0lUX0JPVU5EX0lOVEVSRkFDRV9JREVOVElGSUVS
IDEKLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkKKyNpZiBQTEFURk9STShJT1Mp
IHx8IFBMQVRGT1JNKE1BQykKICNkZWZpbmUgSEFWRV9QQVNTS0lUX0lOU1RBTExNRU5UUyAxCiAj
ZW5kaWYKIAotI2lmIFBMQVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApCi0jZGVmaW5lIEhBVkVfUEFTU0tJVF9Q
QVlNRU5UX01FVEhPRF9CSUxMSU5HX0FERFJFU1MgMQotI2VuZGlmCi0KICNpZiAoUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEyMDAwMCkgfHwgKFBM
QVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTUwMDAw
KQogI2RlZmluZSBIQVZFX1BBU1NLSVRfUkVDVVJSSU5HX1NVTU1BUllfSVRFTSAxCiAjZGVmaW5l
IEhBVkVfUEFTU0tJVF9ERUZFUlJFRF9TVU1NQVJZX0lURU0gMQpAQCAtNzIzLDcgKzY1Nyw3IEBA
CiAjZGVmaW5lIEhBVkVfUEFTU0tJVF9VUERBVEVfU0hJUFBJTkdfTUVUSE9EU19XSEVOX0NIQU5H
SU5HX1NVTU1BUllfSVRFTVMgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgUExBVEZPUk0oSU9TKSB8
fCBQTEFURk9STShNQUNDQVRBTFlTVCkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgIVBMQVRGT1JN
KFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBIQVZFX1FVSUNLTE9PS19U
SFVNQk5BSUxJTkcgMQogI2VuZGlmCiAKQEAgLTc4NywxMCArNzIxLDYgQEAKICNkZWZpbmUgSEFW
RV9DVEZPTlRJU1NZU1RFTVVJRk9OVCAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENPQ09BKSAm
JiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEw
MTUwMCkKLSNkZWZpbmUgSEFWRV9DVEZPTlRHRVRQSFlTSUNBTFNZTUJPTElDVFJBSVRTIDEKLSNl
bmRpZgotCiAjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMTAwMDApIFwKICAgICB8fCAoKFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oTUFD
Q0FUQUxZU1QpKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNDAwMDAp
IFwKICAgICB8fCAoUExBVEZPUk0oV0FUQ0hPUykgJiYgX19XQVRDSF9PU19WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSA3MDAwMCkgXApAQCAtODc4LDcgKzgwOCw3IEBACiAjZGVmaW5lIEhBVkVfQVZP
VVRQVVRERVZJQ0VfU1BBVElBTEFVRElPIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oSU9TKSB8
fCBQTEFURk9STShNQUNDQVRBTFlTVCkgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApCisjaWYgUExBVEZPUk0oQ09DT0EpICYmICFQ
TEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikKICNkZWZpbmUgSEFWRV9TUEVF
Q0hSRUNPR05JWkVSIDEKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0
Zm9ybVVzZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaAppbmRleCA1MTczNzIxN2E1
NTE0MmFmMDk2YWU5NWFiNmMzNDAxMTcxNzk4MzVjLi45YzlmODBlM2ZkMWIzMmQzMmMxMjBiZjRj
YzU5ODc3OWQ4MWU0ZmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5o
CisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKQEAgLTE4OSwxMCArMTg5LDYgQEAK
ICNkZWZpbmUgVVNFX0lNTEFOR19GT05UX0xJTksyIDEKICNlbmRpZgogCi0jaWYgUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCAxMDE1MDAKLSNkZWZpbmUg
VVNFX0FWX1NBTVBMRV9CVUZGRVJfRElTUExBWV9MQVlFUiAxCi0jZW5kaWYKLQogI2lmIFBMQVRG
T1JNKENPQ09BKSB8fCBQTEFURk9STShHVEspCiAjZGVmaW5lIFVTRV9VTklGSUVEX1RFWFRfQ0hF
Q0tJTkcgMQogI2VuZGlmCkBAIC0yNTksNyArMjU1LDcgQEAKICNkZWZpbmUgVVNFX0RJQ1RBVElP
Tl9BTFRFUk5BVElWRVMgMQogI2VuZGlmCiAKLSNpZiAoUExBVEZPUk0oTUFDKSAmJiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTUwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKSkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICNkZWZpbmUgVVNF
X1NPVVJDRV9BUFBMSUNBVElPTl9BVURJVF9EQVRBIDEKICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByb3ZpZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVy
UHJvdmlkZXIuY3BwCmluZGV4IDZhNWM0Y2IzNDVmOWMwNjk5ZjZmNjU1YzllNDBjMTA5ZjY0NzQ4
YmIuLjc3NzZhZmVjNzY0ZDI1ODYwMjc4NGY4MDYzYjFlY2M4NTQzODE3MTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJvdmlk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJl
Y29yZGVyUHJvdmlkZXIuY3BwCkBAIC0zNiwxMyArMzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIHN0ZDo6dW5pcXVlX3B0cjxNZWRpYVJlY29yZGVyUHJpdmF0ZT4gTWVkaWFSZWNvcmRlclBy
b3ZpZGVyOjpjcmVhdGVNZWRpYVJlY29yZGVyUHJpdmF0ZShNZWRpYVN0cmVhbVByaXZhdGUmIHN0
cmVhbSwgY29uc3QgTWVkaWFSZWNvcmRlclByaXZhdGVPcHRpb25zJiBvcHRpb25zKQogewotI2lm
IEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQogICAgIHJldHVybiBNZWRpYVJlY29yZGVyUHJp
dmF0ZUFWRkltcGw6OmNyZWF0ZShzdHJlYW0sIG9wdGlvbnMpOwotI2Vsc2UKLSAgICBVTlVTRURf
UEFSQU0oc3RyZWFtKTsKLSAgICBVTlVTRURfUEFSQU0ob3B0aW9ucyk7Ci0gICAgcmV0dXJuIG51
bGxwdHI7Ci0jZW5kaWYKIH0KIAogYm9vbCBNZWRpYVJlY29yZGVyUHJvdmlkZXI6OmlzU3VwcG9y
dGVkKGNvbnN0IFN0cmluZyYgdmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmNwcCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2Yv
Q29yZU1lZGlhU29mdExpbmsuY3BwCmluZGV4IDhiZDNhMjNiM2Y5Zjc3ZjUyMGQ5N2M1ODM2MDBi
MmU1Y2UwOGJiMDguLmRmNzU3NGE3NGQ3YTVjNmM0NzlkZjlhNGEzZWRlY2Y2MjU0YTc3MzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuY3BwCkBA
IC0zOCw3ICszOCw3IEBACiAKICNpbmNsdWRlIDxDb3JlQXVkaW8vQ29yZUF1ZGlvVHlwZXMuaD4K
IAotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMDE0MDApCisjaWYgUExBVEZPUk0oQ09DT0EpCiAj
ZGVmaW5lIENNU0FNUExFQlVGRkVSQ0FMTF9OT0VTQ0FQRSBDRl9OT0VTQ0FQRQogI2Vsc2UKICNk
ZWZpbmUgQ01TQU1QTEVCVUZGRVJDQUxMX05PRVNDQVBFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmgKaW5kZXggOTg3NjkyYmNmODI1MDg4MzMxOTU3ZjIy
ZDBkNTg3ODJmY2Y3NzAwZi4uYzQxYjQ4M2E0N2NkZjcyYWYwNmJjMTA0OWZlMmRjZmQ5NjQ0NDYy
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jZi9Db3JlTWVkaWFTb2Z0TGlu
ay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaApA
QCAtMzgsNyArMzgsNyBAQAogI2RlZmluZSBTT0ZUTElOS19BVktJVF9GUkFNRVdPUksoKSBTT0ZU
X0xJTktfRlJBTUVXT1JLX09QVElPTkFMKEFWS2l0KQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FM
TE9XRUQgPj0gMTAxNDAwKQorI2lmIFBMQVRGT1JNKENPQ09BKQogI2RlZmluZSBDTVNBTVBMRUJV
RkZFUkNBTExfTk9FU0NBUEUgQ0ZfTk9FU0NBUEUKICNlbHNlCiAjZGVmaW5lIENNU0FNUExFQlVG
RkVSQ0FMTF9OT0VTQ0FQRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2Nv
YS9BVkZvdW5kYXRpb25Tb2Z0TGluay5tbSBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2Ev
QVZGb3VuZGF0aW9uU29mdExpbmsubW0KaW5kZXggMzUxYzZmMmYwZGYxNDk4MGMyM2I5MTI5MjM5
YTg5YzQwOTNiZDRjNC4uMTE2ZTdkZDc1OGQ4NzJkMTkzN2ExZjk3MTVjOWRmN2NkMTYxOGM1NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0
TGluay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL0FWRm91bmRhdGlvblNv
ZnRMaW5rLm1tCkBAIC0zMCw3ICszMCw3IEBACiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZGb3Vu
ZGF0aW9uLmg+CiAjaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KIAotI2lmICEoUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKSAmJiAhUExB
VEZPUk0oV0FUQ0hPUykgJiYgIVBMQVRGT1JNKEFQUExFVFYpCisjaWYgIVBMQVRGT1JNKFdBVENI
T1MpICYmICFQTEFURk9STShBUFBMRVRWKQogU09GVF9MSU5LX0ZSQU1FV09SS19GT1JfU09VUkNF
X1dJVEhfRVhQT1JUKFBBTCwgQVZGb3VuZGF0aW9uLCBQQUxfRVhQT1JUKQogI2Vsc2UKIEBpbnRl
cmZhY2UgQVZQbGF5ZXJJdGVtIChEaXNhYmxlS1ZPT25TdXByZXNzZXNWaWRlb0xheWVycykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oIGIv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmgKaW5kZXggMDc1MWMw
YjNiNTE3NjAxODE0MDhjYmRiZjAwZmViMzU1ZmIyNzE0Yy4uMjIzZGNmMjhkODdkMjA5OTQyOTk3
Yzc0ZmIwMDYyYWY1YjcxYThmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9z
cGkvY2YvQ0ZOZXR3b3JrU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2Yv
Q0ZOZXR3b3JrU1BJLmgKQEAgLTMwMSwxMiArMzAxLDEwIEBAIHR5cGVkZWYgTlNfRU5VTShOU0lu
dGVnZXIsIE5TVVJMU2Vzc2lvbkNvbXBhbmlvblByb3h5UHJlZmVyZW5jZSkgewogI2VuZGlmCiBA
ZW5kCiAKLSNpZiBIQVZFKENGTkVUV09SS19ORUdPVElBVEVEX1NTTF9QUk9UT0NPTF9DSVBIRVIp
CiBAaW50ZXJmYWNlIE5TVVJMU2Vzc2lvblRhc2tUcmFuc2FjdGlvbk1ldHJpY3MgKCkKIEBwcm9w
ZXJ0eSAoYXNzaWduKSBTU0xQcm90b2NvbCBfbmVnb3RpYXRlZFRMU1Byb3RvY29sOwogQHByb3Bl
cnR5IChhc3NpZ24pIFNTTENpcGhlclN1aXRlIF9uZWdvdGlhdGVkVExTQ2lwaGVyOwogQGVuZAot
I2VuZGlmCiAKIEBpbnRlcmZhY2UgTlNVUkxTZXNzaW9uIChTUEkpCiAjaWYgSEFWRShDRk5FVFdP
UktfTlNVUkxTRVNTSU9OX1NUUklDVFJVU1RFVkFMVUFURSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0FWRm91bmRhdGlvblNQSS5oIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9zcGkvY29jb2EvQVZGb3VuZGF0aW9uU1BJLmgKaW5kZXggY2IxZWQxMWZkZTc3
OTZlNGRiNDY5ZGUxZjhhMjA5Yjc0ZmQ2MzcxZC4uMGNkM2U2NDEzYzlmMzRmNzBlOTZhY2I5ZjAw
Nzc5OWMxNThhMDIwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29j
b2EvQVZGb3VuZGF0aW9uU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29j
b2EvQVZGb3VuZGF0aW9uU1BJLmgKQEAgLTM4MSw3ICszODEsNyBAQCBOU19BU1NVTUVfTk9OTlVM
TF9FTkQKIEBlbmQKICNlbmRpZgogCi0jaWYgIVVTRShBUFBMRV9JTlRFUk5BTF9TREspIHx8IFVT
RShBVl9TQU1QTEVfQlVGRkVSX0RJU1BMQVlfTEFZRVIpCisjaWYgIVVTRShBUFBMRV9JTlRFUk5B
TF9TREspCiBAaW50ZXJmYWNlIEFWU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIChXZWJDb3JlUHJp
dmF0ZSkKIEBwcm9wZXJ0eSAoYXNzaWduLCBub25hdG9taWMpIEJPT0wgcHJldmVudHNEaXNwbGF5
U2xlZXBEdXJpbmdWaWRlb1BsYXliYWNrOwogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCmluZGV4IDg0OTZlNzZjNzVkMmI5NTczZDQwYjg0MmIy
YmY3MmU5OTg0N2ZmZWUuLmYxZWI5ZGMwNGE0MzNiYTU0NGM2NGQzZjNmYTUwNTVhMmZkNjM5OWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEku
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmgKQEAg
LTQxMyw5ICs0MTMsNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBQS1BheW1lbnRTZXR1
cEZlYXR1cmVUeXBlKSB7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBOU1N0cmluZyAq
c291cmNlQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyOwogQHByb3BlcnR5IChub25hdG9taWMs
IHN0cm9uZykgTlNTdHJpbmcgKnNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmllcjsK
IEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIE5TU3RyaW5nICpDVERhdGFDb25uZWN0aW9u
U2VydmljZVR5cGU7Ci0jaWYgSEFWRShQQVNTS0lUX0JPVU5EX0lOVEVSRkFDRV9JREVOVElGSUVS
KQogQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpib3VuZEludGVyZmFjZUlk
ZW50aWZpZXI7Ci0jZW5kaWYKIEBlbmQKIAogI2lmICFIQVZFKFBBU1NLSVRfSU5TVEFMTE1FTlRT
KQpAQCAtNDQyLDExICs0NDAsOSBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBQS1BheW1l
bnRCdXR0b25UeXBlKSB7CiAgICAgUEtQYXltZW50QnV0dG9uVHlwZVNldFVwLAogICAgIFBLUGF5
bWVudEJ1dHRvblR5cGVJblN0b3JlLAogICAgIFBLUGF5bWVudEJ1dHRvblR5cGVEb25hdGUsCi0j
aWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEw
MTQwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBQS1BheW1lbnRCdXR0b25UeXBlQ2hl
Y2tvdXQsCiAgICAgUEtQYXltZW50QnV0dG9uVHlwZUJvb2ssCiAgICAgUEtQYXltZW50QnV0dG9u
VHlwZVN1YnNjcmliZSwKLSNlbmRpZgogfTsKICNlbmRpZiAvLyAhSEFWRShQQVNTS0lUX1JFQ1VS
UklOR19TVU1NQVJZX0lURU0pCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
c3BpL21hYy9ISVNlcnZpY2VzU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMv
SElTZXJ2aWNlc1NQSS5oCmluZGV4IGI4ZGYwYTFiY2M4OTUyMmRmZWZlZDYzNmY3YWUzMWMyYmVj
YjE5MmEuLjYxNjAwY2M2Y2E1ZjA1ZTgzYTIwOGM1MTFjY2E0MGMwZTBlZjY4OWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9ISVNlcnZpY2VzU1BJLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL0hJU2VydmljZXNTUEkuaApAQCAtMTMwLDcg
KzEzMCw2IEBAIE9TU3RhdHVzIFNldEFwcGxpY2F0aW9uSXNEYWVtb24oQm9vbGVhbik7CiBBWEVy
cm9yIF9BWFVJRWxlbWVudFVzZVNlY29uZGFyeUFYVGhyZWFkKGJvb2wgZW5hYmxlZCk7CiAjZW5k
aWYKIAotI2lmIEhBVkUoQVhfQ0xJRU5UX1RZUEUpCiB0eXBlZGVmIENGX0VOVU0oaW50MzJfdCwg
QVhDbGllbnRUeXBlKQogewogICAgIGtBWENsaWVudFR5cGVOb0FjdGl2ZVJlcXVlc3RGb3VuZCA9
IDAsCkBAIC0xNDcsNyArMTQ2LDYgQEAgdHlwZWRlZiBDRl9FTlVNKGludDMyX3QsIEFYQ2xpZW50
VHlwZSkKIH07CiBBWENsaWVudFR5cGUgX0FYR2V0Q2xpZW50Rm9yQ3VycmVudFJlcXVlc3RVbnRy
dXN0ZWQodm9pZCk7CiB2b2lkIF9BWFNldENsaWVudElkZW50aWZpY2F0aW9uT3ZlcnJpZGUoQVhD
bGllbnRUeXBlKTsKLSNlbmRpZiAvLyBIQVZFKEFYX0NMSUVOVF9UWVBFKQogCiBleHRlcm4gQ0ZT
dHJpbmdSZWYga0FYSW50ZXJmYWNlUmVkdWNlTW90aW9uS2V5OwogZXh0ZXJuIENGU3RyaW5nUmVm
IGtBWEludGVyZmFjZVJlZHVjZU1vdGlvblN0YXR1c0RpZENoYW5nZU5vdGlmaWNhdGlvbjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU01lbnVTUEkuaCBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU01lbnVTUEkuaAppbmRleCBlYmFhNjliYTcy
NzI5MzdjMWU0MDNhMThiM2M5Mzc2NmM0MWJlMDRlLi4wZTY0NzBlMGMxYTY5MDU0ZWM1MjljODI5
OGRiNmVkMGFhMzA0M2YwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9t
YWMvTlNNZW51U1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05TTWVu
dVNQSS5oCkBAIC0yNyw3ICsyNyw3IEBACiAKICNpZiBQTEFURk9STShNQUMpCiAKLSNpZiBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMTUwMAorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAKICNpbXBvcnQgPEFwcEtpdC9O
U01lbnVfUHJpdmF0ZS5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9tYWMvTlNWaWV3U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNWaWV3
U1BJLmgKaW5kZXggNjhjZThiZmMzNGU5ODVlY2FkZWE5MjY5MWE4ZDZhNmMzZmJiNDgzZi4uZGFk
N2I0NTc0MmRmMmZmMTY2MGFjMDdhNDRiYTM0NjlkODg2MzVlMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05TVmlld1NQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvc3BpL21hYy9OU1ZpZXdTUEkuaApAQCAtMzAsMTAgKzMwLDYgQEAKICNpbXBvcnQg
PHBhbC9zcGkvY29jb2EvUXVhcnR6Q29yZVNQSS5oPgogCiBAaW50ZXJmYWNlIE5TVmlldyAoKSA8
Q0FMYXllckRlbGVnYXRlPiB7Ci0jaWYgIUhBVkUoU1VCVklFV1NfSVZBUl9TUEkpICYmICFIQVZF
KFNVQlZJRVdTX0lWQVJfREVDTEFSRURfQllfU0RLKQotQHBhY2thZ2UKLSAgICBOU011dGFibGVB
cnJheTxfX2tpbmRvZiBOU1ZpZXcgKj4gKl9zdWJ2aWV3czsKLSNlbmRpZgogfQogCiAtIChOU1Zp
ZXcgKilfZmluZExhc3RWaWV3SW5LZXlWaWV3TG9vcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKaW5kZXggZTU0ODhhMjE3YWM5N2Ix
NjE0NThkYTI3MDJhM2ViOGRlZjQzN2YzZS4uMGJmMWJkNzM2NDczNjQ2ODc3YTEwMzM4YTQyNDFl
YzYwYTI2NDFiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kSG9zdC5jcHAKQEAgLTQwMSw4ICs0MDEsNiBAQCBTdHJpbmcgSW5zcGVjdG9yRnJv
bnRlbmRIb3N0OjpwbGF0Zm9ybVZlcnNpb25OYW1lKCkgY29uc3QKICAgICByZXR1cm4gImJpZy1z
dXIiX3M7CiAjZWxpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTAxNTAwCiAgICAgcmV0dXJuICJjYXRhbGluYSJfczsKLSNlbGlmIFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAKLSAgICBy
ZXR1cm4gIm1vamF2ZSJfczsKICNlbHNlCiAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dhbWVwYWQvY29jb2EvR2Ft
ZUNvbnRyb2xsZXJHYW1lcGFkLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9j
b2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWQubW0KaW5kZXggYTYyZmNiMjFiOWQzMDQ3OGVjYjcy
MTRmZjcyYmIzNDJlNWZhNjc3NS4uN2U0N2VmZDVlOGNkODFlNjQ0Y2E4YTFjZjBjOTgyNDRjN2I2
NDM1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2FtZXBhZC9jb2NvYS9H
YW1lQ29udHJvbGxlckdhbWVwYWQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ2Ft
ZXBhZC9jb2NvYS9HYW1lQ29udHJvbGxlckdhbWVwYWQubW0KQEAgLTEzMCwxMiArMTMwLDEwIEBA
IHZvaWQgR2FtZUNvbnRyb2xsZXJHYW1lcGFkOjpzZXR1cEFzRXh0ZW5kZWRHYW1lcGFkKCkKICAg
ICB9CiAKICAgICAvLyBTZWxlY3QsIFN0YXJ0Ci0jaWYgSEFWRShHQ0VYVEVOREVER0FNRVBBRF9C
VVRUT05TX09QVElPTlNfTUVOVSkKICAgICBiaW5kQnV0dG9uKG1fZXh0ZW5kZWRHYW1lcGFkLmdl
dCgpLmJ1dHRvbk9wdGlvbnMsIEdhbWVwYWRCdXR0b25Sb2xlOjpDZW50ZXJDbHVzdGVyTGVmdCk7
CiAgICAgZGlzYWJsZURlZmF1bHRTeXN0ZW1BY3Rpb24obV9leHRlbmRlZEdhbWVwYWQuZ2V0KCku
YnV0dG9uT3B0aW9ucyk7CiAgICAgYmluZEJ1dHRvbihtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5i
dXR0b25NZW51LCBHYW1lcGFkQnV0dG9uUm9sZTo6Q2VudGVyQ2x1c3RlclJpZ2h0KTsKICAgICBk
aXNhYmxlRGVmYXVsdFN5c3RlbUFjdGlvbihtX2V4dGVuZGVkR2FtZXBhZC5nZXQoKS5idXR0b25N
ZW51KTsKLSNlbmRpZgogCiAgICAgLy8gTDMsIFIzCiAjaWYgSEFWRShHQ0VYVEVOREVER0FNRVBB
RF9CVVRUT05TX1RIVU1CU1RJQ0spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCBmMzE0ZGNl
YmRhMzRmOGIyMDgzYjM0YTlkOWUxMzY1NDJjOWQxYWI5Li5mYWI4YThjYmY0ZTVjZmVkYTZkNTI5
MmZkZmNkODBkMzEyMWU4MWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTMxOTIsMTQg
KzMxOTIsNiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBsYXll
ckl0ZW1TdGF0dXNEaWRDaGFuZ2UoaW50IHN0YXR1cykKIHsKICAgICBtX2NhY2hlZEl0ZW1TdGF0
dXMgPSBzdGF0dXM7CiAKLSAgICAvLyBTZXR0aW5nIHRoZSBwaXRjaCBhbGdvcml0aG0gaGVyZSBj
YXVzZXMgdGVzdHMgdG8gZmFpbCBvbiBNb2phdmU7IHJldmVydCB0aGlzIGNoYW5nZQotICAgIC8v
IGZvciA8PSBNb2phdmUgYnVpbGRzLgotI2lmICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID4gMTAxNDAwKQotICAgIC8vIEZJWE1FKHJkYXI6Ly83Mjgy
OTM1NCk6IFJlbW92ZSBhZnRlciBBVkZvdW5kYXRpb24gcmFkYXIgaXMgZml4ZWQuCi0gICAgaWYg
KHN0YXR1cyA9PSBBVlBsYXllckl0ZW1TdGF0dXNSZWFkeVRvUGxheSkKLSAgICAgICAgW21fYXZQ
bGF5ZXJJdGVtIHNldEF1ZGlvVGltZVBpdGNoQWxnb3JpdGhtOmF1ZGlvVGltZVBpdGNoQWxnb3Jp
dGhtRm9yTWVkaWFQbGF5ZXJQaXRjaENvcnJlY3Rpb25BbGdvcml0aG0ocGxheWVyKCktPnBpdGNo
Q29ycmVjdGlvbkFsZ29yaXRobSgpLCBwbGF5ZXIoKS0+cHJlc2VydmVzUGl0Y2goKSwgbV9yZXF1
ZXN0ZWRSYXRlKV07Ci0jZW5kaWYKLQogICAgIHVwZGF0ZVN0YXRlcygpOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3Jl
VGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2Fj
aGVDb3JlVGV4dC5jcHAKaW5kZXggNGM1YTM1YzY4N2IzNzY5MjA5NzM0NzJhNjhiOWIwNDFkYmI2
YWMyZS4uNmY5ZjkzZTVlZDgzY2QzNmEyYjJlMGRlZGNiZDdlYmM0OGU0M2ExYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRD
YWNoZUNvcmVUZXh0LmNwcApAQCAtODI1LDE2ICs4MjUsOSBAQCBTeW50aGVzaXNQYWlyIGNvbXB1
dGVOZWNlc3NhcnlTeW50aGVzaXMoQ1RGb250UmVmIGZvbnQsIGNvbnN0IEZvbnREZXNjcmlwdGlv
biYgZgogCiAgICAgQ1RGb250U3ltYm9saWNUcmFpdHMgYWN0dWFsVHJhaXRzID0gMDsKICAgICBp
ZiAoaXNGb250V2VpZ2h0Qm9sZChmb250RGVzY3JpcHRpb24ud2VpZ2h0KCkpIHx8IGlzSXRhbGlj
KGZvbnREZXNjcmlwdGlvbi5pdGFsaWMoKSkpIHsKLSAgICAgICAgaWYgKHNob3VsZENvbXB1dGVQ
aHlzaWNhbFRyYWl0cyA9PSBTaG91bGRDb21wdXRlUGh5c2ljYWxUcmFpdHM6OlllcykgewotI2lm
IEhBVkUoQ1RGT05UR0VUUEhZU0lDQUxTWU1CT0xJQ1RSQUlUUykKKyAgICAgICAgaWYgKHNob3Vs
ZENvbXB1dGVQaHlzaWNhbFRyYWl0cyA9PSBTaG91bGRDb21wdXRlUGh5c2ljYWxUcmFpdHM6Olll
cykKICAgICAgICAgICAgIGFjdHVhbFRyYWl0cyA9IENURm9udEdldFBoeXNpY2FsU3ltYm9saWNU
cmFpdHMoZm9udCk7Ci0jZWxzZQotICAgICAgICAgICAgYXV0byBmb250Rm9yU3ludGhlc2lzQ29t
cHV0YXRpb24gPSByZXRhaW5QdHIoZm9udCk7Ci0gICAgICAgICAgICBpZiAoYXV0byBwaHlzaWNh
bEZvbnQgPSBhZG9wdENGKENURm9udENvcHlQaHlzaWNhbEZvbnQoZm9udCkpKQotICAgICAgICAg
ICAgICAgIGZvbnRGb3JTeW50aGVzaXNDb21wdXRhdGlvbiA9IFdURk1vdmUocGh5c2ljYWxGb250
KTsKLSAgICAgICAgICAgIGFjdHVhbFRyYWl0cyA9IENURm9udEdldFN5bWJvbGljVHJhaXRzKGZv
bnRGb3JTeW50aGVzaXNDb21wdXRhdGlvbi5nZXQoKSk7Ci0jZW5kaWYKLSAgICAgICAgfSBlbHNl
CisgICAgICAgIGVsc2UKICAgICAgICAgICAgIGFjdHVhbFRyYWl0cyA9IENURm9udEdldFN5bWJv
bGljVHJhaXRzKGZvbnQpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyUHJpdmF0ZUFW
RkltcGwuY3BwCmluZGV4IGQ0MTllMGUxOTI1NTVkNzM2MDg1ODUxZjU0Y2EwMDQwZDQ2YjY2M2Yu
Ljk3MThhNGI2NDNkYWI2OGU2MjcxZjNlZDE4Y2NkZDZlMGU0ZTFkNzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVB
VkZJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01l
ZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGwuaCIKIAot
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQor
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRlICJBdWRpb1N0cmVhbURlc2NyaXB0
aW9uLmgiCiAjaW5jbHVkZSAiQ0FBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmgiCkBAIC0xNzAsNCAr
MTcwLDQgQEAgY29uc3QgU3RyaW5nJiBNZWRpYVJlY29yZGVyUHJpdmF0ZUFWRkltcGw6Om1pbWVU
eXBlKCkgY29uc3QKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxF
KE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjZW5kaWYgLy8g
RU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXJQcml2YXRlQVZGSW1wbC5o
CmluZGV4IDMzN2VjMTlkNWI0OTQzYzA1MDJiMTFlZjcyMTE0NjQzNmUxMjAyMTIuLmM2NTk1NWQz
ZWQ4MDNmOWEzZDk3NGM0MzBjYzdkYTQzYjRlMmFlYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlclByaXZhdGVBVkZJbXBsLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVy
UHJpdmF0ZUFWRkltcGwuaApAQCAtMjQsNyArMjQsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRlICJDQUF1ZGlvU3RyZWFtRGVzY3JpcHRp
b24uaCIKICNpbmNsdWRlICJNZWRpYVJlY29yZGVyUHJpdmF0ZS5oIgpAQCAtNjgsNCArNjgsNCBA
QCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUo
TUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNlbmRpZiAvLyBF
TkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQ
cml2YXRlV3JpdGVyQ29jb2EuaAppbmRleCBiNzU1OGQyODBjMmVmNzk2MDY4Y2FjMGNjOTZiNTAz
M2RjMzcwOTcxLi4yMTFmNzVlZTczYWY2OTE5ZTdmNGM5OTU4ZTBjZDM0ODI1MzJkMDlmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlh
UmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyQ29jb2EuaApA
QCAtMjQsNyArMjQsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCiAKICNpbmNsdWRlICJBdWRpb1N0cmVhbURlc2NyaXB0aW9uLmgiCiAKQEAgLTE0Nyw0ICsx
NDcsNCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBF
TkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNlbmRp
ZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29h
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9NZWRpYVJl
Y29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLm1tCmluZGV4IDZhZDIwYmU4Y2I1NzkyM2EwZTc4NDJl
MzcwMWQzM2E2YWEwM2FiNmMuLjJjN2NhMmUwM2QyOTZjMDNkODFkMmNkYzE1MTcxNTkzZjFlNTA4
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29j
b2EvTWVkaWFSZWNvcmRlclByaXZhdGVXcml0ZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL01lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVy
Q29jb2EubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJNZWRpYVJlY29yZGVyUHJpdmF0ZVdyaXRlckNvY29hLmgiCiAKLSNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKQogCiAjaW5jbHVkZSAiQXVkaW9TYW1wbGVCdWZmZXJDb21wcmVzc29yLmgiCiAjaW5j
bHVkZSAiQXVkaW9TdHJlYW1EZXNjcmlwdGlvbi5oIgpAQCAtNTgyLDQgKzU4Miw0IEBAIHVuc2ln
bmVkIE1lZGlhUmVjb3JkZXJQcml2YXRlV3JpdGVyOjp2aWRlb0JpdFJhdGUoKSBjb25zdAogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKSAm
JiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RS
RUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9D
b29raWVDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvQ29v
a2llQ29jb2EubW0KaW5kZXggMTBlYzc1YTdlZWU4Nzg0MWNlMDEyYjlhZjE5YjQ2NzBiMGMxOTIw
MC4uMGRjNThhOTkwNmVjYTc0NmM2YmY5ZTc0YTgzZWZmMjg0ZmY1MDk2ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9Db29raWVDb2NvYS5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL0Nvb2tpZUNvY29hLm1tCkBA
IC0yOSwxNiArMjksNiBAQAogLy8gRklYTUU6IFJlbW92ZSBOU19BU1NVTUVfTk9OTlVMTF9CRUdJ
Ti9FTkQgYW5kIGFsbCBfTnVsbGFibGUgYW5ub3RhdGlvbnMgb25jZSB3ZSByZW1vdmUgdGhlIE5T
SFRUUENvb2tpZSBmb3J3YXJkIGRlY2xhcmF0aW9uIGJlbG93LgogTlNfQVNTVU1FX05PTk5VTExf
QkVHSU4KIAotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExP
V0VEIDwgMTAxNTAwCi10eXBlZGVmIE5TU3RyaW5nICogTlNIVFRQQ29va2llU3RyaW5nUG9saWN5
OwotQGludGVyZmFjZSBOU0hUVFBDb29raWUgKFN0YWdpbmcpCi1AcHJvcGVydHkgKG51bGxhYmxl
LCByZWFkb25seSwgY29weSkgTlNIVFRQQ29va2llU3RyaW5nUG9saWN5IHNhbWVTaXRlUG9saWN5
OwotQGVuZAotCi1zdGF0aWMgTlNTdHJpbmcgKiBjb25zdCBOU0hUVFBDb29raWVTYW1lU2l0ZUxh
eCA9IEAibGF4IjsKLXN0YXRpYyBOU1N0cmluZyAqIGNvbnN0IE5TSFRUUENvb2tpZVNhbWVTaXRl
U3RyaWN0ID0gQCJzdHJpY3QiOwotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3Rh
dGljIFZlY3Rvcjx1aW50MTZfdD4gcG9ydFZlY3RvckZyb21MaXN0KE5TQXJyYXk8TlNOdW1iZXIg
Kj4gKnBvcnRMaXN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jb2NvYS9OZXR3b3JrU3RvcmFnZVNlc3Npb25Db2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY29jb2EvTmV0d29ya1N0b3JhZ2VTZXNzaW9uQ29jb2EubW0KaW5kZXgg
NTBjNTAwNmY3MjI2MzhmNWU1M2Y3YWI4ZDYwZGY1MmNhNzUyNDJiZi4uOGU0YTI4NjBlZTgxMTkw
NmVjODY1NWNhNzE5MzkyNjNlMzkzMmNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jb2NvYS9OZXR3b3JrU3RvcmFnZVNlc3Npb25Db2NvYS5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtTdG9yYWdlU2Vzc2lv
bkNvY29hLm1tCkBAIC0xMjIsNyArMTIyLDYgQEAgdm9pZCBOZXR3b3JrU3RvcmFnZVNlc3Npb246
OnNldEFsbENvb2tpZXNUb1NhbWVTaXRlU3RyaWN0KGNvbnN0IFJlZ2lzdHJhYmxlRG9tYWkKIHsK
ICAgICBBU1NFUlQoaGFzUHJvY2Vzc1ByaXZpbGVnZShQcm9jZXNzUHJpdmlsZWdlOjpDYW5BY2Nl
c3NSYXdDb29raWVzKSk7CiAKLSNpZiBIQVZFKENGTkVUV09SS19TQU1FU0lURV9DT09LSUVfQVBJ
KQogICAgIFJldGFpblB0cjxOU011dGFibGVBcnJheTxOU0hUVFBDb29raWUgKj4+IG9sZENvb2tp
ZXNUb0RlbGV0ZSA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOwogICAg
IFJldGFpblB0cjxOU011dGFibGVBcnJheTxOU0hUVFBDb29raWUgKj4+IG5ld0Nvb2tpZXNUb0Fk
ZCA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdF0pOwogCkBAIC0xNDMsOSAr
MTQyLDcgQEAgdm9pZCBOZXR3b3JrU3RvcmFnZVNlc3Npb246OnNldEFsbENvb2tpZXNUb1NhbWVT
aXRlU3RyaWN0KGNvbnN0IFJlZ2lzdHJhYmxlRG9tYWkKICAgICBmb3IgKE5TSFRUUENvb2tpZSAq
bmV3Q29va2llIGluIG5ld0Nvb2tpZXNUb0FkZC5nZXQoKSkKICAgICAgICAgW25zQ29va2llU3Rv
cmFnZSgpIHNldENvb2tpZTpuZXdDb29raWVdOwogICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElP
TlMKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGRvbWFpbik7Ci0jZW5kaWYKKwogICAgIGNvbXBs
ZXRpb25IYW5kbGVyKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAppbmRleCBhOTk4ZDc2N2I5MmE1ZTVjZDNk
M2JmNzVmMmYxNGQzM2U1MDg1MjNlLi44NWNhODhmN2E5ODI0NjI2MmMzMWE3ZmI0MTc3OTk1MDUz
ZTQ5Y2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MuY3BwCkBAIC0zNDcsNyArMzQ3LDcgQEAgYm9vbCBHUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzOjphbGxvd3NFeGl0VW5kZXJNZW1vcnlQcmVzc3VyZSgpIGNvbnN0CiAg
ICAgaWYgKCFtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXItPmFsbG93c0V4aXRVbmRl
ck1lbW9yeVByZXNzdXJlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgotI2lmIFBM
QVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklU
RVJERUxFR0FURSkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkK
ICAgICBpZiAobV9yZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlciAmJiAhbV9yZW1vdGVNZWRpYVJl
Y29yZGVyTWFuYWdlci0+YWxsb3dzRXhpdFVuZGVyTWVtb3J5UHJlc3N1cmUoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogI2VuZGlmCkBAIC00MzEsNyArNDMxLDcgQEAgUmVtb3RlQXVkaW9NZWRp
YVN0cmVhbVRyYWNrUmVuZGVyZXJJbnRlcm5hbFVuaXRNYW5hZ2VyJiBHUFVDb25uZWN0aW9uVG9X
ZWJQcm9jZXMKIH0KICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShNRURJ
QV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2lmIFBMQVRGT1JNKENP
Q09BKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQogUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIm
IEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6Om1lZGlhUmVjb3JkZXJNYW5hZ2VyKCkKIHsKICAg
ICBpZiAoIW1fcmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIpCkBAIC02NTcsNyArNjU3LDcgQEAg
Ym9vbCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaXNwYXRjaE1lc3NhZ2UoSVBDOjpDb25u
ZWN0aW9uJiBjb25uZWN0aW9uLCBJUEMKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogI2Vu
ZGlmCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIEhBVkUo
QVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQogICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNz
YWdlczo6UmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkg
ewogICAgICAgICBtZWRpYVJlY29yZGVyTWFuYWdlcigpLmRpZFJlY2VpdmVNZXNzYWdlRnJvbVdl
YlByb2Nlc3MoY29ubmVjdGlvbiwgZGVjb2Rlcik7CiAgICAgICAgIHJldHVybiB0cnVlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
LmgKaW5kZXggYjg4MmFhMDkwNzM3NzZkYzhiOGRmNjk3ZGYwMjEwY2I1ODlhZWQzYi4uMDVhNTA1
ZmVlMzI5Mzc4YjEzMGE5Yzk5NzMyNjA2YmUyMGI0ODdjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCkBAIC0xNzQsNyAr
MTc0LDcgQEAgcHJpdmF0ZToKICAgICBVc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5JiB1c2Vy
TWVkaWFDYXB0dXJlTWFuYWdlclByb3h5KCk7CiAgICAgUmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRy
YWNrUmVuZGVyZXJJbnRlcm5hbFVuaXRNYW5hZ2VyJiBhdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5k
ZXJlckludGVybmFsVW5pdE1hbmFnZXIoKTsKICNlbmRpZgotI2lmIFBMQVRGT1JNKENPQ09BKSAm
JiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNp
ZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBSZW1vdGVNZWRp
YVJlY29yZGVyTWFuYWdlciYgbWVkaWFSZWNvcmRlck1hbmFnZXIoKTsKICNlbmRpZgogCkBAIC0y
NTYsNyArMjU2LDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlQXVkaW9N
ZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJJbnRlcm5hbFVuaXRNYW5hZ2VyPiBtX2F1ZGlvTWVkaWFT
dHJlYW1UcmFja1JlbmRlcmVySW50ZXJuYWxVbml0TWFuYWdlcjsKICAgICBSZWY8UmVtb3RlU2Ft
cGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlcj4gbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJN
YW5hZ2VyOwogI2VuZGlmCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShNRURJQV9TVFJF
QU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2lmIFBMQVRGT1JNKENPQ09BKSAm
JiBFTkFCTEUoTUVESUFfU1RSRUFNKQogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVNZWRpYVJl
Y29yZGVyTWFuYWdlcj4gbV9yZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlcjsKICNlbmRpZgogI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuR1BVUHJvY2Vzcy5zYi5pbiBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluCmluZGV4IDQ0
YWFlYjAzNzkwZDBlNWI5MmUxY2FjN2M5NzM3NmY0ODRhNDNiNzQuLjkwMDZiYmM2OWViNmY5Zjhm
MzE5YjBlZTQzOTJjZTYwZjRjN2Q0YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5HUFVQcm9jZXNzLnNiLmluCkBA
IC0xMjAsMTAgKzEyMCw4IEBACiAgICAgOzsgQ1ZNUwogICAgIChhbGxvdyBtYWNoLWxvb2t1cCAo
d2l0aCB0ZWxlbWV0cnkpCiAgICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmN2bXNTZXJ2
IikpCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAgfHwgUExB
VEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgKGFsbG93IGZpbGUtcmVhZCogKHdpdGggdGVsZW1ldHJ5
KQogICAgICAgICAocHJlZml4ICIvcHJpdmF0ZS92YXIvZGIvQ1ZNUy9jdm1zQ29kZVNpZ25PYmoi
KSkKLSNlbmRpZgogICAgIDs7IE9wZW5DTAogICAgIChhbGxvdyBpb2tpdC1vcGVuICh3aXRoIHRl
bGVtZXRyeSkKICAgICAgICAgKGlva2l0LWNvbm5lY3Rpb24gIklPQWNjZWxlcmF0b3IiKQpAQCAt
NDMxLDcgKzQyOSw2IEBACiAgICAgKGlva2l0LXByb3BlcnR5ICJzYXZlZC1jb25maWciKQogICAg
IChpb2tpdC1wcm9wZXJ0eSAic3RhcnR1cC10aW1pbmciKQogICAgIChpb2tpdC1wcm9wZXJ0eSAi
dG91Y2gtc2l6ZS1pZCIpCi0jaWYgIVBMQVRGT1JNKE1BQykgfHwgX19NQUNfT1NfWF9WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSAxMDE0MDAKICAgICAoaW9raXQtcHJvcGVydHkgIkFUWSxjYml0cyIp
CiAgICAgKGlva2l0LXByb3BlcnR5ICJBVFksaW50cmV2IikKICAgICAoaW9raXQtcHJvcGVydHkg
IkFjY2VsTmF0aXZlRE1BUm93Qnl0ZUFsaWdubWVudCIpCkBAIC00NDksNyArNDQ2LDYgQEAKICAg
ICAoaW9raXQtcHJvcGVydHkgIlRlbGVtZXRyeURpc2FibGUiKQogICAgIChpb2tpdC1wcm9wZXJ0
eSAiY2FpbF9wcm9wZXJ0aWVzIikKICAgICAoaW9raXQtcHJvcGVydHkgImRwbSIpCi0jZW5kaWYK
ICAgICAoaW9raXQtcHJvcGVydHkgIklPR1ZBSDI2NEVuY29kZUNhcGFiaWxpdGllcyIpIDs7IDxy
ZGFyOi8vcHJvYmxlbS80OTQ5ODA0MD4KICNpZiAhUExBVEZPUk0oTUFDKSB8fCBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID4gMTAxNTAwCiAgICAgKGlva2l0LXByb3BlcnR5ICJJT0FW
REhFVkNEZWNvZGVDYXBhYmlsaXRpZXMiKSA7OyA8cmRhcjovL3Byb2JsZW0vNzExMDAxODg+CkBA
IC03MDQsOSArNzAwLDYgQEAKICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5sb2dkLmV2
ZW50cyIpKQogCiAoYWxsb3cgbWFjaC1sb29rdXAgKHdpdGggdGVsZW1ldHJ5KQotI2lmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE0MDAKLSAgICAgICAoZ2xvYmFsLW5hbWUg
ImNvbS5hcHBsZS5Gb250T2JqZWN0c1NlcnZlciIpCi0jZW5kaWYKICAgICAgICAoZ2xvYmFsLW5h
bWUgImNvbS5hcHBsZS5TeXN0ZW1Db25maWd1cmF0aW9uLmNvbmZpZ2QiKQogICAgICAgIChnbG9i
YWwtbmFtZSAiY29tLmFwcGxlLmFzc2VydGlvbmQucHJvY2Vzc2Fzc2VydGlvbmNvbm5lY3Rpb24i
KQogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmF1ZGlvLnRvb2xib3gucmVwb3J0aW5n
LnNlcnZpY2UiKQpAQCAtNzIyLDE4ICs3MTUsMTQgQEAKICAgICAgICAoZ2xvYmFsLW5hbWUgImNv
bS5hcHBsZS50Y2NkLnN5c3RlbSIpCiApCiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTQwMCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKIDs7IDxyZGFyOi8vcHJv
YmxlbS80NzI2ODE2Nj4KIChhbGxvdyBtYWNoLWxvb2t1cCAod2l0aCB0ZWxlbWV0cnkpICh4cGMt
c2VydmljZS1uYW1lICJjb20uYXBwbGUuTVRMQ29tcGlsZXJTZXJ2aWNlIikpCi0jZW5kaWYKIAot
I2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwIHx8IFBMQVRGT1JN
KE1BQ0NBVEFMWVNUKQogKGRlbnkgbWFjaC1sb29rdXAgKHdpdGggbm8tbG9nKQogICAgIChnbG9i
YWwtbmFtZSAiY29tLmFwcGxlLkNvcmVTZXJ2aWNlcy5jb3Jlc2VydmljZXNkIikKICAgICAoZ2xv
YmFsLW5hbWUgImNvbS5hcHBsZS5EaXNrQXJiaXRyYXRpb24uZGlza2FyYml0cmF0aW9uZCIpCiAg
ICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuVmlld0JyaWRnZUF1eGlsaWFyeSIpCiAgICAgKGds
b2JhbC1uYW1lICJjb20uYXBwbGUud2luZG93c2VydmVyLmFjdGl2ZSIpKQotI2VuZGlmCiAKIDs7
IE5lZWRlZCB0byBzdXBwb3J0IGVuY3J5cHRlZCBtZWRpYSBwbGF5YmFjayA8cmRhcjovL3Byb2Js
ZW0vNDAwMzg0Nzg+CiAoYWxsb3cgbWFjaC1sb29rdXAgKHdpdGggdGVsZW1ldHJ5KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVy
LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRl
ci5jcHAKaW5kZXggOGMxMjU0OWYxNDMyODlmZjFmMmRiYjM2NDU4N2MyZjY4ZWFjYTZiYi4uN2U1
NzJiM2E3NGEyMDI3ZTc0Y2FhNzY3MmU1MmRhMGFmODM0MjA3MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIuY3BwCkBA
IC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUmVtb3RlTWVk
aWFSZWNvcmRlci5oIgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VT
UykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUp
CisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJHUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmgiCkBAIC0xMzQsNCArMTM0LDQgQEAgdm9pZCBSZW1vdGVNZWRp
YVJlY29yZGVyOjpyZXN1bWUoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25I
YW5kbGVyKQogCiAjdW5kZWYgTUVTU0FHRV9DSEVDSwogCi0jZW5kaWYgLy8gUExBVEZPUk0oQ09D
T0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFW
RShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpICYmIEVO
QUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5oIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmgKaW5kZXgg
MWIwMDAzZDQwZTgxNGQwMDQ0YjhjYzRmNThhNTYxNzU5MzU1MzVhYS4uY2I2OTQ2YzgyNTg4OWQ3
OThhMTc5YzAwZWY3OGE0NzFjZGIxOGVjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyLmgKQEAgLTI1LDcgKzI1LDcgQEAK
IAogI3ByYWdtYSBvbmNlCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9D
RVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FU
RSkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIk1l
ZGlhUmVjb3JkZXJJZGVudGlmaWVyLmgiCkBAIC04OSw0ICs4OSw0IEBAIHByaXZhdGU6CiAKIH0K
IAotI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVO
QUJMRShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2VuZGlm
IC8vIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJ
QV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1Jl
bW90ZU1lZGlhUmVjb3JkZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
d2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXIubWVzc2FnZXMuaW4KaW5kZXggYWQ1ZWI5NGExYTdh
ZmYxNjI1YjkyYTJhZDI4MGVjNTc5MDk4MjNhYi4uOWY1NWM3N2I2ZDlmM2E3ODQwYWQwZjYxYjAy
MWQzZDQ1NzkxZmZmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0
Yy9SZW1vdGVNZWRpYVJlY29yZGVyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlci5tZXNzYWdlcy5pbgpAQCAtMjEsNyAr
MjEsNyBAQAogIyBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCiAjIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KIAotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJM
RShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2lmIFBMQVRG
T1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0p
CiAKIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhUmVjb3JkZXIgTm90UmVmQ291bnRlZCB7CiAgICAg
QXVkaW9TYW1wbGVzU3RvcmFnZUNoYW5nZWQoV2ViS2l0OjpTaGFyZWRNZW1vcnk6OklQQ0hhbmRs
ZSBzdG9yYWdlSGFuZGxlLCBXZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24gZGVzY3Jp
cHRpb24sIHVpbnQ2NF90IG51bWJlck9mRnJhbWVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLmNw
cAppbmRleCBmMGJmYzhmYTVkMzMwMGY0ZDAyMjg0NTI2NWM5YTNkMmFjZjJlNjM2Li5kMGRiZDc5
NjcxMDYzOTBjZTRlMzJhMzAwYjQ5NTVjNDMxNGZiNzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5h
Z2VyLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IlJlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLmgiCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYg
RU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNT
RVRXUklURVJERUxFR0FURSkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9D
RVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5o
IgogI2luY2x1ZGUgIkRlY29kZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIuaAppbmRleCAyZjI5
ZmVmMmFmMmQzYzM2MTA5NmIzM2Y5ZjA5ZWUwNzc4NzMwZGU4Li41M2Y5YWRjZGQ0Y2RiYjM2MmY0
OGJmZDk3YjhiYjQwY2FlZTc0MTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdlci5oCkBAIC0xLDUg
KzEsMyBAQAotCi0KIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKQEAgLTI3LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNp
ZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFf
U1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBQTEFURk9STShDT0NP
QSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiAjaW5j
bHVkZSAiTWVkaWFSZWNvcmRlcklkZW50aWZpZXIuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2
ZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93ZWJydGMvUmVtb3Rl
TWVkaWFSZWNvcmRlck1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3Mvd2VicnRjL1JlbW90ZU1lZGlhUmVjb3JkZXJNYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4IGI0
M2IzZjQ0ZWYyMTFlN2U3ZGViMmU0NGE4NzRlZWIyNmFhYWFjODYuLjgyOGI4YWE2OGU5MGE5YjI1
ZTFlODcwZjZjOTBhOGZkN2M1YTcwNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy93ZWJydGMvUmVtb3RlTWVkaWFSZWNvcmRlck1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dlYnJ0Yy9SZW1vdGVNZWRpYVJlY29yZGVyTWFuYWdl
ci5tZXNzYWdlcy5pbgpAQCAtMjEsNyArMjEsNyBAQAogIyBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCiAjIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAotI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFC
TEUoR1BVX1BST0NFU1MpICYmIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIEhBVkUoQVZBU1NFVFdS
SVRFUkRFTEVHQVRFKQorI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoR1BVX1BST0NFU1Mp
ICYmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKIG1lc3NhZ2VzIC0+IFJlbW90ZU1lZGlhUmVjb3Jk
ZXJNYW5hZ2VyIE5vdFJlZkNvdW50ZWQgewogICAgIENyZWF0ZVJlY29yZGVyKFdlYktpdDo6TWVk
aWFSZWNvcmRlcklkZW50aWZpZXIgaWQsIGJvb2wgaGFzQXVkaW8sIGJvb2wgaGFzVmlkZW8sIHN0
cnVjdCBXZWJDb3JlOjpNZWRpYVJlY29yZGVyUHJpdmF0ZU9wdGlvbnMgb3B0aW9ucykgLT4gKHN0
ZDo6b3B0aW9uYWw8V2ViQ29yZTo6RXhjZXB0aW9uRGF0YT4gY3JlYXRpb25FcnJvciwgU3RyaW5n
IG1pbWVUeXBlLCB1bnNpZ25lZCBhdWRpb0JpdFJhdGUsIHVuc2lnbmVkIHZpZGVvQml0UmF0ZSkg
QXN5bmMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0
d29ya0RhdGFUYXNrQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29h
L05ldHdvcmtEYXRhVGFza0NvY29hLm1tCmluZGV4IDVjMTI1MWFmNDE2YzM2YTIxYTcxYmM4NGYx
OGQwNGM5NTFhNjc5OWYuLmVmMDQ2MDE5M2VmMWI0OGI3ZmI3YWQ3MWJhNzBiZDMyZDk1NjU1ZDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0Rh
dGFUYXNrQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9O
ZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQpAQCAtMTMwLDEzICsxMzAsNyBAQCBOU0hUVFBDb29raWVT
dG9yYWdlICpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6c3RhdGVsZXNzQ29va2llU3RvcmFnZSgpCiB7
CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFJldGFpblB0cjxOU0hUVFBDb29raWVTdG9yYWdl
Pj4gc3RhdGVsZXNzQ29va2llU3RvcmFnZTsKICAgICBpZiAoIXN0YXRlbGVzc0Nvb2tpZVN0b3Jh
Z2UuZ2V0KCkpIHsKLSNpZiBIQVZFKE5TSFRUUENPT0tJRVNUT1JBR0VfX0lOSVRXSVRISURFTlRJ
RklFUl9XSVRIX0lOQUNDVVJBVEVfTlVMTEFCSUxJVFkpCi0gICAgICAgIElHTk9SRV9OVUxMX0NI
RUNLX1dBUk5JTkdTX0JFR0lOCi0jZW5kaWYKICAgICAgICAgc3RhdGVsZXNzQ29va2llU3RvcmFn
ZS5nZXQoKSA9IGFkb3B0TlMoW1tOU0hUVFBDb29raWVTdG9yYWdlIGFsbG9jXSBfaW5pdFdpdGhJ
ZGVudGlmaWVyOm5pbCBwcml2YXRlOllFU10pOwotI2lmIEhBVkUoTlNIVFRQQ09PS0lFU1RPUkFH
RV9fSU5JVFdJVEhJREVOVElGSUVSX1dJVEhfSU5BQ0NVUkFURV9OVUxMQUJJTElUWSkKLSAgICAg
ICAgSUdOT1JFX05VTExfQ0hFQ0tfV0FSTklOR1NfRU5ECi0jZW5kaWYKICAgICAgICAgc3RhdGVs
ZXNzQ29va2llU3RvcmFnZS5nZXQoKS5nZXQoKS5jb29raWVBY2NlcHRQb2xpY3kgPSBOU0hUVFBD
b29raWVBY2NlcHRQb2xpY3lOZXZlcjsKICAgICB9CiAgICAgQVNTRVJUKHN0YXRlbGVzc0Nvb2tp
ZVN0b3JhZ2UuZ2V0KCkuZ2V0KCkuY29va2llcy5jb3VudCA9PSAwKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbSBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5t
bQppbmRleCA1NGY1MDE5Mzg1NmY4OTJiYmM2MWZjNDJkMGQxNTQyNDNmNGViODE5Li45ODY4ZTll
MGFjMzY3NzRhYmVjMTlkNWM3MmQxNzQwODY0ODVhNjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KKysrIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCkBA
IC0xNTksNyArMTU5LDYgQEAgc3RhdGljIFdlYkNvcmU6OlByaXZhY3lTdGFuY2UgdG9Qcml2YWN5
U3RhbmNlKG53X2Nvbm5lY3Rpb25fcHJpdmFjeV9zdGFuY2VfdCBzdGEKIH0KICNlbmRpZgogCi0j
aWYgSEFWRShDRk5FVFdPUktfTkVHT1RJQVRFRF9TU0xfUFJPVE9DT0xfQ0lQSEVSKQogI2lmIEhB
VkUoQ0ZORVRXT1JLX01FVFJJQ1NfQVBJU19WNCkKIHN0YXRpYyBTdHJpbmcgc3RyaW5nRm9yVExT
UHJvdG9jb2xWZXJzaW9uKHRsc19wcm90b2NvbF92ZXJzaW9uX3QgcHJvdG9jb2wpCiB7CkBAIC00
MzksNyArNDM4LDYgQEAgc3RhdGljIFN0cmluZyBzdHJpbmdGb3JTU0xDaXBoZXIoU1NMQ2lwaGVy
U3VpdGUgY2lwaGVyKQogI3VuZGVmIFNUUklOR0lGWV9DSVBIRVIKIH0KICNlbmRpZiAvLyBIQVZF
KENGTkVUV09SS19NRVRSSUNTX0FQSVNfVjQpCi0jZW5kaWYgLy8gSEFWRShDRk5FVFdPUktfTkVH
T1RJQVRFRF9TU0xfUFJPVE9DT0xfQ0lQSEVSKQogCiBAaW50ZXJmYWNlIFdLTmV0d29ya1Nlc3Np
b25EZWxlZ2F0ZSA6IE5TT2JqZWN0IDxOU1VSTFNlc3Npb25EYXRhRGVsZWdhdGUKICNpZiBIQVZF
KE5TVVJMU0VTU0lPTl9XRUJTT0NLRVQpCkBAIC03MjcsMTQgKzcyNSwxMyBAQCAtICh2b2lkKVVS
TFNlc3Npb246KE5TVVJMU2Vzc2lvbiAqKXNlc3Npb24gdGFzazooTlNVUkxTZXNzaW9uVGFzayAq
KXRhc2sgZGlkUmVjZQogICAgICAgICBpZiAoTmV0d29ya1Nlc3Npb25Db2NvYTo6YWxsb3dzU3Bl
Y2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjaGFsbGVuZ2UpKQogICAgICAgICAgICAgcmV0
dXJuIGNvbXBsZXRpb25IYW5kbGVyKE5TVVJMU2Vzc2lvbkF1dGhDaGFsbGVuZ2VVc2VDcmVkZW50
aWFsLCBbTlNVUkxDcmVkZW50aWFsIGNyZWRlbnRpYWxGb3JUcnVzdDpjaGFsbGVuZ2UucHJvdGVj
dGlvblNwYWNlLnNlcnZlclRydXN0XSk7CiAKLSNpZiBIQVZFKFRMU19QUk9UT0NPTF9WRVJTSU9O
X1QpCiAgICAgICAgIE5TVVJMU2Vzc2lvblRhc2tUcmFuc2FjdGlvbk1ldHJpY3MgKm1ldHJpY3Mg
PSB0YXNrLl9pbmNvbXBsZXRlVGFza01ldHJpY3MudHJhbnNhY3Rpb25NZXRyaWNzLmxhc3RPYmpl
Y3Q7CiAgICAgICAgIGF1dG8gdGxzVmVyc2lvbiA9ICh0bHNfcHJvdG9jb2xfdmVyc2lvbl90KW1l
dHJpY3MubmVnb3RpYXRlZFRMU1Byb3RvY29sVmVyc2lvbi51bnNpZ25lZFNob3J0VmFsdWU7CiBB
TExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgogICAgICAgICBpZiAodGxzVmVyc2lv
biA9PSB0bHNfcHJvdG9jb2xfdmVyc2lvbl9UTFN2MTAgfHwgdGxzVmVyc2lvbiA9PSB0bHNfcHJv
dG9jb2xfdmVyc2lvbl9UTFN2MTEpCiAgICAgICAgICAgICBuZWdvdGlhdGVkTGVnYWN5VExTID0g
TmVnb3RpYXRlZExlZ2FjeVRMUzo6WWVzOwogQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNf
RU5ECi0jZW5kaWYKKwogICAgICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJ
TgogICAgICAgICBpZiAobmVnb3RpYXRlZExlZ2FjeVRMUyA9PSBOZWdvdGlhdGVkTGVnYWN5VExT
OjpObyAmJiBbdGFzayByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9UTFNOZWdvdGlhdGVk
UHJvdG9jb2xWZXJzaW9uKV0pIHsKICAgICAgICAgICAgIFNTTFByb3RvY29sIHRsc1ZlcnNpb24g
PSBbdGFzayBfVExTTmVnb3RpYXRlZFByb3RvY29sVmVyc2lvbl07CkBAIC04NTEsMTIgKzg0OCwx
MCBAQCAtICh2b2lkKVVSTFNlc3Npb246KE5TVVJMU2Vzc2lvbiAqKXNlc3Npb24gdGFzazooTlNV
UkxTZXNzaW9uVGFzayAqKXRhc2sgZGlkRmluaQogICAgICAgICBuZXR3b3JrTG9hZE1ldHJpY3Mu
bWFya0NvbXBsZXRlKCk7CiAgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcy5yZWRpcmVjdENvdW50
ID0gbWV0cmljcy5yZWRpcmVjdENvdW50OwogICAgICAgICBuZXR3b3JrTG9hZE1ldHJpY3MucHJv
dG9jb2wgPSBTdHJpbmcobS5uZXR3b3JrUHJvdG9jb2xOYW1lKTsKLSNpZiBIQVZFKENGTkVUV09S
S19NRVRSSUNTX0NPTk5FQ1RJT05fUFJPUEVSVElFUykKICAgICAgICAgbmV0d29ya0xvYWRNZXRy
aWNzLmNlbGx1bGFyID0gbS5jZWxsdWxhcjsKICAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNzLmV4
cGVuc2l2ZSA9IG0uZXhwZW5zaXZlOwogICAgICAgICBuZXR3b3JrTG9hZE1ldHJpY3MuY29uc3Ry
YWluZWQgPSBtLmNvbnN0cmFpbmVkOwogICAgICAgICBuZXR3b3JrTG9hZE1ldHJpY3MubXVsdGlw
YXRoID0gbS5tdWx0aXBhdGg7Ci0jZW5kaWYKICAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNzLmlz
UmV1c2VkQ29ubmVjdGlvbiA9IG0uaXNSZXVzZWRDb25uZWN0aW9uOwogCiAjaWYgSEFWRShORVRX
T1JLX0NPTk5FQ1RJT05fUFJJVkFDWV9TVEFOQ0UpCkBAIC04NzksNyArODc0LDYgQEAgLSAodm9p
ZClVUkxTZXNzaW9uOihOU1VSTFNlc3Npb24gKilzZXNzaW9uIHRhc2s6KE5TVVJMU2Vzc2lvblRh
c2sgKil0YXNrIGRpZEZpbmkKICNlbmRpZgogICAgICAgICAgICAgYWRkaXRpb25hbE1ldHJpY3Mt
PmNvbm5lY3Rpb25JZGVudGlmaWVyID0gU3RyaW5nKFttLl9jb25uZWN0aW9uSWRlbnRpZmllciBV
VUlEU3RyaW5nXSk7CiAKLSNpZiBIQVZFKENGTkVUV09SS19ORUdPVElBVEVEX1NTTF9QUk9UT0NP
TF9DSVBIRVIpCiAjaWYgSEFWRShDRk5FVFdPUktfTUVUUklDU19BUElTX1Y0KQogICAgICAgICAg
ICAgYWRkaXRpb25hbE1ldHJpY3MtPnRsc1Byb3RvY29sID0gc3RyaW5nRm9yVExTUHJvdG9jb2xW
ZXJzaW9uKCh0bHNfcHJvdG9jb2xfdmVyc2lvbl90KVttLm5lZ290aWF0ZWRUTFNQcm90b2NvbFZl
cnNpb24gdW5zaWduZWRTaG9ydFZhbHVlXSk7CiAgICAgICAgICAgICBhZGRpdGlvbmFsTWV0cmlj
cy0+dGxzQ2lwaGVyID0gc3RyaW5nRm9yVExTQ2lwaGVyU3VpdGUoKHRsc19jaXBoZXJzdWl0ZV90
KVttLm5lZ290aWF0ZWRUTFNDaXBoZXJTdWl0ZSB1bnNpZ25lZFNob3J0VmFsdWVdKTsKQEAgLTg4
OCw3ICs4ODIsNiBAQCAtICh2b2lkKVVSTFNlc3Npb246KE5TVVJMU2Vzc2lvbiAqKXNlc3Npb24g
dGFzazooTlNVUkxTZXNzaW9uVGFzayAqKXRhc2sgZGlkRmluaQogICAgICAgICAgICAgYWRkaXRp
b25hbE1ldHJpY3MtPnRsc1Byb3RvY29sID0gc3RyaW5nRm9yU1NMUHJvdG9jb2wobS5fbmVnb3Rp
YXRlZFRMU1Byb3RvY29sKTsKICAgICAgICAgICAgIGFkZGl0aW9uYWxNZXRyaWNzLT50bHNDaXBo
ZXIgPSBzdHJpbmdGb3JTU0xDaXBoZXIobS5fbmVnb3RpYXRlZFRMU0NpcGhlcik7CiAgICAgICAg
ICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKLSNlbmRpZgogI2VuZGlmCiAK
ICAgICAgICAgICAgIF9fYmxvY2sgV2ViQ29yZTo6SFRUUEhlYWRlck1hcCByZXF1ZXN0SGVhZGVy
czsKQEAgLTk0MiwyMiArOTM1LDEzIEBAIC0gKHZvaWQpVVJMU2Vzc2lvbjooTlNVUkxTZXNzaW9u
ICopc2Vzc2lvbiBkYXRhVGFzazooTlNVUkxTZXNzaW9uRGF0YVRhc2sgKilkYXRhCiAKICAgICAg
ICAgTmVnb3RpYXRlZExlZ2FjeVRMUyBuZWdvdGlhdGVkTGVnYWN5VExTID0gTmVnb3RpYXRlZExl
Z2FjeVRMUzo6Tm87CiAgICAgICAgIE5TVVJMU2Vzc2lvblRhc2tNZXRyaWNzICp0YXNrTWV0cmlj
cyA9IGRhdGFUYXNrLl9pbmNvbXBsZXRlVGFza01ldHJpY3M7Ci0jaWYgSEFWRShUTFNfUFJPVE9D
T0xfVkVSU0lPTl9UKQorCiAgICAgICAgIE5TVVJMU2Vzc2lvblRhc2tUcmFuc2FjdGlvbk1ldHJp
Y3MgKm1ldHJpY3MgPSB0YXNrTWV0cmljcy50cmFuc2FjdGlvbk1ldHJpY3MubGFzdE9iamVjdDsK
ICAgICAgICAgYXV0byB0bHNWZXJzaW9uID0gKHRsc19wcm90b2NvbF92ZXJzaW9uX3QpbWV0cmlj
cy5uZWdvdGlhdGVkVExTUHJvdG9jb2xWZXJzaW9uLnVuc2lnbmVkU2hvcnRWYWx1ZTsKIEFMTE9X
X0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCiAgICAgICAgIGlmICh0bHNWZXJzaW9uID09
IHRsc19wcm90b2NvbF92ZXJzaW9uX1RMU3YxMCB8fCB0bHNWZXJzaW9uID09IHRsc19wcm90b2Nv
bF92ZXJzaW9uX1RMU3YxMSkKICAgICAgICAgICAgIG5lZ290aWF0ZWRMZWdhY3lUTFMgPSBOZWdv
dGlhdGVkTGVnYWN5VExTOjpZZXM7CiBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQK
LSNlbHNlIC8vIFdlIGRvIG5vdCBuZWVkIHRvIGNoZWNrIF9UTFNOZWdvdGlhdGVkUHJvdG9jb2xW
ZXJzaW9uIGlmIHdlIGhhdmUgbWV0cmljcy5uZWdvdGlhdGVkVExTUHJvdG9jb2xWZXJzaW9uIGJl
Y2F1c2UgaXQgd29ya3MgYXQgcmVzcG9uc2UgdGltZSBldmVuIGJlZm9yZSByZGFyOi8vcHJvYmxl
bS81NjUyMjYwMQotICAgICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgot
ICAgICAgICBpZiAoW2RhdGFUYXNrIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX1RMU05l
Z290aWF0ZWRQcm90b2NvbFZlcnNpb24pXSkgewotICAgICAgICAgICAgU1NMUHJvdG9jb2wgdGxz
VmVyc2lvbiA9IFtkYXRhVGFzayBfVExTTmVnb3RpYXRlZFByb3RvY29sVmVyc2lvbl07Ci0gICAg
ICAgICAgICBpZiAodGxzVmVyc2lvbiA9PSBrVExTUHJvdG9jb2wxMSB8fCB0bHNWZXJzaW9uID09
IGtUTFNQcm90b2NvbDEpCi0gICAgICAgICAgICAgICAgbmVnb3RpYXRlZExlZ2FjeVRMUyA9IE5l
Z290aWF0ZWRMZWdhY3lUTFM6OlllczsKLSAgICAgICAgfQotICAgICAgICBBTExPV19ERVBSRUNB
VEVEX0RFQ0xBUkFUSU9OU19FTkQKLSNlbmRpZgogICAgICAgICAKICAgICAgICAgLy8gQXZvaWQg
TUlNRSB0eXBlIHNuaWZmaW5nIGlmIHRoZSByZXNwb25zZSBjb21lcyBiYWNrIGFzIDMwNCBOb3Qg
TW9kaWZpZWQuCiAgICAgICAgIGludCBzdGF0dXNDb2RlID0gW3Jlc3BvbnNlIGlzS2luZE9mQ2xh
c3M6TlNIVFRQVVJMUmVzcG9uc2UuY2xhc3NdID8gWyhOU0hUVFBVUkxSZXNwb25zZSAqKXJlc3Bv
bnNlIHN0YXR1c0NvZGVdIDogMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nlc3Muc2IuaW4gYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtQcm9jZXNz
LnNiLmluCmluZGV4IDViODg4NWZlZDQ0YWM4YWI1MGY3YWQ4NzNkN2U3MjM0YTk3OTNhYTguLmFk
MGFlZjE5NTdjM2M0ZjJiNzFiNmZhZWNjZTMzOTljM2JhMjM2NDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQuTmV0d29ya1Byb2Nl
c3Muc2IuaW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9tYWMvY29tLmFwcGxl
LldlYktpdC5OZXR3b3JrUHJvY2Vzcy5zYi5pbgpAQCAtMzgsNyArMzgsNyBAQAogCiAjaW5jbHVk
ZSAiU2hhcmVkL1NhbmRib3gvcHJlZmVyZW5jZXMuc2IiCiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwMTUwMAorI2lmIFBMQVRGT1JNKE1BQykKIDs7OwogOzs7IFRo
ZSBmb2xsb3dpbmcgcnVsZXMgd2VyZSBvcmlnaW5hbGx5IGNvbnRhaW5lZCBpbiAnY29tbW9uLnNi
Jy4gV2UgYXJlIGR1cGxpY2F0aW5nIHRoZW0gaGVyZSBzbyB3ZSBjYW4KIDs7OyByZW1vdmUgdW5u
ZWVkZWQgc2FuZGJveCBleHRlbnNpb25zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9zcGkvbWFjL0FwcEtpdFNQSS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvbWFj
L0FwcEtpdFNQSS5oCmluZGV4IGNhMWJhNmNkNjZhOWFmMTA0Mzk0YjlkZGQ3MTI4ZGY4MmIxMDNm
ZmUuLmIyYjJhNjk4Mzg5MDMwOTJjOGZiOGRmYjY4MTEzYjAyZjQ0OTk3NmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL21hYy9BcHBLaXRTUEkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL3NwaS9tYWMvQXBwS2l0U1BJLmgKQEAgLTYwLDEwICs2MCw3IEBAIHR5
cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBOU1dpbmRvd1NoYWRvd09wdGlvbnMpIHsKIC0g
KHZvaWQpc2V0SW5zcGVjdG9yQmFyOihOU0luc3BlY3RvckJhciAqKWJhcjsKIAogQHByb3BlcnR5
IChyZWFkb25seSkgTlNXaW5kb3dTaGFkb3dPcHRpb25zIHNoYWRvd09wdGlvbnM7Ci0KLSNpZiBf
X01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxNDAwCiBAcHJvcGVydHkgQ0dGbG9h
dCB0aXRsZWJhckFscGhhVmFsdWU7Ci0jZW5kaWYKIAogI2lmIEhBVkUoTlNTQ1JPTExWSUVXX1NF
UEFSQVRPUl9UUkFDS0lOR19BREFQVEVSKQogLSAoQk9PTClyZWdpc3RlclNjcm9sbFZpZXdTZXBh
cmF0b3JUcmFja2luZ0FkYXB0ZXI6KE5TT2JqZWN0PE5TU2Nyb2xsVmlld1NlcGFyYXRvclRyYWNr
aW5nQWRhcHRlcj4gKilhZGFwdGVyOwpAQCAtODIsMTIgKzc5LDYgQEAgdHlwZWRlZiBOU19PUFRJ
T05TKE5TVUludGVnZXIsIE5TV2luZG93U2hhZG93T3B0aW9ucykgewogLSAodm9pZClfdXBkYXRl
OwogQGVuZAogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEIDwgMTAxNDAwCi1A
aW50ZXJmYWNlIE5TV2luZG93IChJUEkpCi1AcHJvcGVydHkgQ0dGbG9hdCB0aXRsZWJhckFscGhh
VmFsdWU7Ci1AZW5kCi0jZW5kaWYKLQogLy8gRklYTUU6IE1vdmUgdGhpcyBhYm92ZSBvbmNlIDxy
ZGFyOi8vcHJvYmxlbS83MDIyNDk4MD4gaXMgaW4gYW4gU0RLLgogQGludGVyZmFjZSBOU0N1cnNv
ciAoKQogKyAodm9pZCloaWRlVW50aWxDaGFuZ2VkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9QbHVnaW5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LnBsdWdpbi1jb21tb24uc2IuaW4g
Yi9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQucGx1Z2lu
LWNvbW1vbi5zYi5pbgppbmRleCAxMGRkZTI3NjYwMmY3ZDQ1Y2Q2NTY1OTVmZTFiODBhNGFjNTk2
NGFlLi5jMjAxNWVhZjA1ZjcwMmQ4N2Q3YTA1ZTRjNTc1ODIyZTkwYzcxZmY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3MvbWFjL2NvbS5hcHBsZS5XZWJLaXQucGx1Z2lu
LWNvbW1vbi5zYi5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3MvbWFjL2NvbS5h
cHBsZS5XZWJLaXQucGx1Z2luLWNvbW1vbi5zYi5pbgpAQCAtMTY4LDcgKzE2OCw3IEBACiAgICAg
KHhwYy1zZXJ2aWNlLW5hbWUgImNvbS5hcHBsZS5oaXNlcnZpY2VzLXhwY3NlcnZpY2UiKQogKQog
Ci0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAKKyNpZiBQTEFU
Rk9STShNQUMpCiA7OyA8cmRhcjovL3Byb2JsZW0vNDcyNjgxNjY+CiAoYWxsb3cgbWFjaC1sb29r
dXAgKHhwYy1zZXJ2aWNlLW5hbWUgImNvbS5hcHBsZS5NVExDb21waWxlclNlcnZpY2UiKSkKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvY29jb2EvV2Vi
UGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Fw
cGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0KaW5kZXggODlm
MTliMTk5MzU1ZmIwNWVmNTM0YTMzMjIxMzAwMzM5YmFlMTVmOC4uZTVhMDFkOTE5ZTcxYzVhOTZk
OTAyMDc1MjkwMmFjYmFmZDhjNmE2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQv
QXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQ
cm94eUNvY29hLm1tCkBAIC0yODQsMTEgKzI4NCw5IEBAIFJldGFpblB0cjxQS1BheW1lbnRSZXF1
ZXN0PiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZvcm1QYXltZW50UmVxdWVzdChj
CiAKICAgICBbcmVzdWx0IHNldFN1cHBvcnRlZENvdW50cmllczp0b05TU2V0KHBheW1lbnRSZXF1
ZXN0LnN1cHBvcnRlZENvdW50cmllcygpKS5nZXQoKV07CiAKLSNpZiBIQVZFKFBBU1NLSVRfQk9V
TkRfSU5URVJGQUNFX0lERU5USUZJRVIpCiAgICAgYXV0byYgYm91bmRJbnRlcmZhY2VJZGVudGlm
aWVyID0gbV9jbGllbnQucGF5bWVudENvb3JkaW5hdG9yQm91bmRJbnRlcmZhY2VJZGVudGlmaWVy
KCp0aGlzKTsKICAgICBpZiAoIWJvdW5kSW50ZXJmYWNlSWRlbnRpZmllci5pc0VtcHR5KCkpCiAg
ICAgICAgIFtyZXN1bHQgc2V0Qm91bmRJbnRlcmZhY2VJZGVudGlmaWVyOmJvdW5kSW50ZXJmYWNl
SWRlbnRpZmllcl07Ci0jZW5kaWYKIAogICAgIC8vIEZJWE1FOiBJbnN0ZWFkIG9mIHVzaW5nIHJl
c3BvbmRzVG9TZWxlY3RvciwgdGhpcyBzaG91bGQgdXNlIGEgcHJvcGVyICNpZiB2ZXJzaW9uIGNo
ZWNrLgogICAgIGF1dG8mIGJ1bmRsZUlkZW50aWZpZXIgPSBtX2NsaWVudC5wYXltZW50Q29vcmRp
bmF0b3JTb3VyY2VBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoKnRoaXMpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbSBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW0KaW5kZXggYmE0
OTkwOTEyYmI0NDAyYzQ0YjU2MGQzNDU1ZjkxNGE4ODMxNGQ1YS4uMjEyNTM5OTI2NGFiMWZjMGEz
NmM1YzM2MDU0MTdkYmQzNjMzYzhkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQv
Q29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9D
b2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLm1tCkBAIC02NiwxNCArNjYsNiBAQCBAaW1wbGVtZW50
YXRpb24gV0tTZWN1cmVDb2RpbmdBcmNoaXZpbmdEZWxlZ2F0ZQogCiAtIChudWxsYWJsZSBpZClh
cmNoaXZlcjooTlNLZXllZEFyY2hpdmVyICopYXJjaGl2ZXIgd2lsbEVuY29kZU9iamVjdDooaWQp
b2JqZWN0CiB7Ci0jaWYgSEFWRShOU0ZPTlRfV0lUSF9PUFRJQ0FMX1NJWklOR19CVUcpCi0gICAg
aWYgKGF1dG8gZm9udCA9IGR5bmFtaWNfb2JqY19jYXN0PE5TRm9udD4ob2JqZWN0KSkgewotICAg
ICAgICAvLyBSZWNyZWF0ZSBhbnkgc2VyaWFsaXplZCBmb250cyBhZnRlciBub3JtYWxpemluZyB0
aGUKLSAgICAgICAgLy8gZm9udCBhdHRyaWJ1dGVzIHRvIHdvcmsgYXJvdW5kIDxyZGFyOi8vcHJv
YmxlbS81MTY1Nzg4MD4uCi0gICAgICAgIHJldHVybiBXZWJLaXQ6OmZvbnRXaXRoQXR0cmlidXRl
cyhmb250LmZvbnREZXNjcmlwdG9yLmZvbnRBdHRyaWJ1dGVzLCAwKTsKLSAgICB9Ci0jZW5kaWYK
LQogICAgIGlmIChhdXRvIHVud3JhcHBlZFVSTCA9IGR5bmFtaWNfb2JqY19jYXN0PE5TVVJMPihv
YmplY3QpKQogICAgICAgICByZXR1cm4gYWRvcHROUyhbW1dLU2VjdXJlQ29kaW5nVVJMV3JhcHBl
ciBhbGxvY10gaW5pdFdpdGhVUkw6dW53cmFwcGVkVVJMXSkuYXV0b3JlbGVhc2UoKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZVRleHRIZWxwZXJzLm1tIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29yZVRleHRIZWxwZXJzLm1tCmluZGV4IGNhYWE3
Y2I2MmM1NmZmOGY3NTYwZGE5NmYxYWNhZGJmZGRhMTFkNDIuLmEyNTEwYzY0MzUwNGQ4Mzk1NWRm
OTQyZWY0Nzc0NzM1MWM5ZWZiYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nv
Y29hL0NvcmVUZXh0SGVscGVycy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9D
b3JlVGV4dEhlbHBlcnMubW0KQEAgLTM1LDIxICszNSw3IEBAIENvY29hRm9udCAqZm9udFdpdGhB
dHRyaWJ1dGVzKE5TRGljdGlvbmFyeSAqYXR0cmlidXRlcywgQ0dGbG9hdCBzaXplKQogewogICAg
IEJFR0lOX0JMT0NLX09CSkNfRVhDRVBUSU9OUwogCi0jaWYgSEFWRShOU0ZPTlRfV0lUSF9PUFRJ
Q0FMX1NJWklOR19CVUcpCi0gICAgYXV0byBtdXRhYmxlRGljdGlvbmFyeSA9IGFkb3B0TlMoW2F0
dHJpYnV0ZXMgbXV0YWJsZUNvcHldKTsKLSAgICBpZiAoaWQgb3B0aWNhbFNpemVBdHRyaWJ1dGUg
PSBbbXV0YWJsZURpY3Rpb25hcnkgb2JqZWN0Rm9yS2V5OihfX2JyaWRnZSBOU1N0cmluZyAqKWtD
VEZvbnRPcHRpY2FsU2l6ZUF0dHJpYnV0ZV0pIHsKLSAgICAgICAgaWYgKFtvcHRpY2FsU2l6ZUF0
dHJpYnV0ZSBpc0tpbmRPZkNsYXNzOltOU1N0cmluZyBjbGFzc11dKSB7Ci0gICAgICAgICAgICBb
bXV0YWJsZURpY3Rpb25hcnkgcmVtb3ZlT2JqZWN0Rm9yS2V5OihfX2JyaWRnZSBOU1N0cmluZyAq
KWtDVEZvbnRPcHRpY2FsU2l6ZUF0dHJpYnV0ZV07Ci0gICAgICAgICAgICBpZiAoTlNOdW1iZXIg
KnNpemUgPSBbbXV0YWJsZURpY3Rpb25hcnkgb2JqZWN0Rm9yS2V5OihfX2JyaWRnZSBOU1N0cmlu
ZyAqKWtDVEZvbnRTaXplQXR0cmlidXRlXSkKLSAgICAgICAgICAgICAgICBbbXV0YWJsZURpY3Rp
b25hcnkgc2V0T2JqZWN0OnNpemUgZm9yS2V5OihfX2JyaWRnZSBOU1N0cmluZyAqKWtDVEZvbnRP
cHRpY2FsU2l6ZUF0dHJpYnV0ZV07Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBhdXRvIGRlc2Ny
aXB0b3IgPSBbQ29jb2FGb250RGVzY3JpcHRvciBmb250RGVzY3JpcHRvcldpdGhGb250QXR0cmli
dXRlczptdXRhYmxlRGljdGlvbmFyeS5nZXQoKV07Ci0jZWxzZQogICAgIGF1dG8gZGVzY3JpcHRv
ciA9IFtDb2NvYUZvbnREZXNjcmlwdG9yIGZvbnREZXNjcmlwdG9yV2l0aEZvbnRBdHRyaWJ1dGVz
OmF0dHJpYnV0ZXNdOwotI2VuZGlmCi0KICAgICByZXR1cm4gW0NvY29hRm9udCBmb250V2l0aERl
c2NyaXB0b3I6ZGVzY3JpcHRvciBzaXplOnNpemVdOwogCiAgICAgRU5EX0JMT0NLX09CSkNfRVhD
RVBUSU9OUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdl
LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggYzBk
NjkwNDVmOGI2NzQ2ZGYxMGU3MWY5YjQzNWI4YjkyNmY2OTkxZi4uNzAxZjFhMjkwODhkODQyMDE2
MGM3M2UwY2Q5ZWZkMzJkY2M2ZjIzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9X
S1BhZ2UuY3BwCkBAIC0xMTUxLDcgKzExNTEsNiBAQCB2b2lkIFdLUGFnZVNldFBhZ2VMb2FkZXJD
bGllbnQoV0tQYWdlUmVmIHBhZ2VSZWYsIGNvbnN0IFdLUGFnZUxvYWRlckNsaWVudEJhc2UqCiAg
ICAgICAgIHsKICAgICAgICAgICAgIGluaXRpYWxpemUoY2xpZW50KTsKICAgICAgICAgICAgIAot
I2lmICFQTEFURk9STShNQUMpIHx8IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPiAx
MDE0MDAKICAgICAgICAgICAgIC8vIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQgaXMgZGVwcmVj
YXRlZC4gVXNlIFdLUGFnZVNldFBhZ2VOYXZpZ2F0aW9uQ2xpZW50IGluc3RlYWQuCiAgICAgICAg
ICAgICBSRUxFQVNFX0FTU0VSVCghbV9jbGllbnQuZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJh
bWUpOwogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIW1fY2xpZW50LmRpZFNhbWVEb2N1bWVu
dE5hdmlnYXRpb25Gb3JGcmFtZSk7CkBAIC0xMTg0LDcgKzExODMsNiBAQCB2b2lkIFdLUGFnZVNl
dFBhZ2VMb2FkZXJDbGllbnQoV0tQYWdlUmVmIHBhZ2VSZWYsIGNvbnN0IFdLUGFnZUxvYWRlckNs
aWVudEJhc2UqCiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCghbV9jbGllbnQubmF2aWdhdGlv
bkdlc3R1cmVEaWRCZWdpbik7CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVCghbV9jbGllbnQu
bmF2aWdhdGlvbkdlc3R1cmVXaWxsRW5kKTsKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFt
X2NsaWVudC5uYXZpZ2F0aW9uR2VzdHVyZURpZEVuZCk7Ci0jZW5kaWYKICAgICAgICAgfQogCiAg
ICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KaW5kZXggMjZkZDU2MjYxNDJi
Mjg1MzhiYzE0NzY3ZjdhNTJkZTFhNjY5YTY2YS4uMjZlOWNkNWEyNDFiMjA3M2FiNjFiNjE2ZjM0
YjFkMzRlMTk4OGYzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KQEAgLTIwNywxMSAr
MjA3LDcgQEAgc3RhdGljIFJldGFpblB0cjxOU0FycmF5PiBnZXRBbGxMb2NhbEF1dGhlbnRpY2F0
b3JDcmVkZW50aWFsc0ltcGwoTlNTdHJpbmcgKmFjY2UKICAgICAgICAgKF9fYnJpZGdlIGlkKWtT
ZWNBdHRyQWNjZXNzR3JvdXA6IGFjY2Vzc0dyb3VwLAogICAgICAgICAoX19icmlkZ2UgaWQpa1Nl
Y1JldHVybkF0dHJpYnV0ZXM6IEBZRVMsCiAgICAgICAgIChfX2JyaWRnZSBpZClrU2VjTWF0Y2hM
aW1pdDogKF9fYnJpZGdlIGlkKWtTZWNNYXRjaExpbWl0QWxsLAotI2lmIEhBVkUoREFUQV9QUk9U
RUNUSU9OX0tFWUNIQUlOKQogICAgICAgICAoX19icmlkZ2UgaWQpa1NlY1VzZURhdGFQcm90ZWN0
aW9uS2V5Y2hhaW46IEBZRVMKLSNlbHNlCi0gICAgICAgIChfX2JyaWRnZSBpZClrU2VjQXR0ck5v
TGVnYWN5OiBAWUVTCi0jZW5kaWYKICAgICB9OwogICAgIENGVHlwZVJlZiBhdHRyaWJ1dGVzQXJy
YXlSZWYgPSBudWxscHRyOwogICAgIE9TU3RhdHVzIHN0YXR1cyA9IFNlY0l0ZW1Db3B5TWF0Y2hp
bmcoKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilxdWVyeSwgJmF0dHJpYnV0ZXNBcnJheVJlZik7
CkBAIC0yNzAsMTEgKzI2Niw3IEBAICsgKHZvaWQpZGVsZXRlTG9jYWxBdXRoZW50aWNhdG9yQ3Jl
ZGVudGlhbFdpdGhJRDooTlNEYXRhICopY3JlZGVudGlhbElECiAgICAgTlNEaWN0aW9uYXJ5KiBk
ZWxldGVRdWVyeSA9IEB7CiAgICAgICAgIChfX2JyaWRnZSBpZClrU2VjQ2xhc3M6IChfX2JyaWRn
ZSBpZClrU2VjQ2xhc3NLZXksCiAgICAgICAgIChfX2JyaWRnZSBpZClrU2VjQXR0ckFwcGxpY2F0
aW9uTGFiZWw6IGNyZWRlbnRpYWxJRCwKLSNpZiBIQVZFKERBVEFfUFJPVEVDVElPTl9LRVlDSEFJ
TikKICAgICAgICAgKF9fYnJpZGdlIGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktleWNoYWluOiBA
WUVTCi0jZWxzZQotICAgICAgICAoX19icmlkZ2UgaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwot
I2VuZGlmCiAgICAgfTsKICAgICBTZWNJdGVtRGVsZXRlKChfX2JyaWRnZSBDRkRpY3Rpb25hcnlS
ZWYpZGVsZXRlUXVlcnkpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCmluZGV4IDJhYjUwZGQ3NmZkM2FlM2NmMzFmNmY4
MmViZGY1YjdhMjcxYmVkYzUuLmM3MjdjMjBkYWM2NjRkOGQ1MDU2NzVhYjZmZmI1MjVlMzVmNWUy
YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94
eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94
eUNvY29hLm1tCkBAIC02MzQsMTEgKzYzNCw3IEBAIFZlY3RvcjxTYW5kYm94RXh0ZW5zaW9uOjpI
YW5kbGU+IFdlYlBhZ2VQcm94eTo6Y3JlYXRlTmV0d29ya0V4dGVuc2lvbnNTYW5kYm94RXh0CiAg
ICAgaWYgKCFwcm9jZXNzLmhhc05ldHdvcmtFeHRlbnNpb25TYW5kYm94QWNjZXNzKCkgJiYgTmV0
d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXI6OmlzUmVxdWlyZWQoKSkgewogICAgICAgICBwcm9j
ZXNzLm1hcmtIYXNOZXR3b3JrRXh0ZW5zaW9uU2FuZGJveEFjY2VzcygpOwogICAgICAgICBjb25z
dGV4cHIgQVNDSUlMaXRlcmFsIG5lSGVscGVyU2VydmljZSB7ICJjb20uYXBwbGUubmVoZWxwZXIi
X3MgfTsKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPCAxMDE1MDAKLSAgICAgICAgY29uc3RleHByIEFTQ0lJTGl0ZXJhbCBuZVNlc3Npb25NYW5h
Z2VyU2VydmljZSB7ICJjb20uYXBwbGUubmVzZXNzaW9ubWFuYWdlciJfcyB9OwotI2Vsc2UKICAg
ICAgICAgY29uc3RleHByIEFTQ0lJTGl0ZXJhbCBuZVNlc3Npb25NYW5hZ2VyU2VydmljZSB7ICJj
b20uYXBwbGUubmVzZXNzaW9ubWFuYWdlci5jb250ZW50LWZpbHRlciJfcyB9OwotI2VuZGlmCiAg
ICAgICAgIHJldHVybiBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVzRm9yTWFjaExvb2t1
cCh7IG5lSGVscGVyU2VydmljZSwgbmVTZXNzaW9uTWFuYWdlclNlcnZpY2UgfSwgc3RkOjpudWxs
b3B0KTsKICAgICB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0xvY2FsQXV0aGVudGljYXRvci5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL0NvY29hL0xvY2FsQXV0aGVudGljYXRv
ci5tbQppbmRleCBjYzFkYjFhY2QzMTViOWEyOGM2YjU3NjEwMDI1ZTRiMzViMGVlN2IyLi5lZDJk
ZWY4OWE4OTgyYTZlY2FhZTNmYTBhNzUzMTg5ODY1ZWE2NzBhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNhdGlvbi9Db2NvYS9Mb2NhbEF1dGhlbnRpY2F0
b3IubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vQ29j
b2EvTG9jYWxBdXRoZW50aWNhdG9yLm1tCkBAIC0xMjcsMTEgKzEyNyw3IEBAIHN0YXRpYyBzdGQ6
Om9wdGlvbmFsPFZlY3RvcjxSZWY8QXV0aGVudGljYXRvckFzc2VydGlvblJlc3BvbnNlPj4+IGdl
dEV4aXN0aW5nQ3JlCiAgICAgICAgIChpZClrU2VjQXR0ckxhYmVsOiBycElkLAogICAgICAgICAo
aWQpa1NlY1JldHVybkF0dHJpYnV0ZXM6IEBZRVMsCiAgICAgICAgIChpZClrU2VjTWF0Y2hMaW1p
dDogKGlkKWtTZWNNYXRjaExpbWl0QWxsLAotI2lmIEhBVkUoREFUQV9QUk9URUNUSU9OX0tFWUNI
QUlOKQogICAgICAgICAoaWQpa1NlY1VzZURhdGFQcm90ZWN0aW9uS2V5Y2hhaW46IEBZRVMKLSNl
bHNlCi0gICAgICAgIChpZClrU2VjQXR0ck5vTGVnYWN5OiBAWUVTCi0jZW5kaWYKICAgICB9XTsK
ICAgICB1cGRhdGVRdWVyeUlmTmVjZXNzYXJ5KHF1ZXJ5LmdldCgpKTsKIApAQCAtMTgyLDExICsx
NzgsNyBAQCB2b2lkIExvY2FsQXV0aGVudGljYXRvcjo6Y2xlYXJBbGxDcmVkZW50aWFscygpCiAg
ICAgW3F1ZXJ5IHNldERpY3Rpb25hcnk6QHsKICAgICAgICAgKGlkKWtTZWNDbGFzczogKGlkKWtT
ZWNDbGFzc0tleSwKICAgICAgICAgKGlkKWtTZWNBdHRyQWNjZXNzR3JvdXA6IChpZClTdHJpbmco
TG9jYWxBdXRoZW50aWNhdGlvckFjY2Vzc0dyb3VwKSwKLSNpZiBIQVZFKERBVEFfUFJPVEVDVElP
Tl9LRVlDSEFJTikKICAgICAgICAgKGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktleWNoYWluOiBA
WUVTCi0jZWxzZQotICAgICAgICAoaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwotI2VuZGlmCiAg
ICAgfV07CiAgICAgdXBkYXRlUXVlcnlJZk5lY2Vzc2FyeShxdWVyeS5nZXQoKSk7CiAKQEAgLTM5
NCwxMSArMzg2LDcgQEAgdm9pZCBMb2NhbEF1dGhlbnRpY2F0b3I6OmNvbnRpbnVlTWFrZUNyZWRl
bnRpYWxBZnRlclVzZXJWZXJpZmljYXRpb24oU2VjQWNjZXNzQ28KICAgICAgICAgICAgIChpZClr
U2VjQXR0cktleUNsYXNzOiAoaWQpa1NlY0F0dHJLZXlDbGFzc1ByaXZhdGUsCiAgICAgICAgICAg
ICAoaWQpa1NlY0F0dHJMYWJlbDogc2VjQXR0ckxhYmVsLAogICAgICAgICAgICAgKGlkKWtTZWNB
dHRyQXBwbGljYXRpb25MYWJlbDogbV9wcm92aXNpb25hbENyZWRlbnRpYWxJZC5nZXQoKSwKLSNp
ZiBIQVZFKERBVEFfUFJPVEVDVElPTl9LRVlDSEFJTikKICAgICAgICAgICAgIChpZClrU2VjVXNl
RGF0YVByb3RlY3Rpb25LZXljaGFpbjogQFlFUwotI2Vsc2UKLSAgICAgICAgICAgIChpZClrU2Vj
QXR0ck5vTGVnYWN5OiBAWUVTCi0jZW5kaWYKICAgICAgICAgfV07CiAgICAgICAgIHVwZGF0ZVF1
ZXJ5SWZOZWNlc3NhcnkocXVlcnkuZ2V0KCkpOwogCkBAIC01OTksMTEgKzU4Nyw3IEBAIHZvaWQg
TG9jYWxBdXRoZW50aWNhdG9yOjpjb250aW51ZUdldEFzc2VydGlvbkFmdGVyVXNlclZlcmlmaWNh
dGlvbihSZWY8V2ViQ29yZTo6CiAgICAgICAgICAgICAoaWQpa1NlY0F0dHJLZXlDbGFzczogKGlk
KWtTZWNBdHRyS2V5Q2xhc3NQcml2YXRlLAogICAgICAgICAgICAgKGlkKWtTZWNBdHRyQXBwbGlj
YXRpb25MYWJlbDogbnNDcmVkZW50aWFsSWQuZ2V0KCksCiAgICAgICAgICAgICAoaWQpa1NlY1Jl
dHVyblJlZjogQFlFUywKLSNpZiBIQVZFKERBVEFfUFJPVEVDVElPTl9LRVlDSEFJTikKICAgICAg
ICAgICAgIChpZClrU2VjVXNlRGF0YVByb3RlY3Rpb25LZXljaGFpbjogQFlFUwotI2Vsc2UKLSAg
ICAgICAgICAgIChpZClrU2VjQXR0ck5vTGVnYWN5OiBAWUVTCi0jZW5kaWYKICAgICAgICAgfSBt
dXRhYmxlQ29weV07CiAKICAgICAgICAgaWYgKGNvbnRleHQpCkBAIC02NDAsMTEgKzYyNCw3IEBA
IHZvaWQgTG9jYWxBdXRoZW50aWNhdG9yOjpjb250aW51ZUdldEFzc2VydGlvbkFmdGVyVXNlclZl
cmlmaWNhdGlvbihSZWY8V2ViQ29yZTo6CiAgICAgICAgIChpZClrU2VjQ2xhc3M6IChpZClrU2Vj
Q2xhc3NLZXksCiAgICAgICAgIChpZClrU2VjQXR0cktleUNsYXNzOiAoaWQpa1NlY0F0dHJLZXlD
bGFzc1ByaXZhdGUsCiAgICAgICAgIChpZClrU2VjQXR0ckFwcGxpY2F0aW9uTGFiZWw6IG5zQ3Jl
ZGVudGlhbElkLmdldCgpLAotI2lmIEhBVkUoREFUQV9QUk9URUNUSU9OX0tFWUNIQUlOKQogICAg
ICAgICAoaWQpa1NlY1VzZURhdGFQcm90ZWN0aW9uS2V5Y2hhaW46IEBZRVMKLSNlbHNlCi0gICAg
ICAgIChpZClrU2VjQXR0ck5vTGVnYWN5OiBAWUVTCi0jZW5kaWYKICAgICB9XTsKICAgICB1cGRh
dGVRdWVyeUlmTmVjZXNzYXJ5KHF1ZXJ5LmdldCgpKTsKIApAQCAtNjcxLDExICs2NTEsNyBAQCB2
b2lkIExvY2FsQXV0aGVudGljYXRvcjo6cmVjZWl2ZUV4Y2VwdGlvbihFeGNlcHRpb25EYXRhJiYg
ZXhjZXB0aW9uLCBXZWJBdXRoZW50aQogICAgICAgICBbcXVlcnkgc2V0RGljdGlvbmFyeTpAewog
ICAgICAgICAgICAgKGlkKWtTZWNDbGFzczogKGlkKWtTZWNDbGFzc0tleSwKICAgICAgICAgICAg
IChpZClrU2VjQXR0ckFwcGxpY2F0aW9uTGFiZWw6IG1fcHJvdmlzaW9uYWxDcmVkZW50aWFsSWQu
Z2V0KCksCi0jaWYgSEFWRShEQVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4pCiAgICAgICAgICAgICAo
aWQpa1NlY1VzZURhdGFQcm90ZWN0aW9uS2V5Y2hhaW46IEBZRVMKLSNlbHNlCi0gICAgICAgICAg
ICAoaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwotI2VuZGlmCiAgICAgICAgIH1dOwogICAgICAg
ICB1cGRhdGVRdWVyeUlmTmVjZXNzYXJ5KHF1ZXJ5LmdldCgpKTsKIApAQCAtNzA4LDExICs2ODQs
NyBAQCB2b2lkIExvY2FsQXV0aGVudGljYXRvcjo6ZGVsZXRlRHVwbGljYXRlQ3JlZGVudGlhbCgp
IGNvbnN0CiAgICAgICAgIFtxdWVyeSBzZXREaWN0aW9uYXJ5OkB7CiAgICAgICAgICAgICAoaWQp
a1NlY0NsYXNzOiAoaWQpa1NlY0NsYXNzS2V5LAogICAgICAgICAgICAgKGlkKWtTZWNBdHRyQXBw
bGljYXRpb25MYWJlbDogdG9OU0RhdGEoY3JlZGVudGlhbC0+cmF3SWQoKSkuZ2V0KCksCi0jaWYg
SEFWRShEQVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4pCiAgICAgICAgICAgICAoaWQpa1NlY1VzZURh
dGFQcm90ZWN0aW9uS2V5Y2hhaW46IEBZRVMKLSNlbHNlCi0gICAgICAgICAgICAoaWQpa1NlY0F0
dHJOb0xlZ2FjeTogQFlFUwotI2VuZGlmCiAgICAgICAgIH1dOwogICAgICAgICB1cGRhdGVRdWVy
eUlmTmVjZXNzYXJ5KHF1ZXJ5LmdldCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vTW9jay9Nb2NrTG9jYWxDb25uZWN0aW9uLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQXV0aGVudGljYXRpb24vTW9jay9Nb2NrTG9jYWxD
b25uZWN0aW9uLm1tCmluZGV4IDQ4YjJiYWQ5Yzk0MDQ0YTJmMWNjZTgzZmRkZGQ5MjdlYzYxMjJk
ODguLjg0ZTZhZjU1YmQwYmJiNWE0YzRhM2Y2Y2E4ODA5NzJkZDczZDAzMDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkF1dGhlbnRpY2F0aW9uL01vY2svTW9ja0xvY2Fs
Q29ubmVjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJBdXRoZW50aWNh
dGlvbi9Nb2NrL01vY2tMb2NhbENvbm5lY3Rpb24ubW0KQEAgLTEyMSwxMSArMTIxLDcgQEAgUmV0
YWluUHRyPFNlY0tleVJlZj4gTW9ja0xvY2FsQ29ubmVjdGlvbjo6Y3JlYXRlQ3JlZGVudGlhbFBy
aXZhdGVLZXkoTEFDb250ZXh0ICoKICAgICAgICAgKGlkKWtTZWNBdHRyTGFiZWw6IHNlY0F0dHJM
YWJlbCwKICAgICAgICAgKGlkKWtTZWNBdHRyQXBwbGljYXRpb25UYWc6IHNlY0F0dHJBcHBsaWNh
dGlvblRhZywKICAgICAgICAgKGlkKWtTZWNBdHRyQWNjZXNzaWJsZTogKGlkKWtTZWNBdHRyQWNj
ZXNzaWJsZUFmdGVyRmlyc3RVbmxvY2ssCi0jaWYgSEFWRShEQVRBX1BST1RFQ1RJT05fS0VZQ0hB
SU4pCiAgICAgICAgIChpZClrU2VjVXNlRGF0YVByb3RlY3Rpb25LZXljaGFpbjogQFlFUwotI2Vs
c2UKLSAgICAgICAgKGlkKWtTZWNBdHRyTm9MZWdhY3k6IEBZRVMKLSNlbmRpZgogICAgIH07CiAg
ICAgT1NTdGF0dXMgc3RhdHVzID0gU2VjSXRlbUFkZCgoX19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVm
KWFkZFF1ZXJ5LCBOVUxMKTsKICAgICBpZiAoc3RhdHVzKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldlYktpdC5XZWJBdXRoblByb2Nl
c3Muc2IuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9tYWMvY29tLmFwcGxlLldl
YktpdC5XZWJBdXRoblByb2Nlc3Muc2IuaW4KaW5kZXggOGNmOGE3YjJjMzBlNjMxZDdmMzdlOTg1
YjNhMGM2NzYxYzI0Y2UxOC4uYjQ1ZWYzMTJlNmEwMzJhZWY1MzJjOWQ5YjBiZjk0ZDlhZTMxZGU0
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvbWFjL2NvbS5hcHBs
ZS5XZWJLaXQuV2ViQXV0aG5Qcm9jZXNzLnNiLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0
aG5Qcm9jZXNzL21hYy9jb20uYXBwbGUuV2ViS2l0LldlYkF1dGhuUHJvY2Vzcy5zYi5pbgpAQCAt
MzIwLDcgKzMyMCw3IEBACiAoYWxsb3cgbWFjaC1sb29rdXAgKGV4dGVuc2lvbiAiY29tLmFwcGxl
LmFwcC1zYW5kYm94Lm1hY2giKSkgOzsgRklYTUU6IFNob3VsZCBiZSByZW1vdmVkIHdoZW4gPHJk
YXI6Ly9wcm9ibGVtLzEzMDY2MjA2PiBpcyBmaXhlZC4KIAogKGFsbG93IG1hY2gtbG9va3VwCi0j
aWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAKKyNpZiBQTEFURk9S
TShNQUMpCiAgICAgKHdpdGggcmVwb3J0KSAod2l0aCB0ZWxlbWV0cnkpCiAjZW5kaWYKICAgICAo
Z2xvYmFsLW5hbWUgImNvbS5hcHBsZS5hdWRpby5BdWRpb0NvbXBvbmVudFJlZ2lzdHJhciIpCkBA
IC0zMzcsOSArMzM3LDYgQEAKIAogOzsgVmFyaW91cyBzZXJ2aWNlcyByZXF1aXJlZCBieSBBcHBL
aXQgYW5kIG90aGVyIGZyYW1ld29ya3MKIChhbGxvdyBtYWNoLWxvb2t1cAotI2lmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE0MDAKLSAgICAgICAoZ2xvYmFsLW5hbWUgImNv
bS5hcHBsZS5Gb250T2JqZWN0c1NlcnZlciIpCi0jZW5kaWYKICAgICAgICAoZ2xvYmFsLW5hbWUg
ImNvbS5hcHBsZS5Qb3dlck1hbmFnZW1lbnQuY29udHJvbCIpCiAgICAgICAgKGdsb2JhbC1uYW1l
ICJjb20uYXBwbGUuU3lzdGVtQ29uZmlndXJhdGlvbi5jb25maWdkIikKICAgICAgICAoZ2xvYmFs
LW5hbWUgImNvbS5hcHBsZS5hbmFseXRpY3NkIikKQEAgLTM2MiwxOCArMzU5LDE0IEBACiAgICAg
ICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuQ0FSZW5kZXJTZXJ2ZXIiKSA7IE5lZWRlZCBmb3Ig
W0NBQ29udGV4dCByZW1vdGVDb250ZXh0V2l0aE9wdGlvbnNdCiApCiAKLSNpZiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkK
IDs7IDxyZGFyOi8vcHJvYmxlbS80NzI2ODE2Nj4KIChhbGxvdyBtYWNoLWxvb2t1cCAoeHBjLXNl
cnZpY2UtbmFtZSAiY29tLmFwcGxlLk1UTENvbXBpbGVyU2VydmljZSIpKQotI2VuZGlmCiAKLSNp
ZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCB8fCBQTEFURk9STShN
QUNDQVRBTFlTVCkKIChkZW55IG1hY2gtbG9va3VwICh3aXRoIG5vLWxvZykKICAgICAoZ2xvYmFs
LW5hbWUgImNvbS5hcHBsZS5Db3JlU2VydmljZXMuY29yZXNlcnZpY2VzZCIpCiAgICAgKGdsb2Jh
bC1uYW1lICJjb20uYXBwbGUuRGlza0FyYml0cmF0aW9uLmRpc2thcmJpdHJhdGlvbmQiKQogICAg
IChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLlZpZXdCcmlkZ2VBdXhpbGlhcnkiKQogICAgIChnbG9i
YWwtbmFtZSAiY29tLmFwcGxlLndpbmRvd3NlcnZlci5hY3RpdmUiKSkKLSNlbmRpZgogCiA7OyBO
ZWVkZWQgdG8gc3VwcG9ydCBlbmNyeXB0ZWQgbWVkaWEgcGxheWJhY2sgPHJkYXI6Ly9wcm9ibGVt
LzQwMDM4NDc4PgogKGFsbG93IG1hY2gtbG9va3VwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJpdmF0ZS5jcHAKaW5k
ZXggZjE0YjYzNzE0NjFlZmY5N2E3M2FlNDBkMTk1OTBjM2YwMTU3ZGJmMS4uMTIzMGRhN2M1NDNk
ODEzMTg5MDE2NjA4YzE1Y2VmMTcyMTU3ZmVlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZhdGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcml2YXRlLmNwcApA
QCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIk1lZGlhUmVj
b3JkZXJQcml2YXRlLmgiCiAKLSNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9D
RVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FU
RSkKKyNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUo
TUVESUFfU1RSRUFNKQogCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkdQ
VVByb2Nlc3NDb25uZWN0aW9uLmgiCkBAIC0yMDAsNCArMjAwLDQgQEAgY29uc3QgU3RyaW5nJiBN
ZWRpYVJlY29yZGVyUHJpdmF0ZTo6bWltZVR5cGUoKSBjb25zdAogCiB9CiAKLSNlbmRpZiAvLyBQ
TEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RS
RUFNKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNlbmRpZiAvLyBQTEFURk9STShD
T0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRl
clByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVj
b3JkZXJQcml2YXRlLmgKaW5kZXggYmRkNTQ5NzFjZGJlYjgwYTE1MjMzNTAxZjQ2YWM1NGIyYzE3
YjZlNi4uNTA4YzZhMmYwMWExZTU3ZTRjYjljMmRmZDFjNjI5YmFlZjAyODJhYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZh
dGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29y
ZGVyUHJpdmF0ZS5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgUExB
VEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVB
TSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjaWYgUExBVEZPUk0oQ09DT0EpICYm
IEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogI2luY2x1ZGUg
Ik1lZGlhUmVjb3JkZXJJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiU2hhcmVkUmluZ0J1ZmZlclN0
b3JhZ2UuaCIKQEAgLTg2LDQgKzg2LDQgQEAgcHJpdmF0ZToKIAogfQogCi0jZW5kaWYgLy8gUExB
VEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVB
TSkgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjZW5kaWYgLy8gUExBVEZPUk0oQ09D
T0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQ
cml2YXRlLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNv
cmRlclByaXZhdGUubW0KaW5kZXggNjU1NGEwMjAwMDAxNTU3MWU0YTA2Mjc0OTA0Y2I1M2RkNjFm
ZmVjMy4uODY3OWE1YjRmNjA0MWVhYjQyMjBlNmM0NDhhZWE0ZTE4NDcxYjFlZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNvcmRlclByaXZh
dGUubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTWVkaWFSZWNv
cmRlclByaXZhdGUubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJNZWRpYVJlY29yZGVyUHJpdmF0ZS5oIgogCi0jaWYgUExBVEZPUk0oQ09DT0EpICYm
IEVOQUJMRShHUFVfUFJPQ0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgSEFWRShBVkFT
U0VUV1JJVEVSREVMRUdBVEUpCisjaWYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJP
Q0VTUykgJiYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogI2luY2x1ZGUgPFdlYkNvcmUvQ29yZVZp
ZGVvU29mdExpbmsuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS93ZWJydGMvTWVkaWFSZWNvcmRlclByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcm92aWRlci5jcHAKaW5kZXggMDFjNTk5YzEy
ODAzMTAwZjUxMDEwMjdhMDlhYTkyMmQxNzAzMDBiOS4uNWM0ZTg5YzA4MTk2YWIwYmMzZWI2OTlh
ZDY5YmM5YTg0Y2YwODYyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS93ZWJydGMvTWVkaWFSZWNvcmRlclByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJvdmlkZXIuY3BwCkBAIC0zOSw3ICsz
OSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29y
ZTo6TWVkaWFSZWNvcmRlclByaXZhdGU+IE1lZGlhUmVjb3JkZXJQcm92aWRlcjo6Y3JlYXRlTWVk
aWFSZWNvcmRlclByaXZhdGUoTWVkaWFTdHJlYW1Qcml2YXRlJiBzdHJlYW0sIGNvbnN0IE1lZGlh
UmVjb3JkZXJQcml2YXRlT3B0aW9ucyYgb3B0aW9ucykKIHsKLSNpZiBFTkFCTEUoR1BVX1BST0NF
U1MpICYmIEhBVkUoQVZBU1NFVFdSSVRFUkRFTEVHQVRFKQorI2lmIEVOQUJMRShHUFVfUFJPQ0VT
UykKICAgICBhdXRvKiBwYWdlID0gbV93ZWJQYWdlLmNvcmVQYWdlKCk7CiAgICAgaWYgKHBhZ2Ug
JiYgcGFnZS0+c2V0dGluZ3MoKS53ZWJSVENQbGF0Zm9ybUNvZGVjc0luR1BVUHJvY2Vzc0VuYWJs
ZWQoKSkKICAgICAgICAgcmV0dXJuIG1ha2VVbmlxdWU8TWVkaWFSZWNvcmRlclByaXZhdGU+KHN0
cmVhbSwgb3B0aW9ucyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L3dlYnJ0Yy9NZWRpYVJlY29yZGVyUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcm92aWRlci5oCmluZGV4IDcxOTFiOTJjNWZkODU3
MDMzZGU1Nzc4N2NlZDI3NjY0ZmFlZDVhNDkuLjU4ZTQwODIwMzZjMzVkZjFmMGI2NDg3MDQwNzBh
MWI3MThmNWY2NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2Vi
cnRjL01lZGlhUmVjb3JkZXJQcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvd2VicnRjL01lZGlhUmVjb3JkZXJQcm92aWRlci5oCkBAIC00MCwxMyArNDAsMTMgQEAg
cHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TWVkaWFSZWNvcmRlclByaXZh
dGU+IGNyZWF0ZU1lZGlhUmVjb3JkZXJQcml2YXRlKFdlYkNvcmU6Ok1lZGlhU3RyZWFtUHJpdmF0
ZSYsIGNvbnN0IFdlYkNvcmU6Ok1lZGlhUmVjb3JkZXJQcml2YXRlT3B0aW9ucyYpIGZpbmFsOwog
I2VuZGlmCiAKLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKSAmJiBQTEFURk9STShDT0NPQSkgJiYg
RU5BQkxFKEdQVV9QUk9DRVNTKSAmJiBIQVZFKEFWQVNTRVRXUklURVJERUxFR0FURSkKKyNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKSAmJiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKEdQVV9QUk9D
RVNTKQogICAgIFdlYlBhZ2UmIG1fd2ViUGFnZTsKICNlbmRpZgogfTsKIAogaW5saW5lIE1lZGlh
UmVjb3JkZXJQcm92aWRlcjo6TWVkaWFSZWNvcmRlclByb3ZpZGVyKFdlYlBhZ2UmIHdlYlBhZ2Up
Ci0jaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShH
UFVfUFJPQ0VTUykgJiYgSEFWRShBVkFTU0VUV1JJVEVSREVMRUdBVEUpCisjaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkgJiYgUExBVEZPUk0oQ09DT0EpICYmIEVOQUJMRShHUFVfUFJPQ0VTUykKICAg
ICA6IG1fd2ViUGFnZSh3ZWJQYWdlKQogI2VuZGlmCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xp
ZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZVBhZ2VMb2FkZXJDbGllbnQuY3BwCmluZGV4IDUxMGQyZGE3OThjZGEyNTA5OTNhYjUw
ZGQzNjk3ZGVhNWRhZTNhZDEuLjc1ZDg0ZTlhOGFiMDQyYjY4YmE3MTJkZGQ0NjIxOTdmMzk1N2Ix
MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJDbGllbnQuY3Bw
CkBAIC00NywxMCArNDcsOCBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIEluamVjdGVkQnVu
ZGxlUGFnZUxvYWRlckNsaWVudDo6SW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50KGNvbnN0
IFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudEJhc2UqIGNsaWVudCkKIHsKICAgICBpbml0aWFsaXpl
KGNsaWVudCk7Ci0jaWYgIVBMQVRGT1JNKE1BQykgfHwgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+IDEwMTQwMAogICAgIC8vIERlcHJlY2F0ZWQgY2FsbGJhY2tzLgogICAgIEFTU0VS
VCghbV9jbGllbnQuc2hvdWxkR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW0pOwotI2VuZGlmCiB9CiAK
IHZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50Ojp3aWxsTG9hZFVSTFJlcXVlc3Qo
V2ViUGFnZSYgcGFnZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBBUEk6Ok9iamVj
dCogdXNlckRhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29tLmFw
cGxlLldlYlByb2Nlc3Muc2IuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29tLmFwcGxl
LldlYlByb2Nlc3Muc2IuaW4KaW5kZXggMzVkNWIxMDMzZjQ2Yzg0ZWZmYzg0OWY1NjcxMzkzYzE5
OWQ1NjRjMi4uZGYzNzljNjc4NjYzNDcyYWJmNGRlZjkyMWQ1ZWFlZGNlNDViNDE2MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5p
bgpAQCAtMzA4LDEwICszMDgsOCBAQAogICAgICAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBw
bGUuY3Ztc1NlcnYiKQogICAgICAgICApCiAgICAgKQotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxNDAwIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgIChhbGxv
dyBmaWxlLXJlYWQqCiAgICAgICAgIChwcmVmaXggIi9wcml2YXRlL3Zhci9kYi9DVk1TL2N2bXND
b2RlU2lnbk9iaiIpKQotI2VuZGlmCiAgICAgOzsgT3BlbkNMCiAgICAgKGlmIChlcXVhbD8gKHBh
cmFtICJFTkFCTEVfU0FOREJPWF9NRVNTQUdFX0ZJTFRFUiIpICJZRVMiKQogICAgICAgICAoYWxs
b3cgaW9raXQtb3BlbgpAQCAtODM3LDcgKzgzNSw2IEBACiAgICAgKGlva2l0LXByb3BlcnR5ICJz
YXZlZC1jb25maWciKQogICAgIChpb2tpdC1wcm9wZXJ0eSAic3RhcnR1cC10aW1pbmciKQogICAg
IChpb2tpdC1wcm9wZXJ0eSAidG91Y2gtc2l6ZS1pZCIpCi0jaWYgIVBMQVRGT1JNKE1BQykgfHwg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDAKICAgICAoaW9raXQtcHJv
cGVydHkgIkFUWSxjYml0cyIpCiAgICAgKGlva2l0LXByb3BlcnR5ICJBVFksaW50cmV2IikKICAg
ICAoaW9raXQtcHJvcGVydHkgIkFjY2VsTmF0aXZlRE1BUm93Qnl0ZUFsaWdubWVudCIpCkBAIC04
NTUsNyArODUyLDYgQEAKICAgICAoaW9raXQtcHJvcGVydHkgIlRlbGVtZXRyeURpc2FibGUiKQog
ICAgIChpb2tpdC1wcm9wZXJ0eSAiY2FpbF9wcm9wZXJ0aWVzIikKICAgICAoaW9raXQtcHJvcGVy
dHkgImRwbSIpCi0jZW5kaWYKICAgICAoaW9raXQtcHJvcGVydHkgIklPR1ZBSDI2NEVuY29kZUNh
cGFiaWxpdGllcyIpIDs7IDxyZGFyOi8vcHJvYmxlbS80OTQ5ODA0MD4KICNpZiAhUExBVEZPUk0o
TUFDKSB8fCBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID4gMTAxNTAwCiAgICAgKGlv
a2l0LXByb3BlcnR5ICJJT0FWREhFVkNEZWNvZGVDYXBhYmlsaXRpZXMiKSA7OyA8cmRhcjovL3By
b2JsZW0vNzExMDAxODg+CkBAIC0xMzUyLDkgKzEzNDgsNiBAQAogCiA7OyBWYXJpb3VzIHNlcnZp
Y2VzIHJlcXVpcmVkIGJ5IEFwcEtpdCBhbmQgb3RoZXIgZnJhbWV3b3JrcwogKGFsbG93IG1hY2gt
bG9va3VwCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTQwMAotICAg
ICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLkZvbnRPYmplY3RzU2VydmVyIikKLSNlbmRpZgog
ICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmxvZ2QiKQogICAgICAgIChnbG9iYWwtbmFt
ZSAiY29tLmFwcGxlLmxvZ2QuZXZlbnRzIikKICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBs
ZS5DQVJlbmRlclNlcnZlciIpIDsgTmVlZGVkIGZvciBbQ0FDb250ZXh0IHJlbW90ZUNvbnRleHRX
aXRoT3B0aW9uc10KQEAgLTEzODksNyArMTM4Miw2IEBACiAgICAgKGdsb2JhbC1uYW1lICJjb20u
YXBwbGUubHNkLm1hcGRiIikKICkKIAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTAxNDAwIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogOzsgPHJkYXI6Ly9wcm9ibGVt
LzQ3MjY4MTY2PgogKGFsbG93IG1hY2gtbG9va3VwCiAgICAgKHJlcXVpcmUtYWxsCkBAIC0xNDA0
LDE1ICsxMzk2LDEyIEBACiAgICAgICAgICh4cGMtc2VydmljZS1uYW1lICJjb20uYXBwbGUuTVRM
Q29tcGlsZXJTZXJ2aWNlIikKICAgICApCiApCi0jZW5kaWYKIAotI2lmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogKGRl
bnkgbWFjaC1sb29rdXAgKHdpdGggbm8tbG9nKQogICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxl
LkNvcmVTZXJ2aWNlcy5jb3Jlc2VydmljZXNkIikKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBs
ZS5EaXNrQXJiaXRyYXRpb24uZGlza2FyYml0cmF0aW9uZCIpCiAgICAgKGdsb2JhbC1uYW1lICJj
b20uYXBwbGUuVmlld0JyaWRnZUF1eGlsaWFyeSIpCiAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBw
bGUud2luZG93c2VydmVyLmFjdGl2ZSIpKQotI2VuZGlmCiAKICNpZiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDExMDAwMAogKGRlbnkgbWFjaC1sb29rdXAgKHdpdGggbm8tbG9n
KQpAQCAtMTcxMSwxMSArMTcwMCw3IEBACiAgICAgICAgIChnbG9iYWwtbmFtZQogICAgICAgICAg
ICAgImNvbS5hcHBsZS5hbmFseXRpY3NkIgogICAgICAgICAgICAgImNvbS5hcHBsZS5uZWhlbHBl
ciIKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCB8fCBQTEFU
Rk9STShNQUNDQVRBTFlTVCkKICAgICAgICAgICAgICJjb20uYXBwbGUubmVzZXNzaW9ubWFuYWdl
ci5jb250ZW50LWZpbHRlciIKLSNlbHNlCi0gICAgICAgICAgICAiY29tLmFwcGxlLm5lc2Vzc2lv
bm1hbmFnZXIiCi0jZW5kaWYKICAgICAgICAgICAgICJjb20uYXBwbGUud2ViaW5zcGVjdG9yIgog
ICAgICAgICAgICAgImNvbS5hcHBsZS5jZnByZWZzZC5hZ2VudCIKICAgICAgICAgICAgICJjb20u
YXBwbGUuY2ZwcmVmc2QuZGFlbW9uIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViSFRNTFZpZXcubW0KaW5kZXggY2VjOWI4ZTMxODU5OGFlZWViODQxMTcwNjgxMWJjMzEy
Y2MxY2VjZi4uNGIwNzg1NDlkYzQyMDJmYmI2YzI3MmVmMjA1YWIzOTRlMzk0NzE2MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCkBAIC0yMjMs
MjQgKzIyMyw2IEBAIEBwcm9wZXJ0eSAocmVhZG9ubHkpIF9fa2luZG9mIE5TVmlldyAqX2JvcmRl
clZpZXc7CiAtIChpZClfbmV3Rmlyc3RSZXNwb25kZXJBZnRlclJlc2lnbmluZzsKIEBlbmQKIAot
I2lmICFIQVZFKFNVQlZJRVdTX0lWQVJfU1BJKQotQGltcGxlbWVudGF0aW9uIE5TVmlldyAoU3Vi
dmlld3NJdmFyKQotCi0tICh2b2lkKV9zZXRTdWJ2aWV3c0l2YXI6KE5TTXV0YWJsZUFycmF5PF9f
a2luZG9mIE5TVmlldyAqPiAqKXN1YnZpZXdzIHsKLSAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xB
UkFUSU9OU19CRUdJTgotICAgIF9zdWJ2aWV3cyA9IHN1YnZpZXdzOwotICAgIEFMTE9XX0RFUFJF
Q0FURURfREVDTEFSQVRJT05TX0VORAotfQotCi0tIChOU011dGFibGVBcnJheTxfX2tpbmRvZiBO
U1ZpZXcgKj4gKilfc3Vidmlld3NJdmFyIHsKLSAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFU
SU9OU19CRUdJTgotICAgIHJldHVybiAoTlNNdXRhYmxlQXJyYXkgKilfc3Vidmlld3M7Ci0gICAg
QUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECi19Ci0KLUBlbmQKLSNlbmRpZgotCiB1
c2luZyBXZWJFdmVudCA9IE5TRXZlbnQ7CiBjb25zdCBhdXRvIFdlYkV2ZW50TW91c2VEb3duID0g
TlNFdmVudFR5cGVMZWZ0TW91c2VEb3duOwogCkBAIC03MzcsMTIgKzcxOSw5IEBAIHN0YXRpYyB2
b2lkIHNldEN1cnNvcihOU1dpbmRvdyAqc2VsZiwgU0VMIGNtZCwgTlNQb2ludCBwb2ludCkKIEBp
bnRlcmZhY2UgTlNWaWV3ICgpCiAtICh2b2lkKV9yZWN1cnNpdmVEaXNwbGF5UmVjdElmTmVlZGVk
SWdub3JpbmdPcGFjaXR5OihOU1JlY3QpcmVjdCBpc1Zpc2libGVSZWN0OihCT09MKWlzVmlzaWJs
ZVJlY3QgcmVjdElzVmlzaWJsZVJlY3RGb3JWaWV3OihOU1ZpZXcgKil2aXNpYmxlVmlldyB0b3BW
aWV3OihCT09MKXRvcFZpZXc7CiAtICh2b2lkKV9yZWN1cnNpdmVEaXNwbGF5QWxsRGlydHlXaXRo
TG9ja0ZvY3VzOihCT09MKW5lZWRzTG9ja0ZvY3VzIHZpc1JlY3Q6KE5TUmVjdCl2aXNSZWN0Owot
I2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDE1MDAKKyNpZiBQTEFURk9STShNQUMpCiAtICh2b2lkKV9yZWN1cnNpdmU6KEJPT0wpcmVjdXJz
aXZlIGRpc3BsYXlSZWN0SWdub3JpbmdPcGFjaXR5OihOU1JlY3QpZGlzcGxheVJlY3QgaW5Db250
ZXh0OihOU0dyYXBoaWNzQ29udGV4dCAqKWdyYXBoaWNzQ29udGV4dCBzdG9wQXRMYXllckJhY2tl
ZFZpZXdzOihCT09MKXN0b3BBdExheWVyQmFja2VkVmlld3M7CiAjZW5kaWYKLSNpZiBQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDAKLS0gKHZv
aWQpX3JlY3Vyc2l2ZTooQk9PTClyZWN1cnNpdmUgZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6
KE5TUmVjdClkaXNwbGF5UmVjdCBpbkNvbnRleHQ6KE5TR3JhcGhpY3NDb250ZXh0ICopZ3JhcGhp
Y3NDb250ZXh0IHNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjooQk9PTClzaG91bGRDaGFu
Z2VGb250UmVmZXJlbmNlQ29sb3Igc3RvcEF0TGF5ZXJCYWNrZWRWaWV3czooQk9PTClzdG9wQXRM
YXllckJhY2tlZFZpZXdzOwotI2VuZGlmCiAtICh2b2lkKV9zZXREcmF3c093bkRlc2NlbmRhbnRz
OihCT09MKWRyYXdzT3duRGVzY2VuZGFudHM7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIC0g
KHZvaWQpY2VudGVyU2VsZWN0aW9uSW5WaXNpYmxlQXJlYTooaWQpc2VuZGVyOwpAQCAtMTY4MSwx
OCArMTY2MCwxMCBAQCAtICh2b2lkKV9yZWN1cnNpdmVEaXNwbGF5QWxsRGlydHlXaXRoTG9ja0Zv
Y3VzOihCT09MKW5lZWRzTG9ja0ZvY3VzIHZpc1JlY3Q6KE5TUgogfQogCiAvLyBEb24ndCBsZXQg
QXBwS2l0IGV2ZW4gZHJhdyBzdWJ2aWV3cy4gV2UgdGFrZSBjYXJlIG9mIHRoYXQuCi0jaWYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAKIC0gKHZvaWQpX3JlY3Vyc2l2
ZTooQk9PTClyZWN1cnNpdmUgZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6KE5TUmVjdClkaXNw
bGF5UmVjdCBpbkNvbnRleHQ6KE5TR3JhcGhpY3NDb250ZXh0ICopZ3JhcGhpY3NDb250ZXh0IHN0
b3BBdExheWVyQmFja2VkVmlld3M6KEJPT0wpc3RvcEF0TGF5ZXJCYWNrZWRWaWV3cwotI2Vsc2UK
LS0gKHZvaWQpX3JlY3Vyc2l2ZTooQk9PTClyZWN1cnNpdmUgZGlzcGxheVJlY3RJZ25vcmluZ09w
YWNpdHk6KE5TUmVjdClkaXNwbGF5UmVjdCBpbkNvbnRleHQ6KE5TR3JhcGhpY3NDb250ZXh0ICop
Z3JhcGhpY3NDb250ZXh0IHNob3VsZENoYW5nZUZvbnRSZWZlcmVuY2VDb2xvcjooQk9PTClzaG91
bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3Igc3RvcEF0TGF5ZXJCYWNrZWRWaWV3czooQk9PTClz
dG9wQXRMYXllckJhY2tlZFZpZXdzCi0jZW5kaWYKIHsKICAgICBbc2VsZiBfc2V0QXNpZGVTdWJ2
aWV3c107Ci0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAKICAg
ICBbc3VwZXIgX3JlY3Vyc2l2ZTpyZWN1cnNpdmUgZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6
ZGlzcGxheVJlY3QgaW5Db250ZXh0OmdyYXBoaWNzQ29udGV4dCBzdG9wQXRMYXllckJhY2tlZFZp
ZXdzOnN0b3BBdExheWVyQmFja2VkVmlld3NdOwotI2Vsc2UKLSAgICBbc3VwZXIgX3JlY3Vyc2l2
ZTpyZWN1cnNpdmUgZGlzcGxheVJlY3RJZ25vcmluZ09wYWNpdHk6ZGlzcGxheVJlY3QgaW5Db250
ZXh0OmdyYXBoaWNzQ29udGV4dCBzaG91bGRDaGFuZ2VGb250UmVmZXJlbmNlQ29sb3I6c2hvdWxk
Q2hhbmdlRm9udFJlZmVyZW5jZUNvbG9yIHN0b3BBdExheWVyQmFja2VkVmlld3M6c3RvcEF0TGF5
ZXJCYWNrZWRWaWV3c107Ci0jZW5kaWYKICAgICBbc2VsZiBfcmVzdG9yZVN1YnZpZXdzXTsKIH0K
IApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGUw
Y2VhZTgyYTdjZDJjNzdmNjllNzQ4NzlkMzdiZjZjN2Y0MzY0ZDUuLmI3OTA3NTNkNmZiN2I0NDI5
ZTVkY2ZkOGM3ODU0MDhjNzNlYTQyZDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0xMC0wMSAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERyb3Agc3VwcG9ydCBmb3IgbWFjT1Mg
PCAxMC4xNQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMxMDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBU
ZXN0UnVubmVyU2hhcmVkL3NwaS9BcHBLaXRUZXN0U1BJLmg6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJDb3JlL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rVGVzdC5tbToKKyAg
ICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvUHJlY29ubmVjdC5tbToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL2Nv
bmZpZy5oOgorCiAyMDIxLTEwLTAxICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50IEhUVFBTIHByb3h5IGluIEhUVFBTZXJ2ZXIK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZURyYWdn
aW5nSW5mby5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZURyYWdn
aW5nSW5mby5tbQppbmRleCBiZjBkY2NkMGU2ZTA5MTAzMmNjMTJjYzNiNDk5NzBiYzk3MDdhMzA0
Li5iNDEyM2U3MDQ1NzY3ZDcyOTgxMzU3YmY4MmMyMzQyMDgwNWRmYTRkIDEwMDY0NAotLS0gYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWVEcmFnZ2luZ0luZm8ubW0KKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlRHJhZ2dpbmdJbmZvLm1t
CkBAIC0yNzMsMTMgKzI3Myw3IEBAIC0gKHZvaWQpZW51bWVyYXRlRHJhZ2dpbmdJdGVtc1dpdGhP
cHRpb25zOihOU0VudW1lcmF0aW9uT3B0aW9ucyllbnVtT3B0aW9ucyBmb3JWCiAgICAgICAgIFty
ZWNlaXZlciBzZXREcmFnZ2luZ1NvdXJjZTpkcmFnZ2luZ1NvdXJjZV07CiAgICAgICAgIFthbGxG
aWxlUHJvbWlzZVJlY2VpdmVycygpIGFkZE9iamVjdDpyZWNlaXZlci5nZXQoKV07CiAKLSNpZiBI
QVZFKE5TRFJBR0dJTkdJVEVNX0lOSVRXSVRISVRFTSkKICAgICAgICAgYXV0byBpdGVtID0gYWRv
cHROUyhbW05TRHJhZ2dpbmdJdGVtIGFsbG9jXSBfaW5pdFdpdGhJdGVtOnJlY2VpdmVyLmdldCgp
XSk7Ci0jZWxzZQotICAgICAgICBhdXRvIGl0ZW0gPSBhZG9wdE5TKFtbTlNEcmFnZ2luZ0l0ZW0g
YWxsb2NdIGluaXRXaXRoUGFzdGVib2FyZFdyaXRlcjooaWQgPE5TUGFzdGVib2FyZFdyaXRpbmc+
KXJlY2VpdmVyLmdldCgpXSk7IC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTk0MDYw
PiBQYXNzIGFuIG9iamVjdCBvZiB0aGUgcmlnaHQgdHlwZS4KLSAgICAgICAgW2l0ZW0gc2V0SXRl
bTpyZWNlaXZlci5nZXQoKV07Ci0jZW5kaWYKLQogICAgICAgICBibG9jayhpdGVtLmdldCgpLCAw
LCAmc3RvcCk7CiAgICAgICAgIGlmIChzdG9wKQogICAgICAgICAgICAgcmV0dXJuOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9zcGkvQXBwS2l0VGVzdFNQSS5oIGIvVG9vbHMv
VGVzdFJ1bm5lclNoYXJlZC9zcGkvQXBwS2l0VGVzdFNQSS5oCmluZGV4IDVmOWFkNTIzNzBmMDI3
ZWMxMDQ0ZmM0MTQ0NWVkNWFjNzRkYWViYTIuLjJkODc0ZTEyMDcwZmMyYjc4ZWRhMDc3ZDY4M2Nh
ZDI3MWVhYzQyNjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvc3BpL0FwcEtp
dFRlc3RTUEkuaAorKysgYi9Ub29scy9UZXN0UnVubmVyU2hhcmVkL3NwaS9BcHBLaXRUZXN0U1BJ
LmgKQEAgLTI3LDE3ICsyNyw4IEBACiAKICNpbXBvcnQgPEFwcEtpdC9OU0RyYWdnaW5nSXRlbS5o
PgogCi0vLyBGSVhNRTogTW92ZSB0aGlzIHRvIFBsYXRmb3JtSGF2ZS5oLgotI2lmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCi0jZGVmaW5lIEhBVkVfTlNEUkFHR0lO
R0lURU1fSU5JVFdJVEhJVEVNIDEKLSNlbmRpZgotCiBAaW50ZXJmYWNlIE5TRHJhZ2dpbmdJdGVt
ICgpCi0jaWYgSEFWRShOU0RSQUdHSU5HSVRFTV9JTklUV0lUSElURU0pCiAtIChpbnN0YW5jZXR5
cGUpX2luaXRXaXRoSXRlbTooaWQpaXRlbTsKLSNlbHNlCi0tICh2b2lkKXNldEl0ZW06KGlkKWl0
ZW07Ci0jZW5kaWYKIEBlbmQKIAogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9BVkZvdW5kYXRpb25Tb2Z0
TGlua1Rlc3QubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY29jb2EvQVZG
b3VuZGF0aW9uU29mdExpbmtUZXN0Lm1tCmluZGV4IDE4ZTg5Yzk0MmE4NDM3MWVhYjY3ZTJlYzM0
ZGQyNmQ5MTQxYmJmZTcuLmJhZmE3NWY0NmU2MDJkY2NmMTdmNTdmN2MwMjUzZmYwYjE5NWIxNGYg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9BVkZv
dW5kYXRpb25Tb2Z0TGlua1Rlc3QubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJDb3JlL2NvY29hL0FWRm91bmRhdGlvblNvZnRMaW5rVGVzdC5tbQpAQCAtMTYxLDcgKzE2MSw3
IEBAIFRFU1QoQVZGb3VuZGF0aW9uU29mdExpbmssIENvbnN0YW50cykKICAgICBFWFBFQ1RfVFJV
RShbQVZDb250ZW50S2V5UmVxdWVzdFByb3RvY29sVmVyc2lvbnNLZXkgaXNFcXVhbFRvU3RyaW5n
OkAiUHJvdG9jb2xWZXJzaW9uc0tleSJdKTsKICNlbmRpZgogCi0jaWYgKFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IFBMQVRGT1JN
KElPUykgfHwgUExBVEZPUk0oV0FUQ0hPUykgfHwgUExBVEZPUk0oQVBQTEVUVikKKyNpZiBQTEFU
Rk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0oV0FUQ0hPUykgfHwgUExBVEZP
Uk0oQVBQTEVUVikKICAgICBFWFBFQ1RfVFJVRShQQUw6OmNhbkxvYWRfQVZGb3VuZGF0aW9uX0FW
VmlkZW9Db2RlY1R5cGVIRVZDV2l0aEFscGhhKCkpOwogICAgIEVYUEVDVF9UUlVFKFtBVlZpZGVv
Q29kZWNUeXBlSEVWQ1dpdGhBbHBoYSBpc0VxdWFsVG9TdHJpbmc6QCJtdXhhIl0pOwogI2VuZGlm
CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByZWNv
bm5lY3QubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1ByZWNvbm5l
Y3QubW0KaW5kZXggOWIxZWJmYWQ3MWZkZjBlZDhmMTg0MjRlZDJiNDBiOGE4NGJiZjQ2Yy4uNTQ3
YjM1N2VlOWVhMGFhMTlkYWVkYzg5MjRjYWIxYmFhYzQyNjJkYiAxMDA2NDQKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QcmVjb25uZWN0Lm1tCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJlY29ubmVjdC5tbQpAQCAtMTAzLDEw
ICsxMDMsNiBAQCBURVNUKFByZWNvbm5lY3QsIENvbm5lY3Rpb25Db3VudCkKICAgICBFWFBFQ1Rf
RVEoY29ubmVjdGlvbkNvdW50LCAydSk7CiB9CiAKLS8vIE1vamF2ZSBDRk5ldHdvcmsgX3ByZWNv
bm5lY3QgU1BJIHNlZW1zIHRvIGhhdmUgYSBidWcgY2F1c2luZyB0aGlzIHRvIHRpbWUgb3V0Lgot
Ly8gVGhhdCdzIG5vIHByb2JsZW0sIGJlY2F1c2UgdGhpcyBpcyBhIHRlc3QgZm9yIFNQSSBvbmx5
IHRvIGJlIHVzZWQgb24gbGF0ZXIgT1MgdmVyc2lvbnMuCi0jaWYgIVBMQVRGT1JNKE1BQykgfHwg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDAKLQogVEVTVChQcmVjb25u
ZWN0LCBIVFRQUykKIHsKICAgICBib29sIGNvbm5lY3RlZCA9IGZhbHNlOwpAQCAtMTM2LDggKzEz
Miw2IEBAIFRFU1QoUHJlY29ubmVjdCwgSFRUUFMpCiAgICAgRVhQRUNUX1RSVUUocmVjZWl2ZWRD
aGFsbGVuZ2UpOwogfQogCi0jZW5kaWYKLQogI2lmIEhBVkUoUFJFQ09OTkVDVF9QSU5HKQogc3Rh
dGljIHZvaWQgcGluZ1BvbmcoUmVmPEgyOjpDb25uZWN0aW9uPiYmIGNvbm5lY3Rpb24sIHNpemVf
dCogaGVhZGVyc0NvdW50KQogewpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9TZXJ2aWNlV29ya2VyQmFzaWMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL1NlcnZpY2VXb3JrZXJCYXNpYy5tbQppbmRleCAxZDNhZWU3MDlk
NDE0MzhmNzk3MDdiY2Y0YTE0NzZiM2E1MTFjZGI5Li4wZThhM2U3YWZmYzJmNTdlOGJmMDQ1ZmRh
OGUwY2Q3NjJhYWM1NGJmIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL1NlcnZpY2VXb3JrZXJCYXNpYy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL1NlcnZpY2VXb3JrZXJCYXNpYy5tbQpAQCAtMjE4Miw4ICsyMTgy
LDYgQEAgVEVTVChTZXJ2aWNlV29ya2VycywgQ29udGVudFJ1bGVMaXN0KQogICAgIFRlc3RXZWJL
aXRBUEk6OlV0aWw6OnJ1bigmZG9uZVJlbW92aW5nKTsKIH0KIAotI2lmIEhBVkUoVExTX1BST1RP
Q09MX1ZFUlNJT05fVCkKLQogc3RhdGljIGJvb2wgaXNUZXN0U2VydmVyVHJ1c3QoU2VjVHJ1c3RS
ZWYgdHJ1c3QpCiB7CiAgICAgaWYgKCF0cnVzdCkKQEAgLTIzNzIsOCArMjM3MCw2IEBAIFRFU1Qo
U2VydmljZVdvcmtlcnMsIENoYW5nZU9mU2VydmVyQ2VydGlmaWNhdGUpCiAgICAgfQogfQogCi0j
ZW5kaWYgLy8gSEFWRShUTFNfUFJPVE9DT0xfVkVSU0lPTl9UKQotCiBURVNUKFNlcnZpY2VXb3Jr
ZXJzLCBDbGVhckRPTUNhY2hlQWxzb0luY2x1ZGVzU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbnMp
CiB7CiAgICAgW1dLV2Vic2l0ZURhdGFTdG9yZSBfYWxsb3dXZWJzaXRlRGF0YVJlY29yZHNGb3JB
bGxPcmlnaW5zXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvVExTRGVwcmVjYXRpb24ubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL1RMU0RlcHJlY2F0aW9uLm1tCmluZGV4IGFmYWQ5NDMyZDBjNzVhMmQzMGU2MDMwMjVm
NjMxOTlhY2M0MGQ0NDEuLjUzYjUxNzA4YmMzN2RkZjFiN2E4NDcxOTI4YTkyMTI4MmMxNzdkOGMg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvVExTRGVw
cmVjYXRpb24ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9U
TFNEZXByZWNhdGlvbi5tbQpAQCAtMTQxLDggKzE0MSw2IEBAIG5hbWVzcGFjZSBUZXN0V2ViS2l0
QVBJIHsKIAogY29uc3QgdWludDE2X3QgdGxzMV8xID0gMHgwMzAyOwogCi0jaWYgSEFWRShUTFNf
UFJPVE9DT0xfVkVSU0lPTl9UKQotCiBURVNUKFRMU1ZlcnNpb24sIERlZmF1bHRCZWhhdmlvcikK
IHsKICAgICBIVFRQU2VydmVyIHNlcnZlcihIVFRQU2VydmVyOjpyZXNwb25kV2l0aE9LLCBIVFRQ
U2VydmVyOjpQcm90b2NvbDo6SHR0cHNXaXRoTGVnYWN5VExTKTsKQEAgLTE1Nyw4ICsxNTUsNiBA
QCBURVNUKFRMU1ZlcnNpb24sIERlZmF1bHRCZWhhdmlvcikKICAgICBbZGVsZWdhdGUgd2FpdEZv
ckRpZEZpbmlzaE5hdmlnYXRpb25dOwogfQogCi0jZW5kaWYgLy8gSEFWRShUTFNfUFJPVE9DT0xf
VkVSU0lPTl9UKQotCiAjaWYgSEFWRShUTFNfVkVSU0lPTl9EVVJJTkdfQ0hBTExFTkdFKQogCiBS
ZXRhaW5QdHI8V0tXZWJWaWV3PiBtYWtlV2ViVmlld1dpdGgoV0tXZWJzaXRlRGF0YVN0b3JlICpz
dG9yZSwgUmV0YWluUHRyPFRlc3ROYXZpZ2F0aW9uRGVsZWdhdGU+IGRlbGVnYXRlKQpAQCAtMjYz
LDggKzI1OSw2IEBAIFRFU1QoVExTVmVyc2lvbiwgUHJlY29ubmVjdCkKIAogI2VuZGlmIC8vIEhB
VkUoVExTX1ZFUlNJT05fRFVSSU5HX0NIQUxMRU5HRSkKIAotI2lmIEhBVkUoVExTX1BST1RPQ09M
X1ZFUlNJT05fVCkKLQogc3RhdGljIHN0ZDo6cGFpcjxSZXRhaW5QdHI8V0tXZWJWaWV3PiwgUmV0
YWluUHRyPFRlc3ROYXZpZ2F0aW9uRGVsZWdhdGU+PiB3ZWJWaWV3V2l0aE5hdmlnYXRpb25EZWxl
Z2F0ZSgpCiB7CiAgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1Rlc3ROYXZpZ2F0aW9uRGVs
ZWdhdGUgbmV3XSk7CkBAIC00OTksOCArNDkzLDYgQEAgVEVTVChUTFNWZXJzaW9uLCBMZWdhY3lT
dWJyZXNvdXJjZXMpCiAKICNlbmRpZiAvLyBIQVZFKFRMU19WRVJTSU9OX0RVUklOR19DSEFMTEVO
R0UpCiAKLSNlbmRpZiAvLyBIQVZFKFRMU19QUk9UT0NPTF9WRVJTSU9OX1QpCi0KIH0KIAogI2Vu
ZGlmIC8vIEhBVkUoU1NMKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCmluZGV4
IGFiYTRmYjkwN2ZiMjI3YzM3NDBkYWYwOWFmMTFjNzE0ODA2OTdlMjQuLmQ2MmUyOTIzMjY1YTM1
OWQwMWVhNmExYjEwNTMxMzkyMjhjOTA5NjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9u
UGFuZWwubW0KQEAgLTM5MiwxMSArMzkyLDcgQEAgYm9vbCBhZGRLZXlUb0tleWNoYWluKGNvbnN0
IFN0cmluZyYgcHJpdmF0ZUtleUJhc2U2NCwgY29uc3QgU3RyaW5nJiBycElkLCBjb25zdAogICAg
ICAgICAoaWQpa1NlY0F0dHJMYWJlbDogcnBJZCwKICAgICAgICAgKGlkKWtTZWNBdHRyQXBwbGlj
YXRpb25UYWc6IGFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRXaXRoQmFzZTY0RW5jb2RlZFN0
cmluZzp1c2VySGFuZGxlQmFzZTY0IG9wdGlvbnM6TlNEYXRhQmFzZTY0RGVjb2RpbmdJZ25vcmVV
bmtub3duQ2hhcmFjdGVyc10pLmdldCgpLAogICAgICAgICAoaWQpa1NlY0F0dHJBY2Nlc3NpYmxl
OiAoaWQpa1NlY0F0dHJBY2Nlc3NpYmxlQWZ0ZXJGaXJzdFVubG9jaywKLSNpZiBIQVZFKERBVEFf
UFJPVEVDVElPTl9LRVlDSEFJTikKICAgICAgICAgKGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktl
eWNoYWluOiBAWUVTCi0jZWxzZQotICAgICAgICAoaWQpa1NlY0F0dHJOb0xlZ2FjeTogQFlFUwot
I2VuZGlmCiAgICAgfTsKICAgICBPU1N0YXR1cyBzdGF0dXMgPSBTZWNJdGVtQWRkKChfX2JyaWRn
ZSBDRkRpY3Rpb25hcnlSZWYpYWRkUXVlcnksIE5VTEwpOwogICAgIGlmIChzdGF0dXMpCkBAIC00
MTEsMTEgKzQwNyw3IEBAIHZvaWQgY2xlYW5VcEtleWNoYWluKGNvbnN0IFN0cmluZyYgcnBJZCkK
ICAgICAgICAgKGlkKWtTZWNDbGFzczogKGlkKWtTZWNDbGFzc0tleSwKICAgICAgICAgKGlkKWtT
ZWNBdHRyTGFiZWw6IHJwSWQsCiAgICAgICAgIChpZClrU2VjQXR0ckFjY2Vzc2libGU6IChpZClr
U2VjQXR0ckFjY2Vzc2libGVBZnRlckZpcnN0VW5sb2NrLAotI2lmIEhBVkUoREFUQV9QUk9URUNU
SU9OX0tFWUNIQUlOKQogICAgICAgICAoaWQpa1NlY1VzZURhdGFQcm90ZWN0aW9uS2V5Y2hhaW46
IEBZRVMKLSNlbHNlCi0gICAgICAgIChpZClrU2VjQXR0ck5vTGVnYWN5OiBAWUVTCi0jZW5kaWYK
ICAgICB9OwogICAgIFNlY0l0ZW1EZWxldGUoKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilkZWxl
dGVRdWVyeSk7CiB9CkBAIC0xNDY4LDExICsxNDYwLDcgQEAgVEVTVChXZWJBdXRoZW50aWNhdGlv
blBhbmVsLCBMQU1ha2VDcmVkZW50aWFsUm9sbEJhY2tDcmVkZW50aWFsKQogICAgICAgICAoaWQp
a1NlY0NsYXNzOiAoaWQpa1NlY0NsYXNzS2V5LAogICAgICAgICAoaWQpa1NlY0F0dHJLZXlDbGFz
czogKGlkKWtTZWNBdHRyS2V5Q2xhc3NQcml2YXRlLAogICAgICAgICAoaWQpa1NlY0F0dHJMYWJl
bDogQCIiLAotI2lmIEhBVkUoREFUQV9QUk9URUNUSU9OX0tFWUNIQUlOKQogICAgICAgICAoaWQp
a1NlY1VzZURhdGFQcm90ZWN0aW9uS2V5Y2hhaW46IEBZRVMKLSNlbHNlCi0gICAgICAgIChpZClr
U2VjQXR0ck5vTGVnYWN5OiBAWUVTCi0jZW5kaWYKICAgICB9OwogICAgIE9TU3RhdHVzIHN0YXR1
cyA9IFNlY0l0ZW1Db3B5TWF0Y2hpbmcoKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilxdWVyeSwg
bnVsbHB0cik7CiAgICAgRVhQRUNUX0VRKHN0YXR1cywgZXJyU2VjSXRlbU5vdEZvdW5kKTsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0hJREdhbWVwYWRzLm1tIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvSElER2FtZXBhZHMubW0KaW5kZXggYTkwNjdl
MWYyZWYzYWJjNGQ5MTkyODhmYjllYTc5YmMzOTliNjkxZC4uZjQzYWZlZThhYWQ5N2RmZWI5NWNm
OWRkNzRmOTBiMGQ1NTZmMDJmNyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9tYWMvSElER2FtZXBhZHMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMv
SElER2FtZXBhZHMubW0KQEAgLTI1LDcgKzI1LDcgQEAKIAogI2ltcG9ydCAiY29uZmlnLmgiCiAK
LSNpZiBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaWYg
VVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAogI2ltcG9ydCAiSW5zdGFuY2VNZXRob2RTd2l6emxl
ci5oIgogI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKQEAgLTY1NCw0ICs2NTQsNCBAQCBU
RVNUKEdhbWVwYWQsIEZ1bGxJbmZvQWZ0ZXJDb25uZWN0aW9uKQogCiB9IC8vIG5hbWVzcGFjZSBU
ZXN0V2ViS2l0QVBJCiAKLSNlbmRpZiAvLyBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBM
RV9JTlRFUk5BTF9TREspCisjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2EvSFRUUFNlcnZlci5tbSBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvY29jb2EvSFRUUFNlcnZlci5tbQppbmRleCBkYTZlMTcwYTE5N2FjNTZjNDdh
YTJkZWI3NzBmN2JlZjNiYzE2MDZmLi5hMzI2MDZhODk5N2JhMDYxNzVmMGU1NDllZTRjZTI3OTNj
NmU1MWM1IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL0hUVFBTZXJ2ZXIu
bW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9IVFRQU2VydmVyLm1tCkBAIC04MCw3
ICs4MCw2IEBAIFJldGFpblB0cjxud19wYXJhbWV0ZXJzX3Q+IEhUVFBTZXJ2ZXI6Omxpc3RlbmVy
UGFyYW1ldGVycyhQcm90b2NvbCBwcm90b2NvbCwgQ2VyCiAgICAgICAgIGN1c3RvbVRlc3RJZGVu
dGl0eSA9IHRlc3RJZGVudGl0eSgpOwogCiAgICAgYXV0byBjb25maWd1cmVUTFMgPSBbcHJvdG9j
b2wsIHZlcmlmaWVyID0gV1RGTW92ZSh2ZXJpZmllciksIHRlc3RJZGVudGl0eSA9IFdURk1vdmUo
Y3VzdG9tVGVzdElkZW50aXR5KV0gKG53X3Byb3RvY29sX29wdGlvbnNfdCBwcm90b2NvbE9wdGlv
bnMpIG11dGFibGUgewotI2lmIEhBVkUoVExTX1BST1RPQ09MX1ZFUlNJT05fVCkKICAgICAgICAg
YXV0byBvcHRpb25zID0gYWRvcHROUyhud190bHNfY29weV9zZWNfcHJvdG9jb2xfb3B0aW9ucyhw
cm90b2NvbE9wdGlvbnMpKTsKICAgICAgICAgYXV0byBpZGVudGl0eSA9IGFkb3B0TlMoc2VjX2lk
ZW50aXR5X2NyZWF0ZSh0ZXN0SWRlbnRpdHkuZ2V0KCkpKTsKICAgICAgICAgc2VjX3Byb3RvY29s
X29wdGlvbnNfc2V0X2xvY2FsX2lkZW50aXR5KG9wdGlvbnMuZ2V0KCksIGlkZW50aXR5LmdldCgp
KTsKQEAgLTk0LDEwICs5Myw2IEBAIFJldGFpblB0cjxud19wYXJhbWV0ZXJzX3Q+IEhUVFBTZXJ2
ZXI6Omxpc3RlbmVyUGFyYW1ldGVycyhQcm90b2NvbCBwcm90b2NvbCwgQ2VyCiAgICAgICAgIH0K
ICAgICAgICAgaWYgKHByb3RvY29sID09IFByb3RvY29sOjpIdHRwMikKICAgICAgICAgICAgIHNl
Y19wcm90b2NvbF9vcHRpb25zX2FkZF90bHNfYXBwbGljYXRpb25fcHJvdG9jb2wob3B0aW9ucy5n
ZXQoKSwgImgyIik7Ci0jZWxzZQotICAgICAgICBVTlVTRURfUEFSQU0ocHJvdG9jb2xPcHRpb25z
KTsKLSAgICAgICAgQVNTRVJUX1VOVVNFRChwcm90b2NvbCwgcHJvdG9jb2wgIT0gUHJvdG9jb2w6
Okh0dHBzV2l0aExlZ2FjeVRMUyk7Ci0jZW5kaWYKICAgICB9OwogCiAgICAgYXV0byBjb25maWd1
cmVUTFNCbG9jayA9IHByb3RvY29sID09IFByb3RvY29sOjpIdHRwIHx8IHByb3RvY29sID09IFBy
b3RvY29sOjpIdHRwc1Byb3h5ID8gbWFrZUJsb2NrUHRyKE5XX1BBUkFNRVRFUlNfRElTQUJMRV9Q
Uk9UT0NPTCkgOiBtYWtlQmxvY2tQdHIoV1RGTW92ZShjb25maWd1cmVUTFMpKTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29uZmlnLmggYi9Ub29scy9UZXN0V2ViS2l0QVBJL2Nv
bmZpZy5oCmluZGV4IDdlMDY3MTNkNzU1ZTAyZTQ1NDg3NTNlYTYzNTY0MTQ0YjU0ZDg1MmYuLmZj
OGNkN2JiYzBkMmIyYzc5OTZlYmVlNmE3ZjU0ODVjYzQ3YzAyZmMgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvY29uZmlnLmgKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9jb25maWcu
aApAQCAtMTI1LDExICsxMjUsNiBAQAogI2RlZmluZSBIQVZFX1VJV0VCVklFVyAxCiAjZW5kaWYK
IAotLy8gRklYTUU6IE1vdmUgdGhpcyB0byBQbGF0Zm9ybUhhdmUuaC4KLSNpZiBQTEFURk9STShD
T0NPQSkgJiYgIShQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPCAxMDE1MDApCi0jZGVmaW5lIEhBVkVfVExTX1BST1RPQ09MX1ZFUlNJT05fVCAxCi0jZW5k
aWYKLQogLy8gRklYTUU6IE1vdmUgdGhpcyB0byBQbGF0Zm9ybUhhdmUuaC4KICNpZiAoUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkgfHwg
KFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDE0MDAwMCkKICNkZWZpbmUgSEFWRV9UTFNfVkVSU0lPTl9EVVJJTkdfQ0hBTExFTkdFIDEK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Hb29n
bGVTdGFkaWEubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvR29v
Z2xlU3RhZGlhLm1tCmluZGV4IDgyOGM2ZmFkZTMwYzE0MTI3NGVmMWZmNDYzMWNmMjAxNWZhMGZl
MDEuLjRkN2YzODQ4ZTczMzg0MTQ2NWExZDU0ZmExZmI3MzljODUxODk5MTYgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Hb29nbGVTdGFkaWEubW0K
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL0dvb2dsZVN0YWRp
YS5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJWaXJ0
dWFsR2FtZXBhZC5oIgogCi0jaWYgSEFWRShISURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5U
RVJOQUxfU0RLKQorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAKICNpbXBvcnQgPEhJRC9I
SURVc2VyRGV2aWNlLmg+CiAKQEAgLTIwNiw0ICsyMDYsNCBAQCBHYW1lcGFkTWFwcGluZyBWaXJ0
dWFsR2FtZXBhZDo6Z29vZ2xlU3RhZGlhTWFwcGluZygpCiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RX
ZWJLaXRBUEkKIAotI2VuZGlmIC8vIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lO
VEVSTkFMX1NESykKKyNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL0xvZ2l0ZWNoRjMxMC5t
bSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Mb2dpdGVjaEYzMTAu
bW0KaW5kZXggOTc3ZjJmZWJiZWE4YTMyNTk0NzAxODU0ZWUzMmJiNDRkZDk0ZTZhZC4uNGY0YTdi
NDYxNzVlMTI0ZTNiNzJmNzFhYWIzNDY0YWVhODUwMTFjMyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL0xvZ2l0ZWNoRjMxMC5tbQorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvTG9naXRlY2hGMzEwLm1tCkBAIC0y
Niw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIlZpcnR1YWxHYW1lcGFk
LmgiCiAKLSNpZiBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREsp
CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAogI2ltcG9ydCA8SElEL0hJRFVzZXJEZXZp
Y2UuaD4KIApAQCAtMTQ1LDQgKzE0NSw0IEBAIEdhbWVwYWRNYXBwaW5nIFZpcnR1YWxHYW1lcGFk
Ojpsb2dpdGVjaEYzMTBNYXBwaW5nKCkKIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQog
Ci0jZW5kaWYgLy8gSEFWRShISURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RL
KQorI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvTG9naXRlY2hGNzEwLm1tIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL0xvZ2l0ZWNoRjcxMC5tbQppbmRleCBm
NTZlZTY0ZDE4MDkzZGY5N2Y1MzAyYWQwYjBkYjQ0N2UwMThkYjI4Li5kNWEwNzM1ZWE1ZjYxYTc3
ZDFkNmU4ZGZjMDU1ZmYxZTg5OWU0MWJhIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L21hYy9HYW1lcGFkTWFwcGluZ3MvTG9naXRlY2hGNzEwLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Mb2dpdGVjaEY3MTAubW0KQEAgLTI2LDcgKzI2LDcg
QEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiVmlydHVhbEdhbWVwYWQuaCIKIAotI2lm
IEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpZiBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKQogCiAjaW1wb3J0IDxISUQvSElEVXNlckRldmljZS5oPgogCkBA
IC0xNTYsNCArMTU2LDQgQEAgR2FtZXBhZE1hcHBpbmcgVmlydHVhbEdhbWVwYWQ6OmxvZ2l0ZWNo
RjcxME1hcHBpbmcoKQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKLSNlbmRpZiAv
LyBIQVZFKEhJRF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjZW5kaWYg
Ly8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9NaWNyb3NvZnRYYm94T25lLm1tIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL01pY3Jvc29mdFhib3hPbmUubW0KaW5kZXggODkz
N2IwNTYyZTU1Yjg2YWU1NDM3MmMxOWI4ZmU5NmRiODI4YjJiMy4uZGRmYjY1NWUyY2Q1OTVlODQ4
MWFkOTIzMTcxOGMyYzdkYjRmOWVhMyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9t
YWMvR2FtZXBhZE1hcHBpbmdzL01pY3Jvc29mdFhib3hPbmUubW0KKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL01pY3Jvc29mdFhib3hPbmUubW0KQEAgLTI2LDcg
KzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiVmlydHVhbEdhbWVwYWQuaCIK
IAotI2lmIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNp
ZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAjaW1wb3J0IDxISUQvSElEVXNlckRldmljZS5o
PgogCkBAIC0yODksNCArMjg5LDQgQEAgR2FtZXBhZE1hcHBpbmcgVmlydHVhbEdhbWVwYWQ6Om1p
Y3Jvc29mdFhib3hPbmVNYXBwaW5nKCkKIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQog
Ci0jZW5kaWYgLy8gSEFWRShISURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RL
KQorI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU2hlbnpoZW5Mb25nc2hlbmd3ZWlUZWNo
bm9sb2d5R2FtZXBhZC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5n
cy9TaGVuemhlbkxvbmdzaGVuZ3dlaVRlY2hub2xvZ3lHYW1lcGFkLm1tCmluZGV4IGY3MzI2M2Ri
M2JjYTRmMDU5ZjY3Y2M5MjE5ZmE0NzhmNmQzYmFkZTYuLmJhMzM3ZjI2ZDdiMTAxODMwOGZlZGMy
ZDE5Yzk1OGIwOGRkMTlhMzIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dh
bWVwYWRNYXBwaW5ncy9TaGVuemhlbkxvbmdzaGVuZ3dlaVRlY2hub2xvZ3lHYW1lcGFkLm1tCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9TaGVuemhlbkxvbmdz
aGVuZ3dlaVRlY2hub2xvZ3lHYW1lcGFkLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJj
b25maWcuaCIKICNpbXBvcnQgIlZpcnR1YWxHYW1lcGFkLmgiCiAKLSNpZiBIQVZFKEhJRF9GUkFN
RVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaWYgVVNFKEFQUExFX0lOVEVSTkFM
X1NESykKIAogI2ltcG9ydCA8SElEL0hJRFVzZXJEZXZpY2UuaD4KIApAQCAtMTU0LDQgKzE1NCw0
IEBAIEdhbWVwYWRNYXBwaW5nIFZpcnR1YWxHYW1lcGFkOjpzaGVuemhlbkxvbmdzaGVuZ3dlaVRl
Y2hub2xvZ3lHYW1lcGFkTWFwcGluZygpCiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkK
IAotI2VuZGlmIC8vIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykKKyNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1NvbnlEdWFsU2hvY2szLm1tIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1NvbnlEdWFsU2hvY2szLm1tCmlu
ZGV4IDQwZmQwMzUzMTRjODRmMWQ5MGQzMGVmN2NhYTI1MmM4NTYzZDgyZDUuLmQ2MDEyYjlmN2Uz
NDhiZTc1YTM4MjliZTIyZmRiYzViYjk4NDI1MTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Tb255RHVhbFNob2NrMy5tbQorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU29ueUR1YWxTaG9jazMubW0KQEAgLTI2
LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiVmlydHVhbEdhbWVwYWQu
aCIKIAotI2lmIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykK
KyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAjaW1wb3J0IDxISUQvSElEVXNlckRldmlj
ZS5oPgogCkBAIC0yMDEsNCArMjAxLDQgQEAgR2FtZXBhZE1hcHBpbmcgVmlydHVhbEdhbWVwYWQ6
OnNvbnlEdWFsc2hvY2szTWFwcGluZygpCiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkK
IAotI2VuZGlmIC8vIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykKKyNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1NvbnlEdWFsU2hvY2s0Lm1tIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1NvbnlEdWFsU2hvY2s0Lm1tCmlu
ZGV4IDMwNmEzNmRhNmRhZTMyMzk0OTc4MjQ0NTNhYmFjNzcyNDc3MWZiYTUuLmVhZDExZmFlN2Nh
ZTM5NmMzOTIxZTk4YTA2OWU0MmMxYTM3YjBjNWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9Tb255RHVhbFNob2NrNC5tbQorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU29ueUR1YWxTaG9jazQubW0KQEAgLTI2
LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiVmlydHVhbEdhbWVwYWQu
aCIKIAotI2lmIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykK
KyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAjaW1wb3J0IDxISUQvSElEVXNlckRldmlj
ZS5oPgogCkBAIC0zMjgsNCArMzI4LDQgQEAgR2FtZXBhZE1hcHBpbmcgVmlydHVhbEdhbWVwYWQ6
OnNvbnlEdWFsc2hvY2s0TWFwcGluZygpCiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkK
IAotI2VuZGlmIC8vIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykKKyNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1N0ZWVsU2VyaWVzTmltYnVzLm1tIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1N0ZWVsU2VyaWVzTmltYnVz
Lm1tCmluZGV4IGZiMTllYjRlN2RiYWMxZjk1NDhiMGZlNjNlMjM0OWM3MGYxZDc1NTMuLjc5NDQ0
ZjVlMTQyN2QyYTI5ZDQ0ZDc4ZTRiZTE2MDRkZmUyODQ0MmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvbWFjL0dhbWVwYWRNYXBwaW5ncy9TdGVlbFNlcmllc05pbWJ1cy5tbQorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU3RlZWxTZXJpZXNOaW1i
dXMubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiVmly
dHVhbEdhbWVwYWQuaCIKIAotI2lmIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQUExFX0lO
VEVSTkFMX1NESykKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAjaW1wb3J0IDxISUQv
SElEVXNlckRldmljZS5oPgogCkBAIC0xNDQsNCArMTQ0LDQgQEAgR2FtZXBhZE1hcHBpbmcgVmly
dHVhbEdhbWVwYWQ6OnN0ZWVsU2VyaWVzTmltYnVzTWFwcGluZygpCiAKIH0gLy8gbmFtZXNwYWNl
IFRlc3RXZWJLaXRBUEkKIAotI2VuZGlmIC8vIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKKyNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBhZE1hcHBpbmdzL1N1bkxpZ2h0
QXBwbGljYXRpb25HZW5lcmljTkVTLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvR2FtZXBh
ZE1hcHBpbmdzL1N1bkxpZ2h0QXBwbGljYXRpb25HZW5lcmljTkVTLm1tCmluZGV4IDZjNTU5Zjlk
ZjRmOTA3YzdhODAzZjUxZDQ4N2NmNjA1NjA0OGM2MmIuLjU1NjA1ODVlMDg3YjYzMzFhN2FlZjFi
MjRmZmU0YTA5YjYwNzFmZjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL0dh
bWVwYWRNYXBwaW5ncy9TdW5MaWdodEFwcGxpY2F0aW9uR2VuZXJpY05FUy5tbQorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL21hYy9HYW1lcGFkTWFwcGluZ3MvU3VuTGlnaHRBcHBsaWNhdGlvbkdl
bmVyaWNORVMubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9y
dCAiVmlydHVhbEdhbWVwYWQuaCIKIAotI2lmIEhBVkUoSElEX0ZSQU1FV09SSykgJiYgVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCiAjaW1wb3J0
IDxISUQvSElEVXNlckRldmljZS5oPgogCkBAIC0xNDEsNCArMTQxLDQgQEAgR2FtZXBhZE1hcHBp
bmcgVmlydHVhbEdhbWVwYWQ6OnN1bkxpZ2h0QXBwbGljYXRpb25HZW5lcmljTkVTTWFwcGluZygp
CiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKIAotI2VuZGlmIC8vIEhBVkUoSElEX0ZS
QU1FV09SSykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNlbmRpZiAvLyBVU0UoQVBQTEVf
SU5URVJOQUxfU0RLKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvVGVzdERy
YWdnaW5nSW5mby5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1Rlc3REcmFnZ2luZ0luZm8u
bW0KaW5kZXggNGJjYjZkY2VlMWE0ZTc5NWE2MTE4N2YzNWFkMjA1YzYzNmI5N2I0Ny4uZDhmZTMy
N2ZlYmVhMTY2YjI5YjY5YTQyM2I3NTViNDFkNjQ5MjU1MCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9tYWMvVGVzdERyYWdnaW5nSW5mby5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL21hYy9UZXN0RHJhZ2dpbmdJbmZvLm1tCkBAIC0xMTMsMTMgKzExMyw3IEBAIC0gKHZvaWQp
ZW51bWVyYXRlRHJhZ2dpbmdJdGVtc1dpdGhPcHRpb25zOihOU0RyYWdnaW5nSXRlbUVudW1lcmF0
aW9uT3B0aW9ucyllbnVtCiAgICAgICAgIFtyZWNlaXZlciBzZXREcmFnZ2luZ1NvdXJjZTpfc291
cmNlLmdldCgpLmdldCgpXTsKICAgICAgICAgW19maWxlUHJvbWlzZVJlY2VpdmVycyBhZGRPYmpl
Y3Q6cmVjZWl2ZXIuZ2V0KCldOwogCi0jaWYgSEFWRShOU0RSQUdHSU5HSVRFTV9JTklUV0lUSElU
RU0pCiAgICAgICAgIGF1dG8gaXRlbSA9IGFkb3B0TlMoW1tOU0RyYWdnaW5nSXRlbSBhbGxvY10g
X2luaXRXaXRoSXRlbTpyZWNlaXZlci5nZXQoKV0pOwotI2Vsc2UKLSAgICAgICAgYXV0byBpdGVt
ID0gYWRvcHROUyhbW05TRHJhZ2dpbmdJdGVtIGFsbG9jXSBpbml0V2l0aFBhc3RlYm9hcmRXcml0
ZXI6KGlkIDxOU1Bhc3RlYm9hcmRXcml0aW5nPilyZWNlaXZlci5nZXQoKV0pOyAvLyBGSVhNRTog
PGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE5NDA2MD4gUGFzcyBhbiBvYmplY3Qgb2YgdGhlIHJpZ2h0
IHR5cGUuCi0gICAgICAgIFtpdGVtIHNldEl0ZW06cmVjZWl2ZXIuZ2V0KCldOwotI2VuZGlmCi0K
ICAgICAgICAgYmxvY2soaXRlbS5nZXQoKSwgMCwgJnN0b3ApOwogICAgICAgICBpZiAoc3RvcCkK
ICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMv
VmlydHVhbEdhbWVwYWQuaCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1ZpcnR1YWxHYW1lcGFk
LmgKaW5kZXggYjIxYjk1NTY5NDcwMzI0NzEzMjc1ZGMxNWIxYWI5NWU3ZTBlZWNjNC4uMGQ4NzZl
ZjQ5YjU4YTM3YjE1YjBmNDk4NzI0YzE0NjU1OWUyMzQzMiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9tYWMvVmlydHVhbEdhbWVwYWQuaAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L21hYy9WaXJ0dWFsR2FtZXBhZC5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQog
Ci0jaWYgSEFWRShISURfRlJBTUVXT1JLKSAmJiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2lm
IFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAKICNpbmNsdWRlIDxkaXNwYXRjaC9kaXNwYXRjaC5o
PgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CkBAIC0xMjMsNCArMTIzLDQgQEAgcHJpdmF0
ZToKIH07CiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKLSNlbmRpZiAvLyBIQVZFKEhJ
RF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjZW5kaWYgLy8gVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvbWFjL1Zp
cnR1YWxHYW1lcGFkLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9tYWMvVmlydHVhbEdhbWVwYWQu
bW0KaW5kZXggMGY0MjQ5OGFkNDBkMmEwZDNmODRmZjgxYWFkYmNjODczOWJmZTBhNy4uMTM3ODkw
ZDZiNmJhYWYyMGZjYjllZjQwMDM4ZjQ5MGY2MjM4NGE4YSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9tYWMvVmlydHVhbEdhbWVwYWQubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9tYWMvVmlydHVhbEdhbWVwYWQubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZp
Zy5oIgogI2ltcG9ydCAiVmlydHVhbEdhbWVwYWQuaCIKIAotI2lmIEhBVkUoSElEX0ZSQU1FV09S
SykgJiYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RL
KQogCiAjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KICNpbXBvcnQgPEhJRC9ISURC
YXNlLmg+CkBAIC05Nyw0ICs5Nyw0IEBAIHZvaWQgVmlydHVhbEdhbWVwYWQ6OnB1Ymxpc2hSZXBv
cnQoKQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCiAKLSNlbmRpZiAvLyBIQVZFKEhJ
RF9GUkFNRVdPUkspICYmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjZW5kaWYgLy8gVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29j
b2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2Ev
VGVzdENvbnRyb2xsZXJDb2NvYS5tbQppbmRleCAyZDA1MTgyNTI3Nzg2MmNkN2Y1MTFjZDJkZDMy
ODAxNGM1YThmY2U0Li43YzEwOTY0MmQ5NTM5NDNlMjI4OTVlNWE5MDdlYmYwOWY0ODY2NTRjIDEw
MDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29j
b2EubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNv
Y29hLm1tCkBAIC00NjEsMTEgKzQ2MSw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmFkZFRlc3RL
ZXlUb0tleWNoYWluKGNvbnN0IFN0cmluZyYgcHJpdmF0ZUtleUJhc2U2NCwgY29uc3QKICAgICAg
ICAgKGlkKWtTZWNBdHRyTGFiZWw6IGF0dHJMYWJlbCwKICAgICAgICAgKGlkKWtTZWNBdHRyQXBw
bGljYXRpb25UYWc6IGFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRXaXRoQmFzZTY0RW5jb2Rl
ZFN0cmluZzphcHBsaWNhdGlvblRhZ0Jhc2U2NCBvcHRpb25zOk5TRGF0YUJhc2U2NERlY29kaW5n
SWdub3JlVW5rbm93bkNoYXJhY3RlcnNdKS5nZXQoKSwKICAgICAgICAgKGlkKWtTZWNBdHRyQWNj
ZXNzaWJsZTogKGlkKWtTZWNBdHRyQWNjZXNzaWJsZUFmdGVyRmlyc3RVbmxvY2ssCi0jaWYgSEFW
RShEQVRBX1BST1RFQ1RJT05fS0VZQ0hBSU4pCiAgICAgICAgIChpZClrU2VjVXNlRGF0YVByb3Rl
Y3Rpb25LZXljaGFpbjogQFlFUwotI2Vsc2UKLSAgICAgICAgKGlkKWtTZWNBdHRyTm9MZWdhY3k6
IEBZRVMKLSNlbmRpZgogICAgIH07CiAgICAgT1NTdGF0dXMgc3RhdHVzID0gU2VjSXRlbUFkZCgo
X19icmlkZ2UgQ0ZEaWN0aW9uYXJ5UmVmKWFkZFF1ZXJ5LCBOVUxMKTsKICAgICBBU1NFUlRfVU5V
U0VEKHN0YXR1cywgIXN0YXR1cyk7CkBAIC00NzYsMTEgKzQ3Miw3IEBAIHZvaWQgVGVzdENvbnRy
b2xsZXI6OmNsZWFuVXBLZXljaGFpbihjb25zdCBTdHJpbmcmIGF0dHJMYWJlbCwgY29uc3QgU3Ry
aW5nJiBhcHBsCiAgICAgYXV0byBkZWxldGVRdWVyeSA9IGFkb3B0TlMoW1tOU011dGFibGVEaWN0
aW9uYXJ5IGFsbG9jXSBpbml0XSk7CiAgICAgW2RlbGV0ZVF1ZXJ5IHNldE9iamVjdDooaWQpa1Nl
Y0NsYXNzS2V5IGZvcktleTooaWQpa1NlY0NsYXNzXTsKICAgICBbZGVsZXRlUXVlcnkgc2V0T2Jq
ZWN0OmF0dHJMYWJlbCBmb3JLZXk6KGlkKWtTZWNBdHRyTGFiZWxdOwotI2lmIEhBVkUoREFUQV9Q
Uk9URUNUSU9OX0tFWUNIQUlOKQogICAgIFtkZWxldGVRdWVyeSBzZXRPYmplY3Q6QFlFUyBmb3JL
ZXk6KGlkKWtTZWNVc2VEYXRhUHJvdGVjdGlvbktleWNoYWluXTsKLSNlbHNlCi0gICAgW2RlbGV0
ZVF1ZXJ5IHNldE9iamVjdDpAWUVTIGZvcktleTooaWQpa1NlY0F0dHJOb0xlZ2FjeV07Ci0jZW5k
aWYKICAgICBpZiAoISFhcHBsaWNhdGlvbkxhYmVsQmFzZTY0KQogICAgICAgICBbZGVsZXRlUXVl
cnkgc2V0T2JqZWN0OmFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRXaXRoQmFzZTY0RW5jb2Rl
ZFN0cmluZzphcHBsaWNhdGlvbkxhYmVsQmFzZTY0IG9wdGlvbnM6TlNEYXRhQmFzZTY0RGVjb2Rp
bmdJZ25vcmVVbmtub3duQ2hhcmFjdGVyc10pLmdldCgpIGZvcktleTooaWQpa1NlY0F0dHJBcHBs
aWNhdGlvbkxhYmVsXTsKIApAQCAtNDk0LDExICs0ODYsNyBAQCBib29sIFRlc3RDb250cm9sbGVy
OjprZXlFeGlzdHNJbktleWNoYWluKGNvbnN0IFN0cmluZyYgYXR0ckxhYmVsLCBjb25zdCBTdHJp
bmcmCiAgICAgICAgIChpZClrU2VjQXR0cktleUNsYXNzOiAoaWQpa1NlY0F0dHJLZXlDbGFzc1By
aXZhdGUsCiAgICAgICAgIChpZClrU2VjQXR0ckxhYmVsOiBhdHRyTGFiZWwsCiAgICAgICAgIChp
ZClrU2VjQXR0ckFwcGxpY2F0aW9uTGFiZWw6IGFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRX
aXRoQmFzZTY0RW5jb2RlZFN0cmluZzphcHBsaWNhdGlvbkxhYmVsQmFzZTY0IG9wdGlvbnM6TlNE
YXRhQmFzZTY0RGVjb2RpbmdJZ25vcmVVbmtub3duQ2hhcmFjdGVyc10pLmdldCgpLAotI2lmIEhB
VkUoREFUQV9QUk9URUNUSU9OX0tFWUNIQUlOKQogICAgICAgICAoaWQpa1NlY1VzZURhdGFQcm90
ZWN0aW9uS2V5Y2hhaW46IEBZRVMKLSNlbHNlCi0gICAgICAgIChpZClrU2VjQXR0ck5vTGVnYWN5
OiBAWUVTCi0jZW5kaWYKICAgICB9OwogICAgIE9TU3RhdHVzIHN0YXR1cyA9IFNlY0l0ZW1Db3B5
TWF0Y2hpbmcoKF9fYnJpZGdlIENGRGljdGlvbmFyeVJlZilxdWVyeSwgTlVMTCk7CiAgICAgaWYg
KCFzdGF0dXMpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>