<?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>235410</bug_id>
          
          <creation_ts>2022-01-20 09:53:28 -0800</creation_ts>
          <short_desc>[WPE][GTK] Build error in ARMv7 Neon targets after r286152</short_desc>
          <delta_ts>2022-08-01 12:35:37 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=233500</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=243415</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Pablo Saavedra">psaavedra</reporter>
          <assigned_to name="Pablo Saavedra">psaavedra</assigned_to>
          <cc>aperez</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>heycam</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1832472</commentid>
    <comment_count>0</comment_count>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2022-01-20 09:53:28 -0800</bug_when>
    <thetext>* Related to this change: After: https://bugs.webkit.org/show_bug.cgi?id=232833
* Added a rudimentary patch addressing the build errors with the only purpose of illustrating the problematic changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832473</commentid>
    <comment_count>1</comment_count>
      <attachid>449592</attachid>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2022-01-20 09:56:03 -0800</bug_when>
    <thetext>Created attachment 449592
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832691</commentid>
    <comment_count>2</comment_count>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2022-01-20 23:58:03 -0800</bug_when>
    <thetext>


* List of the compile errors found:



* In /Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h:

In file included from /nightly/workspace/sources/wpewebkit/Source/WebCore/platform/graphics/filters/FEBlend.cpp:29:
/nightly/workspace/sources/wpewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h:109:6: error: no declaration matches &apos;bool WebCore::FEBlend::platformApplySoftware(const WebCore::Filter&amp;)&apos;
  109 | bool FEBlend::platformApplySoftware(const Filter&amp;)
      |      ^~~~~~~
