<?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>203214</bug_id>
          
          <creation_ts>2019-10-21 14:55:49 -0700</creation_ts>
          <short_desc>Mach lookup to com.apple.webinspector should not be allowed in WebKit&apos;s WebContent process</short_desc>
          <delta_ts>2020-02-17 10:31:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit 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>
          
          
          <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>207170</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1582060</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-10-21 14:55:49 -0700</bug_when>
    <thetext>Currently, mach lookup to com.apple.webinspector is allowed in the WebContent process, but instead of always allowing this, we should issue a mach sandbox extension in the UI process when the user is enabling the Web inspector.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582101</commentid>
    <comment_count>1</comment_count>
      <attachid>381472</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-10-21 15:57:34 -0700</bug_when>
    <thetext>Created attachment 381472
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582135</commentid>
    <comment_count>2</comment_count>
      <attachid>381481</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-10-21 16:33:52 -0700</bug_when>
    <thetext>Created attachment 381481
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582153</commentid>
    <comment_count>3</comment_count>
      <attachid>381472</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-10-21 16:59:51 -0700</bug_when>
    <thetext>Comment on attachment 381472
Patch

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

&gt; Source/JavaScriptCore/inspector/remote/RemoteInspector.cpp:43
&gt; +#if PLATFORM(COCOA)
&gt; +std::atomic&lt;bool&gt; RemoteInspector::needMachSandboxExtension = true;
&gt; +#endif

Hmm. Since the default is false, this looks like like it could break remote debugging of a JSContext:

    (1) Applications/Daemons should already have access to the port in the default sandbox rules
    (2) Disabling RemoteInspector by default means JSContext only applications would not be debuggable

I see that you relax the restriction for +[WebView initialization] (WebView / UIWebView), but it seems we would also need to do the same for JSContext / JSContextRef.

However maybe the default should be that the sandbox requirement is not necessary, and it is only turned on in WebContentProcess? That seems less likely to be problematic for Remote Inspection in the future.

&gt; Source/JavaScriptCore/inspector/remote/RemoteInspector.h:111
&gt; +#if PLATFORM(COCOA)
&gt; +    static void setNeedMachSandboxExtension(bool needExtension) { needMachSandboxExtension = needExtension; }
&gt; +#endif

This is only ever called with `false`. How about renaming it to describe what it is effectively doing?

    static void relaxSandboxExtensionRequirement() { needMachSandboxExtension = false; }

&gt; Source/WebKit/ChangeLog:12
&gt; +        If the Web inspector is enabled when the WebContent process is started, a sandbox extension is created
&gt; +        for &apos;com.apple.webinspectord&apos; and a message is sent to the WebContent process, where the extension will
&gt; +        be consumed, and the remote Web inspector will be started. The same happens if Web inspector is enabled
&gt; +        by the user while Safari is running. When RemoteInspector::singleton() is called in the UI process there
&gt; +        is no need for an extension, since access to the Web inspector daemon is already allowed.

Given we now go through the UIProcess... does the WebContent process ever need access to this mach port now? Hmm, it probably needs it for direct Service-Worker debugging.

&gt; Source/WebKit/UIProcess/WebProcessProxy.cpp:869
&gt; +    if (CFPreferencesGetAppIntegerValue(CFSTR(&quot;RemoteInspectorEnabled&quot;), CFSTR(&quot;com.apple.webinspectord&quot;), &amp;keyExistsAndHasValidFormat) &amp;&amp; keyExistsAndHasValidFormat) {

Is it normal to have access to this? I would not expect this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582350</commentid>
    <comment_count>4</comment_count>
      <attachid>381481</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-10-22 07:12:38 -0700</bug_when>
    <thetext>Comment on attachment 381481
Patch

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

&gt; Source/WebKit/UIProcess/WebProcessPool.cpp:1041
&gt; +    Inspector::RemoteInspector::setNeedMachSandboxExtension(false);

This doesn&apos;t look right.  Shouldn&apos;t we be consuming a sandbox extension before calling this?

&gt; Source/WebKit/WebProcess/WebProcess.messages.in:135
&gt; +    RemoteWebInspectorEnabled(WebKit::SandboxExtension::Handle handle);

This sounds like it should return a bool.  EnableRemoteWebInspector?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582454</commentid>
    <comment_count>5</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-10-22 11:23:56 -0700</bug_when>
    <thetext>(In reply to Joseph Pecoraro from comment #3)
&gt; Comment on attachment 381472 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=381472&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/inspector/remote/RemoteInspector.cpp:43
&gt; &gt; +#if PLATFORM(COCOA)
&gt; &gt; +std::atomic&lt;bool&gt; RemoteInspector::needMachSandboxExtension = true;
&gt; &gt; +#endif
&gt; 
&gt; Hmm. Since the default is false, this looks like like it could break remote
&gt; debugging of a JSContext:
&gt; 
&gt;     (1) Applications/Daemons should already have access to the port in the
&gt; default sandbox rules
&gt;     (2) Disabling RemoteInspector by default means JSContext only
&gt; applications would not be debuggable
&gt; 
&gt; I see that you relax the restriction for +[WebView initialization] (WebView
&gt; / UIWebView), but it seems we would also need to do the same for JSContext /
&gt; JSContextRef.
&gt; 
&gt; However maybe the default should be that the sandbox requirement is not
&gt; necessary, and it is only turned on in WebContentProcess? That seems less
&gt; likely to be problematic for Remote Inspection in the future.
&gt; 

Good point, I&apos;ll change the default to not require a sandbox extension.

&gt; &gt; Source/JavaScriptCore/inspector/remote/RemoteInspector.h:111
&gt; &gt; +#if PLATFORM(COCOA)
&gt; &gt; +    static void setNeedMachSandboxExtension(bool needExtension) { needMachSandboxExtension = needExtension; }
&gt; &gt; +#endif
&gt; 
&gt; This is only ever called with `false`. How about renaming it to describe
&gt; what it is effectively doing?
&gt; 
&gt;     static void relaxSandboxExtensionRequirement() {
&gt; needMachSandboxExtension = false; }
&gt; 

By changing the default of the flag to not needing a sandbox extension, I think the WebContent process will need to pass both true and false to this method.

&gt; &gt; Source/WebKit/ChangeLog:12
&gt; &gt; +        If the Web inspector is enabled when the WebContent process is started, a sandbox extension is created
&gt; &gt; +        for &apos;com.apple.webinspectord&apos; and a message is sent to the WebContent process, where the extension will
&gt; &gt; +        be consumed, and the remote Web inspector will be started. The same happens if Web inspector is enabled
&gt; &gt; +        by the user while Safari is running. When RemoteInspector::singleton() is called in the UI process there
&gt; &gt; +        is no need for an extension, since access to the Web inspector daemon is already allowed.
&gt; 
&gt; Given we now go through the UIProcess... does the WebContent process ever
&gt; need access to this mach port now? Hmm, it probably needs it for direct
&gt; Service-Worker debugging.
&gt; 

Oh, that is interesting! How can I test if it&apos;s needed for Service-Worker debugging?

&gt; &gt; Source/WebKit/UIProcess/WebProcessProxy.cpp:869
&gt; &gt; +    if (CFPreferencesGetAppIntegerValue(CFSTR(&quot;RemoteInspectorEnabled&quot;), CFSTR(&quot;com.apple.webinspectord&quot;), &amp;keyExistsAndHasValidFormat) &amp;&amp; keyExistsAndHasValidFormat) {
&gt; 
&gt; Is it normal to have access to this? I would not expect this.

You&apos;re right. This requires a new sandbox rule for the UI process (Safari), which will be added in separate patch.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582462</commentid>
    <comment_count>6</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-10-22 11:40:28 -0700</bug_when>
    <thetext>&gt; &gt; &gt; Source/WebKit/ChangeLog:12
&gt; &gt; &gt; +        If the Web inspector is enabled when the WebContent process is started, a sandbox extension is created
&gt; &gt; &gt; +        for &apos;com.apple.webinspectord&apos; and a message is sent to the WebContent process, where the extension will
&gt; &gt; &gt; +        be consumed, and the remote Web inspector will be started. The same happens if Web inspector is enabled
&gt; &gt; &gt; +        by the user while Safari is running. When RemoteInspector::singleton() is called in the UI process there
&gt; &gt; &gt; +        is no need for an extension, since access to the Web inspector daemon is already allowed.
&gt; &gt; 
&gt; &gt; Given we now go through the UIProcess... does the WebContent process ever
&gt; &gt; need access to this mach port now? Hmm, it probably needs it for direct
&gt; &gt; Service-Worker debugging.
&gt; &gt; 
&gt; 
&gt; Oh, that is interesting! How can I test if it&apos;s needed for Service-Worker
&gt; debugging?

You can visit a page like `https://airhorner.com` and you should continue to see the airhorner.com Service Worker in the Develop menu:

    macOS: Develop &gt; Service Worker &gt; airhorner
    iOS:   Develop &gt; (Device Name) &gt; airhorner

&gt; &gt; &gt; Source/WebKit/UIProcess/WebProcessProxy.cpp:869
&gt; &gt; &gt; +    if (CFPreferencesGetAppIntegerValue(CFSTR(&quot;RemoteInspectorEnabled&quot;), CFSTR(&quot;com.apple.webinspectord&quot;), &amp;keyExistsAndHasValidFormat) &amp;&amp; keyExistsAndHasValidFormat) {
&gt; &gt; 
&gt; &gt; Is it normal to have access to this? I would not expect this.
&gt; 
&gt; You&apos;re right. This requires a new sandbox rule for the UI process (Safari),
&gt; which will be added in separate patch.

I&apos;m not exactly a fan of this approach. If this `RemoteInspectorEnabled` setting changes, then someone will have to remember to change WebKit. Currently that setting (on COCOA) is only set in one place and checked in one place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582535</commentid>
    <comment_count>7</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-10-22 13:46:36 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #4)
&gt; Comment on attachment 381481 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=381481&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/WebProcessPool.cpp:1041
&gt; &gt; +    Inspector::RemoteInspector::setNeedMachSandboxExtension(false);
&gt; 
&gt; This doesn&apos;t look right.  Shouldn&apos;t we be consuming a sandbox extension
&gt; before calling this?
&gt; 

Not in this case, since the UI process does not need to consume a web inspector extension. However, this line will not be needed when the default flag for needing a sandbox extension is being changed to false.

&gt; &gt; Source/WebKit/WebProcess/WebProcess.messages.in:135
&gt; &gt; +    RemoteWebInspectorEnabled(WebKit::SandboxExtension::Handle handle);
&gt; 
&gt; This sounds like it should return a bool.  EnableRemoteWebInspector?

Yes, that is much better. Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582595</commentid>
    <comment_count>8</comment_count>
      <attachid>381609</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-10-22 14:39:38 -0700</bug_when>
    <thetext>Created attachment 381609
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582632</commentid>
    <comment_count>9</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-10-22 15:46:11 -0700</bug_when>
    <thetext>(In reply to Joseph Pecoraro from comment #6)
&gt; &gt; &gt; &gt; Source/WebKit/ChangeLog:12
&gt; &gt; &gt; &gt; +        If the Web inspector is enabled when the WebContent process is started, a sandbox extension is created
&gt; &gt; &gt; &gt; +        for &apos;com.apple.webinspectord&apos; and a message is sent to the WebContent process, where the extension will
&gt; &gt; &gt; &gt; +        be consumed, and the remote Web inspector will be started. The same happens if Web inspector is enabled
&gt; &gt; &gt; &gt; +        by the user while Safari is running. When RemoteInspector::singleton() is called in the UI process there
&gt; &gt; &gt; &gt; +        is no need for an extension, since access to the Web inspector daemon is already allowed.
&gt; &gt; &gt; 
&gt; &gt; &gt; Given we now go through the UIProcess... does the WebContent process ever
&gt; &gt; &gt; need access to this mach port now? Hmm, it probably needs it for direct
&gt; &gt; &gt; Service-Worker debugging.
&gt; &gt; &gt; 
&gt; &gt; 
&gt; &gt; Oh, that is interesting! How can I test if it&apos;s needed for Service-Worker
&gt; &gt; debugging?
&gt; 
&gt; You can visit a page like `https://airhorner.com` and you should continue to
&gt; see the airhorner.com Service Worker in the Develop menu:
&gt; 
&gt;     macOS: Develop &gt; Service Worker &gt; airhorner
&gt;     iOS:   Develop &gt; (Device Name) &gt; airhorner
&gt; 
&gt; &gt; &gt; &gt; Source/WebKit/UIProcess/WebProcessProxy.cpp:869
&gt; &gt; &gt; &gt; +    if (CFPreferencesGetAppIntegerValue(CFSTR(&quot;RemoteInspectorEnabled&quot;), CFSTR(&quot;com.apple.webinspectord&quot;), &amp;keyExistsAndHasValidFormat) &amp;&amp; keyExistsAndHasValidFormat) {
&gt; &gt; &gt; 
&gt; &gt; &gt; Is it normal to have access to this? I would not expect this.
&gt; &gt; 
&gt; &gt; You&apos;re right. This requires a new sandbox rule for the UI process (Safari),
&gt; &gt; which will be added in separate patch.
&gt; 
&gt; I&apos;m not exactly a fan of this approach. If this `RemoteInspectorEnabled`
&gt; setting changes, then someone will have to remember to change WebKit.
&gt; Currently that setting (on COCOA) is only set in one place and checked in
&gt; one place.

Yes, that is a good point. Perhaps these strings could be added to a header file?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582726</commentid>
    <comment_count>10</comment_count>
      <attachid>381609</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-10-22 21:25:26 -0700</bug_when>
    <thetext>Comment on attachment 381609
Patch

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

Looks good. I think we should get an okay from a WebInsoector person like Joe before landing.

&gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:502
&gt; +    CFNotificationCenterRemoveObserver(CFNotificationCenterGetDarwinNotifyCenter(), this, static_cast&lt;CFStringRef&gt;(CFSTR(WIRServiceEnabledNotification)) , nullptr);

Extra white space around the commas.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582874</commentid>
    <comment_count>11</comment_count>
      <attachid>381693</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-10-23 10:45:11 -0700</bug_when>
    <thetext>Created attachment 381693
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582877</commentid>
    <comment_count>12</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-10-23 10:45:51 -0700</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #10)
&gt; Comment on attachment 381609 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=381609&amp;action=review
&gt; 
&gt; Looks good. I think we should get an okay from a WebInsoector person like
&gt; Joe before landing.
&gt; 
&gt; &gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:502
&gt; &gt; +    CFNotificationCenterRemoveObserver(CFNotificationCenterGetDarwinNotifyCenter(), this, static_cast&lt;CFStringRef&gt;(CFSTR(WIRServiceEnabledNotification)) , nullptr);
&gt; 
&gt; Extra white space around the commas.

Good catch, I have uploaded a new patch.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582897</commentid>
    <comment_count>13</comment_count>
      <attachid>381699</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-10-23 11:12:25 -0700</bug_when>
    <thetext>Created attachment 381699
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582903</commentid>
    <comment_count>14</comment_count>
      <attachid>381703</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-10-23 11:20:52 -0700</bug_when>
    <thetext>Created attachment 381703
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583163</commentid>
    <comment_count>15</comment_count>
      <attachid>381756</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-10-23 17:11:17 -0700</bug_when>
    <thetext>Created attachment 381756
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583169</commentid>
    <comment_count>16</comment_count>
      <attachid>381756</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-10-23 17:32:37 -0700</bug_when>
    <thetext>Comment on attachment 381756
Patch

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

&gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:501
&gt; +    CFNotificationCenterRemoveObserver(CFNotificationCenterGetDarwinNotifyCenter(), this, static_cast&lt;CFStringRef&gt;(CFSTR(WIRServiceEnabledNotification)), nullptr);

Would you have to static_cast a string that is already a CFSTR? Seems like you should be able to drop the `static_cast&lt;CFStringRef&gt;` cast.

&gt; Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:219
&gt; +    if (!CFPreferencesGetAppIntegerValue(CFSTR(WIRRemoteInspectorEnabledKey), CFSTR(WIRRemoteInspectorDomainName), nullptr))
&gt; +        return;

How will we guarantee that all UIProcesses have access to this setting? Do we want to expose all of their sandboxes to this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583405</commentid>
    <comment_count>17</comment_count>
      <attachid>381821</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-10-24 10:06:20 -0700</bug_when>
    <thetext>Created attachment 381821
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583407</commentid>
    <comment_count>18</comment_count>
      <attachid>381756</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-10-24 10:10:29 -0700</bug_when>
    <thetext>Comment on attachment 381756
Patch

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

&gt;&gt; Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:219
&gt;&gt; +        return;
&gt; 
&gt; How will we guarantee that all UIProcesses have access to this setting? Do we want to expose all of their sandboxes to this?

I&apos;m not sure I understand the question here. It seems like this setting would be available to any WebKit client that links to a new build of WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583410</commentid>
    <comment_count>19</comment_count>
      <attachid>381821</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-10-24 10:25:56 -0700</bug_when>
    <thetext>Comment on attachment 381821
Patch

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

&gt; Source/JavaScriptCore/inspector/remote/RemoteInspectorConstants.h:123
&gt; +#define WIRRemoteInspectorDomainName            &quot;com.apple.webinspectord&quot;

You always cast this as CFSTR; should these be defined as @&quot;Remote..&quot; and @&quot;com.apple.webinspectord&quot;?

&gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:420
&gt; +        process-&gt;enableRemoteInspectorIfNeeded();

Is the remote inspector needed for every web process? Should it be tied to a specific active tab when the user chose to enable (or show) the WebInspector?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583411</commentid>
    <comment_count>20</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-10-24 10:30:33 -0700</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #18)
&gt; Comment on attachment 381756 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=381756&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:219
&gt; &gt;&gt; +        return;
&gt; &gt; 
&gt; &gt; How will we guarantee that all UIProcesses have access to this setting? Do we want to expose all of their sandboxes to this?
&gt; 
&gt; I&apos;m not sure I understand the question here. It seems like this setting
&gt; would be available to any WebKit client that links to a new build of WebKit.

I believe we need to extend the sandbox in the UI process with the right to read this preference. Additionally, the UI process&apos; sandbox needs a new rule to allow creating the mach sandbox extension to &apos;com.apple.webinspector&apos;.

All apps that wants to be inspectable will have to add these two rules to their sandbox. I will make sure these two rules are added to the sandbox profile which most apps are using.

Thanks for reviewing, all!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583412</commentid>
    <comment_count>21</comment_count>
      <attachid>381822</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-10-24 10:38:08 -0700</bug_when>
    <thetext>Created attachment 381822
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1583419</commentid>
    <comment_count>22</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-10-24 11:00:49 -0700</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #19)
&gt; Comment on attachment 381821 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=381821&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/inspector/remote/RemoteInspectorConstants.h:123
&gt; &gt; +#define WIRRemoteInspectorDomainName            &quot;com.apple.webinspectord&quot;
&gt; 
&gt; You always cast this as CFSTR; should these be defined as @&quot;Remote..&quot; and
&gt; @&quot;com.apple.webinspectord&quot;?
&gt; 

Done. Declared as CFSTR in the latest patch.

&gt; &gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:420
&gt; &gt; +        process-&gt;enableRemoteInspectorIfNeeded();
&gt; 
&gt; Is the remote inspector needed for every web process? Should it be tied to a
&gt; specific active tab when the user chose to enable (or show) the WebInspector?

I believe it needs to be enabled for every web process, since I believe it is possible to inspect many Service workers at the same time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1587610</commentid>
    <comment_count>23</comment_count>
      <attachid>382869</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-11-05 17:15:52 -0800</bug_when>
    <thetext>Created attachment 382869
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1590069</commentid>
    <comment_count>24</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-11-13 15:35:49 -0800</bug_when>
    <thetext>rdar://problem/56372204</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1615706</commentid>
    <comment_count>25</comment_count>
      <attachid>389973</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-06 10:59:39 -0800</bug_when>
    <thetext>Created attachment 389973
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1615862</commentid>
    <comment_count>26</comment_count>
      <attachid>390010</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-06 15:09:49 -0800</bug_when>
    <thetext>Created attachment 390010
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617678</commentid>
    <comment_count>27</comment_count>
      <attachid>390010</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-02-11 15:09:27 -0800</bug_when>
    <thetext>Comment on attachment 390010
Patch

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

&gt; Source/JavaScriptCore/inspector/remote/RemoteInspector.cpp:41
&gt; +#if PLATFORM(IOS)

What about macOS? What about macCatalyst?

&gt; Source/JavaScriptCore/inspector/remote/RemoteInspector.h:118
&gt; +    static void setNeedMachSandboxExtension(bool needExtension) { needMachSandboxExtension = needExtension; }

Do we need to do a std::swap() here to benefit from the atomic type? I can&apos;t remember.

&gt; Source/JavaScriptCore/inspector/remote/RemoteInspector.h:242
&gt; +#if PLATFORM(IOS)

Why can&apos;t we do this on macOS, too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617985</commentid>
    <comment_count>28</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-12 07:37:10 -0800</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #27)
&gt; Comment on attachment 390010 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=390010&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/inspector/remote/RemoteInspector.cpp:41
&gt; &gt; +#if PLATFORM(IOS)
&gt; 
&gt; What about macOS? What about macCatalyst?
&gt; 

Good point! I will change the code to include maOS as well. Some parts are iOS specific, like the setting to enable remote inspection and the notification name. Are you OK with fixing the remaining macOS specific things in a separate patch?

&gt; &gt; Source/JavaScriptCore/inspector/remote/RemoteInspector.h:118
&gt; &gt; +    static void setNeedMachSandboxExtension(bool needExtension) { needMachSandboxExtension = needExtension; }
&gt; 
&gt; Do we need to do a std::swap() here to benefit from the atomic type? I can&apos;t
&gt; remember.
&gt; 

I am not 100% sure, but I think it should be safe to to an assignment here.

&gt; &gt; Source/JavaScriptCore/inspector/remote/RemoteInspector.h:242
&gt; &gt; +#if PLATFORM(IOS)
&gt; 
&gt; Why can&apos;t we do this on macOS, too?

I will enable this for macOS as well.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618329</commentid>
    <comment_count>29</comment_count>
      <attachid>390596</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-12 17:22:35 -0800</bug_when>
    <thetext>Created attachment 390596
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618513</commentid>
    <comment_count>30</comment_count>
      <attachid>390653</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-13 08:54:53 -0800</bug_when>
    <thetext>Created attachment 390653
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618524</commentid>
    <comment_count>31</comment_count>
      <attachid>390657</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-13 09:18:09 -0800</bug_when>
    <thetext>Created attachment 390657
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619571</commentid>
    <comment_count>32</comment_count>
      <attachid>390657</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-02-16 20:50:26 -0800</bug_when>
    <thetext>Comment on attachment 390657
Patch

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

&gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:513
&gt; +    for (size_t i = 0; i &lt; pool-&gt;m_processes.size(); ++i) {

Can we use a modern C++ loop here?

&gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:574
&gt; +    CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), this, remoteWebInspectorEnabledCallback, static_cast&lt;CFStringRef&gt;(CFSTR(WIRServiceEnabledNotification)), nullptr, CFNotificationSuspensionBehaviorCoalesce);

Do we not need this for macOS?

&gt; Source/WebKit/WebProcess/WebProcess.cpp:436
&gt; +    Inspector::RemoteInspector::setNeedMachSandboxExtension(true);

Why isn&apos;t this needed on macOS, too? And what about MacCatalyst?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619572</commentid>
    <comment_count>33</comment_count>
      <attachid>390657</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-02-16 20:52:15 -0800</bug_when>
    <thetext>Comment on attachment 390657
Patch

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

Thank you for reviewing it again. r=me

&gt;&gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:574
&gt;&gt; +    CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), this, remoteWebInspectorEnabledCallback, static_cast&lt;CFStringRef&gt;(CFSTR(WIRServiceEnabledNotification)), nullptr, CFNotificationSuspensionBehaviorCoalesce);
&gt; 
&gt; Do we not need this for macOS?

Oh -- I see, you already answered this. Never mind.

&gt;&gt; Source/WebKit/WebProcess/WebProcess.cpp:436
&gt;&gt; +    Inspector::RemoteInspector::setNeedMachSandboxExtension(true);
&gt; 
&gt; Why isn&apos;t this needed on macOS, too? And what about MacCatalyst?

Never mind!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619710</commentid>
    <comment_count>34</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-17 10:23:05 -0800</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #33)
&gt; Comment on attachment 390657 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=390657&amp;action=review
&gt; 
&gt; Thank you for reviewing it again. r=me
&gt; 
&gt; &gt;&gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:574
&gt; &gt;&gt; +    CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), this, remoteWebInspectorEnabledCallback, static_cast&lt;CFStringRef&gt;(CFSTR(WIRServiceEnabledNotification)), nullptr, CFNotificationSuspensionBehaviorCoalesce);
&gt; &gt; 
&gt; &gt; Do we not need this for macOS?
&gt; 
&gt; Oh -- I see, you already answered this. Never mind.
&gt; 
&gt; &gt;&gt; Source/WebKit/WebProcess/WebProcess.cpp:436
&gt; &gt;&gt; +    Inspector::RemoteInspector::setNeedMachSandboxExtension(true);
&gt; &gt; 
&gt; &gt; Why isn&apos;t this needed on macOS, too? And what about MacCatalyst?
&gt; 
&gt; Never mind!

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619717</commentid>
    <comment_count>35</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-17 10:31:36 -0800</bug_when>
    <thetext>Committed r256742: &lt;https://trac.webkit.org/changeset/256742/webkit&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381472</attachid>
            <date>2019-10-21 15:57:34 -0700</date>
            <delta_ts>2019-10-22 13:41:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203214-20191021155734.patch</filename>
            <type>text/plain</type>
            <size>15800</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjUxMzg1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBA
CisyMDE5LTEwLTIxICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAg
ICAgICBNYWNoIGxvb2t1cCB0byBjb20uYXBwbGUud2ViaW5zcGVjdG9yIHNob3VsZCBub3QgYmUg
YWxsb3dlZCBpbiBXZWJLaXQncyBXZWJDb250ZW50IHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzIxNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdGF0aWMgZmxhZyBpbiBSZW1vdGVJ
bnNwZWN0b3IgdG8gaW5kaWNhdGUgd2hldGhlciBhIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5lZWRl
ZC4gVGhlIHJlbW90ZSBpbnNwZWN0b3Igd2lsbCBvbmx5IGJlCisgICAgICAgIHN0YXJ0ZWQgaWYg
dGhlIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5vdCBuZWVkZWQuIFRoZSBzYW5kYm94IGV4dGVuc2lv
biBpcyBub3QgbmVlZGVkIGlmIGl0IGhhcyBhbHJlYWR5IGJlZW4gY29uc3VtZWQgaW4KKyAgICAg
ICAgdGhlIFdlYlByb2Nlc3MsIG9yIFJlbW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCkgaXMgYmVp
bmcgY2FsbGVkIGluIHRoZSBVSSBwcm9jZXNzLCB3aGVyZSB0aGUgZXh0ZW5zaW9uIGlzIG5vdCBu
ZWVkZWQuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5jcHA6
CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3RvckNvY29hLm1tOgorICAgICAg
ICAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbik6CisKIDIwMTktMTAtMjEg
IEJhc3VrZSBTdXp1a2kgIDxCYXN1a2UuU3V6dWtpQHNvbnkuY29tPgogCiAgICAgICAgIFtXaW5D
YWlyb11bUGxheVN0YXRpb25dIEFkZCBhdXRvbWF0aW9uIHN1cHBvcnQgZm9yIFJlbW90ZUluc3Bl
Y3RvciBTb2NrZXRTZXJ2ZXIgaW1wbGVtZW50YXRpb24uCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5j
cHAJKHJldmlzaW9uIDI1MTIzNSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
cmVtb3RlL1JlbW90ZUluc3BlY3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDkg
QEAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBib29sIFJlbW90ZUluc3BlY3Rvcjo6c3RhcnRF
bmFibGVkID0gdHJ1ZTsKKyNpZiBQTEFURk9STShDT0NPQSkKK3N0ZDo6YXRvbWljPGJvb2w+IFJl
bW90ZUluc3BlY3Rvcjo6bmVlZE1hY2hTYW5kYm94RXh0ZW5zaW9uID0gdHJ1ZTsKKyNlbmRpZgog
CiB2b2lkIFJlbW90ZUluc3BlY3Rvcjo6c3RhcnREaXNhYmxlZCgpCiB7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNw
ZWN0b3IuaAkocmV2aXNpb24gMjUxMjM1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNiw2ICsx
MDYsOSBAQCBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0QXV0b21hdGlvblNl
c3Npb24oY29uc3QgU3RyaW5nJiBzZXNzaW9uSWRlbnRpZmllciwgY29uc3QgU2Vzc2lvbkNhcGFi
aWxpdGllcyYpID0gMDsKICAgICB9OwogCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgc3RhdGlj
IHZvaWQgc2V0TmVlZE1hY2hTYW5kYm94RXh0ZW5zaW9uKGJvb2wgbmVlZEV4dGVuc2lvbikgeyBu
ZWVkTWFjaFNhbmRib3hFeHRlbnNpb24gPSBuZWVkRXh0ZW5zaW9uOyB9CisjZW5kaWYKICAgICBz
dGF0aWMgdm9pZCBzdGFydERpc2FibGVkKCk7CiAgICAgc3RhdGljIFJlbW90ZUluc3BlY3RvciYg
c2luZ2xldG9uKCk7CiAgICAgZnJpZW5kIGNsYXNzIE5ldmVyRGVzdHJveWVkPFJlbW90ZUluc3Bl
Y3Rvcj47CkBAIC0yMjUsNiArMjI4LDkgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgYmFja2VuZENv
bW1hbmRzKCkgY29uc3Q7CiAjZW5kaWYKICAgICBzdGF0aWMgYm9vbCBzdGFydEVuYWJsZWQ7Cisj
aWYgUExBVEZPUk0oQ09DT0EpCisgICAgc3RhdGljIHN0ZDo6YXRvbWljPGJvb2w+IG5lZWRNYWNo
U2FuZGJveEV4dGVuc2lvbjsKKyNlbmRpZgogCiAgICAgLy8gVGFyZ2V0cyBjYW4gYmUgcmVnaXN0
ZXJlZCBmcm9tIGFueSB0aHJlYWQgYXQgYW55IHRpbWUuCiAgICAgLy8gQW55IHRhcmdldCBjYW4g
c2VuZCBtZXNzYWdlcyBvdmVyIHRoZSBYUEMgY29ubmVjdGlvbi4KSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3RvckNvY29hLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2Nv
Y29hL1JlbW90ZUluc3BlY3RvckNvY29hLm1tCShyZXZpc2lvbiAyNTEyMzUpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9jb2NvYS9SZW1vdGVJbnNwZWN0b3JDb2Nv
YS5tbQkod29ya2luZyBjb3B5KQpAQCAtODcsNiArODcsOSBAQCBSZW1vdGVJbnNwZWN0b3ImIFJl
bW90ZUluc3BlY3Rvcjo6c2luZ2xlCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFJlbW90
ZUluc3BlY3Rvcj4gc2hhcmVkOwogCisgICAgaWYgKG5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbikK
KyAgICAgICAgcmV0dXJuIHNoYXJlZDsKKyAgICAKICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90
IG9uY2U7CiAgICAgZGlzcGF0Y2hfb25jZSgmb25jZSwgXnsKICAgICAgICAgaWYgKGNhbkFjY2Vz
c1dlYkluc3BlY3Rvck1hY2hQb3J0KCkpIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTEyMzUp
CisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMy
IEBACisyMDE5LTEwLTIxICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKwor
ICAgICAgICBNYWNoIGxvb2t1cCB0byBjb20uYXBwbGUud2ViaW5zcGVjdG9yIHNob3VsZCBub3Qg
YmUgYWxsb3dlZCBpbiBXZWJLaXQncyBXZWJDb250ZW50IHByb2Nlc3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzIxNAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIHRoZSBXZWIgaW5zcGVjdG9yIGlz
IGVuYWJsZWQgd2hlbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGlzIHN0YXJ0ZWQsIGEgc2FuZGJv
eCBleHRlbnNpb24gaXMgY3JlYXRlZAorICAgICAgICBmb3IgJ2NvbS5hcHBsZS53ZWJpbnNwZWN0
b3JkJyBhbmQgYSBtZXNzYWdlIGlzIHNlbnQgdG8gdGhlIFdlYkNvbnRlbnQgcHJvY2Vzcywgd2hl
cmUgdGhlIGV4dGVuc2lvbiB3aWxsCisgICAgICAgIGJlIGNvbnN1bWVkLCBhbmQgdGhlIHJlbW90
ZSBXZWIgaW5zcGVjdG9yIHdpbGwgYmUgc3RhcnRlZC4gVGhlIHNhbWUgaGFwcGVucyBpZiBXZWIg
aW5zcGVjdG9yIGlzIGVuYWJsZWQKKyAgICAgICAgYnkgdGhlIHVzZXIgd2hpbGUgU2FmYXJpIGlz
IHJ1bm5pbmcuIFdoZW4gUmVtb3RlSW5zcGVjdG9yOjpzaW5nbGV0b24oKSBpcyBjYWxsZWQgaW4g
dGhlIFVJIHByb2Nlc3MgdGhlcmUKKyAgICAgICAgaXMgbm8gbmVlZCBmb3IgYW4gZXh0ZW5zaW9u
LCBzaW5jZSBhY2Nlc3MgdG8gdGhlIFdlYiBpbnNwZWN0b3IgZGFlbW9uIGlzIGFscmVhZHkgYWxs
b3dlZC4KKworICAgICAgICAqIFJlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBs
ZS5XZWJLaXQuV2ViQ29udGVudC5zYjoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJv
Y2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmJhY2ts
aWdodExldmVsRGlkQ2hhbmdlQ2FsbGJhY2spOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
UG9vbDo6d2ViSW5zcGVjdG9yRW5hYmxlZENhbGxiYWNrKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc1Bvb2w6OnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQb29sOjppbml0aWFsaXplTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1
bmNoaW5nKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9j
b2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnJl
bW90ZVdlYkluc3BlY3RvckVuYWJsZWQpOgorCiAyMDE5LTEwLTE3ICBDYXJsb3MgQWxiZXJ0byBM
b3BleiBQZXJleiAgPGNsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gRmls
ZSBhbmQgRGlyZWN0b3J5IEVudHJpZXMgQVBJIGlzIG5vdCBlbmFibGVkCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2Vi
Q29udGVudC5zYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94
UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYgkocmV2aXNpb24gMjUx
MjM1KQorKysgU291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20u
YXBwbGUuV2ViS2l0LldlYkNvbnRlbnQuc2IJKHdvcmtpbmcgY29weSkKQEAgLTM0MiwxMCArMzQy
LDYgQEAKIChtb2JpbGUtcHJlZmVyZW5jZXMtcmVhZCAiY29tLmFwcGxlLm1lZGlhYWNjZXNzaWJp
bGl0eSIpCiAobW9iaWxlLXByZWZlcmVuY2VzLXJlYWQtd3JpdGUgImNvbS5hcHBsZS5tZWRpYWFj
Y2Vzc2liaWxpdHkucHVibGljIikKIAotOzsgUmVtb3RlIFdlYiBJbnNwZWN0b3IKLShhbGxvdyBt
YWNoLWxvb2t1cAotICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLndlYmluc3BlY3RvciIp
KQotCiA7OyBWYXJpb3VzIHNlcnZpY2VzIHJlcXVpcmVkIGJ5IENGTmV0d29yayBhbmQgb3RoZXIg
ZnJhbWV3b3JrcwogKGFsbG93IG1hY2gtbG9va3VwCiAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBw
bGUuUG93ZXJNYW5hZ2VtZW50LmNvbnRyb2wiKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkocmV2aXNpb24gMjUxMjM1KQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDM3LDcg
KzEwMzcsMTAgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlBybwogCiAj
aWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCiAgICAgLy8gSW5pdGlhbGl6ZSByZW1vdGUgaW5z
cGVjdG9yIGNvbm5lY3Rpb24gbm93IHRoYXQgd2UgaGF2ZSBhIHN1Yi1wcm9jZXNzIHRoYXQgaXMg
aG9zdGluZyBvbmUgb2Ygb3VyIHdlYiB2aWV3cy4KLSAgICBJbnNwZWN0b3I6OlJlbW90ZUluc3Bl
Y3Rvcjo6c2luZ2xldG9uKCk7IAorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIEluc3BlY3Rvcjo6
UmVtb3RlSW5zcGVjdG9yOjpzZXROZWVkTWFjaFNhbmRib3hFeHRlbnNpb24oZmFsc2UpOworI2Vu
ZGlmCisgICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpOwogI2VuZGlm
CiAKICNpZiBQTEFURk9STShNQUMpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmgJKHJldmlzaW9uIDI1MTIzNSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQb29sLmgJKHdvcmtpbmcgY29weSkKQEAgLTU5Niw2ICs1OTYsOSBAQCBwcml2
YXRlOgogICAgIHN0YXRpYyBmbG9hdCBkaXNwbGF5QnJpZ2h0bmVzcygpOwogICAgIHN0YXRpYyB2
b2lkIGJhY2tsaWdodExldmVsRGlkQ2hhbmdlQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJS
ZWYsIHZvaWQgKm9ic2VydmVyLCBDRlN0cmluZ1JlZiBuYW1lLCBjb25zdCB2b2lkICosIENGRGlj
dGlvbmFyeVJlZiB1c2VySW5mbyk7ICAgIAogI2VuZGlmCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQ
RUNUT1IpICYmIFBMQVRGT1JNKENPQ09BKQorICAgIHN0YXRpYyB2b2lkIHJlbW90ZVdlYkluc3Bl
Y3RvckVuYWJsZWRDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwgdm9pZCAqb2JzZXJ2
ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZvaWQgKiwgQ0ZEaWN0aW9uYXJ5UmVmIHVzZXJJ
bmZvKTsKKyNlbmRpZgogCiAgICAgUmVmPEFQSTo6UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uPiBt
X2NvbmZpZ3VyYXRpb247CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Byb3h5LmNwcAkocmV2aXNpb24gMjUxMjM1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODY0LDYgKzg2NCwxNSBA
QCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1bmNoaW5nCiAKICAgICB1bmJsb2Nr
QWNjZXNzaWJpbGl0eVNlcnZlcklmTmVlZGVkKCk7CiAjZW5kaWYKKyNpZiBFTkFCTEUoUkVNT1RF
X0lOU1BFQ1RPUikgJiYgUExBVEZPUk0oQ09DT0EpCisgICAgQm9vbGVhbiBrZXlFeGlzdHNBbmRI
YXNWYWxpZEZvcm1hdCA9IGZhbHNlOworICAgIGlmIChDRlByZWZlcmVuY2VzR2V0QXBwSW50ZWdl
clZhbHVlKENGU1RSKCJSZW1vdGVJbnNwZWN0b3JFbmFibGVkIiksIENGU1RSKCJjb20uYXBwbGUu
d2ViaW5zcGVjdG9yZCIpLCAma2V5RXhpc3RzQW5kSGFzVmFsaWRGb3JtYXQpICYmIGtleUV4aXN0
c0FuZEhhc1ZhbGlkRm9ybWF0KSB7CisgICAgICAgIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBo
YW5kbGU7CisgICAgICAgIGF1dG8gYXVkaXRUb2tlbiA9IGNvbm5lY3Rpb24oKS0+Z2V0QXVkaXRU
b2tlbigpOworICAgICAgICBpZiAoYXVkaXRUb2tlbiAmJiBTYW5kYm94RXh0ZW5zaW9uOjpjcmVh
dGVIYW5kbGVGb3JNYWNoTG9va3VwQnlBdWRpdFRva2VuKCJjb20uYXBwbGUud2ViaW5zcGVjdG9y
IiwgKmF1ZGl0VG9rZW4sIGhhbmRsZSkpCisgICAgICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQ
cm9jZXNzOjpSZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVkKGhhbmRsZSksIDApOworICAgIH0KKyNl
bmRpZgogfQogCiBXZWJGcmFtZVByb3h5KiBXZWJQcm9jZXNzUHJveHk6OndlYkZyYW1lKEZyYW1l
SWRlbnRpZmllciBmcmFtZUlEKSBjb25zdApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAyNTEyMzUp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC02MCw2ICs2MCwxMSBAQAogI2ltcG9ydCA8d3RmL2NvY29hL0Vu
dGl0bGVtZW50cy5oPgogI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgogCisjaWYg
RU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9SZW1vdGVJ
bnNwZWN0b3IuaD4KKyNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL1JlbW90ZUluc3BlY3RvckNvbnN0
YW50cy5oPgorI2VuZGlmCisKICNpZiBQTEFURk9STShNQUMpCiAjaW1wb3J0IDxRdWFydHpDb3Jl
L0NBUmVtb3RlTGF5ZXJTZXJ2ZXIuaD4KICNlbHNlCkBAIC0zOTksMTEgKzQwNCwyNiBAQCBmbG9h
dCBXZWJQcm9jZXNzUG9vbDo6ZGlzcGxheUJyaWdodG5lc3MoCiAgICAgCiB2b2lkIFdlYlByb2Nl
c3NQb29sOjpiYWNrbGlnaHRMZXZlbERpZENoYW5nZUNhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2Vu
dGVyUmVmIGNlbnRlciwgdm9pZCAqb2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZv
aWQgKm9iamVjdCwgQ0ZEaWN0aW9uYXJ5UmVmIHVzZXJJbmZvKQogewotICAgIFdlYlByb2Nlc3NQ
b29sKiBwb29sID0gcmVpbnRlcnByZXRfY2FzdDxXZWJQcm9jZXNzUG9vbCo+KG9ic2VydmVyKTsK
KyAgICBhdXRvKiBwb29sID0gcmVpbnRlcnByZXRfY2FzdDxXZWJQcm9jZXNzUG9vbCo+KG9ic2Vy
dmVyKTsKICAgICBwb29sLT5zZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6
OkJhY2tsaWdodExldmVsRGlkQ2hhbmdlKEJLU0Rpc3BsYXlCcmlnaHRuZXNzR2V0Q3VycmVudCgp
KSk7CiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQordm9pZCBXZWJQ
cm9jZXNzUG9vbDo6cmVtb3RlV2ViSW5zcGVjdG9yRW5hYmxlZENhbGxiYWNrKENGTm90aWZpY2F0
aW9uQ2VudGVyUmVmLCB2b2lkICpvYnNlcnZlciwgQ0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qgdm9p
ZCAqLCBDRkRpY3Rpb25hcnlSZWYgdXNlckluZm8pCit7CisgICAgYXV0byogcG9vbCA9IHJlaW50
ZXJwcmV0X2Nhc3Q8V2ViUHJvY2Vzc1Bvb2wqPihvYnNlcnZlcik7CisgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBwb29sLT5tX3Byb2Nlc3Nlcy5zaXplKCk7ICsraSkgeworICAgICAgICBhdXRv
IHByb2Nlc3MgPSBwb29sLT5tX3Byb2Nlc3Nlc1tpXTsKKyAgICAgICAgU2FuZGJveEV4dGVuc2lv
bjo6SGFuZGxlIGhhbmRsZTsKKyAgICAgICAgYXV0byBhdWRpdFRva2VuID0gcHJvY2Vzcy0+Y29u
bmVjdGlvbigpLT5nZXRBdWRpdFRva2VuKCk7CisgICAgICAgIGlmICghYXVkaXRUb2tlbiB8fCAh
U2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yTWFjaExvb2t1cEJ5QXVkaXRUb2tlbigi
Y29tLmFwcGxlLndlYmluc3BlY3RvciIsICphdWRpdFRva2VuLCBoYW5kbGUpKQorICAgICAgICAg
ICAgY29udGludWU7CisgICAgICAgIHByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6
OlJlbW90ZVdlYkluc3BlY3RvckVuYWJsZWQoaGFuZGxlKSwgMCk7CisgICAgfQorfQorI2VuZGlm
CisKIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKCkK
IHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTQ1Nyw2ICs0NzcsOSBAQCB2b2lkIFdl
YlByb2Nlc3NQb29sOjpyZWdpc3Rlck5vdGlmaWNhdGlvCiAgICAgICAgICAgICBtX3Byb2Nlc3Nl
c1tpXS0+dW5ibG9ja0FjY2Vzc2liaWxpdHlTZXJ2ZXJJZk5lZWRlZCgpOwogICAgIH1dOwogI2Vu
ZGlmIC8vICFQTEFURk9STShJT1NfRkFNSUxZKQorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9S
KQorICAgIENGTm90aWZpY2F0aW9uQ2VudGVyQWRkT2JzZXJ2ZXIoQ0ZOb3RpZmljYXRpb25DZW50
ZXJHZXREYXJ3aW5Ob3RpZnlDZW50ZXIoKSwgdGhpcywgcmVtb3RlV2ViSW5zcGVjdG9yRW5hYmxl
ZENhbGxiYWNrLCBzdGF0aWNfY2FzdDxDRlN0cmluZ1JlZj4oQ0ZTVFIoV0lSU2VydmljZUVuYWJs
ZWROb3RpZmljYXRpb24pKSwgbnVsbHB0ciwgQ0ZOb3RpZmljYXRpb25TdXNwZW5zaW9uQmVoYXZp
b3JDb2FsZXNjZSk7CisjZW5kaWYKIH0KIAogdm9pZCBXZWJQcm9jZXNzUG9vbDo6dW5yZWdpc3Rl
ck5vdGlmaWNhdGlvbk9ic2VydmVycygpCkBAIC00NzcsNiArNTAwLDkgQEAgdm9pZCBXZWJQcm9j
ZXNzUG9vbDo6dW5yZWdpc3Rlck5vdGlmaWNhdAogICAgIENGTm90aWZpY2F0aW9uQ2VudGVyUmVt
b3ZlT2JzZXJ2ZXIoQ0ZOb3RpZmljYXRpb25DZW50ZXJHZXREYXJ3aW5Ob3RpZnlDZW50ZXIoKSwg
dGhpcywgc3RhdGljX2Nhc3Q8Q0ZTdHJpbmdSZWY+KFVJQmFja2xpZ2h0TGV2ZWxDaGFuZ2VkTm90
aWZpY2F0aW9uKSAsIG51bGxwdHIpOwogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVs
dENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9hY2Nlc3NpYmlsaXR5RW5hYmxlZE9ic2VydmVyLmdl
dCgpXTsKICNlbmRpZiAvLyAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNpZiBFTkFCTEUoUkVNT1RF
X0lOU1BFQ1RPUikKKyAgICBDRk5vdGlmaWNhdGlvbkNlbnRlclJlbW92ZU9ic2VydmVyKENGTm90
aWZpY2F0aW9uQ2VudGVyR2V0RGFyd2luTm90aWZ5Q2VudGVyKCksIHRoaXMsIHN0YXRpY19jYXN0
PENGU3RyaW5nUmVmPihDRlNUUihXSVJTZXJ2aWNlRW5hYmxlZE5vdGlmaWNhdGlvbikpICwgbnVs
bHB0cik7CisjZW5kaWYKIH0KIAogc3RhdGljIENGVVJMU3RvcmFnZVNlc3Npb25SZWYgcHJpdmF0
ZUJyb3dzaW5nU2Vzc2lvbigpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmgJKHJldmlzaW9uIDI1MTIzNSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1Miw2ICs0NTIsMTAgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGJhY2tsaWdodExldmVsRGlkQ2hhbmdlKGZsb2F0IGJhY2tsaWdodExldmVsKTsKICNlbmRp
ZgogCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisgICAgdm9pZCByZW1vdGVXZWJJbnNw
ZWN0b3JFbmFibGVkKGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYpOworI2VuZGlmCisK
ICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHZvaWQgcHJvY2Vzc1Rhc2tTdGF0ZURpZENo
YW5nZShQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlRhc2tTdGF0ZSkgZmluYWw7CiAgICAgYm9v
bCBzaG91bGRGcmVlemVPblN1c3BlbnNpb24oKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCShyZXZpc2lvbiAyNTEyMzUp
CisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgkod29y
a2luZyBjb3B5KQpAQCAtMTMxLDYgKzEzMSwxMCBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExl
Z2FjeVJlY2VpdmVyIHsKICAgICBCYWNrbGlnaHRMZXZlbERpZENoYW5nZShmbG9hdCBiYWNrbGln
aHRMZXZlbCkKICNlbmRpZgogCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisgICAgUmVt
b3RlV2ViSW5zcGVjdG9yRW5hYmxlZChXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBo
YW5kbGUpOworI2VuZGlmCisKICAgICBJc0pJVEVuYWJsZWQoKSAtPiAoYm9vbCBlbmFibGVkKSBB
c3luYwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCShyZXZpc2lvbiAyNTEyMzUp
CisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW4J
KHdvcmtpbmcgY29weSkKQEAgLTU4MywxMCArNTgzLDYgQEAKIChhbGxvdyBpcGMtcG9zaXgtc2ht
LXJlYWQqIGlwYy1wb3NpeC1zaG0td3JpdGUtZGF0YQogICAgIChpcGMtcG9zaXgtbmFtZS1yZWdl
eCAjIl5BdWRpb0lPIikpCiAKLTs7IFJlbW90ZSBXZWIgSW5zcGVjdG9yCi0oYWxsb3cgbWFjaC1s
b29rdXAKLSAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS53ZWJpbnNwZWN0b3IiKSkKLQog
OzsgVmFyaW91cyBzZXJ2aWNlcyByZXF1aXJlZCBieSBBcHBLaXQgYW5kIG90aGVyIGZyYW1ld29y
a3MKIChhbGxvdyBtYWNoLWxvb2t1cAogI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPCAxMDE0MDAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9j
ZXNzQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1dlYlByb2Nlc3NDb2NvYS5tbQkocmV2aXNpb24gMjUxMjM1KQorKysgU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNzks
NiArNzksMTAgQEAKICNpbXBvcnQgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW1wb3J0IDx3dGYvY29j
b2EvTlNVUkxFeHRyYXMuaD4KIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQorI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL1JlbW90ZUluc3BlY3Rvci5oPgorI2VuZGlmCisKICNpZiBQTEFU
Rk9STShJT1MpCiAjaW1wb3J0ICJVSUtpdFNQSS5oIgogI2VuZGlmCkBAIC04MjUsNiArODI5LDE1
IEBAIHZvaWQgV2ViUHJvY2Vzczo6YmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2UKIH0KICNlbmRpZgog
CisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCit2b2lkIFdlYlByb2Nlc3M6OnJlbW90ZVdl
Ykluc3BlY3RvckVuYWJsZWQoY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiBoYW5kbGUp
Cit7CisgICAgU2FuZGJveEV4dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVudGx5KGhhbmRsZSk7Cisg
ICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNldE5lZWRNYWNoU2FuZGJveEV4dGVuc2lv
bihmYWxzZSk7CisgICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpOwor
fQorI2VuZGlmCisKIHZvaWQgV2ViUHJvY2Vzczo6c2V0TWVkaWFNSU1FVHlwZXMoY29uc3QgVmVj
dG9yPFN0cmluZz4gdHlwZXMpCiB7CiAgICAgQVZBc3NldE1JTUVUeXBlQ2FjaGU6OnNpbmdsZXRv
bigpLnNldFN1cHBvcnRlZFR5cGVzKHR5cGVzKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDI1MTIzNSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE5LTEwLTIxICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBNYWNoIGxvb2t1cCB0byBj
b20uYXBwbGUud2ViaW5zcGVjdG9yIHNob3VsZCBub3QgYmUgYWxsb3dlZCBpbiBXZWJLaXQncyBX
ZWJDb250ZW50IHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwMzIxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZXJlIGlzIG5vIG5lZWQgZm9yIGEgc2FuZGJveCBleHRlbnNpb24gaW4gV0sx
LCBzaW5jZSB0aGUgVUkgcHJvY2VzcyBhbHJlYWR5IGhhcyBhY2Nlc3MgdG8KKyAgICAgICAgdGhl
IFdlYiBpbnNwZWN0b3IgZGFlbW9uLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgor
ICAgICAgICAoK1tXZWJWaWV3IGluaXRpYWxpemVdKToKKwogMjAxOS0xMC0xNyAgRGV2aW4gUm91
c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogcmV3b3Jr
IGZyb250ZW5kIGFnZW50IGNvbnN0cnVjdGlvbiB0byBhbGxvdyBjb21tYW5kcy9ldmVudHMgdG8g
YmUgY29udHJvbGxlZCBieSB0aGUgcmVsYXRlZCB0YXJnZXQncyB0eXBlCkluZGV4OiBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZpc2lvbiAyNTEyMzUpCisr
KyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTU0NTUsNiArNTQ1NSwxMCBAQCArICh2b2lkKWluaXRpYWxpemUKICAgICBbW05TTm90
aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6
QHNlbGVjdG9yKF9kaWRDaGFuZ2VBdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uRW5hYmxlZDopCiAg
ICAgICAgIG5hbWU6TlNTcGVsbENoZWNrZXJEaWRDaGFuZ2VBdXRvbWF0aWNEYXNoU3Vic3RpdHV0
aW9uTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwogI2VuZGlmCisgICAgCisjaWYgRU5BQkxFKFJF
TU9URV9JTlNQRUNUT1IpCisgICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNldE5lZWRN
YWNoU2FuZGJveEV4dGVuc2lvbihmYWxzZSk7CisjZW5kaWYKIH0KIAogI2lmICFQTEFURk9STShJ
T1NfRkFNSUxZKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381481</attachid>
            <date>2019-10-21 16:33:52 -0700</date>
            <delta_ts>2019-10-22 14:39:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203214-20191021163351.patch</filename>
            <type>text/plain</type>
            <size>15837</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjUxMzg1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBA
CisyMDE5LTEwLTIxICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAg
ICAgICBNYWNoIGxvb2t1cCB0byBjb20uYXBwbGUud2ViaW5zcGVjdG9yIHNob3VsZCBub3QgYmUg
YWxsb3dlZCBpbiBXZWJLaXQncyBXZWJDb250ZW50IHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzIxNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdGF0aWMgZmxhZyBpbiBSZW1vdGVJ
bnNwZWN0b3IgdG8gaW5kaWNhdGUgd2hldGhlciBhIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5lZWRl
ZC4gVGhlIHJlbW90ZSBpbnNwZWN0b3Igd2lsbCBvbmx5IGJlCisgICAgICAgIHN0YXJ0ZWQgaWYg
dGhlIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5vdCBuZWVkZWQuIFRoZSBzYW5kYm94IGV4dGVuc2lv
biBpcyBub3QgbmVlZGVkIGlmIGl0IGhhcyBhbHJlYWR5IGJlZW4gY29uc3VtZWQgaW4KKyAgICAg
ICAgdGhlIFdlYlByb2Nlc3MsIG9yIFJlbW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCkgaXMgYmVp
bmcgY2FsbGVkIGluIHRoZSBVSSBwcm9jZXNzLCB3aGVyZSB0aGUgZXh0ZW5zaW9uIGlzIG5vdCBu
ZWVkZWQuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5jcHA6
CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3RvckNvY29hLm1tOgorICAgICAg
ICAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbik6CisKIDIwMTktMTAtMjEg
IEJhc3VrZSBTdXp1a2kgIDxCYXN1a2UuU3V6dWtpQHNvbnkuY29tPgogCiAgICAgICAgIFtXaW5D
YWlyb11bUGxheVN0YXRpb25dIEFkZCBhdXRvbWF0aW9uIHN1cHBvcnQgZm9yIFJlbW90ZUluc3Bl
Y3RvciBTb2NrZXRTZXJ2ZXIgaW1wbGVtZW50YXRpb24uCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5j
cHAJKHJldmlzaW9uIDI1MTIzNSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
cmVtb3RlL1JlbW90ZUluc3BlY3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDkg
QEAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBib29sIFJlbW90ZUluc3BlY3Rvcjo6c3RhcnRF
bmFibGVkID0gdHJ1ZTsKKyNpZiBQTEFURk9STShDT0NPQSkKK3N0ZDo6YXRvbWljPGJvb2w+IFJl
bW90ZUluc3BlY3Rvcjo6bmVlZE1hY2hTYW5kYm94RXh0ZW5zaW9uID0gdHJ1ZTsKKyNlbmRpZgog
CiB2b2lkIFJlbW90ZUluc3BlY3Rvcjo6c3RhcnREaXNhYmxlZCgpCiB7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNw
ZWN0b3IuaAkocmV2aXNpb24gMjUxMjM1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNiw2ICsx
MDYsOSBAQCBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0QXV0b21hdGlvblNl
c3Npb24oY29uc3QgU3RyaW5nJiBzZXNzaW9uSWRlbnRpZmllciwgY29uc3QgU2Vzc2lvbkNhcGFi
aWxpdGllcyYpID0gMDsKICAgICB9OwogCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgc3RhdGlj
IHZvaWQgc2V0TmVlZE1hY2hTYW5kYm94RXh0ZW5zaW9uKGJvb2wgbmVlZEV4dGVuc2lvbikgeyBu
ZWVkTWFjaFNhbmRib3hFeHRlbnNpb24gPSBuZWVkRXh0ZW5zaW9uOyB9CisjZW5kaWYKICAgICBz
dGF0aWMgdm9pZCBzdGFydERpc2FibGVkKCk7CiAgICAgc3RhdGljIFJlbW90ZUluc3BlY3RvciYg
c2luZ2xldG9uKCk7CiAgICAgZnJpZW5kIGNsYXNzIE5ldmVyRGVzdHJveWVkPFJlbW90ZUluc3Bl
Y3Rvcj47CkBAIC0yMjUsNiArMjI4LDkgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgYmFja2VuZENv
bW1hbmRzKCkgY29uc3Q7CiAjZW5kaWYKICAgICBzdGF0aWMgYm9vbCBzdGFydEVuYWJsZWQ7Cisj
aWYgUExBVEZPUk0oQ09DT0EpCisgICAgc3RhdGljIHN0ZDo6YXRvbWljPGJvb2w+IG5lZWRNYWNo
U2FuZGJveEV4dGVuc2lvbjsKKyNlbmRpZgogCiAgICAgLy8gVGFyZ2V0cyBjYW4gYmUgcmVnaXN0
ZXJlZCBmcm9tIGFueSB0aHJlYWQgYXQgYW55IHRpbWUuCiAgICAgLy8gQW55IHRhcmdldCBjYW4g
c2VuZCBtZXNzYWdlcyBvdmVyIHRoZSBYUEMgY29ubmVjdGlvbi4KSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3RvckNvY29hLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2Nv
Y29hL1JlbW90ZUluc3BlY3RvckNvY29hLm1tCShyZXZpc2lvbiAyNTEyMzUpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9jb2NvYS9SZW1vdGVJbnNwZWN0b3JDb2Nv
YS5tbQkod29ya2luZyBjb3B5KQpAQCAtODcsNiArODcsOSBAQCBSZW1vdGVJbnNwZWN0b3ImIFJl
bW90ZUluc3BlY3Rvcjo6c2luZ2xlCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFJlbW90
ZUluc3BlY3Rvcj4gc2hhcmVkOwogCisgICAgaWYgKG5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbikK
KyAgICAgICAgcmV0dXJuIHNoYXJlZDsKKyAgICAKICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90
IG9uY2U7CiAgICAgZGlzcGF0Y2hfb25jZSgmb25jZSwgXnsKICAgICAgICAgaWYgKGNhbkFjY2Vz
c1dlYkluc3BlY3Rvck1hY2hQb3J0KCkpIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTEyMzUp
CisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMy
IEBACisyMDE5LTEwLTIxICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKwor
ICAgICAgICBNYWNoIGxvb2t1cCB0byBjb20uYXBwbGUud2ViaW5zcGVjdG9yIHNob3VsZCBub3Qg
YmUgYWxsb3dlZCBpbiBXZWJLaXQncyBXZWJDb250ZW50IHByb2Nlc3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzIxNAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIHRoZSBXZWIgaW5zcGVjdG9yIGlz
IGVuYWJsZWQgd2hlbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGlzIHN0YXJ0ZWQsIGEgc2FuZGJv
eCBleHRlbnNpb24gaXMgY3JlYXRlZAorICAgICAgICBmb3IgJ2NvbS5hcHBsZS53ZWJpbnNwZWN0
b3InIGFuZCBhIG1lc3NhZ2UgaXMgc2VudCB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCB3aGVy
ZSB0aGUgZXh0ZW5zaW9uIHdpbGwKKyAgICAgICAgYmUgY29uc3VtZWQsIGFuZCB0aGUgcmVtb3Rl
IFdlYiBpbnNwZWN0b3Igd2lsbCBiZSBzdGFydGVkLiBUaGUgc2FtZSBoYXBwZW5zIGlmIFdlYiBp
bnNwZWN0b3IgaXMgZW5hYmxlZAorICAgICAgICBieSB0aGUgdXNlciB3aGlsZSBTYWZhcmkgaXMg
cnVubmluZy4gV2hlbiBSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpIGlzIGNhbGxlZCBpbiB0
aGUgVUkgcHJvY2VzcyB0aGVyZQorICAgICAgICBpcyBubyBuZWVkIGZvciBhbiBleHRlbnNpb24s
IHNpbmNlIGFjY2VzcyB0byB0aGUgV2ViIGluc3BlY3RvciBkYWVtb24gaXMgYWxyZWFkeSBhbGxv
d2VkLgorCisgICAgICAgICogUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxl
LldlYktpdC5XZWJDb250ZW50LnNiOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9j
ZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6YmFja2xp
Z2h0TGV2ZWxEaWRDaGFuZ2VDYWxsYmFjayk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQ
b29sOjp3ZWJJbnNwZWN0b3JFbmFibGVkQ2FsbGJhY2spOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6cmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzUG9vbDo6dW5yZWdpc3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycyk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzc1Bvb2w6OmluaXRpYWxpemVOZXdXZWJQcm9jZXNzKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVu
Y2hpbmcpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2Nv
Y29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cmVt
b3RlV2ViSW5zcGVjdG9yRW5hYmxlZCk6CisKIDIwMTktMTAtMTcgIENhcmxvcyBBbGJlcnRvIExv
cGV6IFBlcmV6ICA8Y2xvcGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS11bV1BFXSBGaWxl
IGFuZCBEaXJlY3RvcnkgRW50cmllcyBBUEkgaXMgbm90IGVuYWJsZWQKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5XZWJD
b250ZW50LnNiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQ
cm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnNiCShyZXZpc2lvbiAyNTEy
MzUpCisrKyBTb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5h
cHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYgkod29ya2luZyBjb3B5KQpAQCAtMzQyLDEwICszNDIs
NiBAQAogKG1vYmlsZS1wcmVmZXJlbmNlcy1yZWFkICJjb20uYXBwbGUubWVkaWFhY2Nlc3NpYmls
aXR5IikKIChtb2JpbGUtcHJlZmVyZW5jZXMtcmVhZC13cml0ZSAiY29tLmFwcGxlLm1lZGlhYWNj
ZXNzaWJpbGl0eS5wdWJsaWMiKQogCi07OyBSZW1vdGUgV2ViIEluc3BlY3RvcgotKGFsbG93IG1h
Y2gtbG9va3VwCi0gICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUud2ViaW5zcGVjdG9yIikp
Ci0KIDs7IFZhcmlvdXMgc2VydmljZXMgcmVxdWlyZWQgYnkgQ0ZOZXR3b3JrIGFuZCBvdGhlciBm
cmFtZXdvcmtzCiAoYWxsb3cgbWFjaC1sb29rdXAKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBs
ZS5Qb3dlck1hbmFnZW1lbnQuY29udHJvbCIpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUG9vbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCShyZXZpc2lvbiAyNTEyMzUpCisrKyBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMzcsNyAr
MTAzNywxMCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjppbml0aWFsaXplTmV3V2ViUHJvCiAKICNp
ZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKICAgICAvLyBJbml0aWFsaXplIHJlbW90ZSBpbnNw
ZWN0b3IgY29ubmVjdGlvbiBub3cgdGhhdCB3ZSBoYXZlIGEgc3ViLXByb2Nlc3MgdGhhdCBpcyBo
b3N0aW5nIG9uZSBvZiBvdXIgd2ViIHZpZXdzLgotICAgIEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVj
dG9yOjpzaW5nbGV0b24oKTsgCisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgSW5zcGVjdG9yOjpS
ZW1vdGVJbnNwZWN0b3I6OnNldE5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbihmYWxzZSk7CisjZW5k
aWYKKyAgICBJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCk7CiAjZW5kaWYK
IAogI2lmIFBMQVRGT1JNKE1BQykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuaAkocmV2aXNpb24gMjUxMjM1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuaAkod29ya2luZyBjb3B5KQpAQCAtNTk2LDYgKzU5Niw5IEBAIHByaXZh
dGU6CiAgICAgc3RhdGljIGZsb2F0IGRpc3BsYXlCcmlnaHRuZXNzKCk7CiAgICAgc3RhdGljIHZv
aWQgYmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2VDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJl
Ziwgdm9pZCAqb2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZvaWQgKiwgQ0ZEaWN0
aW9uYXJ5UmVmIHVzZXJJbmZvKTsgICAgCiAjZW5kaWYKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BF
Q1RPUikgJiYgUExBVEZPUk0oQ09DT0EpCisgICAgc3RhdGljIHZvaWQgcmVtb3RlV2ViSW5zcGVj
dG9yRW5hYmxlZENhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lkICpvYnNlcnZl
ciwgQ0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qgdm9pZCAqLCBDRkRpY3Rpb25hcnlSZWYgdXNlcklu
Zm8pOworI2VuZGlmCiAKICAgICBSZWY8QVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24+IG1f
Y29uZmlndXJhdGlvbjsKIApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUHJveHkuY3BwCShyZXZpc2lvbiAyNTEyMzUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NjQsNiArODY0LDE1IEBA
IHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVuY2hpbmcKIAogICAgIHVuYmxvY2tB
Y2Nlc3NpYmlsaXR5U2VydmVySWZOZWVkZWQoKTsKICNlbmRpZgorI2lmIEVOQUJMRShSRU1PVEVf
SU5TUEVDVE9SKSAmJiBQTEFURk9STShDT0NPQSkKKyAgICBCb29sZWFuIGtleUV4aXN0c0FuZEhh
c1ZhbGlkRm9ybWF0ID0gZmFsc2U7CisgICAgaWYgKENGUHJlZmVyZW5jZXNHZXRBcHBJbnRlZ2Vy
VmFsdWUoQ0ZTVFIoIlJlbW90ZUluc3BlY3RvckVuYWJsZWQiKSwgQ0ZTVFIoImNvbS5hcHBsZS53
ZWJpbnNwZWN0b3JkIiksICZrZXlFeGlzdHNBbmRIYXNWYWxpZEZvcm1hdCkgJiYga2V5RXhpc3Rz
QW5kSGFzVmFsaWRGb3JtYXQpIHsKKyAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIGhh
bmRsZTsKKyAgICAgICAgYXV0byBhdWRpdFRva2VuID0gY29ubmVjdGlvbigpLT5nZXRBdWRpdFRv
a2VuKCk7CisgICAgICAgIGlmIChhdWRpdFRva2VuICYmIFNhbmRib3hFeHRlbnNpb246OmNyZWF0
ZUhhbmRsZUZvck1hY2hMb29rdXBCeUF1ZGl0VG9rZW4oImNvbS5hcHBsZS53ZWJpbnNwZWN0b3Ii
LCAqYXVkaXRUb2tlbiwgaGFuZGxlKSkKKyAgICAgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBy
b2Nlc3M6OlJlbW90ZVdlYkluc3BlY3RvckVuYWJsZWQoaGFuZGxlKSwgMCk7CisgICAgfQorI2Vu
ZGlmCiB9CiAKIFdlYkZyYW1lUHJveHkqIFdlYlByb2Nlc3NQcm94eTo6d2ViRnJhbWUoRnJhbWVJ
ZGVudGlmaWVyIGZyYW1lSUQpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHJldmlzaW9uIDI1MTIzNSkK
KysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0J
KHdvcmtpbmcgY29weSkKQEAgLTYwLDYgKzYwLDExIEBACiAjaW1wb3J0IDx3dGYvY29jb2EvRW50
aXRsZW1lbnRzLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2Rhcndpbi9keWxkU1BJLmg+CiAKKyNpZiBF
TkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKKyNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL1JlbW90ZUlu
c3BlY3Rvci5oPgorI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvUmVtb3RlSW5zcGVjdG9yQ29uc3Rh
bnRzLmg+CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKE1BQykKICNpbXBvcnQgPFF1YXJ0ekNvcmUv
Q0FSZW1vdGVMYXllclNlcnZlci5oPgogI2Vsc2UKQEAgLTM5OSwxMSArNDA0LDI2IEBAIGZsb2F0
IFdlYlByb2Nlc3NQb29sOjpkaXNwbGF5QnJpZ2h0bmVzcygKICAgICAKIHZvaWQgV2ViUHJvY2Vz
c1Bvb2w6OmJhY2tsaWdodExldmVsRGlkQ2hhbmdlQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50
ZXJSZWYgY2VudGVyLCB2b2lkICpvYnNlcnZlciwgQ0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qgdm9p
ZCAqb2JqZWN0LCBDRkRpY3Rpb25hcnlSZWYgdXNlckluZm8pCiB7Ci0gICAgV2ViUHJvY2Vzc1Bv
b2wqIHBvb2wgPSByZWludGVycHJldF9jYXN0PFdlYlByb2Nlc3NQb29sKj4ob2JzZXJ2ZXIpOwor
ICAgIGF1dG8qIHBvb2wgPSByZWludGVycHJldF9jYXN0PFdlYlByb2Nlc3NQb29sKj4ob2JzZXJ2
ZXIpOwogICAgIHBvb2wtPnNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6
QmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2UoQktTRGlzcGxheUJyaWdodG5lc3NHZXRDdXJyZW50KCkp
KTsKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCit2b2lkIFdlYlBy
b2Nlc3NQb29sOjpyZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVkQ2FsbGJhY2soQ0ZOb3RpZmljYXRp
b25DZW50ZXJSZWYsIHZvaWQgKm9ic2VydmVyLCBDRlN0cmluZ1JlZiBuYW1lLCBjb25zdCB2b2lk
ICosIENGRGljdGlvbmFyeVJlZiB1c2VySW5mbykKK3sKKyAgICBhdXRvKiBwb29sID0gcmVpbnRl
cnByZXRfY2FzdDxXZWJQcm9jZXNzUG9vbCo+KG9ic2VydmVyKTsKKyAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IHBvb2wtPm1fcHJvY2Vzc2VzLnNpemUoKTsgKytpKSB7CisgICAgICAgIGF1dG8g
cHJvY2VzcyA9IHBvb2wtPm1fcHJvY2Vzc2VzW2ldOworICAgICAgICBTYW5kYm94RXh0ZW5zaW9u
OjpIYW5kbGUgaGFuZGxlOworICAgICAgICBhdXRvIGF1ZGl0VG9rZW4gPSBwcm9jZXNzLT5jb25u
ZWN0aW9uKCktPmdldEF1ZGl0VG9rZW4oKTsKKyAgICAgICAgaWYgKCFhdWRpdFRva2VuIHx8ICFT
YW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JNYWNoTG9va3VwQnlBdWRpdFRva2VuKCJj
b20uYXBwbGUud2ViaW5zcGVjdG9yIiwgKmF1ZGl0VG9rZW4sIGhhbmRsZSkpCisgICAgICAgICAg
ICBjb250aW51ZTsKKyAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6
UmVtb3RlV2ViSW5zcGVjdG9yRW5hYmxlZChoYW5kbGUpLCAwKTsKKyAgICB9Cit9CisjZW5kaWYK
Kwogdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMoKQog
ewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtNDU3LDYgKzQ3Nyw5IEBAIHZvaWQgV2Vi
UHJvY2Vzc1Bvb2w6OnJlZ2lzdGVyTm90aWZpY2F0aW8KICAgICAgICAgICAgIG1fcHJvY2Vzc2Vz
W2ldLT51bmJsb2NrQWNjZXNzaWJpbGl0eVNlcnZlcklmTmVlZGVkKCk7CiAgICAgfV07CiAjZW5k
aWYgLy8gIVBMQVRGT1JNKElPU19GQU1JTFkpCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1Ip
CisgICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJBZGRPYnNlcnZlcihDRk5vdGlmaWNhdGlvbkNlbnRl
ckdldERhcndpbk5vdGlmeUNlbnRlcigpLCB0aGlzLCByZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVk
Q2FsbGJhY2ssIHN0YXRpY19jYXN0PENGU3RyaW5nUmVmPihDRlNUUihXSVJTZXJ2aWNlRW5hYmxl
ZE5vdGlmaWNhdGlvbikpLCBudWxscHRyLCBDRk5vdGlmaWNhdGlvblN1c3BlbnNpb25CZWhhdmlv
ckNvYWxlc2NlKTsKKyNlbmRpZgogfQogCiB2b2lkIFdlYlByb2Nlc3NQb29sOjp1bnJlZ2lzdGVy
Tm90aWZpY2F0aW9uT2JzZXJ2ZXJzKCkKQEAgLTQ3Nyw2ICs1MDAsOSBAQCB2b2lkIFdlYlByb2Nl
c3NQb29sOjp1bnJlZ2lzdGVyTm90aWZpY2F0CiAgICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJSZW1v
dmVPYnNlcnZlcihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERhcndpbk5vdGlmeUNlbnRlcigpLCB0
aGlzLCBzdGF0aWNfY2FzdDxDRlN0cmluZ1JlZj4oVUlCYWNrbGlnaHRMZXZlbENoYW5nZWROb3Rp
ZmljYXRpb24pICwgbnVsbHB0cik7CiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0
Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2FjY2Vzc2liaWxpdHlFbmFibGVkT2JzZXJ2ZXIuZ2V0
KCldOwogI2VuZGlmIC8vICFQTEFURk9STShJT1NfRkFNSUxZKQorI2lmIEVOQUJMRShSRU1PVEVf
SU5TUEVDVE9SKQorICAgIENGTm90aWZpY2F0aW9uQ2VudGVyUmVtb3ZlT2JzZXJ2ZXIoQ0ZOb3Rp
ZmljYXRpb25DZW50ZXJHZXREYXJ3aW5Ob3RpZnlDZW50ZXIoKSwgdGhpcywgc3RhdGljX2Nhc3Q8
Q0ZTdHJpbmdSZWY+KENGU1RSKFdJUlNlcnZpY2VFbmFibGVkTm90aWZpY2F0aW9uKSkgLCBudWxs
cHRyKTsKKyNlbmRpZgogfQogCiBzdGF0aWMgQ0ZVUkxTdG9yYWdlU2Vzc2lvblJlZiBwcml2YXRl
QnJvd3NpbmdTZXNzaW9uKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
aAkocmV2aXNpb24gMjUxMjM1KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuaAkod29ya2luZyBjb3B5KQpAQCAtNDUyLDYgKzQ1MiwxMCBAQCBwcml2YXRlOgogICAgIHZv
aWQgYmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2UoZmxvYXQgYmFja2xpZ2h0TGV2ZWwpOwogI2VuZGlm
CiAKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikgJiYgUExBVEZPUk0oQ09DT0EpCisgICAg
dm9pZCByZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVkKGNvbnN0IFNhbmRib3hFeHRlbnNpb246Okhh
bmRsZSYpOworI2VuZGlmCisKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHZvaWQgcHJv
Y2Vzc1Rhc2tTdGF0ZURpZENoYW5nZShQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlRhc2tTdGF0
ZSkgZmluYWw7CiAgICAgYm9vbCBzaG91bGRGcmVlemVPblN1c3BlbnNpb24oKSBjb25zdDsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmlu
CShyZXZpc2lvbiAyNTEyMzUpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMTMxLDYgKzEzMSwxMCBAQCBtZXNzYWdl
cyAtPiBXZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBCYWNrbGlnaHRMZXZlbERpZENo
YW5nZShmbG9hdCBiYWNrbGlnaHRMZXZlbCkKICNlbmRpZgogCisjaWYgRU5BQkxFKFJFTU9URV9J
TlNQRUNUT1IpICYmIFBMQVRGT1JNKENPQ09BKQorICAgIFJlbW90ZVdlYkluc3BlY3RvckVuYWJs
ZWQoV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgaGFuZGxlKTsKKyNlbmRpZgorCiAg
ICAgSXNKSVRFbmFibGVkKCkgLT4gKGJvb2wgZW5hYmxlZCkgQXN5bmMKIAogI2lmIFBMQVRGT1JN
KENPQ09BKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9j
ZXNzLnNiLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb20uYXBw
bGUuV2ViUHJvY2Vzcy5zYi5pbgkocmV2aXNpb24gMjUxMjM1KQorKysgU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCSh3b3JraW5nIGNvcHkpCkBAIC01
ODMsMTAgKzU4Myw2IEBACiAoYWxsb3cgaXBjLXBvc2l4LXNobS1yZWFkKiBpcGMtcG9zaXgtc2ht
LXdyaXRlLWRhdGEKICAgICAoaXBjLXBvc2l4LW5hbWUtcmVnZXggIyJeQXVkaW9JTyIpKQogCi07
OyBSZW1vdGUgV2ViIEluc3BlY3RvcgotKGFsbG93IG1hY2gtbG9va3VwCi0gICAgICAgKGdsb2Jh
bC1uYW1lICJjb20uYXBwbGUud2ViaW5zcGVjdG9yIikpCi0KIDs7IFZhcmlvdXMgc2VydmljZXMg
cmVxdWlyZWQgYnkgQXBwS2l0IGFuZCBvdGhlciBmcmFtZXdvcmtzCiAoYWxsb3cgbWFjaC1sb29r
dXAKICNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNDAwCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0J
KHJldmlzaW9uIDI1MTIzNSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQ
cm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTc5LDYgKzc5LDEwIEBACiAjaW1wb3J0
IDx3dGYvRmlsZVN5c3RlbS5oPgogI2ltcG9ydCA8d3RmL2NvY29hL05TVVJMRXh0cmFzLmg+CiAK
KyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9S
ZW1vdGVJbnNwZWN0b3IuaD4KKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oSU9TKQogI2ltcG9ydCAi
VUlLaXRTUEkuaCIKICNlbmRpZgpAQCAtODI1LDYgKzgyOSwxNSBAQCB2b2lkIFdlYlByb2Nlc3M6
OmJhY2tsaWdodExldmVsRGlkQ2hhbmdlCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShSRU1PVEVf
SU5TUEVDVE9SKQordm9pZCBXZWJQcm9jZXNzOjpyZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVkKGNv
bnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYgaGFuZGxlKQoreworICAgIFNhbmRib3hFeHRl
bnNpb246OmNvbnN1bWVQZXJtYW5lbnRseShoYW5kbGUpOworICAgIEluc3BlY3Rvcjo6UmVtb3Rl
SW5zcGVjdG9yOjpzZXROZWVkTWFjaFNhbmRib3hFeHRlbnNpb24oZmFsc2UpOworICAgIEluc3Bl
Y3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpzaW5nbGV0b24oKTsKK30KKyNlbmRpZgorCiB2b2lkIFdl
YlByb2Nlc3M6OnNldE1lZGlhTUlNRVR5cGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+IHR5cGVzKQog
ewogICAgIEFWQXNzZXRNSU1FVHlwZUNhY2hlOjpzaW5nbGV0b24oKS5zZXRTdXBwb3J0ZWRUeXBl
cyh0eXBlcyk7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTEy
MzUpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxNiBAQAorMjAxOS0xMC0yMSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBh
cHBsZS5jb20+CisKKyAgICAgICAgTWFjaCBsb29rdXAgdG8gY29tLmFwcGxlLndlYmluc3BlY3Rv
ciBzaG91bGQgbm90IGJlIGFsbG93ZWQgaW4gV2ViS2l0J3MgV2ViQ29udGVudCBwcm9jZXNzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMyMTQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGVyZSBpcyBu
byBuZWVkIGZvciBhIHNhbmRib3ggZXh0ZW5zaW9uIGluIFdLMSwgc2luY2UgdGhlIFVJIHByb2Nl
c3MgYWxyZWFkeSBoYXMgYWNjZXNzIHRvCisgICAgICAgIHRoZSBXZWIgaW5zcGVjdG9yIGRhZW1v
bi4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKCtbV2ViVmlldyBp
bml0aWFsaXplXSk6CisKIDIwMTktMTAtMTcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUu
Y29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJld29yayBmcm9udGVuZCBhZ2VudCBjb25z
dHJ1Y3Rpb24gdG8gYWxsb3cgY29tbWFuZHMvZXZlbnRzIHRvIGJlIGNvbnRyb2xsZWQgYnkgdGhl
IHJlbGF0ZWQgdGFyZ2V0J3MgdHlwZQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24gMjUxMjM1KQorKysgU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC01NDU1LDYgKzU0NTUs
MTAgQEAgKyAodm9pZClpbml0aWFsaXplCiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZh
dWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3RvcihfZGlkQ2hhbmdl
QXV0b21hdGljRGFzaFN1YnN0aXR1dGlvbkVuYWJsZWQ6KQogICAgICAgICBuYW1lOk5TU3BlbGxD
aGVja2VyRGlkQ2hhbmdlQXV0b21hdGljRGFzaFN1YnN0aXR1dGlvbk5vdGlmaWNhdGlvbiBvYmpl
Y3Q6bmlsXTsKICNlbmRpZgorICAgIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQorICAg
IEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpzZXROZWVkTWFjaFNhbmRib3hFeHRlbnNpb24o
ZmFsc2UpOworI2VuZGlmCiB9CiAKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381609</attachid>
            <date>2019-10-22 14:39:38 -0700</date>
            <delta_ts>2019-10-23 10:45:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203214-20191022143937.patch</filename>
            <type>text/plain</type>
            <size>15891</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjUxNDUzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBA
CisyMDE5LTEwLTIxICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAg
ICAgICBNYWNoIGxvb2t1cCB0byBjb20uYXBwbGUud2ViaW5zcGVjdG9yIHNob3VsZCBub3QgYmUg
YWxsb3dlZCBpbiBXZWJLaXQncyBXZWJDb250ZW50IHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzIxNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdGF0aWMgZmxhZyBpbiBSZW1vdGVJ
bnNwZWN0b3IgdG8gaW5kaWNhdGUgd2hldGhlciBhIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5lZWRl
ZC4gVGhlIHJlbW90ZSBpbnNwZWN0b3Igd2lsbCBvbmx5IGJlCisgICAgICAgIHN0YXJ0ZWQgaWYg
dGhlIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5vdCBuZWVkZWQuIE9ubHkgdGhlIFdlYkNvbnRlbnQg
cHJvY2VzcyB3aWxsIG5lZWQgYSBzYW5kYm94IGV4dGVuc2lvbiwgc2luY2UgdGhpcworICAgICAg
ICBwYXRjaCByZW1vdmVzIG1hY2ggYWNjZXNzIHRvICdjb20uYXBwbGUud2ViaW5zcGVjdG9yJyBm
b3IgdGhpcyBwcm9jZXNzLgorCisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNw
ZWN0b3IuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmg6
CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9jb2NvYS9SZW1vdGVJbnNwZWN0b3JDb2NvYS5t
bToKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpzaW5nbGV0b24pOgorCiAy
MDE5LTEwLTIyICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXgg
aW5jb3JyZWN0IGFzc2VydGlvbiBpbiBvcGVyYXRpb25SZWdFeHBFeGVjTm9uR2xvYmFsT3JTdGlj
a3koKS4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90
ZUluc3BlY3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmNwcAkocmV2aXNpb24gMjUxNDUzKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsOSBAQAogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAK
IGJvb2wgUmVtb3RlSW5zcGVjdG9yOjpzdGFydEVuYWJsZWQgPSB0cnVlOworI2lmIFBMQVRGT1JN
KENPQ09BKQorc3RkOjphdG9taWM8Ym9vbD4gUmVtb3RlSW5zcGVjdG9yOjpuZWVkTWFjaFNhbmRi
b3hFeHRlbnNpb24gPSBmYWxzZTsKKyNlbmRpZgogCiB2b2lkIFJlbW90ZUluc3BlY3Rvcjo6c3Rh
cnREaXNhYmxlZCgpCiB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Jl
bW90ZS9SZW1vdGVJbnNwZWN0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaAkocmV2aXNpb24gMjUxNDUzKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9y
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNiw2ICsxMDYsOSBAQCBwdWJsaWM6CiAgICAgICAgIHZp
cnR1YWwgdm9pZCByZXF1ZXN0QXV0b21hdGlvblNlc3Npb24oY29uc3QgU3RyaW5nJiBzZXNzaW9u
SWRlbnRpZmllciwgY29uc3QgU2Vzc2lvbkNhcGFiaWxpdGllcyYpID0gMDsKICAgICB9OwogCisj
aWYgUExBVEZPUk0oQ09DT0EpCisgICAgc3RhdGljIHZvaWQgc2V0TmVlZE1hY2hTYW5kYm94RXh0
ZW5zaW9uKGJvb2wgbmVlZEV4dGVuc2lvbikgeyBuZWVkTWFjaFNhbmRib3hFeHRlbnNpb24gPSBu
ZWVkRXh0ZW5zaW9uOyB9CisjZW5kaWYKICAgICBzdGF0aWMgdm9pZCBzdGFydERpc2FibGVkKCk7
CiAgICAgc3RhdGljIFJlbW90ZUluc3BlY3RvciYgc2luZ2xldG9uKCk7CiAgICAgZnJpZW5kIGNs
YXNzIE5ldmVyRGVzdHJveWVkPFJlbW90ZUluc3BlY3Rvcj47CkBAIC0yMjgsNiArMjMxLDkgQEAg
cHJpdmF0ZToKICAgICBTdHJpbmcgYmFja2VuZENvbW1hbmRzKCkgY29uc3Q7CiAjZW5kaWYKICAg
ICBzdGF0aWMgYm9vbCBzdGFydEVuYWJsZWQ7CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgc3Rh
dGljIHN0ZDo6YXRvbWljPGJvb2w+IG5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbjsKKyNlbmRpZgog
CiAgICAgLy8gVGFyZ2V0cyBjYW4gYmUgcmVnaXN0ZXJlZCBmcm9tIGFueSB0aHJlYWQgYXQgYW55
IHRpbWUuCiAgICAgLy8gQW55IHRhcmdldCBjYW4gc2VuZCBtZXNzYWdlcyBvdmVyIHRoZSBYUEMg
Y29ubmVjdGlvbi4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3Rl
L2NvY29hL1JlbW90ZUluc3BlY3RvckNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3RvckNvY29hLm1t
CShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Jl
bW90ZS9jb2NvYS9SZW1vdGVJbnNwZWN0b3JDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtODcs
NiArODcsOSBAQCBSZW1vdGVJbnNwZWN0b3ImIFJlbW90ZUluc3BlY3Rvcjo6c2luZ2xlCiB7CiAg
ICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFJlbW90ZUluc3BlY3Rvcj4gc2hhcmVkOwogCisgICAg
aWYgKG5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbikKKyAgICAgICAgcmV0dXJuIHNoYXJlZDsKKyAg
ICAKICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2U7CiAgICAgZGlzcGF0Y2hfb25jZSgm
b25jZSwgXnsKICAgICAgICAgaWYgKGNhbkFjY2Vzc1dlYkluc3BlY3Rvck1hY2hQb3J0KCkpIHsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTE0NTkpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDE5LTEwLTIyICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBNYWNoIGxvb2t1cCB0byBjb20u
YXBwbGUud2ViaW5zcGVjdG9yIHNob3VsZCBub3QgYmUgYWxsb3dlZCBpbiBXZWJLaXQncyBXZWJD
b250ZW50IHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwMzIxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIElmIHRoZSBXZWIgaW5zcGVjdG9yIGlzIGVuYWJsZWQgd2hlbiB0aGUgV2ViQ29udGVu
dCBwcm9jZXNzIGlzIHN0YXJ0ZWQsIGEgc2FuZGJveCBleHRlbnNpb24gaXMgY3JlYXRlZAorICAg
ICAgICBmb3IgJ2NvbS5hcHBsZS53ZWJpbnNwZWN0b3InIGFuZCBhIG1lc3NhZ2UgaXMgc2VudCB0
byB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCB3aGVyZSB0aGUgZXh0ZW5zaW9uIHdpbGwKKyAgICAg
ICAgYmUgY29uc3VtZWQsIGFuZCB0aGUgcmVtb3RlIFdlYiBpbnNwZWN0b3Igd2lsbCBiZSBzdGFy
dGVkLiBUaGUgc2FtZSBoYXBwZW5zIGlmIFdlYiBpbnNwZWN0b3IgaXMgZW5hYmxlZAorICAgICAg
ICBieSB0aGUgdXNlciB3aGlsZSBTYWZhcmkgaXMgcnVubmluZy4gV2hlbiBSZW1vdGVJbnNwZWN0
b3I6OnNpbmdsZXRvbigpIGlzIGNhbGxlZCBpbiB0aGUgVUkgcHJvY2VzcyB0aGVyZQorICAgICAg
ICBpcyBubyBuZWVkIGZvciBhbiBleHRlbnNpb24sIHNpbmNlIGFjY2VzcyB0byB0aGUgV2ViIGlu
c3BlY3RvciBkYWVtb24gaXMgYWxyZWFkeSBhbGxvd2VkLgorCisgICAgICAgICogUmVzb3VyY2Vz
L1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnNiOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6YmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2VDYWxsYmFjayk6
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpyZW1vdGVXZWJJbnNwZWN0b3JFbmFi
bGVkQ2FsbGJhY2spOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cmVnaXN0ZXJO
b3RpZmljYXRpb25PYnNlcnZlcnMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6
dW5yZWdpc3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycyk6CisgICAgICAgICogVUlQcm9jZXNzL0Nv
Y29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
UHJveHk6OmVuYWJsZVJlbW90ZUluc3BlY3RvcklmTmVlZGVkKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6
aW5pdGlhbGl6ZU5ld1dlYlByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNz
UG9vbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OmRpZEZpbmlzaExhdW5jaGluZyk6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQ
cm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9j
b2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmVu
YWJsZVJlbW90ZVdlYkluc3BlY3Rvcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb20uYXBwbGUu
V2ViUHJvY2Vzcy5zYi5pbjoKKwogMjAxOS0xMC0yMiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlLWVuYWJsZSBsZWdhY3kgVExTIGJ5IGRl
ZmF1bHQsIGtlZXAgcnVudGltZSBzd2l0Y2gKSW5kZXg6IFNvdXJjZS9XZWJLaXQvUmVzb3VyY2Vz
L1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnNiCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29t
LmFwcGxlLldlYktpdC5XZWJDb250ZW50LnNiCShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3VyY2Uv
V2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2Vi
Q29udGVudC5zYgkod29ya2luZyBjb3B5KQpAQCAtMzQyLDEwICszNDIsNiBAQAogKG1vYmlsZS1w
cmVmZXJlbmNlcy1yZWFkICJjb20uYXBwbGUubWVkaWFhY2Nlc3NpYmlsaXR5IikKIChtb2JpbGUt
cHJlZmVyZW5jZXMtcmVhZC13cml0ZSAiY29tLmFwcGxlLm1lZGlhYWNjZXNzaWJpbGl0eS5wdWJs
aWMiKQogCi07OyBSZW1vdGUgV2ViIEluc3BlY3RvcgotKGFsbG93IG1hY2gtbG9va3VwCi0gICAg
ICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUud2ViaW5zcGVjdG9yIikpCi0KIDs7IFZhcmlvdXMg
c2VydmljZXMgcmVxdWlyZWQgYnkgQ0ZOZXR3b3JrIGFuZCBvdGhlciBmcmFtZXdvcmtzCiAoYWxs
b3cgbWFjaC1sb29rdXAKICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5Qb3dlck1hbmFnZW1l
bnQuY29udHJvbCIpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuY3BwCShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMzQsNyArMTAzNCw3IEBAIHZvaWQg
V2ViUHJvY2Vzc1Bvb2w6OmluaXRpYWxpemVOZXdXZWJQcm8KIAogI2lmIEVOQUJMRShSRU1PVEVf
SU5TUEVDVE9SKQogICAgIC8vIEluaXRpYWxpemUgcmVtb3RlIGluc3BlY3RvciBjb25uZWN0aW9u
IG5vdyB0aGF0IHdlIGhhdmUgYSBzdWItcHJvY2VzcyB0aGF0IGlzIGhvc3Rpbmcgb25lIG9mIG91
ciB3ZWIgdmlld3MuCi0gICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigp
OyAKKyAgICBJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCk7CiAjZW5kaWYK
IAogI2lmIFBMQVRGT1JNKE1BQykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuaAkocmV2aXNpb24gMjUxNDUzKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuaAkod29ya2luZyBjb3B5KQpAQCAtNTk1LDYgKzU5NSw5IEBAIHByaXZh
dGU6CiAgICAgc3RhdGljIGZsb2F0IGRpc3BsYXlCcmlnaHRuZXNzKCk7CiAgICAgc3RhdGljIHZv
aWQgYmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2VDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJl
Ziwgdm9pZCAqb2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZvaWQgKiwgQ0ZEaWN0
aW9uYXJ5UmVmIHVzZXJJbmZvKTsgICAgCiAjZW5kaWYKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BF
Q1RPUikgJiYgUExBVEZPUk0oQ09DT0EpCisgICAgc3RhdGljIHZvaWQgcmVtb3RlV2ViSW5zcGVj
dG9yRW5hYmxlZENhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lkICpvYnNlcnZl
ciwgQ0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qgdm9pZCAqLCBDRkRpY3Rpb25hcnlSZWYgdXNlcklu
Zm8pOworI2VuZGlmCiAKICAgICBSZWY8QVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24+IG1f
Y29uZmlndXJhdGlvbjsKIApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUHJveHkuY3BwCShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NjYsNiArODY2LDEwIEBA
IHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVuY2hpbmcKIAogICAgIHVuYmxvY2tB
Y2Nlc3NpYmlsaXR5U2VydmVySWZOZWVkZWQoKTsKICNlbmRpZgorCisjaWYgRU5BQkxFKFJFTU9U
RV9JTlNQRUNUT1IpICYmIFBMQVRGT1JNKENPQ09BKQorICAgIGVuYWJsZVJlbW90ZUluc3BlY3Rv
cklmTmVlZGVkKCk7CisjZW5kaWYKIH0KIAogV2ViRnJhbWVQcm94eSogV2ViUHJvY2Vzc1Byb3h5
Ojp3ZWJGcmFtZShGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCkgY29uc3QKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCShyZXZpc2lvbiAyNTE0NTMpCisrKyBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkod29ya2luZyBjb3B5KQpA
QCAtMzI3LDYgKzMyNywxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCB1bmJsb2NrQWNjZXNzaWJpbGl0
eVNlcnZlcklmTmVlZGVkKCk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9S
KSAmJiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lkIGVuYWJsZVJlbW90ZUluc3BlY3RvcklmTmVl
ZGVkKCk7CisjZW5kaWYKKyAgICAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHZvaWQg
cHJvY2Vzc1dhc1Jlc3VtZWQoKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAyNTE0
NTMpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29h
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC02MCw2ICs2MCwxMSBAQAogI2ltcG9ydCA8d3RmL2NvY29h
L0VudGl0bGVtZW50cy5oPgogI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgogCisj
aWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9SZW1v
dGVJbnNwZWN0b3IuaD4KKyNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL1JlbW90ZUluc3BlY3RvckNv
bnN0YW50cy5oPgorI2VuZGlmCisKICNpZiBQTEFURk9STShNQUMpCiAjaW1wb3J0IDxRdWFydHpD
b3JlL0NBUmVtb3RlTGF5ZXJTZXJ2ZXIuaD4KICNlbHNlCkBAIC00MDEsMTEgKzQwNiwyMiBAQCBm
bG9hdCBXZWJQcm9jZXNzUG9vbDo6ZGlzcGxheUJyaWdodG5lc3MoCiAgICAgCiB2b2lkIFdlYlBy
b2Nlc3NQb29sOjpiYWNrbGlnaHRMZXZlbERpZENoYW5nZUNhbGxiYWNrKENGTm90aWZpY2F0aW9u
Q2VudGVyUmVmIGNlbnRlciwgdm9pZCAqb2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNvbnN0
IHZvaWQgKm9iamVjdCwgQ0ZEaWN0aW9uYXJ5UmVmIHVzZXJJbmZvKQogewotICAgIFdlYlByb2Nl
c3NQb29sKiBwb29sID0gcmVpbnRlcnByZXRfY2FzdDxXZWJQcm9jZXNzUG9vbCo+KG9ic2VydmVy
KTsKKyAgICBhdXRvKiBwb29sID0gcmVpbnRlcnByZXRfY2FzdDxXZWJQcm9jZXNzUG9vbCo+KG9i
c2VydmVyKTsKICAgICBwb29sLT5zZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nl
c3M6OkJhY2tsaWdodExldmVsRGlkQ2hhbmdlKEJLU0Rpc3BsYXlCcmlnaHRuZXNzR2V0Q3VycmVu
dCgpKSk7CiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQordm9pZCBX
ZWJQcm9jZXNzUG9vbDo6cmVtb3RlV2ViSW5zcGVjdG9yRW5hYmxlZENhbGxiYWNrKENGTm90aWZp
Y2F0aW9uQ2VudGVyUmVmLCB2b2lkICpvYnNlcnZlciwgQ0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qg
dm9pZCAqLCBDRkRpY3Rpb25hcnlSZWYgdXNlckluZm8pCit7CisgICAgYXV0byogcG9vbCA9IHJl
aW50ZXJwcmV0X2Nhc3Q8V2ViUHJvY2Vzc1Bvb2wqPihvYnNlcnZlcik7CisgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBwb29sLT5tX3Byb2Nlc3Nlcy5zaXplKCk7ICsraSkgeworICAgICAgICBh
dXRvIHByb2Nlc3MgPSBwb29sLT5tX3Byb2Nlc3Nlc1tpXTsKKyAgICAgICAgcHJvY2Vzcy0+ZW5h
YmxlUmVtb3RlSW5zcGVjdG9ySWZOZWVkZWQoKTsKKyAgICB9Cit9CisjZW5kaWYKKwogdm9pZCBX
ZWJQcm9jZXNzUG9vbDo6cmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMoKQogewogI2lmICFQ
TEFURk9STShJT1NfRkFNSUxZKQpAQCAtNDU5LDYgKzQ3NSw5IEBAIHZvaWQgV2ViUHJvY2Vzc1Bv
b2w6OnJlZ2lzdGVyTm90aWZpY2F0aW8KICAgICAgICAgICAgIG1fcHJvY2Vzc2VzW2ldLT51bmJs
b2NrQWNjZXNzaWJpbGl0eVNlcnZlcklmTmVlZGVkKCk7CiAgICAgfV07CiAjZW5kaWYgLy8gIVBM
QVRGT1JNKElPU19GQU1JTFkpCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisgICAgQ0ZO
b3RpZmljYXRpb25DZW50ZXJBZGRPYnNlcnZlcihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERhcndp
bk5vdGlmeUNlbnRlcigpLCB0aGlzLCByZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVkQ2FsbGJhY2ss
IHN0YXRpY19jYXN0PENGU3RyaW5nUmVmPihDRlNUUihXSVJTZXJ2aWNlRW5hYmxlZE5vdGlmaWNh
dGlvbikpLCBudWxscHRyLCBDRk5vdGlmaWNhdGlvblN1c3BlbnNpb25CZWhhdmlvckNvYWxlc2Nl
KTsKKyNlbmRpZgogfQogCiB2b2lkIFdlYlByb2Nlc3NQb29sOjp1bnJlZ2lzdGVyTm90aWZpY2F0
aW9uT2JzZXJ2ZXJzKCkKQEAgLTQ3OSw2ICs0OTgsOSBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjp1
bnJlZ2lzdGVyTm90aWZpY2F0CiAgICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJSZW1vdmVPYnNlcnZl
cihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERhcndpbk5vdGlmeUNlbnRlcigpLCB0aGlzLCBzdGF0
aWNfY2FzdDxDRlN0cmluZ1JlZj4oVUlCYWNrbGlnaHRMZXZlbENoYW5nZWROb3RpZmljYXRpb24p
ICwgbnVsbHB0cik7CiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBy
ZW1vdmVPYnNlcnZlcjptX2FjY2Vzc2liaWxpdHlFbmFibGVkT2JzZXJ2ZXIuZ2V0KCldOwogI2Vu
ZGlmIC8vICFQTEFURk9STShJT1NfRkFNSUxZKQorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9S
KQorICAgIENGTm90aWZpY2F0aW9uQ2VudGVyUmVtb3ZlT2JzZXJ2ZXIoQ0ZOb3RpZmljYXRpb25D
ZW50ZXJHZXREYXJ3aW5Ob3RpZnlDZW50ZXIoKSwgdGhpcywgc3RhdGljX2Nhc3Q8Q0ZTdHJpbmdS
ZWY+KENGU1RSKFdJUlNlcnZpY2VFbmFibGVkTm90aWZpY2F0aW9uKSkgLCBudWxscHRyKTsKKyNl
bmRpZgogfQogCiBzdGF0aWMgQ0ZVUkxTdG9yYWdlU2Vzc2lvblJlZiBwcml2YXRlQnJvd3NpbmdT
ZXNzaW9uKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQ
cm94eUNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQkod29ya2luZyBjb3B5
KQpAQCAtMjEyLDQgKzIxMiwxNiBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc1dhc1Jl
c3VtZWQoCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQordm9pZCBX
ZWJQcm9jZXNzUHJveHk6OmVuYWJsZVJlbW90ZUluc3BlY3RvcklmTmVlZGVkKCkKK3sKKyAgICBC
b29sZWFuIGtleUV4aXN0c0FuZEhhc1ZhbGlkRm9ybWF0ID0gZmFsc2U7CisgICAgaWYgKCFDRlBy
ZWZlcmVuY2VzR2V0QXBwSW50ZWdlclZhbHVlKENGU1RSKCJSZW1vdGVJbnNwZWN0b3JFbmFibGVk
IiksIENGU1RSKCJjb20uYXBwbGUud2ViaW5zcGVjdG9yZCIpLCAma2V5RXhpc3RzQW5kSGFzVmFs
aWRGb3JtYXQpICYmIGtleUV4aXN0c0FuZEhhc1ZhbGlkRm9ybWF0KQorICAgICAgICByZXR1cm47
CisgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIGhhbmRsZTsKKyAgICBhdXRvIGF1ZGl0VG9r
ZW4gPSBjb25uZWN0aW9uKCktPmdldEF1ZGl0VG9rZW4oKTsKKyAgICBpZiAoYXVkaXRUb2tlbiAm
JiBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JNYWNoTG9va3VwQnlBdWRpdFRva2Vu
KCJjb20uYXBwbGUud2ViaW5zcGVjdG9yIiwgKmF1ZGl0VG9rZW4sIGhhbmRsZSkpCisgICAgICAg
IHNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkVuYWJsZVJlbW90ZVdlYkluc3BlY3RvcihoYW5k
bGUpLCAwKTsKK30KKyNlbmRpZgogfQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmNwcAkocmV2aXNpb24gMjUxNDUzKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDcsNiArNDA3LDcgQEAgdm9pZCBX
ZWJQcm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2VzcyhXZQogI2VuZGlmCiAKICNpZiBFTkFCTEUo
UkVNT1RFX0lOU1BFQ1RPUikgJiYgUExBVEZPUk0oQ09DT0EpCisgICAgSW5zcGVjdG9yOjpSZW1v
dGVJbnNwZWN0b3I6OnNldE5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbih0cnVlKTsKICAgICBpZiAo
T3B0aW9uYWw8YXVkaXRfdG9rZW5fdD4gYXVkaXRUb2tlbiA9IHBhcmVudFByb2Nlc3NDb25uZWN0
aW9uKCktPmdldEF1ZGl0VG9rZW4oKSkgewogICAgICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBh
dWRpdERhdGEgPSBhZG9wdENGKENGRGF0YUNyZWF0ZShudWxscHRyLCAoY29uc3QgVUludDgqKSYq
YXVkaXRUb2tlbiwgc2l6ZW9mKCphdWRpdFRva2VuKSkpOwogICAgICAgICBJbnNwZWN0b3I6OlJl
bW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCkuc2V0UGFyZW50UHJvY2Vzc0luZm9ybWF0aW9uKFdl
YkNvcmU6OnByZXNlbnRpbmdBcHBsaWNhdGlvblBJRCgpLCBhdWRpdERhdGEpOwpJbmRleDogU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC00NTMs
NiArNDUzLDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBiYWNrbGlnaHRMZXZlbERpZENoYW5nZShm
bG9hdCBiYWNrbGlnaHRMZXZlbCk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVD
VE9SKSAmJiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lkIGVuYWJsZVJlbW90ZVdlYkluc3BlY3Rv
cihjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmKTsKKyNlbmRpZgorCiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKICAgICB2b2lkIHByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2UoUHJvY2Vz
c1Rhc2tTdGF0ZU9ic2VydmVyOjpUYXNrU3RhdGUpIGZpbmFsOwogICAgIHZvaWQgcGFyZW50UHJv
Y2Vzc0RpZEhhbmRsZVByb2Nlc3NXYXNSZXN1bWVkKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgkocmV2aXNpb24gMjUxNDUzKQor
KysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4JKHdvcmtp
bmcgY29weSkKQEAgLTEzMSw2ICsxMzEsMTAgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdh
Y3lSZWNlaXZlciB7CiAgICAgQmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2UoZmxvYXQgYmFja2xpZ2h0
TGV2ZWwpCiAjZW5kaWYKIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKSAmJiBQTEFURk9S
TShDT0NPQSkKKyAgICBFbmFibGVSZW1vdGVXZWJJbnNwZWN0b3IoV2ViS2l0OjpTYW5kYm94RXh0
ZW5zaW9uOjpIYW5kbGUgaGFuZGxlKTsKKyNlbmRpZgorCiAgICAgSXNKSVRFbmFibGVkKCkgLT4g
KGJvb2wgZW5hYmxlZCkgQXN5bmMKIAogI2lmIFBMQVRGT1JNKENPQ09BKQpJbmRleDogU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbgko
cmV2aXNpb24gMjUxNDUzKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5X
ZWJQcm9jZXNzLnNiLmluCSh3b3JraW5nIGNvcHkpCkBAIC01ODMsMTAgKzU4Myw2IEBACiAoYWxs
b3cgaXBjLXBvc2l4LXNobS1yZWFkKiBpcGMtcG9zaXgtc2htLXdyaXRlLWRhdGEKICAgICAoaXBj
LXBvc2l4LW5hbWUtcmVnZXggIyJeQXVkaW9JTyIpKQogCi07OyBSZW1vdGUgV2ViIEluc3BlY3Rv
cgotKGFsbG93IG1hY2gtbG9va3VwCi0gICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUud2Vi
aW5zcGVjdG9yIikpCi0KIDs7IFZhcmlvdXMgc2VydmljZXMgcmVxdWlyZWQgYnkgQXBwS2l0IGFu
ZCBvdGhlciBmcmFtZXdvcmtzCiAoYWxsb3cgbWFjaC1sb29rdXAKICNpZiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNDAwCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI1MTQ1MykKKysr
IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtp
bmcgY29weSkKQEAgLTc5LDYgKzc5LDEwIEBACiAjaW1wb3J0IDx3dGYvRmlsZVN5c3RlbS5oPgog
I2ltcG9ydCA8d3RmL2NvY29hL05TVVJMRXh0cmFzLmg+CiAKKyNpZiBFTkFCTEUoUkVNT1RFX0lO
U1BFQ1RPUikKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SZW1vdGVJbnNwZWN0b3IuaD4KKyNl
bmRpZgorCiAjaWYgUExBVEZPUk0oSU9TKQogI2ltcG9ydCAiVUlLaXRTUEkuaCIKICNlbmRpZgpA
QCAtODM5LDYgKzg0MywxNSBAQCB2b2lkIFdlYlByb2Nlc3M6OmJhY2tsaWdodExldmVsRGlkQ2hh
bmdlCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQordm9pZCBXZWJQ
cm9jZXNzOjplbmFibGVSZW1vdGVXZWJJbnNwZWN0b3IoY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6
SGFuZGxlJiBoYW5kbGUpCit7CisgICAgU2FuZGJveEV4dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVu
dGx5KGhhbmRsZSk7CisgICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNldE5lZWRNYWNo
U2FuZGJveEV4dGVuc2lvbihmYWxzZSk7CisgICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6
OnNpbmdsZXRvbigpOworfQorI2VuZGlmCisKIHZvaWQgV2ViUHJvY2Vzczo6c2V0TWVkaWFNSU1F
VHlwZXMoY29uc3QgVmVjdG9yPFN0cmluZz4gdHlwZXMpCiB7CiAgICAgQVZBc3NldE1JTUVUeXBl
Q2FjaGU6OnNpbmdsZXRvbigpLnNldFN1cHBvcnRlZFR5cGVzKHR5cGVzKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381693</attachid>
            <date>2019-10-23 10:45:11 -0700</date>
            <delta_ts>2019-10-23 11:12:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203214-20191023104511.patch</filename>
            <type>text/plain</type>
            <size>17207</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjUxNDc5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBA
CisyMDE5LTEwLTIzICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAg
ICAgICBNYWNoIGxvb2t1cCB0byBjb20uYXBwbGUud2ViaW5zcGVjdG9yIHNob3VsZCBub3QgYmUg
YWxsb3dlZCBpbiBXZWJLaXQncyBXZWJDb250ZW50IHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzIxNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdGF0aWMgZmxhZyBpbiBSZW1vdGVJ
bnNwZWN0b3IgdG8gaW5kaWNhdGUgd2hldGhlciBhIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5lZWRl
ZC4gVGhlIHJlbW90ZSBpbnNwZWN0b3Igd2lsbCBvbmx5IGJlCisgICAgICAgIHN0YXJ0ZWQgaWYg
dGhlIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5vdCBuZWVkZWQuIE9ubHkgdGhlIFdlYkNvbnRlbnQg
cHJvY2VzcyB3aWxsIG5lZWQgYSBzYW5kYm94IGV4dGVuc2lvbiwgc2luY2UgdGhpcworICAgICAg
ICBwYXRjaCByZW1vdmVzIG1hY2ggYWNjZXNzIHRvICdjb20uYXBwbGUud2ViaW5zcGVjdG9yJyBm
b3IgdGhpcyBwcm9jZXNzLiBBbHNvIGFkZCBuYW1lIGFuZCBkb21haW4gZm9yIHRoZQorICAgICAg
ICAnRW5hYmxlIFJlbW90ZSBJbnNwZWN0b3InIHNldHRpbmcsIHNpbmNlIHRoaXMgd2lsbCBiZSB1
c2VkIGluIHRoZSBVSSBwcm9jZXNzLgorCisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1v
dGVJbnNwZWN0b3IuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVj
dG9yLmg6CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JDb25zdGFu
dHMuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3RvckNv
Y29hLm1tOgorICAgICAgICAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbik6
CisKIDIwMTktMTAtMjIgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNYWtlIGBKU0dsb2JhbE9iamVjdCpgIHRocmVhZGluZyBjaGFuZ2UgbW9yZSBzdGFiaWxp
emVkIGJ5IGFkZGluZyB0ZXN0cyBhbmQgYXNzZXJ0aW9ucwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3Iu
Y3BwCShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw5
IEBACiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogYm9vbCBSZW1vdGVJbnNwZWN0b3I6OnN0YXJ0
RW5hYmxlZCA9IHRydWU7CisjaWYgUExBVEZPUk0oQ09DT0EpCitzdGQ6OmF0b21pYzxib29sPiBS
ZW1vdGVJbnNwZWN0b3I6Om5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbiA9IGZhbHNlOworI2VuZGlm
CiAKIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjpzdGFydERpc2FibGVkKCkKIHsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUlu
c3BlY3Rvci5oCShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMTA2LDYg
KzEwNiw5IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RBdXRvbWF0aW9u
U2Vzc2lvbihjb25zdCBTdHJpbmcmIHNlc3Npb25JZGVudGlmaWVyLCBjb25zdCBTZXNzaW9uQ2Fw
YWJpbGl0aWVzJikgPSAwOwogICAgIH07CiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBzdGF0
aWMgdm9pZCBzZXROZWVkTWFjaFNhbmRib3hFeHRlbnNpb24oYm9vbCBuZWVkRXh0ZW5zaW9uKSB7
IG5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbiA9IG5lZWRFeHRlbnNpb247IH0KKyNlbmRpZgogICAg
IHN0YXRpYyB2b2lkIHN0YXJ0RGlzYWJsZWQoKTsKICAgICBzdGF0aWMgUmVtb3RlSW5zcGVjdG9y
JiBzaW5nbGV0b24oKTsKICAgICBmcmllbmQgY2xhc3MgTmV2ZXJEZXN0cm95ZWQ8UmVtb3RlSW5z
cGVjdG9yPjsKQEAgLTIyOCw2ICsyMzEsOSBAQCBwcml2YXRlOgogICAgIFN0cmluZyBiYWNrZW5k
Q29tbWFuZHMoKSBjb25zdDsKICNlbmRpZgogICAgIHN0YXRpYyBib29sIHN0YXJ0RW5hYmxlZDsK
KyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBzdGF0aWMgc3RkOjphdG9taWM8Ym9vbD4gbmVlZE1h
Y2hTYW5kYm94RXh0ZW5zaW9uOworI2VuZGlmCiAKICAgICAvLyBUYXJnZXRzIGNhbiBiZSByZWdp
c3RlcmVkIGZyb20gYW55IHRocmVhZCBhdCBhbnkgdGltZS4KICAgICAvLyBBbnkgdGFyZ2V0IGNh
biBzZW5kIG1lc3NhZ2VzIG92ZXIgdGhlIFhQQyBjb25uZWN0aW9uLgpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yQ29uc3RhbnRzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVt
b3RlSW5zcGVjdG9yQ29uc3RhbnRzLmgJKHJldmlzaW9uIDI1MTQ1MykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3RvckNvbnN0YW50cy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xMTgsMyArMTE4LDYgQEAKICNkZWZpbmUgV0lSUHJveHlBcHBsaWNh
dGlvblBhcmVudEF1ZGl0RGF0YUtleSAgIEAiV0lSUHJveHlBcHBsaWNhdGlvblBhcmVudEF1ZGl0
RGF0YSIKICNkZWZpbmUgV0lSUHJveHlBcHBsaWNhdGlvblNldHVwTWVzc2FnZSAgICAgICAgIEAi
V0lSUHJveHlBcHBsaWNhdGlvblNldHVwTWVzc2FnZSIKICNkZWZpbmUgV0lSUHJveHlBcHBsaWNh
dGlvblNldHVwUmVzcG9uc2VNZXNzYWdlIEAiV0lSUHJveHlBcHBsaWNhdGlvblNldHVwUmVzcG9u
c2VNZXNzYWdlIgorCisjZGVmaW5lIFdJUlJlbW90ZUluc3BlY3RvckVuYWJsZWRLZXkgICAgICAg
ICAgICAiUmVtb3RlSW5zcGVjdG9yRW5hYmxlZCIKKyNkZWZpbmUgV0lSUmVtb3RlSW5zcGVjdG9y
RG9tYWluTmFtZSAgICAgICAgICAgICJjb20uYXBwbGUud2ViaW5zcGVjdG9yZCIKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3Rv
ckNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
cmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3RvckNvY29hLm1tCShyZXZpc2lvbiAyNTE0NTMpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9jb2NvYS9SZW1vdGVJbnNw
ZWN0b3JDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtODcsNiArODcsOSBAQCBSZW1vdGVJbnNw
ZWN0b3ImIFJlbW90ZUluc3BlY3Rvcjo6c2luZ2xlCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJv
eWVkPFJlbW90ZUluc3BlY3Rvcj4gc2hhcmVkOwogCisgICAgaWYgKG5lZWRNYWNoU2FuZGJveEV4
dGVuc2lvbikKKyAgICAgICAgcmV0dXJuIHNoYXJlZDsKKyAgICAKICAgICBzdGF0aWMgZGlzcGF0
Y2hfb25jZV90IG9uY2U7CiAgICAgZGlzcGF0Y2hfb25jZSgmb25jZSwgXnsKICAgICAgICAgaWYg
KGNhbkFjY2Vzc1dlYkluc3BlY3Rvck1hY2hQb3J0KCkpIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lv
biAyNTE0NTkpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDM4IEBACisyMDE5LTEwLTIyICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxl
LmNvbT4KKworICAgICAgICBNYWNoIGxvb2t1cCB0byBjb20uYXBwbGUud2ViaW5zcGVjdG9yIHNo
b3VsZCBub3QgYmUgYWxsb3dlZCBpbiBXZWJLaXQncyBXZWJDb250ZW50IHByb2Nlc3MKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzIxNAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIHRoZSBXZWIgaW5z
cGVjdG9yIGlzIGVuYWJsZWQgd2hlbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGlzIHN0YXJ0ZWQs
IGEgc2FuZGJveCBleHRlbnNpb24gaXMgY3JlYXRlZAorICAgICAgICBmb3IgJ2NvbS5hcHBsZS53
ZWJpbnNwZWN0b3InIGFuZCBhIG1lc3NhZ2UgaXMgc2VudCB0byB0aGUgV2ViQ29udGVudCBwcm9j
ZXNzLCB3aGVyZSB0aGUgZXh0ZW5zaW9uIHdpbGwKKyAgICAgICAgYmUgY29uc3VtZWQsIGFuZCB0
aGUgcmVtb3RlIFdlYiBpbnNwZWN0b3Igd2lsbCBiZSBzdGFydGVkLiBUaGUgc2FtZSBoYXBwZW5z
IGlmIFdlYiBpbnNwZWN0b3IgaXMgZW5hYmxlZAorICAgICAgICBieSB0aGUgdXNlciB3aGlsZSBT
YWZhcmkgaXMgcnVubmluZy4gV2hlbiBSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpIGlzIGNh
bGxlZCBpbiB0aGUgVUkgcHJvY2VzcyB0aGVyZQorICAgICAgICBpcyBubyBuZWVkIGZvciBhbiBl
eHRlbnNpb24sIHNpbmNlIGFjY2VzcyB0byB0aGUgV2ViIGluc3BlY3RvciBkYWVtb24gaXMgYWxy
ZWFkeSBhbGxvd2VkLgorCisgICAgICAgICogUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3Mv
Y29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnNiOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2Nv
YS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9v
bDo6YmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2VDYWxsYmFjayk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3NQb29sOjpyZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVkQ2FsbGJhY2spOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6dW5yZWdpc3Rlck5vdGlmaWNhdGlv
bk9ic2VydmVycyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNv
Y29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OmVuYWJsZVJlbW90ZUlu
c3BlY3RvcklmTmVlZGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlByb2Nl
c3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
UHJveHk6OmRpZEZpbmlzaExhdW5jaGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
bWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2Eu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmVuYWJsZVJlbW90ZVdlYkluc3BlY3Rv
cik6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbjoKKwog
MjAxOS0xMC0yMiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJlLWVuYWJsZSBsZWdhY3kgVExTIGJ5IGRlZmF1bHQsIGtlZXAgcnVudGltZSBz
d2l0Y2gKSW5kZXg6IFNvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3Mv
Y29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnNiCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5XZWJDb250
ZW50LnNiCShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5k
Ym94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYgkod29ya2luZyBj
b3B5KQpAQCAtMzQyLDEwICszNDIsNiBAQAogKG1vYmlsZS1wcmVmZXJlbmNlcy1yZWFkICJjb20u
YXBwbGUubWVkaWFhY2Nlc3NpYmlsaXR5IikKIChtb2JpbGUtcHJlZmVyZW5jZXMtcmVhZC13cml0
ZSAiY29tLmFwcGxlLm1lZGlhYWNjZXNzaWJpbGl0eS5wdWJsaWMiKQogCi07OyBSZW1vdGUgV2Vi
IEluc3BlY3RvcgotKGFsbG93IG1hY2gtbG9va3VwCi0gICAgICAgKGdsb2JhbC1uYW1lICJjb20u
YXBwbGUud2ViaW5zcGVjdG9yIikpCi0KIDs7IFZhcmlvdXMgc2VydmljZXMgcmVxdWlyZWQgYnkg
Q0ZOZXR3b3JrIGFuZCBvdGhlciBmcmFtZXdvcmtzCiAoYWxsb3cgbWFjaC1sb29rdXAKICAgICAo
Z2xvYmFsLW5hbWUgImNvbS5hcHBsZS5Qb3dlck1hbmFnZW1lbnQuY29udHJvbCIpCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCShyZXZpc2lvbiAyNTE0
NTMpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEwMzQsNyArMTAzNCw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmluaXRp
YWxpemVOZXdXZWJQcm8KIAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQogICAgIC8vIElu
aXRpYWxpemUgcmVtb3RlIGluc3BlY3RvciBjb25uZWN0aW9uIG5vdyB0aGF0IHdlIGhhdmUgYSBz
dWItcHJvY2VzcyB0aGF0IGlzIGhvc3Rpbmcgb25lIG9mIG91ciB3ZWIgdmlld3MuCi0gICAgSW5z
cGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpOyAKKyAgICBJbnNwZWN0b3I6OlJl
bW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkocmV2aXNpb24g
MjUxNDUzKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkod29y
a2luZyBjb3B5KQpAQCAtNTk1LDYgKzU5NSw5IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGZsb2F0
IGRpc3BsYXlCcmlnaHRuZXNzKCk7CiAgICAgc3RhdGljIHZvaWQgYmFja2xpZ2h0TGV2ZWxEaWRD
aGFuZ2VDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwgdm9pZCAqb2JzZXJ2ZXIsIENG
U3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZvaWQgKiwgQ0ZEaWN0aW9uYXJ5UmVmIHVzZXJJbmZvKTsg
ICAgCiAjZW5kaWYKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikgJiYgUExBVEZPUk0oQ09D
T0EpCisgICAgc3RhdGljIHZvaWQgcmVtb3RlV2ViSW5zcGVjdG9yRW5hYmxlZENhbGxiYWNrKENG
Tm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lkICpvYnNlcnZlciwgQ0ZTdHJpbmdSZWYgbmFtZSwg
Y29uc3Qgdm9pZCAqLCBDRkRpY3Rpb25hcnlSZWYgdXNlckluZm8pOworI2VuZGlmCiAKICAgICBS
ZWY8QVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24+IG1fY29uZmlndXJhdGlvbjsKIApJbmRl
eDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCShyZXZpc2lv
biAyNTE0NTMpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC04NjYsNiArODY2LDEwIEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5
OjpkaWRGaW5pc2hMYXVuY2hpbmcKIAogICAgIHVuYmxvY2tBY2Nlc3NpYmlsaXR5U2VydmVySWZO
ZWVkZWQoKTsKICNlbmRpZgorCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpICYmIFBMQVRG
T1JNKENPQ09BKQorICAgIGVuYWJsZVJlbW90ZUluc3BlY3RvcklmTmVlZGVkKCk7CisjZW5kaWYK
IH0KIAogV2ViRnJhbWVQcm94eSogV2ViUHJvY2Vzc1Byb3h5Ojp3ZWJGcmFtZShGcmFtZUlkZW50
aWZpZXIgZnJhbWVJRCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5oCShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMzI3LDYgKzMyNywxMCBAQCBw
dWJsaWM6CiAgICAgdm9pZCB1bmJsb2NrQWNjZXNzaWJpbGl0eVNlcnZlcklmTmVlZGVkKCk7CiAj
ZW5kaWYKIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKSAmJiBQTEFURk9STShDT0NPQSkK
KyAgICB2b2lkIGVuYWJsZVJlbW90ZUluc3BlY3RvcklmTmVlZGVkKCk7CisjZW5kaWYKKyAgICAK
ICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHZvaWQgcHJvY2Vzc1dhc1Jlc3VtZWQoKTsK
ICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bv
b2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC02MCw2ICs2MCwxMSBAQAogI2ltcG9ydCA8d3RmL2NvY29hL0VudGl0bGVtZW50cy5oPgogI2lt
cG9ydCA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgogCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQ
RUNUT1IpCisjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9SZW1vdGVJbnNwZWN0b3IuaD4KKyNpbXBv
cnQgPEphdmFTY3JpcHRDb3JlL1JlbW90ZUluc3BlY3RvckNvbnN0YW50cy5oPgorI2VuZGlmCisK
ICNpZiBQTEFURk9STShNQUMpCiAjaW1wb3J0IDxRdWFydHpDb3JlL0NBUmVtb3RlTGF5ZXJTZXJ2
ZXIuaD4KICNlbHNlCkBAIC00MDEsMTEgKzQwNiwyMiBAQCBmbG9hdCBXZWJQcm9jZXNzUG9vbDo6
ZGlzcGxheUJyaWdodG5lc3MoCiAgICAgCiB2b2lkIFdlYlByb2Nlc3NQb29sOjpiYWNrbGlnaHRM
ZXZlbERpZENoYW5nZUNhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmIGNlbnRlciwgdm9p
ZCAqb2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZvaWQgKm9iamVjdCwgQ0ZEaWN0
aW9uYXJ5UmVmIHVzZXJJbmZvKQogewotICAgIFdlYlByb2Nlc3NQb29sKiBwb29sID0gcmVpbnRl
cnByZXRfY2FzdDxXZWJQcm9jZXNzUG9vbCo+KG9ic2VydmVyKTsKKyAgICBhdXRvKiBwb29sID0g
cmVpbnRlcnByZXRfY2FzdDxXZWJQcm9jZXNzUG9vbCo+KG9ic2VydmVyKTsKICAgICBwb29sLT5z
ZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkJhY2tsaWdodExldmVsRGlk
Q2hhbmdlKEJLU0Rpc3BsYXlCcmlnaHRuZXNzR2V0Q3VycmVudCgpKSk7CiB9CiAjZW5kaWYKIAor
I2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQordm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVtb3Rl
V2ViSW5zcGVjdG9yRW5hYmxlZENhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lk
ICpvYnNlcnZlciwgQ0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qgdm9pZCAqLCBDRkRpY3Rpb25hcnlS
ZWYgdXNlckluZm8pCit7CisgICAgYXV0byogcG9vbCA9IHJlaW50ZXJwcmV0X2Nhc3Q8V2ViUHJv
Y2Vzc1Bvb2wqPihvYnNlcnZlcik7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwb29sLT5t
X3Byb2Nlc3Nlcy5zaXplKCk7ICsraSkgeworICAgICAgICBhdXRvIHByb2Nlc3MgPSBwb29sLT5t
X3Byb2Nlc3Nlc1tpXTsKKyAgICAgICAgcHJvY2Vzcy0+ZW5hYmxlUmVtb3RlSW5zcGVjdG9ySWZO
ZWVkZWQoKTsKKyAgICB9Cit9CisjZW5kaWYKKwogdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVnaXN0
ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMoKQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQpA
QCAtNDU5LDYgKzQ3NSw5IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnJlZ2lzdGVyTm90aWZpY2F0
aW8KICAgICAgICAgICAgIG1fcHJvY2Vzc2VzW2ldLT51bmJsb2NrQWNjZXNzaWJpbGl0eVNlcnZl
cklmTmVlZGVkKCk7CiAgICAgfV07CiAjZW5kaWYgLy8gIVBMQVRGT1JNKElPU19GQU1JTFkpCisj
aWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisgICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJBZGRP
YnNlcnZlcihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERhcndpbk5vdGlmeUNlbnRlcigpLCB0aGlz
LCByZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVkQ2FsbGJhY2ssIHN0YXRpY19jYXN0PENGU3RyaW5n
UmVmPihDRlNUUihXSVJTZXJ2aWNlRW5hYmxlZE5vdGlmaWNhdGlvbikpLCBudWxscHRyLCBDRk5v
dGlmaWNhdGlvblN1c3BlbnNpb25CZWhhdmlvckNvYWxlc2NlKTsKKyNlbmRpZgogfQogCiB2b2lk
IFdlYlByb2Nlc3NQb29sOjp1bnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKCkKQEAgLTQ3
Niw5ICs0OTUsMTIgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6dW5yZWdpc3Rlck5vdGlmaWNhdAog
ICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6
bV9hY3RpdmF0aW9uT2JzZXJ2ZXIuZ2V0KCldOwogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIg
ZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9kZWFjdGl2YXRpb25PYnNlcnZlci5nZXQo
KV07CiAjZWxpZiBQTEFURk9STShJT1MpCi0gICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJSZW1vdmVP
YnNlcnZlcihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERhcndpbk5vdGlmeUNlbnRlcigpLCB0aGlz
LCBzdGF0aWNfY2FzdDxDRlN0cmluZ1JlZj4oVUlCYWNrbGlnaHRMZXZlbENoYW5nZWROb3RpZmlj
YXRpb24pICwgbnVsbHB0cik7CisgICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJSZW1vdmVPYnNlcnZl
cihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERhcndpbk5vdGlmeUNlbnRlcigpLCB0aGlzLCBzdGF0
aWNfY2FzdDxDRlN0cmluZ1JlZj4oVUlCYWNrbGlnaHRMZXZlbENoYW5nZWROb3RpZmljYXRpb24p
LCBudWxscHRyKTsKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJl
bW92ZU9ic2VydmVyOm1fYWNjZXNzaWJpbGl0eUVuYWJsZWRPYnNlcnZlci5nZXQoKV07CiAjZW5k
aWYgLy8gIVBMQVRGT1JNKElPU19GQU1JTFkpCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1Ip
CisgICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJSZW1vdmVPYnNlcnZlcihDRk5vdGlmaWNhdGlvbkNl
bnRlckdldERhcndpbk5vdGlmeUNlbnRlcigpLCB0aGlzLCBzdGF0aWNfY2FzdDxDRlN0cmluZ1Jl
Zj4oQ0ZTVFIoV0lSU2VydmljZUVuYWJsZWROb3RpZmljYXRpb24pKSwgbnVsbHB0cik7CisjZW5k
aWYKIH0KIAogc3RhdGljIENGVVJMU3RvcmFnZVNlc3Npb25SZWYgcHJpdmF0ZUJyb3dzaW5nU2Vz
c2lvbigpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJv
eHlDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQcm9jZXNzUHJveHlDb2NvYS5tbQkocmV2aXNpb24gMjUxNDUzKQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0JKHdvcmtpbmcgY29weSkK
QEAgLTIxMiw0ICsyMTIsMTYgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnByb2Nlc3NXYXNSZXN1
bWVkKAogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKK3ZvaWQgV2Vi
UHJvY2Vzc1Byb3h5OjplbmFibGVSZW1vdGVJbnNwZWN0b3JJZk5lZWRlZCgpCit7CisgICAgQm9v
bGVhbiBrZXlFeGlzdHNBbmRIYXNWYWxpZEZvcm1hdCA9IGZhbHNlOworICAgIGlmICghQ0ZQcmVm
ZXJlbmNlc0dldEFwcEludGVnZXJWYWx1ZShDRlNUUihXSVJSZW1vdGVJbnNwZWN0b3JFbmFibGVk
S2V5KSwgQ0ZTVFIoV0lSUmVtb3RlSW5zcGVjdG9yRG9tYWluTmFtZSksICZrZXlFeGlzdHNBbmRI
YXNWYWxpZEZvcm1hdCkgJiYga2V5RXhpc3RzQW5kSGFzVmFsaWRGb3JtYXQpCisgICAgICAgIHJl
dHVybjsKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgaGFuZGxlOworICAgIGF1dG8gYXVk
aXRUb2tlbiA9IGNvbm5lY3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigpOworICAgIGlmIChhdWRpdFRv
a2VuICYmIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvck1hY2hMb29rdXBCeUF1ZGl0
VG9rZW4oImNvbS5hcHBsZS53ZWJpbnNwZWN0b3IiLCAqYXVkaXRUb2tlbiwgaGFuZGxlKSkKKyAg
ICAgICAgc2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6RW5hYmxlUmVtb3RlV2ViSW5zcGVjdG9y
KGhhbmRsZSksIDApOworfQorI2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuY3BwCShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwNyw2ICs0MDcsNyBAQCB2
b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKFdlCiAjZW5kaWYKIAogI2lmIEVO
QUJMRShSRU1PVEVfSU5TUEVDVE9SKSAmJiBQTEFURk9STShDT0NPQSkKKyAgICBJbnNwZWN0b3I6
OlJlbW90ZUluc3BlY3Rvcjo6c2V0TmVlZE1hY2hTYW5kYm94RXh0ZW5zaW9uKHRydWUpOwogICAg
IGlmIChPcHRpb25hbDxhdWRpdF90b2tlbl90PiBhdWRpdFRva2VuID0gcGFyZW50UHJvY2Vzc0Nv
bm5lY3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigpKSB7CiAgICAgICAgIFJldGFpblB0cjxDRkRhdGFS
ZWY+IGF1ZGl0RGF0YSA9IGFkb3B0Q0YoQ0ZEYXRhQ3JlYXRlKG51bGxwdHIsIChjb25zdCBVSW50
OCopJiphdWRpdFRva2VuLCBzaXplb2YoKmF1ZGl0VG9rZW4pKSk7CiAgICAgICAgIEluc3BlY3Rv
cjo6UmVtb3RlSW5zcGVjdG9yOjpzaW5nbGV0b24oKS5zZXRQYXJlbnRQcm9jZXNzSW5mb3JtYXRp
b24oV2ViQ29yZTo6cHJlc2VudGluZ0FwcGxpY2F0aW9uUElEKCksIGF1ZGl0RGF0YSk7CkluZGV4
OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHJldmlzaW9uIDI1MTQ1MykKKysr
IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTQ1Myw2ICs0NTMsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIGJhY2tsaWdodExldmVsRGlkQ2hh
bmdlKGZsb2F0IGJhY2tsaWdodExldmVsKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKFJFTU9URV9J
TlNQRUNUT1IpICYmIFBMQVRGT1JNKENPQ09BKQorICAgIHZvaWQgZW5hYmxlUmVtb3RlV2ViSW5z
cGVjdG9yKGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYpOworI2VuZGlmCisKICNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQogICAgIHZvaWQgcHJvY2Vzc1Rhc2tTdGF0ZURpZENoYW5nZShQ
cm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlRhc2tTdGF0ZSkgZmluYWw7CiAgICAgdm9pZCBwYXJl
bnRQcm9jZXNzRGlkSGFuZGxlUHJvY2Vzc1dhc1Jlc3VtZWQoKTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCShyZXZpc2lvbiAyNTE0
NTMpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgko
d29ya2luZyBjb3B5KQpAQCAtMTMxLDYgKzEzMSwxMCBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNz
IExlZ2FjeVJlY2VpdmVyIHsKICAgICBCYWNrbGlnaHRMZXZlbERpZENoYW5nZShmbG9hdCBiYWNr
bGlnaHRMZXZlbCkKICNlbmRpZgogCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpICYmIFBM
QVRGT1JNKENPQ09BKQorICAgIEVuYWJsZVJlbW90ZVdlYkluc3BlY3RvcihXZWJLaXQ6OlNhbmRi
b3hFeHRlbnNpb246OkhhbmRsZSBoYW5kbGUpOworI2VuZGlmCisKICAgICBJc0pJVEVuYWJsZWQo
KSAtPiAoYm9vbCBlbmFibGVkKSBBc3luYwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW4KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNi
LmluCShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29tLmFw
cGxlLldlYlByb2Nlc3Muc2IuaW4JKHdvcmtpbmcgY29weSkKQEAgLTU4MywxMCArNTgzLDYgQEAK
IChhbGxvdyBpcGMtcG9zaXgtc2htLXJlYWQqIGlwYy1wb3NpeC1zaG0td3JpdGUtZGF0YQogICAg
IChpcGMtcG9zaXgtbmFtZS1yZWdleCAjIl5BdWRpb0lPIikpCiAKLTs7IFJlbW90ZSBXZWIgSW5z
cGVjdG9yCi0oYWxsb3cgbWFjaC1sb29rdXAKLSAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBs
ZS53ZWJpbnNwZWN0b3IiKSkKLQogOzsgVmFyaW91cyBzZXJ2aWNlcyByZXF1aXJlZCBieSBBcHBL
aXQgYW5kIG90aGVyIGZyYW1ld29ya3MKIChhbGxvdyBtYWNoLWxvb2t1cAogI2lmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE0MDAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQkocmV2aXNpb24gMjUxNDUz
KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQko
d29ya2luZyBjb3B5KQpAQCAtNzksNiArNzksMTAgQEAKICNpbXBvcnQgPHd0Zi9GaWxlU3lzdGVt
Lmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvTlNVUkxFeHRyYXMuaD4KIAorI2lmIEVOQUJMRShSRU1P
VEVfSU5TUEVDVE9SKQorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1JlbW90ZUluc3BlY3Rvci5o
PgorI2VuZGlmCisKICNpZiBQTEFURk9STShJT1MpCiAjaW1wb3J0ICJVSUtpdFNQSS5oIgogI2Vu
ZGlmCkBAIC04MzksNiArODQzLDE1IEBAIHZvaWQgV2ViUHJvY2Vzczo6YmFja2xpZ2h0TGV2ZWxE
aWRDaGFuZ2UKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCit2b2lk
IFdlYlByb2Nlc3M6OmVuYWJsZVJlbW90ZVdlYkluc3BlY3Rvcihjb25zdCBTYW5kYm94RXh0ZW5z
aW9uOjpIYW5kbGUmIGhhbmRsZSkKK3sKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVy
bWFuZW50bHkoaGFuZGxlKTsKKyAgICBJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3Rvcjo6c2V0TmVl
ZE1hY2hTYW5kYm94RXh0ZW5zaW9uKGZhbHNlKTsKKyAgICBJbnNwZWN0b3I6OlJlbW90ZUluc3Bl
Y3Rvcjo6c2luZ2xldG9uKCk7Cit9CisjZW5kaWYKKwogdm9pZCBXZWJQcm9jZXNzOjpzZXRNZWRp
YU1JTUVUeXBlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiB0eXBlcykKIHsKICAgICBBVkFzc2V0TUlN
RVR5cGVDYWNoZTo6c2luZ2xldG9uKCkuc2V0U3VwcG9ydGVkVHlwZXModHlwZXMpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381699</attachid>
            <date>2019-10-23 11:12:25 -0700</date>
            <delta_ts>2019-10-23 11:20:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203214-20191023111224.patch</filename>
            <type>text/plain</type>
            <size>17208</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjUxNDc5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBA
CisyMDE5LTEwLTIzICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAg
ICAgICBNYWNoIGxvb2t1cCB0byBjb20uYXBwbGUud2ViaW5zcGVjdG9yIHNob3VsZCBub3QgYmUg
YWxsb3dlZCBpbiBXZWJLaXQncyBXZWJDb250ZW50IHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzIxNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdGF0aWMgZmxhZyBpbiBSZW1vdGVJ
bnNwZWN0b3IgdG8gaW5kaWNhdGUgd2hldGhlciBhIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5lZWRl
ZC4gVGhlIHJlbW90ZSBpbnNwZWN0b3Igd2lsbCBvbmx5IGJlCisgICAgICAgIHN0YXJ0ZWQgaWYg
dGhlIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5vdCBuZWVkZWQuIE9ubHkgdGhlIFdlYkNvbnRlbnQg
cHJvY2VzcyB3aWxsIG5lZWQgYSBzYW5kYm94IGV4dGVuc2lvbiwgc2luY2UgdGhpcworICAgICAg
ICBwYXRjaCByZW1vdmVzIG1hY2ggYWNjZXNzIHRvICdjb20uYXBwbGUud2ViaW5zcGVjdG9yJyBm
b3IgdGhpcyBwcm9jZXNzLiBBbHNvIGFkZCBuYW1lIGFuZCBkb21haW4gZm9yIHRoZQorICAgICAg
ICAnRW5hYmxlIFJlbW90ZSBJbnNwZWN0b3InIHNldHRpbmcsIHNpbmNlIHRoaXMgd2lsbCBiZSB1
c2VkIGluIHRoZSBVSSBwcm9jZXNzLgorCisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1v
dGVJbnNwZWN0b3IuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVj
dG9yLmg6CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JDb25zdGFu
dHMuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3RvckNv
Y29hLm1tOgorICAgICAgICAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbik6
CisKIDIwMTktMTAtMjIgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNYWtlIGBKU0dsb2JhbE9iamVjdCpgIHRocmVhZGluZyBjaGFuZ2UgbW9yZSBzdGFiaWxp
emVkIGJ5IGFkZGluZyB0ZXN0cyBhbmQgYXNzZXJ0aW9ucwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3Iu
Y3BwCShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw5
IEBACiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogYm9vbCBSZW1vdGVJbnNwZWN0b3I6OnN0YXJ0
RW5hYmxlZCA9IHRydWU7CisjaWYgUExBVEZPUk0oQ09DT0EpCitzdGQ6OmF0b21pYzxib29sPiBS
ZW1vdGVJbnNwZWN0b3I6Om5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbiA9IGZhbHNlOworI2VuZGlm
CiAKIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjpzdGFydERpc2FibGVkKCkKIHsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUlu
c3BlY3Rvci5oCShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMTA2LDYg
KzEwNiw5IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RBdXRvbWF0aW9u
U2Vzc2lvbihjb25zdCBTdHJpbmcmIHNlc3Npb25JZGVudGlmaWVyLCBjb25zdCBTZXNzaW9uQ2Fw
YWJpbGl0aWVzJikgPSAwOwogICAgIH07CiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBzdGF0
aWMgdm9pZCBzZXROZWVkTWFjaFNhbmRib3hFeHRlbnNpb24oYm9vbCBuZWVkRXh0ZW5zaW9uKSB7
IG5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbiA9IG5lZWRFeHRlbnNpb247IH0KKyNlbmRpZgogICAg
IHN0YXRpYyB2b2lkIHN0YXJ0RGlzYWJsZWQoKTsKICAgICBzdGF0aWMgUmVtb3RlSW5zcGVjdG9y
JiBzaW5nbGV0b24oKTsKICAgICBmcmllbmQgY2xhc3MgTmV2ZXJEZXN0cm95ZWQ8UmVtb3RlSW5z
cGVjdG9yPjsKQEAgLTIyOCw2ICsyMzEsOSBAQCBwcml2YXRlOgogICAgIFN0cmluZyBiYWNrZW5k
Q29tbWFuZHMoKSBjb25zdDsKICNlbmRpZgogICAgIHN0YXRpYyBib29sIHN0YXJ0RW5hYmxlZDsK
KyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBzdGF0aWMgc3RkOjphdG9taWM8Ym9vbD4gbmVlZE1h
Y2hTYW5kYm94RXh0ZW5zaW9uOworI2VuZGlmCiAKICAgICAvLyBUYXJnZXRzIGNhbiBiZSByZWdp
c3RlcmVkIGZyb20gYW55IHRocmVhZCBhdCBhbnkgdGltZS4KICAgICAvLyBBbnkgdGFyZ2V0IGNh
biBzZW5kIG1lc3NhZ2VzIG92ZXIgdGhlIFhQQyBjb25uZWN0aW9uLgpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yQ29uc3RhbnRzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVt
b3RlSW5zcGVjdG9yQ29uc3RhbnRzLmgJKHJldmlzaW9uIDI1MTQ1MykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3RvckNvbnN0YW50cy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xMTgsMyArMTE4LDYgQEAKICNkZWZpbmUgV0lSUHJveHlBcHBsaWNh
dGlvblBhcmVudEF1ZGl0RGF0YUtleSAgIEAiV0lSUHJveHlBcHBsaWNhdGlvblBhcmVudEF1ZGl0
RGF0YSIKICNkZWZpbmUgV0lSUHJveHlBcHBsaWNhdGlvblNldHVwTWVzc2FnZSAgICAgICAgIEAi
V0lSUHJveHlBcHBsaWNhdGlvblNldHVwTWVzc2FnZSIKICNkZWZpbmUgV0lSUHJveHlBcHBsaWNh
dGlvblNldHVwUmVzcG9uc2VNZXNzYWdlIEAiV0lSUHJveHlBcHBsaWNhdGlvblNldHVwUmVzcG9u
c2VNZXNzYWdlIgorCisjZGVmaW5lIFdJUlJlbW90ZUluc3BlY3RvckVuYWJsZWRLZXkgICAgICAg
ICAgICAiUmVtb3RlSW5zcGVjdG9yRW5hYmxlZCIKKyNkZWZpbmUgV0lSUmVtb3RlSW5zcGVjdG9y
RG9tYWluTmFtZSAgICAgICAgICAgICJjb20uYXBwbGUud2ViaW5zcGVjdG9yZCIKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3Rv
ckNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
cmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3RvckNvY29hLm1tCShyZXZpc2lvbiAyNTE0NTMpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9jb2NvYS9SZW1vdGVJbnNw
ZWN0b3JDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtODcsNiArODcsOSBAQCBSZW1vdGVJbnNw
ZWN0b3ImIFJlbW90ZUluc3BlY3Rvcjo6c2luZ2xlCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJv
eWVkPFJlbW90ZUluc3BlY3Rvcj4gc2hhcmVkOwogCisgICAgaWYgKG5lZWRNYWNoU2FuZGJveEV4
dGVuc2lvbikKKyAgICAgICAgcmV0dXJuIHNoYXJlZDsKKyAgICAKICAgICBzdGF0aWMgZGlzcGF0
Y2hfb25jZV90IG9uY2U7CiAgICAgZGlzcGF0Y2hfb25jZSgmb25jZSwgXnsKICAgICAgICAgaWYg
KGNhbkFjY2Vzc1dlYkluc3BlY3Rvck1hY2hQb3J0KCkpIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lv
biAyNTE0NTkpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDM4IEBACisyMDE5LTEwLTIyICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxl
LmNvbT4KKworICAgICAgICBNYWNoIGxvb2t1cCB0byBjb20uYXBwbGUud2ViaW5zcGVjdG9yIHNo
b3VsZCBub3QgYmUgYWxsb3dlZCBpbiBXZWJLaXQncyBXZWJDb250ZW50IHByb2Nlc3MKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzIxNAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIHRoZSBXZWIgaW5z
cGVjdG9yIGlzIGVuYWJsZWQgd2hlbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGlzIHN0YXJ0ZWQs
IGEgc2FuZGJveCBleHRlbnNpb24gaXMgY3JlYXRlZAorICAgICAgICBmb3IgJ2NvbS5hcHBsZS53
ZWJpbnNwZWN0b3InIGFuZCBhIG1lc3NhZ2UgaXMgc2VudCB0byB0aGUgV2ViQ29udGVudCBwcm9j
ZXNzLCB3aGVyZSB0aGUgZXh0ZW5zaW9uIHdpbGwKKyAgICAgICAgYmUgY29uc3VtZWQsIGFuZCB0
aGUgcmVtb3RlIFdlYiBpbnNwZWN0b3Igd2lsbCBiZSBzdGFydGVkLiBUaGUgc2FtZSBoYXBwZW5z
IGlmIFdlYiBpbnNwZWN0b3IgaXMgZW5hYmxlZAorICAgICAgICBieSB0aGUgdXNlciB3aGlsZSBT
YWZhcmkgaXMgcnVubmluZy4gV2hlbiBSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpIGlzIGNh
bGxlZCBpbiB0aGUgVUkgcHJvY2VzcyB0aGVyZQorICAgICAgICBpcyBubyBuZWVkIGZvciBhbiBl
eHRlbnNpb24sIHNpbmNlIGFjY2VzcyB0byB0aGUgV2ViIGluc3BlY3RvciBkYWVtb24gaXMgYWxy
ZWFkeSBhbGxvd2VkLgorCisgICAgICAgICogUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3Mv
Y29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnNiOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2Nv
YS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9v
bDo6YmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2VDYWxsYmFjayk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3NQb29sOjpyZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVkQ2FsbGJhY2spOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6dW5yZWdpc3Rlck5vdGlmaWNhdGlv
bk9ic2VydmVycyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNv
Y29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OmVuYWJsZVJlbW90ZUlu
c3BlY3RvcklmTmVlZGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlByb2Nl
c3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
UHJveHk6OmRpZEZpbmlzaExhdW5jaGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
bWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2Eu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmVuYWJsZVJlbW90ZVdlYkluc3BlY3Rv
cik6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbjoKKwog
MjAxOS0xMC0yMiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJlLWVuYWJsZSBsZWdhY3kgVExTIGJ5IGRlZmF1bHQsIGtlZXAgcnVudGltZSBz
d2l0Y2gKSW5kZXg6IFNvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3Mv
Y29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnNiCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5XZWJDb250
ZW50LnNiCShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5k
Ym94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYgkod29ya2luZyBj
b3B5KQpAQCAtMzQyLDEwICszNDIsNiBAQAogKG1vYmlsZS1wcmVmZXJlbmNlcy1yZWFkICJjb20u
YXBwbGUubWVkaWFhY2Nlc3NpYmlsaXR5IikKIChtb2JpbGUtcHJlZmVyZW5jZXMtcmVhZC13cml0
ZSAiY29tLmFwcGxlLm1lZGlhYWNjZXNzaWJpbGl0eS5wdWJsaWMiKQogCi07OyBSZW1vdGUgV2Vi
IEluc3BlY3RvcgotKGFsbG93IG1hY2gtbG9va3VwCi0gICAgICAgKGdsb2JhbC1uYW1lICJjb20u
YXBwbGUud2ViaW5zcGVjdG9yIikpCi0KIDs7IFZhcmlvdXMgc2VydmljZXMgcmVxdWlyZWQgYnkg
Q0ZOZXR3b3JrIGFuZCBvdGhlciBmcmFtZXdvcmtzCiAoYWxsb3cgbWFjaC1sb29rdXAKICAgICAo
Z2xvYmFsLW5hbWUgImNvbS5hcHBsZS5Qb3dlck1hbmFnZW1lbnQuY29udHJvbCIpCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCShyZXZpc2lvbiAyNTE0
NTMpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEwMzQsNyArMTAzNCw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmluaXRp
YWxpemVOZXdXZWJQcm8KIAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQogICAgIC8vIElu
aXRpYWxpemUgcmVtb3RlIGluc3BlY3RvciBjb25uZWN0aW9uIG5vdyB0aGF0IHdlIGhhdmUgYSBz
dWItcHJvY2VzcyB0aGF0IGlzIGhvc3Rpbmcgb25lIG9mIG91ciB3ZWIgdmlld3MuCi0gICAgSW5z
cGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpOyAKKyAgICBJbnNwZWN0b3I6OlJl
bW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkocmV2aXNpb24g
MjUxNDUzKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkod29y
a2luZyBjb3B5KQpAQCAtNTk1LDYgKzU5NSw5IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGZsb2F0
IGRpc3BsYXlCcmlnaHRuZXNzKCk7CiAgICAgc3RhdGljIHZvaWQgYmFja2xpZ2h0TGV2ZWxEaWRD
aGFuZ2VDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwgdm9pZCAqb2JzZXJ2ZXIsIENG
U3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZvaWQgKiwgQ0ZEaWN0aW9uYXJ5UmVmIHVzZXJJbmZvKTsg
ICAgCiAjZW5kaWYKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikgJiYgUExBVEZPUk0oQ09D
T0EpCisgICAgc3RhdGljIHZvaWQgcmVtb3RlV2ViSW5zcGVjdG9yRW5hYmxlZENhbGxiYWNrKENG
Tm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lkICpvYnNlcnZlciwgQ0ZTdHJpbmdSZWYgbmFtZSwg
Y29uc3Qgdm9pZCAqLCBDRkRpY3Rpb25hcnlSZWYgdXNlckluZm8pOworI2VuZGlmCiAKICAgICBS
ZWY8QVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24+IG1fY29uZmlndXJhdGlvbjsKIApJbmRl
eDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCShyZXZpc2lv
biAyNTE0NTMpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC04NjYsNiArODY2LDEwIEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5
OjpkaWRGaW5pc2hMYXVuY2hpbmcKIAogICAgIHVuYmxvY2tBY2Nlc3NpYmlsaXR5U2VydmVySWZO
ZWVkZWQoKTsKICNlbmRpZgorCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpICYmIFBMQVRG
T1JNKENPQ09BKQorICAgIGVuYWJsZVJlbW90ZUluc3BlY3RvcklmTmVlZGVkKCk7CisjZW5kaWYK
IH0KIAogV2ViRnJhbWVQcm94eSogV2ViUHJvY2Vzc1Byb3h5Ojp3ZWJGcmFtZShGcmFtZUlkZW50
aWZpZXIgZnJhbWVJRCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5oCShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMzI3LDYgKzMyNywxMCBAQCBw
dWJsaWM6CiAgICAgdm9pZCB1bmJsb2NrQWNjZXNzaWJpbGl0eVNlcnZlcklmTmVlZGVkKCk7CiAj
ZW5kaWYKIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKSAmJiBQTEFURk9STShDT0NPQSkK
KyAgICB2b2lkIGVuYWJsZVJlbW90ZUluc3BlY3RvcklmTmVlZGVkKCk7CisjZW5kaWYKKyAgICAK
ICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHZvaWQgcHJvY2Vzc1dhc1Jlc3VtZWQoKTsK
ICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bv
b2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC02MCw2ICs2MCwxMSBAQAogI2ltcG9ydCA8d3RmL2NvY29hL0VudGl0bGVtZW50cy5oPgogI2lt
cG9ydCA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgogCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQ
RUNUT1IpCisjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9SZW1vdGVJbnNwZWN0b3IuaD4KKyNpbXBv
cnQgPEphdmFTY3JpcHRDb3JlL1JlbW90ZUluc3BlY3RvckNvbnN0YW50cy5oPgorI2VuZGlmCisK
ICNpZiBQTEFURk9STShNQUMpCiAjaW1wb3J0IDxRdWFydHpDb3JlL0NBUmVtb3RlTGF5ZXJTZXJ2
ZXIuaD4KICNlbHNlCkBAIC00MDEsMTEgKzQwNiwyMiBAQCBmbG9hdCBXZWJQcm9jZXNzUG9vbDo6
ZGlzcGxheUJyaWdodG5lc3MoCiAgICAgCiB2b2lkIFdlYlByb2Nlc3NQb29sOjpiYWNrbGlnaHRM
ZXZlbERpZENoYW5nZUNhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmIGNlbnRlciwgdm9p
ZCAqb2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZvaWQgKm9iamVjdCwgQ0ZEaWN0
aW9uYXJ5UmVmIHVzZXJJbmZvKQogewotICAgIFdlYlByb2Nlc3NQb29sKiBwb29sID0gcmVpbnRl
cnByZXRfY2FzdDxXZWJQcm9jZXNzUG9vbCo+KG9ic2VydmVyKTsKKyAgICBhdXRvKiBwb29sID0g
cmVpbnRlcnByZXRfY2FzdDxXZWJQcm9jZXNzUG9vbCo+KG9ic2VydmVyKTsKICAgICBwb29sLT5z
ZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkJhY2tsaWdodExldmVsRGlk
Q2hhbmdlKEJLU0Rpc3BsYXlCcmlnaHRuZXNzR2V0Q3VycmVudCgpKSk7CiB9CiAjZW5kaWYKIAor
I2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQordm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVtb3Rl
V2ViSW5zcGVjdG9yRW5hYmxlZENhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lk
ICpvYnNlcnZlciwgQ0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qgdm9pZCAqLCBDRkRpY3Rpb25hcnlS
ZWYgdXNlckluZm8pCit7CisgICAgYXV0byogcG9vbCA9IHJlaW50ZXJwcmV0X2Nhc3Q8V2ViUHJv
Y2Vzc1Bvb2wqPihvYnNlcnZlcik7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwb29sLT5t
X3Byb2Nlc3Nlcy5zaXplKCk7ICsraSkgeworICAgICAgICBhdXRvIHByb2Nlc3MgPSBwb29sLT5t
X3Byb2Nlc3Nlc1tpXTsKKyAgICAgICAgcHJvY2Vzcy0+ZW5hYmxlUmVtb3RlSW5zcGVjdG9ySWZO
ZWVkZWQoKTsKKyAgICB9Cit9CisjZW5kaWYKKwogdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVnaXN0
ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMoKQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQpA
QCAtNDU5LDYgKzQ3NSw5IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnJlZ2lzdGVyTm90aWZpY2F0
aW8KICAgICAgICAgICAgIG1fcHJvY2Vzc2VzW2ldLT51bmJsb2NrQWNjZXNzaWJpbGl0eVNlcnZl
cklmTmVlZGVkKCk7CiAgICAgfV07CiAjZW5kaWYgLy8gIVBMQVRGT1JNKElPU19GQU1JTFkpCisj
aWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisgICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJBZGRP
YnNlcnZlcihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERhcndpbk5vdGlmeUNlbnRlcigpLCB0aGlz
LCByZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVkQ2FsbGJhY2ssIHN0YXRpY19jYXN0PENGU3RyaW5n
UmVmPihDRlNUUihXSVJTZXJ2aWNlRW5hYmxlZE5vdGlmaWNhdGlvbikpLCBudWxscHRyLCBDRk5v
dGlmaWNhdGlvblN1c3BlbnNpb25CZWhhdmlvckNvYWxlc2NlKTsKKyNlbmRpZgogfQogCiB2b2lk
IFdlYlByb2Nlc3NQb29sOjp1bnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKCkKQEAgLTQ3
Niw5ICs0OTUsMTIgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6dW5yZWdpc3Rlck5vdGlmaWNhdAog
ICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6
bV9hY3RpdmF0aW9uT2JzZXJ2ZXIuZ2V0KCldOwogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIg
ZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9kZWFjdGl2YXRpb25PYnNlcnZlci5nZXQo
KV07CiAjZWxpZiBQTEFURk9STShJT1MpCi0gICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJSZW1vdmVP
YnNlcnZlcihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERhcndpbk5vdGlmeUNlbnRlcigpLCB0aGlz
LCBzdGF0aWNfY2FzdDxDRlN0cmluZ1JlZj4oVUlCYWNrbGlnaHRMZXZlbENoYW5nZWROb3RpZmlj
YXRpb24pICwgbnVsbHB0cik7CisgICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJSZW1vdmVPYnNlcnZl
cihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERhcndpbk5vdGlmeUNlbnRlcigpLCB0aGlzLCBzdGF0
aWNfY2FzdDxDRlN0cmluZ1JlZj4oVUlCYWNrbGlnaHRMZXZlbENoYW5nZWROb3RpZmljYXRpb24p
LCBudWxscHRyKTsKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJl
bW92ZU9ic2VydmVyOm1fYWNjZXNzaWJpbGl0eUVuYWJsZWRPYnNlcnZlci5nZXQoKV07CiAjZW5k
aWYgLy8gIVBMQVRGT1JNKElPU19GQU1JTFkpCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1Ip
CisgICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJSZW1vdmVPYnNlcnZlcihDRk5vdGlmaWNhdGlvbkNl
bnRlckdldERhcndpbk5vdGlmeUNlbnRlcigpLCB0aGlzLCBzdGF0aWNfY2FzdDxDRlN0cmluZ1Jl
Zj4oQ0ZTVFIoV0lSU2VydmljZUVuYWJsZWROb3RpZmljYXRpb24pKSwgbnVsbHB0cik7CisjZW5k
aWYKIH0KIAogc3RhdGljIENGVVJMU3RvcmFnZVNlc3Npb25SZWYgcHJpdmF0ZUJyb3dzaW5nU2Vz
c2lvbigpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJv
eHlDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQcm9jZXNzUHJveHlDb2NvYS5tbQkocmV2aXNpb24gMjUxNDUzKQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0JKHdvcmtpbmcgY29weSkK
QEAgLTIxMiw0ICsyMTIsMTYgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnByb2Nlc3NXYXNSZXN1
bWVkKAogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKK3ZvaWQgV2Vi
UHJvY2Vzc1Byb3h5OjplbmFibGVSZW1vdGVJbnNwZWN0b3JJZk5lZWRlZCgpCit7CisgICAgQm9v
bGVhbiBrZXlFeGlzdHNBbmRIYXNWYWxpZEZvcm1hdCA9IGZhbHNlOworICAgIGlmICghQ0ZQcmVm
ZXJlbmNlc0dldEFwcEludGVnZXJWYWx1ZShDRlNUUihXSVJSZW1vdGVJbnNwZWN0b3JFbmFibGVk
S2V5KSwgQ0ZTVFIoV0lSUmVtb3RlSW5zcGVjdG9yRG9tYWluTmFtZSksICZrZXlFeGlzdHNBbmRI
YXNWYWxpZEZvcm1hdCkgfHwgIWtleUV4aXN0c0FuZEhhc1ZhbGlkRm9ybWF0KQorICAgICAgICBy
ZXR1cm47CisgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIGhhbmRsZTsKKyAgICBhdXRvIGF1
ZGl0VG9rZW4gPSBjb25uZWN0aW9uKCktPmdldEF1ZGl0VG9rZW4oKTsKKyAgICBpZiAoYXVkaXRU
b2tlbiAmJiBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JNYWNoTG9va3VwQnlBdWRp
dFRva2VuKCJjb20uYXBwbGUud2ViaW5zcGVjdG9yIiwgKmF1ZGl0VG9rZW4sIGhhbmRsZSkpCisg
ICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkVuYWJsZVJlbW90ZVdlYkluc3BlY3Rv
cihoYW5kbGUpLCAwKTsKK30KKyNlbmRpZgogfQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcAkocmV2aXNpb24gMjUxNDUzKQorKysgU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDcsNiArNDA3LDcgQEAg
dm9pZCBXZWJQcm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2VzcyhXZQogI2VuZGlmCiAKICNpZiBF
TkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikgJiYgUExBVEZPUk0oQ09DT0EpCisgICAgSW5zcGVjdG9y
OjpSZW1vdGVJbnNwZWN0b3I6OnNldE5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbih0cnVlKTsKICAg
ICBpZiAoT3B0aW9uYWw8YXVkaXRfdG9rZW5fdD4gYXVkaXRUb2tlbiA9IHBhcmVudFByb2Nlc3ND
b25uZWN0aW9uKCktPmdldEF1ZGl0VG9rZW4oKSkgewogICAgICAgICBSZXRhaW5QdHI8Q0ZEYXRh
UmVmPiBhdWRpdERhdGEgPSBhZG9wdENGKENGRGF0YUNyZWF0ZShudWxscHRyLCAoY29uc3QgVUlu
dDgqKSYqYXVkaXRUb2tlbiwgc2l6ZW9mKCphdWRpdFRva2VuKSkpOwogICAgICAgICBJbnNwZWN0
b3I6OlJlbW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCkuc2V0UGFyZW50UHJvY2Vzc0luZm9ybWF0
aW9uKFdlYkNvcmU6OnByZXNlbnRpbmdBcHBsaWNhdGlvblBJRCgpLCBhdWRpdERhdGEpOwpJbmRl
eDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCShyZXZpc2lvbiAyNTE0NTMpCisr
KyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBA
IC00NTMsNiArNDUzLDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBiYWNrbGlnaHRMZXZlbERpZENo
YW5nZShmbG9hdCBiYWNrbGlnaHRMZXZlbCk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShSRU1PVEVf
SU5TUEVDVE9SKSAmJiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lkIGVuYWJsZVJlbW90ZVdlYklu
c3BlY3Rvcihjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmKTsKKyNlbmRpZgorCiAjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICB2b2lkIHByb2Nlc3NUYXNrU3RhdGVEaWRDaGFuZ2Uo
UHJvY2Vzc1Rhc2tTdGF0ZU9ic2VydmVyOjpUYXNrU3RhdGUpIGZpbmFsOwogICAgIHZvaWQgcGFy
ZW50UHJvY2Vzc0RpZEhhbmRsZVByb2Nlc3NXYXNSZXN1bWVkKCk7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgkocmV2aXNpb24gMjUx
NDUzKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4J
KHdvcmtpbmcgY29weSkKQEAgLTEzMSw2ICsxMzEsMTAgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2Vz
cyBMZWdhY3lSZWNlaXZlciB7CiAgICAgQmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2UoZmxvYXQgYmFj
a2xpZ2h0TGV2ZWwpCiAjZW5kaWYKIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKSAmJiBQ
TEFURk9STShDT0NPQSkKKyAgICBFbmFibGVSZW1vdGVXZWJJbnNwZWN0b3IoV2ViS2l0OjpTYW5k
Ym94RXh0ZW5zaW9uOjpIYW5kbGUgaGFuZGxlKTsKKyNlbmRpZgorCiAgICAgSXNKSVRFbmFibGVk
KCkgLT4gKGJvb2wgZW5hYmxlZCkgQXN5bmMKIAogI2lmIFBMQVRGT1JNKENPQ09BKQpJbmRleDog
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5z
Yi5pbgkocmV2aXNpb24gMjUxNDUzKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5h
cHBsZS5XZWJQcm9jZXNzLnNiLmluCSh3b3JraW5nIGNvcHkpCkBAIC01ODMsMTAgKzU4Myw2IEBA
CiAoYWxsb3cgaXBjLXBvc2l4LXNobS1yZWFkKiBpcGMtcG9zaXgtc2htLXdyaXRlLWRhdGEKICAg
ICAoaXBjLXBvc2l4LW5hbWUtcmVnZXggIyJeQXVkaW9JTyIpKQogCi07OyBSZW1vdGUgV2ViIElu
c3BlY3RvcgotKGFsbG93IG1hY2gtbG9va3VwCi0gICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBw
bGUud2ViaW5zcGVjdG9yIikpCi0KIDs7IFZhcmlvdXMgc2VydmljZXMgcmVxdWlyZWQgYnkgQXBw
S2l0IGFuZCBvdGhlciBmcmFtZXdvcmtzCiAoYWxsb3cgbWFjaC1sb29rdXAKICNpZiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNDAwCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI1MTQ1
MykKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0J
KHdvcmtpbmcgY29weSkKQEAgLTc5LDYgKzc5LDEwIEBACiAjaW1wb3J0IDx3dGYvRmlsZVN5c3Rl
bS5oPgogI2ltcG9ydCA8d3RmL2NvY29hL05TVVJMRXh0cmFzLmg+CiAKKyNpZiBFTkFCTEUoUkVN
T1RFX0lOU1BFQ1RPUikKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SZW1vdGVJbnNwZWN0b3Iu
aD4KKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oSU9TKQogI2ltcG9ydCAiVUlLaXRTUEkuaCIKICNl
bmRpZgpAQCAtODM5LDYgKzg0MywxNSBAQCB2b2lkIFdlYlByb2Nlc3M6OmJhY2tsaWdodExldmVs
RGlkQ2hhbmdlCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQordm9p
ZCBXZWJQcm9jZXNzOjplbmFibGVSZW1vdGVXZWJJbnNwZWN0b3IoY29uc3QgU2FuZGJveEV4dGVu
c2lvbjo6SGFuZGxlJiBoYW5kbGUpCit7CisgICAgU2FuZGJveEV4dGVuc2lvbjo6Y29uc3VtZVBl
cm1hbmVudGx5KGhhbmRsZSk7CisgICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNldE5l
ZWRNYWNoU2FuZGJveEV4dGVuc2lvbihmYWxzZSk7CisgICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNw
ZWN0b3I6OnNpbmdsZXRvbigpOworfQorI2VuZGlmCisKIHZvaWQgV2ViUHJvY2Vzczo6c2V0TWVk
aWFNSU1FVHlwZXMoY29uc3QgVmVjdG9yPFN0cmluZz4gdHlwZXMpCiB7CiAgICAgQVZBc3NldE1J
TUVUeXBlQ2FjaGU6OnNpbmdsZXRvbigpLnNldFN1cHBvcnRlZFR5cGVzKHR5cGVzKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381703</attachid>
            <date>2019-10-23 11:20:52 -0700</date>
            <delta_ts>2019-10-23 17:11:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203214-20191023112051.patch</filename>
            <type>text/plain</type>
            <size>17108</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjUxNDc5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBA
CisyMDE5LTEwLTIzICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAg
ICAgICBNYWNoIGxvb2t1cCB0byBjb20uYXBwbGUud2ViaW5zcGVjdG9yIHNob3VsZCBub3QgYmUg
YWxsb3dlZCBpbiBXZWJLaXQncyBXZWJDb250ZW50IHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzIxNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdGF0aWMgZmxhZyBpbiBSZW1vdGVJ
bnNwZWN0b3IgdG8gaW5kaWNhdGUgd2hldGhlciBhIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5lZWRl
ZC4gVGhlIHJlbW90ZSBpbnNwZWN0b3Igd2lsbCBvbmx5IGJlCisgICAgICAgIHN0YXJ0ZWQgaWYg
dGhlIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5vdCBuZWVkZWQuIE9ubHkgdGhlIFdlYkNvbnRlbnQg
cHJvY2VzcyB3aWxsIG5lZWQgYSBzYW5kYm94IGV4dGVuc2lvbiwgc2luY2UgdGhpcworICAgICAg
ICBwYXRjaCByZW1vdmVzIG1hY2ggYWNjZXNzIHRvICdjb20uYXBwbGUud2ViaW5zcGVjdG9yJyBm
b3IgdGhpcyBwcm9jZXNzLiBBbHNvIGFkZCBuYW1lIGFuZCBkb21haW4gZm9yIHRoZQorICAgICAg
ICAnRW5hYmxlIFJlbW90ZSBJbnNwZWN0b3InIHNldHRpbmcsIHNpbmNlIHRoaXMgd2lsbCBiZSB1
c2VkIGluIHRoZSBVSSBwcm9jZXNzLgorCisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1v
dGVJbnNwZWN0b3IuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVj
dG9yLmg6CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JDb25zdGFu
dHMuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3RvckNv
Y29hLm1tOgorICAgICAgICAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbik6
CisKIDIwMTktMTAtMjIgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNYWtlIGBKU0dsb2JhbE9iamVjdCpgIHRocmVhZGluZyBjaGFuZ2UgbW9yZSBzdGFiaWxp
emVkIGJ5IGFkZGluZyB0ZXN0cyBhbmQgYXNzZXJ0aW9ucwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3Iu
Y3BwCShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw5
IEBACiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogYm9vbCBSZW1vdGVJbnNwZWN0b3I6OnN0YXJ0
RW5hYmxlZCA9IHRydWU7CisjaWYgUExBVEZPUk0oQ09DT0EpCitzdGQ6OmF0b21pYzxib29sPiBS
ZW1vdGVJbnNwZWN0b3I6Om5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbiA9IGZhbHNlOworI2VuZGlm
CiAKIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjpzdGFydERpc2FibGVkKCkKIHsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUlu
c3BlY3Rvci5oCShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMTA2LDYg
KzEwNiw5IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RBdXRvbWF0aW9u
U2Vzc2lvbihjb25zdCBTdHJpbmcmIHNlc3Npb25JZGVudGlmaWVyLCBjb25zdCBTZXNzaW9uQ2Fw
YWJpbGl0aWVzJikgPSAwOwogICAgIH07CiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBzdGF0
aWMgdm9pZCBzZXROZWVkTWFjaFNhbmRib3hFeHRlbnNpb24oYm9vbCBuZWVkRXh0ZW5zaW9uKSB7
IG5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbiA9IG5lZWRFeHRlbnNpb247IH0KKyNlbmRpZgogICAg
IHN0YXRpYyB2b2lkIHN0YXJ0RGlzYWJsZWQoKTsKICAgICBzdGF0aWMgUmVtb3RlSW5zcGVjdG9y
JiBzaW5nbGV0b24oKTsKICAgICBmcmllbmQgY2xhc3MgTmV2ZXJEZXN0cm95ZWQ8UmVtb3RlSW5z
cGVjdG9yPjsKQEAgLTIyOCw2ICsyMzEsOSBAQCBwcml2YXRlOgogICAgIFN0cmluZyBiYWNrZW5k
Q29tbWFuZHMoKSBjb25zdDsKICNlbmRpZgogICAgIHN0YXRpYyBib29sIHN0YXJ0RW5hYmxlZDsK
KyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBzdGF0aWMgc3RkOjphdG9taWM8Ym9vbD4gbmVlZE1h
Y2hTYW5kYm94RXh0ZW5zaW9uOworI2VuZGlmCiAKICAgICAvLyBUYXJnZXRzIGNhbiBiZSByZWdp
c3RlcmVkIGZyb20gYW55IHRocmVhZCBhdCBhbnkgdGltZS4KICAgICAvLyBBbnkgdGFyZ2V0IGNh
biBzZW5kIG1lc3NhZ2VzIG92ZXIgdGhlIFhQQyBjb25uZWN0aW9uLgpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yQ29uc3RhbnRzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVt
b3RlSW5zcGVjdG9yQ29uc3RhbnRzLmgJKHJldmlzaW9uIDI1MTQ1MykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3RvckNvbnN0YW50cy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xMTgsMyArMTE4LDYgQEAKICNkZWZpbmUgV0lSUHJveHlBcHBsaWNh
dGlvblBhcmVudEF1ZGl0RGF0YUtleSAgIEAiV0lSUHJveHlBcHBsaWNhdGlvblBhcmVudEF1ZGl0
RGF0YSIKICNkZWZpbmUgV0lSUHJveHlBcHBsaWNhdGlvblNldHVwTWVzc2FnZSAgICAgICAgIEAi
V0lSUHJveHlBcHBsaWNhdGlvblNldHVwTWVzc2FnZSIKICNkZWZpbmUgV0lSUHJveHlBcHBsaWNh
dGlvblNldHVwUmVzcG9uc2VNZXNzYWdlIEAiV0lSUHJveHlBcHBsaWNhdGlvblNldHVwUmVzcG9u
c2VNZXNzYWdlIgorCisjZGVmaW5lIFdJUlJlbW90ZUluc3BlY3RvckVuYWJsZWRLZXkgICAgICAg
ICAgICAiUmVtb3RlSW5zcGVjdG9yRW5hYmxlZCIKKyNkZWZpbmUgV0lSUmVtb3RlSW5zcGVjdG9y
RG9tYWluTmFtZSAgICAgICAgICAgICJjb20uYXBwbGUud2ViaW5zcGVjdG9yZCIKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3Rv
ckNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
cmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3RvckNvY29hLm1tCShyZXZpc2lvbiAyNTE0NTMpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9jb2NvYS9SZW1vdGVJbnNw
ZWN0b3JDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtODcsNiArODcsOSBAQCBSZW1vdGVJbnNw
ZWN0b3ImIFJlbW90ZUluc3BlY3Rvcjo6c2luZ2xlCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJv
eWVkPFJlbW90ZUluc3BlY3Rvcj4gc2hhcmVkOwogCisgICAgaWYgKG5lZWRNYWNoU2FuZGJveEV4
dGVuc2lvbikKKyAgICAgICAgcmV0dXJuIHNoYXJlZDsKKyAgICAKICAgICBzdGF0aWMgZGlzcGF0
Y2hfb25jZV90IG9uY2U7CiAgICAgZGlzcGF0Y2hfb25jZSgmb25jZSwgXnsKICAgICAgICAgaWYg
KGNhbkFjY2Vzc1dlYkluc3BlY3Rvck1hY2hQb3J0KCkpIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lv
biAyNTE0NTkpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDM4IEBACisyMDE5LTEwLTIyICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxl
LmNvbT4KKworICAgICAgICBNYWNoIGxvb2t1cCB0byBjb20uYXBwbGUud2ViaW5zcGVjdG9yIHNo
b3VsZCBub3QgYmUgYWxsb3dlZCBpbiBXZWJLaXQncyBXZWJDb250ZW50IHByb2Nlc3MKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzIxNAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIHRoZSBXZWIgaW5z
cGVjdG9yIGlzIGVuYWJsZWQgd2hlbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGlzIHN0YXJ0ZWQs
IGEgc2FuZGJveCBleHRlbnNpb24gaXMgY3JlYXRlZAorICAgICAgICBmb3IgJ2NvbS5hcHBsZS53
ZWJpbnNwZWN0b3InIGFuZCBhIG1lc3NhZ2UgaXMgc2VudCB0byB0aGUgV2ViQ29udGVudCBwcm9j
ZXNzLCB3aGVyZSB0aGUgZXh0ZW5zaW9uIHdpbGwKKyAgICAgICAgYmUgY29uc3VtZWQsIGFuZCB0
aGUgcmVtb3RlIFdlYiBpbnNwZWN0b3Igd2lsbCBiZSBzdGFydGVkLiBUaGUgc2FtZSBoYXBwZW5z
IGlmIFdlYiBpbnNwZWN0b3IgaXMgZW5hYmxlZAorICAgICAgICBieSB0aGUgdXNlciB3aGlsZSBT
YWZhcmkgaXMgcnVubmluZy4gV2hlbiBSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpIGlzIGNh
bGxlZCBpbiB0aGUgVUkgcHJvY2VzcyB0aGVyZQorICAgICAgICBpcyBubyBuZWVkIGZvciBhbiBl
eHRlbnNpb24sIHNpbmNlIGFjY2VzcyB0byB0aGUgV2ViIGluc3BlY3RvciBkYWVtb24gaXMgYWxy
ZWFkeSBhbGxvd2VkLgorCisgICAgICAgICogUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3Mv
Y29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnNiOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2Nv
YS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9v
bDo6YmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2VDYWxsYmFjayk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3NQb29sOjpyZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVkQ2FsbGJhY2spOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6dW5yZWdpc3Rlck5vdGlmaWNhdGlv
bk9ic2VydmVycyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNv
Y29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OmVuYWJsZVJlbW90ZUlu
c3BlY3RvcklmTmVlZGVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlByb2Nl
c3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
UHJveHk6OmRpZEZpbmlzaExhdW5jaGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
bWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2Eu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmVuYWJsZVJlbW90ZVdlYkluc3BlY3Rv
cik6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbjoKKwog
MjAxOS0xMC0yMiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJlLWVuYWJsZSBsZWdhY3kgVExTIGJ5IGRlZmF1bHQsIGtlZXAgcnVudGltZSBz
d2l0Y2gKSW5kZXg6IFNvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3Mv
Y29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnNiCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5XZWJDb250
ZW50LnNiCShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5k
Ym94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYgkod29ya2luZyBj
b3B5KQpAQCAtMzQyLDEwICszNDIsNiBAQAogKG1vYmlsZS1wcmVmZXJlbmNlcy1yZWFkICJjb20u
YXBwbGUubWVkaWFhY2Nlc3NpYmlsaXR5IikKIChtb2JpbGUtcHJlZmVyZW5jZXMtcmVhZC13cml0
ZSAiY29tLmFwcGxlLm1lZGlhYWNjZXNzaWJpbGl0eS5wdWJsaWMiKQogCi07OyBSZW1vdGUgV2Vi
IEluc3BlY3RvcgotKGFsbG93IG1hY2gtbG9va3VwCi0gICAgICAgKGdsb2JhbC1uYW1lICJjb20u
YXBwbGUud2ViaW5zcGVjdG9yIikpCi0KIDs7IFZhcmlvdXMgc2VydmljZXMgcmVxdWlyZWQgYnkg
Q0ZOZXR3b3JrIGFuZCBvdGhlciBmcmFtZXdvcmtzCiAoYWxsb3cgbWFjaC1sb29rdXAKICAgICAo
Z2xvYmFsLW5hbWUgImNvbS5hcHBsZS5Qb3dlck1hbmFnZW1lbnQuY29udHJvbCIpCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCShyZXZpc2lvbiAyNTE0
NTMpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEwMzQsNyArMTAzNCw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmluaXRp
YWxpemVOZXdXZWJQcm8KIAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQogICAgIC8vIElu
aXRpYWxpemUgcmVtb3RlIGluc3BlY3RvciBjb25uZWN0aW9uIG5vdyB0aGF0IHdlIGhhdmUgYSBz
dWItcHJvY2VzcyB0aGF0IGlzIGhvc3Rpbmcgb25lIG9mIG91ciB3ZWIgdmlld3MuCi0gICAgSW5z
cGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpOyAKKyAgICBJbnNwZWN0b3I6OlJl
bW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkocmV2aXNpb24g
MjUxNDUzKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkod29y
a2luZyBjb3B5KQpAQCAtNTk1LDYgKzU5NSw5IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGZsb2F0
IGRpc3BsYXlCcmlnaHRuZXNzKCk7CiAgICAgc3RhdGljIHZvaWQgYmFja2xpZ2h0TGV2ZWxEaWRD
aGFuZ2VDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwgdm9pZCAqb2JzZXJ2ZXIsIENG
U3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZvaWQgKiwgQ0ZEaWN0aW9uYXJ5UmVmIHVzZXJJbmZvKTsg
ICAgCiAjZW5kaWYKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikgJiYgUExBVEZPUk0oQ09D
T0EpCisgICAgc3RhdGljIHZvaWQgcmVtb3RlV2ViSW5zcGVjdG9yRW5hYmxlZENhbGxiYWNrKENG
Tm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lkICpvYnNlcnZlciwgQ0ZTdHJpbmdSZWYgbmFtZSwg
Y29uc3Qgdm9pZCAqLCBDRkRpY3Rpb25hcnlSZWYgdXNlckluZm8pOworI2VuZGlmCiAKICAgICBS
ZWY8QVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24+IG1fY29uZmlndXJhdGlvbjsKIApJbmRl
eDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCShyZXZpc2lv
biAyNTE0NTMpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC04NjYsNiArODY2LDEwIEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5
OjpkaWRGaW5pc2hMYXVuY2hpbmcKIAogICAgIHVuYmxvY2tBY2Nlc3NpYmlsaXR5U2VydmVySWZO
ZWVkZWQoKTsKICNlbmRpZgorCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpICYmIFBMQVRG
T1JNKENPQ09BKQorICAgIGVuYWJsZVJlbW90ZUluc3BlY3RvcklmTmVlZGVkKCk7CisjZW5kaWYK
IH0KIAogV2ViRnJhbWVQcm94eSogV2ViUHJvY2Vzc1Byb3h5Ojp3ZWJGcmFtZShGcmFtZUlkZW50
aWZpZXIgZnJhbWVJRCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5oCShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMzI3LDYgKzMyNywxMCBAQCBw
dWJsaWM6CiAgICAgdm9pZCB1bmJsb2NrQWNjZXNzaWJpbGl0eVNlcnZlcklmTmVlZGVkKCk7CiAj
ZW5kaWYKIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKSAmJiBQTEFURk9STShDT0NPQSkK
KyAgICB2b2lkIGVuYWJsZVJlbW90ZUluc3BlY3RvcklmTmVlZGVkKCk7CisjZW5kaWYKKyAgICAK
ICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHZvaWQgcHJvY2Vzc1dhc1Jlc3VtZWQoKTsK
ICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bv
b2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC02MCw2ICs2MCwxMSBAQAogI2ltcG9ydCA8d3RmL2NvY29hL0VudGl0bGVtZW50cy5oPgogI2lt
cG9ydCA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgogCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQ
RUNUT1IpCisjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9SZW1vdGVJbnNwZWN0b3IuaD4KKyNpbXBv
cnQgPEphdmFTY3JpcHRDb3JlL1JlbW90ZUluc3BlY3RvckNvbnN0YW50cy5oPgorI2VuZGlmCisK
ICNpZiBQTEFURk9STShNQUMpCiAjaW1wb3J0IDxRdWFydHpDb3JlL0NBUmVtb3RlTGF5ZXJTZXJ2
ZXIuaD4KICNlbHNlCkBAIC00MDEsMTEgKzQwNiwyMiBAQCBmbG9hdCBXZWJQcm9jZXNzUG9vbDo6
ZGlzcGxheUJyaWdodG5lc3MoCiAgICAgCiB2b2lkIFdlYlByb2Nlc3NQb29sOjpiYWNrbGlnaHRM
ZXZlbERpZENoYW5nZUNhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmIGNlbnRlciwgdm9p
ZCAqb2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZvaWQgKm9iamVjdCwgQ0ZEaWN0
aW9uYXJ5UmVmIHVzZXJJbmZvKQogewotICAgIFdlYlByb2Nlc3NQb29sKiBwb29sID0gcmVpbnRl
cnByZXRfY2FzdDxXZWJQcm9jZXNzUG9vbCo+KG9ic2VydmVyKTsKKyAgICBhdXRvKiBwb29sID0g
cmVpbnRlcnByZXRfY2FzdDxXZWJQcm9jZXNzUG9vbCo+KG9ic2VydmVyKTsKICAgICBwb29sLT5z
ZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkJhY2tsaWdodExldmVsRGlk
Q2hhbmdlKEJLU0Rpc3BsYXlCcmlnaHRuZXNzR2V0Q3VycmVudCgpKSk7CiB9CiAjZW5kaWYKIAor
I2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQordm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVtb3Rl
V2ViSW5zcGVjdG9yRW5hYmxlZENhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lk
ICpvYnNlcnZlciwgQ0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qgdm9pZCAqLCBDRkRpY3Rpb25hcnlS
ZWYgdXNlckluZm8pCit7CisgICAgYXV0byogcG9vbCA9IHJlaW50ZXJwcmV0X2Nhc3Q8V2ViUHJv
Y2Vzc1Bvb2wqPihvYnNlcnZlcik7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwb29sLT5t
X3Byb2Nlc3Nlcy5zaXplKCk7ICsraSkgeworICAgICAgICBhdXRvIHByb2Nlc3MgPSBwb29sLT5t
X3Byb2Nlc3Nlc1tpXTsKKyAgICAgICAgcHJvY2Vzcy0+ZW5hYmxlUmVtb3RlSW5zcGVjdG9ySWZO
ZWVkZWQoKTsKKyAgICB9Cit9CisjZW5kaWYKKwogdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVnaXN0
ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMoKQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQpA
QCAtNDU5LDYgKzQ3NSw5IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnJlZ2lzdGVyTm90aWZpY2F0
aW8KICAgICAgICAgICAgIG1fcHJvY2Vzc2VzW2ldLT51bmJsb2NrQWNjZXNzaWJpbGl0eVNlcnZl
cklmTmVlZGVkKCk7CiAgICAgfV07CiAjZW5kaWYgLy8gIVBMQVRGT1JNKElPU19GQU1JTFkpCisj
aWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisgICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJBZGRP
YnNlcnZlcihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERhcndpbk5vdGlmeUNlbnRlcigpLCB0aGlz
LCByZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVkQ2FsbGJhY2ssIHN0YXRpY19jYXN0PENGU3RyaW5n
UmVmPihDRlNUUihXSVJTZXJ2aWNlRW5hYmxlZE5vdGlmaWNhdGlvbikpLCBudWxscHRyLCBDRk5v
dGlmaWNhdGlvblN1c3BlbnNpb25CZWhhdmlvckNvYWxlc2NlKTsKKyNlbmRpZgogfQogCiB2b2lk
IFdlYlByb2Nlc3NQb29sOjp1bnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKCkKQEAgLTQ3
Niw5ICs0OTUsMTIgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6dW5yZWdpc3Rlck5vdGlmaWNhdAog
ICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6
bV9hY3RpdmF0aW9uT2JzZXJ2ZXIuZ2V0KCldOwogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIg
ZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9kZWFjdGl2YXRpb25PYnNlcnZlci5nZXQo
KV07CiAjZWxpZiBQTEFURk9STShJT1MpCi0gICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJSZW1vdmVP
YnNlcnZlcihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERhcndpbk5vdGlmeUNlbnRlcigpLCB0aGlz
LCBzdGF0aWNfY2FzdDxDRlN0cmluZ1JlZj4oVUlCYWNrbGlnaHRMZXZlbENoYW5nZWROb3RpZmlj
YXRpb24pICwgbnVsbHB0cik7CisgICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJSZW1vdmVPYnNlcnZl
cihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERhcndpbk5vdGlmeUNlbnRlcigpLCB0aGlzLCBzdGF0
aWNfY2FzdDxDRlN0cmluZ1JlZj4oVUlCYWNrbGlnaHRMZXZlbENoYW5nZWROb3RpZmljYXRpb24p
LCBudWxscHRyKTsKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJl
bW92ZU9ic2VydmVyOm1fYWNjZXNzaWJpbGl0eUVuYWJsZWRPYnNlcnZlci5nZXQoKV07CiAjZW5k
aWYgLy8gIVBMQVRGT1JNKElPU19GQU1JTFkpCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1Ip
CisgICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJSZW1vdmVPYnNlcnZlcihDRk5vdGlmaWNhdGlvbkNl
bnRlckdldERhcndpbk5vdGlmeUNlbnRlcigpLCB0aGlzLCBzdGF0aWNfY2FzdDxDRlN0cmluZ1Jl
Zj4oQ0ZTVFIoV0lSU2VydmljZUVuYWJsZWROb3RpZmljYXRpb24pKSwgbnVsbHB0cik7CisjZW5k
aWYKIH0KIAogc3RhdGljIENGVVJMU3RvcmFnZVNlc3Npb25SZWYgcHJpdmF0ZUJyb3dzaW5nU2Vz
c2lvbigpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJv
eHlDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQcm9jZXNzUHJveHlDb2NvYS5tbQkocmV2aXNpb24gMjUxNDUzKQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0JKHdvcmtpbmcgY29weSkK
QEAgLTIxMiw0ICsyMTIsMTUgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnByb2Nlc3NXYXNSZXN1
bWVkKAogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKK3ZvaWQgV2Vi
UHJvY2Vzc1Byb3h5OjplbmFibGVSZW1vdGVJbnNwZWN0b3JJZk5lZWRlZCgpCit7CisgICAgaWYg
KCFDRlByZWZlcmVuY2VzR2V0QXBwSW50ZWdlclZhbHVlKENGU1RSKFdJUlJlbW90ZUluc3BlY3Rv
ckVuYWJsZWRLZXkpLCBDRlNUUihXSVJSZW1vdGVJbnNwZWN0b3JEb21haW5OYW1lKSwgbnVsbHB0
cikpCisgICAgICAgIHJldHVybjsKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgaGFuZGxl
OworICAgIGF1dG8gYXVkaXRUb2tlbiA9IGNvbm5lY3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigpOwor
ICAgIGlmIChhdWRpdFRva2VuICYmIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvck1h
Y2hMb29rdXBCeUF1ZGl0VG9rZW4oImNvbS5hcHBsZS53ZWJpbnNwZWN0b3IiLCAqYXVkaXRUb2tl
biwgaGFuZGxlKSkKKyAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6RW5hYmxlUmVt
b3RlV2ViSW5zcGVjdG9yKGhhbmRsZSksIDApOworfQorI2VuZGlmCiB9CkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQw
Nyw2ICs0MDcsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKFdlCiAj
ZW5kaWYKIAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKSAmJiBQTEFURk9STShDT0NPQSkK
KyAgICBJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3Rvcjo6c2V0TmVlZE1hY2hTYW5kYm94RXh0ZW5z
aW9uKHRydWUpOwogICAgIGlmIChPcHRpb25hbDxhdWRpdF90b2tlbl90PiBhdWRpdFRva2VuID0g
cGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigpKSB7CiAgICAgICAgIFJl
dGFpblB0cjxDRkRhdGFSZWY+IGF1ZGl0RGF0YSA9IGFkb3B0Q0YoQ0ZEYXRhQ3JlYXRlKG51bGxw
dHIsIChjb25zdCBVSW50OCopJiphdWRpdFRva2VuLCBzaXplb2YoKmF1ZGl0VG9rZW4pKSk7CiAg
ICAgICAgIEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpzaW5nbGV0b24oKS5zZXRQYXJlbnRQ
cm9jZXNzSW5mb3JtYXRpb24oV2ViQ29yZTo6cHJlc2VudGluZ0FwcGxpY2F0aW9uUElEKCksIGF1
ZGl0RGF0YSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHJldmlz
aW9uIDI1MTQ1MykKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQ1Myw2ICs0NTMsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIGJhY2ts
aWdodExldmVsRGlkQ2hhbmdlKGZsb2F0IGJhY2tsaWdodExldmVsKTsKICNlbmRpZgogCisjaWYg
RU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpICYmIFBMQVRGT1JNKENPQ09BKQorICAgIHZvaWQgZW5h
YmxlUmVtb3RlV2ViSW5zcGVjdG9yKGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYpOwor
I2VuZGlmCisKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHZvaWQgcHJvY2Vzc1Rhc2tT
dGF0ZURpZENoYW5nZShQcm9jZXNzVGFza1N0YXRlT2JzZXJ2ZXI6OlRhc2tTdGF0ZSkgZmluYWw7
CiAgICAgdm9pZCBwYXJlbnRQcm9jZXNzRGlkSGFuZGxlUHJvY2Vzc1dhc1Jlc3VtZWQoKTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmlu
CShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMTMxLDYgKzEzMSwxMCBAQCBtZXNzYWdl
cyAtPiBXZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBCYWNrbGlnaHRMZXZlbERpZENo
YW5nZShmbG9hdCBiYWNrbGlnaHRMZXZlbCkKICNlbmRpZgogCisjaWYgRU5BQkxFKFJFTU9URV9J
TlNQRUNUT1IpICYmIFBMQVRGT1JNKENPQ09BKQorICAgIEVuYWJsZVJlbW90ZVdlYkluc3BlY3Rv
cihXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBoYW5kbGUpOworI2VuZGlmCisKICAg
ICBJc0pJVEVuYWJsZWQoKSAtPiAoYm9vbCBlbmFibGVkKSBBc3luYwogCiAjaWYgUExBVEZPUk0o
Q09DT0EpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nl
c3Muc2IuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBs
ZS5XZWJQcm9jZXNzLnNiLmluCShyZXZpc2lvbiAyNTE0NTMpCisrKyBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW4JKHdvcmtpbmcgY29weSkKQEAgLTU4
MywxMCArNTgzLDYgQEAKIChhbGxvdyBpcGMtcG9zaXgtc2htLXJlYWQqIGlwYy1wb3NpeC1zaG0t
d3JpdGUtZGF0YQogICAgIChpcGMtcG9zaXgtbmFtZS1yZWdleCAjIl5BdWRpb0lPIikpCiAKLTs7
IFJlbW90ZSBXZWIgSW5zcGVjdG9yCi0oYWxsb3cgbWFjaC1sb29rdXAKLSAgICAgICAoZ2xvYmFs
LW5hbWUgImNvbS5hcHBsZS53ZWJpbnNwZWN0b3IiKSkKLQogOzsgVmFyaW91cyBzZXJ2aWNlcyBy
ZXF1aXJlZCBieSBBcHBLaXQgYW5kIG90aGVyIGZyYW1ld29ya3MKIChhbGxvdyBtYWNoLWxvb2t1
cAogI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE0MDAKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQko
cmV2aXNpb24gMjUxNDUzKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlBy
b2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNzksNiArNzksMTAgQEAKICNpbXBvcnQg
PHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvTlNVUkxFeHRyYXMuaD4KIAor
I2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1Jl
bW90ZUluc3BlY3Rvci5oPgorI2VuZGlmCisKICNpZiBQTEFURk9STShJT1MpCiAjaW1wb3J0ICJV
SUtpdFNQSS5oIgogI2VuZGlmCkBAIC04MzksNiArODQzLDE1IEBAIHZvaWQgV2ViUHJvY2Vzczo6
YmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2UKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFJFTU9URV9J
TlNQRUNUT1IpCit2b2lkIFdlYlByb2Nlc3M6OmVuYWJsZVJlbW90ZVdlYkluc3BlY3Rvcihjb25z
dCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmIGhhbmRsZSkKK3sKKyAgICBTYW5kYm94RXh0ZW5z
aW9uOjpjb25zdW1lUGVybWFuZW50bHkoaGFuZGxlKTsKKyAgICBJbnNwZWN0b3I6OlJlbW90ZUlu
c3BlY3Rvcjo6c2V0TmVlZE1hY2hTYW5kYm94RXh0ZW5zaW9uKGZhbHNlKTsKKyAgICBJbnNwZWN0
b3I6OlJlbW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCk7Cit9CisjZW5kaWYKKwogdm9pZCBXZWJQ
cm9jZXNzOjpzZXRNZWRpYU1JTUVUeXBlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiB0eXBlcykKIHsK
ICAgICBBVkFzc2V0TUlNRVR5cGVDYWNoZTo6c2luZ2xldG9uKCkuc2V0U3VwcG9ydGVkVHlwZXMo
dHlwZXMpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381756</attachid>
            <date>2019-10-23 17:11:17 -0700</date>
            <delta_ts>2019-10-24 10:06:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203214-20191023171116.patch</filename>
            <type>text/plain</type>
            <size>16340</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjUxNTA4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBA
CisyMDE5LTEwLTIzICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAg
ICAgICBNYWNoIGxvb2t1cCB0byBjb20uYXBwbGUud2ViaW5zcGVjdG9yIHNob3VsZCBub3QgYmUg
YWxsb3dlZCBpbiBXZWJLaXQncyBXZWJDb250ZW50IHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzIxNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdGF0aWMgZmxhZyBpbiBSZW1vdGVJ
bnNwZWN0b3IgdG8gaW5kaWNhdGUgd2hldGhlciBhIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5lZWRl
ZC4gVGhlIHJlbW90ZSBpbnNwZWN0b3Igd2lsbCBvbmx5IGJlCisgICAgICAgIHN0YXJ0ZWQgaWYg
dGhlIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5vdCBuZWVkZWQuIE9ubHkgdGhlIFdlYkNvbnRlbnQg
cHJvY2VzcyB3aWxsIG5lZWQgYSBzYW5kYm94IGV4dGVuc2lvbiwgc2luY2UgdGhpcworICAgICAg
ICBwYXRjaCByZW1vdmVzIG1hY2ggYWNjZXNzIHRvICdjb20uYXBwbGUud2ViaW5zcGVjdG9yJyBm
b3IgdGhpcyBwcm9jZXNzLiBBbHNvIGFkZCBuYW1lIGFuZCBkb21haW4gZm9yIHRoZQorICAgICAg
ICAnRW5hYmxlIFJlbW90ZSBJbnNwZWN0b3InIHNldHRpbmcsIHNpbmNlIHRoaXMgd2lsbCBiZSB1
c2VkIGluIHRoZSBVSSBwcm9jZXNzLgorCisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1v
dGVJbnNwZWN0b3IuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVj
dG9yLmg6CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JDb25zdGFu
dHMuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3RvckNv
Y29hLm1tOgorICAgICAgICAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbik6
CisKIDIwMTktMTAtMjMgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgV2ViIEluc3BlY3Rvcjogbm90aWZ5IGluc3BlY3RvciB3aGVuIHByb3Zpc2lvbmFs
IHBhZ2UgaXMgY3JlYXRlZCwgY29tbWl0dGVkIGFuZCBkZXN0cm95ZWQKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5z
cGVjdG9yLmNwcAkocmV2aXNpb24gMjUxNTA4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgs
NiArMzgsOSBAQAogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIGJvb2wgUmVtb3RlSW5zcGVjdG9y
OjpzdGFydEVuYWJsZWQgPSB0cnVlOworI2lmIFBMQVRGT1JNKElPUykKK3N0ZDo6YXRvbWljPGJv
b2w+IFJlbW90ZUluc3BlY3Rvcjo6bmVlZE1hY2hTYW5kYm94RXh0ZW5zaW9uID0gZmFsc2U7Cisj
ZW5kaWYKIAogdm9pZCBSZW1vdGVJbnNwZWN0b3I6OnN0YXJ0RGlzYWJsZWQoKQogewpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVt
b3RlSW5zcGVjdG9yLmgJKHJldmlzaW9uIDI1MTUwOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
MDYsNiArMTA2LDkgQEAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdEF1dG9t
YXRpb25TZXNzaW9uKGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkZW50aWZpZXIsIGNvbnN0IFNlc3Np
b25DYXBhYmlsaXRpZXMmKSA9IDA7CiAgICAgfTsKIAorI2lmIFBMQVRGT1JNKElPUykKKyAgICBz
dGF0aWMgdm9pZCBzZXROZWVkTWFjaFNhbmRib3hFeHRlbnNpb24oYm9vbCBuZWVkRXh0ZW5zaW9u
KSB7IG5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbiA9IG5lZWRFeHRlbnNpb247IH0KKyNlbmRpZgog
ICAgIHN0YXRpYyB2b2lkIHN0YXJ0RGlzYWJsZWQoKTsKICAgICBzdGF0aWMgUmVtb3RlSW5zcGVj
dG9yJiBzaW5nbGV0b24oKTsKICAgICBmcmllbmQgY2xhc3MgTmV2ZXJEZXN0cm95ZWQ8UmVtb3Rl
SW5zcGVjdG9yPjsKQEAgLTIyOCw2ICsyMzEsOSBAQCBwcml2YXRlOgogICAgIFN0cmluZyBiYWNr
ZW5kQ29tbWFuZHMoKSBjb25zdDsKICNlbmRpZgogICAgIHN0YXRpYyBib29sIHN0YXJ0RW5hYmxl
ZDsKKyNpZiBQTEFURk9STShJT1MpCisgICAgc3RhdGljIHN0ZDo6YXRvbWljPGJvb2w+IG5lZWRN
YWNoU2FuZGJveEV4dGVuc2lvbjsKKyNlbmRpZgogCiAgICAgLy8gVGFyZ2V0cyBjYW4gYmUgcmVn
aXN0ZXJlZCBmcm9tIGFueSB0aHJlYWQgYXQgYW55IHRpbWUuCiAgICAgLy8gQW55IHRhcmdldCBj
YW4gc2VuZCBtZXNzYWdlcyBvdmVyIHRoZSBYUEMgY29ubmVjdGlvbi4KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3RvckNvbnN0YW50cy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1Jl
bW90ZUluc3BlY3RvckNvbnN0YW50cy5oCShyZXZpc2lvbiAyNTE1MDgpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JDb25zdGFudHMuaAko
d29ya2luZyBjb3B5KQpAQCAtMTE4LDMgKzExOCw2IEBACiAjZGVmaW5lIFdJUlByb3h5QXBwbGlj
YXRpb25QYXJlbnRBdWRpdERhdGFLZXkgICBAIldJUlByb3h5QXBwbGljYXRpb25QYXJlbnRBdWRp
dERhdGEiCiAjZGVmaW5lIFdJUlByb3h5QXBwbGljYXRpb25TZXR1cE1lc3NhZ2UgICAgICAgICBA
IldJUlByb3h5QXBwbGljYXRpb25TZXR1cE1lc3NhZ2UiCiAjZGVmaW5lIFdJUlByb3h5QXBwbGlj
YXRpb25TZXR1cFJlc3BvbnNlTWVzc2FnZSBAIldJUlByb3h5QXBwbGljYXRpb25TZXR1cFJlc3Bv
bnNlTWVzc2FnZSIKKworI2RlZmluZSBXSVJSZW1vdGVJbnNwZWN0b3JFbmFibGVkS2V5ICAgICAg
ICAgICAgIlJlbW90ZUluc3BlY3RvckVuYWJsZWQiCisjZGVmaW5lIFdJUlJlbW90ZUluc3BlY3Rv
ckRvbWFpbk5hbWUgICAgICAgICAgICAiY29tLmFwcGxlLndlYmluc3BlY3RvcmQiCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9jb2NvYS9SZW1vdGVJbnNwZWN0
b3JDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3JlbW90ZS9jb2NvYS9SZW1vdGVJbnNwZWN0b3JDb2NvYS5tbQkocmV2aXNpb24gMjUxNTA4KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvY29jb2EvUmVtb3RlSW5z
cGVjdG9yQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTg3LDYgKzg3LDExIEBAIFJlbW90ZUlu
c3BlY3RvciYgUmVtb3RlSW5zcGVjdG9yOjpzaW5nbGUKIHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0
cm95ZWQ8UmVtb3RlSW5zcGVjdG9yPiBzaGFyZWQ7CiAKKyNpZiBQTEFURk9STShJT1MpCisgICAg
aWYgKG5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbikKKyAgICAgICAgcmV0dXJuIHNoYXJlZDsKKyNl
bmRpZgorICAgIAogICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZTsKICAgICBkaXNwYXRj
aF9vbmNlKCZvbmNlLCBeewogICAgICAgICBpZiAoY2FuQWNjZXNzV2ViSW5zcGVjdG9yTWFjaFBv
cnQoKSkgewpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MTUwOCkKKysrIFNvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTktMTAtMjMgIFBl
ciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIE1hY2ggbG9va3Vw
IHRvIGNvbS5hcHBsZS53ZWJpbnNwZWN0b3Igc2hvdWxkIG5vdCBiZSBhbGxvd2VkIGluIFdlYktp
dCdzIFdlYkNvbnRlbnQgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjAzMjE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgSWYgdGhlIFdlYiBpbnNwZWN0b3IgaXMgZW5hYmxlZCB3aGVuIHRoZSBX
ZWJDb250ZW50IHByb2Nlc3MgaXMgc3RhcnRlZCwgYSBzYW5kYm94IGV4dGVuc2lvbiBpcyBjcmVh
dGVkCisgICAgICAgIGZvciAnY29tLmFwcGxlLndlYmluc3BlY3RvcicgYW5kIGEgbWVzc2FnZSBp
cyBzZW50IHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3MsIHdoZXJlIHRoZSBleHRlbnNpb24gd2ls
bAorICAgICAgICBiZSBjb25zdW1lZCwgYW5kIHRoZSByZW1vdGUgV2ViIGluc3BlY3RvciB3aWxs
IGJlIHN0YXJ0ZWQuIFRoZSBzYW1lIGhhcHBlbnMgaWYgV2ViIGluc3BlY3RvciBpcyBlbmFibGVk
CisgICAgICAgIGJ5IHRoZSB1c2VyIHdoaWxlIFNhZmFyaSBpcyBydW5uaW5nLiBXaGVuIFJlbW90
ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCkgaXMgY2FsbGVkIGluIHRoZSBVSSBwcm9jZXNzIHRoZXJl
CisgICAgICAgIGlzIG5vIG5lZWQgZm9yIGFuIGV4dGVuc2lvbiwgc2luY2UgYWNjZXNzIHRvIHRo
ZSBXZWIgaW5zcGVjdG9yIGRhZW1vbiBpcyBhbHJlYWR5IGFsbG93ZWQuCisKKyAgICAgICAgKiBS
ZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQu
c2I6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpiYWNrbGlnaHRMZXZlbERpZENoYW5nZUNh
bGxiYWNrKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnJlbW90ZVdlYkluc3Bl
Y3RvckVuYWJsZWRDYWxsYmFjayk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpy
ZWdpc3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3NQb29sOjp1bnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3NQcm94eTo6ZW5hYmxlUmVtb3RlSW5zcGVjdG9ySWZOZWVkZWQpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3NQb29sOjppbml0aWFsaXplTmV3V2ViUHJvY2Vzcyk6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1bmNoaW5nKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6aW5pdGlh
bGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzczo6ZW5hYmxlUmVtb3RlV2ViSW5zcGVjdG9yKToKKwogMjAxOS0xMC0yMyAgS2F0ZSBDaGVu
ZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgZHVt
cFJlc291cmNlTG9hZFN0YXRpc3RpY3MgaW4gU1FMaXRlIElUUCBEYXRhYmFzZQpJbmRleDogU291
cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0
LldlYkNvbnRlbnQuc2IKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2Fu
ZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQuc2IJKHJldmlzaW9u
IDI1MTUwOCkKKysrIFNvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3Mv
Y29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnNiCSh3b3JraW5nIGNvcHkpCkBAIC0zNDIsMTAg
KzM0Miw2IEBACiAobW9iaWxlLXByZWZlcmVuY2VzLXJlYWQgImNvbS5hcHBsZS5tZWRpYWFjY2Vz
c2liaWxpdHkiKQogKG1vYmlsZS1wcmVmZXJlbmNlcy1yZWFkLXdyaXRlICJjb20uYXBwbGUubWVk
aWFhY2Nlc3NpYmlsaXR5LnB1YmxpYyIpCiAKLTs7IFJlbW90ZSBXZWIgSW5zcGVjdG9yCi0oYWxs
b3cgbWFjaC1sb29rdXAKLSAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS53ZWJpbnNwZWN0
b3IiKSkKLQogOzsgVmFyaW91cyBzZXJ2aWNlcyByZXF1aXJlZCBieSBDRk5ldHdvcmsgYW5kIG90
aGVyIGZyYW1ld29ya3MKIChhbGxvdyBtYWNoLWxvb2t1cAogICAgIChnbG9iYWwtbmFtZSAiY29t
LmFwcGxlLlBvd2VyTWFuYWdlbWVudC5jb250cm9sIikKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHJldmlzaW9uIDI1MTUwOCkKKysrIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAz
OCw3ICsxMDM4LDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlBybwog
CiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCiAgICAgLy8gSW5pdGlhbGl6ZSByZW1vdGUg
aW5zcGVjdG9yIGNvbm5lY3Rpb24gbm93IHRoYXQgd2UgaGF2ZSBhIHN1Yi1wcm9jZXNzIHRoYXQg
aXMgaG9zdGluZyBvbmUgb2Ygb3VyIHdlYiB2aWV3cy4KLSAgICBJbnNwZWN0b3I6OlJlbW90ZUlu
c3BlY3Rvcjo6c2luZ2xldG9uKCk7IAorICAgIEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpz
aW5nbGV0b24oKTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQpJbmRleDogU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCShyZXZpc2lvbiAyNTE1MDgpCisrKyBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCSh3b3JraW5nIGNvcHkpCkBAIC01
OTQsNiArNTk0LDkgQEAgcHJpdmF0ZToKICNpZiBQTEFURk9STShJT1MpCiAgICAgc3RhdGljIGZs
b2F0IGRpc3BsYXlCcmlnaHRuZXNzKCk7CiAgICAgc3RhdGljIHZvaWQgYmFja2xpZ2h0TGV2ZWxE
aWRDaGFuZ2VDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwgdm9pZCAqb2JzZXJ2ZXIs
IENGU3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZvaWQgKiwgQ0ZEaWN0aW9uYXJ5UmVmIHVzZXJJbmZv
KTsgICAgCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisgICAgc3RhdGljIHZvaWQgcmVt
b3RlV2ViSW5zcGVjdG9yRW5hYmxlZENhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2
b2lkICpvYnNlcnZlciwgQ0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qgdm9pZCAqLCBDRkRpY3Rpb25h
cnlSZWYgdXNlckluZm8pOworI2VuZGlmCiAjZW5kaWYKIAogICAgIFJlZjxBUEk6OlByb2Nlc3NQ
b29sQ29uZmlndXJhdGlvbj4gbV9jb25maWd1cmF0aW9uOwpJbmRleDogU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCShyZXZpc2lvbiAyNTE1MDgpCisrKyBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC04NjYsNiArODY2LDEwIEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVuY2hp
bmcKIAogICAgIHVuYmxvY2tBY2Nlc3NpYmlsaXR5U2VydmVySWZOZWVkZWQoKTsKICNlbmRpZgor
CisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpICYmIFBMQVRGT1JNKElPUykKKyAgICBlbmFi
bGVSZW1vdGVJbnNwZWN0b3JJZk5lZWRlZCgpOworI2VuZGlmCiB9CiAKIFdlYkZyYW1lUHJveHkq
IFdlYlByb2Nlc3NQcm94eTo6d2ViRnJhbWUoRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQpIGNvbnN0
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkocmV2aXNp
b24gMjUxNTA4KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTMyNyw2ICszMjcsMTAgQEAgcHVibGljOgogICAgIHZvaWQgdW5i
bG9ja0FjY2Vzc2liaWxpdHlTZXJ2ZXJJZk5lZWRlZCgpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUo
UkVNT1RFX0lOU1BFQ1RPUikgJiYgUExBVEZPUk0oSU9TKQorICAgIHZvaWQgZW5hYmxlUmVtb3Rl
SW5zcGVjdG9ySWZOZWVkZWQoKTsKKyNlbmRpZgorICAgIAogI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCiAgICAgdm9pZCBwcm9jZXNzV2FzUmVzdW1lZCgpOwogI2VuZGlmCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0J
KHJldmlzaW9uIDI1MTUwOCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBy
b2Nlc3NQb29sQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTYwLDYgKzYwLDExIEBACiAjaW1w
b3J0IDx3dGYvY29jb2EvRW50aXRsZW1lbnRzLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2Rhcndpbi9k
eWxkU1BJLmg+CiAKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKKyNpbXBvcnQgPEphdmFT
Y3JpcHRDb3JlL1JlbW90ZUluc3BlY3Rvci5oPgorI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvUmVt
b3RlSW5zcGVjdG9yQ29uc3RhbnRzLmg+CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKE1BQykKICNp
bXBvcnQgPFF1YXJ0ekNvcmUvQ0FSZW1vdGVMYXllclNlcnZlci5oPgogI2Vsc2UKQEAgLTQwMSwx
MSArNDA2LDIyIEBAIGZsb2F0IFdlYlByb2Nlc3NQb29sOjpkaXNwbGF5QnJpZ2h0bmVzcygKICAg
ICAKIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmJhY2tsaWdodExldmVsRGlkQ2hhbmdlQ2FsbGJhY2so
Q0ZOb3RpZmljYXRpb25DZW50ZXJSZWYgY2VudGVyLCB2b2lkICpvYnNlcnZlciwgQ0ZTdHJpbmdS
ZWYgbmFtZSwgY29uc3Qgdm9pZCAqb2JqZWN0LCBDRkRpY3Rpb25hcnlSZWYgdXNlckluZm8pCiB7
Ci0gICAgV2ViUHJvY2Vzc1Bvb2wqIHBvb2wgPSByZWludGVycHJldF9jYXN0PFdlYlByb2Nlc3NQ
b29sKj4ob2JzZXJ2ZXIpOworICAgIGF1dG8qIHBvb2wgPSByZWludGVycHJldF9jYXN0PFdlYlBy
b2Nlc3NQb29sKj4ob2JzZXJ2ZXIpOwogICAgIHBvb2wtPnNlbmRUb0FsbFByb2Nlc3NlcyhNZXNz
YWdlczo6V2ViUHJvY2Vzczo6QmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2UoQktTRGlzcGxheUJyaWdo
dG5lc3NHZXRDdXJyZW50KCkpKTsKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQ
RUNUT1IpICYmIFBMQVRGT1JNKElPUykKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnJlbW90ZVdlYklu
c3BlY3RvckVuYWJsZWRDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwgdm9pZCAqb2Jz
ZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZvaWQgKiwgQ0ZEaWN0aW9uYXJ5UmVmIHVz
ZXJJbmZvKQoreworICAgIGF1dG8qIHBvb2wgPSByZWludGVycHJldF9jYXN0PFdlYlByb2Nlc3NQ
b29sKj4ob2JzZXJ2ZXIpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcG9vbC0+bV9wcm9j
ZXNzZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgYXV0byBwcm9jZXNzID0gcG9vbC0+bV9wcm9j
ZXNzZXNbaV07CisgICAgICAgIHByb2Nlc3MtPmVuYWJsZVJlbW90ZUluc3BlY3RvcklmTmVlZGVk
KCk7CisgICAgfQorfQorI2VuZGlmCisKIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnJlZ2lzdGVyTm90
aWZpY2F0aW9uT2JzZXJ2ZXJzKCkKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTQ1
OCw2ICs0NzQsOSBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpyZWdpc3Rlck5vdGlmaWNhdGlvCiAg
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9wcm9jZXNzZXMuc2l6ZSgpOyArK2kpCiAg
ICAgICAgICAgICBtX3Byb2Nlc3Nlc1tpXS0+dW5ibG9ja0FjY2Vzc2liaWxpdHlTZXJ2ZXJJZk5l
ZWRlZCgpOwogICAgIH1dOworI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQorICAgIENGTm90
aWZpY2F0aW9uQ2VudGVyQWRkT2JzZXJ2ZXIoQ0ZOb3RpZmljYXRpb25DZW50ZXJHZXREYXJ3aW5O
b3RpZnlDZW50ZXIoKSwgdGhpcywgcmVtb3RlV2ViSW5zcGVjdG9yRW5hYmxlZENhbGxiYWNrLCBz
dGF0aWNfY2FzdDxDRlN0cmluZ1JlZj4oQ0ZTVFIoV0lSU2VydmljZUVuYWJsZWROb3RpZmljYXRp
b24pKSwgbnVsbHB0ciwgQ0ZOb3RpZmljYXRpb25TdXNwZW5zaW9uQmVoYXZpb3JDb2FsZXNjZSk7
CisjZW5kaWYKICNlbmRpZiAvLyAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKIH0KIApAQCAtNDc2LDgg
KzQ5NSwxMSBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjp1bnJlZ2lzdGVyTm90aWZpY2F0CiAgICAg
W1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2Fj
dGl2YXRpb25PYnNlcnZlci5nZXQoKV07CiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZh
dWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2RlYWN0aXZhdGlvbk9ic2VydmVyLmdldCgpXTsK
ICNlbGlmIFBMQVRGT1JNKElPUykKLSAgICBDRk5vdGlmaWNhdGlvbkNlbnRlclJlbW92ZU9ic2Vy
dmVyKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGFyd2luTm90aWZ5Q2VudGVyKCksIHRoaXMsIHN0
YXRpY19jYXN0PENGU3RyaW5nUmVmPihVSUJhY2tsaWdodExldmVsQ2hhbmdlZE5vdGlmaWNhdGlv
bikgLCBudWxscHRyKTsKKyAgICBDRk5vdGlmaWNhdGlvbkNlbnRlclJlbW92ZU9ic2VydmVyKENG
Tm90aWZpY2F0aW9uQ2VudGVyR2V0RGFyd2luTm90aWZ5Q2VudGVyKCksIHRoaXMsIHN0YXRpY19j
YXN0PENGU3RyaW5nUmVmPihVSUJhY2tsaWdodExldmVsQ2hhbmdlZE5vdGlmaWNhdGlvbiksIG51
bGxwdHIpOwogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3Zl
T2JzZXJ2ZXI6bV9hY2Nlc3NpYmlsaXR5RW5hYmxlZE9ic2VydmVyLmdldCgpXTsKKyNpZiBFTkFC
TEUoUkVNT1RFX0lOU1BFQ1RPUikKKyAgICBDRk5vdGlmaWNhdGlvbkNlbnRlclJlbW92ZU9ic2Vy
dmVyKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGFyd2luTm90aWZ5Q2VudGVyKCksIHRoaXMsIHN0
YXRpY19jYXN0PENGU3RyaW5nUmVmPihDRlNUUihXSVJTZXJ2aWNlRW5hYmxlZE5vdGlmaWNhdGlv
bikpLCBudWxscHRyKTsKKyNlbmRpZgogI2VuZGlmIC8vICFQTEFURk9STShJT1NfRkFNSUxZKQog
fQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlD
b2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
cm9jZXNzUHJveHlDb2NvYS5tbQkocmV2aXNpb24gMjUxNTA4KQorKysgU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAg
LTIxMiw0ICsyMTIsMTUgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnByb2Nlc3NXYXNSZXN1bWVk
KAogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikgJiYgUExBVEZPUk0o
SU9TKQordm9pZCBXZWJQcm9jZXNzUHJveHk6OmVuYWJsZVJlbW90ZUluc3BlY3RvcklmTmVlZGVk
KCkKK3sKKyAgICBpZiAoIUNGUHJlZmVyZW5jZXNHZXRBcHBJbnRlZ2VyVmFsdWUoQ0ZTVFIoV0lS
UmVtb3RlSW5zcGVjdG9yRW5hYmxlZEtleSksIENGU1RSKFdJUlJlbW90ZUluc3BlY3RvckRvbWFp
bk5hbWUpLCBudWxscHRyKSkKKyAgICAgICAgcmV0dXJuOworICAgIFNhbmRib3hFeHRlbnNpb246
OkhhbmRsZSBoYW5kbGU7CisgICAgYXV0byBhdWRpdFRva2VuID0gY29ubmVjdGlvbigpLT5nZXRB
dWRpdFRva2VuKCk7CisgICAgaWYgKGF1ZGl0VG9rZW4gJiYgU2FuZGJveEV4dGVuc2lvbjo6Y3Jl
YXRlSGFuZGxlRm9yTWFjaExvb2t1cEJ5QXVkaXRUb2tlbigiY29tLmFwcGxlLndlYmluc3BlY3Rv
ciIsICphdWRpdFRva2VuLCBoYW5kbGUpKQorICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQcm9j
ZXNzOjpFbmFibGVSZW1vdGVXZWJJbnNwZWN0b3IoaGFuZGxlKSwgMCk7Cit9CisjZW5kaWYKIH0K
SW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAJKHJldmlzaW9uIDI1
MTUwOCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDA3LDYgKzQwNyw5IEBAIHZvaWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVdl
YlByb2Nlc3MoV2UKICNlbmRpZgogCiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpICYmIFBM
QVRGT1JNKENPQ09BKQorI2lmIFBMQVRGT1JNKElPUykKKyAgICBJbnNwZWN0b3I6OlJlbW90ZUlu
c3BlY3Rvcjo6c2V0TmVlZE1hY2hTYW5kYm94RXh0ZW5zaW9uKHRydWUpOworI2VuZGlmCiAgICAg
aWYgKE9wdGlvbmFsPGF1ZGl0X3Rva2VuX3Q+IGF1ZGl0VG9rZW4gPSBwYXJlbnRQcm9jZXNzQ29u
bmVjdGlvbigpLT5nZXRBdWRpdFRva2VuKCkpIHsKICAgICAgICAgUmV0YWluUHRyPENGRGF0YVJl
Zj4gYXVkaXREYXRhID0gYWRvcHRDRihDRkRhdGFDcmVhdGUobnVsbHB0ciwgKGNvbnN0IFVJbnQ4
KikmKmF1ZGl0VG9rZW4sIHNpemVvZigqYXVkaXRUb2tlbikpKTsKICAgICAgICAgSW5zcGVjdG9y
OjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpLnNldFBhcmVudFByb2Nlc3NJbmZvcm1hdGlv
bihXZWJDb3JlOjpwcmVzZW50aW5nQXBwbGljYXRpb25QSUQoKSwgYXVkaXREYXRhKTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAkocmV2aXNpb24gMjUxNTA4KQorKysg
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAt
NDUxLDYgKzQ1MSw5IEBAIHByaXZhdGU6CiAKICNpZiBQTEFURk9STShJT1MpCiAgICAgdm9pZCBi
YWNrbGlnaHRMZXZlbERpZENoYW5nZShmbG9hdCBiYWNrbGlnaHRMZXZlbCk7CisjaWYgRU5BQkxF
KFJFTU9URV9JTlNQRUNUT1IpCisgICAgdm9pZCBlbmFibGVSZW1vdGVXZWJJbnNwZWN0b3IoY29u
c3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJik7CisjZW5kaWYKICNlbmRpZgogCiAjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLm1lc3NhZ2VzLmluCShyZXZpc2lvbiAyNTE1MDgpCisrKyBTb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMTI5
LDYgKzEyOSw5IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogCiAj
aWYgUExBVEZPUk0oSU9TKQogICAgIEJhY2tsaWdodExldmVsRGlkQ2hhbmdlKGZsb2F0IGJhY2ts
aWdodExldmVsKQorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQorICAgIEVuYWJsZVJlbW90
ZVdlYkluc3BlY3RvcihXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBoYW5kbGUpOwor
I2VuZGlmCiAjZW5kaWYKIAogICAgIElzSklURW5hYmxlZCgpIC0+IChib29sIGVuYWJsZWQpIEFz
eW5jCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29h
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9j
ZXNzQ29jb2EubW0JKHJldmlzaW9uIDI1MTUwOCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTc5LDYgKzc5LDEw
IEBACiAjaW1wb3J0IDx3dGYvRmlsZVN5c3RlbS5oPgogI2ltcG9ydCA8d3RmL2NvY29hL05TVVJM
RXh0cmFzLmg+CiAKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKKyNpbmNsdWRlIDxKYXZh
U2NyaXB0Q29yZS9SZW1vdGVJbnNwZWN0b3IuaD4KKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oSU9T
KQogI2ltcG9ydCAiVUlLaXRTUEkuaCIKICNlbmRpZgpAQCAtODM5LDYgKzg0MywxNSBAQCB2b2lk
IFdlYlByb2Nlc3M6OmJhY2tsaWdodExldmVsRGlkQ2hhbmdlCiB9CiAjZW5kaWYKIAorI2lmIEVO
QUJMRShSRU1PVEVfSU5TUEVDVE9SKSAmJiBQTEFURk9STShJT1MpCit2b2lkIFdlYlByb2Nlc3M6
OmVuYWJsZVJlbW90ZVdlYkluc3BlY3Rvcihjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUm
IGhhbmRsZSkKK3sKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50bHkoaGFu
ZGxlKTsKKyAgICBJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3Rvcjo6c2V0TmVlZE1hY2hTYW5kYm94
RXh0ZW5zaW9uKGZhbHNlKTsKKyAgICBJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3Rvcjo6c2luZ2xl
dG9uKCk7Cit9CisjZW5kaWYKKwogdm9pZCBXZWJQcm9jZXNzOjpzZXRNZWRpYU1JTUVUeXBlcyhj
b25zdCBWZWN0b3I8U3RyaW5nPiB0eXBlcykKIHsKICAgICBBVkFzc2V0TUlNRVR5cGVDYWNoZTo6
c2luZ2xldG9uKCkuc2V0U3VwcG9ydGVkVHlwZXModHlwZXMpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381821</attachid>
            <date>2019-10-24 10:06:20 -0700</date>
            <delta_ts>2019-10-24 10:38:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203214-20191024100619.patch</filename>
            <type>text/plain</type>
            <size>16299</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjUxNTM5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBA
CisyMDE5LTEwLTIzICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAg
ICAgICBNYWNoIGxvb2t1cCB0byBjb20uYXBwbGUud2ViaW5zcGVjdG9yIHNob3VsZCBub3QgYmUg
YWxsb3dlZCBpbiBXZWJLaXQncyBXZWJDb250ZW50IHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzIxNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdGF0aWMgZmxhZyBpbiBSZW1vdGVJ
bnNwZWN0b3IgdG8gaW5kaWNhdGUgd2hldGhlciBhIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5lZWRl
ZC4gVGhlIHJlbW90ZSBpbnNwZWN0b3Igd2lsbCBvbmx5IGJlCisgICAgICAgIHN0YXJ0ZWQgaWYg
dGhlIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5vdCBuZWVkZWQuIE9ubHkgdGhlIFdlYkNvbnRlbnQg
cHJvY2VzcyB3aWxsIG5lZWQgYSBzYW5kYm94IGV4dGVuc2lvbiwgc2luY2UgdGhpcworICAgICAg
ICBwYXRjaCByZW1vdmVzIG1hY2ggYWNjZXNzIHRvICdjb20uYXBwbGUud2ViaW5zcGVjdG9yJyBm
b3IgdGhpcyBwcm9jZXNzLiBBbHNvIGFkZCBuYW1lIGFuZCBkb21haW4gZm9yIHRoZQorICAgICAg
ICAnRW5hYmxlIFJlbW90ZSBJbnNwZWN0b3InIHNldHRpbmcsIHNpbmNlIHRoaXMgd2lsbCBiZSB1
c2VkIGluIHRoZSBVSSBwcm9jZXNzLgorCisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1v
dGVJbnNwZWN0b3IuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVj
dG9yLmg6CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JDb25zdGFu
dHMuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3RvckNv
Y29hLm1tOgorICAgICAgICAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbik6
CisKIDIwMTktMTAtMjQgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtKU0NdIEdldCAzMi1iaXQgcG9ydHMgYmFjayBpbnRvIGJ1aWxkaW5nIG9yZGVyCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0
b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVt
b3RlL1JlbW90ZUluc3BlY3Rvci5jcHAJKHJldmlzaW9uIDI1MTUzOSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM4LDYgKzM4LDkgQEAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBib29sIFJl
bW90ZUluc3BlY3Rvcjo6c3RhcnRFbmFibGVkID0gdHJ1ZTsKKyNpZiBQTEFURk9STShJT1MpCitz
dGQ6OmF0b21pYzxib29sPiBSZW1vdGVJbnNwZWN0b3I6Om5lZWRNYWNoU2FuZGJveEV4dGVuc2lv
biA9IGZhbHNlOworI2VuZGlmCiAKIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjpzdGFydERpc2FibGVk
KCkKIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90
ZUluc3BlY3Rvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5oCShyZXZpc2lvbiAyNTE1MzkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTA2LDYgKzEwNiw5IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lk
IHJlcXVlc3RBdXRvbWF0aW9uU2Vzc2lvbihjb25zdCBTdHJpbmcmIHNlc3Npb25JZGVudGlmaWVy
LCBjb25zdCBTZXNzaW9uQ2FwYWJpbGl0aWVzJikgPSAwOwogICAgIH07CiAKKyNpZiBQTEFURk9S
TShJT1MpCisgICAgc3RhdGljIHZvaWQgc2V0TmVlZE1hY2hTYW5kYm94RXh0ZW5zaW9uKGJvb2wg
bmVlZEV4dGVuc2lvbikgeyBuZWVkTWFjaFNhbmRib3hFeHRlbnNpb24gPSBuZWVkRXh0ZW5zaW9u
OyB9CisjZW5kaWYKICAgICBzdGF0aWMgdm9pZCBzdGFydERpc2FibGVkKCk7CiAgICAgc3RhdGlj
IFJlbW90ZUluc3BlY3RvciYgc2luZ2xldG9uKCk7CiAgICAgZnJpZW5kIGNsYXNzIE5ldmVyRGVz
dHJveWVkPFJlbW90ZUluc3BlY3Rvcj47CkBAIC0yMjgsNiArMjMxLDkgQEAgcHJpdmF0ZToKICAg
ICBTdHJpbmcgYmFja2VuZENvbW1hbmRzKCkgY29uc3Q7CiAjZW5kaWYKICAgICBzdGF0aWMgYm9v
bCBzdGFydEVuYWJsZWQ7CisjaWYgUExBVEZPUk0oSU9TKQorICAgIHN0YXRpYyBzdGQ6OmF0b21p
Yzxib29sPiBuZWVkTWFjaFNhbmRib3hFeHRlbnNpb247CisjZW5kaWYKIAogICAgIC8vIFRhcmdl
dHMgY2FuIGJlIHJlZ2lzdGVyZWQgZnJvbSBhbnkgdGhyZWFkIGF0IGFueSB0aW1lLgogICAgIC8v
IEFueSB0YXJnZXQgY2FuIHNlbmQgbWVzc2FnZXMgb3ZlciB0aGUgWFBDIGNvbm5lY3Rpb24uCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0
b3JDb25zdGFudHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JDb25zdGFudHMuaAkocmV2aXNpb24gMjUxNTM5KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9y
Q29uc3RhbnRzLmgJKHdvcmtpbmcgY29weSkKQEAgLTExOCwzICsxMTgsNiBAQAogI2RlZmluZSBX
SVJQcm94eUFwcGxpY2F0aW9uUGFyZW50QXVkaXREYXRhS2V5ICAgQCJXSVJQcm94eUFwcGxpY2F0
aW9uUGFyZW50QXVkaXREYXRhIgogI2RlZmluZSBXSVJQcm94eUFwcGxpY2F0aW9uU2V0dXBNZXNz
YWdlICAgICAgICAgQCJXSVJQcm94eUFwcGxpY2F0aW9uU2V0dXBNZXNzYWdlIgogI2RlZmluZSBX
SVJQcm94eUFwcGxpY2F0aW9uU2V0dXBSZXNwb25zZU1lc3NhZ2UgQCJXSVJQcm94eUFwcGxpY2F0
aW9uU2V0dXBSZXNwb25zZU1lc3NhZ2UiCisKKyNkZWZpbmUgV0lSUmVtb3RlSW5zcGVjdG9yRW5h
YmxlZEtleSAgICAgICAgICAgICJSZW1vdGVJbnNwZWN0b3JFbmFibGVkIgorI2RlZmluZSBXSVJS
ZW1vdGVJbnNwZWN0b3JEb21haW5OYW1lICAgICAgICAgICAgImNvbS5hcHBsZS53ZWJpbnNwZWN0
b3JkIgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvY29jb2Ev
UmVtb3RlSW5zcGVjdG9yQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9yZW1vdGUvY29jb2EvUmVtb3RlSW5zcGVjdG9yQ29jb2EubW0JKHJldmlz
aW9uIDI1MTUzOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2Nv
Y29hL1JlbW90ZUluc3BlY3RvckNvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC04Nyw2ICs4Nywx
MSBAQCBSZW1vdGVJbnNwZWN0b3ImIFJlbW90ZUluc3BlY3Rvcjo6c2luZ2xlCiB7CiAgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPFJlbW90ZUluc3BlY3Rvcj4gc2hhcmVkOwogCisjaWYgUExBVEZP
Uk0oSU9TKQorICAgIGlmIChuZWVkTWFjaFNhbmRib3hFeHRlbnNpb24pCisgICAgICAgIHJldHVy
biBzaGFyZWQ7CisjZW5kaWYKKyAgICAKICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2U7
CiAgICAgZGlzcGF0Y2hfb25jZSgmb25jZSwgXnsKICAgICAgICAgaWYgKGNhbkFjY2Vzc1dlYklu
c3BlY3Rvck1hY2hQb3J0KCkpIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTE1MzkpCisrKyBT
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisy
MDE5LTEwLTIzICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAg
ICBNYWNoIGxvb2t1cCB0byBjb20uYXBwbGUud2ViaW5zcGVjdG9yIHNob3VsZCBub3QgYmUgYWxs
b3dlZCBpbiBXZWJLaXQncyBXZWJDb250ZW50IHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzIxNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIHRoZSBXZWIgaW5zcGVjdG9yIGlzIGVuYWJs
ZWQgd2hlbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGlzIHN0YXJ0ZWQsIGEgc2FuZGJveCBleHRl
bnNpb24gaXMgY3JlYXRlZAorICAgICAgICBmb3IgJ2NvbS5hcHBsZS53ZWJpbnNwZWN0b3InIGFu
ZCBhIG1lc3NhZ2UgaXMgc2VudCB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCB3aGVyZSB0aGUg
ZXh0ZW5zaW9uIHdpbGwKKyAgICAgICAgYmUgY29uc3VtZWQsIGFuZCB0aGUgcmVtb3RlIFdlYiBp
bnNwZWN0b3Igd2lsbCBiZSBzdGFydGVkLiBUaGUgc2FtZSBoYXBwZW5zIGlmIFdlYiBpbnNwZWN0
b3IgaXMgZW5hYmxlZAorICAgICAgICBieSB0aGUgdXNlciB3aGlsZSBTYWZhcmkgaXMgcnVubmlu
Zy4gV2hlbiBSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpIGlzIGNhbGxlZCBpbiB0aGUgVUkg
cHJvY2VzcyB0aGVyZQorICAgICAgICBpcyBubyBuZWVkIGZvciBhbiBleHRlbnNpb24sIHNpbmNl
IGFjY2VzcyB0byB0aGUgV2ViIGluc3BlY3RvciBkYWVtb24gaXMgYWxyZWFkeSBhbGxvd2VkLgor
CisgICAgICAgICogUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktp
dC5XZWJDb250ZW50LnNiOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9v
bENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6YmFja2xpZ2h0TGV2
ZWxEaWRDaGFuZ2VDYWxsYmFjayk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpy
ZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVkQ2FsbGJhY2spOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6cmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzUG9vbDo6dW5yZWdpc3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycyk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OmVuYWJsZVJlbW90ZUluc3BlY3RvcklmTmVlZGVk
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlByb2Nlc3MpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9j
ZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OmRpZEZpbmlz
aExhdW5jaGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW46Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3M6OmVuYWJsZVJlbW90ZVdlYkluc3BlY3Rvcik6CisKIDIwMTktMTAt
MjQgIENhcmxvcyBBbGJlcnRvIExvcGV6IFBlcmV6ICA8Y2xvcGV6QGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0dUS11bV1BFXSBFbmFibGUgcnVudGltZSBzZXR0aW5nIHdpdGggZXhwZXJpbWVudGFs
IGZlYXR1cmVzIGZvciBTZXJ2ZXIgVGltaW5nIEFQSQpJbmRleDogU291cmNlL1dlYktpdC9SZXNv
dXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQuc2IK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lv
cy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQuc2IJKHJldmlzaW9uIDI1MTUzOSkKKysrIFNv
dXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktp
dC5XZWJDb250ZW50LnNiCSh3b3JraW5nIGNvcHkpCkBAIC04NjEsMTAgKzg2MSw2IEBACiAobW9i
aWxlLXByZWZlcmVuY2VzLXJlYWQgImNvbS5hcHBsZS5tZWRpYWFjY2Vzc2liaWxpdHkiKQogKG1v
YmlsZS1wcmVmZXJlbmNlcy1yZWFkLXdyaXRlICJjb20uYXBwbGUubWVkaWFhY2Nlc3NpYmlsaXR5
LnB1YmxpYyIpCiAKLTs7IFJlbW90ZSBXZWIgSW5zcGVjdG9yCi0oYWxsb3cgbWFjaC1sb29rdXAK
LSAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS53ZWJpbnNwZWN0b3IiKSkKLQogOzsgVmFy
aW91cyBzZXJ2aWNlcyByZXF1aXJlZCBieSBDRk5ldHdvcmsgYW5kIG90aGVyIGZyYW1ld29ya3MK
IChhbGxvdyBtYWNoLWxvb2t1cAogICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLlBvd2VyTWFu
YWdlbWVudC5jb250cm9sIikKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5jcHAJKHJldmlzaW9uIDI1MTUzOSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQb29sLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAzOCw3ICsxMDM4LDcgQEAg
dm9pZCBXZWJQcm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5ld1dlYlBybwogCiAjaWYgRU5BQkxFKFJF
TU9URV9JTlNQRUNUT1IpCiAgICAgLy8gSW5pdGlhbGl6ZSByZW1vdGUgaW5zcGVjdG9yIGNvbm5l
Y3Rpb24gbm93IHRoYXQgd2UgaGF2ZSBhIHN1Yi1wcm9jZXNzIHRoYXQgaXMgaG9zdGluZyBvbmUg
b2Ygb3VyIHdlYiB2aWV3cy4KLSAgICBJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3Rvcjo6c2luZ2xl
dG9uKCk7IAorICAgIEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpzaW5nbGV0b24oKTsKICNl
bmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5oCShyZXZpc2lvbiAyNTE1MzkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5oCSh3b3JraW5nIGNvcHkpCkBAIC01OTQsNiArNTk0LDkgQEAg
cHJpdmF0ZToKICNpZiBQTEFURk9STShJT1MpCiAgICAgc3RhdGljIGZsb2F0IGRpc3BsYXlCcmln
aHRuZXNzKCk7CiAgICAgc3RhdGljIHZvaWQgYmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2VDYWxsYmFj
ayhDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwgdm9pZCAqb2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5h
bWUsIGNvbnN0IHZvaWQgKiwgQ0ZEaWN0aW9uYXJ5UmVmIHVzZXJJbmZvKTsgICAgCisjaWYgRU5B
QkxFKFJFTU9URV9JTlNQRUNUT1IpCisgICAgc3RhdGljIHZvaWQgcmVtb3RlV2ViSW5zcGVjdG9y
RW5hYmxlZENhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lkICpvYnNlcnZlciwg
Q0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qgdm9pZCAqLCBDRkRpY3Rpb25hcnlSZWYgdXNlckluZm8p
OworI2VuZGlmCiAjZW5kaWYKIAogICAgIFJlZjxBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlv
bj4gbV9jb25maWd1cmF0aW9uOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Byb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkuY3BwCShyZXZpc2lvbiAyNTE1MzkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NjYsNiArODY2LDEw
IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVuY2hpbmcKIAogICAgIHVuYmxv
Y2tBY2Nlc3NpYmlsaXR5U2VydmVySWZOZWVkZWQoKTsKICNlbmRpZgorCisjaWYgRU5BQkxFKFJF
TU9URV9JTlNQRUNUT1IpICYmIFBMQVRGT1JNKElPUykKKyAgICBlbmFibGVSZW1vdGVJbnNwZWN0
b3JJZk5lZWRlZCgpOworI2VuZGlmCiB9CiAKIFdlYkZyYW1lUHJveHkqIFdlYlByb2Nlc3NQcm94
eTo6d2ViRnJhbWUoRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQpIGNvbnN0CkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkocmV2aXNpb24gMjUxNTM5KQorKysg
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgJKHdvcmtpbmcgY29weSkK
QEAgLTMyNyw2ICszMjcsMTAgQEAgcHVibGljOgogICAgIHZvaWQgdW5ibG9ja0FjY2Vzc2liaWxp
dHlTZXJ2ZXJJZk5lZWRlZCgpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RP
UikgJiYgUExBVEZPUk0oSU9TKQorICAgIHZvaWQgZW5hYmxlUmVtb3RlSW5zcGVjdG9ySWZOZWVk
ZWQoKTsKKyNlbmRpZgorICAgIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgdm9pZCBw
cm9jZXNzV2FzUmVzdW1lZCgpOwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHJldmlzaW9uIDI1MTUz
OSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2Eu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTYwLDYgKzYwLDExIEBACiAjaW1wb3J0IDx3dGYvY29jb2Ev
RW50aXRsZW1lbnRzLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2Rhcndpbi9keWxkU1BJLmg+CiAKKyNp
ZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKKyNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL1JlbW90
ZUluc3BlY3Rvci5oPgorI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvUmVtb3RlSW5zcGVjdG9yQ29u
c3RhbnRzLmg+CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKE1BQykKICNpbXBvcnQgPFF1YXJ0ekNv
cmUvQ0FSZW1vdGVMYXllclNlcnZlci5oPgogI2Vsc2UKQEAgLTQwMSwxMSArNDA2LDIyIEBAIGZs
b2F0IFdlYlByb2Nlc3NQb29sOjpkaXNwbGF5QnJpZ2h0bmVzcygKICAgICAKIHZvaWQgV2ViUHJv
Y2Vzc1Bvb2w6OmJhY2tsaWdodExldmVsRGlkQ2hhbmdlQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25D
ZW50ZXJSZWYgY2VudGVyLCB2b2lkICpvYnNlcnZlciwgQ0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qg
dm9pZCAqb2JqZWN0LCBDRkRpY3Rpb25hcnlSZWYgdXNlckluZm8pCiB7Ci0gICAgV2ViUHJvY2Vz
c1Bvb2wqIHBvb2wgPSByZWludGVycHJldF9jYXN0PFdlYlByb2Nlc3NQb29sKj4ob2JzZXJ2ZXIp
OworICAgIGF1dG8qIHBvb2wgPSByZWludGVycHJldF9jYXN0PFdlYlByb2Nlc3NQb29sKj4ob2Jz
ZXJ2ZXIpOwogICAgIHBvb2wtPnNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vz
czo6QmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2UoQktTRGlzcGxheUJyaWdodG5lc3NHZXRDdXJyZW50
KCkpKTsKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpICYmIFBMQVRG
T1JNKElPUykKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnJlbW90ZVdlYkluc3BlY3RvckVuYWJsZWRD
YWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwgdm9pZCAqb2JzZXJ2ZXIsIENGU3RyaW5n
UmVmIG5hbWUsIGNvbnN0IHZvaWQgKiwgQ0ZEaWN0aW9uYXJ5UmVmIHVzZXJJbmZvKQoreworICAg
IGF1dG8qIHBvb2wgPSByZWludGVycHJldF9jYXN0PFdlYlByb2Nlc3NQb29sKj4ob2JzZXJ2ZXIp
OworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcG9vbC0+bV9wcm9jZXNzZXMuc2l6ZSgpOyAr
K2kpIHsKKyAgICAgICAgYXV0byBwcm9jZXNzID0gcG9vbC0+bV9wcm9jZXNzZXNbaV07CisgICAg
ICAgIHByb2Nlc3MtPmVuYWJsZVJlbW90ZUluc3BlY3RvcklmTmVlZGVkKCk7CisgICAgfQorfQor
I2VuZGlmCisKIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2
ZXJzKCkKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTQ1OCw2ICs0NzQsOSBAQCB2
b2lkIFdlYlByb2Nlc3NQb29sOjpyZWdpc3Rlck5vdGlmaWNhdGlvCiAgICAgICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbV9wcm9jZXNzZXMuc2l6ZSgpOyArK2kpCiAgICAgICAgICAgICBtX3By
b2Nlc3Nlc1tpXS0+dW5ibG9ja0FjY2Vzc2liaWxpdHlTZXJ2ZXJJZk5lZWRlZCgpOwogICAgIH1d
OworI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQorICAgIENGTm90aWZpY2F0aW9uQ2VudGVy
QWRkT2JzZXJ2ZXIoQ0ZOb3RpZmljYXRpb25DZW50ZXJHZXREYXJ3aW5Ob3RpZnlDZW50ZXIoKSwg
dGhpcywgcmVtb3RlV2ViSW5zcGVjdG9yRW5hYmxlZENhbGxiYWNrLCBzdGF0aWNfY2FzdDxDRlN0
cmluZ1JlZj4oQ0ZTVFIoV0lSU2VydmljZUVuYWJsZWROb3RpZmljYXRpb24pKSwgbnVsbHB0ciwg
Q0ZOb3RpZmljYXRpb25TdXNwZW5zaW9uQmVoYXZpb3JDb2FsZXNjZSk7CisjZW5kaWYKICNlbmRp
ZiAvLyAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKIH0KIApAQCAtNDc2LDggKzQ5NSwxMSBAQCB2b2lk
IFdlYlByb2Nlc3NQb29sOjp1bnJlZ2lzdGVyTm90aWZpY2F0CiAgICAgW1tOU05vdGlmaWNhdGlv
bkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2FjdGl2YXRpb25PYnNlcnZl
ci5nZXQoKV07CiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1v
dmVPYnNlcnZlcjptX2RlYWN0aXZhdGlvbk9ic2VydmVyLmdldCgpXTsKICNlbGlmIFBMQVRGT1JN
KElPUykKLSAgICBDRk5vdGlmaWNhdGlvbkNlbnRlclJlbW92ZU9ic2VydmVyKENGTm90aWZpY2F0
aW9uQ2VudGVyR2V0RGFyd2luTm90aWZ5Q2VudGVyKCksIHRoaXMsIHN0YXRpY19jYXN0PENGU3Ry
aW5nUmVmPihVSUJhY2tsaWdodExldmVsQ2hhbmdlZE5vdGlmaWNhdGlvbikgLCBudWxscHRyKTsK
KyAgICBDRk5vdGlmaWNhdGlvbkNlbnRlclJlbW92ZU9ic2VydmVyKENGTm90aWZpY2F0aW9uQ2Vu
dGVyR2V0RGFyd2luTm90aWZ5Q2VudGVyKCksIHRoaXMsIHN0YXRpY19jYXN0PENGU3RyaW5nUmVm
PihVSUJhY2tsaWdodExldmVsQ2hhbmdlZE5vdGlmaWNhdGlvbiksIG51bGxwdHIpOwogICAgIFtb
TlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9hY2Nl
c3NpYmlsaXR5RW5hYmxlZE9ic2VydmVyLmdldCgpXTsKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BF
Q1RPUikKKyAgICBDRk5vdGlmaWNhdGlvbkNlbnRlclJlbW92ZU9ic2VydmVyKENGTm90aWZpY2F0
aW9uQ2VudGVyR2V0RGFyd2luTm90aWZ5Q2VudGVyKCksIHRoaXMsIENGU1RSKFdJUlNlcnZpY2VF
bmFibGVkTm90aWZpY2F0aW9uKSwgbnVsbHB0cik7CisjZW5kaWYKICNlbmRpZiAvLyAhUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKIH0KIApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0JKHJldmlzaW9uIDI1MTUzOSkKKysr
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0yMTIsNCArMjEyLDE1IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojpw
cm9jZXNzV2FzUmVzdW1lZCgKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNU
T1IpICYmIFBMQVRGT1JNKElPUykKK3ZvaWQgV2ViUHJvY2Vzc1Byb3h5OjplbmFibGVSZW1vdGVJ
bnNwZWN0b3JJZk5lZWRlZCgpCit7CisgICAgaWYgKCFDRlByZWZlcmVuY2VzR2V0QXBwSW50ZWdl
clZhbHVlKENGU1RSKFdJUlJlbW90ZUluc3BlY3RvckVuYWJsZWRLZXkpLCBDRlNUUihXSVJSZW1v
dGVJbnNwZWN0b3JEb21haW5OYW1lKSwgbnVsbHB0cikpCisgICAgICAgIHJldHVybjsKKyAgICBT
YW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgaGFuZGxlOworICAgIGF1dG8gYXVkaXRUb2tlbiA9IGNv
bm5lY3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigpOworICAgIGlmIChhdWRpdFRva2VuICYmIFNhbmRi
b3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvck1hY2hMb29rdXBCeUF1ZGl0VG9rZW4oImNvbS5h
cHBsZS53ZWJpbnNwZWN0b3IiLCAqYXVkaXRUb2tlbiwgaGFuZGxlKSkKKyAgICAgICAgc2VuZChN
ZXNzYWdlczo6V2ViUHJvY2Vzczo6RW5hYmxlUmVtb3RlV2ViSW5zcGVjdG9yKGhhbmRsZSksIDAp
OworfQorI2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
Y3BwCShyZXZpc2lvbiAyNTE1MzkpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwNyw2ICs0MDcsOSBAQCB2b2lkIFdlYlByb2Nl
c3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKFdlCiAjZW5kaWYKIAogI2lmIEVOQUJMRShSRU1PVEVf
SU5TUEVDVE9SKSAmJiBQTEFURk9STShDT0NPQSkKKyNpZiBQTEFURk9STShJT1MpCisgICAgSW5z
cGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNldE5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbih0cnVl
KTsKKyNlbmRpZgogICAgIGlmIChPcHRpb25hbDxhdWRpdF90b2tlbl90PiBhdWRpdFRva2VuID0g
cGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigpKSB7CiAgICAgICAgIFJl
dGFpblB0cjxDRkRhdGFSZWY+IGF1ZGl0RGF0YSA9IGFkb3B0Q0YoQ0ZEYXRhQ3JlYXRlKG51bGxw
dHIsIChjb25zdCBVSW50OCopJiphdWRpdFRva2VuLCBzaXplb2YoKmF1ZGl0VG9rZW4pKSk7CiAg
ICAgICAgIEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpzaW5nbGV0b24oKS5zZXRQYXJlbnRQ
cm9jZXNzSW5mb3JtYXRpb24oV2ViQ29yZTo6cHJlc2VudGluZ0FwcGxpY2F0aW9uUElEKCksIGF1
ZGl0RGF0YSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHJldmlz
aW9uIDI1MTUzOSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQ1MSw2ICs0NTEsOSBAQCBwcml2YXRlOgogCiAjaWYgUExBVEZPUk0o
SU9TKQogICAgIHZvaWQgYmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2UoZmxvYXQgYmFja2xpZ2h0TGV2
ZWwpOworI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQorICAgIHZvaWQgZW5hYmxlUmVtb3Rl
V2ViSW5zcGVjdG9yKGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYpOworI2VuZGlmCiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgkocmV2aXNpb24gMjUxNTM5KQor
KysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4JKHdvcmtp
bmcgY29weSkKQEAgLTEyOSw2ICsxMjksOSBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExlZ2Fj
eVJlY2VpdmVyIHsKIAogI2lmIFBMQVRGT1JNKElPUykKICAgICBCYWNrbGlnaHRMZXZlbERpZENo
YW5nZShmbG9hdCBiYWNrbGlnaHRMZXZlbCkKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikK
KyAgICBFbmFibGVSZW1vdGVXZWJJbnNwZWN0b3IoV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpI
YW5kbGUgaGFuZGxlKTsKKyNlbmRpZgogI2VuZGlmCiAKICAgICBJc0pJVEVuYWJsZWQoKSAtPiAo
Ym9vbCBlbmFibGVkKSBBc3luYwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1dlYlByb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lvbiAyNTE1MzkpCisrKyBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC03OSw2ICs3OSwxMCBAQAogI2ltcG9ydCA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQg
PHd0Zi9jb2NvYS9OU1VSTEV4dHJhcy5oPgogCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1Ip
CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUmVtb3RlSW5zcGVjdG9yLmg+CisjZW5kaWYKKwog
I2lmIFBMQVRGT1JNKElPUykKICNpbXBvcnQgIlVJS2l0U1BJLmgiCiAjZW5kaWYKQEAgLTgzOSw2
ICs4NDMsMTUgQEAgdm9pZCBXZWJQcm9jZXNzOjpiYWNrbGlnaHRMZXZlbERpZENoYW5nZQogfQog
I2VuZGlmCiAKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikgJiYgUExBVEZPUk0oSU9TKQor
dm9pZCBXZWJQcm9jZXNzOjplbmFibGVSZW1vdGVXZWJJbnNwZWN0b3IoY29uc3QgU2FuZGJveEV4
dGVuc2lvbjo6SGFuZGxlJiBoYW5kbGUpCit7CisgICAgU2FuZGJveEV4dGVuc2lvbjo6Y29uc3Vt
ZVBlcm1hbmVudGx5KGhhbmRsZSk7CisgICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNl
dE5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbihmYWxzZSk7CisgICAgSW5zcGVjdG9yOjpSZW1vdGVJ
bnNwZWN0b3I6OnNpbmdsZXRvbigpOworfQorI2VuZGlmCisKIHZvaWQgV2ViUHJvY2Vzczo6c2V0
TWVkaWFNSU1FVHlwZXMoY29uc3QgVmVjdG9yPFN0cmluZz4gdHlwZXMpCiB7CiAgICAgQVZBc3Nl
dE1JTUVUeXBlQ2FjaGU6OnNpbmdsZXRvbigpLnNldFN1cHBvcnRlZFR5cGVzKHR5cGVzKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381822</attachid>
            <date>2019-10-24 10:38:08 -0700</date>
            <delta_ts>2019-11-05 17:15:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203214-20191024103807.patch</filename>
            <type>text/plain</type>
            <size>16299</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjUxNTM5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBA
CisyMDE5LTEwLTIzICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAg
ICAgICBNYWNoIGxvb2t1cCB0byBjb20uYXBwbGUud2ViaW5zcGVjdG9yIHNob3VsZCBub3QgYmUg
YWxsb3dlZCBpbiBXZWJLaXQncyBXZWJDb250ZW50IHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzIxNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdGF0aWMgZmxhZyBpbiBSZW1vdGVJ
bnNwZWN0b3IgdG8gaW5kaWNhdGUgd2hldGhlciBhIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5lZWRl
ZC4gVGhlIHJlbW90ZSBpbnNwZWN0b3Igd2lsbCBvbmx5IGJlCisgICAgICAgIHN0YXJ0ZWQgaWYg
dGhlIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5vdCBuZWVkZWQuIE9ubHkgdGhlIFdlYkNvbnRlbnQg
cHJvY2VzcyB3aWxsIG5lZWQgYSBzYW5kYm94IGV4dGVuc2lvbiwgc2luY2UgdGhpcworICAgICAg
ICBwYXRjaCByZW1vdmVzIG1hY2ggYWNjZXNzIHRvICdjb20uYXBwbGUud2ViaW5zcGVjdG9yJyBm
b3IgdGhpcyBwcm9jZXNzLiBBbHNvIGFkZCBuYW1lIGFuZCBkb21haW4gZm9yIHRoZQorICAgICAg
ICAnRW5hYmxlIFJlbW90ZSBJbnNwZWN0b3InIHNldHRpbmcsIHNpbmNlIHRoaXMgd2lsbCBiZSB1
c2VkIGluIHRoZSBVSSBwcm9jZXNzLgorCisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1v
dGVJbnNwZWN0b3IuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVj
dG9yLmg6CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JDb25zdGFu
dHMuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3RvckNv
Y29hLm1tOgorICAgICAgICAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbik6
CisKIDIwMTktMTAtMjQgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtKU0NdIEdldCAzMi1iaXQgcG9ydHMgYmFjayBpbnRvIGJ1aWxkaW5nIG9yZGVyCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0
b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVt
b3RlL1JlbW90ZUluc3BlY3Rvci5jcHAJKHJldmlzaW9uIDI1MTUzOSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM4LDYgKzM4LDkgQEAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBib29sIFJl
bW90ZUluc3BlY3Rvcjo6c3RhcnRFbmFibGVkID0gdHJ1ZTsKKyNpZiBQTEFURk9STShJT1MpCitz
dGQ6OmF0b21pYzxib29sPiBSZW1vdGVJbnNwZWN0b3I6Om5lZWRNYWNoU2FuZGJveEV4dGVuc2lv
biA9IGZhbHNlOworI2VuZGlmCiAKIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjpzdGFydERpc2FibGVk
KCkKIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90
ZUluc3BlY3Rvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5oCShyZXZpc2lvbiAyNTE1MzkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTA2LDYgKzEwNiw5IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lk
IHJlcXVlc3RBdXRvbWF0aW9uU2Vzc2lvbihjb25zdCBTdHJpbmcmIHNlc3Npb25JZGVudGlmaWVy
LCBjb25zdCBTZXNzaW9uQ2FwYWJpbGl0aWVzJikgPSAwOwogICAgIH07CiAKKyNpZiBQTEFURk9S
TShJT1MpCisgICAgc3RhdGljIHZvaWQgc2V0TmVlZE1hY2hTYW5kYm94RXh0ZW5zaW9uKGJvb2wg
bmVlZEV4dGVuc2lvbikgeyBuZWVkTWFjaFNhbmRib3hFeHRlbnNpb24gPSBuZWVkRXh0ZW5zaW9u
OyB9CisjZW5kaWYKICAgICBzdGF0aWMgdm9pZCBzdGFydERpc2FibGVkKCk7CiAgICAgc3RhdGlj
IFJlbW90ZUluc3BlY3RvciYgc2luZ2xldG9uKCk7CiAgICAgZnJpZW5kIGNsYXNzIE5ldmVyRGVz
dHJveWVkPFJlbW90ZUluc3BlY3Rvcj47CkBAIC0yMjgsNiArMjMxLDkgQEAgcHJpdmF0ZToKICAg
ICBTdHJpbmcgYmFja2VuZENvbW1hbmRzKCkgY29uc3Q7CiAjZW5kaWYKICAgICBzdGF0aWMgYm9v
bCBzdGFydEVuYWJsZWQ7CisjaWYgUExBVEZPUk0oSU9TKQorICAgIHN0YXRpYyBzdGQ6OmF0b21p
Yzxib29sPiBuZWVkTWFjaFNhbmRib3hFeHRlbnNpb247CisjZW5kaWYKIAogICAgIC8vIFRhcmdl
dHMgY2FuIGJlIHJlZ2lzdGVyZWQgZnJvbSBhbnkgdGhyZWFkIGF0IGFueSB0aW1lLgogICAgIC8v
IEFueSB0YXJnZXQgY2FuIHNlbmQgbWVzc2FnZXMgb3ZlciB0aGUgWFBDIGNvbm5lY3Rpb24uCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0
b3JDb25zdGFudHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JDb25zdGFudHMuaAkocmV2aXNpb24gMjUxNTM5KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9y
Q29uc3RhbnRzLmgJKHdvcmtpbmcgY29weSkKQEAgLTExOCwzICsxMTgsNiBAQAogI2RlZmluZSBX
SVJQcm94eUFwcGxpY2F0aW9uUGFyZW50QXVkaXREYXRhS2V5ICAgQCJXSVJQcm94eUFwcGxpY2F0
aW9uUGFyZW50QXVkaXREYXRhIgogI2RlZmluZSBXSVJQcm94eUFwcGxpY2F0aW9uU2V0dXBNZXNz
YWdlICAgICAgICAgQCJXSVJQcm94eUFwcGxpY2F0aW9uU2V0dXBNZXNzYWdlIgogI2RlZmluZSBX
SVJQcm94eUFwcGxpY2F0aW9uU2V0dXBSZXNwb25zZU1lc3NhZ2UgQCJXSVJQcm94eUFwcGxpY2F0
aW9uU2V0dXBSZXNwb25zZU1lc3NhZ2UiCisKKyNkZWZpbmUgV0lSUmVtb3RlSW5zcGVjdG9yRW5h
YmxlZEtleSAgICAgICAgICAgIENGU1RSKCJSZW1vdGVJbnNwZWN0b3JFbmFibGVkIikKKyNkZWZp
bmUgV0lSUmVtb3RlSW5zcGVjdG9yRG9tYWluTmFtZSAgICAgICAgICAgIENGU1RSKCJjb20uYXBw
bGUud2ViaW5zcGVjdG9yZCIpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3JlbW90ZS9jb2NvYS9SZW1vdGVJbnNwZWN0b3JDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9jb2NvYS9SZW1vdGVJbnNwZWN0b3JD
b2NvYS5tbQkocmV2aXNpb24gMjUxNTM5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9yZW1vdGUvY29jb2EvUmVtb3RlSW5zcGVjdG9yQ29jb2EubW0JKHdvcmtpbmcgY29weSkK
QEAgLTg3LDYgKzg3LDExIEBAIFJlbW90ZUluc3BlY3RvciYgUmVtb3RlSW5zcGVjdG9yOjpzaW5n
bGUKIHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UmVtb3RlSW5zcGVjdG9yPiBzaGFyZWQ7
CiAKKyNpZiBQTEFURk9STShJT1MpCisgICAgaWYgKG5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbikK
KyAgICAgICAgcmV0dXJuIHNoYXJlZDsKKyNlbmRpZgorICAgIAogICAgIHN0YXRpYyBkaXNwYXRj
aF9vbmNlX3Qgb25jZTsKICAgICBkaXNwYXRjaF9vbmNlKCZvbmNlLCBeewogICAgICAgICBpZiAo
Y2FuQWNjZXNzV2ViSW5zcGVjdG9yTWFjaFBvcnQoKSkgewpJbmRleDogU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9u
IDI1MTUzOSkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMzcgQEAKKzIwMTktMTAtMjMgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUu
Y29tPgorCisgICAgICAgIE1hY2ggbG9va3VwIHRvIGNvbS5hcHBsZS53ZWJpbnNwZWN0b3Igc2hv
dWxkIG5vdCBiZSBhbGxvd2VkIGluIFdlYktpdCdzIFdlYkNvbnRlbnQgcHJvY2VzcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMjE0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSWYgdGhlIFdlYiBpbnNw
ZWN0b3IgaXMgZW5hYmxlZCB3aGVuIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgaXMgc3RhcnRlZCwg
YSBzYW5kYm94IGV4dGVuc2lvbiBpcyBjcmVhdGVkCisgICAgICAgIGZvciAnY29tLmFwcGxlLndl
Ymluc3BlY3RvcicgYW5kIGEgbWVzc2FnZSBpcyBzZW50IHRvIHRoZSBXZWJDb250ZW50IHByb2Nl
c3MsIHdoZXJlIHRoZSBleHRlbnNpb24gd2lsbAorICAgICAgICBiZSBjb25zdW1lZCwgYW5kIHRo
ZSByZW1vdGUgV2ViIGluc3BlY3RvciB3aWxsIGJlIHN0YXJ0ZWQuIFRoZSBzYW1lIGhhcHBlbnMg
aWYgV2ViIGluc3BlY3RvciBpcyBlbmFibGVkCisgICAgICAgIGJ5IHRoZSB1c2VyIHdoaWxlIFNh
ZmFyaSBpcyBydW5uaW5nLiBXaGVuIFJlbW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCkgaXMgY2Fs
bGVkIGluIHRoZSBVSSBwcm9jZXNzIHRoZXJlCisgICAgICAgIGlzIG5vIG5lZWQgZm9yIGFuIGV4
dGVuc2lvbiwgc2luY2UgYWNjZXNzIHRvIHRoZSBXZWIgaW5zcGVjdG9yIGRhZW1vbiBpcyBhbHJl
YWR5IGFsbG93ZWQuCisKKyAgICAgICAgKiBSZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9j
b20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQuc2I6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29s
OjpiYWNrbGlnaHRMZXZlbERpZENoYW5nZUNhbGxiYWNrKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc1Bvb2w6OnJlbW90ZVdlYkluc3BlY3RvckVuYWJsZWRDYWxsYmFjayk6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpyZWdpc3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycyk6
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjp1bnJlZ2lzdGVyTm90aWZpY2F0aW9u
T2JzZXJ2ZXJzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29j
b2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6ZW5hYmxlUmVtb3RlSW5z
cGVjdG9ySWZOZWVkZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjppbml0aWFsaXplTmV3V2ViUHJvY2Vz
cyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQ
cm94eTo6ZGlkRmluaXNoTGF1bmNoaW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5t
ZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5t
bToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6ZW5hYmxlUmVtb3RlV2ViSW5zcGVjdG9y
KToKKwogMjAxOS0xMC0yNCAgQ2FybG9zIEFsYmVydG8gTG9wZXogUGVyZXogIDxjbG9wZXpAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1RLXVtXUEVdIEVuYWJsZSBydW50aW1lIHNldHRpbmcgd2l0
aCBleHBlcmltZW50YWwgZmVhdHVyZXMgZm9yIFNlcnZlciBUaW1pbmcgQVBJCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQu
V2ViQ29udGVudC5zYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5k
Ym94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYgkocmV2aXNpb24g
MjUxNTM5KQorKysgU291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9j
b20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQuc2IJKHdvcmtpbmcgY29weSkKQEAgLTg2MSwxMCAr
ODYxLDYgQEAKIChtb2JpbGUtcHJlZmVyZW5jZXMtcmVhZCAiY29tLmFwcGxlLm1lZGlhYWNjZXNz
aWJpbGl0eSIpCiAobW9iaWxlLXByZWZlcmVuY2VzLXJlYWQtd3JpdGUgImNvbS5hcHBsZS5tZWRp
YWFjY2Vzc2liaWxpdHkucHVibGljIikKIAotOzsgUmVtb3RlIFdlYiBJbnNwZWN0b3IKLShhbGxv
dyBtYWNoLWxvb2t1cAotICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLndlYmluc3BlY3Rv
ciIpKQotCiA7OyBWYXJpb3VzIHNlcnZpY2VzIHJlcXVpcmVkIGJ5IENGTmV0d29yayBhbmQgb3Ro
ZXIgZnJhbWV3b3JrcwogKGFsbG93IG1hY2gtbG9va3VwCiAgICAgKGdsb2JhbC1uYW1lICJjb20u
YXBwbGUuUG93ZXJNYW5hZ2VtZW50LmNvbnRyb2wiKQpJbmRleDogU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkocmV2aXNpb24gMjUxNTM5KQorKysgU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDM4
LDcgKzEwMzgsNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjppbml0aWFsaXplTmV3V2ViUHJvCiAK
ICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKICAgICAvLyBJbml0aWFsaXplIHJlbW90ZSBp
bnNwZWN0b3IgY29ubmVjdGlvbiBub3cgdGhhdCB3ZSBoYXZlIGEgc3ViLXByb2Nlc3MgdGhhdCBp
cyBob3N0aW5nIG9uZSBvZiBvdXIgd2ViIHZpZXdzLgotICAgIEluc3BlY3Rvcjo6UmVtb3RlSW5z
cGVjdG9yOjpzaW5nbGV0b24oKTsgCisgICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNp
bmdsZXRvbigpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShNQUMpCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgJKHJldmlzaW9uIDI1MTUzOSkKKysrIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgJKHdvcmtpbmcgY29weSkKQEAgLTU5
NCw2ICs1OTQsOSBAQCBwcml2YXRlOgogI2lmIFBMQVRGT1JNKElPUykKICAgICBzdGF0aWMgZmxv
YXQgZGlzcGxheUJyaWdodG5lc3MoKTsKICAgICBzdGF0aWMgdm9pZCBiYWNrbGlnaHRMZXZlbERp
ZENoYW5nZUNhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lkICpvYnNlcnZlciwg
Q0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qgdm9pZCAqLCBDRkRpY3Rpb25hcnlSZWYgdXNlckluZm8p
OyAgICAKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKKyAgICBzdGF0aWMgdm9pZCByZW1v
dGVXZWJJbnNwZWN0b3JFbmFibGVkQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsIHZv
aWQgKm9ic2VydmVyLCBDRlN0cmluZ1JlZiBuYW1lLCBjb25zdCB2b2lkICosIENGRGljdGlvbmFy
eVJlZiB1c2VySW5mbyk7CisjZW5kaWYKICNlbmRpZgogCiAgICAgUmVmPEFQSTo6UHJvY2Vzc1Bv
b2xDb25maWd1cmF0aW9uPiBtX2NvbmZpZ3VyYXRpb247CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAJKHJldmlzaW9uIDI1MTUzOSkKKysrIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTg2Niw2ICs4NjYsMTAgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZEZpbmlzaExhdW5jaGlu
ZwogCiAgICAgdW5ibG9ja0FjY2Vzc2liaWxpdHlTZXJ2ZXJJZk5lZWRlZCgpOwogI2VuZGlmCisK
KyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikgJiYgUExBVEZPUk0oSU9TKQorICAgIGVuYWJs
ZVJlbW90ZUluc3BlY3RvcklmTmVlZGVkKCk7CisjZW5kaWYKIH0KIAogV2ViRnJhbWVQcm94eSog
V2ViUHJvY2Vzc1Byb3h5Ojp3ZWJGcmFtZShGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCkgY29uc3QK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCShyZXZpc2lv
biAyNTE1MzkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAko
d29ya2luZyBjb3B5KQpAQCAtMzI3LDYgKzMyNywxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCB1bmJs
b2NrQWNjZXNzaWJpbGl0eVNlcnZlcklmTmVlZGVkKCk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShS
RU1PVEVfSU5TUEVDVE9SKSAmJiBQTEFURk9STShJT1MpCisgICAgdm9pZCBlbmFibGVSZW1vdGVJ
bnNwZWN0b3JJZk5lZWRlZCgpOworI2VuZGlmCisgICAgCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKICAgICB2b2lkIHByb2Nlc3NXYXNSZXN1bWVkKCk7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQko
cmV2aXNpb24gMjUxNTM5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJv
Y2Vzc1Bvb2xDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjAsNiArNjAsMTEgQEAKICNpbXBv
cnQgPHd0Zi9jb2NvYS9FbnRpdGxlbWVudHMuaD4KICNpbXBvcnQgPHd0Zi9zcGkvZGFyd2luL2R5
bGRTUEkuaD4KIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQorI2ltcG9ydCA8SmF2YVNj
cmlwdENvcmUvUmVtb3RlSW5zcGVjdG9yLmg+CisjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9SZW1v
dGVJbnNwZWN0b3JDb25zdGFudHMuaD4KKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oTUFDKQogI2lt
cG9ydCA8UXVhcnR6Q29yZS9DQVJlbW90ZUxheWVyU2VydmVyLmg+CiAjZWxzZQpAQCAtNDAxLDEx
ICs0MDYsMjIgQEAgZmxvYXQgV2ViUHJvY2Vzc1Bvb2w6OmRpc3BsYXlCcmlnaHRuZXNzKAogICAg
IAogdm9pZCBXZWJQcm9jZXNzUG9vbDo6YmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2VDYWxsYmFjayhD
Rk5vdGlmaWNhdGlvbkNlbnRlclJlZiBjZW50ZXIsIHZvaWQgKm9ic2VydmVyLCBDRlN0cmluZ1Jl
ZiBuYW1lLCBjb25zdCB2b2lkICpvYmplY3QsIENGRGljdGlvbmFyeVJlZiB1c2VySW5mbykKIHsK
LSAgICBXZWJQcm9jZXNzUG9vbCogcG9vbCA9IHJlaW50ZXJwcmV0X2Nhc3Q8V2ViUHJvY2Vzc1Bv
b2wqPihvYnNlcnZlcik7CisgICAgYXV0byogcG9vbCA9IHJlaW50ZXJwcmV0X2Nhc3Q8V2ViUHJv
Y2Vzc1Bvb2wqPihvYnNlcnZlcik7CiAgICAgcG9vbC0+c2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3Nh
Z2VzOjpXZWJQcm9jZXNzOjpCYWNrbGlnaHRMZXZlbERpZENoYW5nZShCS1NEaXNwbGF5QnJpZ2h0
bmVzc0dldEN1cnJlbnQoKSkpOwogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BF
Q1RPUikgJiYgUExBVEZPUk0oSU9TKQordm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVtb3RlV2ViSW5z
cGVjdG9yRW5hYmxlZENhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lkICpvYnNl
cnZlciwgQ0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qgdm9pZCAqLCBDRkRpY3Rpb25hcnlSZWYgdXNl
ckluZm8pCit7CisgICAgYXV0byogcG9vbCA9IHJlaW50ZXJwcmV0X2Nhc3Q8V2ViUHJvY2Vzc1Bv
b2wqPihvYnNlcnZlcik7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwb29sLT5tX3Byb2Nl
c3Nlcy5zaXplKCk7ICsraSkgeworICAgICAgICBhdXRvIHByb2Nlc3MgPSBwb29sLT5tX3Byb2Nl
c3Nlc1tpXTsKKyAgICAgICAgcHJvY2Vzcy0+ZW5hYmxlUmVtb3RlSW5zcGVjdG9ySWZOZWVkZWQo
KTsKKyAgICB9Cit9CisjZW5kaWYKKwogdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVnaXN0ZXJOb3Rp
ZmljYXRpb25PYnNlcnZlcnMoKQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtNDU4
LDYgKzQ3NCw5IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnJlZ2lzdGVyTm90aWZpY2F0aW8KICAg
ICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX3Byb2Nlc3Nlcy5zaXplKCk7ICsraSkKICAg
ICAgICAgICAgIG1fcHJvY2Vzc2VzW2ldLT51bmJsb2NrQWNjZXNzaWJpbGl0eVNlcnZlcklmTmVl
ZGVkKCk7CiAgICAgfV07CisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisgICAgQ0ZOb3Rp
ZmljYXRpb25DZW50ZXJBZGRPYnNlcnZlcihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERhcndpbk5v
dGlmeUNlbnRlcigpLCB0aGlzLCByZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVkQ2FsbGJhY2ssIHN0
YXRpY19jYXN0PENGU3RyaW5nUmVmPihDRlNUUihXSVJTZXJ2aWNlRW5hYmxlZE5vdGlmaWNhdGlv
bikpLCBudWxscHRyLCBDRk5vdGlmaWNhdGlvblN1c3BlbnNpb25CZWhhdmlvckNvYWxlc2NlKTsK
KyNlbmRpZgogI2VuZGlmIC8vICFQTEFURk9STShJT1NfRkFNSUxZKQogfQogCkBAIC00NzYsOCAr
NDk1LDExIEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmljYXQKICAgICBb
W05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOm1fYWN0
aXZhdGlvbk9ic2VydmVyLmdldCgpXTsKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1
bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOm1fZGVhY3RpdmF0aW9uT2JzZXJ2ZXIuZ2V0KCldOwog
I2VsaWYgUExBVEZPUk0oSU9TKQotICAgIENGTm90aWZpY2F0aW9uQ2VudGVyUmVtb3ZlT2JzZXJ2
ZXIoQ0ZOb3RpZmljYXRpb25DZW50ZXJHZXREYXJ3aW5Ob3RpZnlDZW50ZXIoKSwgdGhpcywgc3Rh
dGljX2Nhc3Q8Q0ZTdHJpbmdSZWY+KFVJQmFja2xpZ2h0TGV2ZWxDaGFuZ2VkTm90aWZpY2F0aW9u
KSAsIG51bGxwdHIpOworICAgIENGTm90aWZpY2F0aW9uQ2VudGVyUmVtb3ZlT2JzZXJ2ZXIoQ0ZO
b3RpZmljYXRpb25DZW50ZXJHZXREYXJ3aW5Ob3RpZnlDZW50ZXIoKSwgdGhpcywgc3RhdGljX2Nh
c3Q8Q0ZTdHJpbmdSZWY+KFVJQmFja2xpZ2h0TGV2ZWxDaGFuZ2VkTm90aWZpY2F0aW9uKSwgbnVs
bHB0cik7CiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVP
YnNlcnZlcjptX2FjY2Vzc2liaWxpdHlFbmFibGVkT2JzZXJ2ZXIuZ2V0KCldOworI2lmIEVOQUJM
RShSRU1PVEVfSU5TUEVDVE9SKQorICAgIENGTm90aWZpY2F0aW9uQ2VudGVyUmVtb3ZlT2JzZXJ2
ZXIoQ0ZOb3RpZmljYXRpb25DZW50ZXJHZXREYXJ3aW5Ob3RpZnlDZW50ZXIoKSwgdGhpcywgQ0ZT
VFIoV0lSU2VydmljZUVuYWJsZWROb3RpZmljYXRpb24pLCBudWxscHRyKTsKKyNlbmRpZgogI2Vu
ZGlmIC8vICFQTEFURk9STShJT1NfRkFNSUxZKQogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQkocmV2aXNp
b24gMjUxNTM5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1By
b3h5Q29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTIxMiw0ICsyMTIsMTUgQEAgdm9pZCBXZWJQ
cm9jZXNzUHJveHk6OnByb2Nlc3NXYXNSZXN1bWVkKAogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUo
UkVNT1RFX0lOU1BFQ1RPUikgJiYgUExBVEZPUk0oSU9TKQordm9pZCBXZWJQcm9jZXNzUHJveHk6
OmVuYWJsZVJlbW90ZUluc3BlY3RvcklmTmVlZGVkKCkKK3sKKyAgICBpZiAoIUNGUHJlZmVyZW5j
ZXNHZXRBcHBJbnRlZ2VyVmFsdWUoV0lSUmVtb3RlSW5zcGVjdG9yRW5hYmxlZEtleSwgV0lSUmVt
b3RlSW5zcGVjdG9yRG9tYWluTmFtZSwgbnVsbHB0cikpCisgICAgICAgIHJldHVybjsKKyAgICBT
YW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgaGFuZGxlOworICAgIGF1dG8gYXVkaXRUb2tlbiA9IGNv
bm5lY3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigpOworICAgIGlmIChhdWRpdFRva2VuICYmIFNhbmRi
b3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvck1hY2hMb29rdXBCeUF1ZGl0VG9rZW4oImNvbS5h
cHBsZS53ZWJpbnNwZWN0b3IiLCAqYXVkaXRUb2tlbiwgaGFuZGxlKSkKKyAgICAgICAgc2VuZChN
ZXNzYWdlczo6V2ViUHJvY2Vzczo6RW5hYmxlUmVtb3RlV2ViSW5zcGVjdG9yKGhhbmRsZSksIDAp
OworfQorI2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
Y3BwCShyZXZpc2lvbiAyNTE1MzkpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwNyw2ICs0MDcsOSBAQCB2b2lkIFdlYlByb2Nl
c3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKFdlCiAjZW5kaWYKIAogI2lmIEVOQUJMRShSRU1PVEVf
SU5TUEVDVE9SKSAmJiBQTEFURk9STShDT0NPQSkKKyNpZiBQTEFURk9STShJT1MpCisgICAgSW5z
cGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNldE5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbih0cnVl
KTsKKyNlbmRpZgogICAgIGlmIChPcHRpb25hbDxhdWRpdF90b2tlbl90PiBhdWRpdFRva2VuID0g
cGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigpKSB7CiAgICAgICAgIFJl
dGFpblB0cjxDRkRhdGFSZWY+IGF1ZGl0RGF0YSA9IGFkb3B0Q0YoQ0ZEYXRhQ3JlYXRlKG51bGxw
dHIsIChjb25zdCBVSW50OCopJiphdWRpdFRva2VuLCBzaXplb2YoKmF1ZGl0VG9rZW4pKSk7CiAg
ICAgICAgIEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpzaW5nbGV0b24oKS5zZXRQYXJlbnRQ
cm9jZXNzSW5mb3JtYXRpb24oV2ViQ29yZTo6cHJlc2VudGluZ0FwcGxpY2F0aW9uUElEKCksIGF1
ZGl0RGF0YSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHJldmlz
aW9uIDI1MTUzOSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQ1MSw2ICs0NTEsOSBAQCBwcml2YXRlOgogCiAjaWYgUExBVEZPUk0o
SU9TKQogICAgIHZvaWQgYmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2UoZmxvYXQgYmFja2xpZ2h0TGV2
ZWwpOworI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQorICAgIHZvaWQgZW5hYmxlUmVtb3Rl
V2ViSW5zcGVjdG9yKGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYpOworI2VuZGlmCiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgkocmV2aXNpb24gMjUxNTM5KQor
KysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4JKHdvcmtp
bmcgY29weSkKQEAgLTEyOSw2ICsxMjksOSBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExlZ2Fj
eVJlY2VpdmVyIHsKIAogI2lmIFBMQVRGT1JNKElPUykKICAgICBCYWNrbGlnaHRMZXZlbERpZENo
YW5nZShmbG9hdCBiYWNrbGlnaHRMZXZlbCkKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikK
KyAgICBFbmFibGVSZW1vdGVXZWJJbnNwZWN0b3IoV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpI
YW5kbGUgaGFuZGxlKTsKKyNlbmRpZgogI2VuZGlmCiAKICAgICBJc0pJVEVuYWJsZWQoKSAtPiAo
Ym9vbCBlbmFibGVkKSBBc3luYwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1dlYlByb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lvbiAyNTE1MzkpCisrKyBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC03OSw2ICs3OSwxMCBAQAogI2ltcG9ydCA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQg
PHd0Zi9jb2NvYS9OU1VSTEV4dHJhcy5oPgogCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1Ip
CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUmVtb3RlSW5zcGVjdG9yLmg+CisjZW5kaWYKKwog
I2lmIFBMQVRGT1JNKElPUykKICNpbXBvcnQgIlVJS2l0U1BJLmgiCiAjZW5kaWYKQEAgLTgzOSw2
ICs4NDMsMTUgQEAgdm9pZCBXZWJQcm9jZXNzOjpiYWNrbGlnaHRMZXZlbERpZENoYW5nZQogfQog
I2VuZGlmCiAKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikgJiYgUExBVEZPUk0oSU9TKQor
dm9pZCBXZWJQcm9jZXNzOjplbmFibGVSZW1vdGVXZWJJbnNwZWN0b3IoY29uc3QgU2FuZGJveEV4
dGVuc2lvbjo6SGFuZGxlJiBoYW5kbGUpCit7CisgICAgU2FuZGJveEV4dGVuc2lvbjo6Y29uc3Vt
ZVBlcm1hbmVudGx5KGhhbmRsZSk7CisgICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNl
dE5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbihmYWxzZSk7CisgICAgSW5zcGVjdG9yOjpSZW1vdGVJ
bnNwZWN0b3I6OnNpbmdsZXRvbigpOworfQorI2VuZGlmCisKIHZvaWQgV2ViUHJvY2Vzczo6c2V0
TWVkaWFNSU1FVHlwZXMoY29uc3QgVmVjdG9yPFN0cmluZz4gdHlwZXMpCiB7CiAgICAgQVZBc3Nl
dE1JTUVUeXBlQ2FjaGU6OnNpbmdsZXRvbigpLnNldFN1cHBvcnRlZFR5cGVzKHR5cGVzKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>382869</attachid>
            <date>2019-11-05 17:15:52 -0800</date>
            <delta_ts>2020-02-06 10:59:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203214-20191105171551.patch</filename>
            <type>text/plain</type>
            <size>16426</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjUyMTEyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBA
CisyMDE5LTExLTA1ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAg
ICAgICBNYWNoIGxvb2t1cCB0byBjb20uYXBwbGUud2ViaW5zcGVjdG9yIHNob3VsZCBub3QgYmUg
YWxsb3dlZCBpbiBXZWJLaXQncyBXZWJDb250ZW50IHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzIxNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdGF0aWMgZmxhZyBpbiBSZW1vdGVJ
bnNwZWN0b3IgdG8gaW5kaWNhdGUgd2hldGhlciBhIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5lZWRl
ZC4gVGhlIHJlbW90ZSBpbnNwZWN0b3Igd2lsbCBvbmx5IGJlCisgICAgICAgIHN0YXJ0ZWQgaWYg
dGhlIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5vdCBuZWVkZWQuIE9ubHkgdGhlIFdlYkNvbnRlbnQg
cHJvY2VzcyB3aWxsIG5lZWQgYSBzYW5kYm94IGV4dGVuc2lvbiwgc2luY2UgdGhpcworICAgICAg
ICBwYXRjaCByZW1vdmVzIG1hY2ggYWNjZXNzIHRvICdjb20uYXBwbGUud2ViaW5zcGVjdG9yJyBm
b3IgdGhpcyBwcm9jZXNzLiBBbHNvIGFkZCBuYW1lIGFuZCBkb21haW4gZm9yIHRoZQorICAgICAg
ICAnRW5hYmxlIFJlbW90ZSBJbnNwZWN0b3InIHNldHRpbmcsIHNpbmNlIHRoaXMgd2lsbCBiZSB1
c2VkIGluIHRoZSBVSSBwcm9jZXNzLgorCisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1v
dGVJbnNwZWN0b3IuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVj
dG9yLmg6CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JDb25zdGFu
dHMuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3RvckNv
Y29hLm1tOgorICAgICAgICAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbik6
CisKIDIwMTktMTEtMDQgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbSlNDXSBJbnRyb2R1Y2UgTGlua1RpbWVDb25zdGFudCBtZWNoYW5pc20KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVt
b3RlSW5zcGVjdG9yLmNwcAkocmV2aXNpb24gMjUyMTEyKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzgsNiArMzgsOSBAQAogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIGJvb2wgUmVtb3RlSW5z
cGVjdG9yOjpzdGFydEVuYWJsZWQgPSB0cnVlOworI2lmIFBMQVRGT1JNKElPUykKK3N0ZDo6YXRv
bWljPGJvb2w+IFJlbW90ZUluc3BlY3Rvcjo6bmVlZE1hY2hTYW5kYm94RXh0ZW5zaW9uID0gZmFs
c2U7CisjZW5kaWYKIAogdm9pZCBSZW1vdGVJbnNwZWN0b3I6OnN0YXJ0RGlzYWJsZWQoKQogewpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVj
dG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1v
dGUvUmVtb3RlSW5zcGVjdG9yLmgJKHJldmlzaW9uIDI1MjExMikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDYsNiArMTA2LDkgQEAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVz
dEF1dG9tYXRpb25TZXNzaW9uKGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkZW50aWZpZXIsIGNvbnN0
IFNlc3Npb25DYXBhYmlsaXRpZXMmKSA9IDA7CiAgICAgfTsKIAorI2lmIFBMQVRGT1JNKElPUykK
KyAgICBzdGF0aWMgdm9pZCBzZXROZWVkTWFjaFNhbmRib3hFeHRlbnNpb24oYm9vbCBuZWVkRXh0
ZW5zaW9uKSB7IG5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbiA9IG5lZWRFeHRlbnNpb247IH0KKyNl
bmRpZgogICAgIHN0YXRpYyB2b2lkIHN0YXJ0RGlzYWJsZWQoKTsKICAgICBzdGF0aWMgUmVtb3Rl
SW5zcGVjdG9yJiBzaW5nbGV0b24oKTsKICAgICBmcmllbmQgY2xhc3MgTmV2ZXJEZXN0cm95ZWQ8
UmVtb3RlSW5zcGVjdG9yPjsKQEAgLTIyOCw2ICsyMzEsOSBAQCBwcml2YXRlOgogICAgIFN0cmlu
ZyBiYWNrZW5kQ29tbWFuZHMoKSBjb25zdDsKICNlbmRpZgogICAgIHN0YXRpYyBib29sIHN0YXJ0
RW5hYmxlZDsKKyNpZiBQTEFURk9STShJT1MpCisgICAgc3RhdGljIHN0ZDo6YXRvbWljPGJvb2w+
IG5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbjsKKyNlbmRpZgogCiAgICAgLy8gVGFyZ2V0cyBjYW4g
YmUgcmVnaXN0ZXJlZCBmcm9tIGFueSB0aHJlYWQgYXQgYW55IHRpbWUuCiAgICAgLy8gQW55IHRh
cmdldCBjYW4gc2VuZCBtZXNzYWdlcyBvdmVyIHRoZSBYUEMgY29ubmVjdGlvbi4KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3RvckNvbnN0
YW50cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVt
b3RlL1JlbW90ZUluc3BlY3RvckNvbnN0YW50cy5oCShyZXZpc2lvbiAyNTIxMTIpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JDb25zdGFu
dHMuaAkod29ya2luZyBjb3B5KQpAQCAtMTE4LDMgKzExOCw2IEBACiAjZGVmaW5lIFdJUlByb3h5
QXBwbGljYXRpb25QYXJlbnRBdWRpdERhdGFLZXkgICBAIldJUlByb3h5QXBwbGljYXRpb25QYXJl
bnRBdWRpdERhdGEiCiAjZGVmaW5lIFdJUlByb3h5QXBwbGljYXRpb25TZXR1cE1lc3NhZ2UgICAg
ICAgICBAIldJUlByb3h5QXBwbGljYXRpb25TZXR1cE1lc3NhZ2UiCiAjZGVmaW5lIFdJUlByb3h5
QXBwbGljYXRpb25TZXR1cFJlc3BvbnNlTWVzc2FnZSBAIldJUlByb3h5QXBwbGljYXRpb25TZXR1
cFJlc3BvbnNlTWVzc2FnZSIKKworI2RlZmluZSBXSVJSZW1vdGVJbnNwZWN0b3JFbmFibGVkS2V5
ICAgICAgICAgICAgQ0ZTVFIoIlJlbW90ZUluc3BlY3RvckVuYWJsZWQiKQorI2RlZmluZSBXSVJS
ZW1vdGVJbnNwZWN0b3JEb21haW5OYW1lICAgICAgICAgICAgQ0ZTVFIoImNvbS5hcHBsZS53ZWJp
bnNwZWN0b3JkIikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3Rl
L2NvY29hL1JlbW90ZUluc3BlY3RvckNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3RvckNvY29hLm1t
CShyZXZpc2lvbiAyNTIxMTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Jl
bW90ZS9jb2NvYS9SZW1vdGVJbnNwZWN0b3JDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtODcs
NiArODcsMTEgQEAgUmVtb3RlSW5zcGVjdG9yJiBSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZQogewog
ICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxSZW1vdGVJbnNwZWN0b3I+IHNoYXJlZDsKIAorI2lm
IFBMQVRGT1JNKElPUykKKyAgICBpZiAobmVlZE1hY2hTYW5kYm94RXh0ZW5zaW9uKQorICAgICAg
ICByZXR1cm4gc2hhcmVkOworI2VuZGlmCisgICAgCiAgICAgc3RhdGljIGRpc3BhdGNoX29uY2Vf
dCBvbmNlOwogICAgIGRpc3BhdGNoX29uY2UoJm9uY2UsIF57CiAgICAgICAgIGlmIChjYW5BY2Nl
c3NXZWJJbnNwZWN0b3JNYWNoUG9ydCgpKSB7CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjUyMTEy
KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwz
NyBAQAorMjAxOS0xMS0wNSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisK
KyAgICAgICAgTWFjaCBsb29rdXAgdG8gY29tLmFwcGxlLndlYmluc3BlY3RvciBzaG91bGQgbm90
IGJlIGFsbG93ZWQgaW4gV2ViS2l0J3MgV2ViQ29udGVudCBwcm9jZXNzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMyMTQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiB0aGUgV2ViIGluc3BlY3RvciBp
cyBlbmFibGVkIHdoZW4gdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBpcyBzdGFydGVkLCBhIHNhbmRi
b3ggZXh0ZW5zaW9uIGlzIGNyZWF0ZWQKKyAgICAgICAgZm9yICdjb20uYXBwbGUud2ViaW5zcGVj
dG9yJyBhbmQgYSBtZXNzYWdlIGlzIHNlbnQgdG8gdGhlIFdlYkNvbnRlbnQgcHJvY2Vzcywgd2hl
cmUgdGhlIGV4dGVuc2lvbiB3aWxsCisgICAgICAgIGJlIGNvbnN1bWVkLCBhbmQgdGhlIHJlbW90
ZSBXZWIgaW5zcGVjdG9yIHdpbGwgYmUgc3RhcnRlZC4gVGhlIHNhbWUgaGFwcGVucyBpZiBXZWIg
aW5zcGVjdG9yIGlzIGVuYWJsZWQKKyAgICAgICAgYnkgdGhlIHVzZXIgd2hpbGUgU2FmYXJpIGlz
IHJ1bm5pbmcuIFdoZW4gUmVtb3RlSW5zcGVjdG9yOjpzaW5nbGV0b24oKSBpcyBjYWxsZWQgaW4g
dGhlIFVJIHByb2Nlc3MgdGhlcmUKKyAgICAgICAgaXMgbm8gbmVlZCBmb3IgYW4gZXh0ZW5zaW9u
LCBzaW5jZSBhY2Nlc3MgdG8gdGhlIFdlYiBpbnNwZWN0b3IgZGFlbW9uIGlzIGFscmVhZHkgYWxs
b3dlZC4KKworICAgICAgICAqIFJlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBs
ZS5XZWJLaXQuV2ViQ29udGVudC5zYjoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJv
Y2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmJhY2ts
aWdodExldmVsRGlkQ2hhbmdlQ2FsbGJhY2spOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNz
UG9vbDo6cmVtb3RlV2ViSW5zcGVjdG9yRW5hYmxlZENhbGxiYWNrKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzc1Bvb2w6OnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZl
cnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjplbmFibGVSZW1vdGVJbnNwZWN0b3JJ
Zk5lZWRlZCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmluaXRpYWxpemVOZXdXZWJQcm9jZXNzKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5Ojpk
aWRGaW5pc2hMYXVuY2hpbmcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjplbmFibGVSZW1vdGVXZWJJbnNwZWN0b3IpOgorCiAy
MDE5LTExLTA1ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAg
ICBFbGltaW5hdGUgbWFjaCBsb29rdXAgdG8gY2ZwcmVmc2Qgb24gcHJvY2VzcyBzdGFydHVwCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBs
ZS5XZWJLaXQuV2ViQ29udGVudC5zYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1Jlc291
cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYgko
cmV2aXNpb24gMjUyMTEyKQorKysgU291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2Zp
bGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQuc2IJKHdvcmtpbmcgY29weSkKQEAg
LTkxNiw3ICs5MTYsNyBAQAogKG1lZGlhLWFjY2Vzc2liaWxpdHktc3VwcG9ydCkKIAogOzsgUmVt
b3RlIFdlYiBJbnNwZWN0b3IKLShhbGxvdyBtYWNoLWxvb2t1cAorKGFsbG93IG1hY2gtbG9va3Vw
ICh3aXRoIHJlcG9ydCkgKHdpdGggdGVsZW1ldHJ5KQogICAgICAgIChnbG9iYWwtbmFtZSAiY29t
LmFwcGxlLndlYmluc3BlY3RvciIpKQogCiA7OyBWYXJpb3VzIHNlcnZpY2VzIHJlcXVpcmVkIGJ5
IENGTmV0d29yayBhbmQgb3RoZXIgZnJhbWV3b3JrcwpAQCAtOTQzLDcgKzk0Myw3IEBACiAoYWxs
b3cgbWFjaC1sb29rdXAKICAgICAocmVxdWlyZS1hbGwKICAgICAgICAgKGV4dGVuc2lvbiAiY29t
LmFwcGxlLndlYmtpdC5leHRlbnNpb24ubWFjaCIpCi0gICAgICAgIChnbG9iYWwtbmFtZSAiY29t
LmFwcGxlLmlwaG9uZS5heHNlcnZlci1zeXN0ZW13aWRlIikpKQorICAgICAgICAoZ2xvYmFsLW5h
bWUgImNvbS5hcHBsZS5pcGhvbmUuYXhzZXJ2ZXItc3lzdGVtd2lkZSIgImNvbS5hcHBsZS53ZWJp
bnNwZWN0b3IiKSkpCiAKIChtZWRpYS1jYXB0dXJlLXN1cHBvcnQpCiAKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHJldmlzaW9uIDI1MjExMikKKysr
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTAzMiw3ICsxMDMyLDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6aW5pdGlhbGl6ZU5l
d1dlYlBybwogCiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCiAgICAgLy8gSW5pdGlhbGl6
ZSByZW1vdGUgaW5zcGVjdG9yIGNvbm5lY3Rpb24gbm93IHRoYXQgd2UgaGF2ZSBhIHN1Yi1wcm9j
ZXNzIHRoYXQgaXMgaG9zdGluZyBvbmUgb2Ygb3VyIHdlYiB2aWV3cy4KLSAgICBJbnNwZWN0b3I6
OlJlbW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCk7IAorICAgIEluc3BlY3Rvcjo6UmVtb3RlSW5z
cGVjdG9yOjpzaW5nbGV0b24oKTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQpJbmRleDog
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCShyZXZpc2lvbiAyNTIxMTIp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCSh3b3JraW5nIGNv
cHkpCkBAIC01OTUsNiArNTk1LDkgQEAgcHJpdmF0ZToKICNpZiBQTEFURk9STShJT1MpCiAgICAg
c3RhdGljIGZsb2F0IGRpc3BsYXlCcmlnaHRuZXNzKCk7CiAgICAgc3RhdGljIHZvaWQgYmFja2xp
Z2h0TGV2ZWxEaWRDaGFuZ2VDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwgdm9pZCAq
b2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZvaWQgKiwgQ0ZEaWN0aW9uYXJ5UmVm
IHVzZXJJbmZvKTsgICAgCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisgICAgc3RhdGlj
IHZvaWQgcmVtb3RlV2ViSW5zcGVjdG9yRW5hYmxlZENhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2Vu
dGVyUmVmLCB2b2lkICpvYnNlcnZlciwgQ0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qgdm9pZCAqLCBD
RkRpY3Rpb25hcnlSZWYgdXNlckluZm8pOworI2VuZGlmCiAjZW5kaWYKIAogICAgIFJlZjxBUEk6
OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbj4gbV9jb25maWd1cmF0aW9uOwpJbmRleDogU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCShyZXZpc2lvbiAyNTIxMTIp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC04NjgsNiArODY4LDEwIEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRGaW5p
c2hMYXVuY2hpbmcKIAogICAgIHVuYmxvY2tBY2Nlc3NpYmlsaXR5U2VydmVySWZOZWVkZWQoKTsK
ICNlbmRpZgorCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpICYmIFBMQVRGT1JNKElPUykK
KyAgICBlbmFibGVSZW1vdGVJbnNwZWN0b3JJZk5lZWRlZCgpOworI2VuZGlmCiB9CiAKIFdlYkZy
YW1lUHJveHkqIFdlYlByb2Nlc3NQcm94eTo6d2ViRnJhbWUoRnJhbWVJZGVudGlmaWVyIGZyYW1l
SUQpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
aAkocmV2aXNpb24gMjUyMTEyKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTMyNCw2ICszMjQsMTAgQEAgcHVibGljOgogICAg
IHZvaWQgdW5ibG9ja0FjY2Vzc2liaWxpdHlTZXJ2ZXJJZk5lZWRlZCgpOwogI2VuZGlmCiAKKyNp
ZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikgJiYgUExBVEZPUk0oSU9TKQorICAgIHZvaWQgZW5h
YmxlUmVtb3RlSW5zcGVjdG9ySWZOZWVkZWQoKTsKKyNlbmRpZgorICAgIAogI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpCiAgICAgdm9pZCBwcm9jZXNzV2FzUmVzdW1lZCgpOwogI2VuZGlmCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29s
Q29jb2EubW0JKHJldmlzaW9uIDI1MjExMikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTYxLDYgKzYxLDEx
IEBACiAjaW1wb3J0IDx3dGYvY29jb2EvRW50aXRsZW1lbnRzLmg+CiAjaW1wb3J0IDx3dGYvc3Bp
L2Rhcndpbi9keWxkU1BJLmg+CiAKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKKyNpbXBv
cnQgPEphdmFTY3JpcHRDb3JlL1JlbW90ZUluc3BlY3Rvci5oPgorI2ltcG9ydCA8SmF2YVNjcmlw
dENvcmUvUmVtb3RlSW5zcGVjdG9yQ29uc3RhbnRzLmg+CisjZW5kaWYKKwogI2lmIFBMQVRGT1JN
KE1BQykKICNpbXBvcnQgPFF1YXJ0ekNvcmUvQ0FSZW1vdGVMYXllclNlcnZlci5oPgogI2Vsc2UK
QEAgLTM5NywxMSArNDAyLDIyIEBAIGZsb2F0IFdlYlByb2Nlc3NQb29sOjpkaXNwbGF5QnJpZ2h0
bmVzcygKICAgICAKIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmJhY2tsaWdodExldmVsRGlkQ2hhbmdl
Q2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYgY2VudGVyLCB2b2lkICpvYnNlcnZlciwg
Q0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qgdm9pZCAqb2JqZWN0LCBDRkRpY3Rpb25hcnlSZWYgdXNl
ckluZm8pCiB7Ci0gICAgV2ViUHJvY2Vzc1Bvb2wqIHBvb2wgPSByZWludGVycHJldF9jYXN0PFdl
YlByb2Nlc3NQb29sKj4ob2JzZXJ2ZXIpOworICAgIGF1dG8qIHBvb2wgPSByZWludGVycHJldF9j
YXN0PFdlYlByb2Nlc3NQb29sKj4ob2JzZXJ2ZXIpOwogICAgIHBvb2wtPnNlbmRUb0FsbFByb2Nl
c3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6QmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2UoQktTRGlz
cGxheUJyaWdodG5lc3NHZXRDdXJyZW50KCkpKTsKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFJF
TU9URV9JTlNQRUNUT1IpICYmIFBMQVRGT1JNKElPUykKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnJl
bW90ZVdlYkluc3BlY3RvckVuYWJsZWRDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwg
dm9pZCAqb2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZvaWQgKiwgQ0ZEaWN0aW9u
YXJ5UmVmIHVzZXJJbmZvKQoreworICAgIGF1dG8qIHBvb2wgPSByZWludGVycHJldF9jYXN0PFdl
YlByb2Nlc3NQb29sKj4ob2JzZXJ2ZXIpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcG9v
bC0+bV9wcm9jZXNzZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgYXV0byBwcm9jZXNzID0gcG9v
bC0+bV9wcm9jZXNzZXNbaV07CisgICAgICAgIHByb2Nlc3MtPmVuYWJsZVJlbW90ZUluc3BlY3Rv
cklmTmVlZGVkKCk7CisgICAgfQorfQorI2VuZGlmCisKIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnJl
Z2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKCkKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlM
WSkKQEAgLTQ1NCw2ICs0NzAsOSBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpyZWdpc3Rlck5vdGlm
aWNhdGlvCiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9wcm9jZXNzZXMuc2l6ZSgp
OyArK2kpCiAgICAgICAgICAgICBtX3Byb2Nlc3Nlc1tpXS0+dW5ibG9ja0FjY2Vzc2liaWxpdHlT
ZXJ2ZXJJZk5lZWRlZCgpOwogICAgIH1dOworI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQor
ICAgIENGTm90aWZpY2F0aW9uQ2VudGVyQWRkT2JzZXJ2ZXIoQ0ZOb3RpZmljYXRpb25DZW50ZXJH
ZXREYXJ3aW5Ob3RpZnlDZW50ZXIoKSwgdGhpcywgcmVtb3RlV2ViSW5zcGVjdG9yRW5hYmxlZENh
bGxiYWNrLCBzdGF0aWNfY2FzdDxDRlN0cmluZ1JlZj4oQ0ZTVFIoV0lSU2VydmljZUVuYWJsZWRO
b3RpZmljYXRpb24pKSwgbnVsbHB0ciwgQ0ZOb3RpZmljYXRpb25TdXNwZW5zaW9uQmVoYXZpb3JD
b2FsZXNjZSk7CisjZW5kaWYKICNlbmRpZiAvLyAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKIH0KIApA
QCAtNDcyLDggKzQ5MSwxMSBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjp1bnJlZ2lzdGVyTm90aWZp
Y2F0CiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNl
cnZlcjptX2FjdGl2YXRpb25PYnNlcnZlci5nZXQoKV07CiAgICAgW1tOU05vdGlmaWNhdGlvbkNl
bnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2RlYWN0aXZhdGlvbk9ic2VydmVy
LmdldCgpXTsKICNlbGlmIFBMQVRGT1JNKElPUykKLSAgICBDRk5vdGlmaWNhdGlvbkNlbnRlclJl
bW92ZU9ic2VydmVyKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGFyd2luTm90aWZ5Q2VudGVyKCks
IHRoaXMsIHN0YXRpY19jYXN0PENGU3RyaW5nUmVmPihVSUJhY2tsaWdodExldmVsQ2hhbmdlZE5v
dGlmaWNhdGlvbikgLCBudWxscHRyKTsKKyAgICBDRk5vdGlmaWNhdGlvbkNlbnRlclJlbW92ZU9i
c2VydmVyKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGFyd2luTm90aWZ5Q2VudGVyKCksIHRoaXMs
IHN0YXRpY19jYXN0PENGU3RyaW5nUmVmPihVSUJhY2tsaWdodExldmVsQ2hhbmdlZE5vdGlmaWNh
dGlvbiksIG51bGxwdHIpOwogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRl
cl0gcmVtb3ZlT2JzZXJ2ZXI6bV9hY2Nlc3NpYmlsaXR5RW5hYmxlZE9ic2VydmVyLmdldCgpXTsK
KyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKKyAgICBDRk5vdGlmaWNhdGlvbkNlbnRlclJl
bW92ZU9ic2VydmVyKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGFyd2luTm90aWZ5Q2VudGVyKCks
IHRoaXMsIENGU1RSKFdJUlNlcnZpY2VFbmFibGVkTm90aWZpY2F0aW9uKSwgbnVsbHB0cik7Cisj
ZW5kaWYKICNlbmRpZiAvLyAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKIH0KIApJbmRleDogU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2Eu
bW0JKHJldmlzaW9uIDI1MjExMikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dl
YlByb2Nlc3NQcm94eUNvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yMTIsNCArMjEyLDE1IEBA
IHZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojpwcm9jZXNzV2FzUmVzdW1lZCgKIH0KICNlbmRpZgogCisj
aWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpICYmIFBMQVRGT1JNKElPUykKK3ZvaWQgV2ViUHJv
Y2Vzc1Byb3h5OjplbmFibGVSZW1vdGVJbnNwZWN0b3JJZk5lZWRlZCgpCit7CisgICAgaWYgKCFD
RlByZWZlcmVuY2VzR2V0QXBwSW50ZWdlclZhbHVlKFdJUlJlbW90ZUluc3BlY3RvckVuYWJsZWRL
ZXksIFdJUlJlbW90ZUluc3BlY3RvckRvbWFpbk5hbWUsIG51bGxwdHIpKQorICAgICAgICByZXR1
cm47CisgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIGhhbmRsZTsKKyAgICBhdXRvIGF1ZGl0
VG9rZW4gPSBjb25uZWN0aW9uKCkgPyBjb25uZWN0aW9uKCktPmdldEF1ZGl0VG9rZW4oKSA6IFdU
Rjo6bnVsbG9wdDsKKyAgICBpZiAoU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yTWFj
aExvb2t1cCgiY29tLmFwcGxlLndlYmluc3BlY3RvciIsIGF1ZGl0VG9rZW4sIGhhbmRsZSkpCisg
ICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkVuYWJsZVJlbW90ZVdlYkluc3BlY3Rv
cihoYW5kbGUpLCAwKTsKK30KKyNlbmRpZgogfQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcAkocmV2aXNpb24gMjUyMTEyKQorKysgU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDcsNiArNDA3LDkgQEAg
dm9pZCBXZWJQcm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2VzcyhXZQogI2VuZGlmCiAKICNpZiBF
TkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikgJiYgUExBVEZPUk0oQ09DT0EpCisjaWYgUExBVEZPUk0o
SU9TKQorICAgIEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpzZXROZWVkTWFjaFNhbmRib3hF
eHRlbnNpb24odHJ1ZSk7CisjZW5kaWYKICAgICBpZiAoT3B0aW9uYWw8YXVkaXRfdG9rZW5fdD4g
YXVkaXRUb2tlbiA9IHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPmdldEF1ZGl0VG9rZW4oKSkg
ewogICAgICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBhdWRpdERhdGEgPSBhZG9wdENGKENGRGF0
YUNyZWF0ZShudWxscHRyLCAoY29uc3QgVUludDgqKSYqYXVkaXRUb2tlbiwgc2l6ZW9mKCphdWRp
dFRva2VuKSkpOwogICAgICAgICBJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3Rvcjo6c2luZ2xldG9u
KCkuc2V0UGFyZW50UHJvY2Vzc0luZm9ybWF0aW9uKFdlYkNvcmU6OnByZXNlbnRpbmdBcHBsaWNh
dGlvblBJRCgpLCBhdWRpdERhdGEpOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5oCShyZXZpc2lvbiAyNTIxMTIpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC00NTgsNiArNDU4LDkgQEAgcHJpdmF0ZToKIAog
I2lmIFBMQVRGT1JNKElPUykKICAgICB2b2lkIGJhY2tsaWdodExldmVsRGlkQ2hhbmdlKGZsb2F0
IGJhY2tsaWdodExldmVsKTsKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKKyAgICB2b2lk
IGVuYWJsZVJlbW90ZVdlYkluc3BlY3Rvcihjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUm
KTsKKyNlbmRpZgogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpJbmRleDogU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4JKHJldmlz
aW9uIDI1MjExMikKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3Nh
Z2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0xMjcsNiArMTI3LDkgQEAgbWVzc2FnZXMgLT4gV2Vi
UHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAKICNpZiBQTEFURk9STShJT1MpCiAgICAgQmFja2xp
Z2h0TGV2ZWxEaWRDaGFuZ2UoZmxvYXQgYmFja2xpZ2h0TGV2ZWwpCisjaWYgRU5BQkxFKFJFTU9U
RV9JTlNQRUNUT1IpCisgICAgRW5hYmxlUmVtb3RlV2ViSW5zcGVjdG9yKFdlYktpdDo6U2FuZGJv
eEV4dGVuc2lvbjo6SGFuZGxlIGhhbmRsZSk7CisjZW5kaWYKICNlbmRpZgogCiAgICAgSXNKSVRF
bmFibGVkKCkgLT4gKGJvb2wgZW5hYmxlZCkgQXN5bmMKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQkocmV2aXNpb24gMjUyMTEy
KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQko
d29ya2luZyBjb3B5KQpAQCAtNzksNiArNzksMTAgQEAKICNpbXBvcnQgPHd0Zi9GaWxlU3lzdGVt
Lmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvTlNVUkxFeHRyYXMuaD4KIAorI2lmIEVOQUJMRShSRU1P
VEVfSU5TUEVDVE9SKQorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1JlbW90ZUluc3BlY3Rvci5o
PgorI2VuZGlmCisKICNpZiBQTEFURk9STShJT1MpCiAjaW1wb3J0ICJVSUtpdFNQSS5oIgogI2Vu
ZGlmCkBAIC04MzksNiArODQzLDE1IEBAIHZvaWQgV2ViUHJvY2Vzczo6YmFja2xpZ2h0TGV2ZWxE
aWRDaGFuZ2UKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpICYmIFBM
QVRGT1JNKElPUykKK3ZvaWQgV2ViUHJvY2Vzczo6ZW5hYmxlUmVtb3RlV2ViSW5zcGVjdG9yKGNv
bnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYgaGFuZGxlKQoreworICAgIFNhbmRib3hFeHRl
bnNpb246OmNvbnN1bWVQZXJtYW5lbnRseShoYW5kbGUpOworICAgIEluc3BlY3Rvcjo6UmVtb3Rl
SW5zcGVjdG9yOjpzZXROZWVkTWFjaFNhbmRib3hFeHRlbnNpb24oZmFsc2UpOworICAgIEluc3Bl
Y3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpzaW5nbGV0b24oKTsKK30KKyNlbmRpZgorCiB2b2lkIFdl
YlByb2Nlc3M6OnNldE1lZGlhTUlNRVR5cGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+IHR5cGVzKQog
ewogICAgIEFWQXNzZXRNSU1FVHlwZUNhY2hlOjpzaW5nbGV0b24oKS5zZXRTdXBwb3J0ZWRUeXBl
cyh0eXBlcyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389973</attachid>
            <date>2020-02-06 10:59:39 -0800</date>
            <delta_ts>2020-02-06 15:09:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203214-20200206105938.patch</filename>
            <type>text/plain</type>
            <size>17287</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjU1OTYyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBA
CisyMDIwLTAyLTA2ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAg
ICAgICBNYWNoIGxvb2t1cCB0byBjb20uYXBwbGUud2ViaW5zcGVjdG9yIHNob3VsZCBub3QgYmUg
YWxsb3dlZCBpbiBXZWJLaXQncyBXZWJDb250ZW50IHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzIxNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdGF0aWMgZmxhZyBpbiBSZW1vdGVJ
bnNwZWN0b3IgdG8gaW5kaWNhdGUgd2hldGhlciBhIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5lZWRl
ZC4gVGhlIHJlbW90ZSBpbnNwZWN0b3Igd2lsbCBvbmx5IGJlCisgICAgICAgIHN0YXJ0ZWQgaWYg
dGhlIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5vdCBuZWVkZWQuIE9ubHkgdGhlIFdlYkNvbnRlbnQg
cHJvY2VzcyB3aWxsIG5lZWQgYSBzYW5kYm94IGV4dGVuc2lvbiwgc2luY2UgdGhpcworICAgICAg
ICBwYXRjaCByZW1vdmVzIG1hY2ggYWNjZXNzIHRvICdjb20uYXBwbGUud2ViaW5zcGVjdG9yJyBm
b3IgdGhpcyBwcm9jZXNzLiBBbHNvIGFkZCBuYW1lIGFuZCBkb21haW4gZm9yIHRoZQorICAgICAg
ICAnRW5hYmxlIFJlbW90ZSBJbnNwZWN0b3InIHNldHRpbmcsIHNpbmNlIHRoaXMgd2lsbCBiZSB1
c2VkIGluIHRoZSBVSSBwcm9jZXNzLgorCisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1v
dGVJbnNwZWN0b3IuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVj
dG9yLmg6CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JDb25zdGFu
dHMuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3RvckNv
Y29hLm1tOgorICAgICAgICAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbik6
CisKIDIwMjAtMDItMDUgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVhZEBzb255LmNvbT4KIAog
ICAgICAgICBbUGxheVN0YXRpb25dIEJ1aWxkIGEgc2hhcmVkIEphdmFTY3JpcHRDb3JlCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3Iu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3Rl
L1JlbW90ZUluc3BlY3Rvci5jcHAJKHJldmlzaW9uIDI1NTk2MikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM4LDYgKzM4LDkgQEAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBib29sIFJlbW90
ZUluc3BlY3Rvcjo6c3RhcnRFbmFibGVkID0gdHJ1ZTsKKyNpZiBQTEFURk9STShJT1MpCitzdGQ6
OmF0b21pYzxib29sPiBSZW1vdGVJbnNwZWN0b3I6Om5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbiA9
IGZhbHNlOworI2VuZGlmCiAKIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjpzdGFydERpc2FibGVkKCkK
IHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUlu
c3BlY3Rvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
cmVtb3RlL1JlbW90ZUluc3BlY3Rvci5oCShyZXZpc2lvbiAyNTU5NjIpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaAkod29ya2luZyBj
b3B5KQpAQCAtMTE0LDYgKzExNCw5IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIHJl
cXVlc3RBdXRvbWF0aW9uU2Vzc2lvbihjb25zdCBTdHJpbmcmIHNlc3Npb25JZGVudGlmaWVyLCBj
b25zdCBTZXNzaW9uQ2FwYWJpbGl0aWVzJikgPSAwOwogICAgIH07CiAKKyNpZiBQTEFURk9STShJ
T1MpCisgICAgc3RhdGljIHZvaWQgc2V0TmVlZE1hY2hTYW5kYm94RXh0ZW5zaW9uKGJvb2wgbmVl
ZEV4dGVuc2lvbikgeyBuZWVkTWFjaFNhbmRib3hFeHRlbnNpb24gPSBuZWVkRXh0ZW5zaW9uOyB9
CisjZW5kaWYKICAgICBzdGF0aWMgdm9pZCBzdGFydERpc2FibGVkKCk7CiAgICAgc3RhdGljIFJl
bW90ZUluc3BlY3RvciYgc2luZ2xldG9uKCk7CiAgICAgZnJpZW5kIGNsYXNzIE5ldmVyRGVzdHJv
eWVkPFJlbW90ZUluc3BlY3Rvcj47CkBAIC0yMzYsNiArMjM5LDkgQEAgcHJpdmF0ZToKICAgICBT
dHJpbmcgYmFja2VuZENvbW1hbmRzKCkgY29uc3Q7CiAjZW5kaWYKICAgICBzdGF0aWMgYm9vbCBz
dGFydEVuYWJsZWQ7CisjaWYgUExBVEZPUk0oSU9TKQorICAgIHN0YXRpYyBzdGQ6OmF0b21pYzxi
b29sPiBuZWVkTWFjaFNhbmRib3hFeHRlbnNpb247CisjZW5kaWYKIAogICAgIC8vIFRhcmdldHMg
Y2FuIGJlIHJlZ2lzdGVyZWQgZnJvbSBhbnkgdGhyZWFkIGF0IGFueSB0aW1lLgogICAgIC8vIEFu
eSB0YXJnZXQgY2FuIHNlbmQgbWVzc2FnZXMgb3ZlciB0aGUgWFBDIGNvbm5lY3Rpb24uCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JD
b25zdGFudHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JDb25zdGFudHMuaAkocmV2aXNpb24gMjU1OTYyKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yQ29u
c3RhbnRzLmgJKHdvcmtpbmcgY29weSkKQEAgLTExOCwzICsxMTgsNiBAQAogI2RlZmluZSBXSVJQ
cm94eUFwcGxpY2F0aW9uUGFyZW50QXVkaXREYXRhS2V5ICAgQCJXSVJQcm94eUFwcGxpY2F0aW9u
UGFyZW50QXVkaXREYXRhIgogI2RlZmluZSBXSVJQcm94eUFwcGxpY2F0aW9uU2V0dXBNZXNzYWdl
ICAgICAgICAgQCJXSVJQcm94eUFwcGxpY2F0aW9uU2V0dXBNZXNzYWdlIgogI2RlZmluZSBXSVJQ
cm94eUFwcGxpY2F0aW9uU2V0dXBSZXNwb25zZU1lc3NhZ2UgQCJXSVJQcm94eUFwcGxpY2F0aW9u
U2V0dXBSZXNwb25zZU1lc3NhZ2UiCisKKyNkZWZpbmUgV0lSUmVtb3RlSW5zcGVjdG9yRW5hYmxl
ZEtleSAgICAgICAgICAgIENGU1RSKCJSZW1vdGVJbnNwZWN0b3JFbmFibGVkIikKKyNkZWZpbmUg
V0lSUmVtb3RlSW5zcGVjdG9yRG9tYWluTmFtZSAgICAgICAgICAgIENGU1RSKCJjb20uYXBwbGUu
d2ViaW5zcGVjdG9yZCIpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Jl
bW90ZS9jb2NvYS9SZW1vdGVJbnNwZWN0b3JDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9jb2NvYS9SZW1vdGVJbnNwZWN0b3JDb2Nv
YS5tbQkocmV2aXNpb24gMjU1OTYyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9yZW1vdGUvY29jb2EvUmVtb3RlSW5zcGVjdG9yQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAg
LTg3LDYgKzg3LDExIEBAIFJlbW90ZUluc3BlY3RvciYgUmVtb3RlSW5zcGVjdG9yOjpzaW5nbGUK
IHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UmVtb3RlSW5zcGVjdG9yPiBzaGFyZWQ7CiAK
KyNpZiBQTEFURk9STShJT1MpCisgICAgaWYgKG5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbikKKyAg
ICAgICAgcmV0dXJuIHNoYXJlZDsKKyNlbmRpZgorICAgIAogICAgIHN0YXRpYyBkaXNwYXRjaF9v
bmNlX3Qgb25jZTsKICAgICBkaXNwYXRjaF9vbmNlKCZvbmNlLCBeewogICAgICAgICBpZiAoY2Fu
QWNjZXNzV2ViSW5zcGVjdG9yTWFjaFBvcnQoKSkgewpJbmRleDogU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1
NTk2MikKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMzcgQEAKKzIwMjAtMDItMDYgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29t
PgorCisgICAgICAgIE1hY2ggbG9va3VwIHRvIGNvbS5hcHBsZS53ZWJpbnNwZWN0b3Igc2hvdWxk
IG5vdCBiZSBhbGxvd2VkIGluIFdlYktpdCdzIFdlYkNvbnRlbnQgcHJvY2VzcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMjE0CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSWYgdGhlIFdlYiBpbnNwZWN0
b3IgaXMgZW5hYmxlZCB3aGVuIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgaXMgc3RhcnRlZCwgYSBz
YW5kYm94IGV4dGVuc2lvbiBpcyBjcmVhdGVkCisgICAgICAgIGZvciAnY29tLmFwcGxlLndlYmlu
c3BlY3RvcicgYW5kIGEgbWVzc2FnZSBpcyBzZW50IHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3Ms
IHdoZXJlIHRoZSBleHRlbnNpb24gd2lsbAorICAgICAgICBiZSBjb25zdW1lZCwgYW5kIHRoZSBy
ZW1vdGUgV2ViIGluc3BlY3RvciB3aWxsIGJlIHN0YXJ0ZWQuIFRoZSBzYW1lIGhhcHBlbnMgaWYg
V2ViIGluc3BlY3RvciBpcyBlbmFibGVkCisgICAgICAgIGJ5IHRoZSB1c2VyIHdoaWxlIFNhZmFy
aSBpcyBydW5uaW5nLiBXaGVuIFJlbW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCkgaXMgY2FsbGVk
IGluIHRoZSBVSSBwcm9jZXNzIHRoZXJlCisgICAgICAgIGlzIG5vIG5lZWQgZm9yIGFuIGV4dGVu
c2lvbiwgc2luY2UgYWNjZXNzIHRvIHRoZSBXZWIgaW5zcGVjdG9yIGRhZW1vbiBpcyBhbHJlYWR5
IGFsbG93ZWQuCisKKyAgICAgICAgKiBSZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20u
YXBwbGUuV2ViS2l0LldlYkNvbnRlbnQuc2I6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dl
YlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpi
YWNrbGlnaHRMZXZlbERpZENoYW5nZUNhbGxiYWNrKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzc1Bvb2w6OnJlbW90ZVdlYkluc3BlY3RvckVuYWJsZWRDYWxsYmFjayk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpyZWdpc3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycyk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjp1bnJlZ2lzdGVyTm90aWZpY2F0aW9uT2Jz
ZXJ2ZXJzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2Eu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6ZW5hYmxlUmVtb3RlSW5zcGVj
dG9ySWZOZWVkZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjppbml0aWFsaXplTmV3V2ViUHJvY2Vzcyk6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94
eTo6ZGlkRmluaXNoTGF1bmNoaW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNz
YWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6ZW5hYmxlUmVtb3RlV2ViSW5zcGVjdG9yKToK
KwogMjAyMC0wMi0wNiAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAg
ICAgICBQcmV2ZW50IG5hdmlnYXRpbmcgdG9wIGxldmVsIGZyYW1lcyB0byBEYXRhIFVSTHMKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxl
LldlYktpdC5XZWJDb250ZW50LnNiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvUmVzb3Vy
Y2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnNiCShy
ZXZpc2lvbiAyNTU5NjIpCisrKyBTb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmls
ZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYgkod29ya2luZyBjb3B5KQpAQCAt
ODk4LDcgKzg5OCw3IEBACiAobWVkaWEtYWNjZXNzaWJpbGl0eS1zdXBwb3J0KQogCiA7OyBSZW1v
dGUgV2ViIEluc3BlY3RvcgotKGFsbG93IG1hY2gtbG9va3VwCisoYWxsb3cgbWFjaC1sb29rdXAg
KHdpdGggcmVwb3J0KSAod2l0aCB0ZWxlbWV0cnkpCiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20u
YXBwbGUud2ViaW5zcGVjdG9yIikpCiAKIDs7IFZhcmlvdXMgc2VydmljZXMgcmVxdWlyZWQgYnkg
Q0ZOZXR3b3JrIGFuZCBvdGhlciBmcmFtZXdvcmtzCkBAIC05MjQsNyArOTI0LDcgQEAKIChhbGxv
dyBtYWNoLWxvb2t1cAogICAgIChyZXF1aXJlLWFsbAogICAgICAgICAoZXh0ZW5zaW9uICJjb20u
YXBwbGUud2Via2l0LmV4dGVuc2lvbi5tYWNoIikKLSAgICAgICAgKGdsb2JhbC1uYW1lICJjb20u
YXBwbGUuaXBob25lLmF4c2VydmVyLXN5c3RlbXdpZGUiICJjb20uYXBwbGUudGNjZCIgImNvbS5h
cHBsZS5uZWhlbHBlciIgImNvbS5hcHBsZS5uZXNlc3Npb25tYW5hZ2VyLmNvbnRlbnQtZmlsdGVy
IiAiY29tLmFwcGxlLnVpa2l0LnZpZXdzZXJ2aWNlLmNvbS5hcHBsZS5XZWJDb250ZW50RmlsdGVy
LnJlbW90ZVVJIiAiY29tLmFwcGxlLmRpYWdub3N0aWNkIiAiY29tLmFwcGxlLmxzZC5vcGVuIiAi
Y29tLmFwcGxlLm1vYmlsZWFzc2V0ZCIgImNvbS5hcHBsZS5tb2JpbGVhc3NldGQudjIiICJjb20u
YXBwbGUuZnJvbnRib2FyZC5zeXN0ZW1hcHBzZXJ2aWNlcyIgImNvbS5hcHBsZS5pY29uc2Vydmlj
ZXMiKSkpCisgICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmlwaG9uZS5heHNlcnZlci1z
eXN0ZW13aWRlIiAiY29tLmFwcGxlLnRjY2QiICJjb20uYXBwbGUubmVoZWxwZXIiICJjb20uYXBw
bGUubmVzZXNzaW9ubWFuYWdlci5jb250ZW50LWZpbHRlciIgImNvbS5hcHBsZS51aWtpdC52aWV3
c2VydmljZS5jb20uYXBwbGUuV2ViQ29udGVudEZpbHRlci5yZW1vdGVVSSIgImNvbS5hcHBsZS5k
aWFnbm9zdGljZCIgImNvbS5hcHBsZS5sc2Qub3BlbiIgImNvbS5hcHBsZS5tb2JpbGVhc3NldGQi
ICJjb20uYXBwbGUubW9iaWxlYXNzZXRkLnYyIiAiY29tLmFwcGxlLmZyb250Ym9hcmQuc3lzdGVt
YXBwc2VydmljZXMiICJjb20uYXBwbGUuaWNvbnNlcnZpY2VzIiAiY29tLmFwcGxlLndlYmluc3Bl
Y3RvciIpKSkKIAogKGFsbG93IG1hY2gtbG9va3VwCiAgICAgKHJlcXVpcmUtYWxsCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCShyZXZpc2lvbiAyNTU5
NjIpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEwNjgsNyArMTA2OCw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmluaXRp
YWxpemVOZXdXZWJQcm8KIAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQogICAgIC8vIElu
aXRpYWxpemUgcmVtb3RlIGluc3BlY3RvciBjb25uZWN0aW9uIG5vdyB0aGF0IHdlIGhhdmUgYSBz
dWItcHJvY2VzcyB0aGF0IGlzIGhvc3Rpbmcgb25lIG9mIG91ciB3ZWIgdmlld3MuCi0gICAgSW5z
cGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpOyAKKyAgICBJbnNwZWN0b3I6OlJl
bW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkocmV2aXNpb24g
MjU1OTYyKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkod29y
a2luZyBjb3B5KQpAQCAtNjA5LDYgKzYwOSw5IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgIHN0YXRpYyBmbG9hdCBkaXNw
bGF5QnJpZ2h0bmVzcygpOwogICAgIHN0YXRpYyB2b2lkIGJhY2tsaWdodExldmVsRGlkQ2hhbmdl
Q2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsIHZvaWQgKm9ic2VydmVyLCBDRlN0cmlu
Z1JlZiBuYW1lLCBjb25zdCB2b2lkICosIENGRGljdGlvbmFyeVJlZiB1c2VySW5mbyk7ICAgIAor
I2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQorICAgIHN0YXRpYyB2b2lkIHJlbW90ZVdlYklu
c3BlY3RvckVuYWJsZWRDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwgdm9pZCAqb2Jz
ZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZvaWQgKiwgQ0ZEaWN0aW9uYXJ5UmVmIHVz
ZXJJbmZvKTsKKyNlbmRpZgogI2VuZGlmCiAKICAgICBSZWY8QVBJOjpQcm9jZXNzUG9vbENvbmZp
Z3VyYXRpb24+IG1fY29uZmlndXJhdGlvbjsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAkocmV2aXNpb24gMjU1OTYyKQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODgzLDYg
Kzg4MywxMCBAQCBib29sIFdlYlByb2Nlc3NQcm94eTo6bWF5QmVjb21lVW5yZXNwb25zCiAKICAg
ICByZXR1cm4gdHJ1ZTsKICNlbmRpZgorCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpICYm
IFBMQVRGT1JNKElPUykKKyAgICBlbmFibGVSZW1vdGVJbnNwZWN0b3JJZk5lZWRlZCgpOworI2Vu
ZGlmCiB9CiAKIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVuY2hpbmcoUHJvY2Vz
c0xhdW5jaGVyKiBsYXVuY2hlciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyIGNvbm5lY3Rp
b25JZGVudGlmaWVyKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmgJKHJldmlzaW9uIDI1NTk2MikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMjUsNiArMzI1LDEwIEBAIHB1YmxpYzoK
ICAgICB2b2lkIHJldm9rZUF1ZGlvQ2FwdHVyZUV4dGVuc2lvbigpIHsgbV9tZWRpYUNhcHR1cmVT
YW5kYm94RXh0ZW5zaW9ucyAmPSB+QXVkaW87IH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFJFTU9U
RV9JTlNQRUNUT1IpICYmIFBMQVRGT1JNKElPUykKKyAgICB2b2lkIGVuYWJsZVJlbW90ZUluc3Bl
Y3RvcklmTmVlZGVkKCk7CisjZW5kaWYKKyAgICAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQog
ICAgIHZvaWQgdW5ibG9ja0FjY2Vzc2liaWxpdHlTZXJ2ZXJJZk5lZWRlZCgpOwogI2VuZGlmCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQ
b29sQ29jb2EubW0JKHJldmlzaW9uIDI1NTk2MikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0
LDExIEBACiAjaW1wb3J0IDx3dGYvc3BpL2Rhcndpbi9TYW5kYm94U1BJLmg+CiAjaW1wb3J0IDx3
dGYvc3BpL2Rhcndpbi9keWxkU1BJLmg+CiAKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikK
KyNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL1JlbW90ZUluc3BlY3Rvci5oPgorI2ltcG9ydCA8SmF2
YVNjcmlwdENvcmUvUmVtb3RlSW5zcGVjdG9yQ29uc3RhbnRzLmg+CisjZW5kaWYKKwogI2lmIFBM
QVRGT1JNKE1BQykKICNpbXBvcnQgPFF1YXJ0ekNvcmUvQ0FSZW1vdGVMYXllclNlcnZlci5oPgog
I2Vsc2UKQEAgLTQ5NiwxMSArNTAxLDIyIEBAIGZsb2F0IFdlYlByb2Nlc3NQb29sOjpkaXNwbGF5
QnJpZ2h0bmVzcygKICAgICAKIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmJhY2tsaWdodExldmVsRGlk
Q2hhbmdlQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYgY2VudGVyLCB2b2lkICpvYnNl
cnZlciwgQ0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qgdm9pZCAqb2JqZWN0LCBDRkRpY3Rpb25hcnlS
ZWYgdXNlckluZm8pCiB7Ci0gICAgV2ViUHJvY2Vzc1Bvb2wqIHBvb2wgPSByZWludGVycHJldF9j
YXN0PFdlYlByb2Nlc3NQb29sKj4ob2JzZXJ2ZXIpOworICAgIGF1dG8qIHBvb2wgPSByZWludGVy
cHJldF9jYXN0PFdlYlByb2Nlc3NQb29sKj4ob2JzZXJ2ZXIpOwogICAgIHBvb2wtPnNlbmRUb0Fs
bFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6QmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2Uo
QktTRGlzcGxheUJyaWdodG5lc3NHZXRDdXJyZW50KCkpKTsKIH0KICNlbmRpZgogCisjaWYgRU5B
QkxFKFJFTU9URV9JTlNQRUNUT1IpICYmIFBMQVRGT1JNKElPUykKK3ZvaWQgV2ViUHJvY2Vzc1Bv
b2w6OnJlbW90ZVdlYkluc3BlY3RvckVuYWJsZWRDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRl
clJlZiwgdm9pZCAqb2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZvaWQgKiwgQ0ZE
aWN0aW9uYXJ5UmVmIHVzZXJJbmZvKQoreworICAgIGF1dG8qIHBvb2wgPSByZWludGVycHJldF9j
YXN0PFdlYlByb2Nlc3NQb29sKj4ob2JzZXJ2ZXIpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgcG9vbC0+bV9wcm9jZXNzZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgYXV0byBwcm9jZXNz
ID0gcG9vbC0+bV9wcm9jZXNzZXNbaV07CisgICAgICAgIHByb2Nlc3MtPmVuYWJsZVJlbW90ZUlu
c3BlY3RvcklmTmVlZGVkKCk7CisgICAgfQorfQorI2VuZGlmCisKIHZvaWQgV2ViUHJvY2Vzc1Bv
b2w6OnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKCkKIHsKICNpZiAhUExBVEZPUk0oSU9T
X0ZBTUlMWSkKQEAgLTU1NCw2ICs1NzAsOSBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpyZWdpc3Rl
ck5vdGlmaWNhdGlvCiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9wcm9jZXNzZXMu
c2l6ZSgpOyArK2kpCiAgICAgICAgICAgICBtX3Byb2Nlc3Nlc1tpXS0+dW5ibG9ja0FjY2Vzc2li
aWxpdHlTZXJ2ZXJJZk5lZWRlZCgpOwogICAgIH1dOworI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVD
VE9SKQorICAgIENGTm90aWZpY2F0aW9uQ2VudGVyQWRkT2JzZXJ2ZXIoQ0ZOb3RpZmljYXRpb25D
ZW50ZXJHZXREYXJ3aW5Ob3RpZnlDZW50ZXIoKSwgdGhpcywgcmVtb3RlV2ViSW5zcGVjdG9yRW5h
YmxlZENhbGxiYWNrLCBzdGF0aWNfY2FzdDxDRlN0cmluZ1JlZj4oQ0ZTVFIoV0lSU2VydmljZUVu
YWJsZWROb3RpZmljYXRpb24pKSwgbnVsbHB0ciwgQ0ZOb3RpZmljYXRpb25TdXNwZW5zaW9uQmVo
YXZpb3JDb2FsZXNjZSk7CisjZW5kaWYKICNlbmRpZiAvLyBQTEFURk9STShJT1MpCiAjZW5kaWYg
Ly8gIVBMQVRGT1JNKElPU19GQU1JTFkpCiB9CkBAIC01NzMsOCArNTkyLDExIEBAIHZvaWQgV2Vi
UHJvY2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmljYXQKICAgICBbW05TTm90aWZpY2F0aW9uQ2Vu
dGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOm1fYWN0aXZhdGlvbk9ic2VydmVyLmdl
dCgpXTsKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9i
c2VydmVyOm1fZGVhY3RpdmF0aW9uT2JzZXJ2ZXIuZ2V0KCldOwogI2VsaWYgUExBVEZPUk0oSU9T
KQotICAgIENGTm90aWZpY2F0aW9uQ2VudGVyUmVtb3ZlT2JzZXJ2ZXIoQ0ZOb3RpZmljYXRpb25D
ZW50ZXJHZXREYXJ3aW5Ob3RpZnlDZW50ZXIoKSwgdGhpcywgc3RhdGljX2Nhc3Q8Q0ZTdHJpbmdS
ZWY+KFVJQmFja2xpZ2h0TGV2ZWxDaGFuZ2VkTm90aWZpY2F0aW9uKSAsIG51bGxwdHIpOworICAg
IENGTm90aWZpY2F0aW9uQ2VudGVyUmVtb3ZlT2JzZXJ2ZXIoQ0ZOb3RpZmljYXRpb25DZW50ZXJH
ZXREYXJ3aW5Ob3RpZnlDZW50ZXIoKSwgdGhpcywgc3RhdGljX2Nhc3Q8Q0ZTdHJpbmdSZWY+KFVJ
QmFja2xpZ2h0TGV2ZWxDaGFuZ2VkTm90aWZpY2F0aW9uKSwgbnVsbHB0cik7CiAgICAgW1tOU05v
dGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2FjY2Vzc2li
aWxpdHlFbmFibGVkT2JzZXJ2ZXIuZ2V0KCldOworI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9S
KQorICAgIENGTm90aWZpY2F0aW9uQ2VudGVyUmVtb3ZlT2JzZXJ2ZXIoQ0ZOb3RpZmljYXRpb25D
ZW50ZXJHZXREYXJ3aW5Ob3RpZnlDZW50ZXIoKSwgdGhpcywgQ0ZTVFIoV0lSU2VydmljZUVuYWJs
ZWROb3RpZmljYXRpb24pLCBudWxscHRyKTsKKyNlbmRpZgogI2VuZGlmIC8vICFQTEFURk9STShJ
T1NfRkFNSUxZKQogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
cm9jZXNzUHJveHlDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQkocmV2aXNpb24gMjU1OTYyKQorKysgU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0JKHdvcmtp
bmcgY29weSkKQEAgLTIxMCw0ICsyMTAsMTUgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnByb2Nl
c3NXYXNSZXN1bWVkKAogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikg
JiYgUExBVEZPUk0oSU9TKQordm9pZCBXZWJQcm9jZXNzUHJveHk6OmVuYWJsZVJlbW90ZUluc3Bl
Y3RvcklmTmVlZGVkKCkKK3sKKyAgICBpZiAoIUNGUHJlZmVyZW5jZXNHZXRBcHBJbnRlZ2VyVmFs
dWUoV0lSUmVtb3RlSW5zcGVjdG9yRW5hYmxlZEtleSwgV0lSUmVtb3RlSW5zcGVjdG9yRG9tYWlu
TmFtZSwgbnVsbHB0cikpCisgICAgICAgIHJldHVybjsKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpI
YW5kbGUgaGFuZGxlOworICAgIGF1dG8gYXVkaXRUb2tlbiA9IGNvbm5lY3Rpb24oKSA/IGNvbm5l
Y3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigpIDogV1RGOjpudWxsb3B0OworICAgIGlmIChTYW5kYm94
RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JNYWNoTG9va3VwKCJjb20uYXBwbGUud2ViaW5zcGVj
dG9yIiwgYXVkaXRUb2tlbiwgaGFuZGxlKSkKKyAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUHJv
Y2Vzczo6RW5hYmxlUmVtb3RlV2ViSW5zcGVjdG9yKGhhbmRsZSksIDApOworfQorI2VuZGlmCiB9
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCShyZXZpc2lvbiAy
NTU5NjIpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQzMiw2ICs0MzIsOSBAQCB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVX
ZWJQcm9jZXNzKFdlCiAjZW5kaWYKIAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKSAmJiBQ
TEFURk9STShDT0NPQSkKKyNpZiBQTEFURk9STShJT1MpCisgICAgSW5zcGVjdG9yOjpSZW1vdGVJ
bnNwZWN0b3I6OnNldE5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbih0cnVlKTsKKyNlbmRpZgogICAg
IGlmIChPcHRpb25hbDxhdWRpdF90b2tlbl90PiBhdWRpdFRva2VuID0gcGFyZW50UHJvY2Vzc0Nv
bm5lY3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigpKSB7CiAgICAgICAgIFJldGFpblB0cjxDRkRhdGFS
ZWY+IGF1ZGl0RGF0YSA9IGFkb3B0Q0YoQ0ZEYXRhQ3JlYXRlKG51bGxwdHIsIChjb25zdCBVSW50
OCopJiphdWRpdFRva2VuLCBzaXplb2YoKmF1ZGl0VG9rZW4pKSk7CiAgICAgICAgIEluc3BlY3Rv
cjo6UmVtb3RlSW5zcGVjdG9yOjpzaW5nbGV0b24oKS5zZXRQYXJlbnRQcm9jZXNzSW5mb3JtYXRp
b24oV2ViQ29yZTo6cHJlc2VudGluZ0FwcGxpY2F0aW9uUElEKCksIGF1ZGl0RGF0YSk7CkluZGV4
OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHJldmlzaW9uIDI1NTk2MikKKysr
IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTQ4OCw2ICs0ODgsOSBAQCBwcml2YXRlOgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYg
IVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgIHZvaWQgYmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2Uo
ZmxvYXQgYmFja2xpZ2h0TGV2ZWwpOworI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQorICAg
IHZvaWQgZW5hYmxlUmVtb3RlV2ViSW5zcGVjdG9yKGNvbnN0IFNhbmRib3hFeHRlbnNpb246Okhh
bmRsZSYpOworI2VuZGlmCiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgko
cmV2aXNpb24gMjU1OTYyKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
bWVzc2FnZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTEyNiw2ICsxMjYsOSBAQCBtZXNzYWdlcyAt
PiBXZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIE5vCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgQmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2Uo
ZmxvYXQgYmFja2xpZ2h0TGV2ZWwpCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisgICAg
RW5hYmxlUmVtb3RlV2ViSW5zcGVjdG9yKFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxl
IGhhbmRsZSk7CisjZW5kaWYKICNlbmRpZgogCiAgICAgSXNKSVRFbmFibGVkKCkgLT4gKGJvb2wg
ZW5hYmxlZCkgQXN5bmMKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQ
cm9jZXNzQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2Nv
Y29hL1dlYlByb2Nlc3NDb2NvYS5tbQkocmV2aXNpb24gMjU1OTYyKQorKysgU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAt
ODEsNiArODEsMTAgQEAKICNpbXBvcnQgPHd0Zi9Qcm9jZXNzUHJpdmlsZWdlLmg+CiAjaW1wb3J0
IDx3dGYvY29jb2EvTlNVUkxFeHRyYXMuaD4KIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9S
KQorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1JlbW90ZUluc3BlY3Rvci5oPgorI2VuZGlmCisK
ICNpZiBQTEFURk9STShJT1MpCiAjaW1wb3J0IDxXZWJDb3JlL1BhcmVudGFsQ29udHJvbHNDb250
ZW50RmlsdGVyLmg+CiAjZW5kaWYKQEAgLTkwMSw2ICs5MDUsMTUgQEAgdm9pZCBXZWJQcm9jZXNz
OjpiYWNrbGlnaHRMZXZlbERpZENoYW5nZQogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUkVNT1RF
X0lOU1BFQ1RPUikgJiYgUExBVEZPUk0oSU9TKQordm9pZCBXZWJQcm9jZXNzOjplbmFibGVSZW1v
dGVXZWJJbnNwZWN0b3IoY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiBoYW5kbGUpCit7
CisgICAgU2FuZGJveEV4dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVudGx5KGhhbmRsZSk7CisgICAg
SW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNldE5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbihm
YWxzZSk7CisgICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpOworfQor
I2VuZGlmCisKIHZvaWQgV2ViUHJvY2Vzczo6c2V0TWVkaWFNSU1FVHlwZXMoY29uc3QgVmVjdG9y
PFN0cmluZz4gdHlwZXMpCiB7CiAgICAgYXV0byYgY2FjaGUgPSBBVkFzc2V0TUlNRVR5cGVDYWNo
ZTo6c2luZ2xldG9uKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390010</attachid>
            <date>2020-02-06 15:09:49 -0800</date>
            <delta_ts>2020-02-12 17:22:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203214-20200206150948.patch</filename>
            <type>text/plain</type>
            <size>17522</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjU1OTc3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBA
CisyMDIwLTAyLTA2ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAg
ICAgICBNYWNoIGxvb2t1cCB0byBjb20uYXBwbGUud2ViaW5zcGVjdG9yIHNob3VsZCBub3QgYmUg
YWxsb3dlZCBpbiBXZWJLaXQncyBXZWJDb250ZW50IHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzIxNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdGF0aWMgZmxhZyBpbiBSZW1vdGVJ
bnNwZWN0b3IgdG8gaW5kaWNhdGUgd2hldGhlciBhIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5lZWRl
ZC4gVGhlIHJlbW90ZSBpbnNwZWN0b3Igd2lsbCBvbmx5IGJlCisgICAgICAgIHN0YXJ0ZWQgaWYg
dGhlIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5vdCBuZWVkZWQuIE9ubHkgdGhlIFdlYkNvbnRlbnQg
cHJvY2VzcyB3aWxsIG5lZWQgYSBzYW5kYm94IGV4dGVuc2lvbiwgc2luY2UgdGhpcworICAgICAg
ICBwYXRjaCByZW1vdmVzIG1hY2ggYWNjZXNzIHRvICdjb20uYXBwbGUud2ViaW5zcGVjdG9yJyBm
b3IgdGhpcyBwcm9jZXNzLiBBbHNvIGFkZCBuYW1lIGFuZCBkb21haW4gZm9yIHRoZQorICAgICAg
ICAnRW5hYmxlIFJlbW90ZSBJbnNwZWN0b3InIHNldHRpbmcsIHNpbmNlIHRoaXMgd2lsbCBiZSB1
c2VkIGluIHRoZSBVSSBwcm9jZXNzLgorCisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1v
dGVJbnNwZWN0b3IuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVj
dG9yLmg6CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JDb25zdGFu
dHMuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3RvckNv
Y29hLm1tOgorICAgICAgICAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbik6
CisKIDIwMjAtMDItMDUgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVhZEBzb255LmNvbT4KIAog
ICAgICAgICBbUGxheVN0YXRpb25dIEJ1aWxkIGEgc2hhcmVkIEphdmFTY3JpcHRDb3JlCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3Iu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3Rl
L1JlbW90ZUluc3BlY3Rvci5jcHAJKHJldmlzaW9uIDI1NTk3NykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM4LDYgKzM4LDkgQEAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCiBib29sIFJlbW90
ZUluc3BlY3Rvcjo6c3RhcnRFbmFibGVkID0gdHJ1ZTsKKyNpZiBQTEFURk9STShJT1MpCitzdGQ6
OmF0b21pYzxib29sPiBSZW1vdGVJbnNwZWN0b3I6Om5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbiA9
IGZhbHNlOworI2VuZGlmCiAKIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjpzdGFydERpc2FibGVkKCkK
IHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUlu
c3BlY3Rvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
cmVtb3RlL1JlbW90ZUluc3BlY3Rvci5oCShyZXZpc2lvbiAyNTU5NzcpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaAkod29ya2luZyBj
b3B5KQpAQCAtMTE0LDYgKzExNCw5IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIHJl
cXVlc3RBdXRvbWF0aW9uU2Vzc2lvbihjb25zdCBTdHJpbmcmIHNlc3Npb25JZGVudGlmaWVyLCBj
b25zdCBTZXNzaW9uQ2FwYWJpbGl0aWVzJikgPSAwOwogICAgIH07CiAKKyNpZiBQTEFURk9STShJ
T1MpCisgICAgc3RhdGljIHZvaWQgc2V0TmVlZE1hY2hTYW5kYm94RXh0ZW5zaW9uKGJvb2wgbmVl
ZEV4dGVuc2lvbikgeyBuZWVkTWFjaFNhbmRib3hFeHRlbnNpb24gPSBuZWVkRXh0ZW5zaW9uOyB9
CisjZW5kaWYKICAgICBzdGF0aWMgdm9pZCBzdGFydERpc2FibGVkKCk7CiAgICAgc3RhdGljIFJl
bW90ZUluc3BlY3RvciYgc2luZ2xldG9uKCk7CiAgICAgZnJpZW5kIGNsYXNzIE5ldmVyRGVzdHJv
eWVkPFJlbW90ZUluc3BlY3Rvcj47CkBAIC0yMzYsNiArMjM5LDkgQEAgcHJpdmF0ZToKICAgICBT
dHJpbmcgYmFja2VuZENvbW1hbmRzKCkgY29uc3Q7CiAjZW5kaWYKICAgICBzdGF0aWMgYm9vbCBz
dGFydEVuYWJsZWQ7CisjaWYgUExBVEZPUk0oSU9TKQorICAgIHN0YXRpYyBzdGQ6OmF0b21pYzxi
b29sPiBuZWVkTWFjaFNhbmRib3hFeHRlbnNpb247CisjZW5kaWYKIAogICAgIC8vIFRhcmdldHMg
Y2FuIGJlIHJlZ2lzdGVyZWQgZnJvbSBhbnkgdGhyZWFkIGF0IGFueSB0aW1lLgogICAgIC8vIEFu
eSB0YXJnZXQgY2FuIHNlbmQgbWVzc2FnZXMgb3ZlciB0aGUgWFBDIGNvbm5lY3Rpb24uCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JD
b25zdGFudHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JDb25zdGFudHMuaAkocmV2aXNpb24gMjU1OTc3KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yQ29u
c3RhbnRzLmgJKHdvcmtpbmcgY29weSkKQEAgLTExOCwzICsxMTgsNiBAQAogI2RlZmluZSBXSVJQ
cm94eUFwcGxpY2F0aW9uUGFyZW50QXVkaXREYXRhS2V5ICAgQCJXSVJQcm94eUFwcGxpY2F0aW9u
UGFyZW50QXVkaXREYXRhIgogI2RlZmluZSBXSVJQcm94eUFwcGxpY2F0aW9uU2V0dXBNZXNzYWdl
ICAgICAgICAgQCJXSVJQcm94eUFwcGxpY2F0aW9uU2V0dXBNZXNzYWdlIgogI2RlZmluZSBXSVJQ
cm94eUFwcGxpY2F0aW9uU2V0dXBSZXNwb25zZU1lc3NhZ2UgQCJXSVJQcm94eUFwcGxpY2F0aW9u
U2V0dXBSZXNwb25zZU1lc3NhZ2UiCisKKyNkZWZpbmUgV0lSUmVtb3RlSW5zcGVjdG9yRW5hYmxl
ZEtleSAgICAgICAgICAgIENGU1RSKCJSZW1vdGVJbnNwZWN0b3JFbmFibGVkIikKKyNkZWZpbmUg
V0lSUmVtb3RlSW5zcGVjdG9yRG9tYWluTmFtZSAgICAgICAgICAgIENGU1RSKCJjb20uYXBwbGUu
d2ViaW5zcGVjdG9yZCIpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Jl
bW90ZS9jb2NvYS9SZW1vdGVJbnNwZWN0b3JDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9jb2NvYS9SZW1vdGVJbnNwZWN0b3JDb2Nv
YS5tbQkocmV2aXNpb24gMjU1OTc3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9yZW1vdGUvY29jb2EvUmVtb3RlSW5zcGVjdG9yQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAg
LTg3LDYgKzg3LDExIEBAIFJlbW90ZUluc3BlY3RvciYgUmVtb3RlSW5zcGVjdG9yOjpzaW5nbGUK
IHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UmVtb3RlSW5zcGVjdG9yPiBzaGFyZWQ7CiAK
KyNpZiBQTEFURk9STShJT1MpCisgICAgaWYgKG5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbikKKyAg
ICAgICAgcmV0dXJuIHNoYXJlZDsKKyNlbmRpZgorICAgIAogICAgIHN0YXRpYyBkaXNwYXRjaF9v
bmNlX3Qgb25jZTsKICAgICBkaXNwYXRjaF9vbmNlKCZvbmNlLCBeewogICAgICAgICBpZiAoY2Fu
QWNjZXNzV2ViSW5zcGVjdG9yTWFjaFBvcnQoKSkgewpJbmRleDogU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1
NTk3NykKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMzcgQEAKKzIwMjAtMDItMDYgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29t
PgorCisgICAgICAgIE1hY2ggbG9va3VwIHRvIGNvbS5hcHBsZS53ZWJpbnNwZWN0b3Igc2hvdWxk
IG5vdCBiZSBhbGxvd2VkIGluIFdlYktpdCdzIFdlYkNvbnRlbnQgcHJvY2VzcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMjE0CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSWYgdGhlIFdlYiBpbnNwZWN0
b3IgaXMgZW5hYmxlZCB3aGVuIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgaXMgc3RhcnRlZCwgYSBz
YW5kYm94IGV4dGVuc2lvbiBpcyBjcmVhdGVkCisgICAgICAgIGZvciAnY29tLmFwcGxlLndlYmlu
c3BlY3RvcicgYW5kIGEgbWVzc2FnZSBpcyBzZW50IHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3Ms
IHdoZXJlIHRoZSBleHRlbnNpb24gd2lsbAorICAgICAgICBiZSBjb25zdW1lZCwgYW5kIHRoZSBy
ZW1vdGUgV2ViIGluc3BlY3RvciB3aWxsIGJlIHN0YXJ0ZWQuIFRoZSBzYW1lIGhhcHBlbnMgaWYg
V2ViIGluc3BlY3RvciBpcyBlbmFibGVkCisgICAgICAgIGJ5IHRoZSB1c2VyIHdoaWxlIFNhZmFy
aSBpcyBydW5uaW5nLiBXaGVuIFJlbW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCkgaXMgY2FsbGVk
IGluIHRoZSBVSSBwcm9jZXNzIHRoZXJlCisgICAgICAgIGlzIG5vIG5lZWQgZm9yIGFuIGV4dGVu
c2lvbiwgc2luY2UgYWNjZXNzIHRvIHRoZSBXZWIgaW5zcGVjdG9yIGRhZW1vbiBpcyBhbHJlYWR5
IGFsbG93ZWQuCisKKyAgICAgICAgKiBSZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20u
YXBwbGUuV2ViS2l0LldlYkNvbnRlbnQuc2I6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dl
YlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpi
YWNrbGlnaHRMZXZlbERpZENoYW5nZUNhbGxiYWNrKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzc1Bvb2w6OnJlbW90ZVdlYkluc3BlY3RvckVuYWJsZWRDYWxsYmFjayk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpyZWdpc3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycyk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjp1bnJlZ2lzdGVyTm90aWZpY2F0aW9uT2Jz
ZXJ2ZXJzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2Eu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6ZW5hYmxlUmVtb3RlSW5zcGVj
dG9ySWZOZWVkZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjppbml0aWFsaXplTmV3V2ViUHJvY2Vzcyk6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94
eTo6ZGlkRmluaXNoTGF1bmNoaW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNz
YWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6ZW5hYmxlUmVtb3RlV2ViSW5zcGVjdG9yKToK
KwogMjAyMC0wMi0wNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNTU5NTUuCkluZGV4OiBTb3VyY2UvV2ViS2l0L1Jl
c291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5z
Ygo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMv
aW9zL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYgkocmV2aXNpb24gMjU1OTc3KQorKysg
U291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2Vi
S2l0LldlYkNvbnRlbnQuc2IJKHdvcmtpbmcgY29weSkKQEAgLTg5OCw3ICs4OTgsNyBAQAogKG1l
ZGlhLWFjY2Vzc2liaWxpdHktc3VwcG9ydCkKIAogOzsgUmVtb3RlIFdlYiBJbnNwZWN0b3IKLShh
bGxvdyBtYWNoLWxvb2t1cAorKGFsbG93IG1hY2gtbG9va3VwICh3aXRoIHJlcG9ydCkgKHdpdGgg
dGVsZW1ldHJ5KQogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLndlYmluc3BlY3RvciIp
KQogCiA7OyBWYXJpb3VzIHNlcnZpY2VzIHJlcXVpcmVkIGJ5IENGTmV0d29yayBhbmQgb3RoZXIg
ZnJhbWV3b3JrcwpAQCAtOTI0LDcgKzkyNCw3IEBACiAoYWxsb3cgbWFjaC1sb29rdXAKICAgICAo
cmVxdWlyZS1hbGwKICAgICAgICAgKGV4dGVuc2lvbiAiY29tLmFwcGxlLndlYmtpdC5leHRlbnNp
b24ubWFjaCIpCi0gICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmlwaG9uZS5heHNlcnZl
ci1zeXN0ZW13aWRlIiAiY29tLmFwcGxlLnRjY2QiICJjb20uYXBwbGUubmVoZWxwZXIiICJjb20u
YXBwbGUubmVzZXNzaW9ubWFuYWdlci5jb250ZW50LWZpbHRlciIgImNvbS5hcHBsZS51aWtpdC52
aWV3c2VydmljZS5jb20uYXBwbGUuV2ViQ29udGVudEZpbHRlci5yZW1vdGVVSSIgImNvbS5hcHBs
ZS5kaWFnbm9zdGljZCIgImNvbS5hcHBsZS5sc2Qub3BlbiIgImNvbS5hcHBsZS5tb2JpbGVhc3Nl
dGQiICJjb20uYXBwbGUubW9iaWxlYXNzZXRkLnYyIiAiY29tLmFwcGxlLmZyb250Ym9hcmQuc3lz
dGVtYXBwc2VydmljZXMiICJjb20uYXBwbGUuaWNvbnNlcnZpY2VzIikpKQorICAgICAgICAoZ2xv
YmFsLW5hbWUgImNvbS5hcHBsZS5pcGhvbmUuYXhzZXJ2ZXItc3lzdGVtd2lkZSIgImNvbS5hcHBs
ZS50Y2NkIiAiY29tLmFwcGxlLm5laGVscGVyIiAiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIu
Y29udGVudC1maWx0ZXIiICJjb20uYXBwbGUudWlraXQudmlld3NlcnZpY2UuY29tLmFwcGxlLldl
YkNvbnRlbnRGaWx0ZXIucmVtb3RlVUkiICJjb20uYXBwbGUuZGlhZ25vc3RpY2QiICJjb20uYXBw
bGUubHNkLm9wZW4iICJjb20uYXBwbGUubW9iaWxlYXNzZXRkIiAiY29tLmFwcGxlLm1vYmlsZWFz
c2V0ZC52MiIgImNvbS5hcHBsZS5mcm9udGJvYXJkLnN5c3RlbWFwcHNlcnZpY2VzIiAiY29tLmFw
cGxlLmljb25zZXJ2aWNlcyIgImNvbS5hcHBsZS53ZWJpbnNwZWN0b3IiKSkpCiAKIChhbGxvdyBt
YWNoLWxvb2t1cAogICAgIChyZXF1aXJlLWFsbApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkocmV2aXNpb24gMjU1OTc3KQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDY4LDcg
KzEwNjgsNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjppbml0aWFsaXplTmV3V2ViUHJvCiAKICNp
ZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKICAgICAvLyBJbml0aWFsaXplIHJlbW90ZSBpbnNw
ZWN0b3IgY29ubmVjdGlvbiBub3cgdGhhdCB3ZSBoYXZlIGEgc3ViLXByb2Nlc3MgdGhhdCBpcyBo
b3N0aW5nIG9uZSBvZiBvdXIgd2ViIHZpZXdzLgotICAgIEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVj
dG9yOjpzaW5nbGV0b24oKTsgCisgICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmds
ZXRvbigpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShNQUMpCkluZGV4OiBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgJKHJldmlzaW9uIDI1NTk3NykKKysrIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgJKHdvcmtpbmcgY29weSkKQEAgLTYwOSw2
ICs2MDksOSBAQCBwcml2YXRlOgogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9S
TShNQUNDQVRBTFlTVCkKICAgICBzdGF0aWMgZmxvYXQgZGlzcGxheUJyaWdodG5lc3MoKTsKICAg
ICBzdGF0aWMgdm9pZCBiYWNrbGlnaHRMZXZlbERpZENoYW5nZUNhbGxiYWNrKENGTm90aWZpY2F0
aW9uQ2VudGVyUmVmLCB2b2lkICpvYnNlcnZlciwgQ0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qgdm9p
ZCAqLCBDRkRpY3Rpb25hcnlSZWYgdXNlckluZm8pOyAgICAKKyNpZiBFTkFCTEUoUkVNT1RFX0lO
U1BFQ1RPUikKKyAgICBzdGF0aWMgdm9pZCByZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVkQ2FsbGJh
Y2soQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsIHZvaWQgKm9ic2VydmVyLCBDRlN0cmluZ1JlZiBu
YW1lLCBjb25zdCB2b2lkICosIENGRGljdGlvbmFyeVJlZiB1c2VySW5mbyk7CisjZW5kaWYKICNl
bmRpZgogCiAgICAgUmVmPEFQSTo6UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uPiBtX2NvbmZpZ3Vy
YXRpb247CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5j
cHAJKHJldmlzaW9uIDI1NTk3NykKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg4Myw2ICs4ODMsMTAgQEAgYm9vbCBXZWJQ
cm9jZXNzUHJveHk6Om1heUJlY29tZVVucmVzcG9ucwogCiAgICAgcmV0dXJuIHRydWU7CiAjZW5k
aWYKKworI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKSAmJiBQTEFURk9STShJT1MpCisgICAg
ZW5hYmxlUmVtb3RlSW5zcGVjdG9ySWZOZWVkZWQoKTsKKyNlbmRpZgogfQogCiB2b2lkIFdlYlBy
b2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1bmNoaW5nKFByb2Nlc3NMYXVuY2hlciogbGF1bmNoZXIs
IElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBjb25uZWN0aW9uSWRlbnRpZmllcikKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCShyZXZpc2lvbiAyNTU5
NzcpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzI1LDYgKzMyNSwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXZva2VBdWRp
b0NhcHR1cmVFeHRlbnNpb24oKSB7IG1fbWVkaWFDYXB0dXJlU2FuZGJveEV4dGVuc2lvbnMgJj0g
fkF1ZGlvOyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKSAmJiBQTEFU
Rk9STShJT1MpCisgICAgdm9pZCBlbmFibGVSZW1vdGVJbnNwZWN0b3JJZk5lZWRlZCgpOworI2Vu
ZGlmCisgICAgCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICB2b2lkIHVuYmxvY2tBY2Nl
c3NpYmlsaXR5U2VydmVySWZOZWVkZWQoKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lv
biAyNTU5NzcpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9v
bENvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02NCw2ICs2NCwxMSBAQAogI2ltcG9ydCA8d3Rm
L3NwaS9kYXJ3aW4vU2FuZGJveFNQSS5oPgogI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQ
SS5oPgogCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisjaW1wb3J0IDxKYXZhU2NyaXB0
Q29yZS9SZW1vdGVJbnNwZWN0b3IuaD4KKyNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL1JlbW90ZUlu
c3BlY3RvckNvbnN0YW50cy5oPgorI2VuZGlmCisKICNpZiBQTEFURk9STShNQUMpCiAjaW1wb3J0
IDxRdWFydHpDb3JlL0NBUmVtb3RlTGF5ZXJTZXJ2ZXIuaD4KICNlbHNlCkBAIC00OTYsMTEgKzUw
MSwyMiBAQCBmbG9hdCBXZWJQcm9jZXNzUG9vbDo6ZGlzcGxheUJyaWdodG5lc3MoCiAgICAgCiB2
b2lkIFdlYlByb2Nlc3NQb29sOjpiYWNrbGlnaHRMZXZlbERpZENoYW5nZUNhbGxiYWNrKENGTm90
aWZpY2F0aW9uQ2VudGVyUmVmIGNlbnRlciwgdm9pZCAqb2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5h
bWUsIGNvbnN0IHZvaWQgKm9iamVjdCwgQ0ZEaWN0aW9uYXJ5UmVmIHVzZXJJbmZvKQogewotICAg
IFdlYlByb2Nlc3NQb29sKiBwb29sID0gcmVpbnRlcnByZXRfY2FzdDxXZWJQcm9jZXNzUG9vbCo+
KG9ic2VydmVyKTsKKyAgICBhdXRvKiBwb29sID0gcmVpbnRlcnByZXRfY2FzdDxXZWJQcm9jZXNz
UG9vbCo+KG9ic2VydmVyKTsKICAgICBwb29sLT5zZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6
OldlYlByb2Nlc3M6OkJhY2tsaWdodExldmVsRGlkQ2hhbmdlKEJLU0Rpc3BsYXlCcmlnaHRuZXNz
R2V0Q3VycmVudCgpKSk7CiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9S
KSAmJiBQTEFURk9STShJT1MpCit2b2lkIFdlYlByb2Nlc3NQb29sOjpyZW1vdGVXZWJJbnNwZWN0
b3JFbmFibGVkQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsIHZvaWQgKm9ic2VydmVy
LCBDRlN0cmluZ1JlZiBuYW1lLCBjb25zdCB2b2lkICosIENGRGljdGlvbmFyeVJlZiB1c2VySW5m
bykKK3sKKyAgICBhdXRvKiBwb29sID0gcmVpbnRlcnByZXRfY2FzdDxXZWJQcm9jZXNzUG9vbCo+
KG9ic2VydmVyKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHBvb2wtPm1fcHJvY2Vzc2Vz
LnNpemUoKTsgKytpKSB7CisgICAgICAgIGF1dG8gcHJvY2VzcyA9IHBvb2wtPm1fcHJvY2Vzc2Vz
W2ldOworICAgICAgICBwcm9jZXNzLT5lbmFibGVSZW1vdGVJbnNwZWN0b3JJZk5lZWRlZCgpOwor
ICAgIH0KK30KKyNlbmRpZgorCiB2b2lkIFdlYlByb2Nlc3NQb29sOjpyZWdpc3Rlck5vdGlmaWNh
dGlvbk9ic2VydmVycygpCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC01NTQsNiAr
NTcwLDkgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVnaXN0ZXJOb3RpZmljYXRpbwogICAgICAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fcHJvY2Vzc2VzLnNpemUoKTsgKytpKQogICAgICAg
ICAgICAgbV9wcm9jZXNzZXNbaV0tPnVuYmxvY2tBY2Nlc3NpYmlsaXR5U2VydmVySWZOZWVkZWQo
KTsKICAgICB9XTsKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKKyAgICBDRk5vdGlmaWNh
dGlvbkNlbnRlckFkZE9ic2VydmVyKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGFyd2luTm90aWZ5
Q2VudGVyKCksIHRoaXMsIHJlbW90ZVdlYkluc3BlY3RvckVuYWJsZWRDYWxsYmFjaywgc3RhdGlj
X2Nhc3Q8Q0ZTdHJpbmdSZWY+KENGU1RSKFdJUlNlcnZpY2VFbmFibGVkTm90aWZpY2F0aW9uKSks
IG51bGxwdHIsIENGTm90aWZpY2F0aW9uU3VzcGVuc2lvbkJlaGF2aW9yQ29hbGVzY2UpOworI2Vu
ZGlmCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQogI2VuZGlmIC8vICFQTEFURk9STShJT1NfRkFN
SUxZKQogfQpAQCAtNTczLDggKzU5MiwxMSBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjp1bnJlZ2lz
dGVyTm90aWZpY2F0CiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBy
ZW1vdmVPYnNlcnZlcjptX2FjdGl2YXRpb25PYnNlcnZlci5nZXQoKV07CiAgICAgW1tOU05vdGlm
aWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2RlYWN0aXZhdGlv
bk9ic2VydmVyLmdldCgpXTsKICNlbGlmIFBMQVRGT1JNKElPUykKLSAgICBDRk5vdGlmaWNhdGlv
bkNlbnRlclJlbW92ZU9ic2VydmVyKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGFyd2luTm90aWZ5
Q2VudGVyKCksIHRoaXMsIHN0YXRpY19jYXN0PENGU3RyaW5nUmVmPihVSUJhY2tsaWdodExldmVs
Q2hhbmdlZE5vdGlmaWNhdGlvbikgLCBudWxscHRyKTsKKyAgICBDRk5vdGlmaWNhdGlvbkNlbnRl
clJlbW92ZU9ic2VydmVyKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGFyd2luTm90aWZ5Q2VudGVy
KCksIHRoaXMsIHN0YXRpY19jYXN0PENGU3RyaW5nUmVmPihVSUJhY2tsaWdodExldmVsQ2hhbmdl
ZE5vdGlmaWNhdGlvbiksIG51bGxwdHIpOwogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVm
YXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9hY2Nlc3NpYmlsaXR5RW5hYmxlZE9ic2VydmVy
LmdldCgpXTsKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKKyAgICBDRk5vdGlmaWNhdGlv
bkNlbnRlclJlbW92ZU9ic2VydmVyKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGFyd2luTm90aWZ5
Q2VudGVyKCksIHRoaXMsIENGU1RSKFdJUlNlcnZpY2VFbmFibGVkTm90aWZpY2F0aW9uKSwgbnVs
bHB0cik7CisjZW5kaWYKICNlbmRpZiAvLyAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKIH0KIApJbmRl
eDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1By
b3h5Q29jb2EubW0JKHJldmlzaW9uIDI1NTk3NykKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0
MCwxMCBAQAogI2ltcG9ydCA8d3RmL1Njb3BlLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2Rhcndpbi9T
YW5kYm94U1BJLmg+CiAKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKKyNpbXBvcnQgPEph
dmFTY3JpcHRDb3JlL1JlbW90ZUluc3BlY3RvckNvbnN0YW50cy5oPgorI2VuZGlmCisKIG5hbWVz
cGFjZSBXZWJLaXQgewogCiBzdGF0aWMgY29uc3QgU2Vjb25kcyB1bmV4cGVjdGVkQWN0aXZpdHlE
dXJhdGlvbiA9IDEwX3M7CkBAIC0yMTAsNCArMjE0LDE1IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5
Ojpwcm9jZXNzV2FzUmVzdW1lZCgKIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQ
RUNUT1IpICYmIFBMQVRGT1JNKElPUykKK3ZvaWQgV2ViUHJvY2Vzc1Byb3h5OjplbmFibGVSZW1v
dGVJbnNwZWN0b3JJZk5lZWRlZCgpCit7CisgICAgaWYgKCFDRlByZWZlcmVuY2VzR2V0QXBwSW50
ZWdlclZhbHVlKFdJUlJlbW90ZUluc3BlY3RvckVuYWJsZWRLZXksIFdJUlJlbW90ZUluc3BlY3Rv
ckRvbWFpbk5hbWUsIG51bGxwdHIpKQorICAgICAgICByZXR1cm47CisgICAgU2FuZGJveEV4dGVu
c2lvbjo6SGFuZGxlIGhhbmRsZTsKKyAgICBhdXRvIGF1ZGl0VG9rZW4gPSBjb25uZWN0aW9uKCkg
PyBjb25uZWN0aW9uKCktPmdldEF1ZGl0VG9rZW4oKSA6IFdURjo6bnVsbG9wdDsKKyAgICBpZiAo
U2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yTWFjaExvb2t1cCgiY29tLmFwcGxlLndl
Ymluc3BlY3RvciIsIGF1ZGl0VG9rZW4sIGhhbmRsZSkpCisgICAgICAgIHNlbmQoTWVzc2FnZXM6
OldlYlByb2Nlc3M6OkVuYWJsZVJlbW90ZVdlYkluc3BlY3RvcihoYW5kbGUpLCAwKTsKK30KKyNl
bmRpZgogfQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAkocmV2
aXNpb24gMjU1OTc3KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00MzIsNiArNDMyLDkgQEAgdm9pZCBXZWJQcm9jZXNzOjppbml0
aWFsaXplV2ViUHJvY2VzcyhXZQogI2VuZGlmCiAKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RP
UikgJiYgUExBVEZPUk0oQ09DT0EpCisjaWYgUExBVEZPUk0oSU9TKQorICAgIEluc3BlY3Rvcjo6
UmVtb3RlSW5zcGVjdG9yOjpzZXROZWVkTWFjaFNhbmRib3hFeHRlbnNpb24odHJ1ZSk7CisjZW5k
aWYKICAgICBpZiAoT3B0aW9uYWw8YXVkaXRfdG9rZW5fdD4gYXVkaXRUb2tlbiA9IHBhcmVudFBy
b2Nlc3NDb25uZWN0aW9uKCktPmdldEF1ZGl0VG9rZW4oKSkgewogICAgICAgICBSZXRhaW5QdHI8
Q0ZEYXRhUmVmPiBhdWRpdERhdGEgPSBhZG9wdENGKENGRGF0YUNyZWF0ZShudWxscHRyLCAoY29u
c3QgVUludDgqKSYqYXVkaXRUb2tlbiwgc2l6ZW9mKCphdWRpdFRva2VuKSkpOwogICAgICAgICBJ
bnNwZWN0b3I6OlJlbW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCkuc2V0UGFyZW50UHJvY2Vzc0lu
Zm9ybWF0aW9uKFdlYkNvcmU6OnByZXNlbnRpbmdBcHBsaWNhdGlvblBJRCgpLCBhdWRpdERhdGEp
OwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCShyZXZpc2lvbiAyNTU5
NzcpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCSh3b3JraW5nIGNv
cHkpCkBAIC00ODgsNiArNDg4LDkgQEAgcHJpdmF0ZToKIAogI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpICYmICFQTEFURk9STShNQUNDQVRBTFlTVCkKICAgICB2b2lkIGJhY2tsaWdodExldmVsRGlk
Q2hhbmdlKGZsb2F0IGJhY2tsaWdodExldmVsKTsKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RP
UikKKyAgICB2b2lkIGVuYWJsZVJlbW90ZVdlYkluc3BlY3Rvcihjb25zdCBTYW5kYm94RXh0ZW5z
aW9uOjpIYW5kbGUmKTsKKyNlbmRpZgogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2Fn
ZXMuaW4JKHJldmlzaW9uIDI1NTk3NykKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0xMjYsNiArMTI2LDkgQEAgbWVz
c2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciBObwogCiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAgIEJhY2tsaWdodExldmVsRGlk
Q2hhbmdlKGZsb2F0IGJhY2tsaWdodExldmVsKQorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9S
KQorICAgIEVuYWJsZVJlbW90ZVdlYkluc3BlY3RvcihXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246
OkhhbmRsZSBoYW5kbGUpOworI2VuZGlmCiAjZW5kaWYKIAogICAgIElzSklURW5hYmxlZCgpIC0+
IChib29sIGVuYWJsZWQpIEFzeW5jCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29j
b2EvV2ViUHJvY2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI1NTk3NykKKysrIFNvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTgxLDYgKzgxLDEwIEBACiAjaW1wb3J0IDx3dGYvUHJvY2Vzc1ByaXZpbGVnZS5oPgog
I2ltcG9ydCA8d3RmL2NvY29hL05TVVJMRXh0cmFzLmg+CiAKKyNpZiBFTkFCTEUoUkVNT1RFX0lO
U1BFQ1RPUikKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SZW1vdGVJbnNwZWN0b3IuaD4KKyNl
bmRpZgorCiAjaWYgUExBVEZPUk0oSU9TKQogI2ltcG9ydCA8V2ViQ29yZS9QYXJlbnRhbENvbnRy
b2xzQ29udGVudEZpbHRlci5oPgogI2VuZGlmCkBAIC05MDEsNiArOTA1LDE1IEBAIHZvaWQgV2Vi
UHJvY2Vzczo6YmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2UKIH0KICNlbmRpZgogCisjaWYgRU5BQkxF
KFJFTU9URV9JTlNQRUNUT1IpICYmIFBMQVRGT1JNKElPUykKK3ZvaWQgV2ViUHJvY2Vzczo6ZW5h
YmxlUmVtb3RlV2ViSW5zcGVjdG9yKGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYgaGFu
ZGxlKQoreworICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseShoYW5kbGUp
OworICAgIEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpzZXROZWVkTWFjaFNhbmRib3hFeHRl
bnNpb24oZmFsc2UpOworICAgIEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpzaW5nbGV0b24o
KTsKK30KKyNlbmRpZgorCiB2b2lkIFdlYlByb2Nlc3M6OnNldE1lZGlhTUlNRVR5cGVzKGNvbnN0
IFZlY3RvcjxTdHJpbmc+IHR5cGVzKQogewogICAgIGF1dG8mIGNhY2hlID0gQVZBc3NldE1JTUVU
eXBlQ2FjaGU6OnNpbmdsZXRvbigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390596</attachid>
            <date>2020-02-12 17:22:35 -0800</date>
            <delta_ts>2020-02-13 08:54:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203214-20200212172234.patch</filename>
            <type>text/plain</type>
            <size>17740</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjU2NDkzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBA
CisyMDIwLTAyLTEyICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAg
ICAgICBNYWNoIGxvb2t1cCB0byBjb20uYXBwbGUud2ViaW5zcGVjdG9yIHNob3VsZCBub3QgYmUg
YWxsb3dlZCBpbiBXZWJLaXQncyBXZWJDb250ZW50IHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzIxNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdGF0aWMgZmxhZyBpbiBSZW1vdGVJ
bnNwZWN0b3IgdG8gaW5kaWNhdGUgd2hldGhlciBhIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5lZWRl
ZC4gVGhlIHJlbW90ZSBpbnNwZWN0b3Igd2lsbCBvbmx5IGJlCisgICAgICAgIHN0YXJ0ZWQgaWYg
dGhlIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5vdCBuZWVkZWQuIE9ubHkgdGhlIFdlYkNvbnRlbnQg
cHJvY2VzcyB3aWxsIG5lZWQgYSBzYW5kYm94IGV4dGVuc2lvbiwgc2luY2UgdGhpcworICAgICAg
ICBwYXRjaCByZW1vdmVzIG1hY2ggYWNjZXNzIHRvICdjb20uYXBwbGUud2ViaW5zcGVjdG9yJyBm
b3IgdGhpcyBwcm9jZXNzLiBBbHNvIGFkZCBuYW1lIGFuZCBkb21haW4gZm9yIHRoZQorICAgICAg
ICAnRW5hYmxlIFJlbW90ZSBJbnNwZWN0b3InIHNldHRpbmcsIHNpbmNlIHRoaXMgd2lsbCBiZSB1
c2VkIGluIHRoZSBVSSBwcm9jZXNzLgorCisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1v
dGVJbnNwZWN0b3IuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVj
dG9yLmg6CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JDb25zdGFu
dHMuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3RvckNv
Y29hLm1tOgorICAgICAgICAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbik6
CisKIDIwMjAtMDItMTIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIENTU19ERVZJQ0VfQURBUFRBVElPTgpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0
b3IuY3BwCShyZXZpc2lvbiAyNTY0OTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICsz
OCw5IEBACiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogYm9vbCBSZW1vdGVJbnNwZWN0b3I6OnN0
YXJ0RW5hYmxlZCA9IHRydWU7CisjaWYgUExBVEZPUk0oQ09DT0EpCitzdGQ6OmF0b21pYzxib29s
PiBSZW1vdGVJbnNwZWN0b3I6Om5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbiA9IGZhbHNlOworI2Vu
ZGlmCiAKIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjpzdGFydERpc2FibGVkKCkKIHsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90
ZUluc3BlY3Rvci5oCShyZXZpc2lvbiAyNTY0OTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMTE0
LDYgKzExNCw5IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RBdXRvbWF0
aW9uU2Vzc2lvbihjb25zdCBTdHJpbmcmIHNlc3Npb25JZGVudGlmaWVyLCBjb25zdCBTZXNzaW9u
Q2FwYWJpbGl0aWVzJikgPSAwOwogICAgIH07CiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBz
dGF0aWMgdm9pZCBzZXROZWVkTWFjaFNhbmRib3hFeHRlbnNpb24oYm9vbCBuZWVkRXh0ZW5zaW9u
KSB7IG5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbiA9IG5lZWRFeHRlbnNpb247IH0KKyNlbmRpZgog
ICAgIHN0YXRpYyB2b2lkIHN0YXJ0RGlzYWJsZWQoKTsKICAgICBzdGF0aWMgUmVtb3RlSW5zcGVj
dG9yJiBzaW5nbGV0b24oKTsKICAgICBmcmllbmQgY2xhc3MgTmV2ZXJEZXN0cm95ZWQ8UmVtb3Rl
SW5zcGVjdG9yPjsKQEAgLTIzNiw2ICsyMzksOSBAQCBwcml2YXRlOgogICAgIFN0cmluZyBiYWNr
ZW5kQ29tbWFuZHMoKSBjb25zdDsKICNlbmRpZgogICAgIHN0YXRpYyBib29sIHN0YXJ0RW5hYmxl
ZDsKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBzdGF0aWMgc3RkOjphdG9taWM8Ym9vbD4gbmVl
ZE1hY2hTYW5kYm94RXh0ZW5zaW9uOworI2VuZGlmCiAKICAgICAvLyBUYXJnZXRzIGNhbiBiZSBy
ZWdpc3RlcmVkIGZyb20gYW55IHRocmVhZCBhdCBhbnkgdGltZS4KICAgICAvLyBBbnkgdGFyZ2V0
IGNhbiBzZW5kIG1lc3NhZ2VzIG92ZXIgdGhlIFhQQyBjb25uZWN0aW9uLgpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yQ29uc3RhbnRz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUv
UmVtb3RlSW5zcGVjdG9yQ29uc3RhbnRzLmgJKHJldmlzaW9uIDI1NjQ5MykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3RvckNvbnN0YW50cy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTgsMyArMTE4LDYgQEAKICNkZWZpbmUgV0lSUHJveHlBcHBs
aWNhdGlvblBhcmVudEF1ZGl0RGF0YUtleSAgIEAiV0lSUHJveHlBcHBsaWNhdGlvblBhcmVudEF1
ZGl0RGF0YSIKICNkZWZpbmUgV0lSUHJveHlBcHBsaWNhdGlvblNldHVwTWVzc2FnZSAgICAgICAg
IEAiV0lSUHJveHlBcHBsaWNhdGlvblNldHVwTWVzc2FnZSIKICNkZWZpbmUgV0lSUHJveHlBcHBs
aWNhdGlvblNldHVwUmVzcG9uc2VNZXNzYWdlIEAiV0lSUHJveHlBcHBsaWNhdGlvblNldHVwUmVz
cG9uc2VNZXNzYWdlIgorCisjZGVmaW5lIFdJUlJlbW90ZUluc3BlY3RvckVuYWJsZWRLZXkgICAg
ICAgICAgICBDRlNUUigiUmVtb3RlSW5zcGVjdG9yRW5hYmxlZCIpCisjZGVmaW5lIFdJUlJlbW90
ZUluc3BlY3RvckRvbWFpbk5hbWUgICAgICAgICAgICBDRlNUUigiY29tLmFwcGxlLndlYmluc3Bl
Y3RvcmQiKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvY29j
b2EvUmVtb3RlSW5zcGVjdG9yQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvY29jb2EvUmVtb3RlSW5zcGVjdG9yQ29jb2EubW0JKHJl
dmlzaW9uIDI1NjQ5MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3Rl
L2NvY29hL1JlbW90ZUluc3BlY3RvckNvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC04Nyw2ICs4
NywxMSBAQCBSZW1vdGVJbnNwZWN0b3ImIFJlbW90ZUluc3BlY3Rvcjo6c2luZ2xlCiB7CiAgICAg
c3RhdGljIE5ldmVyRGVzdHJveWVkPFJlbW90ZUluc3BlY3Rvcj4gc2hhcmVkOwogCisjaWYgUExB
VEZPUk0oQ09DT0EpCisgICAgaWYgKG5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbikKKyAgICAgICAg
cmV0dXJuIHNoYXJlZDsKKyNlbmRpZgorICAgIAogICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qg
b25jZTsKICAgICBkaXNwYXRjaF9vbmNlKCZvbmNlLCBeewogICAgICAgICBpZiAoY2FuQWNjZXNz
V2ViSW5zcGVjdG9yTWFjaFBvcnQoKSkgewpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NjQ5NCkK
KysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzgg
QEAKKzIwMjAtMDItMTIgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisg
ICAgICAgIE1hY2ggbG9va3VwIHRvIGNvbS5hcHBsZS53ZWJpbnNwZWN0b3Igc2hvdWxkIG5vdCBi
ZSBhbGxvd2VkIGluIFdlYktpdCdzIFdlYkNvbnRlbnQgcHJvY2VzcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMjE0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSWYgdGhlIFdlYiBpbnNwZWN0b3IgaXMg
ZW5hYmxlZCB3aGVuIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgaXMgc3RhcnRlZCwgYSBzYW5kYm94
IGV4dGVuc2lvbiBpcyBjcmVhdGVkCisgICAgICAgIGZvciAnY29tLmFwcGxlLndlYmluc3BlY3Rv
cicgYW5kIGEgbWVzc2FnZSBpcyBzZW50IHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3MsIHdoZXJl
IHRoZSBleHRlbnNpb24gd2lsbAorICAgICAgICBiZSBjb25zdW1lZCwgYW5kIHRoZSByZW1vdGUg
V2ViIGluc3BlY3RvciB3aWxsIGJlIHN0YXJ0ZWQuIFRoZSBzYW1lIGhhcHBlbnMgaWYgV2ViIGlu
c3BlY3RvciBpcyBlbmFibGVkCisgICAgICAgIGJ5IHRoZSB1c2VyIHdoaWxlIFNhZmFyaSBpcyBy
dW5uaW5nLiBXaGVuIFJlbW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCkgaXMgY2FsbGVkIGluIHRo
ZSBVSSBwcm9jZXNzIHRoZXJlCisgICAgICAgIGlzIG5vIG5lZWQgZm9yIGFuIGV4dGVuc2lvbiwg
c2luY2UgYWNjZXNzIHRvIHRoZSBXZWIgaW5zcGVjdG9yIGRhZW1vbiBpcyBhbHJlYWR5IGFsbG93
ZWQuCisKKyAgICAgICAgKiBSZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUu
V2ViS2l0LldlYkNvbnRlbnQuc2I6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nl
c3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpiYWNrbGln
aHRMZXZlbERpZENoYW5nZUNhbGxiYWNrKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bv
b2w6OnJlbW90ZVdlYkluc3BlY3RvckVuYWJsZWRDYWxsYmFjayk6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQb29sOjpyZWdpc3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycyk6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjp1bnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJz
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW06Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6ZW5hYmxlUmVtb3RlSW5zcGVjdG9ySWZO
ZWVkZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjppbml0aWFsaXplTmV3V2ViUHJvY2Vzcyk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6bWF5
QmVjb21lVW5yZXNwb25zaXZlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6ZW5hYmxlUmVtb3RlV2ViSW5zcGVjdG9yKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluOgorCiAyMDIwLTAy
LTEyICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNTYwMTAuCkluZGV4OiBTb3VyY2UvV2ViS2l0L1Jlc291cmNl
cy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYgo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2Nv
bS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYgkocmV2aXNpb24gMjU2NDkzKQorKysgU291cmNl
L1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0Lldl
YkNvbnRlbnQuc2IJKHdvcmtpbmcgY29weSkKQEAgLTg4Niw3ICs4ODYsNyBAQAogKG1lZGlhLWFj
Y2Vzc2liaWxpdHktc3VwcG9ydCkKIAogOzsgUmVtb3RlIFdlYiBJbnNwZWN0b3IKLShhbGxvdyBt
YWNoLWxvb2t1cAorKGFsbG93IG1hY2gtbG9va3VwICh3aXRoIHJlcG9ydCkgKHdpdGggdGVsZW1l
dHJ5KQogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLndlYmluc3BlY3RvciIpKQogCiAo
YWxsb3cgbWFjaC1sb29rdXAgKHdpdGggcmVwb3J0KSAod2l0aCB0ZWxlbWV0cnkpCkBAIC05MDgs
NyArOTA4LDcgQEAKIChhbGxvdyBtYWNoLWxvb2t1cAogICAgIChyZXF1aXJlLWFsbAogICAgICAg
ICAoZXh0ZW5zaW9uICJjb20uYXBwbGUud2Via2l0LmV4dGVuc2lvbi5tYWNoIikKLSAgICAgICAg
KGdsb2JhbC1uYW1lICJjb20uYXBwbGUuaXBob25lLmF4c2VydmVyLXN5c3RlbXdpZGUiICJjb20u
YXBwbGUudGNjZCIgImNvbS5hcHBsZS5uZWhlbHBlciIgImNvbS5hcHBsZS5uZXNlc3Npb25tYW5h
Z2VyLmNvbnRlbnQtZmlsdGVyIiAiY29tLmFwcGxlLnVpa2l0LnZpZXdzZXJ2aWNlLmNvbS5hcHBs
ZS5XZWJDb250ZW50RmlsdGVyLnJlbW90ZVVJIiAiY29tLmFwcGxlLmRpYWdub3N0aWNkIiAiY29t
LmFwcGxlLmxzZC5vcGVuIiAiY29tLmFwcGxlLm1vYmlsZWFzc2V0ZCIgImNvbS5hcHBsZS5tb2Jp
bGVhc3NldGQudjIiICJjb20uYXBwbGUuZnJvbnRib2FyZC5zeXN0ZW1hcHBzZXJ2aWNlcyIgImNv
bS5hcHBsZS5pY29uc2VydmljZXMiKSkpCisgICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxl
LmlwaG9uZS5heHNlcnZlci1zeXN0ZW13aWRlIiAiY29tLmFwcGxlLnRjY2QiICJjb20uYXBwbGUu
bmVoZWxwZXIiICJjb20uYXBwbGUubmVzZXNzaW9ubWFuYWdlci5jb250ZW50LWZpbHRlciIgImNv
bS5hcHBsZS51aWtpdC52aWV3c2VydmljZS5jb20uYXBwbGUuV2ViQ29udGVudEZpbHRlci5yZW1v
dGVVSSIgImNvbS5hcHBsZS5kaWFnbm9zdGljZCIgImNvbS5hcHBsZS5sc2Qub3BlbiIgImNvbS5h
cHBsZS5tb2JpbGVhc3NldGQiICJjb20uYXBwbGUubW9iaWxlYXNzZXRkLnYyIiAiY29tLmFwcGxl
LmZyb250Ym9hcmQuc3lzdGVtYXBwc2VydmljZXMiICJjb20uYXBwbGUuaWNvbnNlcnZpY2VzIiAi
Y29tLmFwcGxlLndlYmluc3BlY3RvciIpKSkKIAogKGFsbG93IG1hY2gtbG9va3VwCiAgICAgKHJl
cXVpcmUtYWxsCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wu
Y3BwCShyZXZpc2lvbiAyNTY0OTMpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNzMsNyArMTA3Myw3IEBAIHZvaWQgV2Vi
UHJvY2Vzc1Bvb2w6OmluaXRpYWxpemVOZXdXZWJQcm8KIAogI2lmIEVOQUJMRShSRU1PVEVfSU5T
UEVDVE9SKQogICAgIC8vIEluaXRpYWxpemUgcmVtb3RlIGluc3BlY3RvciBjb25uZWN0aW9uIG5v
dyB0aGF0IHdlIGhhdmUgYSBzdWItcHJvY2VzcyB0aGF0IGlzIGhvc3Rpbmcgb25lIG9mIG91ciB3
ZWIgdmlld3MuCi0gICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpOyAK
KyAgICBJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCk7CiAjZW5kaWYKIAog
I2lmIFBMQVRGT1JNKE1BQykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuaAkocmV2aXNpb24gMjU2NDkzKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Bvb2wuaAkod29ya2luZyBjb3B5KQpAQCAtNjA5LDYgKzYwOSw5IEBAIHByaXZhdGU6
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAg
IHN0YXRpYyBmbG9hdCBkaXNwbGF5QnJpZ2h0bmVzcygpOwogICAgIHN0YXRpYyB2b2lkIGJhY2ts
aWdodExldmVsRGlkQ2hhbmdlQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsIHZvaWQg
Km9ic2VydmVyLCBDRlN0cmluZ1JlZiBuYW1lLCBjb25zdCB2b2lkICosIENGRGljdGlvbmFyeVJl
ZiB1c2VySW5mbyk7ICAgIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQorICAgIHN0YXRp
YyB2b2lkIHJlbW90ZVdlYkluc3BlY3RvckVuYWJsZWRDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNl
bnRlclJlZiwgdm9pZCAqb2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZvaWQgKiwg
Q0ZEaWN0aW9uYXJ5UmVmIHVzZXJJbmZvKTsKKyNlbmRpZgogI2VuZGlmCiAKICAgICBSZWY8QVBJ
OjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24+IG1fY29uZmlndXJhdGlvbjsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAkocmV2aXNpb24gMjU2NDkz
KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtODg1LDYgKzg4NSwxMCBAQCBib29sIFdlYlByb2Nlc3NQcm94eTo6bWF5QmVj
b21lVW5yZXNwb25zCiAKICAgICByZXR1cm4gdHJ1ZTsKICNlbmRpZgorCisjaWYgRU5BQkxFKFJF
TU9URV9JTlNQRUNUT1IpICYmIFBMQVRGT1JNKENPQ09BKQorICAgIGVuYWJsZVJlbW90ZUluc3Bl
Y3RvcklmTmVlZGVkKCk7CisjZW5kaWYKIH0KIAogdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZEZp
bmlzaExhdW5jaGluZyhQcm9jZXNzTGF1bmNoZXIqIGxhdW5jaGVyLCBJUEM6OkNvbm5lY3Rpb246
OklkZW50aWZpZXIgY29ubmVjdGlvbklkZW50aWZpZXIpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkocmV2aXNpb24gMjU2NDkzKQorKysgU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTMyNSw2
ICszMjUsMTAgQEAgcHVibGljOgogICAgIHZvaWQgcmV2b2tlQXVkaW9DYXB0dXJlRXh0ZW5zaW9u
KCkgeyBtX21lZGlhQ2FwdHVyZVNhbmRib3hFeHRlbnNpb25zICY9IH5BdWRpbzsgfQogI2VuZGlm
CiAKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikgJiYgUExBVEZPUk0oQ09DT0EpCisgICAg
dm9pZCBlbmFibGVSZW1vdGVJbnNwZWN0b3JJZk5lZWRlZCgpOworI2VuZGlmCisgICAgCiAjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICB2b2lkIHVuYmxvY2tBY2Nlc3NpYmlsaXR5U2VydmVy
SWZOZWVkZWQoKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAyNTY0OTMpCisrKyBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC02NCw2ICs2NCwxMSBAQAogI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vU2Fu
ZGJveFNQSS5oPgogI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgogCisjaWYgRU5B
QkxFKFJFTU9URV9JTlNQRUNUT1IpCisjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9SZW1vdGVJbnNw
ZWN0b3IuaD4KKyNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL1JlbW90ZUluc3BlY3RvckNvbnN0YW50
cy5oPgorI2VuZGlmCisKICNpZiBQTEFURk9STShNQUMpCiAjaW1wb3J0IDxRdWFydHpDb3JlL0NB
UmVtb3RlTGF5ZXJTZXJ2ZXIuaD4KICNlbHNlCkBAIC00OTYsMTEgKzUwMSwyMiBAQCBmbG9hdCBX
ZWJQcm9jZXNzUG9vbDo6ZGlzcGxheUJyaWdodG5lc3MoCiAgICAgCiB2b2lkIFdlYlByb2Nlc3NQ
b29sOjpiYWNrbGlnaHRMZXZlbERpZENoYW5nZUNhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVy
UmVmIGNlbnRlciwgdm9pZCAqb2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZvaWQg
Km9iamVjdCwgQ0ZEaWN0aW9uYXJ5UmVmIHVzZXJJbmZvKQogewotICAgIFdlYlByb2Nlc3NQb29s
KiBwb29sID0gcmVpbnRlcnByZXRfY2FzdDxXZWJQcm9jZXNzUG9vbCo+KG9ic2VydmVyKTsKKyAg
ICBhdXRvKiBwb29sID0gcmVpbnRlcnByZXRfY2FzdDxXZWJQcm9jZXNzUG9vbCo+KG9ic2VydmVy
KTsKICAgICBwb29sLT5zZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkJh
Y2tsaWdodExldmVsRGlkQ2hhbmdlKEJLU0Rpc3BsYXlCcmlnaHRuZXNzR2V0Q3VycmVudCgpKSk7
CiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQordm9pZCBXZWJQcm9j
ZXNzUG9vbDo6cmVtb3RlV2ViSW5zcGVjdG9yRW5hYmxlZENhbGxiYWNrKENGTm90aWZpY2F0aW9u
Q2VudGVyUmVmLCB2b2lkICpvYnNlcnZlciwgQ0ZTdHJpbmdSZWYgbmFtZSwgY29uc3Qgdm9pZCAq
LCBDRkRpY3Rpb25hcnlSZWYgdXNlckluZm8pCit7CisgICAgYXV0byogcG9vbCA9IHJlaW50ZXJw
cmV0X2Nhc3Q8V2ViUHJvY2Vzc1Bvb2wqPihvYnNlcnZlcik7CisgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBwb29sLT5tX3Byb2Nlc3Nlcy5zaXplKCk7ICsraSkgeworICAgICAgICBhdXRvIHBy
b2Nlc3MgPSBwb29sLT5tX3Byb2Nlc3Nlc1tpXTsKKyAgICAgICAgcHJvY2Vzcy0+ZW5hYmxlUmVt
b3RlSW5zcGVjdG9ySWZOZWVkZWQoKTsKKyAgICB9Cit9CisjZW5kaWYKKwogdm9pZCBXZWJQcm9j
ZXNzUG9vbDo6cmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMoKQogewogI2lmICFQTEFURk9S
TShJT1NfRkFNSUxZKQpAQCAtNTU0LDYgKzU3MCw5IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnJl
Z2lzdGVyTm90aWZpY2F0aW8KICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX3Byb2Nl
c3Nlcy5zaXplKCk7ICsraSkKICAgICAgICAgICAgIG1fcHJvY2Vzc2VzW2ldLT51bmJsb2NrQWNj
ZXNzaWJpbGl0eVNlcnZlcklmTmVlZGVkKCk7CiAgICAgfV07CisjaWYgRU5BQkxFKFJFTU9URV9J
TlNQRUNUT1IpCisgICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJBZGRPYnNlcnZlcihDRk5vdGlmaWNh
dGlvbkNlbnRlckdldERhcndpbk5vdGlmeUNlbnRlcigpLCB0aGlzLCByZW1vdGVXZWJJbnNwZWN0
b3JFbmFibGVkQ2FsbGJhY2ssIHN0YXRpY19jYXN0PENGU3RyaW5nUmVmPihDRlNUUihXSVJTZXJ2
aWNlRW5hYmxlZE5vdGlmaWNhdGlvbikpLCBudWxscHRyLCBDRk5vdGlmaWNhdGlvblN1c3BlbnNp
b25CZWhhdmlvckNvYWxlc2NlKTsKKyNlbmRpZgogI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKICNl
bmRpZiAvLyAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKIH0KQEAgLTU3Niw2ICs1OTUsOSBAQCB2b2lk
IFdlYlByb2Nlc3NQb29sOjp1bnJlZ2lzdGVyTm90aWZpY2F0CiAgICAgQ0ZOb3RpZmljYXRpb25D
ZW50ZXJSZW1vdmVPYnNlcnZlcihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERhcndpbk5vdGlmeUNl
bnRlcigpLCB0aGlzLCBzdGF0aWNfY2FzdDxDRlN0cmluZ1JlZj4oVUlCYWNrbGlnaHRMZXZlbENo
YW5nZWROb3RpZmljYXRpb24pICwgbnVsbHB0cik7CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIFtb
TlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9hY2Nl
c3NpYmlsaXR5RW5hYmxlZE9ic2VydmVyLmdldCgpXTsKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BF
Q1RPUikKKyAgICBDRk5vdGlmaWNhdGlvbkNlbnRlclJlbW92ZU9ic2VydmVyKENGTm90aWZpY2F0
aW9uQ2VudGVyR2V0RGFyd2luTm90aWZ5Q2VudGVyKCksIHRoaXMsIENGU1RSKFdJUlNlcnZpY2VF
bmFibGVkTm90aWZpY2F0aW9uKSwgbnVsbHB0cik7CisjZW5kaWYKICNlbmRpZiAvLyBQTEFURk9S
TShJT1MpCiAjZW5kaWYgLy8gIVBMQVRGT1JNKElPU19GQU1JTFkpCiB9CkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5t
bQkocmV2aXNpb24gMjU2NDkzKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
UHJvY2Vzc1Byb3h5Q29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDEwIEBACiAj
aW1wb3J0IDx3dGYvU2NvcGUuaD4KICNpbXBvcnQgPHd0Zi9zcGkvZGFyd2luL1NhbmRib3hTUEku
aD4KIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQorI2ltcG9ydCA8SmF2YVNjcmlwdENv
cmUvUmVtb3RlSW5zcGVjdG9yQ29uc3RhbnRzLmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYktp
dCB7CiAKIHN0YXRpYyBjb25zdCBTZWNvbmRzIHVuZXhwZWN0ZWRBY3Rpdml0eUR1cmF0aW9uID0g
MTBfczsKQEAgLTIxMCw0ICsyMTQsMTUgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OnByb2Nlc3NX
YXNSZXN1bWVkKAogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKK3Zv
aWQgV2ViUHJvY2Vzc1Byb3h5OjplbmFibGVSZW1vdGVJbnNwZWN0b3JJZk5lZWRlZCgpCit7Cisg
ICAgaWYgKCFDRlByZWZlcmVuY2VzR2V0QXBwSW50ZWdlclZhbHVlKFdJUlJlbW90ZUluc3BlY3Rv
ckVuYWJsZWRLZXksIFdJUlJlbW90ZUluc3BlY3RvckRvbWFpbk5hbWUsIG51bGxwdHIpKQorICAg
ICAgICByZXR1cm47CisgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIGhhbmRsZTsKKyAgICBh
dXRvIGF1ZGl0VG9rZW4gPSBjb25uZWN0aW9uKCkgPyBjb25uZWN0aW9uKCktPmdldEF1ZGl0VG9r
ZW4oKSA6IFdURjo6bnVsbG9wdDsKKyAgICBpZiAoU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFu
ZGxlRm9yTWFjaExvb2t1cCgiY29tLmFwcGxlLndlYmluc3BlY3RvciIsIGF1ZGl0VG9rZW4sIGhh
bmRsZSkpCisgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkVuYWJsZVJlbW90ZVdl
Ykluc3BlY3RvcihoYW5kbGUpLCAwKTsKK30KKyNlbmRpZgogfQpJbmRleDogU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAkocmV2aXNpb24gMjU2NDkzKQorKysgU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzIsNiAr
NDMyLDkgQEAgdm9pZCBXZWJQcm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2VzcyhXZQogI2VuZGlm
CiAKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikgJiYgUExBVEZPUk0oQ09DT0EpCisjaWYg
UExBVEZPUk0oSU9TKQorICAgIEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpzZXROZWVkTWFj
aFNhbmRib3hFeHRlbnNpb24odHJ1ZSk7CisjZW5kaWYKICAgICBpZiAoT3B0aW9uYWw8YXVkaXRf
dG9rZW5fdD4gYXVkaXRUb2tlbiA9IHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPmdldEF1ZGl0
VG9rZW4oKSkgewogICAgICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBhdWRpdERhdGEgPSBhZG9w
dENGKENGRGF0YUNyZWF0ZShudWxscHRyLCAoY29uc3QgVUludDgqKSYqYXVkaXRUb2tlbiwgc2l6
ZW9mKCphdWRpdFRva2VuKSkpOwogICAgICAgICBJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3Rvcjo6
c2luZ2xldG9uKCkuc2V0UGFyZW50UHJvY2Vzc0luZm9ybWF0aW9uKFdlYkNvcmU6OnByZXNlbnRp
bmdBcHBsaWNhdGlvblBJRCgpLCBhdWRpdERhdGEpOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oCShyZXZpc2lvbiAyNTY0OTMpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMDcsNiArMzA3LDkgQEAgcHVi
bGljOgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgdm9pZCBzZXRNZWRpYU1JTUVUeXBlcyhj
b25zdCBWZWN0b3I8U3RyaW5nPik7CisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisgICAg
dm9pZCBlbmFibGVSZW1vdGVXZWJJbnNwZWN0b3IoY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFu
ZGxlJik7CisjZW5kaWYKICNlbmRpZgogCiAgICAgYm9vbCBhcmVBbGxQYWdlc1Rocm90dGxlYWJs
ZSgpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVz
c2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MubWVzc2FnZXMuaW4JKHJldmlzaW9uIDI1NjQ5MykKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0xMzIsNiArMTMy
LDkgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciBObwogCiAjaWYgUExB
VEZPUk0oQ09DT0EpCiAgICAgU2V0TWVkaWFNSU1FVHlwZXMoVmVjdG9yPFN0cmluZz4gdHlwZXMp
CisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisgICAgRW5hYmxlUmVtb3RlV2ViSW5zcGVj
dG9yKFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIGhhbmRsZSk7CisjZW5kaWYKICNl
bmRpZgogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbgo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW4JKHJldmlzaW9uIDI1
NjQ5MykKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5z
Yi5pbgkod29ya2luZyBjb3B5KQpAQCAtNjA0LDcgKzYwNCw3IEBACiAgICAgKGlwYy1wb3NpeC1u
YW1lLXJlZ2V4ICMiXkF1ZGlvSU8iKSkKIAogOzsgUmVtb3RlIFdlYiBJbnNwZWN0b3IKLShhbGxv
dyBtYWNoLWxvb2t1cAorKGFsbG93IG1hY2gtbG9va3VwICh3aXRoIHRlbGVtZXRyeSkKICAgICAg
ICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS53ZWJpbnNwZWN0b3IiKSkKIAogKGFsbG93IG1hY2gt
bG9va3VwCkBAIC04NjIsNiArODYyLDcgQEAKICNlbHNlCiAgICAgICAgICAgICAiY29tLmFwcGxl
Lm5lc2Vzc2lvbm1hbmFnZXIiCiAjZW5kaWYKKyAgICAgICAgICAgICJjb20uYXBwbGUud2ViaW5z
cGVjdG9yIgogICAgICAgICApCiAgICAgKQogKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lvbiAyNTY0OTMpCisr
KyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC04MSw2ICs4MSwxMCBAQAogI2ltcG9ydCA8d3RmL1Byb2Nlc3NQcml2aWxl
Z2UuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9OU1VSTEV4dHJhcy5oPgogCisjaWYgRU5BQkxFKFJF
TU9URV9JTlNQRUNUT1IpCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUmVtb3RlSW5zcGVjdG9y
Lmg+CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKElPUykKICNpbXBvcnQgPFdlYkNvcmUvUGFyZW50
YWxDb250cm9sc0NvbnRlbnRGaWx0ZXIuaD4KICNlbmRpZgpAQCAtOTAxLDYgKzkwNSwxNSBAQCB2
b2lkIFdlYlByb2Nlc3M6OmJhY2tsaWdodExldmVsRGlkQ2hhbmdlCiB9CiAjZW5kaWYKIAorI2lm
IEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQordm9pZCBXZWJQcm9jZXNzOjplbmFibGVSZW1vdGVX
ZWJJbnNwZWN0b3IoY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiBoYW5kbGUpCit7Cisg
ICAgU2FuZGJveEV4dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVudGx5KGhhbmRsZSk7CisgICAgSW5z
cGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNldE5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbihmYWxz
ZSk7CisgICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpOworfQorI2Vu
ZGlmCisKIHZvaWQgV2ViUHJvY2Vzczo6c2V0TWVkaWFNSU1FVHlwZXMoY29uc3QgVmVjdG9yPFN0
cmluZz4gdHlwZXMpCiB7CiAgICAgYXV0byYgY2FjaGUgPSBBVkFzc2V0TUlNRVR5cGVDYWNoZTo6
c2luZ2xldG9uKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390653</attachid>
            <date>2020-02-13 08:54:53 -0800</date>
            <delta_ts>2020-02-13 09:18:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203214-20200213085452.patch</filename>
            <type>text/plain</type>
            <size>17790</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjU2NDkzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBA
CisyMDIwLTAyLTEyICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAg
ICAgICBNYWNoIGxvb2t1cCB0byBjb20uYXBwbGUud2ViaW5zcGVjdG9yIHNob3VsZCBub3QgYmUg
YWxsb3dlZCBpbiBXZWJLaXQncyBXZWJDb250ZW50IHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzIxNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdGF0aWMgZmxhZyBpbiBSZW1vdGVJ
bnNwZWN0b3IgdG8gaW5kaWNhdGUgd2hldGhlciBhIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5lZWRl
ZC4gVGhlIHJlbW90ZSBpbnNwZWN0b3Igd2lsbCBvbmx5IGJlCisgICAgICAgIHN0YXJ0ZWQgaWYg
dGhlIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5vdCBuZWVkZWQuIE9ubHkgdGhlIFdlYkNvbnRlbnQg
cHJvY2VzcyB3aWxsIG5lZWQgYSBzYW5kYm94IGV4dGVuc2lvbiwgc2luY2UgdGhpcworICAgICAg
ICBwYXRjaCByZW1vdmVzIG1hY2ggYWNjZXNzIHRvICdjb20uYXBwbGUud2ViaW5zcGVjdG9yJyBm
b3IgdGhpcyBwcm9jZXNzLiBBbHNvIGFkZCBuYW1lIGFuZCBkb21haW4gZm9yIHRoZQorICAgICAg
ICAnRW5hYmxlIFJlbW90ZSBJbnNwZWN0b3InIHNldHRpbmcsIHNpbmNlIHRoaXMgd2lsbCBiZSB1
c2VkIGluIHRoZSBVSSBwcm9jZXNzLgorCisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1v
dGVJbnNwZWN0b3IuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVj
dG9yLmg6CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JDb25zdGFu
dHMuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3RvckNv
Y29hLm1tOgorICAgICAgICAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbik6
CisKIDIwMjAtMDItMTIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIENTU19ERVZJQ0VfQURBUFRBVElPTgpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0
b3IuY3BwCShyZXZpc2lvbiAyNTY0OTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICsz
OCw5IEBACiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogYm9vbCBSZW1vdGVJbnNwZWN0b3I6OnN0
YXJ0RW5hYmxlZCA9IHRydWU7CisjaWYgUExBVEZPUk0oQ09DT0EpCitzdGQ6OmF0b21pYzxib29s
PiBSZW1vdGVJbnNwZWN0b3I6Om5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbiA9IGZhbHNlOworI2Vu
ZGlmCiAKIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjpzdGFydERpc2FibGVkKCkKIHsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90
ZUluc3BlY3Rvci5oCShyZXZpc2lvbiAyNTY0OTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMTE0
LDYgKzExNCw5IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RBdXRvbWF0
aW9uU2Vzc2lvbihjb25zdCBTdHJpbmcmIHNlc3Npb25JZGVudGlmaWVyLCBjb25zdCBTZXNzaW9u
Q2FwYWJpbGl0aWVzJikgPSAwOwogICAgIH07CiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBz
dGF0aWMgdm9pZCBzZXROZWVkTWFjaFNhbmRib3hFeHRlbnNpb24oYm9vbCBuZWVkRXh0ZW5zaW9u
KSB7IG5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbiA9IG5lZWRFeHRlbnNpb247IH0KKyNlbmRpZgog
ICAgIHN0YXRpYyB2b2lkIHN0YXJ0RGlzYWJsZWQoKTsKICAgICBzdGF0aWMgUmVtb3RlSW5zcGVj
dG9yJiBzaW5nbGV0b24oKTsKICAgICBmcmllbmQgY2xhc3MgTmV2ZXJEZXN0cm95ZWQ8UmVtb3Rl
SW5zcGVjdG9yPjsKQEAgLTIzNiw2ICsyMzksOSBAQCBwcml2YXRlOgogICAgIFN0cmluZyBiYWNr
ZW5kQ29tbWFuZHMoKSBjb25zdDsKICNlbmRpZgogICAgIHN0YXRpYyBib29sIHN0YXJ0RW5hYmxl
ZDsKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBzdGF0aWMgc3RkOjphdG9taWM8Ym9vbD4gbmVl
ZE1hY2hTYW5kYm94RXh0ZW5zaW9uOworI2VuZGlmCiAKICAgICAvLyBUYXJnZXRzIGNhbiBiZSBy
ZWdpc3RlcmVkIGZyb20gYW55IHRocmVhZCBhdCBhbnkgdGltZS4KICAgICAvLyBBbnkgdGFyZ2V0
IGNhbiBzZW5kIG1lc3NhZ2VzIG92ZXIgdGhlIFhQQyBjb25uZWN0aW9uLgpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yQ29uc3RhbnRz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUv
UmVtb3RlSW5zcGVjdG9yQ29uc3RhbnRzLmgJKHJldmlzaW9uIDI1NjQ5MykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3RvckNvbnN0YW50cy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTgsMyArMTE4LDYgQEAKICNkZWZpbmUgV0lSUHJveHlBcHBs
aWNhdGlvblBhcmVudEF1ZGl0RGF0YUtleSAgIEAiV0lSUHJveHlBcHBsaWNhdGlvblBhcmVudEF1
ZGl0RGF0YSIKICNkZWZpbmUgV0lSUHJveHlBcHBsaWNhdGlvblNldHVwTWVzc2FnZSAgICAgICAg
IEAiV0lSUHJveHlBcHBsaWNhdGlvblNldHVwTWVzc2FnZSIKICNkZWZpbmUgV0lSUHJveHlBcHBs
aWNhdGlvblNldHVwUmVzcG9uc2VNZXNzYWdlIEAiV0lSUHJveHlBcHBsaWNhdGlvblNldHVwUmVz
cG9uc2VNZXNzYWdlIgorCisjZGVmaW5lIFdJUlJlbW90ZUluc3BlY3RvckVuYWJsZWRLZXkgICAg
ICAgICAgICBDRlNUUigiUmVtb3RlSW5zcGVjdG9yRW5hYmxlZCIpCisjZGVmaW5lIFdJUlJlbW90
ZUluc3BlY3RvckRvbWFpbk5hbWUgICAgICAgICAgICBDRlNUUigiY29tLmFwcGxlLndlYmluc3Bl
Y3RvcmQiKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvY29j
b2EvUmVtb3RlSW5zcGVjdG9yQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvY29jb2EvUmVtb3RlSW5zcGVjdG9yQ29jb2EubW0JKHJl
dmlzaW9uIDI1NjQ5MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3Rl
L2NvY29hL1JlbW90ZUluc3BlY3RvckNvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC04Nyw2ICs4
NywxMSBAQCBSZW1vdGVJbnNwZWN0b3ImIFJlbW90ZUluc3BlY3Rvcjo6c2luZ2xlCiB7CiAgICAg
c3RhdGljIE5ldmVyRGVzdHJveWVkPFJlbW90ZUluc3BlY3Rvcj4gc2hhcmVkOwogCisjaWYgUExB
VEZPUk0oQ09DT0EpCisgICAgaWYgKG5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbikKKyAgICAgICAg
cmV0dXJuIHNoYXJlZDsKKyNlbmRpZgorICAgIAogICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qg
b25jZTsKICAgICBkaXNwYXRjaF9vbmNlKCZvbmNlLCBeewogICAgICAgICBpZiAoY2FuQWNjZXNz
V2ViSW5zcGVjdG9yTWFjaFBvcnQoKSkgewpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NjQ5NCkK
KysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzgg
QEAKKzIwMjAtMDItMTIgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisg
ICAgICAgIE1hY2ggbG9va3VwIHRvIGNvbS5hcHBsZS53ZWJpbnNwZWN0b3Igc2hvdWxkIG5vdCBi
ZSBhbGxvd2VkIGluIFdlYktpdCdzIFdlYkNvbnRlbnQgcHJvY2VzcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMjE0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSWYgdGhlIFdlYiBpbnNwZWN0b3IgaXMg
ZW5hYmxlZCB3aGVuIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgaXMgc3RhcnRlZCwgYSBzYW5kYm94
IGV4dGVuc2lvbiBpcyBjcmVhdGVkCisgICAgICAgIGZvciAnY29tLmFwcGxlLndlYmluc3BlY3Rv
cicgYW5kIGEgbWVzc2FnZSBpcyBzZW50IHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3MsIHdoZXJl
IHRoZSBleHRlbnNpb24gd2lsbAorICAgICAgICBiZSBjb25zdW1lZCwgYW5kIHRoZSByZW1vdGUg
V2ViIGluc3BlY3RvciB3aWxsIGJlIHN0YXJ0ZWQuIFRoZSBzYW1lIGhhcHBlbnMgaWYgV2ViIGlu
c3BlY3RvciBpcyBlbmFibGVkCisgICAgICAgIGJ5IHRoZSB1c2VyIHdoaWxlIFNhZmFyaSBpcyBy
dW5uaW5nLiBXaGVuIFJlbW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCkgaXMgY2FsbGVkIGluIHRo
ZSBVSSBwcm9jZXNzIHRoZXJlCisgICAgICAgIGlzIG5vIG5lZWQgZm9yIGFuIGV4dGVuc2lvbiwg
c2luY2UgYWNjZXNzIHRvIHRoZSBXZWIgaW5zcGVjdG9yIGRhZW1vbiBpcyBhbHJlYWR5IGFsbG93
ZWQuCisKKyAgICAgICAgKiBSZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUu
V2ViS2l0LldlYkNvbnRlbnQuc2I6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nl
c3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpiYWNrbGln
aHRMZXZlbERpZENoYW5nZUNhbGxiYWNrKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bv
b2w6OnJlbW90ZVdlYkluc3BlY3RvckVuYWJsZWRDYWxsYmFjayk6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQb29sOjpyZWdpc3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycyk6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjp1bnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJz
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW06Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6ZW5hYmxlUmVtb3RlSW5zcGVjdG9ySWZO
ZWVkZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjppbml0aWFsaXplTmV3V2ViUHJvY2Vzcyk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6bWF5
QmVjb21lVW5yZXNwb25zaXZlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6ZW5hYmxlUmVtb3RlV2ViSW5zcGVjdG9yKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluOgorCiAyMDIwLTAy
LTEyICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNTYwMTAuCkluZGV4OiBTb3VyY2UvV2ViS2l0L1Jlc291cmNl
cy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYgo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2Nv
bS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYgkocmV2aXNpb24gMjU2NDkzKQorKysgU291cmNl
L1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0Lldl
YkNvbnRlbnQuc2IJKHdvcmtpbmcgY29weSkKQEAgLTg4Niw3ICs4ODYsNyBAQAogKG1lZGlhLWFj
Y2Vzc2liaWxpdHktc3VwcG9ydCkKIAogOzsgUmVtb3RlIFdlYiBJbnNwZWN0b3IKLShhbGxvdyBt
YWNoLWxvb2t1cAorKGFsbG93IG1hY2gtbG9va3VwICh3aXRoIHJlcG9ydCkgKHdpdGggdGVsZW1l
dHJ5KQogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLndlYmluc3BlY3RvciIpKQogCiAo
YWxsb3cgbWFjaC1sb29rdXAgKHdpdGggcmVwb3J0KSAod2l0aCB0ZWxlbWV0cnkpCkBAIC05MDgs
NyArOTA4LDcgQEAKIChhbGxvdyBtYWNoLWxvb2t1cAogICAgIChyZXF1aXJlLWFsbAogICAgICAg
ICAoZXh0ZW5zaW9uICJjb20uYXBwbGUud2Via2l0LmV4dGVuc2lvbi5tYWNoIikKLSAgICAgICAg
KGdsb2JhbC1uYW1lICJjb20uYXBwbGUuaXBob25lLmF4c2VydmVyLXN5c3RlbXdpZGUiICJjb20u
YXBwbGUudGNjZCIgImNvbS5hcHBsZS5uZWhlbHBlciIgImNvbS5hcHBsZS5uZXNlc3Npb25tYW5h
Z2VyLmNvbnRlbnQtZmlsdGVyIiAiY29tLmFwcGxlLnVpa2l0LnZpZXdzZXJ2aWNlLmNvbS5hcHBs
ZS5XZWJDb250ZW50RmlsdGVyLnJlbW90ZVVJIiAiY29tLmFwcGxlLmRpYWdub3N0aWNkIiAiY29t
LmFwcGxlLmxzZC5vcGVuIiAiY29tLmFwcGxlLm1vYmlsZWFzc2V0ZCIgImNvbS5hcHBsZS5tb2Jp
bGVhc3NldGQudjIiICJjb20uYXBwbGUuZnJvbnRib2FyZC5zeXN0ZW1hcHBzZXJ2aWNlcyIgImNv
bS5hcHBsZS5pY29uc2VydmljZXMiKSkpCisgICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxl
LmlwaG9uZS5heHNlcnZlci1zeXN0ZW13aWRlIiAiY29tLmFwcGxlLnRjY2QiICJjb20uYXBwbGUu
bmVoZWxwZXIiICJjb20uYXBwbGUubmVzZXNzaW9ubWFuYWdlci5jb250ZW50LWZpbHRlciIgImNv
bS5hcHBsZS51aWtpdC52aWV3c2VydmljZS5jb20uYXBwbGUuV2ViQ29udGVudEZpbHRlci5yZW1v
dGVVSSIgImNvbS5hcHBsZS5kaWFnbm9zdGljZCIgImNvbS5hcHBsZS5sc2Qub3BlbiIgImNvbS5h
cHBsZS5tb2JpbGVhc3NldGQiICJjb20uYXBwbGUubW9iaWxlYXNzZXRkLnYyIiAiY29tLmFwcGxl
LmZyb250Ym9hcmQuc3lzdGVtYXBwc2VydmljZXMiICJjb20uYXBwbGUuaWNvbnNlcnZpY2VzIiAi
Y29tLmFwcGxlLndlYmluc3BlY3RvciIpKSkKIAogKGFsbG93IG1hY2gtbG9va3VwCiAgICAgKHJl
cXVpcmUtYWxsCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wu
Y3BwCShyZXZpc2lvbiAyNTY0OTMpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNzMsNyArMTA3Myw3IEBAIHZvaWQgV2Vi
UHJvY2Vzc1Bvb2w6OmluaXRpYWxpemVOZXdXZWJQcm8KIAogI2lmIEVOQUJMRShSRU1PVEVfSU5T
UEVDVE9SKQogICAgIC8vIEluaXRpYWxpemUgcmVtb3RlIGluc3BlY3RvciBjb25uZWN0aW9uIG5v
dyB0aGF0IHdlIGhhdmUgYSBzdWItcHJvY2VzcyB0aGF0IGlzIGhvc3Rpbmcgb25lIG9mIG91ciB3
ZWIgdmlld3MuCi0gICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpOyAK
KyAgICBJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCk7CiAjZW5kaWYKIAog
I2lmIFBMQVRGT1JNKE1BQykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuaAkocmV2aXNpb24gMjU2NDkzKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Bvb2wuaAkod29ya2luZyBjb3B5KQpAQCAtNjA5LDYgKzYwOSw5IEBAIHByaXZhdGU6
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAg
IHN0YXRpYyBmbG9hdCBkaXNwbGF5QnJpZ2h0bmVzcygpOwogICAgIHN0YXRpYyB2b2lkIGJhY2ts
aWdodExldmVsRGlkQ2hhbmdlQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsIHZvaWQg
Km9ic2VydmVyLCBDRlN0cmluZ1JlZiBuYW1lLCBjb25zdCB2b2lkICosIENGRGljdGlvbmFyeVJl
ZiB1c2VySW5mbyk7ICAgIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQorICAgIHN0YXRp
YyB2b2lkIHJlbW90ZVdlYkluc3BlY3RvckVuYWJsZWRDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNl
bnRlclJlZiwgdm9pZCAqb2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZvaWQgKiwg
Q0ZEaWN0aW9uYXJ5UmVmIHVzZXJJbmZvKTsKKyNlbmRpZgogI2VuZGlmCiAKICAgICBSZWY8QVBJ
OjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24+IG1fY29uZmlndXJhdGlvbjsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAkocmV2aXNpb24gMjU2NDkz
KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtODg1LDYgKzg4NSwxMCBAQCBib29sIFdlYlByb2Nlc3NQcm94eTo6bWF5QmVj
b21lVW5yZXNwb25zCiAKICAgICByZXR1cm4gdHJ1ZTsKICNlbmRpZgorCisjaWYgRU5BQkxFKFJF
TU9URV9JTlNQRUNUT1IpICYmIFBMQVRGT1JNKENPQ09BKQorICAgIGVuYWJsZVJlbW90ZUluc3Bl
Y3RvcklmTmVlZGVkKCk7CisjZW5kaWYKIH0KIAogdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZEZp
bmlzaExhdW5jaGluZyhQcm9jZXNzTGF1bmNoZXIqIGxhdW5jaGVyLCBJUEM6OkNvbm5lY3Rpb246
OklkZW50aWZpZXIgY29ubmVjdGlvbklkZW50aWZpZXIpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkocmV2aXNpb24gMjU2NDkzKQorKysgU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTMyNSw2
ICszMjUsMTAgQEAgcHVibGljOgogICAgIHZvaWQgcmV2b2tlQXVkaW9DYXB0dXJlRXh0ZW5zaW9u
KCkgeyBtX21lZGlhQ2FwdHVyZVNhbmRib3hFeHRlbnNpb25zICY9IH5BdWRpbzsgfQogI2VuZGlm
CiAKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikgJiYgUExBVEZPUk0oQ09DT0EpCisgICAg
dm9pZCBlbmFibGVSZW1vdGVJbnNwZWN0b3JJZk5lZWRlZCgpOworI2VuZGlmCisgICAgCiAjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICB2b2lkIHVuYmxvY2tBY2Nlc3NpYmlsaXR5U2VydmVy
SWZOZWVkZWQoKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAyNTY0OTMpCisrKyBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC02NCw2ICs2NCwxMSBAQAogI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vU2Fu
ZGJveFNQSS5oPgogI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgogCisjaWYgRU5B
QkxFKFJFTU9URV9JTlNQRUNUT1IpCisjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9SZW1vdGVJbnNw
ZWN0b3IuaD4KKyNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL1JlbW90ZUluc3BlY3RvckNvbnN0YW50
cy5oPgorI2VuZGlmCisKICNpZiBQTEFURk9STShNQUMpCiAjaW1wb3J0IDxRdWFydHpDb3JlL0NB
UmVtb3RlTGF5ZXJTZXJ2ZXIuaD4KICNlbHNlCkBAIC00OTYsMTEgKzUwMSwyMiBAQCBmbG9hdCBX
ZWJQcm9jZXNzUG9vbDo6ZGlzcGxheUJyaWdodG5lc3MoCiAgICAgCiB2b2lkIFdlYlByb2Nlc3NQ
b29sOjpiYWNrbGlnaHRMZXZlbERpZENoYW5nZUNhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVy
UmVmIGNlbnRlciwgdm9pZCAqb2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZvaWQg
Km9iamVjdCwgQ0ZEaWN0aW9uYXJ5UmVmIHVzZXJJbmZvKQogewotICAgIFdlYlByb2Nlc3NQb29s
KiBwb29sID0gcmVpbnRlcnByZXRfY2FzdDxXZWJQcm9jZXNzUG9vbCo+KG9ic2VydmVyKTsKKyAg
ICBhdXRvKiBwb29sID0gcmVpbnRlcnByZXRfY2FzdDxXZWJQcm9jZXNzUG9vbCo+KG9ic2VydmVy
KTsKICAgICBwb29sLT5zZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkJh
Y2tsaWdodExldmVsRGlkQ2hhbmdlKEJLU0Rpc3BsYXlCcmlnaHRuZXNzR2V0Q3VycmVudCgpKSk7
CiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKSAmJiBQTEFURk9STShJ
T1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCit2b2lkIFdlYlByb2Nlc3NQb29s
OjpyZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVkQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJS
ZWYsIHZvaWQgKm9ic2VydmVyLCBDRlN0cmluZ1JlZiBuYW1lLCBjb25zdCB2b2lkICosIENGRGlj
dGlvbmFyeVJlZiB1c2VySW5mbykKK3sKKyAgICBhdXRvKiBwb29sID0gcmVpbnRlcnByZXRfY2Fz
dDxXZWJQcm9jZXNzUG9vbCo+KG9ic2VydmVyKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IHBvb2wtPm1fcHJvY2Vzc2VzLnNpemUoKTsgKytpKSB7CisgICAgICAgIGF1dG8gcHJvY2VzcyA9
IHBvb2wtPm1fcHJvY2Vzc2VzW2ldOworICAgICAgICBwcm9jZXNzLT5lbmFibGVSZW1vdGVJbnNw
ZWN0b3JJZk5lZWRlZCgpOworICAgIH0KK30KKyNlbmRpZgorCiB2b2lkIFdlYlByb2Nlc3NQb29s
OjpyZWdpc3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycygpCiB7CiAjaWYgIVBMQVRGT1JNKElPU19G
QU1JTFkpCkBAIC01NTQsNiArNTcwLDkgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVnaXN0ZXJO
b3RpZmljYXRpbwogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fcHJvY2Vzc2VzLnNp
emUoKTsgKytpKQogICAgICAgICAgICAgbV9wcm9jZXNzZXNbaV0tPnVuYmxvY2tBY2Nlc3NpYmls
aXR5U2VydmVySWZOZWVkZWQoKTsKICAgICB9XTsKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RP
UikKKyAgICBDRk5vdGlmaWNhdGlvbkNlbnRlckFkZE9ic2VydmVyKENGTm90aWZpY2F0aW9uQ2Vu
dGVyR2V0RGFyd2luTm90aWZ5Q2VudGVyKCksIHRoaXMsIHJlbW90ZVdlYkluc3BlY3RvckVuYWJs
ZWRDYWxsYmFjaywgc3RhdGljX2Nhc3Q8Q0ZTdHJpbmdSZWY+KENGU1RSKFdJUlNlcnZpY2VFbmFi
bGVkTm90aWZpY2F0aW9uKSksIG51bGxwdHIsIENGTm90aWZpY2F0aW9uU3VzcGVuc2lvbkJlaGF2
aW9yQ29hbGVzY2UpOworI2VuZGlmCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQogI2VuZGlmIC8v
ICFQTEFURk9STShJT1NfRkFNSUxZKQogfQpAQCAtNTc2LDYgKzU5NSw5IEBAIHZvaWQgV2ViUHJv
Y2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmljYXQKICAgICBDRk5vdGlmaWNhdGlvbkNlbnRlclJl
bW92ZU9ic2VydmVyKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGFyd2luTm90aWZ5Q2VudGVyKCks
IHRoaXMsIHN0YXRpY19jYXN0PENGU3RyaW5nUmVmPihVSUJhY2tsaWdodExldmVsQ2hhbmdlZE5v
dGlmaWNhdGlvbikgLCBudWxscHRyKTsKICNpZiBQTEFURk9STShJT1MpCiAgICAgW1tOU05vdGlm
aWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2FjY2Vzc2liaWxp
dHlFbmFibGVkT2JzZXJ2ZXIuZ2V0KCldOworI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQor
ICAgIENGTm90aWZpY2F0aW9uQ2VudGVyUmVtb3ZlT2JzZXJ2ZXIoQ0ZOb3RpZmljYXRpb25DZW50
ZXJHZXREYXJ3aW5Ob3RpZnlDZW50ZXIoKSwgdGhpcywgQ0ZTVFIoV0lSU2VydmljZUVuYWJsZWRO
b3RpZmljYXRpb24pLCBudWxscHRyKTsKKyNlbmRpZgogI2VuZGlmIC8vIFBMQVRGT1JNKElPUykK
ICNlbmRpZiAvLyAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCShyZXZp
c2lvbiAyNTY0OTMpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNz
UHJveHlDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsMTAgQEAKICNpbXBvcnQg
PHd0Zi9TY29wZS5oPgogI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vU2FuZGJveFNQSS5oPgogCisj
aWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9SZW1v
dGVJbnNwZWN0b3JDb25zdGFudHMuaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAog
c3RhdGljIGNvbnN0IFNlY29uZHMgdW5leHBlY3RlZEFjdGl2aXR5RHVyYXRpb24gPSAxMF9zOwpA
QCAtMjEwLDQgKzIxNCwxNSBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc1dhc1Jlc3Vt
ZWQoCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQordm9pZCBXZWJQ
cm9jZXNzUHJveHk6OmVuYWJsZVJlbW90ZUluc3BlY3RvcklmTmVlZGVkKCkKK3sKKyAgICBpZiAo
IUNGUHJlZmVyZW5jZXNHZXRBcHBJbnRlZ2VyVmFsdWUoV0lSUmVtb3RlSW5zcGVjdG9yRW5hYmxl
ZEtleSwgV0lSUmVtb3RlSW5zcGVjdG9yRG9tYWluTmFtZSwgbnVsbHB0cikpCisgICAgICAgIHJl
dHVybjsKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgaGFuZGxlOworICAgIGF1dG8gYXVk
aXRUb2tlbiA9IGNvbm5lY3Rpb24oKSA/IGNvbm5lY3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigpIDog
V1RGOjpudWxsb3B0OworICAgIGlmIChTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JN
YWNoTG9va3VwKCJjb20uYXBwbGUud2ViaW5zcGVjdG9yIiwgYXVkaXRUb2tlbiwgaGFuZGxlKSkK
KyAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6RW5hYmxlUmVtb3RlV2ViSW5zcGVj
dG9yKGhhbmRsZSksIDApOworfQorI2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwCShyZXZpc2lvbiAyNTY0OTMpCisrKyBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzMiw2ICs0MzIsOSBA
QCB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKFdlCiAjZW5kaWYKIAogI2lm
IEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKSAmJiBQTEFURk9STShDT0NPQSkKKyNpZiBQTEFURk9S
TShJT1MpCisgICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNldE5lZWRNYWNoU2FuZGJv
eEV4dGVuc2lvbih0cnVlKTsKKyNlbmRpZgogICAgIGlmIChPcHRpb25hbDxhdWRpdF90b2tlbl90
PiBhdWRpdFRva2VuID0gcGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigp
KSB7CiAgICAgICAgIFJldGFpblB0cjxDRkRhdGFSZWY+IGF1ZGl0RGF0YSA9IGFkb3B0Q0YoQ0ZE
YXRhQ3JlYXRlKG51bGxwdHIsIChjb25zdCBVSW50OCopJiphdWRpdFRva2VuLCBzaXplb2YoKmF1
ZGl0VG9rZW4pKSk7CiAgICAgICAgIEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpzaW5nbGV0
b24oKS5zZXRQYXJlbnRQcm9jZXNzSW5mb3JtYXRpb24oV2ViQ29yZTo6cHJlc2VudGluZ0FwcGxp
Y2F0aW9uUElEKCksIGF1ZGl0RGF0YSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmgJKHJldmlzaW9uIDI1NjQ5MykKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTMwNyw2ICszMDcsOSBAQCBwdWJsaWM6CiAK
ICNpZiBQTEFURk9STShDT0NPQSkKICAgICB2b2lkIHNldE1lZGlhTUlNRVR5cGVzKGNvbnN0IFZl
Y3RvcjxTdHJpbmc+KTsKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKKyAgICB2b2lkIGVu
YWJsZVJlbW90ZVdlYkluc3BlY3Rvcihjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmKTsK
KyNlbmRpZgogI2VuZGlmCiAKICAgICBib29sIGFyZUFsbFBhZ2VzVGhyb3R0bGVhYmxlKCkgY29u
c3Q7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNz
YWdlcy5pbgkocmV2aXNpb24gMjU2NDkzKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MubWVzc2FnZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTEzMiw2ICsxMzIsOSBAQCBt
ZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIE5vCiAKICNpZiBQTEFURk9STShD
T0NPQSkKICAgICBTZXRNZWRpYU1JTUVUeXBlcyhWZWN0b3I8U3RyaW5nPiB0eXBlcykKKyNpZiBF
TkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKKyAgICBFbmFibGVSZW1vdGVXZWJJbnNwZWN0b3IoV2Vi
S2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgaGFuZGxlKTsKKyNlbmRpZgogI2VuZGlmCiAK
ICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbgkocmV2aXNpb24gMjU2NDkzKQor
KysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCSh3
b3JraW5nIGNvcHkpCkBAIC02MDQsNyArNjA0LDcgQEAKICAgICAoaXBjLXBvc2l4LW5hbWUtcmVn
ZXggIyJeQXVkaW9JTyIpKQogCiA7OyBSZW1vdGUgV2ViIEluc3BlY3RvcgotKGFsbG93IG1hY2gt
bG9va3VwCisoYWxsb3cgbWFjaC1sb29rdXAgKHdpdGggdGVsZW1ldHJ5KQogICAgICAgIChnbG9i
YWwtbmFtZSAiY29tLmFwcGxlLndlYmluc3BlY3RvciIpKQogCiAoYWxsb3cgbWFjaC1sb29rdXAK
QEAgLTg2Miw2ICs4NjIsNyBAQAogI2Vsc2UKICAgICAgICAgICAgICJjb20uYXBwbGUubmVzZXNz
aW9ubWFuYWdlciIKICNlbmRpZgorICAgICAgICAgICAgImNvbS5hcHBsZS53ZWJpbnNwZWN0b3Ii
CiAgICAgICAgICkKICAgICApCiApCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29j
b2EvV2ViUHJvY2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI1NjQ5MykKKysrIFNvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTgxLDYgKzgxLDEwIEBACiAjaW1wb3J0IDx3dGYvUHJvY2Vzc1ByaXZpbGVnZS5oPgog
I2ltcG9ydCA8d3RmL2NvY29hL05TVVJMRXh0cmFzLmg+CiAKKyNpZiBFTkFCTEUoUkVNT1RFX0lO
U1BFQ1RPUikKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SZW1vdGVJbnNwZWN0b3IuaD4KKyNl
bmRpZgorCiAjaWYgUExBVEZPUk0oSU9TKQogI2ltcG9ydCA8V2ViQ29yZS9QYXJlbnRhbENvbnRy
b2xzQ29udGVudEZpbHRlci5oPgogI2VuZGlmCkBAIC05MDEsNiArOTA1LDE1IEBAIHZvaWQgV2Vi
UHJvY2Vzczo6YmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2UKIH0KICNlbmRpZgogCisjaWYgRU5BQkxF
KFJFTU9URV9JTlNQRUNUT1IpCit2b2lkIFdlYlByb2Nlc3M6OmVuYWJsZVJlbW90ZVdlYkluc3Bl
Y3Rvcihjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmIGhhbmRsZSkKK3sKKyAgICBTYW5k
Ym94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50bHkoaGFuZGxlKTsKKyAgICBJbnNwZWN0b3I6
OlJlbW90ZUluc3BlY3Rvcjo6c2V0TmVlZE1hY2hTYW5kYm94RXh0ZW5zaW9uKGZhbHNlKTsKKyAg
ICBJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCk7Cit9CisjZW5kaWYKKwog
dm9pZCBXZWJQcm9jZXNzOjpzZXRNZWRpYU1JTUVUeXBlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiB0
eXBlcykKIHsKICAgICBhdXRvJiBjYWNoZSA9IEFWQXNzZXRNSU1FVHlwZUNhY2hlOjpzaW5nbGV0
b24oKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390657</attachid>
            <date>2020-02-13 09:18:09 -0800</date>
            <delta_ts>2020-02-16 20:52:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203214-20200213091808.patch</filename>
            <type>text/plain</type>
            <size>17575</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjU2NDkzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBA
CisyMDIwLTAyLTEyICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAg
ICAgICBNYWNoIGxvb2t1cCB0byBjb20uYXBwbGUud2ViaW5zcGVjdG9yIHNob3VsZCBub3QgYmUg
YWxsb3dlZCBpbiBXZWJLaXQncyBXZWJDb250ZW50IHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzIxNAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdGF0aWMgZmxhZyBpbiBSZW1vdGVJ
bnNwZWN0b3IgdG8gaW5kaWNhdGUgd2hldGhlciBhIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5lZWRl
ZC4gVGhlIHJlbW90ZSBpbnNwZWN0b3Igd2lsbCBvbmx5IGJlCisgICAgICAgIHN0YXJ0ZWQgaWYg
dGhlIHNhbmRib3ggZXh0ZW5zaW9uIGlzIG5vdCBuZWVkZWQuIE9ubHkgdGhlIFdlYkNvbnRlbnQg
cHJvY2VzcyB3aWxsIG5lZWQgYSBzYW5kYm94IGV4dGVuc2lvbiwgc2luY2UgdGhpcworICAgICAg
ICBwYXRjaCByZW1vdmVzIG1hY2ggYWNjZXNzIHRvICdjb20uYXBwbGUud2ViaW5zcGVjdG9yJyBm
b3IgdGhpcyBwcm9jZXNzLiBBbHNvIGFkZCBuYW1lIGFuZCBkb21haW4gZm9yIHRoZQorICAgICAg
ICAnRW5hYmxlIFJlbW90ZSBJbnNwZWN0b3InIHNldHRpbmcsIHNpbmNlIHRoaXMgd2lsbCBiZSB1
c2VkIGluIHRoZSBVSSBwcm9jZXNzLgorCisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1v
dGVJbnNwZWN0b3IuY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVj
dG9yLmg6CisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3JDb25zdGFu
dHMuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3RvckNv
Y29hLm1tOgorICAgICAgICAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbik6
CisKIDIwMjAtMDItMTIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIENTU19ERVZJQ0VfQURBUFRBVElPTgpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0
b3IuY3BwCShyZXZpc2lvbiAyNTY0OTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICsz
OCw5IEBACiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKIAogYm9vbCBSZW1vdGVJbnNwZWN0b3I6OnN0
YXJ0RW5hYmxlZCA9IHRydWU7CisjaWYgUExBVEZPUk0oQ09DT0EpCitzdGQ6OmF0b21pYzxib29s
PiBSZW1vdGVJbnNwZWN0b3I6Om5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbiA9IGZhbHNlOworI2Vu
ZGlmCiAKIHZvaWQgUmVtb3RlSW5zcGVjdG9yOjpzdGFydERpc2FibGVkKCkKIHsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rvci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90
ZUluc3BlY3Rvci5oCShyZXZpc2lvbiAyNTY0OTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMTE0
LDYgKzExNCw5IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3RBdXRvbWF0
aW9uU2Vzc2lvbihjb25zdCBTdHJpbmcmIHNlc3Npb25JZGVudGlmaWVyLCBjb25zdCBTZXNzaW9u
Q2FwYWJpbGl0aWVzJikgPSAwOwogICAgIH07CiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBz
dGF0aWMgdm9pZCBzZXROZWVkTWFjaFNhbmRib3hFeHRlbnNpb24oYm9vbCBuZWVkRXh0ZW5zaW9u
KSB7IG5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbiA9IG5lZWRFeHRlbnNpb247IH0KKyNlbmRpZgog
ICAgIHN0YXRpYyB2b2lkIHN0YXJ0RGlzYWJsZWQoKTsKICAgICBzdGF0aWMgUmVtb3RlSW5zcGVj
dG9yJiBzaW5nbGV0b24oKTsKICAgICBmcmllbmQgY2xhc3MgTmV2ZXJEZXN0cm95ZWQ8UmVtb3Rl
SW5zcGVjdG9yPjsKQEAgLTIzNiw2ICsyMzksOSBAQCBwcml2YXRlOgogICAgIFN0cmluZyBiYWNr
ZW5kQ29tbWFuZHMoKSBjb25zdDsKICNlbmRpZgogICAgIHN0YXRpYyBib29sIHN0YXJ0RW5hYmxl
ZDsKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBzdGF0aWMgc3RkOjphdG9taWM8Ym9vbD4gbmVl
ZE1hY2hTYW5kYm94RXh0ZW5zaW9uOworI2VuZGlmCiAKICAgICAvLyBUYXJnZXRzIGNhbiBiZSBy
ZWdpc3RlcmVkIGZyb20gYW55IHRocmVhZCBhdCBhbnkgdGltZS4KICAgICAvLyBBbnkgdGFyZ2V0
IGNhbiBzZW5kIG1lc3NhZ2VzIG92ZXIgdGhlIFhQQyBjb25uZWN0aW9uLgpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yQ29uc3RhbnRz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUv
UmVtb3RlSW5zcGVjdG9yQ29uc3RhbnRzLmgJKHJldmlzaW9uIDI1NjQ5MykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3RvckNvbnN0YW50cy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTgsMyArMTE4LDYgQEAKICNkZWZpbmUgV0lSUHJveHlBcHBs
aWNhdGlvblBhcmVudEF1ZGl0RGF0YUtleSAgIEAiV0lSUHJveHlBcHBsaWNhdGlvblBhcmVudEF1
ZGl0RGF0YSIKICNkZWZpbmUgV0lSUHJveHlBcHBsaWNhdGlvblNldHVwTWVzc2FnZSAgICAgICAg
IEAiV0lSUHJveHlBcHBsaWNhdGlvblNldHVwTWVzc2FnZSIKICNkZWZpbmUgV0lSUHJveHlBcHBs
aWNhdGlvblNldHVwUmVzcG9uc2VNZXNzYWdlIEAiV0lSUHJveHlBcHBsaWNhdGlvblNldHVwUmVz
cG9uc2VNZXNzYWdlIgorCisjZGVmaW5lIFdJUlJlbW90ZUluc3BlY3RvckVuYWJsZWRLZXkgICAg
ICAgICAgICBDRlNUUigiUmVtb3RlSW5zcGVjdG9yRW5hYmxlZCIpCisjZGVmaW5lIFdJUlJlbW90
ZUluc3BlY3RvckRvbWFpbk5hbWUgICAgICAgICAgICBDRlNUUigiY29tLmFwcGxlLndlYmluc3Bl
Y3RvcmQiKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvY29j
b2EvUmVtb3RlSW5zcGVjdG9yQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvY29jb2EvUmVtb3RlSW5zcGVjdG9yQ29jb2EubW0JKHJl
dmlzaW9uIDI1NjQ5MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3Rl
L2NvY29hL1JlbW90ZUluc3BlY3RvckNvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC04Nyw2ICs4
NywxMSBAQCBSZW1vdGVJbnNwZWN0b3ImIFJlbW90ZUluc3BlY3Rvcjo6c2luZ2xlCiB7CiAgICAg
c3RhdGljIE5ldmVyRGVzdHJveWVkPFJlbW90ZUluc3BlY3Rvcj4gc2hhcmVkOwogCisjaWYgUExB
VEZPUk0oQ09DT0EpCisgICAgaWYgKG5lZWRNYWNoU2FuZGJveEV4dGVuc2lvbikKKyAgICAgICAg
cmV0dXJuIHNoYXJlZDsKKyNlbmRpZgorICAgIAogICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qg
b25jZTsKICAgICBkaXNwYXRjaF9vbmNlKCZvbmNlLCBeewogICAgICAgICBpZiAoY2FuQWNjZXNz
V2ViSW5zcGVjdG9yTWFjaFBvcnQoKSkgewpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NjQ5NCkK
KysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzgg
QEAKKzIwMjAtMDItMTIgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisg
ICAgICAgIE1hY2ggbG9va3VwIHRvIGNvbS5hcHBsZS53ZWJpbnNwZWN0b3Igc2hvdWxkIG5vdCBi
ZSBhbGxvd2VkIGluIFdlYktpdCdzIFdlYkNvbnRlbnQgcHJvY2VzcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMjE0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSWYgdGhlIFdlYiBpbnNwZWN0b3IgaXMg
ZW5hYmxlZCB3aGVuIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgaXMgc3RhcnRlZCwgYSBzYW5kYm94
IGV4dGVuc2lvbiBpcyBjcmVhdGVkCisgICAgICAgIGZvciAnY29tLmFwcGxlLndlYmluc3BlY3Rv
cicgYW5kIGEgbWVzc2FnZSBpcyBzZW50IHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3MsIHdoZXJl
IHRoZSBleHRlbnNpb24gd2lsbAorICAgICAgICBiZSBjb25zdW1lZCwgYW5kIHRoZSByZW1vdGUg
V2ViIGluc3BlY3RvciB3aWxsIGJlIHN0YXJ0ZWQuIFRoZSBzYW1lIGhhcHBlbnMgaWYgV2ViIGlu
c3BlY3RvciBpcyBlbmFibGVkCisgICAgICAgIGJ5IHRoZSB1c2VyIHdoaWxlIFNhZmFyaSBpcyBy
dW5uaW5nLiBXaGVuIFJlbW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCkgaXMgY2FsbGVkIGluIHRo
ZSBVSSBwcm9jZXNzIHRoZXJlCisgICAgICAgIGlzIG5vIG5lZWQgZm9yIGFuIGV4dGVuc2lvbiwg
c2luY2UgYWNjZXNzIHRvIHRoZSBXZWIgaW5zcGVjdG9yIGRhZW1vbiBpcyBhbHJlYWR5IGFsbG93
ZWQuCisKKyAgICAgICAgKiBSZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUu
V2ViS2l0LldlYkNvbnRlbnQuc2I6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nl
c3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpiYWNrbGln
aHRMZXZlbERpZENoYW5nZUNhbGxiYWNrKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bv
b2w6OnJlbW90ZVdlYkluc3BlY3RvckVuYWJsZWRDYWxsYmFjayk6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQb29sOjpyZWdpc3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycyk6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjp1bnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJz
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW06Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6ZW5hYmxlUmVtb3RlSW5zcGVjdG9ySWZO
ZWVkZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjppbml0aWFsaXplTmV3V2ViUHJvY2Vzcyk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6bWF5
QmVjb21lVW5yZXNwb25zaXZlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6ZW5hYmxlUmVtb3RlV2ViSW5zcGVjdG9yKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluOgorCiAyMDIwLTAy
LTEyICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNTYwMTAuCkluZGV4OiBTb3VyY2UvV2ViS2l0L1Jlc291cmNl
cy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYgo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2Nv
bS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYgkocmV2aXNpb24gMjU2NDkzKQorKysgU291cmNl
L1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0Lldl
YkNvbnRlbnQuc2IJKHdvcmtpbmcgY29weSkKQEAgLTg4Niw3ICs4ODYsNyBAQAogKG1lZGlhLWFj
Y2Vzc2liaWxpdHktc3VwcG9ydCkKIAogOzsgUmVtb3RlIFdlYiBJbnNwZWN0b3IKLShhbGxvdyBt
YWNoLWxvb2t1cAorKGFsbG93IG1hY2gtbG9va3VwICh3aXRoIHJlcG9ydCkgKHdpdGggdGVsZW1l
dHJ5KQogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLndlYmluc3BlY3RvciIpKQogCiAo
YWxsb3cgbWFjaC1sb29rdXAgKHdpdGggcmVwb3J0KSAod2l0aCB0ZWxlbWV0cnkpCkBAIC05MDgs
NyArOTA4LDcgQEAKIChhbGxvdyBtYWNoLWxvb2t1cAogICAgIChyZXF1aXJlLWFsbAogICAgICAg
ICAoZXh0ZW5zaW9uICJjb20uYXBwbGUud2Via2l0LmV4dGVuc2lvbi5tYWNoIikKLSAgICAgICAg
KGdsb2JhbC1uYW1lICJjb20uYXBwbGUuaXBob25lLmF4c2VydmVyLXN5c3RlbXdpZGUiICJjb20u
YXBwbGUudGNjZCIgImNvbS5hcHBsZS5uZWhlbHBlciIgImNvbS5hcHBsZS5uZXNlc3Npb25tYW5h
Z2VyLmNvbnRlbnQtZmlsdGVyIiAiY29tLmFwcGxlLnVpa2l0LnZpZXdzZXJ2aWNlLmNvbS5hcHBs
ZS5XZWJDb250ZW50RmlsdGVyLnJlbW90ZVVJIiAiY29tLmFwcGxlLmRpYWdub3N0aWNkIiAiY29t
LmFwcGxlLmxzZC5vcGVuIiAiY29tLmFwcGxlLm1vYmlsZWFzc2V0ZCIgImNvbS5hcHBsZS5tb2Jp
bGVhc3NldGQudjIiICJjb20uYXBwbGUuZnJvbnRib2FyZC5zeXN0ZW1hcHBzZXJ2aWNlcyIgImNv
bS5hcHBsZS5pY29uc2VydmljZXMiKSkpCisgICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxl
LmlwaG9uZS5heHNlcnZlci1zeXN0ZW13aWRlIiAiY29tLmFwcGxlLnRjY2QiICJjb20uYXBwbGUu
bmVoZWxwZXIiICJjb20uYXBwbGUubmVzZXNzaW9ubWFuYWdlci5jb250ZW50LWZpbHRlciIgImNv
bS5hcHBsZS51aWtpdC52aWV3c2VydmljZS5jb20uYXBwbGUuV2ViQ29udGVudEZpbHRlci5yZW1v
dGVVSSIgImNvbS5hcHBsZS5kaWFnbm9zdGljZCIgImNvbS5hcHBsZS5sc2Qub3BlbiIgImNvbS5h
cHBsZS5tb2JpbGVhc3NldGQiICJjb20uYXBwbGUubW9iaWxlYXNzZXRkLnYyIiAiY29tLmFwcGxl
LmZyb250Ym9hcmQuc3lzdGVtYXBwc2VydmljZXMiICJjb20uYXBwbGUuaWNvbnNlcnZpY2VzIiAi
Y29tLmFwcGxlLndlYmluc3BlY3RvciIpKSkKIAogKGFsbG93IG1hY2gtbG9va3VwCiAgICAgKHJl
cXVpcmUtYWxsCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wu
Y3BwCShyZXZpc2lvbiAyNTY0OTMpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNzMsNyArMTA3Myw3IEBAIHZvaWQgV2Vi
UHJvY2Vzc1Bvb2w6OmluaXRpYWxpemVOZXdXZWJQcm8KIAogI2lmIEVOQUJMRShSRU1PVEVfSU5T
UEVDVE9SKQogICAgIC8vIEluaXRpYWxpemUgcmVtb3RlIGluc3BlY3RvciBjb25uZWN0aW9uIG5v
dyB0aGF0IHdlIGhhdmUgYSBzdWItcHJvY2VzcyB0aGF0IGlzIGhvc3Rpbmcgb25lIG9mIG91ciB3
ZWIgdmlld3MuCi0gICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpOyAK
KyAgICBJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCk7CiAjZW5kaWYKIAog
I2lmIFBMQVRGT1JNKE1BQykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuaAkocmV2aXNpb24gMjU2NDkzKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Bvb2wuaAkod29ya2luZyBjb3B5KQpAQCAtNjA5LDYgKzYwOSw5IEBAIHByaXZhdGU6
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgIVBMQVRGT1JNKE1BQ0NBVEFMWVNUKQogICAg
IHN0YXRpYyBmbG9hdCBkaXNwbGF5QnJpZ2h0bmVzcygpOwogICAgIHN0YXRpYyB2b2lkIGJhY2ts
aWdodExldmVsRGlkQ2hhbmdlQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsIHZvaWQg
Km9ic2VydmVyLCBDRlN0cmluZ1JlZiBuYW1lLCBjb25zdCB2b2lkICosIENGRGljdGlvbmFyeVJl
ZiB1c2VySW5mbyk7ICAgIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQorICAgIHN0YXRp
YyB2b2lkIHJlbW90ZVdlYkluc3BlY3RvckVuYWJsZWRDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNl
bnRlclJlZiwgdm9pZCAqb2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZvaWQgKiwg
Q0ZEaWN0aW9uYXJ5UmVmIHVzZXJJbmZvKTsKKyNlbmRpZgogI2VuZGlmCiAKICAgICBSZWY8QVBJ
OjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24+IG1fY29uZmlndXJhdGlvbjsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAkocmV2aXNpb24gMjU2NDkz
KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtODg1LDYgKzg4NSwxMCBAQCBib29sIFdlYlByb2Nlc3NQcm94eTo6bWF5QmVj
b21lVW5yZXNwb25zCiAKICAgICByZXR1cm4gdHJ1ZTsKICNlbmRpZgorCisjaWYgRU5BQkxFKFJF
TU9URV9JTlNQRUNUT1IpICYmIFBMQVRGT1JNKENPQ09BKQorICAgIGVuYWJsZVJlbW90ZUluc3Bl
Y3RvcklmTmVlZGVkKCk7CisjZW5kaWYKIH0KIAogdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZEZp
bmlzaExhdW5jaGluZyhQcm9jZXNzTGF1bmNoZXIqIGxhdW5jaGVyLCBJUEM6OkNvbm5lY3Rpb246
OklkZW50aWZpZXIgY29ubmVjdGlvbklkZW50aWZpZXIpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkocmV2aXNpb24gMjU2NDkzKQorKysgU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTMyNSw2
ICszMjUsMTAgQEAgcHVibGljOgogICAgIHZvaWQgcmV2b2tlQXVkaW9DYXB0dXJlRXh0ZW5zaW9u
KCkgeyBtX21lZGlhQ2FwdHVyZVNhbmRib3hFeHRlbnNpb25zICY9IH5BdWRpbzsgfQogI2VuZGlm
CiAKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikgJiYgUExBVEZPUk0oQ09DT0EpCisgICAg
dm9pZCBlbmFibGVSZW1vdGVJbnNwZWN0b3JJZk5lZWRlZCgpOworI2VuZGlmCisgICAgCiAjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICB2b2lkIHVuYmxvY2tBY2Nlc3NpYmlsaXR5U2VydmVy
SWZOZWVkZWQoKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAyNTY0OTMpCisrKyBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC02NCw2ICs2NCwxMSBAQAogI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vU2Fu
ZGJveFNQSS5oPgogI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgogCisjaWYgRU5B
QkxFKFJFTU9URV9JTlNQRUNUT1IpCisjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9SZW1vdGVJbnNw
ZWN0b3IuaD4KKyNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL1JlbW90ZUluc3BlY3RvckNvbnN0YW50
cy5oPgorI2VuZGlmCisKICNpZiBQTEFURk9STShNQUMpCiAjaW1wb3J0IDxRdWFydHpDb3JlL0NB
UmVtb3RlTGF5ZXJTZXJ2ZXIuaD4KICNlbHNlCkBAIC00OTYsMTEgKzUwMSwyMiBAQCBmbG9hdCBX
ZWJQcm9jZXNzUG9vbDo6ZGlzcGxheUJyaWdodG5lc3MoCiAgICAgCiB2b2lkIFdlYlByb2Nlc3NQ
b29sOjpiYWNrbGlnaHRMZXZlbERpZENoYW5nZUNhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVy
UmVmIGNlbnRlciwgdm9pZCAqb2JzZXJ2ZXIsIENGU3RyaW5nUmVmIG5hbWUsIGNvbnN0IHZvaWQg
Km9iamVjdCwgQ0ZEaWN0aW9uYXJ5UmVmIHVzZXJJbmZvKQogewotICAgIFdlYlByb2Nlc3NQb29s
KiBwb29sID0gcmVpbnRlcnByZXRfY2FzdDxXZWJQcm9jZXNzUG9vbCo+KG9ic2VydmVyKTsKKyAg
ICBhdXRvKiBwb29sID0gcmVpbnRlcnByZXRfY2FzdDxXZWJQcm9jZXNzUG9vbCo+KG9ic2VydmVy
KTsKICAgICBwb29sLT5zZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkJh
Y2tsaWdodExldmVsRGlkQ2hhbmdlKEJLU0Rpc3BsYXlCcmlnaHRuZXNzR2V0Q3VycmVudCgpKSk7
CiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKSAmJiBQTEFURk9STShJ
T1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCit2b2lkIFdlYlByb2Nlc3NQb29s
OjpyZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVkQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJS
ZWYsIHZvaWQgKm9ic2VydmVyLCBDRlN0cmluZ1JlZiBuYW1lLCBjb25zdCB2b2lkICosIENGRGlj
dGlvbmFyeVJlZiB1c2VySW5mbykKK3sKKyAgICBhdXRvKiBwb29sID0gcmVpbnRlcnByZXRfY2Fz
dDxXZWJQcm9jZXNzUG9vbCo+KG9ic2VydmVyKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IHBvb2wtPm1fcHJvY2Vzc2VzLnNpemUoKTsgKytpKSB7CisgICAgICAgIGF1dG8gcHJvY2VzcyA9
IHBvb2wtPm1fcHJvY2Vzc2VzW2ldOworICAgICAgICBwcm9jZXNzLT5lbmFibGVSZW1vdGVJbnNw
ZWN0b3JJZk5lZWRlZCgpOworICAgIH0KK30KKyNlbmRpZgorCiB2b2lkIFdlYlByb2Nlc3NQb29s
OjpyZWdpc3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycygpCiB7CiAjaWYgIVBMQVRGT1JNKElPU19G
QU1JTFkpCkBAIC01NTQsNiArNTcwLDkgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVnaXN0ZXJO
b3RpZmljYXRpbwogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fcHJvY2Vzc2VzLnNp
emUoKTsgKytpKQogICAgICAgICAgICAgbV9wcm9jZXNzZXNbaV0tPnVuYmxvY2tBY2Nlc3NpYmls
aXR5U2VydmVySWZOZWVkZWQoKTsKICAgICB9XTsKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RP
UikKKyAgICBDRk5vdGlmaWNhdGlvbkNlbnRlckFkZE9ic2VydmVyKENGTm90aWZpY2F0aW9uQ2Vu
dGVyR2V0RGFyd2luTm90aWZ5Q2VudGVyKCksIHRoaXMsIHJlbW90ZVdlYkluc3BlY3RvckVuYWJs
ZWRDYWxsYmFjaywgc3RhdGljX2Nhc3Q8Q0ZTdHJpbmdSZWY+KENGU1RSKFdJUlNlcnZpY2VFbmFi
bGVkTm90aWZpY2F0aW9uKSksIG51bGxwdHIsIENGTm90aWZpY2F0aW9uU3VzcGVuc2lvbkJlaGF2
aW9yQ29hbGVzY2UpOworI2VuZGlmCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQogI2VuZGlmIC8v
ICFQTEFURk9STShJT1NfRkFNSUxZKQogfQpAQCAtNTc2LDYgKzU5NSw5IEBAIHZvaWQgV2ViUHJv
Y2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmljYXQKICAgICBDRk5vdGlmaWNhdGlvbkNlbnRlclJl
bW92ZU9ic2VydmVyKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGFyd2luTm90aWZ5Q2VudGVyKCks
IHRoaXMsIHN0YXRpY19jYXN0PENGU3RyaW5nUmVmPihVSUJhY2tsaWdodExldmVsQ2hhbmdlZE5v
dGlmaWNhdGlvbikgLCBudWxscHRyKTsKICNpZiBQTEFURk9STShJT1MpCiAgICAgW1tOU05vdGlm
aWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2FjY2Vzc2liaWxp
dHlFbmFibGVkT2JzZXJ2ZXIuZ2V0KCldOworI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQor
ICAgIENGTm90aWZpY2F0aW9uQ2VudGVyUmVtb3ZlT2JzZXJ2ZXIoQ0ZOb3RpZmljYXRpb25DZW50
ZXJHZXREYXJ3aW5Ob3RpZnlDZW50ZXIoKSwgdGhpcywgQ0ZTVFIoV0lSU2VydmljZUVuYWJsZWRO
b3RpZmljYXRpb24pLCBudWxscHRyKTsKKyNlbmRpZgogI2VuZGlmIC8vIFBMQVRGT1JNKElPUykK
ICNlbmRpZiAvLyAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCShyZXZp
c2lvbiAyNTY0OTMpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNz
UHJveHlDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsMTAgQEAKICNpbXBvcnQg
PHd0Zi9TY29wZS5oPgogI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vU2FuZGJveFNQSS5oPgogCisj
aWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9SZW1v
dGVJbnNwZWN0b3JDb25zdGFudHMuaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAog
c3RhdGljIGNvbnN0IFNlY29uZHMgdW5leHBlY3RlZEFjdGl2aXR5RHVyYXRpb24gPSAxMF9zOwpA
QCAtMjEwLDQgKzIxNCwxNSBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6cHJvY2Vzc1dhc1Jlc3Vt
ZWQoCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQordm9pZCBXZWJQ
cm9jZXNzUHJveHk6OmVuYWJsZVJlbW90ZUluc3BlY3RvcklmTmVlZGVkKCkKK3sKKyAgICBpZiAo
IUNGUHJlZmVyZW5jZXNHZXRBcHBJbnRlZ2VyVmFsdWUoV0lSUmVtb3RlSW5zcGVjdG9yRW5hYmxl
ZEtleSwgV0lSUmVtb3RlSW5zcGVjdG9yRG9tYWluTmFtZSwgbnVsbHB0cikpCisgICAgICAgIHJl
dHVybjsKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgaGFuZGxlOworICAgIGF1dG8gYXVk
aXRUb2tlbiA9IGNvbm5lY3Rpb24oKSA/IGNvbm5lY3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigpIDog
V1RGOjpudWxsb3B0OworICAgIGlmIChTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JN
YWNoTG9va3VwKCJjb20uYXBwbGUud2ViaW5zcGVjdG9yIiwgYXVkaXRUb2tlbiwgaGFuZGxlKSkK
KyAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6RW5hYmxlUmVtb3RlV2ViSW5zcGVj
dG9yKGhhbmRsZSksIDApOworfQorI2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwCShyZXZpc2lvbiAyNTY0OTMpCisrKyBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzMiw2ICs0MzIsOSBA
QCB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKFdlCiAjZW5kaWYKIAogI2lm
IEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKSAmJiBQTEFURk9STShDT0NPQSkKKyNpZiBQTEFURk9S
TShJT1MpCisgICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNldE5lZWRNYWNoU2FuZGJv
eEV4dGVuc2lvbih0cnVlKTsKKyNlbmRpZgogICAgIGlmIChPcHRpb25hbDxhdWRpdF90b2tlbl90
PiBhdWRpdFRva2VuID0gcGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+Z2V0QXVkaXRUb2tlbigp
KSB7CiAgICAgICAgIFJldGFpblB0cjxDRkRhdGFSZWY+IGF1ZGl0RGF0YSA9IGFkb3B0Q0YoQ0ZE
YXRhQ3JlYXRlKG51bGxwdHIsIChjb25zdCBVSW50OCopJiphdWRpdFRva2VuLCBzaXplb2YoKmF1
ZGl0VG9rZW4pKSk7CiAgICAgICAgIEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yOjpzaW5nbGV0
b24oKS5zZXRQYXJlbnRQcm9jZXNzSW5mb3JtYXRpb24oV2ViQ29yZTo6cHJlc2VudGluZ0FwcGxp
Y2F0aW9uUElEKCksIGF1ZGl0RGF0YSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmgJKHJldmlzaW9uIDI1NjQ5MykKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTMwNyw2ICszMDcsOSBAQCBwdWJsaWM6CiAK
ICNpZiBQTEFURk9STShDT0NPQSkKICAgICB2b2lkIHNldE1lZGlhTUlNRVR5cGVzKGNvbnN0IFZl
Y3RvcjxTdHJpbmc+KTsKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKKyAgICB2b2lkIGVu
YWJsZVJlbW90ZVdlYkluc3BlY3Rvcihjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmKTsK
KyNlbmRpZgogI2VuZGlmCiAKICAgICBib29sIGFyZUFsbFBhZ2VzVGhyb3R0bGVhYmxlKCkgY29u
c3Q7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNz
YWdlcy5pbgkocmV2aXNpb24gMjU2NDkzKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MubWVzc2FnZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTEzMiw2ICsxMzIsOSBAQCBt
ZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIE5vCiAKICNpZiBQTEFURk9STShD
T0NPQSkKICAgICBTZXRNZWRpYU1JTUVUeXBlcyhWZWN0b3I8U3RyaW5nPiB0eXBlcykKKyNpZiBF
TkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKKyAgICBFbmFibGVSZW1vdGVXZWJJbnNwZWN0b3IoV2Vi
S2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgaGFuZGxlKTsKKyNlbmRpZgogI2VuZGlmCiAK
ICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbgkocmV2aXNpb24gMjU2NDkzKQor
KysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCSh3
b3JraW5nIGNvcHkpCkBAIC04NjIsNiArODYyLDcgQEAKICNlbHNlCiAgICAgICAgICAgICAiY29t
LmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIiCiAjZW5kaWYKKyAgICAgICAgICAgICJjb20uYXBwbGUu
d2ViaW5zcGVjdG9yIgogICAgICAgICApCiAgICAgKQogKQpJbmRleDogU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lvbiAyNTY0
OTMpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC04MSw2ICs4MSwxMCBAQAogI2ltcG9ydCA8d3RmL1Byb2Nlc3NQ
cml2aWxlZ2UuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9OU1VSTEV4dHJhcy5oPgogCisjaWYgRU5B
QkxFKFJFTU9URV9JTlNQRUNUT1IpCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUmVtb3RlSW5z
cGVjdG9yLmg+CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKElPUykKICNpbXBvcnQgPFdlYkNvcmUv
UGFyZW50YWxDb250cm9sc0NvbnRlbnRGaWx0ZXIuaD4KICNlbmRpZgpAQCAtOTAxLDYgKzkwNSwx
NSBAQCB2b2lkIFdlYlByb2Nlc3M6OmJhY2tsaWdodExldmVsRGlkQ2hhbmdlCiB9CiAjZW5kaWYK
IAorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQordm9pZCBXZWJQcm9jZXNzOjplbmFibGVS
ZW1vdGVXZWJJbnNwZWN0b3IoY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJiBoYW5kbGUp
Cit7CisgICAgU2FuZGJveEV4dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVudGx5KGhhbmRsZSk7Cisg
ICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNldE5lZWRNYWNoU2FuZGJveEV4dGVuc2lv
bihmYWxzZSk7CisgICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3I6OnNpbmdsZXRvbigpOwor
fQorI2VuZGlmCisKIHZvaWQgV2ViUHJvY2Vzczo6c2V0TWVkaWFNSU1FVHlwZXMoY29uc3QgVmVj
dG9yPFN0cmluZz4gdHlwZXMpCiB7CiAgICAgYXV0byYgY2FjaGUgPSBBVkFzc2V0TUlNRVR5cGVD
YWNoZTo6c2luZ2xldG9uKCk7Cg==
</data>
<flag name="review"
          id="406262"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
          </attachment>
      

    </bug>

</bugzilla>