/nightly/workspace/sources/wpewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h:109:6: note: no functions named &apos;bool WebCore::FEBlend::platformApplySoftware(const WebCore::Filter&amp;)&apos;
In file included from /nightly/workspace/sources/wpewebkit/Source/WebCore/platform/graphics/filters/FEBlend.cpp:27:
/nightly/workspace/sources/wpewebkit/Source/WebCore/platform/graphics/filters/FEBlend.h:31:7: note: &apos;class WebCore::FEBlend&apos; defined here
   31 | class FEBlend : public FilterEffect {
      |       ^~~~~~~




* In Source/WebCore/platform/graphics/filters/software/FEGaussianBlurSoftwareApplier.cpp:

/nightly/workspace/sources/wpewebkit/Source/WebCore/platform/graphics/filters/software/FEGaussianBlurSoftwareApplier.cpp: In static member function &apos;static void WebCore::FEGaussianBlurSoftwareApplier::boxBlurUnaccelerated(JSC::Uint8ClampedArray&amp;, JSC::Uint8ClampedArray&amp;, unsigned int, unsigned int, int, WebCore::IntSize&amp;, bool, WebCore::EdgeModeType)&apos;:
/nightly/workspace/sources/wpewebkit/Source/WebCore/platform/graphics/filters/software/FEGaussianBlurSoftwareApplier.cpp:304:17: error: &apos;boxBlurNEON&apos; was not declared in this scope; did you mean &apos;boxBlur&apos;?
  304 |                 boxBlurNEON(*fromBuffer, *toBuffer, kernelSizeX, dxLeft, dxRight, 4, stride, paintSize.width(), paintSize.height());
      |                 ^~~~~~~~~~~
      |                 boxBlur
/nightly/workspace/sources/wpewebkit/Source/WebCore/platform/graphics/filters/software/FEGaussianBlurSoftwareApplier.cpp:317:17: error: &apos;boxBlurNEON&apos; was not declared in this scope; did you mean &apos;boxBlur&apos;?
  317 |                 boxBlurNEON(*fromBuffer, *toBuffer, kernelSizeY, dyLeft, dyRight, stride, 4, paintSize.height(), paintSize.width());
      |                 ^~~~~~~~~~~
      |                 boxBlur




* In Source/WebCore/platform/graphics/filters/software/FEBlendSoftwareApplier.cpp: 

FAILED: lib/libWPEWebKit-1.0.so.3.17.0
: &amp;&amp; /nightly/tmp/work/cortexa9t2hf-neon-imx-poky-linux-gnueabi/wpewebkit/trunk+https999-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ -fPIC -fdiagnostics-color=always -Wextra -Wall -Wno-expansion-to-defined -Wno-stringop-overread -Wno-nonnull -Wno-array-bounds -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-maybe-uninitialized -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare  -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 -fstack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Wdate-time  --sysroot=/nightly/tmp/work/cortexa9t2hf-neon-imx-poky-linux-gnueabi/wpewebkit/trunk+https999-r0/recipe-sysroot  -O2 -pipe  -feliminate-unused-debug-types -fmacro-prefix-map=/nightly/tmp/work/cortexa9t2hf-neon-imx-poky-linux-gnueabi/wpewebkit/trunk+https999-r0=/usr/src/debug/wpewebkit/trunk+https999-r0                      -fdebug-prefix-map=/nightly/tmp/work/cortexa9t2hf-neon-imx-poky-linux-gnueabi/wpewebkit/trunk+https999-r0=/usr/src/debug/wpewebkit/trunk+https999-r0                      -fdebug-prefix-map=/nightly/tmp/work/cortexa9t2hf-neon-imx-poky-linux-gnueabi/wpewebkit/trunk+https999-r0/recipe-sysroot=                      -fdebug-prefix-map=/nightly/tmp/work/cortexa9t2hf-neon-imx-poky-linux-gnueabi/wpewebkit/trunk+https999-r0/recipe-sysroot-native=  -fvisibility-inlines-hidden  -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 -fstack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Wdate-time  --sysroot=/nightly/tmp/work/cortexa9t2hf-neon-imx-poky-linux-gnueabi/wpewebkit/trunk+https999-r0/recipe-sysroot -fno-strict-aliasing -fno-exceptions -fno-rtti -DNDEBUG  -Wl,--no-undefined -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fmacro-prefix-map=/nightly/tmp/work/cortexa9t2hf-neon-imx-poky-linux-gnueabi/wpewebkit/trunk+https999-r0=/usr/src/debug/wpewebkit/trunk+https999-r0                      -fdebug-prefix-map=/nightly/tmp/work/cortexa9t2hf-neon-imx-poky-linux-gnueabi/wpewebkit/trunk+https999-r0=/usr/src/debug/wpewebkit/trunk+https999-r0                      -fdebug-prefix-map=/nightly/tmp/work/cortexa9t2hf-neon-imx-poky-linux-gnueabi/wpewebkit/trunk+https999-r0/recipe-sysroot=                      -fdebug-prefix-map=/nightly/tmp/work/cortexa9t2hf-neon-imx-poky-linux-gnueabi/wpewebkit/trunk+https999-r0/recipe-sysroot-native=  -Wl,-z,relro,-z,now -fuse-ld=gold -Wl,--disable-new-dtags   -Wl,--version-script,/nightly/workspace/sources/wpewebkit/Source/WebKit/webkitglib-symbols.map -shared -Wl,-soname,libWPEWebKit-1.0.so.3 -o lib/libWPEWebKit-1.0.so.3.17.0 @CMakeFiles/WebKit.rsp  &amp;&amp; :
lib/libWebCore.a(lib/../Source/WebCore/CMakeFiles/WebCore.dir/platform/graphics/filters/FEBlend.cpp.o):FEBlend.cpp:function WebCore::FEBlend::createSoftwareApplier() const: error: undefined reference to &apos;vtable for WebCore::FEBlendSoftwareApplier&apos;
/nightly/tmp/work/cortexa9t2hf-neon-imx-poky-linux-gnueabi/wpewebkit/trunk+https999-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi/../../libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/11.2.0/ld.gold: the vtable symbol may be undefined because the class is missing its key function




* In Source/WebCore/platform/graphics/filters/software/FECompositeSoftwareApplier.cpp:

FAILED: lib/libWPEWebKit-1.0.so.3.17.0
: &amp;&amp; /nightly/tmp/work/cortexa9t2hf-neon-imx-poky-linux-gnueabi/wpewebkit/trunk+https999-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ -fPIC -fdiagnostics-color=always -Wextra -Wall -Wno-expansion-to-defined -Wno-stringop-overread -Wno-nonnull -Wno-array-bounds -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-maybe-uninitialized -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare  -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 -fstack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Wdate-time  --sysroot=/nightly/tmp/work/cortexa9t2hf-neon-imx-poky-linux-gnueabi/wpewebkit/trunk+https999-r0/recipe-sysroot  -O2 -pipe  -feliminate-unused-debug-types -fmacro-prefix-map=/nightly/tmp/work/cortexa9t2hf-neon-imx-poky-linux-gnueabi/wpewebkit/trunk+https999-r0=/usr/src/debug/wpewebkit/trunk+https999-r0                      -fdebug-prefix-map=/nightly/tmp/work/cortexa9t2hf-neon-imx-poky-linux-gnueabi/wpewebkit/trunk+https999-r0=/usr/src/debug/wpewebkit/trunk+https999-r0                      -fdebug-prefix-map=/nightly/tmp/work/cortexa9t2hf-neon-imx-poky-linux-gnueabi/wpewebkit/trunk+https999-r0/recipe-sysroot=                      -fdebug-prefix-map=/nightly/tmp/work/cortexa9t2hf-neon-imx-poky-linux-gnueabi/wpewebkit/trunk+https999-r0/recipe-sysroot-native=  -fvisibility-inlines-hidden  -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 -fstack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -Wdate-time  --sysroot=/nightly/tmp/work/cortexa9t2hf-neon-imx-poky-linux-gnueabi/wpewebkit/trunk+https999-r0/recipe-sysroot -fno-strict-aliasing -fno-exceptions -fno-rtti -DNDEBUG  -Wl,--no-undefined -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fmacro-prefix-map=/nightly/tmp/work/cortexa9t2hf-neon-imx-poky-linux-gnueabi/wpewebkit/trunk+https999-r0=/usr/src/debug/wpewebkit/trunk+https999-r0                      -fdebug-prefix-map=/nightly/tmp/work/cortexa9t2hf-neon-imx-poky-linux-gnueabi/wpewebkit/trunk+https999-r0=/usr/src/debug/wpewebkit/trunk+https999-r0                      -fdebug-prefix-map=/nightly/tmp/work/cortexa9t2hf-neon-imx-poky-linux-gnueabi/wpewebkit/trunk+https999-r0/recipe-sysroot=                      -fdebug-prefix-map=/nightly/tmp/work/cortexa9t2hf-neon-imx-poky-linux-gnueabi/wpewebkit/trunk+https999-r0/recipe-sysroot-native=  -Wl,-z,relro,-z,now -fuse-ld=gold -Wl,--disable-new-dtags   -Wl,--version-script,/nightly/workspace/sources/wpewebkit/Source/WebKit/webkitglib-symbols.map -shared -Wl,-soname,libWPEWebKit-1.0.so.3 -o lib/libWPEWebKit-1.0.so.3.17.0 @CMakeFiles/WebKit.rsp  &amp;&amp; :
lib/libWebCore.a(lib/../Source/WebCore/CMakeFiles/WebCore.dir/platform/graphics/filters/software/FECompositeSoftwareApplier.cpp.o):FECompositeSoftwareApplier.cpp:function WebCore::FECompositeSoftwareApplier::applyArithmetic(WebCore::FilterImage&amp;, WebCore::FilterImage&amp;, WebCore::FilterImage&amp;) const: error: undefined reference to &apos;WebCore::FECompositeSoftwareApplier::applyPlatformArithmetic(unsigned char*, unsigned char*, int, float, float, float, float)&apos;
collect2: error: ld returned 1 exit status</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832876</commentid>
    <comment_count>3</comment_count>
      <attachid>449693</attachid>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2022-01-21 13:29:58 -0800</bug_when>
    <thetext>Created attachment 449693
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833031</commentid>
    <comment_count>4</comment_count>
      <attachid>449736</attachid>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2022-01-22 13:54:31 -0800</bug_when>
    <thetext>Created attachment 449736
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833032</commentid>
    <comment_count>5</comment_count>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2022-01-22 13:57:07 -0800</bug_when>
    <thetext>Sorry Simon the previous patch was incomplete. I added a newest version addressing all the build errors mentioned in comment #2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833033</commentid>
    <comment_count>6</comment_count>
      <attachid>449737</attachid>
    <who name="Pablo Saavedra">psaavedra</who>
    <bug_when>2022-01-22 13:58:42 -0800</bug_when>
    <thetext>Created attachment 449737
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833739</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-25 09:36:06 -0800</bug_when>
    <thetext>Committed r288559 (246389@main): &lt;https://commits.webkit.org/246389@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449737.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833743</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-25 09:37:37 -0800</bug_when>
    <thetext>&lt;rdar://problem/88028497&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833852</commentid>
    <comment_count>9</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2022-01-25 14:06:46 -0800</bug_when>
    <thetext>I do not think the approach of this patch is correct. I am not very familiar with the code under 

#if HAVE(ARM_NEON_INTRINSICS)
#if CPU(ARM_NEON) &amp;&amp; CPU(ARM_TRADITIONAL) &amp;&amp; COMPILER(GCC_COMPATIBLE)

But my understanding is this code is an optimization for some arm7 platform. But since we do not have a bot for it, I even thought about removing it altogether. See bug 233500.

This patch directs the code to the software applier which may not be suitable for this &quot;unknown&quot; platform. If you have a way to compile this code for this platform, I would suggest the following:

1. Add new class FEBlendNeonApplier under Source/WebCore/platform/graphics/cpu/arm/filters/ which should be similar to FEBlendSoftwareApplier.

2. Move the code in the deleted function FEBlend::platformApplySoftware() to FEBlendNeonApplier::apply().

3. Make this change

std::unique_ptr&lt;FilterEffectApplier&gt; FEBlend::createSoftwareApplier() const
{
#if HAVE(ARM_NEON_INTRINSICS)
    return FilterEffectApplier::create&lt;FEBlendNeonApplier&gt;(*this);
#else
    return FilterEffectApplier::create&lt;FEBlendSoftwareApplier&gt;(*this);
#endif
}</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449592</attachid>
            <date>2022-01-20 09:56:03 -0800</date>
            <delta_ts>2022-01-21 13:29:52 -0800</delta_ts>
            <desc>patch</desc>
            <filename>bug-235410-20220120185601.patch</filename>
            <type>text/plain</type>
            <size>5946</size>
            <attacher name="Pablo Saavedra">psaavedra</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4Mjk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQwMGVmYzBjYjEyNWEx
NjEzNmE2NWNiMDNhNzAxN2E3ZDZiMTllZC4uMzQ0YjY5OTNlY2ZjNTBlZWYzMTgxYjA1OWM3ZDg0
MmUxYWQyZWMyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIyLTAxLTIwICBQYWJs
byBTYWF2ZWRyYSAgPHBzYWF2ZWRyYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtXUEVdW0dUS10g
QnVpbGQgZXJyb3IgaW4gQVJNdjcgTmVvbiB0YXJnZXRzIGFmdGVyIHIyODYxNTIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTQxMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY3B1L2FybS9maWx0ZXJzL0ZFQmxlbmRORU9OLmg6CisgICAgICAgIChXZWJDb3JlOjpGRUJs
ZW5kOjpwbGF0Zm9ybUFwcGx5U29mdHdhcmUpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvc29mdHdhcmUvRkVCbGVuZFNvZnR3YXJlQXBwbGllci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGRUJsZW5kU29mdHdhcmVBcHBsaWVyOjphcHBseSBjb25zdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9zb2Z0d2FyZS9GRUNvbXBvc2l0ZVNv
ZnR3YXJlQXBwbGllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGRUNvbXBvc2l0ZVNvZnR3YXJl
QXBwbGllcjo6YXBwbHlBcml0aG1ldGljIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL3NvZnR3YXJlL0ZFR2F1c3NpYW5CbHVyU29mdHdhcmVBcHBsaWVyLmNwcDoK
KwogMjAyMi0wMS0yMCAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAg
ICBNYWtlIExvY2FsU3RvcmFnZSBwcmV3YXJtaW5nIGFzeW5jCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVCbGVuZE5FT04uaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUJsZW5k
TkVPTi5oCmluZGV4IGI1MmI4YWNkMzgzZWM4Mzk0ZDljNzhhOWUxODNkNDU4MjllYmRiMTkuLmFl
N2Q5OGRiNDBhMDI2NmQ3NGMwOTg5YzQ3YzU0NzY3Mjc0ZjViMGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUJsZW5kTkVPTi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9G
RUJsZW5kTkVPTi5oCkBAIC0xMDYsNDIgKzEwNiw2IEBAIHB1YmxpYzoKICAgICB9CiB9OwogCi1i
b29sIEZFQmxlbmQ6OnBsYXRmb3JtQXBwbHlTb2Z0d2FyZShjb25zdCBGaWx0ZXImKQotewotICAg
IEZpbHRlckVmZmVjdCogaW4gPSBpbnB1dEVmZmVjdCgwKTsKLSAgICBGaWx0ZXJFZmZlY3QqIGlu
MiA9IGlucHV0RWZmZWN0KDEpOwotCi0gICAgYXV0byYgZGVzdGluYXRpb25QaXhlbEJ1ZmZlciA9
IHBpeGVsQnVmZmVyUmVzdWx0KEFscGhhUHJlbXVsdGlwbGljYXRpb246OlByZW11bHRpcGxpZWQp
OwotICAgIGlmICghZGVzdGluYXRpb25QaXhlbEJ1ZmZlcikKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotCi0gICAgYXV0byYgZGVzdGluYXRpb25QaXhlbEFycmF5ID0gZGVzdGluYXRpb25QaXhlbEJ1
ZmZlci0+ZGF0YSgpOwotCi0gICAgSW50UmVjdCBlZmZlY3RBRHJhd2luZ1JlY3QgPSByZXF1ZXN0
ZWRSZWdpb25PZklucHV0UGl4ZWxCdWZmZXIoaW4tPmFic29sdXRlUGFpbnRSZWN0KCkpOwotICAg
IGF1dG8gc291cmNlUGl4ZWxBcnJheUEgPSBpbi0+Z2V0UGl4ZWxCdWZmZXJSZXN1bHQoQWxwaGFQ
cmVtdWx0aXBsaWNhdGlvbjo6UHJlbXVsdGlwbGllZCwgZWZmZWN0QURyYXdpbmdSZWN0KTsKLQot
ICAgIEludFJlY3QgZWZmZWN0QkRyYXdpbmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dFBp
eGVsQnVmZmVyKGluMi0+YWJzb2x1dGVQYWludFJlY3QoKSk7Ci0gICAgYXV0byBzb3VyY2VQaXhl
bEFycmF5QiA9IGluMi0+Z2V0UGl4ZWxCdWZmZXJSZXN1bHQoQWxwaGFQcmVtdWx0aXBsaWNhdGlv
bjo6UHJlbXVsdGlwbGllZCwgZWZmZWN0QkRyYXdpbmdSZWN0KTsKLQotICAgIHVuc2lnbmVkIHNv
dXJjZVBpeGVsQXJyYXlMZW5ndGggPSBzb3VyY2VQaXhlbEFycmF5QS0+bGVuZ3RoKCk7Ci0gICAg
QVNTRVJUKHBpeGVsQXJyYXlMZW5ndGggPT0gc291cmNlUGl4ZWxBcnJheUItPmxlbmd0aCgpKTsK
LQotICAgIGlmIChzb3VyY2VQaXhlbEFycmF5TGVuZ3RoID49IDgpIHsKLSAgICAgICAgcGxhdGZv
cm1BcHBseU5FT04oc291cmNlUGl4ZWxBcnJheUEtPmRhdGEoKSwgc291cmNlUGl4ZWxBcnJheUIt
PmRhdGEoKSwgZGVzdGluYXRpb25QaXhlbEFycmF5LmRhdGEoKSwgc291cmNlUGl4ZWxBcnJheUxl
bmd0aCk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICAvLyBJZiB0aGVyZSBpcyBq
dXN0IG9uZSBwaXhlbCB3ZSBleHBhbmQgaXQgdG8gdHdvLgotICAgIEFTU0VSVChzb3VyY2VQaXhl
bEFycmF5TGVuZ3RoID4gMCk7Ci0gICAgdWludDMyX3Qgc291cmNlQVsyXSA9IHswLCAwfTsKLSAg
ICB1aW50MzJfdCBzb3VyY2VCQW5kRGVzdFsyXSA9IHswLCAwfTsKLQotICAgIHNvdXJjZUFbMF0g
PSByZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4oc291cmNlUGl4ZWxBcnJheUEtPmRhdGEoKSlb
MF07Ci0gICAgc291cmNlQkFuZERlc3RbMF0gPSByZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4o
c291cmNlUGl4ZWxBcnJheUItPmRhdGEoKSlbMF07Ci0gICAgcGxhdGZvcm1BcHBseU5FT04ocmVp
bnRlcnByZXRfY2FzdDx1aW50OF90Kj4oc291cmNlQSksIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhf
dCo+KHNvdXJjZUJBbmREZXN0KSwgcmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4oc291cmNlQkFu
ZERlc3QpLCA4KTsKLSAgICByZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4oZGVzdGluYXRpb25Q
aXhlbEFycmF5LmRhdGEoKSlbMF0gPSBzb3VyY2VCQW5kRGVzdFswXTsKLSAgICByZXR1cm4gdHJ1
ZTsKLX0KLQogdm9pZCBGRUJsZW5kOjpwbGF0Zm9ybUFwcGx5TkVPTih1bnNpZ25lZCBjaGFyKiBz
cmNQaXhlbEFycmF5QSwgdW5zaWduZWQgY2hhciogc3JjUGl4ZWxBcnJheUIsIHVuc2lnbmVkIGNo
YXIqIGRzdFBpeGVsQXJyYXksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGNvbG9yQXJyYXlMZW5ndGgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3NvZnR3YXJlL0ZFQmxlbmRTb2Z0d2FyZUFwcGxpZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9zb2Z0d2FyZS9GRUJs
ZW5kU29mdHdhcmVBcHBsaWVyLmNwcAppbmRleCA1M2Q1YWZjMGFlM2E1MWJhY2QwMTZkOTZhZjI3
MGJlMDg5ZjMwNjIzLi4wNzAyY2Q0OGFiM2M3ZDI3MWRhMWU3ZjMzOGE1ZWIxODcwMzE5ZWNmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3NvZnR3
YXJlL0ZFQmxlbmRTb2Z0d2FyZUFwcGxpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvc29mdHdhcmUvRkVCbGVuZFNvZnR3YXJlQXBwbGllci5jcHAK
QEAgLTMzLDcgKzMzLDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0jaWYgIUhBVkUoQVJN
X05FT05fSU5UUklOU0lDUykKIGJvb2wgRkVCbGVuZFNvZnR3YXJlQXBwbGllcjo6YXBwbHkoY29u
c3QgRmlsdGVyJiwgY29uc3QgRmlsdGVySW1hZ2VWZWN0b3ImIGlucHV0cywgRmlsdGVySW1hZ2Um
IHJlc3VsdCkgY29uc3QKIHsKICAgICBhdXRvJiBpbnB1dCA9IGlucHV0c1swXS5nZXQoKTsKQEAg
LTU2LDYgKzU1LDUgQEAgYm9vbCBGRUJsZW5kU29mdHdhcmVBcHBsaWVyOjphcHBseShjb25zdCBG
aWx0ZXImLCBjb25zdCBGaWx0ZXJJbWFnZVZlY3RvciYgaW5wdXQKICAgICBmaWx0ZXJDb250ZXh0
LmRyYXdJbWFnZUJ1ZmZlcigqaW5wdXRJbWFnZSwgaW5wdXRJbWFnZVJlY3QsIHsgeyB9LCBpbnB1
dEltYWdlLT5sb2dpY2FsU2l6ZSgpIH0sIHsgQ29tcG9zaXRlT3BlcmF0b3I6OlNvdXJjZU92ZXIs
IG1fZWZmZWN0LmJsZW5kTW9kZSgpIH0pOwogICAgIHJldHVybiB0cnVlOwogfQotI2VuZGlmCiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvc29mdHdhcmUvRkVDb21wb3NpdGVTb2Z0d2FyZUFwcGxpZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9zb2Z0d2FyZS9G
RUNvbXBvc2l0ZVNvZnR3YXJlQXBwbGllci5jcHAKaW5kZXggMjkyY2VmN2NmNDJlYTlkYTI1OTk4
YTA4Y2FhYWYwYTJjOTI1NDEzZi4uMjhhMTZjZTc1YmJjNjc4ZGQ3MGU2YzA3MTExNGU1ODg4ZTYx
YzNmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9zb2Z0d2FyZS9GRUNvbXBvc2l0ZVNvZnR3YXJlQXBwbGllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9zb2Z0d2FyZS9GRUNvbXBvc2l0ZVNvZnR3
YXJlQXBwbGllci5jcHAKQEAgLTE0NSw3ICsxNDUsOSBAQCBib29sIEZFQ29tcG9zaXRlU29mdHdh
cmVBcHBsaWVyOjphcHBseUFyaXRobWV0aWMoRmlsdGVySW1hZ2UmIGlucHV0LCBGaWx0ZXJJbWFn
ZQogCiAgICAgaW50IGxlbmd0aCA9IHNvdXJjZVBpeGVsQXJyYXkubGVuZ3RoKCk7CiAgICAgQVNT
RVJUKGxlbmd0aCA9PSBzdGF0aWNfY2FzdDxpbnQ+KGRlc3RpbmF0aW9uUGl4ZWxBcnJheS5sZW5n
dGgoKSkpOworI2lmICFIQVZFKEFSTV9ORU9OX0lOVFJJTlNJQ1MpCiAgICAgYXBwbHlQbGF0Zm9y
bUFyaXRobWV0aWMoc291cmNlUGl4ZWxBcnJheS5kYXRhKCksIGRlc3RpbmF0aW9uUGl4ZWxBcnJh
eS5kYXRhKCksIGxlbmd0aCwgbV9lZmZlY3QuazEoKSwgbV9lZmZlY3QuazIoKSwgbV9lZmZlY3Qu
azMoKSwgbV9lZmZlY3QuazQoKSk7CisjZW5kaWYKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9zb2Z0d2Fy
ZS9GRUdhdXNzaWFuQmx1clNvZnR3YXJlQXBwbGllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3NvZnR3YXJlL0ZFR2F1c3NpYW5CbHVyU29mdHdhcmVBcHBs
aWVyLmNwcAppbmRleCBmNmE5Mzk5YjZlZTEzZTkzMzQwNmNmNmY0MjdjYWQ4Yjg0M2Q1YTkwLi5k
ZWUwNDgwMWEzZmYyYzFlNmFmNGM0ODEwMGU5N2RlMmRmYTVmY2MxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3NvZnR3YXJlL0ZFR2F1c3NpYW5C
bHVyU29mdHdhcmVBcHBsaWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL3NvZnR3YXJlL0ZFR2F1c3NpYW5CbHVyU29mdHdhcmVBcHBsaWVyLmNwcApA
QCAtMjcsNiArMjcsOSBAQAogI2luY2x1ZGUgIkZFR2F1c3NpYW5CbHVyU29mdHdhcmVBcHBsaWVy
LmgiCiAKICNpbmNsdWRlICJGRUdhdXNzaWFuQmx1ci5oIgorI2lmIEhBVkUoQVJNX05FT05fSU5U
UklOU0lDUykKKyNpbmNsdWRlICJGRUdhdXNzaWFuQmx1ck5FT04uaCIKKyNlbmRpZgogI2luY2x1
ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCiAjaW5jbHVk
ZSAiUGl4ZWxCdWZmZXIuaCIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449693</attachid>
            <date>2022-01-21 13:29:58 -0800</date>
            <delta_ts>2022-01-22 13:54:25 -0800</delta_ts>
            <desc>patch</desc>
            <filename>bug-235410-20220121222956.patch</filename>
            <type>text/plain</type>
            <size>3864</size>
            <attacher name="Pablo Saavedra">psaavedra</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4Mjk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQwMGVmYzBjYjEyNWEx
NjEzNmE2NWNiMDNhNzAxN2E3ZDZiMTllZC4uMTE3NTZmOWE0YzVkNmFmOWJkZTkzN2FlMDhhNzgz
NDA4ZmNjNDM2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIyLTAxLTIwICBQYWJs
byBTYWF2ZWRyYSAgPHBzYWF2ZWRyYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtXUEVdW0dUS10g
QnVpbGQgZXJyb3IgaW4gQVJNdjcgTmVvbiB0YXJnZXRzIGFmdGVyIHIyODYxNTIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTQxMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY3B1L2FybS9maWx0ZXJzL0ZFQmxlbmRORU9OLmg6CisgICAgICAgIChXZWJDb3JlOjpGRUJs
ZW5kOjpwbGF0Zm9ybUFwcGx5U29mdHdhcmUpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvc29mdHdhcmUvRkVCbGVuZFNvZnR3YXJlQXBwbGllci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGRUJsZW5kU29mdHdhcmVBcHBsaWVyOjphcHBseSBjb25zdCk6CisK
IDIwMjItMDEtMjAgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAgICAgICAg
TWFrZSBMb2NhbFN0b3JhZ2UgcHJld2FybWluZyBhc3luYwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZFQmxlbmRORU9OLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVCbGVuZE5F
T04uaAppbmRleCBiNTJiOGFjZDM4M2VjODM5NGQ5Yzc4YTllMTgzZDQ1ODI5ZWJkYjE5Li5hZTdk
OThkYjQwYTAyNjZkNzRjMDk4OWM0N2M1NDc2NzI3NGY1YjBlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVCbGVuZE5FT04uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVC
bGVuZE5FT04uaApAQCAtMTA2LDQyICsxMDYsNiBAQCBwdWJsaWM6CiAgICAgfQogfTsKIAotYm9v
bCBGRUJsZW5kOjpwbGF0Zm9ybUFwcGx5U29mdHdhcmUoY29uc3QgRmlsdGVyJikKLXsKLSAgICBG
aWx0ZXJFZmZlY3QqIGluID0gaW5wdXRFZmZlY3QoMCk7Ci0gICAgRmlsdGVyRWZmZWN0KiBpbjIg
PSBpbnB1dEVmZmVjdCgxKTsKLQotICAgIGF1dG8mIGRlc3RpbmF0aW9uUGl4ZWxCdWZmZXIgPSBw
aXhlbEJ1ZmZlclJlc3VsdChBbHBoYVByZW11bHRpcGxpY2F0aW9uOjpQcmVtdWx0aXBsaWVkKTsK
LSAgICBpZiAoIWRlc3RpbmF0aW9uUGl4ZWxCdWZmZXIpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LQotICAgIGF1dG8mIGRlc3RpbmF0aW9uUGl4ZWxBcnJheSA9IGRlc3RpbmF0aW9uUGl4ZWxCdWZm
ZXItPmRhdGEoKTsKLQotICAgIEludFJlY3QgZWZmZWN0QURyYXdpbmdSZWN0ID0gcmVxdWVzdGVk
UmVnaW9uT2ZJbnB1dFBpeGVsQnVmZmVyKGluLT5hYnNvbHV0ZVBhaW50UmVjdCgpKTsKLSAgICBh
dXRvIHNvdXJjZVBpeGVsQXJyYXlBID0gaW4tPmdldFBpeGVsQnVmZmVyUmVzdWx0KEFscGhhUHJl
bXVsdGlwbGljYXRpb246OlByZW11bHRpcGxpZWQsIGVmZmVjdEFEcmF3aW5nUmVjdCk7Ci0KLSAg
ICBJbnRSZWN0IGVmZmVjdEJEcmF3aW5nUmVjdCA9IHJlcXVlc3RlZFJlZ2lvbk9mSW5wdXRQaXhl
bEJ1ZmZlcihpbjItPmFic29sdXRlUGFpbnRSZWN0KCkpOwotICAgIGF1dG8gc291cmNlUGl4ZWxB
cnJheUIgPSBpbjItPmdldFBpeGVsQnVmZmVyUmVzdWx0KEFscGhhUHJlbXVsdGlwbGljYXRpb246
OlByZW11bHRpcGxpZWQsIGVmZmVjdEJEcmF3aW5nUmVjdCk7Ci0KLSAgICB1bnNpZ25lZCBzb3Vy
Y2VQaXhlbEFycmF5TGVuZ3RoID0gc291cmNlUGl4ZWxBcnJheUEtPmxlbmd0aCgpOwotICAgIEFT
U0VSVChwaXhlbEFycmF5TGVuZ3RoID09IHNvdXJjZVBpeGVsQXJyYXlCLT5sZW5ndGgoKSk7Ci0K
LSAgICBpZiAoc291cmNlUGl4ZWxBcnJheUxlbmd0aCA+PSA4KSB7Ci0gICAgICAgIHBsYXRmb3Jt
QXBwbHlORU9OKHNvdXJjZVBpeGVsQXJyYXlBLT5kYXRhKCksIHNvdXJjZVBpeGVsQXJyYXlCLT5k
YXRhKCksIGRlc3RpbmF0aW9uUGl4ZWxBcnJheS5kYXRhKCksIHNvdXJjZVBpeGVsQXJyYXlMZW5n
dGgpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgLy8gSWYgdGhlcmUgaXMganVz
dCBvbmUgcGl4ZWwgd2UgZXhwYW5kIGl0IHRvIHR3by4KLSAgICBBU1NFUlQoc291cmNlUGl4ZWxB
cnJheUxlbmd0aCA+IDApOwotICAgIHVpbnQzMl90IHNvdXJjZUFbMl0gPSB7MCwgMH07Ci0gICAg
dWludDMyX3Qgc291cmNlQkFuZERlc3RbMl0gPSB7MCwgMH07Ci0KLSAgICBzb3VyY2VBWzBdID0g
cmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCo+KHNvdXJjZVBpeGVsQXJyYXlBLT5kYXRhKCkpWzBd
OwotICAgIHNvdXJjZUJBbmREZXN0WzBdID0gcmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCo+KHNv
dXJjZVBpeGVsQXJyYXlCLT5kYXRhKCkpWzBdOwotICAgIHBsYXRmb3JtQXBwbHlORU9OKHJlaW50
ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KHNvdXJjZUEpLCByZWludGVycHJldF9jYXN0PHVpbnQ4X3Qq
Pihzb3VyY2VCQW5kRGVzdCksIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KHNvdXJjZUJBbmRE
ZXN0KSwgOCk7Ci0gICAgcmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCo+KGRlc3RpbmF0aW9uUGl4
ZWxBcnJheS5kYXRhKCkpWzBdID0gc291cmNlQkFuZERlc3RbMF07Ci0gICAgcmV0dXJuIHRydWU7
Ci19Ci0KIHZvaWQgRkVCbGVuZDo6cGxhdGZvcm1BcHBseU5FT04odW5zaWduZWQgY2hhciogc3Jj
UGl4ZWxBcnJheUEsIHVuc2lnbmVkIGNoYXIqIHNyY1BpeGVsQXJyYXlCLCB1bnNpZ25lZCBjaGFy
KiBkc3RQaXhlbEFycmF5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBjb2xvckFycmF5TGVuZ3RoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9zb2Z0d2FyZS9GRUdhdXNzaWFuQmx1clNvZnR3YXJlQXBwbGll
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3NvZnR3YXJl
L0ZFR2F1c3NpYW5CbHVyU29mdHdhcmVBcHBsaWVyLmNwcAppbmRleCBmNmE5Mzk5YjZlZTEzZTkz
MzQwNmNmNmY0MjdjYWQ4Yjg0M2Q1YTkwLi5kZWUwNDgwMWEzZmYyYzFlNmFmNGM0ODEwMGU5N2Rl
MmRmYTVmY2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL3NvZnR3YXJlL0ZFR2F1c3NpYW5CbHVyU29mdHdhcmVBcHBsaWVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3NvZnR3YXJlL0ZFR2F1c3Np
YW5CbHVyU29mdHdhcmVBcHBsaWVyLmNwcApAQCAtMjcsNiArMjcsOSBAQAogI2luY2x1ZGUgIkZF
R2F1c3NpYW5CbHVyU29mdHdhcmVBcHBsaWVyLmgiCiAKICNpbmNsdWRlICJGRUdhdXNzaWFuQmx1
ci5oIgorI2lmIEhBVkUoQVJNX05FT05fSU5UUklOU0lDUykKKyNpbmNsdWRlICJGRUdhdXNzaWFu
Qmx1ck5FT04uaCIKKyNlbmRpZgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1
ZGUgIkltYWdlQnVmZmVyLmgiCiAjaW5jbHVkZSAiUGl4ZWxCdWZmZXIuaCIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449736</attachid>
            <date>2022-01-22 13:54:31 -0800</date>
            <delta_ts>2022-01-22 13:58:37 -0800</delta_ts>
            <desc>patch</desc>
            <filename>bug-235410-20220122225428.patch</filename>
            <type>text/plain</type>
            <size>5979</size>
            <attacher name="Pablo Saavedra">psaavedra</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4Mjk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQwMGVmYzBjYjEyNWEx
NjEzNmE2NWNiMDNhNzAxN2E3ZDZiMTllZC4uYWI1YzU4M2UwYWU0YjdmNmQwZTM3Yjk0ZDUwOTli
Y2Q0ZWNkN2E2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIyLTAxLTIyICBQYWJs
byBTYWF2ZWRyYSAgPHBzYWF2ZWRyYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtXUEVdW0dUS10g
QnVpbGQgZXJyb3IgaW4gQVJNdjcgTmVvbiB0YXJnZXRzIGFmdGVyIHIyODYxNTIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTQxMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09Q
UyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZFQmxl
bmRORU9OLmg6CisgICAgICAgIChXZWJDb3JlOjpGRUJsZW5kOjpwbGF0Zm9ybUFwcGx5U29mdHdh
cmUpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvc29mdHdh
cmUvRkVCbGVuZFNvZnR3YXJlQXBwbGllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGRUJsZW5k
U29mdHdhcmVBcHBsaWVyOjphcHBseSBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9zb2Z0d2FyZS9GRUNvbXBvc2l0ZVNvZnR3YXJlQXBwbGllci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGRUNvbXBvc2l0ZVNvZnR3YXJlQXBwbGllcjo6YXBwbHlBcml0aG1ldGlj
IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3NvZnR3YXJlL0ZF
R2F1c3NpYW5CbHVyU29mdHdhcmVBcHBsaWVyLmNwcDoKKwogMjAyMi0wMS0yMCAgU2lodWkgTGl1
ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIExvY2FsU3RvcmFnZSBwcmV3
YXJtaW5nIGFzeW5jCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jcHUvYXJtL2ZpbHRlcnMvRkVCbGVuZE5FT04uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUJsZW5kTkVPTi5oCmluZGV4IGI1MmI4YWNkMzgz
ZWM4Mzk0ZDljNzhhOWUxODNkNDU4MjllYmRiMTkuLmFlN2Q5OGRiNDBhMDI2NmQ3NGMwOTg5YzQ3
YzU0NzY3Mjc0ZjViMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NwdS9hcm0vZmlsdGVycy9GRUJsZW5kTkVPTi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUJsZW5kTkVPTi5oCkBAIC0xMDYsNDIg
KzEwNiw2IEBAIHB1YmxpYzoKICAgICB9CiB9OwogCi1ib29sIEZFQmxlbmQ6OnBsYXRmb3JtQXBw
bHlTb2Z0d2FyZShjb25zdCBGaWx0ZXImKQotewotICAgIEZpbHRlckVmZmVjdCogaW4gPSBpbnB1
dEVmZmVjdCgwKTsKLSAgICBGaWx0ZXJFZmZlY3QqIGluMiA9IGlucHV0RWZmZWN0KDEpOwotCi0g
ICAgYXV0byYgZGVzdGluYXRpb25QaXhlbEJ1ZmZlciA9IHBpeGVsQnVmZmVyUmVzdWx0KEFscGhh
UHJlbXVsdGlwbGljYXRpb246OlByZW11bHRpcGxpZWQpOwotICAgIGlmICghZGVzdGluYXRpb25Q
aXhlbEJ1ZmZlcikKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgYXV0byYgZGVzdGluYXRp
b25QaXhlbEFycmF5ID0gZGVzdGluYXRpb25QaXhlbEJ1ZmZlci0+ZGF0YSgpOwotCi0gICAgSW50
UmVjdCBlZmZlY3RBRHJhd2luZ1JlY3QgPSByZXF1ZXN0ZWRSZWdpb25PZklucHV0UGl4ZWxCdWZm
ZXIoaW4tPmFic29sdXRlUGFpbnRSZWN0KCkpOwotICAgIGF1dG8gc291cmNlUGl4ZWxBcnJheUEg
PSBpbi0+Z2V0UGl4ZWxCdWZmZXJSZXN1bHQoQWxwaGFQcmVtdWx0aXBsaWNhdGlvbjo6UHJlbXVs
dGlwbGllZCwgZWZmZWN0QURyYXdpbmdSZWN0KTsKLQotICAgIEludFJlY3QgZWZmZWN0QkRyYXdp
bmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dFBpeGVsQnVmZmVyKGluMi0+YWJzb2x1dGVQ
YWludFJlY3QoKSk7Ci0gICAgYXV0byBzb3VyY2VQaXhlbEFycmF5QiA9IGluMi0+Z2V0UGl4ZWxC
dWZmZXJSZXN1bHQoQWxwaGFQcmVtdWx0aXBsaWNhdGlvbjo6UHJlbXVsdGlwbGllZCwgZWZmZWN0
QkRyYXdpbmdSZWN0KTsKLQotICAgIHVuc2lnbmVkIHNvdXJjZVBpeGVsQXJyYXlMZW5ndGggPSBz
b3VyY2VQaXhlbEFycmF5QS0+bGVuZ3RoKCk7Ci0gICAgQVNTRVJUKHBpeGVsQXJyYXlMZW5ndGgg
PT0gc291cmNlUGl4ZWxBcnJheUItPmxlbmd0aCgpKTsKLQotICAgIGlmIChzb3VyY2VQaXhlbEFy
cmF5TGVuZ3RoID49IDgpIHsKLSAgICAgICAgcGxhdGZvcm1BcHBseU5FT04oc291cmNlUGl4ZWxB
cnJheUEtPmRhdGEoKSwgc291cmNlUGl4ZWxBcnJheUItPmRhdGEoKSwgZGVzdGluYXRpb25QaXhl
bEFycmF5LmRhdGEoKSwgc291cmNlUGl4ZWxBcnJheUxlbmd0aCk7Ci0gICAgICAgIHJldHVybiB0
cnVlOwotICAgIH0KLSAgICAvLyBJZiB0aGVyZSBpcyBqdXN0IG9uZSBwaXhlbCB3ZSBleHBhbmQg
aXQgdG8gdHdvLgotICAgIEFTU0VSVChzb3VyY2VQaXhlbEFycmF5TGVuZ3RoID4gMCk7Ci0gICAg
dWludDMyX3Qgc291cmNlQVsyXSA9IHswLCAwfTsKLSAgICB1aW50MzJfdCBzb3VyY2VCQW5kRGVz
dFsyXSA9IHswLCAwfTsKLQotICAgIHNvdXJjZUFbMF0gPSByZWludGVycHJldF9jYXN0PHVpbnQz
Ml90Kj4oc291cmNlUGl4ZWxBcnJheUEtPmRhdGEoKSlbMF07Ci0gICAgc291cmNlQkFuZERlc3Rb
MF0gPSByZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4oc291cmNlUGl4ZWxBcnJheUItPmRhdGEo
KSlbMF07Ci0gICAgcGxhdGZvcm1BcHBseU5FT04ocmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4o
c291cmNlQSksIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KHNvdXJjZUJBbmREZXN0KSwgcmVp
bnRlcnByZXRfY2FzdDx1aW50OF90Kj4oc291cmNlQkFuZERlc3QpLCA4KTsKLSAgICByZWludGVy
cHJldF9jYXN0PHVpbnQzMl90Kj4oZGVzdGluYXRpb25QaXhlbEFycmF5LmRhdGEoKSlbMF0gPSBz
b3VyY2VCQW5kRGVzdFswXTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogdm9pZCBGRUJsZW5kOjpw
bGF0Zm9ybUFwcGx5TkVPTih1bnNpZ25lZCBjaGFyKiBzcmNQaXhlbEFycmF5QSwgdW5zaWduZWQg
Y2hhciogc3JjUGl4ZWxBcnJheUIsIHVuc2lnbmVkIGNoYXIqIGRzdFBpeGVsQXJyYXksCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNvbG9yQXJyYXlMZW5ndGgpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3Nv
ZnR3YXJlL0ZFQmxlbmRTb2Z0d2FyZUFwcGxpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9zb2Z0d2FyZS9GRUJsZW5kU29mdHdhcmVBcHBsaWVyLmNwcApp
bmRleCA1M2Q1YWZjMGFlM2E1MWJhY2QwMTZkOTZhZjI3MGJlMDg5ZjMwNjIzLi4wNzAyY2Q0OGFi
M2M3ZDI3MWRhMWU3ZjMzOGE1ZWIxODcwMzE5ZWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3NvZnR3YXJlL0ZFQmxlbmRTb2Z0d2FyZUFwcGxp
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvc29m
dHdhcmUvRkVCbGVuZFNvZnR3YXJlQXBwbGllci5jcHAKQEAgLTMzLDcgKzMzLDYgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi0jaWYgIUhBVkUoQVJNX05FT05fSU5UUklOU0lDUykKIGJvb2wg
RkVCbGVuZFNvZnR3YXJlQXBwbGllcjo6YXBwbHkoY29uc3QgRmlsdGVyJiwgY29uc3QgRmlsdGVy
SW1hZ2VWZWN0b3ImIGlucHV0cywgRmlsdGVySW1hZ2UmIHJlc3VsdCkgY29uc3QKIHsKICAgICBh
dXRvJiBpbnB1dCA9IGlucHV0c1swXS5nZXQoKTsKQEAgLTU2LDYgKzU1LDUgQEAgYm9vbCBGRUJs
ZW5kU29mdHdhcmVBcHBsaWVyOjphcHBseShjb25zdCBGaWx0ZXImLCBjb25zdCBGaWx0ZXJJbWFn
ZVZlY3RvciYgaW5wdXQKICAgICBmaWx0ZXJDb250ZXh0LmRyYXdJbWFnZUJ1ZmZlcigqaW5wdXRJ
bWFnZSwgaW5wdXRJbWFnZVJlY3QsIHsgeyB9LCBpbnB1dEltYWdlLT5sb2dpY2FsU2l6ZSgpIH0s
IHsgQ29tcG9zaXRlT3BlcmF0b3I6OlNvdXJjZU92ZXIsIG1fZWZmZWN0LmJsZW5kTW9kZSgpIH0p
OwogICAgIHJldHVybiB0cnVlOwogfQotI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvc29m
dHdhcmUvRkVDb21wb3NpdGVTb2Z0d2FyZUFwcGxpZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9zb2Z0d2FyZS9GRUNvbXBvc2l0ZVNvZnR3YXJlQXBwbGll
ci5jcHAKaW5kZXggMjkyY2VmN2NmNDJlYTlkYTI1OTk4YTA4Y2FhYWYwYTJjOTI1NDEzZi4uMjhh
MTZjZTc1YmJjNjc4ZGQ3MGU2YzA3MTExNGU1ODg4ZTYxYzNmOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9zb2Z0d2FyZS9GRUNvbXBvc2l0ZVNv
ZnR3YXJlQXBwbGllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9zb2Z0d2FyZS9GRUNvbXBvc2l0ZVNvZnR3YXJlQXBwbGllci5jcHAKQEAgLTE0NSw3
ICsxNDUsOSBAQCBib29sIEZFQ29tcG9zaXRlU29mdHdhcmVBcHBsaWVyOjphcHBseUFyaXRobWV0
aWMoRmlsdGVySW1hZ2UmIGlucHV0LCBGaWx0ZXJJbWFnZQogCiAgICAgaW50IGxlbmd0aCA9IHNv
dXJjZVBpeGVsQXJyYXkubGVuZ3RoKCk7CiAgICAgQVNTRVJUKGxlbmd0aCA9PSBzdGF0aWNfY2Fz
dDxpbnQ+KGRlc3RpbmF0aW9uUGl4ZWxBcnJheS5sZW5ndGgoKSkpOworI2lmICFIQVZFKEFSTV9O
RU9OX0lOVFJJTlNJQ1MpCiAgICAgYXBwbHlQbGF0Zm9ybUFyaXRobWV0aWMoc291cmNlUGl4ZWxB
cnJheS5kYXRhKCksIGRlc3RpbmF0aW9uUGl4ZWxBcnJheS5kYXRhKCksIGxlbmd0aCwgbV9lZmZl
Y3QuazEoKSwgbV9lZmZlY3QuazIoKSwgbV9lZmZlY3QuazMoKSwgbV9lZmZlY3QuazQoKSk7Cisj
ZW5kaWYKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9zb2Z0d2FyZS9GRUdhdXNzaWFuQmx1clNvZnR3YXJl
QXBwbGllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3Nv
ZnR3YXJlL0ZFR2F1c3NpYW5CbHVyU29mdHdhcmVBcHBsaWVyLmNwcAppbmRleCBmNmE5Mzk5YjZl
ZTEzZTkzMzQwNmNmNmY0MjdjYWQ4Yjg0M2Q1YTkwLi5kZWUwNDgwMWEzZmYyYzFlNmFmNGM0ODEw
MGU5N2RlMmRmYTVmY2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL3NvZnR3YXJlL0ZFR2F1c3NpYW5CbHVyU29mdHdhcmVBcHBsaWVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3NvZnR3YXJlL0ZF
R2F1c3NpYW5CbHVyU29mdHdhcmVBcHBsaWVyLmNwcApAQCAtMjcsNiArMjcsOSBAQAogI2luY2x1
ZGUgIkZFR2F1c3NpYW5CbHVyU29mdHdhcmVBcHBsaWVyLmgiCiAKICNpbmNsdWRlICJGRUdhdXNz
aWFuQmx1ci5oIgorI2lmIEhBVkUoQVJNX05FT05fSU5UUklOU0lDUykKKyNpbmNsdWRlICJGRUdh
dXNzaWFuQmx1ck5FT04uaCIKKyNlbmRpZgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgog
I2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCiAjaW5jbHVkZSAiUGl4ZWxCdWZmZXIuaCIK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449737</attachid>
            <date>2022-01-22 13:58:42 -0800</date>
            <delta_ts>2022-01-25 09:36:07 -0800</delta_ts>
            <desc>patch</desc>
            <filename>bug-235410-20220122225841.patch</filename>
            <type>text/plain</type>
            <size>5946</size>
            <attacher name="Pablo Saavedra">psaavedra</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4Mjk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQwMGVmYzBjYjEyNWEx
NjEzNmE2NWNiMDNhNzAxN2E3ZDZiMTllZC4uYzdhOWJlN2QxMGVjOTBhMDY5ZTMzYzA4NWI1NjFl
NjliMzdmNGRjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIyLTAxLTIyICBQYWJs
byBTYWF2ZWRyYSAgPHBzYWF2ZWRyYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtXUEVdW0dUS10g
QnVpbGQgZXJyb3IgaW4gQVJNdjcgTmVvbiB0YXJnZXRzIGFmdGVyIHIyODYxNTIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTQxMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY3B1L2FybS9maWx0ZXJzL0ZFQmxlbmRORU9OLmg6CisgICAgICAgIChXZWJDb3JlOjpGRUJs
ZW5kOjpwbGF0Zm9ybUFwcGx5U29mdHdhcmUpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvc29mdHdhcmUvRkVCbGVuZFNvZnR3YXJlQXBwbGllci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGRUJsZW5kU29mdHdhcmVBcHBsaWVyOjphcHBseSBjb25zdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9zb2Z0d2FyZS9GRUNvbXBvc2l0ZVNv
ZnR3YXJlQXBwbGllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGRUNvbXBvc2l0ZVNvZnR3YXJl
QXBwbGllcjo6YXBwbHlBcml0aG1ldGljIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL3NvZnR3YXJlL0ZFR2F1c3NpYW5CbHVyU29mdHdhcmVBcHBsaWVyLmNwcDoK
KwogMjAyMi0wMS0yMCAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAg
ICBNYWtlIExvY2FsU3RvcmFnZSBwcmV3YXJtaW5nIGFzeW5jCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVCbGVuZE5FT04uaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUJsZW5k
TkVPTi5oCmluZGV4IGI1MmI4YWNkMzgzZWM4Mzk0ZDljNzhhOWUxODNkNDU4MjllYmRiMTkuLmFl
N2Q5OGRiNDBhMDI2NmQ3NGMwOTg5YzQ3YzU0NzY3Mjc0ZjViMGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUJsZW5kTkVPTi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9G
RUJsZW5kTkVPTi5oCkBAIC0xMDYsNDIgKzEwNiw2IEBAIHB1YmxpYzoKICAgICB9CiB9OwogCi1i
b29sIEZFQmxlbmQ6OnBsYXRmb3JtQXBwbHlTb2Z0d2FyZShjb25zdCBGaWx0ZXImKQotewotICAg
IEZpbHRlckVmZmVjdCogaW4gPSBpbnB1dEVmZmVjdCgwKTsKLSAgICBGaWx0ZXJFZmZlY3QqIGlu
MiA9IGlucHV0RWZmZWN0KDEpOwotCi0gICAgYXV0byYgZGVzdGluYXRpb25QaXhlbEJ1ZmZlciA9
IHBpeGVsQnVmZmVyUmVzdWx0KEFscGhhUHJlbXVsdGlwbGljYXRpb246OlByZW11bHRpcGxpZWQp
OwotICAgIGlmICghZGVzdGluYXRpb25QaXhlbEJ1ZmZlcikKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotCi0gICAgYXV0byYgZGVzdGluYXRpb25QaXhlbEFycmF5ID0gZGVzdGluYXRpb25QaXhlbEJ1
ZmZlci0+ZGF0YSgpOwotCi0gICAgSW50UmVjdCBlZmZlY3RBRHJhd2luZ1JlY3QgPSByZXF1ZXN0
ZWRSZWdpb25PZklucHV0UGl4ZWxCdWZmZXIoaW4tPmFic29sdXRlUGFpbnRSZWN0KCkpOwotICAg
IGF1dG8gc291cmNlUGl4ZWxBcnJheUEgPSBpbi0+Z2V0UGl4ZWxCdWZmZXJSZXN1bHQoQWxwaGFQ
cmVtdWx0aXBsaWNhdGlvbjo6UHJlbXVsdGlwbGllZCwgZWZmZWN0QURyYXdpbmdSZWN0KTsKLQot
ICAgIEludFJlY3QgZWZmZWN0QkRyYXdpbmdSZWN0ID0gcmVxdWVzdGVkUmVnaW9uT2ZJbnB1dFBp
eGVsQnVmZmVyKGluMi0+YWJzb2x1dGVQYWludFJlY3QoKSk7Ci0gICAgYXV0byBzb3VyY2VQaXhl
bEFycmF5QiA9IGluMi0+Z2V0UGl4ZWxCdWZmZXJSZXN1bHQoQWxwaGFQcmVtdWx0aXBsaWNhdGlv
bjo6UHJlbXVsdGlwbGllZCwgZWZmZWN0QkRyYXdpbmdSZWN0KTsKLQotICAgIHVuc2lnbmVkIHNv
dXJjZVBpeGVsQXJyYXlMZW5ndGggPSBzb3VyY2VQaXhlbEFycmF5QS0+bGVuZ3RoKCk7Ci0gICAg
QVNTRVJUKHBpeGVsQXJyYXlMZW5ndGggPT0gc291cmNlUGl4ZWxBcnJheUItPmxlbmd0aCgpKTsK
LQotICAgIGlmIChzb3VyY2VQaXhlbEFycmF5TGVuZ3RoID49IDgpIHsKLSAgICAgICAgcGxhdGZv
cm1BcHBseU5FT04oc291cmNlUGl4ZWxBcnJheUEtPmRhdGEoKSwgc291cmNlUGl4ZWxBcnJheUIt
PmRhdGEoKSwgZGVzdGluYXRpb25QaXhlbEFycmF5LmRhdGEoKSwgc291cmNlUGl4ZWxBcnJheUxl
bmd0aCk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICAvLyBJZiB0aGVyZSBpcyBq
dXN0IG9uZSBwaXhlbCB3ZSBleHBhbmQgaXQgdG8gdHdvLgotICAgIEFTU0VSVChzb3VyY2VQaXhl
bEFycmF5TGVuZ3RoID4gMCk7Ci0gICAgdWludDMyX3Qgc291cmNlQVsyXSA9IHswLCAwfTsKLSAg
ICB1aW50MzJfdCBzb3VyY2VCQW5kRGVzdFsyXSA9IHswLCAwfTsKLQotICAgIHNvdXJjZUFbMF0g
PSByZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4oc291cmNlUGl4ZWxBcnJheUEtPmRhdGEoKSlb
MF07Ci0gICAgc291cmNlQkFuZERlc3RbMF0gPSByZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4o
c291cmNlUGl4ZWxBcnJheUItPmRhdGEoKSlbMF07Ci0gICAgcGxhdGZvcm1BcHBseU5FT04ocmVp
bnRlcnByZXRfY2FzdDx1aW50OF90Kj4oc291cmNlQSksIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhf
dCo+KHNvdXJjZUJBbmREZXN0KSwgcmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4oc291cmNlQkFu
ZERlc3QpLCA4KTsKLSAgICByZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4oZGVzdGluYXRpb25Q
aXhlbEFycmF5LmRhdGEoKSlbMF0gPSBzb3VyY2VCQW5kRGVzdFswXTsKLSAgICByZXR1cm4gdHJ1
ZTsKLX0KLQogdm9pZCBGRUJsZW5kOjpwbGF0Zm9ybUFwcGx5TkVPTih1bnNpZ25lZCBjaGFyKiBz
cmNQaXhlbEFycmF5QSwgdW5zaWduZWQgY2hhciogc3JjUGl4ZWxBcnJheUIsIHVuc2lnbmVkIGNo
YXIqIGRzdFBpeGVsQXJyYXksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGNvbG9yQXJyYXlMZW5ndGgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3NvZnR3YXJlL0ZFQmxlbmRTb2Z0d2FyZUFwcGxpZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9zb2Z0d2FyZS9GRUJs
ZW5kU29mdHdhcmVBcHBsaWVyLmNwcAppbmRleCA1M2Q1YWZjMGFlM2E1MWJhY2QwMTZkOTZhZjI3
MGJlMDg5ZjMwNjIzLi4wNzAyY2Q0OGFiM2M3ZDI3MWRhMWU3ZjMzOGE1ZWIxODcwMzE5ZWNmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3NvZnR3
YXJlL0ZFQmxlbmRTb2Z0d2FyZUFwcGxpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvc29mdHdhcmUvRkVCbGVuZFNvZnR3YXJlQXBwbGllci5jcHAK
QEAgLTMzLDcgKzMzLDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0jaWYgIUhBVkUoQVJN
X05FT05fSU5UUklOU0lDUykKIGJvb2wgRkVCbGVuZFNvZnR3YXJlQXBwbGllcjo6YXBwbHkoY29u
c3QgRmlsdGVyJiwgY29uc3QgRmlsdGVySW1hZ2VWZWN0b3ImIGlucHV0cywgRmlsdGVySW1hZ2Um
IHJlc3VsdCkgY29uc3QKIHsKICAgICBhdXRvJiBpbnB1dCA9IGlucHV0c1swXS5nZXQoKTsKQEAg
LTU2LDYgKzU1LDUgQEAgYm9vbCBGRUJsZW5kU29mdHdhcmVBcHBsaWVyOjphcHBseShjb25zdCBG
aWx0ZXImLCBjb25zdCBGaWx0ZXJJbWFnZVZlY3RvciYgaW5wdXQKICAgICBmaWx0ZXJDb250ZXh0
LmRyYXdJbWFnZUJ1ZmZlcigqaW5wdXRJbWFnZSwgaW5wdXRJbWFnZVJlY3QsIHsgeyB9LCBpbnB1
dEltYWdlLT5sb2dpY2FsU2l6ZSgpIH0sIHsgQ29tcG9zaXRlT3BlcmF0b3I6OlNvdXJjZU92ZXIs
IG1fZWZmZWN0LmJsZW5kTW9kZSgpIH0pOwogICAgIHJldHVybiB0cnVlOwogfQotI2VuZGlmCiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvc29mdHdhcmUvRkVDb21wb3NpdGVTb2Z0d2FyZUFwcGxpZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9zb2Z0d2FyZS9G
RUNvbXBvc2l0ZVNvZnR3YXJlQXBwbGllci5jcHAKaW5kZXggMjkyY2VmN2NmNDJlYTlkYTI1OTk4
YTA4Y2FhYWYwYTJjOTI1NDEzZi4uMjhhMTZjZTc1YmJjNjc4ZGQ3MGU2YzA3MTExNGU1ODg4ZTYx
YzNmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9zb2Z0d2FyZS9GRUNvbXBvc2l0ZVNvZnR3YXJlQXBwbGllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9zb2Z0d2FyZS9GRUNvbXBvc2l0ZVNvZnR3
YXJlQXBwbGllci5jcHAKQEAgLTE0NSw3ICsxNDUsOSBAQCBib29sIEZFQ29tcG9zaXRlU29mdHdh
cmVBcHBsaWVyOjphcHBseUFyaXRobWV0aWMoRmlsdGVySW1hZ2UmIGlucHV0LCBGaWx0ZXJJbWFn
ZQogCiAgICAgaW50IGxlbmd0aCA9IHNvdXJjZVBpeGVsQXJyYXkubGVuZ3RoKCk7CiAgICAgQVNT
RVJUKGxlbmd0aCA9PSBzdGF0aWNfY2FzdDxpbnQ+KGRlc3RpbmF0aW9uUGl4ZWxBcnJheS5sZW5n
dGgoKSkpOworI2lmICFIQVZFKEFSTV9ORU9OX0lOVFJJTlNJQ1MpCiAgICAgYXBwbHlQbGF0Zm9y
bUFyaXRobWV0aWMoc291cmNlUGl4ZWxBcnJheS5kYXRhKCksIGRlc3RpbmF0aW9uUGl4ZWxBcnJh
eS5kYXRhKCksIGxlbmd0aCwgbV9lZmZlY3QuazEoKSwgbV9lZmZlY3QuazIoKSwgbV9lZmZlY3Qu
azMoKSwgbV9lZmZlY3QuazQoKSk7CisjZW5kaWYKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9zb2Z0d2Fy
ZS9GRUdhdXNzaWFuQmx1clNvZnR3YXJlQXBwbGllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3NvZnR3YXJlL0ZFR2F1c3NpYW5CbHVyU29mdHdhcmVBcHBs
aWVyLmNwcAppbmRleCBmNmE5Mzk5YjZlZTEzZTkzMzQwNmNmNmY0MjdjYWQ4Yjg0M2Q1YTkwLi5k
ZWUwNDgwMWEzZmYyYzFlNmFmNGM0ODEwMGU5N2RlMmRmYTVmY2MxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL3NvZnR3YXJlL0ZFR2F1c3NpYW5C
bHVyU29mdHdhcmVBcHBsaWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL3NvZnR3YXJlL0ZFR2F1c3NpYW5CbHVyU29mdHdhcmVBcHBsaWVyLmNwcApA
QCAtMjcsNiArMjcsOSBAQAogI2luY2x1ZGUgIkZFR2F1c3NpYW5CbHVyU29mdHdhcmVBcHBsaWVy
LmgiCiAKICNpbmNsdWRlICJGRUdhdXNzaWFuQmx1ci5oIgorI2lmIEhBVkUoQVJNX05FT05fSU5U
UklOU0lDUykKKyNpbmNsdWRlICJGRUdhdXNzaWFuQmx1ck5FT04uaCIKKyNlbmRpZgogI2luY2x1
ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCiAjaW5jbHVk
ZSAiUGl4ZWxCdWZmZXIuaCIK
</data>

          </attachment>
      

    </bug>

</bugzilla>