<?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>226917</bug_id>
          
          <creation_ts>2021-06-11 05:38:00 -0700</creation_ts>
          <short_desc>AcceleratedImageBuffer not instantiated but objects are punned to the type</short_desc>
          <delta_ts>2021-06-14 11:28:23 -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>Canvas</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>
          <dependson>226963</dependson>
          <blocked>226962</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Kimmo Kinnunen">kkinnunen</assigned_to>
          <cc>cdumez</cc>
    
    <cc>dino</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>1768913</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-11 05:38:00 -0700</bug_when>
    <thetext>AcceleratedImageBuffer is never instantiated and not instantiable.
Objects are being punned as AcceleratedImageBuffer even though it&apos;s not possible to be correct.

The AcceleratedImageBuffer::create is not returning what the callers think it is returning.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768915</commentid>
    <comment_count>1</comment_count>
      <attachid>431188</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-11 05:55:18 -0700</bug_when>
    <thetext>Created attachment 431188
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768918</commentid>
    <comment_count>2</comment_count>
      <attachid>431189</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-11 06:06:33 -0700</bug_when>
    <thetext>Created attachment 431189
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768919</commentid>
    <comment_count>3</comment_count>
      <attachid>431190</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-11 06:16:47 -0700</bug_when>
    <thetext>Created attachment 431190
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768920</commentid>
    <comment_count>4</comment_count>
      <attachid>431191</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-11 06:18:13 -0700</bug_when>
    <thetext>Created attachment 431191
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768921</commentid>
    <comment_count>5</comment_count>
      <attachid>431192</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-11 06:22:06 -0700</bug_when>
    <thetext>Created attachment 431192
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769012</commentid>
    <comment_count>6</comment_count>
      <attachid>431192</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-06-11 11:48:59 -0700</bug_when>
    <thetext>Comment on attachment 431192
Patch

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

&gt; Source/WebCore/platform/graphics/PlatformImageBuffer.h:45
&gt; +namespace Detail {

I am not sure I agree with this change especially there are similar definitions in PlatformImageBufferShareableBackend.h. Can we move this change to a operate patch since it is unrelated to what you are trying to fix?

&gt; Source/WebCore/platform/graphics/PlatformImageBuffer.h:82
&gt; +    IOSurfaceImageBuffer(const WebCore::ImageBufferBackend::Parameters&amp; parameters, std::unique_ptr&lt;ImageBufferIOSurfaceBackend&gt;&amp;&amp; backend)
&gt; +        : Base(parameters, WTFMove(backend))
&gt; +    {
&gt; +    }

This constructor can be replaced by:

    using Base::Base;

&gt; Source/WebCore/platform/graphics/cg/ImageBufferCGBitmapBackend.h:40
&gt; +    WEBCORE_EXPORT static IntSize calculateSafeBackendSize(const Parameters&amp;);
&gt; +    WEBCORE_EXPORT static size_t calculateMemoryCost(const Parameters&amp;);

Why do we need to export these functions? I guess this is because the new api test calls ConcreteImageBuffer::create()?

&gt; Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:280
&gt; +    auto outputImageBuffer = IOSurfaceImageBuffer::create(clampedSize, lastEffect.filter().filterScale(), lastEffect.resultColorSpace(), PixelFormat::BGRA8);

What is the point of using this local variable and then moving it to the member m_outputImageBuffer?

Is this because m_outputImageBuffer defined to be RefPtr&lt;ImageBuffer&gt; and you want to avoid casting?
     RefPtr&lt;ImageBuffer&gt; m_outputImageBuffer;

I think it is better to change it to be RefPtr&lt;AcceleratedImageBuffer&gt; or even better RefPtr&lt;IOSurfaceImageBuffer&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769336</commentid>
    <comment_count>7</comment_count>
      <attachid>431306</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-14 02:05:09 -0700</bug_when>
    <thetext>Created attachment 431306
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769337</commentid>
    <comment_count>8</comment_count>
      <attachid>431307</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-14 02:09:27 -0700</bug_when>
    <thetext>Created attachment 431307
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769343</commentid>
    <comment_count>9</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-06-14 03:17:32 -0700</bug_when>
    <thetext>(In reply to Said Abou-Hallawa from comment #6)
&gt; &gt; Source/WebCore/platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:280
&gt; &gt; +    auto outputImageBuffer = IOSurfaceImageBuffer::create(clampedSize, lastEffect.filter().filterScale(), lastEffect.resultColorSpace(), PixelFormat::BGRA8);
&gt; 
&gt; What is the point of using this local variable and then moving it to the
&gt; member m_outputImageBuffer?

1) The principle of members should not be assigned unless the function succeeds

2) The principle of big allocations should not be done before clearing up old allocations, in cases where the allocating function destroys the existing state in success and error case

Moved these to bug 226962</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769450</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-14 10:27:54 -0700</bug_when>
    <thetext>Committed r278832 (238783@main): &lt;https://commits.webkit.org/238783@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 431307.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769452</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-14 10:28:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/79295676&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431188</attachid>
            <date>2021-06-11 05:55:18 -0700</date>
            <delta_ts>2021-06-11 06:06:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226917-20210611155516.patch</filename>
            <type>text/plain</type>
            <size>17718</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NzAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWE1ZTk1YzlmNGFmODI5
NzdiNTg5YzBlY2E4MTJlM2ViZGRjZTIxMS4uNjI2OWU2MjdjMmEyYzJmOWU0N2E5Y2IyMTQ5YTJm
Y2ZiZGFmN2UyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIxLTA2LTExICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWNjZWxlcmF0ZWRJ
bWFnZUJ1ZmZlciBub3QgaW5zdGFudGlhdGVkIGJ1dCBvYmplY3RzIGFyZSBwdW5uZWQgdG8gdGhl
IHR5cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NjkxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENv
bmNyZXRlSW1hZ2VCdWZmZXI6OmNyZWF0ZSB3b3VsZCBjcmVhdGUgaW5zdGFuY2UKKyAgICAgICAg
b2YgQ29uY3JldGVJbWFnZUJ1ZmZlciwgbm90IEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIuCisKKyAg
ICAgICAgRml4IGJ5IGFkZGluZyBhIGNvcnJlY3QgY3JlYXRlIHN0YXRpYyBmdW5jdGlvbi4KKwor
ICAgICAgICBUZXN0ZWQgYnkgbmV3IHRlc3Q6CisgICAgICAgIFRlc3RXZWJLaXRBUEkuSW1hZ2VC
dWZmZXJUZXN0cy5JbWFnZUJ1ZmZlclN1YlR5cGVDcmVhdGVDcmVhdGVzU3VidHlwZXMKKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1BsYXRmb3JtSW1hZ2VCdWZmZXIuaDoKKyAgICAgICAg
KFdlYkNvcmU6OklPU3VyZmFjZUltYWdlQnVmZmVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SU9TdXJmYWNlSW1hZ2VCdWZmZXI6OklPU3VyZmFjZUltYWdlQnVmZmVyKToKKyAgICAgICAg
QWRkIHRoZSBjb3JyZWN0IGZhY3RvcnkgZnVuY3Rpb24gYW5kIHB1YmxpYyBjb25zdHJ1Y3Rvci4K
KyAgICAgICAgTW92ZXMgdGhlIGhlbHBlciBJbWFnZUJ1ZmZlckJhY2tlbmQgdHlwZSBhbGlhc2Vz
IHRvIERldGFpbAorICAgICAgICBuYW1lc3BhY2UgaW4gb3JkZXIgdG8gY29tbXVuaWNhdGUgdGhh
dCB0aGV5J3JlIG5vdCBpbnRlbmRlZAorICAgICAgICBBUEkuIFRoaXMgaXMgc2lnbmlmaWNhbnQg
YXMgdGhlIGNoYW5nZSBvbWl0cyB0aGUgQWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQKKyAg
ICAgICAgYWxpYXMsIGFzIGl0J3Mgbm90IGhlbHBpbmcgaW4gSU9TdXJmYWNlIGNhc2UuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZC5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5k
ZXJlckNvcmVJbWFnZS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdFJlbmRlcmVy
Q29yZUltYWdlOjppbWFnZUZvclNvdXJjZUdyYXBoaWMpOgorICAgICAgICAoV2ViQ29yZTo6Rmls
dGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OnJlbmRlclRvSW1hZ2VCdWZmZXIpOgorICAgICAg
ICBDaGFuZ2UgdGhlIGltYWdlIGNyZWF0aW9uIHNpdGUgdG8gY3JlYXRlIHRoZSBleHBsaWNpdCBJ
T1N1cmZhY2VJbWFnZUJ1ZmZlcgorICAgICAgICBzaW5jZSB0aGF0J3Mgd2hhdCBpdCdzIHRyeWlu
ZyB0byBjcmVhdGUuCisgICAgICAgIENoYW5nZSB0aGUgdHlwZS1wdW5uaW5nIGNhbGwgc2l0ZXMg
dG8gdXNlIGV4cGxpY2l0CisgICAgICAgIElPU3VyZmFjZUltYWdlQnVmZmVyIG5hbWUsIGFzIHRo
YXQncyB3aGF0IHRoZSBjYWxsIHNpdGUKKyAgICAgICAgaXMgaW50ZW5kaW5nIHRvIHVzZS4KKwor
CiAyMDIxLTA2LTEwICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgV2ViR0wgY29udGV4dCBpbWFnZSBidWZmZXIgYWNjdW11bGF0ZXMgdGhlIE5hdGl2ZUlt
YWdlIGNvbnRlbnRzIHdoZW4gZHJhd24gdG8gUmVtb3RlSW1hZ2VCdWZmZXJQcm94eQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1JbWFnZUJ1ZmZl
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1JbWFnZUJ1ZmZl
ci5oCmluZGV4IDUyZGQ4M2NjOTNkNTU1M2IzNzllNTg3ZDQzODVkNGY3ODA1OTQ0YmIuLjkwMTY2
MWU4NmQxZTM3ZGUzYjg2Y2Y4NGZlMzIyYmNmMjUyNzM0ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BsYXRmb3JtSW1hZ2VCdWZmZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QbGF0Zm9ybUltYWdlQnVmZmVyLmgKQEAgLTQy
LDYgKzQyLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCituYW1lc3BhY2UgRGV0YWlsIHsK
KwogI2lmIFVTRShDRykKIHVzaW5nIFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQgPSBJ
bWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZDsKICNlbGlmIFVTRShESVJFQ1QyRCkKQEAgLTUwLDMw
ICs1Miw0MCBAQCB1c2luZyBVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5kID0gSW1hZ2VC
dWZmZXJEaXJlY3QyREJhY2tlbmQ7CiB1c2luZyBVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNr
ZW5kID0gSW1hZ2VCdWZmZXJDYWlyb0ltYWdlU3VyZmFjZUJhY2tlbmQ7CiAjZW5kaWYKIAotI2lm
IEhBVkUoSU9TVVJGQUNFKQotdXNpbmcgQWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQgPSBJ
bWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQ7Ci0jZWxzZQotdXNpbmcgQWNjZWxlcmF0ZWRJbWFn
ZUJ1ZmZlckJhY2tlbmQgPSBVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5kOwotI2VuZGlm
Cit9CiAKLXVzaW5nIFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlciA9IENvbmNyZXRlSW1hZ2VCdWZm
ZXI8VW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyQmFja2VuZD47Cit1c2luZyBVbmFjY2VsZXJhdGVk
SW1hZ2VCdWZmZXIgPSBDb25jcmV0ZUltYWdlQnVmZmVyPERldGFpbDo6VW5hY2NlbGVyYXRlZElt
YWdlQnVmZmVyQmFja2VuZD47Cit1c2luZyBEaXNwbGF5TGlzdFVuYWNjZWxlcmF0ZWRJbWFnZUJ1
ZmZlciA9IERpc3BsYXlMaXN0OjpJbWFnZUJ1ZmZlcjxEZXRhaWw6OlVuYWNjZWxlcmF0ZWRJbWFn
ZUJ1ZmZlckJhY2tlbmQ+OwogCiAjaWYgSEFWRShJT1NVUkZBQ0UpCi1jbGFzcyBBY2NlbGVyYXRl
ZEltYWdlQnVmZmVyIDogcHVibGljIENvbmNyZXRlSW1hZ2VCdWZmZXI8SW1hZ2VCdWZmZXJJT1N1
cmZhY2VCYWNrZW5kPiB7Ci0gICAgdXNpbmcgQmFzZSA9IENvbmNyZXRlSW1hZ2VCdWZmZXI8QWNj
ZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQ+OwotICAgIHVzaW5nIEJhc2U6OkJhc2U7CitjbGFz
cyBJT1N1cmZhY2VJbWFnZUJ1ZmZlciA6IHB1YmxpYyBDb25jcmV0ZUltYWdlQnVmZmVyPEltYWdl
QnVmZmVySU9TdXJmYWNlQmFja2VuZD4geworICAgIHVzaW5nIEJhc2VDb25jcmV0ZUltYWdlQnVm
ZmVyID0gQ29uY3JldGVJbWFnZUJ1ZmZlcjxJbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQ+Owog
cHVibGljOgorICAgIHN0YXRpYyBhdXRvIGNyZWF0ZShjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUm
IHNpemUsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgY29uc3QgV2ViQ29yZTo6RGVzdGluYXRpb25D
b2xvclNwYWNlJiBjb2xvclNwYWNlLCBXZWJDb3JlOjpQaXhlbEZvcm1hdCBwaXhlbEZvcm1hdCwg
Y29uc3QgSG9zdFdpbmRvdyogaG9zdFdpbmRvdyA9IG51bGxwdHIpCisgICAgeworICAgICAgICBy
ZXR1cm4gQmFzZUNvbmNyZXRlSW1hZ2VCdWZmZXI6OmNyZWF0ZTxJT1N1cmZhY2VJbWFnZUJ1ZmZl
cj4oc2l6ZSwgcmVzb2x1dGlvblNjYWxlLCBjb2xvclNwYWNlLCBwaXhlbEZvcm1hdCwgaG9zdFdp
bmRvdyk7CisgICAgfQorICAgIHN0YXRpYyBhdXRvIGNyZWF0ZShjb25zdCBGbG9hdFNpemUmIHNp
emUsIGNvbnN0IEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCkKKyAgICB7CisgICAgICAgIHJldHVy
biBCYXNlQ29uY3JldGVJbWFnZUJ1ZmZlcjo6Y3JlYXRlPElPU3VyZmFjZUltYWdlQnVmZmVyPihz
aXplLCBjb250ZXh0KTsKKyAgICB9CisgICAgSU9TdXJmYWNlSW1hZ2VCdWZmZXIoY29uc3QgV2Vi
Q29yZTo6SW1hZ2VCdWZmZXJCYWNrZW5kOjpQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBzdGQ6OnVu
aXF1ZV9wdHI8SW1hZ2VCdWZmZXJJT1N1cmZhY2VCYWNrZW5kPiYmIGJhY2tlbmQpCisgICAgICAg
IDogQmFzZUNvbmNyZXRlSW1hZ2VCdWZmZXIocGFyYW1ldGVycywgV1RGTW92ZShiYWNrZW5kKSkK
KyAgICB7CisgICAgfQogICAgIElPU3VyZmFjZSYgc3VyZmFjZSgpIHsgcmV0dXJuICptX2JhY2tl
bmQtPnN1cmZhY2UoKTsgfQogfTsKK3VzaW5nIEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIgPSBJT1N1
cmZhY2VJbWFnZUJ1ZmZlcjsKK3VzaW5nIERpc3BsYXlMaXN0QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZl
ciA9IERpc3BsYXlMaXN0OjpJbWFnZUJ1ZmZlcjxJbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQ+
OwogI2Vsc2UKLXVzaW5nIEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIgPSBDb25jcmV0ZUltYWdlQnVm
ZmVyPEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5kPjsKK3VzaW5nIEFjY2VsZXJhdGVkSW1h
Z2VCdWZmZXIgPSBDb25jcmV0ZUltYWdlQnVmZmVyPERldGFpbDo6VW5hY2NlbGVyYXRlZEltYWdl
QnVmZmVyQmFja2VuZD47Cit1c2luZyBEaXNwbGF5TGlzdEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIg
PSBEaXNwbGF5TGlzdDo6SW1hZ2VCdWZmZXI8RGV0YWlsOjpVbmFjY2VsZXJhdGVkSW1hZ2VCdWZm
ZXJCYWNrZW5kPjsKICNlbmRpZgogCi11c2luZyBEaXNwbGF5TGlzdFVuYWNjZWxlcmF0ZWRJbWFn
ZUJ1ZmZlciA9IERpc3BsYXlMaXN0OjpJbWFnZUJ1ZmZlcjxVbmFjY2VsZXJhdGVkSW1hZ2VCdWZm
ZXJCYWNrZW5kPjsKLXVzaW5nIERpc3BsYXlMaXN0QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlciA9IERp
c3BsYXlMaXN0OjpJbWFnZUJ1ZmZlcjxBY2NlbGVyYXRlZEltYWdlQnVmZmVyQmFja2VuZD47Ci0K
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihX
ZWJDb3JlOjpBY2NlbGVyYXRlZEltYWdlQnVmZmVyKQorI2lmIEhBVkUoSU9TVVJGQUNFKQorU1BF
Q0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpJT1N1cmZhY2VJbWFnZUJ1ZmZlcikK
ICAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6SW1hZ2VCdWZmZXImIGJ1ZmZl
cikgeyByZXR1cm4gYnVmZmVyLnJlbmRlcmluZ01vZGUoKSA9PSBXZWJDb3JlOjpSZW5kZXJpbmdN
b2RlOjpBY2NlbGVyYXRlZDsgfQogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQorI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1
ZmZlckNHQml0bWFwQmFja2VuZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQuaAppbmRleCBjODkwZTlmZThmMmU4NjRmNTBi
Njg4OWM5ZWI0ZjBmNTg3MmJiOTE4Li5lMWMzZTJhNDc2ZjIzMmIzOTc0MzhhNGRhZmE0MWRhNDgz
YTMyODJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9J
bWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kLmgKQEAgLTM2LDEzICszNiwx
MyBAQCBjbGFzcyBJbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZCA6IHB1YmxpYyBJbWFnZUJ1ZmZl
ckNHQmFja2VuZCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChJbWFnZUJ1ZmZlckNHQml0
bWFwQmFja2VuZCk7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VCdWZmZXJDR0JpdG1h
cEJhY2tlbmQpOwogcHVibGljOgotICAgIHN0YXRpYyBJbnRTaXplIGNhbGN1bGF0ZVNhZmVCYWNr
ZW5kU2l6ZShjb25zdCBQYXJhbWV0ZXJzJik7Ci0gICAgc3RhdGljIHNpemVfdCBjYWxjdWxhdGVN
ZW1vcnlDb3N0KGNvbnN0IFBhcmFtZXRlcnMmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMg
SW50U2l6ZSBjYWxjdWxhdGVTYWZlQmFja2VuZFNpemUoY29uc3QgUGFyYW1ldGVycyYpOworICAg
IFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBzaXplX3QgY2FsY3VsYXRlTWVtb3J5Q29zdChjb25zdCBQ
YXJhbWV0ZXJzJik7CiAKLSAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyQ0dC
aXRtYXBCYWNrZW5kPiBjcmVhdGUoY29uc3QgUGFyYW1ldGVycyYsIGNvbnN0IEhvc3RXaW5kb3cq
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVy
Q0dCaXRtYXBCYWNrZW5kPiBjcmVhdGUoY29uc3QgUGFyYW1ldGVycyYsIGNvbnN0IEhvc3RXaW5k
b3cqKTsKIAogICAgIC8vIEZJWE1FOiBSZW5hbWUgdG8gY3JlYXRlVXNpbmdDb2xvclNwYWNlT2ZH
cmFwaGljc0NvbnRleHQoKSAob3Igc29tZXRoaW5nIGxpa2UgdGhhdCkuCi0gICAgc3RhdGljIHN0
ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZD4gY3JlYXRlKGNvbnN0IFBh
cmFtZXRlcnMmLCBjb25zdCBHcmFwaGljc0NvbnRleHQmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBz
dGF0aWMgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kPiBjcmVhdGUo
Y29uc3QgUGFyYW1ldGVycyYsIGNvbnN0IEdyYXBoaWNzQ29udGV4dCYpOwogCiAgICAgR3JhcGhp
Y3NDb250ZXh0JiBjb250ZXh0KCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJl
ckNvcmVJbWFnZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFn
ZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5tbQppbmRleCA0N2YzZjgwMTg2YmE5YjVk
OGM2MWIxNjBiNDZiNTdjMGQ4NWZmNzRjLi41NWE1ZmE4ODExNDBmMzM1ZTNmZmQ3MDZjNDE5YzIw
NTczMmQzZDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZWltYWdlL0ZpbHRlckVmZmVjdFJlbmRlcmVyQ29y
ZUltYWdlLm1tCkBAIC0xNzUsOCArMTc1LDggQEAgUmV0YWluUHRyPENJSW1hZ2U+IEZpbHRlckVm
ZmVjdFJlbmRlcmVyQ29yZUltYWdlOjppbWFnZUZvclNvdXJjZUdyYXBoaWMoU291cmNlR3IKICAg
ICBpZiAoIXNvdXJjZUltYWdlKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAKLSAgICBp
ZiAoaXM8QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcj4oKnNvdXJjZUltYWdlKSkKLSAgICAgICAgcmV0
dXJuIFtDSUltYWdlIGltYWdlV2l0aElPU3VyZmFjZTpkb3duY2FzdDxBY2NlbGVyYXRlZEltYWdl
QnVmZmVyPigqc291cmNlSW1hZ2UpLnN1cmZhY2UoKS5zdXJmYWNlKCldOworICAgIGlmIChpczxJ
T1N1cmZhY2VJbWFnZUJ1ZmZlcj4oKnNvdXJjZUltYWdlKSkKKyAgICAgICAgcmV0dXJuIFtDSUlt
YWdlIGltYWdlV2l0aElPU3VyZmFjZTpkb3duY2FzdDxJT1N1cmZhY2VJbWFnZUJ1ZmZlcj4oKnNv
dXJjZUltYWdlKS5zdXJmYWNlKCkuc3VyZmFjZSgpXTsKICAgICAKICAgICByZXR1cm4gW0NJSW1h
Z2UgaW1hZ2VXaXRoQ0dJbWFnZTpzb3VyY2VJbWFnZS0+Y29weU5hdGl2ZUltYWdlKCktPnBsYXRm
b3JtSW1hZ2UoKS5nZXQoKV07CiB9CkBAIC0yNzUsMjEgKzI3NSwxNyBAQCBJbWFnZUJ1ZmZlciog
RmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6Om91dHB1dCgpIGNvbnN0CiAgICAgCiB2b2lk
IEZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlOjpyZW5kZXJUb0ltYWdlQnVmZmVyKEZpbHRl
ckVmZmVjdCYgbGFzdEVmZmVjdCkKIHsKKyAgICBtX291dHB1dEltYWdlQnVmZmVyID0gbnVsbHB0
cjsKICAgICBGbG9hdFNpemUgY2xhbXBlZFNpemUgPSBJbWFnZUJ1ZmZlcjo6Y2xhbXBlZFNpemUo
bGFzdEVmZmVjdC5hYnNvbHV0ZVBhaW50UmVjdCgpLnNpemUoKSk7Ci0gICAgbV9vdXRwdXRJbWFn
ZUJ1ZmZlciA9IEltYWdlQnVmZmVyOjpjcmVhdGUoY2xhbXBlZFNpemUsIFJlbmRlcmluZ01vZGU6
OkFjY2VsZXJhdGVkLCBsYXN0RWZmZWN0LmZpbHRlcigpLmZpbHRlclNjYWxlKCksIGxhc3RFZmZl
Y3QucmVzdWx0Q29sb3JTcGFjZSgpLCBQaXhlbEZvcm1hdDo6QkdSQTgpOworICAgIGF1dG8gb3V0
cHV0SW1hZ2VCdWZmZXIgPSBJT1N1cmZhY2VJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGNsYW1wZWRTaXpl
LCBsYXN0RWZmZWN0LmZpbHRlcigpLmZpbHRlclNjYWxlKCksIGxhc3RFZmZlY3QucmVzdWx0Q29s
b3JTcGFjZSgpLCBQaXhlbEZvcm1hdDo6QkdSQTgpOwogICAgIAotICAgIGlmICghbV9vdXRwdXRJ
bWFnZUJ1ZmZlcikgeworICAgIGlmICghb3V0cHV0SW1hZ2VCdWZmZXIpIHsKICAgICAgICAgY2xl
YXJSZXN1bHQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICAKLSAgICAvLyBGSVhNRTog
SW4gdGhlIHNpdHVhdGlvbiB3aGVyZSB0aGUgSW1hZ2UgaXMgdG9vIGxhcmdlLCBhbiBVbmFjY2Vs
ZXJhdGVkSW1hZ2VCdWZmZXIgd2lsbCBiZSBjcmVhdGVkCi0gICAgLy8gaW4gdGhpcyBjYXNlLCBz
cGVjaWFsIGhhbmRsaW5nIGlzIG5lZWRlZCB0byByZW5kZXIgdG8gSW1hZ2VCdWZmZXJDR0JhY2tl
bmQgaW5zdGVhZAotICAgIGlmICghaXM8QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcj4oKm1fb3V0cHV0
SW1hZ2VCdWZmZXIpKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgYXV0byYgc3VyZmFjZSA9
IGRvd25jYXN0PEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI+KCptX291dHB1dEltYWdlQnVmZmVyKS5z
dXJmYWNlKCk7Ci0gICAgW3NoYXJlZENJQ29udGV4dCgpLmdldCgpIHJlbmRlcjogbV9vdXRwdXRJ
bWFnZS5nZXQoKSB0b0lPU3VyZmFjZTogc3VyZmFjZS5zdXJmYWNlKCkgYm91bmRzOmRlc3RSZWN0
KGxhc3RFZmZlY3QpIGNvbG9yU3BhY2U6bGFzdEVmZmVjdC5yZXN1bHRDb2xvclNwYWNlKCkucGxh
dGZvcm1Db2xvclNwYWNlKCldOworCisgICAgW3NoYXJlZENJQ29udGV4dCgpLmdldCgpIHJlbmRl
cjogbV9vdXRwdXRJbWFnZS5nZXQoKSB0b0lPU3VyZmFjZTogb3V0cHV0SW1hZ2VCdWZmZXItPnN1
cmZhY2UoKS5zdXJmYWNlKCkgYm91bmRzOmRlc3RSZWN0KGxhc3RFZmZlY3QpIGNvbG9yU3BhY2U6
bGFzdEVmZmVjdC5yZXN1bHRDb2xvclNwYWNlKCkucGxhdGZvcm1Db2xvclNwYWNlKCldOworICAg
IG1fb3V0cHV0SW1hZ2VCdWZmZXIgPSBXVEZNb3ZlKG91dHB1dEltYWdlQnVmZmVyKTsKIH0KICAg
ICAKIEZsb2F0UmVjdCBGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6ZGVzdFJlY3QoY29u
c3QgRmlsdGVyRWZmZWN0JiBsYXN0RWZmZWN0KSBjb25zdApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDU0Nzg5MTRiOGJmY2M1Nzk1ZTQwYTIxNzI2
M2I3YjExMDU1OTQ3NGIuLmQzN2Y1ZWNkMGJiZjZkZGM0YjdlYmE2N2ZkOTliMTQ3NDAxMTgyZDgg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAyMS0wNi0xMSAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUu
Y29tPgorCisgICAgICAgIEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIgbm90IGluc3RhbnRpYXRlZCBi
dXQgb2JqZWN0cyBhcmUgcHVubmVkIHRvIHRoZSB0eXBlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY5MTcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKyAgICAgICAgQWRkIG5ldyB0ZXN0CisgICAgICAgIFRlc3RXZWJLaXRB
UEkuSW1hZ2VCdWZmZXJUZXN0cy5JbWFnZUJ1ZmZlclN1YlR5cGVDcmVhdGVDcmVhdGVzU3VidHlw
ZXMKKyAgICAgICAgdG8gdGVzdCB0aGF0IHRoZSBjb2RlIGNvbXBpbGVzLgorICAgICAgICBCZWZv
cmUsIGl0IHdvdWxkIGZhaWwgd2l0aDoKKyAgICAgICAgICBgZXJyb3I6IGNhbm5vdCBpbml0aWFs
aXplIGEgbWVtYmVyIHN1Ym9iamVjdCBvZiB0eXBlICd0eXBlbmFtZSBQdHJUcmFpdHM6OlN0b3Jh
Z2VUeXBlJyAoYWthICdXZWJDb3JlOjpBY2NlbGVyYXRlZEltYWdlQnVmZmVyIConKSB3aXRoIGFu
IAorICAgICAgICAgICBydmFsdWUgb2YgdHlwZSAnV2ViQ29yZTo6Q29uY3JldGVJbWFnZUJ1ZmZl
cjxXZWJDb3JlOjpJbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQ+IConYAorCisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0ltYWdlQnVmZmVyVGVzdHMuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDIxLTA2LTEwICBZ
dXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gUmVtb3Zl
IHVzZURhdGFJQ0luT3B0aW1pemluZ0pJVCBvcHRpb24KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggZDA3MmVjMzMwNGI2OGU5YWQ1Y2U5ZTc1YzZkZDQ4ZGFlNWU0ZWY0YS4uODYwY2U2MGUxMGQ2
MWZkZDZiZTQ5M2YzMzM0OGJiYmYyMmJhOGNiYSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTU4OSw2ICs1ODksNyBAQAogCQk3QUU5RTUwOTFBRTVBRThCMDBDRjg3NEIgLyogdGVzdC5wZGYg
aW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FF
OUU1MDgxQUU1QUU4QjAwQ0Y4NzRCIC8qIHRlc3QucGRmICovOyB9OwogCQk3QUVBRDQ3RjFFMjAx
MTZDMDA0MTZFRkUgLyogQ3Jvc3NQYXJ0aXRpb25GaWxlU2NoZW1lQWNjZXNzLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FFQUQ0N0MxRTIwMTEzODAw
NDE2RUZFIC8qIENyb3NzUGFydGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5tbSAqLzsgfTsKIAkJN0FF
QUQ0ODExRTIwMTIyNzAwNDE2RUZFIC8qIENyb3NzUGFydGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdBRUFENDdEMUUyMDExNEUwMDQxNkVGRSAvKiBDcm9zc1BhcnRpdGlvbkZpbGVTY2hlbWVBY2Nl
c3MuaHRtbCAqLzsgfTsKKwkJN0IxODQxN0MyNjczODYwMjAwRUQ0RjhEIC8qIEltYWdlQnVmZmVy
VGVzdHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0IxODQxN0IyNjczODYwMjAwRUQ0RjhEIC8qIEltYWdlQnVmZmVyVGVzdHMuY3BwICovOyB9Owog
CQk3QjI3MzlGMzI2MzJBQjY0MDA0MEYxODIgLyogVGhyZWFkQXNzZXJ0aW9uc1Rlc3QuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0IyNzM5RjIyNjMy
QUI2NDAwNDBGMTgyIC8qIFRocmVhZEFzc2VydGlvbnNUZXN0LmNwcCAqLzsgfTsKIAkJN0I3RDA5
NkEyNTE5RjhGOTAwMTdBMDc4IC8qIFdlYkdMTm9DcmFzaE9uT3RoZXJUaHJlYWRBY2Nlc3MubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QjdEMDk2OTI1
MTlGOEY5MDAxN0EwNzggLyogV2ViR0xOb0NyYXNoT25PdGhlclRocmVhZEFjY2Vzcy5tbSAqLzsg
fTsKIAkJN0MxQUY3OTUxRThEQ0JBQjAwMjY0NUI5IC8qIFByZXBhcmVGb3JNb3ZlVG9XaW5kb3cu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzFBRjc5
MzFFOERDQkFCMDAyNjQ1QjkgLyogUHJlcGFyZUZvck1vdmVUb1dpbmRvdy5tbSAqLzsgfTsKQEAg
LTI0NTYsNiArMjQ1Nyw3IEBACiAJCTdBRTlFNTA4MUFFNUFFOEIwMENGODc0QiAvKiB0ZXN0LnBk
ZiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGltYWdl
LnBkZjsgcGF0aCA9IHRlc3QucGRmOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QUVB
RDQ3QzFFMjAxMTM4MDA0MTZFRkUgLyogQ3Jvc3NQYXJ0aXRpb25GaWxlU2NoZW1lQWNjZXNzLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ3Jvc3NQYXJ0aXRpb25G
aWxlU2NoZW1lQWNjZXNzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QUVBRDQ3
RDFFMjAxMTRFMDA0MTZFRkUgLyogQ3Jvc3NQYXJ0aXRpb25GaWxlU2NoZW1lQWNjZXNzLmh0bWwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IG5hbWUgPSBDcm9zc1BhcnRpdGlvbkZpbGVTY2hlbWVBY2Nl
c3MuaHRtbDsgcGF0aCA9IFRlc3RzL21hYy9Dcm9zc1BhcnRpdGlvbkZpbGVTY2hlbWVBY2Nlc3Mu
aHRtbDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OworCQk3QjE4NDE3QjI2NzM4NjAyMDBF
RDRGOEQgLyogSW1hZ2VCdWZmZXJUZXN0cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBJbWFnZUJ1ZmZlclRlc3RzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJN0IyNzM5RjIyNjMyQUI2NDAwNDBGMTgyIC8qIFRocmVhZEFzc2VydGlvbnNUZXN0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRocmVhZEFzc2VydGlvbnNU
ZXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0I3RDA5NjkyNTE5RjhGOTAw
MTdBMDc4IC8qIFdlYkdMTm9DcmFzaE9uT3RoZXJUaHJlYWRBY2Nlc3MubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBXZWJHTE5vQ3Jhc2hPbk90aGVyVGhyZWFkQWNjZXNzLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk3QzFBRjc5MzFFOERDQkFCMDAyNjQ1QjkgLyogUHJlcGFyZUZv
ck1vdmVUb1dpbmRvdy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFByZXBhcmVGb3JNb3ZlVG9XaW5kb3cubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0zNzE3LDYgKzM3MTksNyBAQAogCQkJCTVDQTFERUM3MUY3MUY0MDcwMEU3MUJEMyAvKiBIVFRQ
SGVhZGVyRmllbGQuY3BwICovLAogCQkJCTQ2RkEyRkVEMjM4NDZDOUEwMDBDQ0IwQyAvKiBIVFRQ
SGVhZGVyTWFwLmNwcCAqLywKIAkJCQk2QjlBQkUxMTIwODY5NTJGMDBENzVERTYgLyogSFRUUFBh
cnNlcnMuY3BwICovLAorCQkJCTdCMTg0MTdCMjY3Mzg2MDIwMEVENEY4RCAvKiBJbWFnZUJ1ZmZl
clRlc3RzLmNwcCAqLywKIAkJCQk3QTkwOUE3MzFEODc3NDc1MDA3RTEwRjggLyogSW50UG9pbnRU
ZXN0cy5jcHAgKi8sCiAJCQkJN0E5MDlBNzQxRDg3NzQ3NTAwN0UxMEY4IC8qIEludFJlY3RUZXN0
cy5jcHAgKi8sCiAJCQkJN0E5MDlBNzUxRDg3NzQ3NTAwN0UxMEY4IC8qIEludFNpemVUZXN0cy5j
cHAgKi8sCkBAIC01MzE4LDYgKzUzMjEsNyBAQAogCQkJCTdDQ0U3RUI0MUE0MTFBN0UwMDQ0N0M0
QyAvKiBBdHRyaWJ1dGVkU3RyaW5nLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRjRGQTJBNEYyNEQx
RjA1NzAwNjE4QTQ2IC8qIEF0dHJpYnV0ZWRTdWJzdHJpbmdGb3JQcm9wb3NlZFJhbmdlLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMzc2MEM0RjEyMTEyNDlBRjAwMjMzQUNDIC8qIEF0dHJTdHlsZS5t
bSBpbiBTb3VyY2VzICovLAorCQkJCTdCMTg0MTdDMjY3Mzg2MDIwMEVENEY4RCAvKiBJbWFnZUJ1
ZmZlclRlc3RzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3MTM3MDRBMjY1MzIwRTUwMENBMkM5
QSAvKiBBdWRpb0J1ZmZlclNpemUubW0gaW4gU291cmNlcyAqLywKIAkJCQlDREVEMzQyRjI0OURE
RTBFMDAwMkFFN0EgLyogQXVkaW9Sb3V0aW5nQXJiaXRyYXRpb24ubW0gaW4gU291cmNlcyAqLywK
IAkJCQlDREM4RTQ4RDFCQzVDQjQ1MDA1OTRGRUMgLyogQXVkaW9TZXNzaW9uQ2F0ZWdvcnlJT1Mu
bW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViQ29yZS9JbWFnZUJ1ZmZlclRlc3RzLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViQ29yZS9JbWFnZUJ1ZmZlclRlc3RzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNDY0MGFhNmE0OTkxOTcx
NGU3ZTgzYzZhYjQ2ZGQ0NGRkYWQ3OWY1Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJDb3JlL0ltYWdlQnVmZmVyVGVzdHMuY3BwCkBAIC0wLDAgKzEsNTIg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNsdWRlIDxXZWJDb3Jl
L0ltYWdlQnVmZmVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUltYWdlQnVmZmVyLmg+
CisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwor
CisvLyBUZXN0cyB0aGF0IHRoZSBzcGVjaWFsaXplZCBpbWFnZSBidWZmZXIgY29uc3RydWN0b3Jz
IGNvbnN0cnVjdCB0aGUgZXhwZWN0ZWQgdHlwZSBvZiBvYmplY3QuCisvLyBUZXN0IHBhc3NlcyBp
ZiB0aGUgdGVzdCBjb21waWxlcywgdGhlcmUgd2FzIGEgYnVnIHdoZXJlIHRoZSBjb2RlIHdvdWxk
bid0IGNvbXBpbGUuCitURVNUKEltYWdlQnVmZmVyVGVzdHMsIEltYWdlQnVmZmVyU3ViVHlwZUNy
ZWF0ZUNyZWF0ZXNTdWJ0eXBlcykKK3sKKyAgICBhdXRvIGNvbG9yU3BhY2UgPSBEZXN0aW5hdGlv
bkNvbG9yU3BhY2U6OlNSR0IoKTsKKyAgICBhdXRvIHBpeGVsRm9ybWF0ID0gUGl4ZWxGb3JtYXQ6
OkJHUkE4OworICAgIEZsb2F0U2l6ZSBzaXplIHsgMS5mLCAxLmYgfTsKKyAgICBmbG9hdCBzY2Fs
ZSA9IDEuZjsKKyAgICBSZWZQdHI8VW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyPiB1bmFjY2VsZXJh
dGVkID0gVW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgc2NhbGUsIGNvbG9y
U3BhY2UsIHBpeGVsRm9ybWF0LCBudWxscHRyKTsKKyAgICBSZWZQdHI8QWNjZWxlcmF0ZWRJbWFn
ZUJ1ZmZlcj4gYWNjZWxlcmF0ZWQgPSBBY2NlbGVyYXRlZEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6
ZSwgc2NhbGUsIGNvbG9yU3BhY2UsIHBpeGVsRm9ybWF0LCBudWxscHRyKTsKKyAgICBSZWZQdHI8
RGlzcGxheUxpc3RBY2NlbGVyYXRlZEltYWdlQnVmZmVyPiBkaXNwbGF5TGlzdEFjY2VsZXJhdGVk
ID0gRGlzcGxheUxpc3RBY2NlbGVyYXRlZEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgc2NhbGUs
IGNvbG9yU3BhY2UsIHBpeGVsRm9ybWF0LCBudWxscHRyKTsKKyAgICBSZWZQdHI8RGlzcGxheUxp
c3RVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI+IGRpc3BsYXlMaXN0VW5hY2NlbGVyYXRlZCA9IERp
c3BsYXlMaXN0VW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgc2NhbGUsIGNv
bG9yU3BhY2UsIHBpeGVsRm9ybWF0LCBudWxscHRyKTsKKyAgICBFWFBFQ1RfTkUobnVsbHB0ciwg
YWNjZWxlcmF0ZWQpOworICAgIEVYUEVDVF9ORShudWxscHRyLCB1bmFjY2VsZXJhdGVkKTsKKyAg
ICBFWFBFQ1RfTkUobnVsbHB0ciwgZGlzcGxheUxpc3RBY2NlbGVyYXRlZCk7CisgICAgRVhQRUNU
X05FKG51bGxwdHIsIGRpc3BsYXlMaXN0VW5hY2NlbGVyYXRlZCk7Cit9CisKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431189</attachid>
            <date>2021-06-11 06:06:33 -0700</date>
            <delta_ts>2021-06-11 06:16:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226917-20210611160631.patch</filename>
            <type>text/plain</type>
            <size>18575</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NzAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWE1ZTk1YzlmNGFmODI5
NzdiNTg5YzBlY2E4MTJlM2ViZGRjZTIxMS4uNjI2OWU2MjdjMmEyYzJmOWU0N2E5Y2IyMTQ5YTJm
Y2ZiZGFmN2UyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIxLTA2LTExICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWNjZWxlcmF0ZWRJ
bWFnZUJ1ZmZlciBub3QgaW5zdGFudGlhdGVkIGJ1dCBvYmplY3RzIGFyZSBwdW5uZWQgdG8gdGhl
IHR5cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NjkxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENv
bmNyZXRlSW1hZ2VCdWZmZXI6OmNyZWF0ZSB3b3VsZCBjcmVhdGUgaW5zdGFuY2UKKyAgICAgICAg
b2YgQ29uY3JldGVJbWFnZUJ1ZmZlciwgbm90IEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIuCisKKyAg
ICAgICAgRml4IGJ5IGFkZGluZyBhIGNvcnJlY3QgY3JlYXRlIHN0YXRpYyBmdW5jdGlvbi4KKwor
ICAgICAgICBUZXN0ZWQgYnkgbmV3IHRlc3Q6CisgICAgICAgIFRlc3RXZWJLaXRBUEkuSW1hZ2VC
dWZmZXJUZXN0cy5JbWFnZUJ1ZmZlclN1YlR5cGVDcmVhdGVDcmVhdGVzU3VidHlwZXMKKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1BsYXRmb3JtSW1hZ2VCdWZmZXIuaDoKKyAgICAgICAg
KFdlYkNvcmU6OklPU3VyZmFjZUltYWdlQnVmZmVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SU9TdXJmYWNlSW1hZ2VCdWZmZXI6OklPU3VyZmFjZUltYWdlQnVmZmVyKToKKyAgICAgICAg
QWRkIHRoZSBjb3JyZWN0IGZhY3RvcnkgZnVuY3Rpb24gYW5kIHB1YmxpYyBjb25zdHJ1Y3Rvci4K
KyAgICAgICAgTW92ZXMgdGhlIGhlbHBlciBJbWFnZUJ1ZmZlckJhY2tlbmQgdHlwZSBhbGlhc2Vz
IHRvIERldGFpbAorICAgICAgICBuYW1lc3BhY2UgaW4gb3JkZXIgdG8gY29tbXVuaWNhdGUgdGhh
dCB0aGV5J3JlIG5vdCBpbnRlbmRlZAorICAgICAgICBBUEkuIFRoaXMgaXMgc2lnbmlmaWNhbnQg
YXMgdGhlIGNoYW5nZSBvbWl0cyB0aGUgQWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQKKyAg
ICAgICAgYWxpYXMsIGFzIGl0J3Mgbm90IGhlbHBpbmcgaW4gSU9TdXJmYWNlIGNhc2UuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZC5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5k
ZXJlckNvcmVJbWFnZS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdFJlbmRlcmVy
Q29yZUltYWdlOjppbWFnZUZvclNvdXJjZUdyYXBoaWMpOgorICAgICAgICAoV2ViQ29yZTo6Rmls
dGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OnJlbmRlclRvSW1hZ2VCdWZmZXIpOgorICAgICAg
ICBDaGFuZ2UgdGhlIGltYWdlIGNyZWF0aW9uIHNpdGUgdG8gY3JlYXRlIHRoZSBleHBsaWNpdCBJ
T1N1cmZhY2VJbWFnZUJ1ZmZlcgorICAgICAgICBzaW5jZSB0aGF0J3Mgd2hhdCBpdCdzIHRyeWlu
ZyB0byBjcmVhdGUuCisgICAgICAgIENoYW5nZSB0aGUgdHlwZS1wdW5uaW5nIGNhbGwgc2l0ZXMg
dG8gdXNlIGV4cGxpY2l0CisgICAgICAgIElPU3VyZmFjZUltYWdlQnVmZmVyIG5hbWUsIGFzIHRo
YXQncyB3aGF0IHRoZSBjYWxsIHNpdGUKKyAgICAgICAgaXMgaW50ZW5kaW5nIHRvIHVzZS4KKwor
CiAyMDIxLTA2LTEwICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgV2ViR0wgY29udGV4dCBpbWFnZSBidWZmZXIgYWNjdW11bGF0ZXMgdGhlIE5hdGl2ZUlt
YWdlIGNvbnRlbnRzIHdoZW4gZHJhd24gdG8gUmVtb3RlSW1hZ2VCdWZmZXJQcm94eQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1JbWFnZUJ1ZmZl
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1JbWFnZUJ1ZmZl
ci5oCmluZGV4IDUyZGQ4M2NjOTNkNTU1M2IzNzllNTg3ZDQzODVkNGY3ODA1OTQ0YmIuLmQxYjZm
YWYxNmYyMDQwNDVlM2E1M2RjZTdiZjhkYTM2ZWRjZTRkNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BsYXRmb3JtSW1hZ2VCdWZmZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QbGF0Zm9ybUltYWdlQnVmZmVyLmgKQEAgLTQy
LDYgKzQyLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCituYW1lc3BhY2UgRGV0YWlsIHsK
KwogI2lmIFVTRShDRykKIHVzaW5nIFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQgPSBJ
bWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZDsKICNlbGlmIFVTRShESVJFQ1QyRCkKQEAgLTUwLDMw
ICs1Miw0MCBAQCB1c2luZyBVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5kID0gSW1hZ2VC
dWZmZXJEaXJlY3QyREJhY2tlbmQ7CiB1c2luZyBVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNr
ZW5kID0gSW1hZ2VCdWZmZXJDYWlyb0ltYWdlU3VyZmFjZUJhY2tlbmQ7CiAjZW5kaWYKIAotI2lm
IEhBVkUoSU9TVVJGQUNFKQotdXNpbmcgQWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQgPSBJ
bWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQ7Ci0jZWxzZQotdXNpbmcgQWNjZWxlcmF0ZWRJbWFn
ZUJ1ZmZlckJhY2tlbmQgPSBVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5kOwotI2VuZGlm
Cit9CiAKLXVzaW5nIFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlciA9IENvbmNyZXRlSW1hZ2VCdWZm
ZXI8VW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyQmFja2VuZD47Cit1c2luZyBVbmFjY2VsZXJhdGVk
SW1hZ2VCdWZmZXIgPSBDb25jcmV0ZUltYWdlQnVmZmVyPERldGFpbDo6VW5hY2NlbGVyYXRlZElt
YWdlQnVmZmVyQmFja2VuZD47Cit1c2luZyBEaXNwbGF5TGlzdFVuYWNjZWxlcmF0ZWRJbWFnZUJ1
ZmZlciA9IERpc3BsYXlMaXN0OjpJbWFnZUJ1ZmZlcjxEZXRhaWw6OlVuYWNjZWxlcmF0ZWRJbWFn
ZUJ1ZmZlckJhY2tlbmQ+OwogCiAjaWYgSEFWRShJT1NVUkZBQ0UpCi1jbGFzcyBBY2NlbGVyYXRl
ZEltYWdlQnVmZmVyIDogcHVibGljIENvbmNyZXRlSW1hZ2VCdWZmZXI8SW1hZ2VCdWZmZXJJT1N1
cmZhY2VCYWNrZW5kPiB7Ci0gICAgdXNpbmcgQmFzZSA9IENvbmNyZXRlSW1hZ2VCdWZmZXI8QWNj
ZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQ+OwotICAgIHVzaW5nIEJhc2U6OkJhc2U7CitjbGFz
cyBJT1N1cmZhY2VJbWFnZUJ1ZmZlciA6IHB1YmxpYyBDb25jcmV0ZUltYWdlQnVmZmVyPEltYWdl
QnVmZmVySU9TdXJmYWNlQmFja2VuZD4geworICAgIHVzaW5nIEJhc2UgPSBDb25jcmV0ZUltYWdl
QnVmZmVyPEltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZD47CiBwdWJsaWM6CisgICAgc3RhdGlj
IGF1dG8gY3JlYXRlKGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgc2l6ZSwgZmxvYXQgcmVzb2x1
dGlvblNjYWxlLCBjb25zdCBXZWJDb3JlOjpEZXN0aW5hdGlvbkNvbG9yU3BhY2UmIGNvbG9yU3Bh
Y2UsIFdlYkNvcmU6OlBpeGVsRm9ybWF0IHBpeGVsRm9ybWF0LCBjb25zdCBIb3N0V2luZG93KiBo
b3N0V2luZG93ID0gbnVsbHB0cikKKyAgICB7CisgICAgICAgIHJldHVybiBCYXNlOjpjcmVhdGU8
SU9TdXJmYWNlSW1hZ2VCdWZmZXI+KHNpemUsIHJlc29sdXRpb25TY2FsZSwgY29sb3JTcGFjZSwg
cGl4ZWxGb3JtYXQsIGhvc3RXaW5kb3cpOworICAgIH0KKyAgICBzdGF0aWMgYXV0byBjcmVhdGUo
Y29uc3QgRmxvYXRTaXplJiBzaXplLCBjb25zdCBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQpCisg
ICAgeworICAgICAgICByZXR1cm4gQmFzZTo6Y3JlYXRlPElPU3VyZmFjZUltYWdlQnVmZmVyPihz
aXplLCBjb250ZXh0KTsKKyAgICB9CisgICAgSU9TdXJmYWNlSW1hZ2VCdWZmZXIoY29uc3QgV2Vi
Q29yZTo6SW1hZ2VCdWZmZXJCYWNrZW5kOjpQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBzdGQ6OnVu
aXF1ZV9wdHI8SW1hZ2VCdWZmZXJJT1N1cmZhY2VCYWNrZW5kPiYmIGJhY2tlbmQpCisgICAgICAg
IDogQmFzZShwYXJhbWV0ZXJzLCBXVEZNb3ZlKGJhY2tlbmQpKQorICAgIHsKKyAgICB9CiAgICAg
SU9TdXJmYWNlJiBzdXJmYWNlKCkgeyByZXR1cm4gKm1fYmFja2VuZC0+c3VyZmFjZSgpOyB9CiB9
OwordXNpbmcgQWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlciA9IElPU3VyZmFjZUltYWdlQnVmZmVyOwor
dXNpbmcgRGlzcGxheUxpc3RBY2NlbGVyYXRlZEltYWdlQnVmZmVyID0gRGlzcGxheUxpc3Q6Oklt
YWdlQnVmZmVyPEltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZD47CiAjZWxzZQotdXNpbmcgQWNj
ZWxlcmF0ZWRJbWFnZUJ1ZmZlciA9IENvbmNyZXRlSW1hZ2VCdWZmZXI8QWNjZWxlcmF0ZWRJbWFn
ZUJ1ZmZlckJhY2tlbmQ+OwordXNpbmcgQWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlciA9IENvbmNyZXRl
SW1hZ2VCdWZmZXI8RGV0YWlsOjpVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5kPjsKK3Vz
aW5nIERpc3BsYXlMaXN0QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlciA9IERpc3BsYXlMaXN0OjpJbWFn
ZUJ1ZmZlcjxEZXRhaWw6OlVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQ+OwogI2VuZGlm
CiAKLXVzaW5nIERpc3BsYXlMaXN0VW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyID0gRGlzcGxheUxp
c3Q6OkltYWdlQnVmZmVyPFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQ+OwotdXNpbmcg
RGlzcGxheUxpc3RBY2NlbGVyYXRlZEltYWdlQnVmZmVyID0gRGlzcGxheUxpc3Q6OkltYWdlQnVm
ZmVyPEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5kPjsKLQogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCi1TUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OkFjY2VsZXJhdGVk
SW1hZ2VCdWZmZXIpCisjaWYgSEFWRShJT1NVUkZBQ0UpCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRT
X0JFR0lOKFdlYkNvcmU6OklPU3VyZmFjZUltYWdlQnVmZmVyKQogICAgIHN0YXRpYyBib29sIGlz
VHlwZShjb25zdCBXZWJDb3JlOjpJbWFnZUJ1ZmZlciYgYnVmZmVyKSB7IHJldHVybiBidWZmZXIu
cmVuZGVyaW5nTW9kZSgpID09IFdlYkNvcmU6OlJlbmRlcmluZ01vZGU6OkFjY2VsZXJhdGVkOyB9
CiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5k
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQml0
bWFwQmFja2VuZC5oCmluZGV4IGM4OTBlOWZlOGYyZTg2NGY1MGI2ODg5YzllYjRmMGY1ODcyYmI5
MTguLmUxYzNlMmE0NzZmMjMyYjM5NzQzOGE0ZGFmYTQxZGE0ODNhMzI4MmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0dCaXRtYXBC
YWNrZW5kLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VC
dWZmZXJDR0JpdG1hcEJhY2tlbmQuaApAQCAtMzYsMTMgKzM2LDEzIEBAIGNsYXNzIEltYWdlQnVm
ZmVyQ0dCaXRtYXBCYWNrZW5kIDogcHVibGljIEltYWdlQnVmZmVyQ0dCYWNrZW5kIHsKICAgICBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEKEltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kKTsKICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZCk7CiBwdWJsaWM6
Ci0gICAgc3RhdGljIEludFNpemUgY2FsY3VsYXRlU2FmZUJhY2tlbmRTaXplKGNvbnN0IFBhcmFt
ZXRlcnMmKTsKLSAgICBzdGF0aWMgc2l6ZV90IGNhbGN1bGF0ZU1lbW9yeUNvc3QoY29uc3QgUGFy
YW1ldGVycyYpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBJbnRTaXplIGNhbGN1bGF0ZVNh
ZmVCYWNrZW5kU2l6ZShjb25zdCBQYXJhbWV0ZXJzJik7CisgICAgV0VCQ09SRV9FWFBPUlQgc3Rh
dGljIHNpemVfdCBjYWxjdWxhdGVNZW1vcnlDb3N0KGNvbnN0IFBhcmFtZXRlcnMmKTsKIAotICAg
IHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQ+IGNyZWF0
ZShjb25zdCBQYXJhbWV0ZXJzJiwgY29uc3QgSG9zdFdpbmRvdyopOworICAgIFdFQkNPUkVfRVhQ
T1JUIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQ+IGNy
ZWF0ZShjb25zdCBQYXJhbWV0ZXJzJiwgY29uc3QgSG9zdFdpbmRvdyopOwogCiAgICAgLy8gRklY
TUU6IFJlbmFtZSB0byBjcmVhdGVVc2luZ0NvbG9yU3BhY2VPZkdyYXBoaWNzQ29udGV4dCgpIChv
ciBzb21ldGhpbmcgbGlrZSB0aGF0KS4KLSAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEltYWdl
QnVmZmVyQ0dCaXRtYXBCYWNrZW5kPiBjcmVhdGUoY29uc3QgUGFyYW1ldGVycyYsIGNvbnN0IEdy
YXBoaWNzQ29udGV4dCYpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBzdGQ6OnVuaXF1ZV9w
dHI8SW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQ+IGNyZWF0ZShjb25zdCBQYXJhbWV0ZXJzJiwg
Y29uc3QgR3JhcGhpY3NDb250ZXh0Jik7CiAKICAgICBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQo
KSBjb25zdCBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29yZWltYWdlL0ZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZWltYWdlL0ZpbHRlckVmZmVjdFJlbmRl
cmVyQ29yZUltYWdlLm1tCmluZGV4IDQ3ZjNmODAxODZiYTliNWQ4YzYxYjE2MGI0NmI1N2MwZDg1
ZmY3NGMuLjU1YTVmYTg4MTE0MGYzMzVlM2ZmZDcwNmM0MTljMjA1NzMyZDNkNjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZl
Y3RSZW5kZXJlckNvcmVJbWFnZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UubW0KQEAgLTE3NSw4
ICsxNzUsOCBAQCBSZXRhaW5QdHI8Q0lJbWFnZT4gRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1h
Z2U6OmltYWdlRm9yU291cmNlR3JhcGhpYyhTb3VyY2VHcgogICAgIGlmICghc291cmNlSW1hZ2Up
CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIAotICAgIGlmIChpczxBY2NlbGVyYXRlZElt
YWdlQnVmZmVyPigqc291cmNlSW1hZ2UpKQotICAgICAgICByZXR1cm4gW0NJSW1hZ2UgaW1hZ2VX
aXRoSU9TdXJmYWNlOmRvd25jYXN0PEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI+KCpzb3VyY2VJbWFn
ZSkuc3VyZmFjZSgpLnN1cmZhY2UoKV07CisgICAgaWYgKGlzPElPU3VyZmFjZUltYWdlQnVmZmVy
Pigqc291cmNlSW1hZ2UpKQorICAgICAgICByZXR1cm4gW0NJSW1hZ2UgaW1hZ2VXaXRoSU9TdXJm
YWNlOmRvd25jYXN0PElPU3VyZmFjZUltYWdlQnVmZmVyPigqc291cmNlSW1hZ2UpLnN1cmZhY2Uo
KS5zdXJmYWNlKCldOwogICAgIAogICAgIHJldHVybiBbQ0lJbWFnZSBpbWFnZVdpdGhDR0ltYWdl
OnNvdXJjZUltYWdlLT5jb3B5TmF0aXZlSW1hZ2UoKS0+cGxhdGZvcm1JbWFnZSgpLmdldCgpXTsK
IH0KQEAgLTI3NSwyMSArMjc1LDE3IEBAIEltYWdlQnVmZmVyKiBGaWx0ZXJFZmZlY3RSZW5kZXJl
ckNvcmVJbWFnZTo6b3V0cHV0KCkgY29uc3QKICAgICAKIHZvaWQgRmlsdGVyRWZmZWN0UmVuZGVy
ZXJDb3JlSW1hZ2U6OnJlbmRlclRvSW1hZ2VCdWZmZXIoRmlsdGVyRWZmZWN0JiBsYXN0RWZmZWN0
KQogeworICAgIG1fb3V0cHV0SW1hZ2VCdWZmZXIgPSBudWxscHRyOwogICAgIEZsb2F0U2l6ZSBj
bGFtcGVkU2l6ZSA9IEltYWdlQnVmZmVyOjpjbGFtcGVkU2l6ZShsYXN0RWZmZWN0LmFic29sdXRl
UGFpbnRSZWN0KCkuc2l6ZSgpKTsKLSAgICBtX291dHB1dEltYWdlQnVmZmVyID0gSW1hZ2VCdWZm
ZXI6OmNyZWF0ZShjbGFtcGVkU2l6ZSwgUmVuZGVyaW5nTW9kZTo6QWNjZWxlcmF0ZWQsIGxhc3RF
ZmZlY3QuZmlsdGVyKCkuZmlsdGVyU2NhbGUoKSwgbGFzdEVmZmVjdC5yZXN1bHRDb2xvclNwYWNl
KCksIFBpeGVsRm9ybWF0OjpCR1JBOCk7CisgICAgYXV0byBvdXRwdXRJbWFnZUJ1ZmZlciA9IElP
U3VyZmFjZUltYWdlQnVmZmVyOjpjcmVhdGUoY2xhbXBlZFNpemUsIGxhc3RFZmZlY3QuZmlsdGVy
KCkuZmlsdGVyU2NhbGUoKSwgbGFzdEVmZmVjdC5yZXN1bHRDb2xvclNwYWNlKCksIFBpeGVsRm9y
bWF0OjpCR1JBOCk7CiAgICAgCi0gICAgaWYgKCFtX291dHB1dEltYWdlQnVmZmVyKSB7CisgICAg
aWYgKCFvdXRwdXRJbWFnZUJ1ZmZlcikgewogICAgICAgICBjbGVhclJlc3VsdCgpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQotICAgIAotICAgIC8vIEZJWE1FOiBJbiB0aGUgc2l0dWF0aW9uIHdo
ZXJlIHRoZSBJbWFnZSBpcyB0b28gbGFyZ2UsIGFuIFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlciB3
aWxsIGJlIGNyZWF0ZWQKLSAgICAvLyBpbiB0aGlzIGNhc2UsIHNwZWNpYWwgaGFuZGxpbmcgaXMg
bmVlZGVkIHRvIHJlbmRlciB0byBJbWFnZUJ1ZmZlckNHQmFja2VuZCBpbnN0ZWFkCi0gICAgaWYg
KCFpczxBY2NlbGVyYXRlZEltYWdlQnVmZmVyPigqbV9vdXRwdXRJbWFnZUJ1ZmZlcikpCi0gICAg
ICAgIHJldHVybjsKLSAgICAKLSAgICBhdXRvJiBzdXJmYWNlID0gZG93bmNhc3Q8QWNjZWxlcmF0
ZWRJbWFnZUJ1ZmZlcj4oKm1fb3V0cHV0SW1hZ2VCdWZmZXIpLnN1cmZhY2UoKTsKLSAgICBbc2hh
cmVkQ0lDb250ZXh0KCkuZ2V0KCkgcmVuZGVyOiBtX291dHB1dEltYWdlLmdldCgpIHRvSU9TdXJm
YWNlOiBzdXJmYWNlLnN1cmZhY2UoKSBib3VuZHM6ZGVzdFJlY3QobGFzdEVmZmVjdCkgY29sb3JT
cGFjZTpsYXN0RWZmZWN0LnJlc3VsdENvbG9yU3BhY2UoKS5wbGF0Zm9ybUNvbG9yU3BhY2UoKV07
CisKKyAgICBbc2hhcmVkQ0lDb250ZXh0KCkuZ2V0KCkgcmVuZGVyOiBtX291dHB1dEltYWdlLmdl
dCgpIHRvSU9TdXJmYWNlOiBvdXRwdXRJbWFnZUJ1ZmZlci0+c3VyZmFjZSgpLnN1cmZhY2UoKSBi
b3VuZHM6ZGVzdFJlY3QobGFzdEVmZmVjdCkgY29sb3JTcGFjZTpsYXN0RWZmZWN0LnJlc3VsdENv
bG9yU3BhY2UoKS5wbGF0Zm9ybUNvbG9yU3BhY2UoKV07CisgICAgbV9vdXRwdXRJbWFnZUJ1ZmZl
ciA9IFdURk1vdmUob3V0cHV0SW1hZ2VCdWZmZXIpOwogfQogICAgIAogRmxvYXRSZWN0IEZpbHRl
ckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlOjpkZXN0UmVjdChjb25zdCBGaWx0ZXJFZmZlY3QmIGxh
c3RFZmZlY3QpIGNvbnN0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFu
Z2VMb2cKaW5kZXggNTQ3ODkxNGI4YmZjYzU3OTVlNDBhMjE3MjYzYjdiMTEwNTU5NDc0Yi4uZDM3
ZjVlY2QwYmJmNmRkYzRiN2ViYTY3ZmQ5OWIxNDc0MDExODJkOCAxMDA2NDQKLS0tIGEvVG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTA2
LTExICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWNj
ZWxlcmF0ZWRJbWFnZUJ1ZmZlciBub3QgaW5zdGFudGlhdGVkIGJ1dCBvYmplY3RzIGFyZSBwdW5u
ZWQgdG8gdGhlIHR5cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNjkxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAg
ICAgICBBZGQgbmV3IHRlc3QKKyAgICAgICAgVGVzdFdlYktpdEFQSS5JbWFnZUJ1ZmZlclRlc3Rz
LkltYWdlQnVmZmVyU3ViVHlwZUNyZWF0ZUNyZWF0ZXNTdWJ0eXBlcworICAgICAgICB0byB0ZXN0
IHRoYXQgdGhlIGNvZGUgY29tcGlsZXMuCisgICAgICAgIEJlZm9yZSwgaXQgd291bGQgZmFpbCB3
aXRoOgorICAgICAgICAgIGBlcnJvcjogY2Fubm90IGluaXRpYWxpemUgYSBtZW1iZXIgc3Vib2Jq
ZWN0IG9mIHR5cGUgJ3R5cGVuYW1lIFB0clRyYWl0czo6U3RvcmFnZVR5cGUnIChha2EgJ1dlYkNv
cmU6OkFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIgKicpIHdpdGggYW4gCisgICAgICAgICAgIHJ2YWx1
ZSBvZiB0eXBlICdXZWJDb3JlOjpDb25jcmV0ZUltYWdlQnVmZmVyPFdlYkNvcmU6OkltYWdlQnVm
ZmVySU9TdXJmYWNlQmFja2VuZD4gKidgCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYkNvcmUvSW1hZ2VCdWZmZXJUZXN0cy5jcHA6IEFkZGVkLgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMjEtMDYtMTAgIFl1c3VrZSBTdXp1a2kgIDx5c3V6
dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBSZW1vdmUgdXNlRGF0YUlDSW5PcHRpbWl6
aW5nSklUIG9wdGlvbgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0
QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkMDcyZWMzMzA0YjY4ZTlh
ZDVjZTllNzVjNmRkNDhkYWU1ZTRlZjRhLi4yNWM2MTIwNTJjZDg4ZWNmNGVkZGJkZjNkYWJmZmE5
MjgwMzJkMDhhIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEku
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTg5LDYgKzU4OSw3IEBACiAJ
CTdBRTlFNTA5MUFFNUFFOEIwMENGODc0QiAvKiB0ZXN0LnBkZiBpbiBDb3B5IFJlc291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUU5RTUwODFBRTVBRThCMDBDRjg3
NEIgLyogdGVzdC5wZGYgKi87IH07CiAJCTdBRUFENDdGMUUyMDExNkMwMDQxNkVGRSAvKiBDcm9z
c1BhcnRpdGlvbkZpbGVTY2hlbWVBY2Nlc3MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3QUVBRDQ3QzFFMjAxMTM4MDA0MTZFRkUgLyogQ3Jvc3NQYXJ0
aXRpb25GaWxlU2NoZW1lQWNjZXNzLm1tICovOyB9OwogCQk3QUVBRDQ4MTFFMjAxMjI3MDA0MTZF
RkUgLyogQ3Jvc3NQYXJ0aXRpb25GaWxlU2NoZW1lQWNjZXNzLmh0bWwgaW4gQ29weSBSZXNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FFQUQ0N0QxRTIwMTE0RTAw
NDE2RUZFIC8qIENyb3NzUGFydGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5odG1sICovOyB9OworCQk3
QjE4NDE3QzI2NzM4NjAyMDBFRDRGOEQgLyogSW1hZ2VCdWZmZXJUZXN0cy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QjE4NDE3QjI2NzM4NjAyMDBF
RDRGOEQgLyogSW1hZ2VCdWZmZXJUZXN0cy5jcHAgKi87IH07CiAJCTdCMjczOUYzMjYzMkFCNjQw
MDQwRjE4MiAvKiBUaHJlYWRBc3NlcnRpb25zVGVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QjI3MzlGMjI2MzJBQjY0MDA0MEYxODIgLyogVGhy
ZWFkQXNzZXJ0aW9uc1Rlc3QuY3BwICovOyB9OwogCQk3QjdEMDk2QTI1MTlGOEY5MDAxN0EwNzgg
LyogV2ViR0xOb0NyYXNoT25PdGhlclRocmVhZEFjY2Vzcy5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCN0QwOTY5MjUxOUY4RjkwMDE3QTA3OCAvKiBX
ZWJHTE5vQ3Jhc2hPbk90aGVyVGhyZWFkQWNjZXNzLm1tICovOyB9OwogCQk3QzFBRjc5NTFFOERD
QkFCMDAyNjQ1QjkgLyogUHJlcGFyZUZvck1vdmVUb1dpbmRvdy5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDMUFGNzkzMUU4RENCQUIwMDI2NDVCOSAv
KiBQcmVwYXJlRm9yTW92ZVRvV2luZG93Lm1tICovOyB9OwpAQCAtMjQ1Niw2ICsyNDU3LDcgQEAK
IAkJN0FFOUU1MDgxQUU1QUU4QjAwQ0Y4NzRCIC8qIHRlc3QucGRmICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UucGRmOyBwYXRoID0gdGVzdC5w
ZGY7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBRUFENDdDMUUyMDExMzgwMDQxNkVG
RSAvKiBDcm9zc1BhcnRpdGlvbkZpbGVTY2hlbWVBY2Nlc3MubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDcm9zc1BhcnRpdGlvbkZpbGVTY2hlbWVBY2Nlc3MubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBRUFENDdEMUUyMDExNEUwMDQxNkVGRSAv
KiBDcm9zc1BhcnRpdGlvbkZpbGVTY2hlbWVBY2Nlc3MuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRt
bDsgbmFtZSA9IENyb3NzUGFydGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5odG1sOyBwYXRoID0gVGVz
dHMvbWFjL0Nyb3NzUGFydGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5odG1sOyBzb3VyY2VUcmVlID0g
U09VUkNFX1JPT1Q7IH07CisJCTdCMTg0MTdCMjY3Mzg2MDIwMEVENEY4RCAvKiBJbWFnZUJ1ZmZl
clRlc3RzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEltYWdlQnVm
ZmVyVGVzdHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QjI3MzlGMjI2MzJB
QjY0MDA0MEYxODIgLyogVGhyZWFkQXNzZXJ0aW9uc1Rlc3QuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gVGhyZWFkQXNzZXJ0aW9uc1Rlc3QuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk3QjdEMDk2OTI1MTlGOEY5MDAxN0EwNzggLyogV2ViR0xOb0Ny
YXNoT25PdGhlclRocmVhZEFjY2Vzcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkdMTm9D
cmFzaE9uT3RoZXJUaHJlYWRBY2Nlc3MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTdDMUFGNzkzMUU4RENCQUIwMDI2NDVCOSAvKiBQcmVwYXJlRm9yTW92ZVRvV2luZG93Lm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUHJlcGFyZUZvck1vdmVUb1dp
bmRvdy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM3MTcsNiArMzcxOSw3IEBA
CiAJCQkJNUNBMURFQzcxRjcxRjQwNzAwRTcxQkQzIC8qIEhUVFBIZWFkZXJGaWVsZC5jcHAgKi8s
CiAJCQkJNDZGQTJGRUQyMzg0NkM5QTAwMENDQjBDIC8qIEhUVFBIZWFkZXJNYXAuY3BwICovLAog
CQkJCTZCOUFCRTExMjA4Njk1MkYwMEQ3NURFNiAvKiBIVFRQUGFyc2Vycy5jcHAgKi8sCisJCQkJ
N0IxODQxN0IyNjczODYwMjAwRUQ0RjhEIC8qIEltYWdlQnVmZmVyVGVzdHMuY3BwICovLAogCQkJ
CTdBOTA5QTczMUQ4Nzc0NzUwMDdFMTBGOCAvKiBJbnRQb2ludFRlc3RzLmNwcCAqLywKIAkJCQk3
QTkwOUE3NDFEODc3NDc1MDA3RTEwRjggLyogSW50UmVjdFRlc3RzLmNwcCAqLywKIAkJCQk3QTkw
OUE3NTFEODc3NDc1MDA3RTEwRjggLyogSW50U2l6ZVRlc3RzLmNwcCAqLywKQEAgLTUxOTUsNyAr
NTE5OCw2IEBACiAJCQkJQUQ3QzQzNEQxREQyQTU0RTAwMjY4ODhCIC8qIEV4cGVjdGVkLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUEzMTA4MjcyMjFGMjk2RkYwMEMyOEI5NyAvKiBGaWxlU3lzdGVt
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUzMjEwNTE5MjYxOTc5RjMwMDE1N0M2NyAvKiBGaXhl
ZFZlY3Rvci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlCQ0EzMEM3RTI2NkQyRjQzMDAwRDIzMEMg
LyogU3Bhbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzEwQ0QzODFFRjcwOEZCMDA1MEZGRTAg
LyogRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNkJGRDI5NEMxRDVFNkMxRDAwOEVD
OTY4IC8qIEhhc2hDb3VudGVkU2V0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzM0Q2MzFEMUZD
Qjc2MjAwMDMyRUNENiAvKiBIYXNoZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC01MjQ2LDYgKzUy
NDgsNyBAQAogCQkJCUUzNzNENzkxMUYyQ0YzNTIwMEM2RkFBRiAvKiBTaWduYWxzLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTMzQzJDOUMxMjY1MUY1QjkwMEU0MDdGNiAvKiBTbWFsbFNldC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk5M0ZDREIzNDI2MzYzMTU2MDA0NkREN0QgLyogU29ydGVkQXJy
YXlNYXAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQkNBMzBDN0UyNjZEMkY0MzAwMEQyMzBDIC8q
IFNwYW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkUyQkNEQzcyNDcwRkRBMzAwREVDMzNCIC8q
IFN0ZExpYkV4dHJhcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzgzREYzMjFEMEE1OTBDMDBG
RUJDRjMgLyogU3RyaW5nQnVpbGRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0Q0QzI2RTFF
MkMwRTZFMDA5Mjk0NzAgLyogU3RyaW5nQ29uY2F0ZW5hdGUuY3BwIGluIFNvdXJjZXMgKi8sCkBA
IC01NTA4LDYgKzU1MTEsNyBAQAogCQkJCTUxMDQ3Nzc4MUQyOTkyM0IwMDk3NDdFQiAvKiBJREJE
ZWxldGVSZWNvdmVyeS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxMTBGQ0ZBMUUwMUNEQjgwMDZG
OEQwQiAvKiBJREJJbmRleFVwZ3JhZGVUb1YyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNCQ0JD
ODMyM0NDNkYyQTAwQ0EyMjIxIC8qIElEQk9iamVjdFN0b3JlSW5mb1VwZ3JhZGVUb1YyLm1tIGlu
IFNvdXJjZXMgKi8sCisJCQkJN0IxODQxN0MyNjczODYwMjAwRUQ0RjhEIC8qIEltYWdlQnVmZmVy
VGVzdHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjQ0QTlBRjcyNjQ5QkJERDAwRTdDQjE2IC8q
IEltbWVkaWF0ZUFjdGlvblRlc3RzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlBRUVGNkQyNDA3
MzU5RDAwQzg3RTRDIC8qIEluQXBwQnJvd3NlclByaXZhY3kubW0gaW4gU291cmNlcyAqLywKIAkJ
CQk1MUE1ODc4NjFEMjczQUE5MDA0QkE5QUYgLyogSW5kZXhlZERCRGF0YWJhc2VQcm9jZXNzS2ls
bC5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJDb3JlL0ltYWdlQnVmZmVyVGVzdHMuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJDb3JlL0ltYWdlQnVmZmVyVGVzdHMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA0NjQwYWE2YTQ5OTE5
NzE0ZTdlODNjNmFiNDZkZDQ0ZGRhZDc5ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvSW1hZ2VCdWZmZXJUZXN0cy5jcHAKQEAgLTAsMCArMSw1
MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgPFdlYkNv
cmUvSW1hZ2VCdWZmZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtSW1hZ2VCdWZmZXIu
aD4KKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CisKKy8vIFRlc3RzIHRoYXQgdGhlIHNwZWNpYWxpemVkIGltYWdlIGJ1ZmZlciBjb25zdHJ1Y3Rv
cnMgY29uc3RydWN0IHRoZSBleHBlY3RlZCB0eXBlIG9mIG9iamVjdC4KKy8vIFRlc3QgcGFzc2Vz
IGlmIHRoZSB0ZXN0IGNvbXBpbGVzLCB0aGVyZSB3YXMgYSBidWcgd2hlcmUgdGhlIGNvZGUgd291
bGRuJ3QgY29tcGlsZS4KK1RFU1QoSW1hZ2VCdWZmZXJUZXN0cywgSW1hZ2VCdWZmZXJTdWJUeXBl
Q3JlYXRlQ3JlYXRlc1N1YnR5cGVzKQoreworICAgIGF1dG8gY29sb3JTcGFjZSA9IERlc3RpbmF0
aW9uQ29sb3JTcGFjZTo6U1JHQigpOworICAgIGF1dG8gcGl4ZWxGb3JtYXQgPSBQaXhlbEZvcm1h
dDo6QkdSQTg7CisgICAgRmxvYXRTaXplIHNpemUgeyAxLmYsIDEuZiB9OworICAgIGZsb2F0IHNj
YWxlID0gMS5mOworICAgIFJlZlB0cjxVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI+IHVuYWNjZWxl
cmF0ZWQgPSBVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI6OmNyZWF0ZShzaXplLCBzY2FsZSwgY29s
b3JTcGFjZSwgcGl4ZWxGb3JtYXQsIG51bGxwdHIpOworICAgIFJlZlB0cjxBY2NlbGVyYXRlZElt
YWdlQnVmZmVyPiBhY2NlbGVyYXRlZCA9IEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI6OmNyZWF0ZShz
aXplLCBzY2FsZSwgY29sb3JTcGFjZSwgcGl4ZWxGb3JtYXQsIG51bGxwdHIpOworICAgIFJlZlB0
cjxEaXNwbGF5TGlzdEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI+IGRpc3BsYXlMaXN0QWNjZWxlcmF0
ZWQgPSBEaXNwbGF5TGlzdEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI6OmNyZWF0ZShzaXplLCBzY2Fs
ZSwgY29sb3JTcGFjZSwgcGl4ZWxGb3JtYXQsIG51bGxwdHIpOworICAgIFJlZlB0cjxEaXNwbGF5
TGlzdFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcj4gZGlzcGxheUxpc3RVbmFjY2VsZXJhdGVkID0g
RGlzcGxheUxpc3RVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI6OmNyZWF0ZShzaXplLCBzY2FsZSwg
Y29sb3JTcGFjZSwgcGl4ZWxGb3JtYXQsIG51bGxwdHIpOworICAgIEVYUEVDVF9ORShudWxscHRy
LCBhY2NlbGVyYXRlZCk7CisgICAgRVhQRUNUX05FKG51bGxwdHIsIHVuYWNjZWxlcmF0ZWQpOwor
ICAgIEVYUEVDVF9ORShudWxscHRyLCBkaXNwbGF5TGlzdEFjY2VsZXJhdGVkKTsKKyAgICBFWFBF
Q1RfTkUobnVsbHB0ciwgZGlzcGxheUxpc3RVbmFjY2VsZXJhdGVkKTsKK30KKworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431190</attachid>
            <date>2021-06-11 06:16:47 -0700</date>
            <delta_ts>2021-06-11 06:18:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226917-20210611161645.patch</filename>
            <type>text/plain</type>
            <size>18364</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NzAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWE1ZTk1YzlmNGFmODI5
NzdiNTg5YzBlY2E4MTJlM2ViZGRjZTIxMS4uMWY3ZDgzM2JjNDZmYmRjNzBmOWM1YjVlNWY2OTU0
MjVhOWM2Y2YwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTA2LTExICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWNjZWxlcmF0ZWRJ
bWFnZUJ1ZmZlciBub3QgaW5zdGFudGlhdGVkIGJ1dCBvYmplY3RzIGFyZSBwdW5uZWQgdG8gdGhl
IHR5cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NjkxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENv
bmNyZXRlSW1hZ2VCdWZmZXI6OmNyZWF0ZSB3b3VsZCBjcmVhdGUgaW5zdGFuY2UKKyAgICAgICAg
b2YgQ29uY3JldGVJbWFnZUJ1ZmZlciwgbm90IEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIuCisKKyAg
ICAgICAgRml4IGJ5IGFkZGluZyBhIGNvcnJlY3QgY3JlYXRlIHN0YXRpYyBmdW5jdGlvbi4KKwor
ICAgICAgICBUZXN0ZWQgYnkgbmV3IHRlc3Q6CisgICAgICAgIFRlc3RXZWJLaXRBUEkuSW1hZ2VC
dWZmZXJUZXN0cy5JbWFnZUJ1ZmZlclN1YlR5cGVDcmVhdGVDcmVhdGVzU3VidHlwZXMKKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1BsYXRmb3JtSW1hZ2VCdWZmZXIuaDoKKyAgICAgICAg
KFdlYkNvcmU6OklPU3VyZmFjZUltYWdlQnVmZmVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SU9TdXJmYWNlSW1hZ2VCdWZmZXI6OklPU3VyZmFjZUltYWdlQnVmZmVyKToKKyAgICAgICAg
QWRkIHRoZSBjb3JyZWN0IGZhY3RvcnkgZnVuY3Rpb24gYW5kIHB1YmxpYyBjb25zdHJ1Y3Rvci4K
KyAgICAgICAgTW92ZXMgdGhlIGhlbHBlciBJbWFnZUJ1ZmZlckJhY2tlbmQgdHlwZSBhbGlhc2Vz
IHRvIERldGFpbAorICAgICAgICBuYW1lc3BhY2UgaW4gb3JkZXIgdG8gY29tbXVuaWNhdGUgdGhh
dCB0aGV5J3JlIG5vdCBpbnRlbmRlZAorICAgICAgICBBUEkuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZC5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5t
bToKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlOjppbWFn
ZUZvclNvdXJjZUdyYXBoaWMpOgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0UmVuZGVy
ZXJDb3JlSW1hZ2U6OnJlbmRlclRvSW1hZ2VCdWZmZXIpOgorICAgICAgICBDaGFuZ2UgdGhlIGlt
YWdlIGNyZWF0aW9uIHNpdGUgdG8gY3JlYXRlIHRoZSBleHBsaWNpdCBJT1N1cmZhY2VJbWFnZUJ1
ZmZlcgorICAgICAgICBzaW5jZSB0aGF0J3Mgd2hhdCBpdCdzIHRyeWluZyB0byBjcmVhdGUuCisg
ICAgICAgIENoYW5nZSB0aGUgdHlwZS1wdW5uaW5nIGNhbGwgc2l0ZXMgdG8gdXNlIGV4cGxpY2l0
CisgICAgICAgIElPU3VyZmFjZUltYWdlQnVmZmVyIG5hbWUsIGFzIHRoYXQncyB3aGF0IHRoZSBj
YWxsIHNpdGUKKyAgICAgICAgaXMgaW50ZW5kaW5nIHRvIHVzZS4KKworCiAyMDIxLTA2LTEwICBL
aW1tbyBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViR0wgY29u
dGV4dCBpbWFnZSBidWZmZXIgYWNjdW11bGF0ZXMgdGhlIE5hdGl2ZUltYWdlIGNvbnRlbnRzIHdo
ZW4gZHJhd24gdG8gUmVtb3RlSW1hZ2VCdWZmZXJQcm94eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1JbWFnZUJ1ZmZlci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1JbWFnZUJ1ZmZlci5oCmluZGV4IDUyZGQ4
M2NjOTNkNTU1M2IzNzllNTg3ZDQzODVkNGY3ODA1OTQ0YmIuLjU4ZmYwNjc4NGViN2U2NGRlNWYw
MTkzNWY1ODliY2ZkYzY3ZmM5NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1BsYXRmb3JtSW1hZ2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9QbGF0Zm9ybUltYWdlQnVmZmVyLmgKQEAgLTQyLDYgKzQyLDggQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCituYW1lc3BhY2UgRGV0YWlsIHsKKwogI2lmIFVTRShDRykK
IHVzaW5nIFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQgPSBJbWFnZUJ1ZmZlckNHQml0
bWFwQmFja2VuZDsKICNlbGlmIFVTRShESVJFQ1QyRCkKQEAgLTQ5LDMxICs1MSw0NSBAQCB1c2lu
ZyBVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5kID0gSW1hZ2VCdWZmZXJEaXJlY3QyREJh
Y2tlbmQ7CiAjZWxpZiBVU0UoQ0FJUk8pCiB1c2luZyBVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJC
YWNrZW5kID0gSW1hZ2VCdWZmZXJDYWlyb0ltYWdlU3VyZmFjZUJhY2tlbmQ7CiAjZW5kaWYKLQog
I2lmIEhBVkUoSU9TVVJGQUNFKQogdXNpbmcgQWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQg
PSBJbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQ7CiAjZWxzZQogdXNpbmcgQWNjZWxlcmF0ZWRJ
bWFnZUJ1ZmZlckJhY2tlbmQgPSBVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5kOwogI2Vu
ZGlmCit9CiAKLXVzaW5nIFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlciA9IENvbmNyZXRlSW1hZ2VC
dWZmZXI8VW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyQmFja2VuZD47Cit1c2luZyBVbmFjY2VsZXJh
dGVkSW1hZ2VCdWZmZXIgPSBDb25jcmV0ZUltYWdlQnVmZmVyPERldGFpbDo6VW5hY2NlbGVyYXRl
ZEltYWdlQnVmZmVyQmFja2VuZD47Cit1c2luZyBEaXNwbGF5TGlzdFVuYWNjZWxlcmF0ZWRJbWFn
ZUJ1ZmZlciA9IERpc3BsYXlMaXN0OjpJbWFnZUJ1ZmZlcjxEZXRhaWw6OlVuYWNjZWxlcmF0ZWRJ
bWFnZUJ1ZmZlckJhY2tlbmQ+OwordXNpbmcgRGlzcGxheUxpc3RBY2NlbGVyYXRlZEltYWdlQnVm
ZmVyID0gRGlzcGxheUxpc3Q6OkltYWdlQnVmZmVyPERldGFpbDo6QWNjZWxlcmF0ZWRJbWFnZUJ1
ZmZlckJhY2tlbmQ+OwogCiAjaWYgSEFWRShJT1NVUkZBQ0UpCi1jbGFzcyBBY2NlbGVyYXRlZElt
YWdlQnVmZmVyIDogcHVibGljIENvbmNyZXRlSW1hZ2VCdWZmZXI8SW1hZ2VCdWZmZXJJT1N1cmZh
Y2VCYWNrZW5kPiB7Ci0gICAgdXNpbmcgQmFzZSA9IENvbmNyZXRlSW1hZ2VCdWZmZXI8QWNjZWxl
cmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQ+OwotICAgIHVzaW5nIEJhc2U6OkJhc2U7CitjbGFzcyBJ
T1N1cmZhY2VJbWFnZUJ1ZmZlciA6IHB1YmxpYyBDb25jcmV0ZUltYWdlQnVmZmVyPEltYWdlQnVm
ZmVySU9TdXJmYWNlQmFja2VuZD4geworICAgIHVzaW5nIEJhc2UgPSBDb25jcmV0ZUltYWdlQnVm
ZmVyPEltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZD47CiBwdWJsaWM6CisgICAgc3RhdGljIGF1
dG8gY3JlYXRlKGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgc2l6ZSwgZmxvYXQgcmVzb2x1dGlv
blNjYWxlLCBjb25zdCBXZWJDb3JlOjpEZXN0aW5hdGlvbkNvbG9yU3BhY2UmIGNvbG9yU3BhY2Us
IFdlYkNvcmU6OlBpeGVsRm9ybWF0IHBpeGVsRm9ybWF0LCBjb25zdCBIb3N0V2luZG93KiBob3N0
V2luZG93ID0gbnVsbHB0cikKKyAgICB7CisgICAgICAgIHJldHVybiBCYXNlOjpjcmVhdGU8SU9T
dXJmYWNlSW1hZ2VCdWZmZXI+KHNpemUsIHJlc29sdXRpb25TY2FsZSwgY29sb3JTcGFjZSwgcGl4
ZWxGb3JtYXQsIGhvc3RXaW5kb3cpOworICAgIH0KKyAgICBzdGF0aWMgYXV0byBjcmVhdGUoY29u
c3QgRmxvYXRTaXplJiBzaXplLCBjb25zdCBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQpCisgICAg
eworICAgICAgICByZXR1cm4gQmFzZTo6Y3JlYXRlPElPU3VyZmFjZUltYWdlQnVmZmVyPihzaXpl
LCBjb250ZXh0KTsKKyAgICB9CisgICAgSU9TdXJmYWNlSW1hZ2VCdWZmZXIoY29uc3QgV2ViQ29y
ZTo6SW1hZ2VCdWZmZXJCYWNrZW5kOjpQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBzdGQ6OnVuaXF1
ZV9wdHI8SW1hZ2VCdWZmZXJJT1N1cmZhY2VCYWNrZW5kPiYmIGJhY2tlbmQpCisgICAgICAgIDog
QmFzZShwYXJhbWV0ZXJzLCBXVEZNb3ZlKGJhY2tlbmQpKQorICAgIHsKKyAgICB9CiAgICAgSU9T
dXJmYWNlJiBzdXJmYWNlKCkgeyByZXR1cm4gKm1fYmFja2VuZC0+c3VyZmFjZSgpOyB9CiB9Owor
dXNpbmcgQWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlciA9IElPU3VyZmFjZUltYWdlQnVmZmVyOwogI2Vs
c2UKLXVzaW5nIEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIgPSBDb25jcmV0ZUltYWdlQnVmZmVyPEFj
Y2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5kPjsKK3VzaW5nIEFjY2VsZXJhdGVkSW1hZ2VCdWZm
ZXIgPSBDb25jcmV0ZUltYWdlQnVmZmVyPERldGFpbDo6VW5hY2NlbGVyYXRlZEltYWdlQnVmZmVy
QmFja2VuZD47CiAjZW5kaWYKIAotdXNpbmcgRGlzcGxheUxpc3RVbmFjY2VsZXJhdGVkSW1hZ2VC
dWZmZXIgPSBEaXNwbGF5TGlzdDo6SW1hZ2VCdWZmZXI8VW5hY2NlbGVyYXRlZEltYWdlQnVmZmVy
QmFja2VuZD47Ci11c2luZyBEaXNwbGF5TGlzdEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIgPSBEaXNw
bGF5TGlzdDo6SW1hZ2VCdWZmZXI8QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQ+OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLVNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2Vi
Q29yZTo6QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcikKKyNpZiBIQVZFKElPU1VSRkFDRSkKK1NQRUNJ
QUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6SU9TdXJmYWNlSW1hZ2VCdWZmZXIpCiAg
ICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OkltYWdlQnVmZmVyJiBidWZmZXIp
IHsgcmV0dXJuIGJ1ZmZlci5yZW5kZXJpbmdNb2RlKCkgPT0gV2ViQ29yZTo6UmVuZGVyaW5nTW9k
ZTo6QWNjZWxlcmF0ZWQ7IH0KIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZm
ZXJDR0JpdG1hcEJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nn
L0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kLmgKaW5kZXggYzg5MGU5ZmU4ZjJlODY0ZjUwYjY4
ODljOWViNGYwZjU4NzJiYjkxOC4uZTFjM2UyYTQ3NmYyMzJiMzk3NDM4YTRkYWZhNDFkYTQ4M2Ez
MjgyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1h
Z2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZC5oCkBAIC0zNiwxMyArMzYsMTMg
QEAgY2xhc3MgSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQgOiBwdWJsaWMgSW1hZ2VCdWZmZXJD
R0JhY2tlbmQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoSW1hZ2VCdWZmZXJDR0JpdG1h
cEJhY2tlbmQpOwogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlQnVmZmVyQ0dCaXRtYXBC
YWNrZW5kKTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgSW50U2l6ZSBjYWxjdWxhdGVTYWZlQmFja2Vu
ZFNpemUoY29uc3QgUGFyYW1ldGVycyYpOwotICAgIHN0YXRpYyBzaXplX3QgY2FsY3VsYXRlTWVt
b3J5Q29zdChjb25zdCBQYXJhbWV0ZXJzJik7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIElu
dFNpemUgY2FsY3VsYXRlU2FmZUJhY2tlbmRTaXplKGNvbnN0IFBhcmFtZXRlcnMmKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCBzdGF0aWMgc2l6ZV90IGNhbGN1bGF0ZU1lbW9yeUNvc3QoY29uc3QgUGFy
YW1ldGVycyYpOwogCi0gICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlckNHQml0
bWFwQmFja2VuZD4gY3JlYXRlKGNvbnN0IFBhcmFtZXRlcnMmLCBjb25zdCBIb3N0V2luZG93Kik7
CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlckNH
Qml0bWFwQmFja2VuZD4gY3JlYXRlKGNvbnN0IFBhcmFtZXRlcnMmLCBjb25zdCBIb3N0V2luZG93
Kik7CiAKICAgICAvLyBGSVhNRTogUmVuYW1lIHRvIGNyZWF0ZVVzaW5nQ29sb3JTcGFjZU9mR3Jh
cGhpY3NDb250ZXh0KCkgKG9yIHNvbWV0aGluZyBsaWtlIHRoYXQpLgotICAgIHN0YXRpYyBzdGQ6
OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQ+IGNyZWF0ZShjb25zdCBQYXJh
bWV0ZXJzJiwgY29uc3QgR3JhcGhpY3NDb250ZXh0Jik7CisgICAgV0VCQ09SRV9FWFBPUlQgc3Rh
dGljIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZD4gY3JlYXRlKGNv
bnN0IFBhcmFtZXRlcnMmLCBjb25zdCBHcmFwaGljc0NvbnRleHQmKTsKIAogICAgIEdyYXBoaWNz
Q29udGV4dCYgY29udGV4dCgpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJD
b3JlSW1hZ2UubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2Uv
RmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UubW0KaW5kZXggNDdmM2Y4MDE4NmJhOWI1ZDhj
NjFiMTYwYjQ2YjU3YzBkODVmZjc0Yy4uNTVhNWZhODgxMTQwZjMzNWUzZmZkNzA2YzQxOWMyMDU3
MzJkM2Q2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29y
ZWltYWdlL0ZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJ
bWFnZS5tbQpAQCAtMTc1LDggKzE3NSw4IEBAIFJldGFpblB0cjxDSUltYWdlPiBGaWx0ZXJFZmZl
Y3RSZW5kZXJlckNvcmVJbWFnZTo6aW1hZ2VGb3JTb3VyY2VHcmFwaGljKFNvdXJjZUdyCiAgICAg
aWYgKCFzb3VyY2VJbWFnZSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgCi0gICAgaWYg
KGlzPEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI+KCpzb3VyY2VJbWFnZSkpCi0gICAgICAgIHJldHVy
biBbQ0lJbWFnZSBpbWFnZVdpdGhJT1N1cmZhY2U6ZG93bmNhc3Q8QWNjZWxlcmF0ZWRJbWFnZUJ1
ZmZlcj4oKnNvdXJjZUltYWdlKS5zdXJmYWNlKCkuc3VyZmFjZSgpXTsKKyAgICBpZiAoaXM8SU9T
dXJmYWNlSW1hZ2VCdWZmZXI+KCpzb3VyY2VJbWFnZSkpCisgICAgICAgIHJldHVybiBbQ0lJbWFn
ZSBpbWFnZVdpdGhJT1N1cmZhY2U6ZG93bmNhc3Q8SU9TdXJmYWNlSW1hZ2VCdWZmZXI+KCpzb3Vy
Y2VJbWFnZSkuc3VyZmFjZSgpLnN1cmZhY2UoKV07CiAgICAgCiAgICAgcmV0dXJuIFtDSUltYWdl
IGltYWdlV2l0aENHSW1hZ2U6c291cmNlSW1hZ2UtPmNvcHlOYXRpdmVJbWFnZSgpLT5wbGF0Zm9y
bUltYWdlKCkuZ2V0KCldOwogfQpAQCAtMjc1LDIxICsyNzUsMTcgQEAgSW1hZ2VCdWZmZXIqIEZp
bHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlOjpvdXRwdXQoKSBjb25zdAogICAgIAogdm9pZCBG
aWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6cmVuZGVyVG9JbWFnZUJ1ZmZlcihGaWx0ZXJF
ZmZlY3QmIGxhc3RFZmZlY3QpCiB7CisgICAgbV9vdXRwdXRJbWFnZUJ1ZmZlciA9IG51bGxwdHI7
CiAgICAgRmxvYXRTaXplIGNsYW1wZWRTaXplID0gSW1hZ2VCdWZmZXI6OmNsYW1wZWRTaXplKGxh
c3RFZmZlY3QuYWJzb2x1dGVQYWludFJlY3QoKS5zaXplKCkpOwotICAgIG1fb3V0cHV0SW1hZ2VC
dWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGNsYW1wZWRTaXplLCBSZW5kZXJpbmdNb2RlOjpB
Y2NlbGVyYXRlZCwgbGFzdEVmZmVjdC5maWx0ZXIoKS5maWx0ZXJTY2FsZSgpLCBsYXN0RWZmZWN0
LnJlc3VsdENvbG9yU3BhY2UoKSwgUGl4ZWxGb3JtYXQ6OkJHUkE4KTsKKyAgICBhdXRvIG91dHB1
dEltYWdlQnVmZmVyID0gSU9TdXJmYWNlSW1hZ2VCdWZmZXI6OmNyZWF0ZShjbGFtcGVkU2l6ZSwg
bGFzdEVmZmVjdC5maWx0ZXIoKS5maWx0ZXJTY2FsZSgpLCBsYXN0RWZmZWN0LnJlc3VsdENvbG9y
U3BhY2UoKSwgUGl4ZWxGb3JtYXQ6OkJHUkE4KTsKICAgICAKLSAgICBpZiAoIW1fb3V0cHV0SW1h
Z2VCdWZmZXIpIHsKKyAgICBpZiAoIW91dHB1dEltYWdlQnVmZmVyKSB7CiAgICAgICAgIGNsZWFy
UmVzdWx0KCk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgCi0gICAgLy8gRklYTUU6IElu
IHRoZSBzaXR1YXRpb24gd2hlcmUgdGhlIEltYWdlIGlzIHRvbyBsYXJnZSwgYW4gVW5hY2NlbGVy
YXRlZEltYWdlQnVmZmVyIHdpbGwgYmUgY3JlYXRlZAotICAgIC8vIGluIHRoaXMgY2FzZSwgc3Bl
Y2lhbCBoYW5kbGluZyBpcyBuZWVkZWQgdG8gcmVuZGVyIHRvIEltYWdlQnVmZmVyQ0dCYWNrZW5k
IGluc3RlYWQKLSAgICBpZiAoIWlzPEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI+KCptX291dHB1dElt
YWdlQnVmZmVyKSkKLSAgICAgICAgcmV0dXJuOwotICAgIAotICAgIGF1dG8mIHN1cmZhY2UgPSBk
b3duY2FzdDxBY2NlbGVyYXRlZEltYWdlQnVmZmVyPigqbV9vdXRwdXRJbWFnZUJ1ZmZlcikuc3Vy
ZmFjZSgpOwotICAgIFtzaGFyZWRDSUNvbnRleHQoKS5nZXQoKSByZW5kZXI6IG1fb3V0cHV0SW1h
Z2UuZ2V0KCkgdG9JT1N1cmZhY2U6IHN1cmZhY2Uuc3VyZmFjZSgpIGJvdW5kczpkZXN0UmVjdChs
YXN0RWZmZWN0KSBjb2xvclNwYWNlOmxhc3RFZmZlY3QucmVzdWx0Q29sb3JTcGFjZSgpLnBsYXRm
b3JtQ29sb3JTcGFjZSgpXTsKKworICAgIFtzaGFyZWRDSUNvbnRleHQoKS5nZXQoKSByZW5kZXI6
IG1fb3V0cHV0SW1hZ2UuZ2V0KCkgdG9JT1N1cmZhY2U6IG91dHB1dEltYWdlQnVmZmVyLT5zdXJm
YWNlKCkuc3VyZmFjZSgpIGJvdW5kczpkZXN0UmVjdChsYXN0RWZmZWN0KSBjb2xvclNwYWNlOmxh
c3RFZmZlY3QucmVzdWx0Q29sb3JTcGFjZSgpLnBsYXRmb3JtQ29sb3JTcGFjZSgpXTsKKyAgICBt
X291dHB1dEltYWdlQnVmZmVyID0gV1RGTW92ZShvdXRwdXRJbWFnZUJ1ZmZlcik7CiB9CiAgICAg
CiBGbG9hdFJlY3QgRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OmRlc3RSZWN0KGNvbnN0
IEZpbHRlckVmZmVjdCYgbGFzdEVmZmVjdCkgY29uc3QKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1NDc4OTE0YjhiZmNjNTc5NWU0MGEyMTcyNjNi
N2IxMTA1NTk0NzRiLi5kMzdmNWVjZDBiYmY2ZGRjNGI3ZWJhNjdmZDk5YjE0NzQwMTE4MmQ4IDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjAgQEAKKzIwMjEtMDYtMTEgIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNv
bT4KKworICAgICAgICBBY2NlbGVyYXRlZEltYWdlQnVmZmVyIG5vdCBpbnN0YW50aWF0ZWQgYnV0
IG9iamVjdHMgYXJlIHB1bm5lZCB0byB0aGUgdHlwZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2OTE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisgICAgICAgIEFkZCBuZXcgdGVzdAorICAgICAgICBUZXN0V2ViS2l0QVBJ
LkltYWdlQnVmZmVyVGVzdHMuSW1hZ2VCdWZmZXJTdWJUeXBlQ3JlYXRlQ3JlYXRlc1N1YnR5cGVz
CisgICAgICAgIHRvIHRlc3QgdGhhdCB0aGUgY29kZSBjb21waWxlcy4KKyAgICAgICAgQmVmb3Jl
LCBpdCB3b3VsZCBmYWlsIHdpdGg6CisgICAgICAgICAgYGVycm9yOiBjYW5ub3QgaW5pdGlhbGl6
ZSBhIG1lbWJlciBzdWJvYmplY3Qgb2YgdHlwZSAndHlwZW5hbWUgUHRyVHJhaXRzOjpTdG9yYWdl
VHlwZScgKGFrYSAnV2ViQ29yZTo6QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlciAqJykgd2l0aCBhbiAK
KyAgICAgICAgICAgcnZhbHVlIG9mIHR5cGUgJ1dlYkNvcmU6OkNvbmNyZXRlSW1hZ2VCdWZmZXI8
V2ViQ29yZTo6SW1hZ2VCdWZmZXJJT1N1cmZhY2VCYWNrZW5kPiAqJ2AKKworICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9JbWFnZUJ1ZmZlclRlc3RzLmNwcDog
QWRkZWQuCisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAyMS0wNi0xMCAgWXVz
dWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIFJlbW92ZSB1
c2VEYXRhSUNJbk9wdGltaXppbmdKSVQgb3B0aW9uCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGQwNzJlYzMzMDRiNjhlOWFkNWNlOWU3NWM2ZGQ0OGRhZTVlNGVmNGEuLjI1YzYxMjA1MmNkODhl
Y2Y0ZWRkYmRmM2RhYmZmYTkyODAzMmQwOGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01
ODksNiArNTg5LDcgQEAKIAkJN0FFOUU1MDkxQUU1QUU4QjAwQ0Y4NzRCIC8qIHRlc3QucGRmIGlu
IENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRTlF
NTA4MUFFNUFFOEIwMENGODc0QiAvKiB0ZXN0LnBkZiAqLzsgfTsKIAkJN0FFQUQ0N0YxRTIwMTE2
QzAwNDE2RUZFIC8qIENyb3NzUGFydGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRUFENDdDMUUyMDExMzgwMDQx
NkVGRSAvKiBDcm9zc1BhcnRpdGlvbkZpbGVTY2hlbWVBY2Nlc3MubW0gKi87IH07CiAJCTdBRUFE
NDgxMUUyMDEyMjcwMDQxNkVGRSAvKiBDcm9zc1BhcnRpdGlvbkZpbGVTY2hlbWVBY2Nlc3MuaHRt
bCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
QUVBRDQ3RDFFMjAxMTRFMDA0MTZFRkUgLyogQ3Jvc3NQYXJ0aXRpb25GaWxlU2NoZW1lQWNjZXNz
Lmh0bWwgKi87IH07CisJCTdCMTg0MTdDMjY3Mzg2MDIwMEVENEY4RCAvKiBJbWFnZUJ1ZmZlclRl
c3RzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdC
MTg0MTdCMjY3Mzg2MDIwMEVENEY4RCAvKiBJbWFnZUJ1ZmZlclRlc3RzLmNwcCAqLzsgfTsKIAkJ
N0IyNzM5RjMyNjMyQUI2NDAwNDBGMTgyIC8qIFRocmVhZEFzc2VydGlvbnNUZXN0LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCMjczOUYyMjYzMkFC
NjQwMDQwRjE4MiAvKiBUaHJlYWRBc3NlcnRpb25zVGVzdC5jcHAgKi87IH07CiAJCTdCN0QwOTZB
MjUxOUY4RjkwMDE3QTA3OCAvKiBXZWJHTE5vQ3Jhc2hPbk90aGVyVGhyZWFkQWNjZXNzLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0I3RDA5NjkyNTE5
RjhGOTAwMTdBMDc4IC8qIFdlYkdMTm9DcmFzaE9uT3RoZXJUaHJlYWRBY2Nlc3MubW0gKi87IH07
CiAJCTdDMUFGNzk1MUU4RENCQUIwMDI2NDVCOSAvKiBQcmVwYXJlRm9yTW92ZVRvV2luZG93Lm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MxQUY3OTMx
RThEQ0JBQjAwMjY0NUI5IC8qIFByZXBhcmVGb3JNb3ZlVG9XaW5kb3cubW0gKi87IH07CkBAIC0y
NDU2LDYgKzI0NTcsNyBAQAogCQk3QUU5RTUwODFBRTVBRThCMDBDRjg3NEIgLyogdGVzdC5wZGYg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBpbWFnZS5w
ZGY7IHBhdGggPSB0ZXN0LnBkZjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0FFQUQ0
N0MxRTIwMTEzODAwNDE2RUZFIC8qIENyb3NzUGFydGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENyb3NzUGFydGl0aW9uRmls
ZVNjaGVtZUFjY2Vzcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0FFQUQ0N0Qx
RTIwMTE0RTAwNDE2RUZFIC8qIENyb3NzUGFydGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5odG1sICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dC5odG1sOyBuYW1lID0gQ3Jvc3NQYXJ0aXRpb25GaWxlU2NoZW1lQWNjZXNz
Lmh0bWw7IHBhdGggPSBUZXN0cy9tYWMvQ3Jvc3NQYXJ0aXRpb25GaWxlU2NoZW1lQWNjZXNzLmh0
bWw7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKKwkJN0IxODQxN0IyNjczODYwMjAwRUQ0
RjhEIC8qIEltYWdlQnVmZmVyVGVzdHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSW1hZ2VCdWZmZXJUZXN0cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTdCMjczOUYyMjYzMkFCNjQwMDQwRjE4MiAvKiBUaHJlYWRBc3NlcnRpb25zVGVzdC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUaHJlYWRBc3NlcnRpb25zVGVz
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdCN0QwOTY5MjUxOUY4RjkwMDE3
QTA3OCAvKiBXZWJHTE5vQ3Jhc2hPbk90aGVyVGhyZWFkQWNjZXNzLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gV2ViR0xOb0NyYXNoT25PdGhlclRocmVhZEFjY2Vzcy5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJN0MxQUY3OTMxRThEQ0JBQjAwMjY0NUI5IC8qIFByZXBhcmVGb3JN
b3ZlVG9XaW5kb3cubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQ
cmVwYXJlRm9yTW92ZVRvV2luZG93Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MzcxNyw2ICszNzE5LDcgQEAKIAkJCQk1Q0ExREVDNzFGNzFGNDA3MDBFNzFCRDMgLyogSFRUUEhl
YWRlckZpZWxkLmNwcCAqLywKIAkJCQk0NkZBMkZFRDIzODQ2QzlBMDAwQ0NCMEMgLyogSFRUUEhl
YWRlck1hcC5jcHAgKi8sCiAJCQkJNkI5QUJFMTEyMDg2OTUyRjAwRDc1REU2IC8qIEhUVFBQYXJz
ZXJzLmNwcCAqLywKKwkJCQk3QjE4NDE3QjI2NzM4NjAyMDBFRDRGOEQgLyogSW1hZ2VCdWZmZXJU
ZXN0cy5jcHAgKi8sCiAJCQkJN0E5MDlBNzMxRDg3NzQ3NTAwN0UxMEY4IC8qIEludFBvaW50VGVz
dHMuY3BwICovLAogCQkJCTdBOTA5QTc0MUQ4Nzc0NzUwMDdFMTBGOCAvKiBJbnRSZWN0VGVzdHMu
Y3BwICovLAogCQkJCTdBOTA5QTc1MUQ4Nzc0NzUwMDdFMTBGOCAvKiBJbnRTaXplVGVzdHMuY3Bw
ICovLApAQCAtNTE5NSw3ICs1MTk4LDYgQEAKIAkJCQlBRDdDNDM0RDFERDJBNTRFMDAyNjg4OEIg
LyogRXhwZWN0ZWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTMxMDgyNzIyMUYyOTZGRjAwQzI4
Qjk3IC8qIEZpbGVTeXN0ZW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTMyMTA1MTkyNjE5NzlG
MzAwMTU3QzY3IC8qIEZpeGVkVmVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUJDQTMwQzdF
MjY2RDJGNDMwMDBEMjMwQyAvKiBTcGFuLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMTBDRDM4
MUVGNzA4RkIwMDUwRkZFMCAvKiBGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2QkZE
Mjk0QzFENUU2QzFEMDA4RUM5NjggLyogSGFzaENvdW50ZWRTZXQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJOTMzRDYzMUQxRkNCNzYyMDAwMzJFQ0Q2IC8qIEhhc2hlci5jcHAgaW4gU291cmNlcyAq
LywKQEAgLTUyNDYsNiArNTI0OCw3IEBACiAJCQkJRTM3M0Q3OTExRjJDRjM1MjAwQzZGQUFGIC8q
IFNpZ25hbHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzNDMkM5QzEyNjUxRjVCOTAwRTQwN0Y2
IC8qIFNtYWxsU2V0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzRkNEQjM0MjYzNjMxNTYwMDQ2
REQ3RCAvKiBTb3J0ZWRBcnJheU1hcC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCQ0EzMEM3RTI2
NkQyRjQzMDAwRDIzMEMgLyogU3Bhbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRTJCQ0RDNzI0
NzBGREEzMDBERUMzM0IgLyogU3RkTGliRXh0cmFzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdD
ODNERjMyMUQwQTU5MEMwMEZFQkNGMyAvKiBTdHJpbmdCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTdDRDRDMjZFMUUyQzBFNkUwMDkyOTQ3MCAvKiBTdHJpbmdDb25jYXRlbmF0ZS5jcHAg
aW4gU291cmNlcyAqLywKQEAgLTU1MDgsNiArNTUxMSw3IEBACiAJCQkJNTEwNDc3NzgxRDI5OTIz
QjAwOTc0N0VCIC8qIElEQkRlbGV0ZVJlY292ZXJ5Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEx
MEZDRkExRTAxQ0RCODAwNkY4RDBCIC8qIElEQkluZGV4VXBncmFkZVRvVjIubW0gaW4gU291cmNl
cyAqLywKIAkJCQk5M0JDQkM4MzIzQ0M2RjJBMDBDQTIyMjEgLyogSURCT2JqZWN0U3RvcmVJbmZv
VXBncmFkZVRvVjIubW0gaW4gU291cmNlcyAqLywKKwkJCQk3QjE4NDE3QzI2NzM4NjAyMDBFRDRG
OEQgLyogSW1hZ2VCdWZmZXJUZXN0cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGNDRBOUFGNzI2
NDlCQkREMDBFN0NCMTYgLyogSW1tZWRpYXRlQWN0aW9uVGVzdHMubW0gaW4gU291cmNlcyAqLywK
IAkJCQk0OUFFRUY2RDI0MDczNTlEMDBDODdFNEMgLyogSW5BcHBCcm93c2VyUHJpdmFjeS5tbSBp
biBTb3VyY2VzICovLAogCQkJCTUxQTU4Nzg2MUQyNzNBQTkwMDRCQTlBRiAvKiBJbmRleGVkREJE
YXRhYmFzZVByb2Nlc3NLaWxsLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvSW1hZ2VCdWZmZXJUZXN0cy5jcHAgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvSW1hZ2VCdWZmZXJUZXN0cy5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMDQ2NDBhYTZhNDk5MTk3MTRlN2U4M2M2YWI0NmRkNDRkZGFkNzlmNQotLS0gL2Rldi9udWxs
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9JbWFnZUJ1ZmZlclRlc3Rz
LmNwcApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
CisjaW5jbHVkZSA8V2ViQ29yZS9JbWFnZUJ1ZmZlci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGxh
dGZvcm1JbWFnZUJ1ZmZlci5oPgorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7Cit1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKKworLy8gVGVzdHMgdGhhdCB0aGUgc3BlY2lhbGl6ZWQgaW1hZ2Ug
YnVmZmVyIGNvbnN0cnVjdG9ycyBjb25zdHJ1Y3QgdGhlIGV4cGVjdGVkIHR5cGUgb2Ygb2JqZWN0
LgorLy8gVGVzdCBwYXNzZXMgaWYgdGhlIHRlc3QgY29tcGlsZXMsIHRoZXJlIHdhcyBhIGJ1ZyB3
aGVyZSB0aGUgY29kZSB3b3VsZG4ndCBjb21waWxlLgorVEVTVChJbWFnZUJ1ZmZlclRlc3RzLCBJ
bWFnZUJ1ZmZlclN1YlR5cGVDcmVhdGVDcmVhdGVzU3VidHlwZXMpCit7CisgICAgYXV0byBjb2xv
clNwYWNlID0gRGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCKCk7CisgICAgYXV0byBwaXhlbEZv
cm1hdCA9IFBpeGVsRm9ybWF0OjpCR1JBODsKKyAgICBGbG9hdFNpemUgc2l6ZSB7IDEuZiwgMS5m
IH07CisgICAgZmxvYXQgc2NhbGUgPSAxLmY7CisgICAgUmVmUHRyPFVuYWNjZWxlcmF0ZWRJbWFn
ZUJ1ZmZlcj4gdW5hY2NlbGVyYXRlZCA9IFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcjo6Y3JlYXRl
KHNpemUsIHNjYWxlLCBjb2xvclNwYWNlLCBwaXhlbEZvcm1hdCwgbnVsbHB0cik7CisgICAgUmVm
UHRyPEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI+IGFjY2VsZXJhdGVkID0gQWNjZWxlcmF0ZWRJbWFn
ZUJ1ZmZlcjo6Y3JlYXRlKHNpemUsIHNjYWxlLCBjb2xvclNwYWNlLCBwaXhlbEZvcm1hdCwgbnVs
bHB0cik7CisgICAgUmVmUHRyPERpc3BsYXlMaXN0QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcj4gZGlz
cGxheUxpc3RBY2NlbGVyYXRlZCA9IERpc3BsYXlMaXN0QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcjo6
Y3JlYXRlKHNpemUsIHNjYWxlLCBjb2xvclNwYWNlLCBwaXhlbEZvcm1hdCwgbnVsbHB0cik7Cisg
ICAgUmVmUHRyPERpc3BsYXlMaXN0VW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyPiBkaXNwbGF5TGlz
dFVuYWNjZWxlcmF0ZWQgPSBEaXNwbGF5TGlzdFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcjo6Y3Jl
YXRlKHNpemUsIHNjYWxlLCBjb2xvclNwYWNlLCBwaXhlbEZvcm1hdCwgbnVsbHB0cik7CisgICAg
RVhQRUNUX05FKG51bGxwdHIsIGFjY2VsZXJhdGVkKTsKKyAgICBFWFBFQ1RfTkUobnVsbHB0ciwg
dW5hY2NlbGVyYXRlZCk7CisgICAgRVhQRUNUX05FKG51bGxwdHIsIGRpc3BsYXlMaXN0QWNjZWxl
cmF0ZWQpOworICAgIEVYUEVDVF9ORShudWxscHRyLCBkaXNwbGF5TGlzdFVuYWNjZWxlcmF0ZWQp
OworfQorCit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431191</attachid>
            <date>2021-06-11 06:18:13 -0700</date>
            <delta_ts>2021-06-11 06:23:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226917-20210611161811.patch</filename>
            <type>text/plain</type>
            <size>20229</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NzAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWE1ZTk1YzlmNGFmODI5
NzdiNTg5YzBlY2E4MTJlM2ViZGRjZTIxMS4uMDlkOTNjY2NiODY3NTM1ZTQ2NjA3ZGExNWQ3YWVj
OTVlMTA0NTkzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTA2LTExICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWNjZWxlcmF0ZWRJ
bWFnZUJ1ZmZlciBub3QgaW5zdGFudGlhdGVkIGJ1dCBvYmplY3RzIGFyZSBwdW5uZWQgdG8gdGhl
IHR5cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NjkxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFj
Y2VsZXJhdGVkSW1hZ2VCdWZmZXI6OmNyZWF0ZSB3b3VsZCBjcmVhdGUgaW5zdGFuY2UKKyAgICAg
ICAgb2YgQ29uY3JldGVJbWFnZUJ1ZmZlciwgbm90IEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIuCisK
KyAgICAgICAgRml4IGJ5IGFkZGluZyBhIGNvcnJlY3QgY3JlYXRlIHN0YXRpYyBmdW5jdGlvbi4K
KworICAgICAgICBUZXN0ZWQgYnkgbmV3IHRlc3Q6CisgICAgICAgIFRlc3RXZWJLaXRBUEkuSW1h
Z2VCdWZmZXJUZXN0cy5JbWFnZUJ1ZmZlclN1YlR5cGVDcmVhdGVDcmVhdGVzU3VidHlwZXMKKwor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1BsYXRmb3JtSW1hZ2VCdWZmZXIuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OklPU3VyZmFjZUltYWdlQnVmZmVyOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6SU9TdXJmYWNlSW1hZ2VCdWZmZXI6OklPU3VyZmFjZUltYWdlQnVmZmVyKToKKyAgICAg
ICAgQWRkIHRoZSBjb3JyZWN0IGZhY3RvcnkgZnVuY3Rpb24gYW5kIHB1YmxpYyBjb25zdHJ1Y3Rv
ci4KKyAgICAgICAgTW92ZXMgdGhlIGhlbHBlciBJbWFnZUJ1ZmZlckJhY2tlbmQgdHlwZSBhbGlh
c2VzIHRvIERldGFpbAorICAgICAgICBuYW1lc3BhY2UgaW4gb3JkZXIgdG8gY29tbXVuaWNhdGUg
dGhhdCB0aGV5J3JlIG5vdCBpbnRlbmRlZAorICAgICAgICBBUEkuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZC5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFn
ZS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlOjpp
bWFnZUZvclNvdXJjZUdyYXBoaWMpOgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0UmVu
ZGVyZXJDb3JlSW1hZ2U6OnJlbmRlclRvSW1hZ2VCdWZmZXIpOgorICAgICAgICBDaGFuZ2UgdGhl
IGltYWdlIGNyZWF0aW9uIHNpdGUgdG8gY3JlYXRlIHRoZSBleHBsaWNpdCBJT1N1cmZhY2VJbWFn
ZUJ1ZmZlcgorICAgICAgICBzaW5jZSB0aGF0J3Mgd2hhdCBpdCdzIHRyeWluZyB0byBjcmVhdGUu
CisgICAgICAgIENoYW5nZSB0aGUgdHlwZS1wdW5uaW5nIGNhbGwgc2l0ZXMgdG8gdXNlIGV4cGxp
Y2l0CisgICAgICAgIElPU3VyZmFjZUltYWdlQnVmZmVyIG5hbWUsIGFzIHRoYXQncyB3aGF0IHRo
ZSBjYWxsIHNpdGUKKyAgICAgICAgaXMgaW50ZW5kaW5nIHRvIHVzZS4KKworCiAyMDIxLTA2LTEw
ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViR0wg
Y29udGV4dCBpbWFnZSBidWZmZXIgYWNjdW11bGF0ZXMgdGhlIE5hdGl2ZUltYWdlIGNvbnRlbnRz
IHdoZW4gZHJhd24gdG8gUmVtb3RlSW1hZ2VCdWZmZXJQcm94eQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1JbWFnZUJ1ZmZlci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1JbWFnZUJ1ZmZlci5oCmluZGV4IDUy
ZGQ4M2NjOTNkNTU1M2IzNzllNTg3ZDQzODVkNGY3ODA1OTQ0YmIuLmViMmNlZTNkOWJjMmY4YzIz
NmZkYTEyZWMyMDA3NTg3Njc4ZWMyODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1BsYXRmb3JtSW1hZ2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9QbGF0Zm9ybUltYWdlQnVmZmVyLmgKQEAgLTQyLDYgKzQyLDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCituYW1lc3BhY2UgRGV0YWlsIHsKKwogI2lmIFVTRShD
RykKIHVzaW5nIFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQgPSBJbWFnZUJ1ZmZlckNH
Qml0bWFwQmFja2VuZDsKICNlbGlmIFVTRShESVJFQ1QyRCkKQEAgLTQ5LDMxICs1MSw4NiBAQCB1
c2luZyBVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5kID0gSW1hZ2VCdWZmZXJEaXJlY3Qy
REJhY2tlbmQ7CiAjZWxpZiBVU0UoQ0FJUk8pCiB1c2luZyBVbmFjY2VsZXJhdGVkSW1hZ2VCdWZm
ZXJCYWNrZW5kID0gSW1hZ2VCdWZmZXJDYWlyb0ltYWdlU3VyZmFjZUJhY2tlbmQ7CiAjZW5kaWYK
LQogI2lmIEhBVkUoSU9TVVJGQUNFKQogdXNpbmcgQWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tl
bmQgPSBJbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQ7CiAjZWxzZQogdXNpbmcgQWNjZWxlcmF0
ZWRJbWFnZUJ1ZmZlckJhY2tlbmQgPSBVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5kOwog
I2VuZGlmCit9CisKK3VzaW5nIFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlciA9IENvbmNyZXRlSW1h
Z2VCdWZmZXI8RGV0YWlsOjpVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5kPjsKKzw8PDw8
PDwgVXBkYXRlZCB1cHN0cmVhbQordXNpbmcgRGlzcGxheUxpc3RVbmFjY2VsZXJhdGVkSW1hZ2VC
dWZmZXIgPSBEaXNwbGF5TGlzdDo6SW1hZ2VCdWZmZXI8RGV0YWlsOjpVbmFjY2VsZXJhdGVkSW1h
Z2VCdWZmZXJCYWNrZW5kPjsKK3VzaW5nIERpc3BsYXlMaXN0QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZl
ciA9IERpc3BsYXlMaXN0OjpJbWFnZUJ1ZmZlcjxEZXRhaWw6OkFjY2VsZXJhdGVkSW1hZ2VCdWZm
ZXJCYWNrZW5kPjsKKz09PT09PT0KIAotdXNpbmcgVW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyID0g
Q29uY3JldGVJbWFnZUJ1ZmZlcjxVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5kPjsKK2Ns
YXNzIERpc3BsYXlMaXN0VW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyIDogcHVibGljIERpc3BsYXlM
aXN0OjpJbWFnZUJ1ZmZlcjxEZXRhaWw6OlVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQ+
IHsKKyAgICB1c2luZyBCYXNlID0gRGlzcGxheUxpc3Q6OkltYWdlQnVmZmVyPERldGFpbDo6VW5h
Y2NlbGVyYXRlZEltYWdlQnVmZmVyQmFja2VuZD47CitwdWJsaWM6CisgICAgc3RhdGljIGF1dG8g
Y3JlYXRlKGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgc2l6ZSwgZmxvYXQgcmVzb2x1dGlvblNj
YWxlLCBjb25zdCBXZWJDb3JlOjpEZXN0aW5hdGlvbkNvbG9yU3BhY2UmIGNvbG9yU3BhY2UsIFdl
YkNvcmU6OlBpeGVsRm9ybWF0IHBpeGVsRm9ybWF0LCBjb25zdCBIb3N0V2luZG93KiBob3N0V2lu
ZG93ID0gbnVsbHB0cikKKyAgICB7CisgICAgICAgIHJldHVybiBCYXNlOjpjcmVhdGU8RGlzcGxh
eUxpc3RVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI+KHNpemUsIHJlc29sdXRpb25TY2FsZSwgY29s
b3JTcGFjZSwgcGl4ZWxGb3JtYXQsIGhvc3RXaW5kb3cpOworICAgIH0KKworICAgIERpc3BsYXlM
aXN0VW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyKGNvbnN0IFdlYkNvcmU6OkltYWdlQnVmZmVyQmFj
a2VuZDo6UGFyYW1ldGVycyYgcGFyYW1ldGVycywgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVy
SU9TdXJmYWNlQmFja2VuZD4mJiBiYWNrZW5kKQorICAgICAgICA6IEJhc2UocGFyYW1ldGVycywg
V1RGTW92ZShiYWNrZW5kKSkKKyAgICB7CisgICAgfQorICAgIH5EaXNwbGF5TGlzdFVuYWNjZWxl
cmF0ZWRJbWFnZUJ1ZmZlcigpCisgICAgeworICAgICAgICBmbHVzaERyYXdpbmdDb250ZXh0KCk7
CisgICAgfQorfTsKKz4+Pj4+Pj4gU3Rhc2hlZCBjaGFuZ2VzCiAKICNpZiBIQVZFKElPU1VSRkFD
RSkKLWNsYXNzIEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIgOiBwdWJsaWMgQ29uY3JldGVJbWFnZUJ1
ZmZlcjxJbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQ+IHsKLSAgICB1c2luZyBCYXNlID0gQ29u
Y3JldGVJbWFnZUJ1ZmZlcjxBY2NlbGVyYXRlZEltYWdlQnVmZmVyQmFja2VuZD47Ci0gICAgdXNp
bmcgQmFzZTo6QmFzZTsKK2NsYXNzIElPU3VyZmFjZUltYWdlQnVmZmVyIDogcHVibGljIENvbmNy
ZXRlSW1hZ2VCdWZmZXI8SW1hZ2VCdWZmZXJJT1N1cmZhY2VCYWNrZW5kPiB7CisgICAgdXNpbmcg
QmFzZSA9IENvbmNyZXRlSW1hZ2VCdWZmZXI8SW1hZ2VCdWZmZXJJT1N1cmZhY2VCYWNrZW5kPjsK
IHB1YmxpYzoKKyAgICBzdGF0aWMgYXV0byBjcmVhdGUoY29uc3QgV2ViQ29yZTo6RmxvYXRTaXpl
JiBzaXplLCBmbG9hdCByZXNvbHV0aW9uU2NhbGUsIGNvbnN0IFdlYkNvcmU6OkRlc3RpbmF0aW9u
Q29sb3JTcGFjZSYgY29sb3JTcGFjZSwgV2ViQ29yZTo6UGl4ZWxGb3JtYXQgcGl4ZWxGb3JtYXQs
IGNvbnN0IEhvc3RXaW5kb3cqIGhvc3RXaW5kb3cgPSBudWxscHRyKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIEJhc2U6OmNyZWF0ZTxJT1N1cmZhY2VJbWFnZUJ1ZmZlcj4oc2l6ZSwgcmVzb2x1dGlv
blNjYWxlLCBjb2xvclNwYWNlLCBwaXhlbEZvcm1hdCwgaG9zdFdpbmRvdyk7CisgICAgfQorICAg
IHN0YXRpYyBhdXRvIGNyZWF0ZShjb25zdCBGbG9hdFNpemUmIHNpemUsIGNvbnN0IEdyYXBoaWNz
Q29udGV4dCYgY29udGV4dCkKKyAgICB7CisgICAgICAgIHJldHVybiBCYXNlOjpjcmVhdGU8SU9T
dXJmYWNlSW1hZ2VCdWZmZXI+KHNpemUsIGNvbnRleHQpOworICAgIH0KKyAgICBJT1N1cmZhY2VJ
bWFnZUJ1ZmZlcihjb25zdCBXZWJDb3JlOjpJbWFnZUJ1ZmZlckJhY2tlbmQ6OlBhcmFtZXRlcnMm
IHBhcmFtZXRlcnMsIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQ+
JiYgYmFja2VuZCkKKyAgICAgICAgOiBCYXNlKHBhcmFtZXRlcnMsIFdURk1vdmUoYmFja2VuZCkp
CisgICAgeworICAgIH0KICAgICBJT1N1cmZhY2UmIHN1cmZhY2UoKSB7IHJldHVybiAqbV9iYWNr
ZW5kLT5zdXJmYWNlKCk7IH0KIH07Cit1c2luZyBBY2NlbGVyYXRlZEltYWdlQnVmZmVyID0gSU9T
dXJmYWNlSW1hZ2VCdWZmZXI7CiAjZWxzZQotdXNpbmcgQWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlciA9
IENvbmNyZXRlSW1hZ2VCdWZmZXI8QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQ+OwordXNp
bmcgQWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlciA9IENvbmNyZXRlSW1hZ2VCdWZmZXI8RGV0YWlsOjpV
bmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5kPjsKICNlbmRpZgogCi11c2luZyBEaXNwbGF5
TGlzdFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlciA9IERpc3BsYXlMaXN0OjpJbWFnZUJ1ZmZlcjxV
bmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5kPjsKLXVzaW5nIERpc3BsYXlMaXN0QWNjZWxl
cmF0ZWRJbWFnZUJ1ZmZlciA9IERpc3BsYXlMaXN0OjpJbWFnZUJ1ZmZlcjxBY2NlbGVyYXRlZElt
YWdlQnVmZmVyQmFja2VuZD47Cis8PDw8PDw8IFVwZGF0ZWQgdXBzdHJlYW0KIAorPT09PT09PQor
Y2xhc3MgRGlzcGxheUxpc3RVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIgOiBwdWJsaWMgRGlzcGxh
eUxpc3Q6OkltYWdlQnVmZmVyPERldGFpbDo6VW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyQmFja2Vu
ZD4geworICAgIHVzaW5nIEJhc2UgPSBEaXNwbGF5TGlzdDo6SW1hZ2VCdWZmZXI8RGV0YWlsOjpV
bmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5kPjsKK3B1YmxpYzoKKyAgICBzdGF0aWMgYXV0
byBjcmVhdGUoY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBzaXplLCBmbG9hdCByZXNvbHV0aW9u
U2NhbGUsIGNvbnN0IFdlYkNvcmU6OkRlc3RpbmF0aW9uQ29sb3JTcGFjZSYgY29sb3JTcGFjZSwg
V2ViQ29yZTo6UGl4ZWxGb3JtYXQgcGl4ZWxGb3JtYXQsIGNvbnN0IEhvc3RXaW5kb3cqIGhvc3RX
aW5kb3cgPSBudWxscHRyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIEJhc2U6OmNyZWF0ZTxEaXNw
bGF5TGlzdFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcj4oc2l6ZSwgcmVzb2x1dGlvblNjYWxlLCBj
b2xvclNwYWNlLCBwaXhlbEZvcm1hdCwgaG9zdFdpbmRvdyk7CisgICAgfQorCisgICAgRGlzcGxh
eUxpc3RVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIoY29uc3QgV2ViQ29yZTo6SW1hZ2VCdWZmZXJC
YWNrZW5kOjpQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZm
ZXJJT1N1cmZhY2VCYWNrZW5kPiYmIGJhY2tlbmQpCisgICAgICAgIDogQmFzZShwYXJhbWV0ZXJz
LCBXVEZNb3ZlKGJhY2tlbmQpKQorICAgIHsKKyAgICB9CisgICAgfkRpc3BsYXlMaXN0VW5hY2Nl
bGVyYXRlZEltYWdlQnVmZmVyKCkKKyAgICB7CisgICAgICAgIGZsdXNoRHJhd2luZ0NvbnRleHQo
KTsKKyAgICB9Cit9OworPj4+Pj4+PiBTdGFzaGVkIGNoYW5nZXMKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAotU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpBY2NlbGVyYXRl
ZEltYWdlQnVmZmVyKQorI2lmIEhBVkUoSU9TVVJGQUNFKQorU1BFQ0lBTElaRV9UWVBFX1RSQUlU
U19CRUdJTihXZWJDb3JlOjpJT1N1cmZhY2VJbWFnZUJ1ZmZlcikKICAgICBzdGF0aWMgYm9vbCBp
c1R5cGUoY29uc3QgV2ViQ29yZTo6SW1hZ2VCdWZmZXImIGJ1ZmZlcikgeyByZXR1cm4gYnVmZmVy
LnJlbmRlcmluZ01vZGUoKSA9PSBXZWJDb3JlOjpSZW5kZXJpbmdNb2RlOjpBY2NlbGVyYXRlZDsg
fQogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQml0bWFwQmFja2Vu
ZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDR0Jp
dG1hcEJhY2tlbmQuaAppbmRleCBjODkwZTlmZThmMmU4NjRmNTBiNjg4OWM5ZWI0ZjBmNTg3MmJi
OTE4Li5lMWMzZTJhNDc2ZjIzMmIzOTc0MzhhNGRhZmE0MWRhNDgzYTMyODJkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQml0bWFw
QmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdl
QnVmZmVyQ0dCaXRtYXBCYWNrZW5kLmgKQEAgLTM2LDEzICszNiwxMyBAQCBjbGFzcyBJbWFnZUJ1
ZmZlckNHQml0bWFwQmFja2VuZCA6IHB1YmxpYyBJbWFnZUJ1ZmZlckNHQmFja2VuZCB7CiAgICAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRChJbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZCk7CiAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQpOwogcHVibGlj
OgotICAgIHN0YXRpYyBJbnRTaXplIGNhbGN1bGF0ZVNhZmVCYWNrZW5kU2l6ZShjb25zdCBQYXJh
bWV0ZXJzJik7Ci0gICAgc3RhdGljIHNpemVfdCBjYWxjdWxhdGVNZW1vcnlDb3N0KGNvbnN0IFBh
cmFtZXRlcnMmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgSW50U2l6ZSBjYWxjdWxhdGVT
YWZlQmFja2VuZFNpemUoY29uc3QgUGFyYW1ldGVycyYpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0
YXRpYyBzaXplX3QgY2FsY3VsYXRlTWVtb3J5Q29zdChjb25zdCBQYXJhbWV0ZXJzJik7CiAKLSAg
ICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kPiBjcmVh
dGUoY29uc3QgUGFyYW1ldGVycyYsIGNvbnN0IEhvc3RXaW5kb3cqKTsKKyAgICBXRUJDT1JFX0VY
UE9SVCBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kPiBj
cmVhdGUoY29uc3QgUGFyYW1ldGVycyYsIGNvbnN0IEhvc3RXaW5kb3cqKTsKIAogICAgIC8vIEZJ
WE1FOiBSZW5hbWUgdG8gY3JlYXRlVXNpbmdDb2xvclNwYWNlT2ZHcmFwaGljc0NvbnRleHQoKSAo
b3Igc29tZXRoaW5nIGxpa2UgdGhhdCkuCi0gICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxJbWFn
ZUJ1ZmZlckNHQml0bWFwQmFja2VuZD4gY3JlYXRlKGNvbnN0IFBhcmFtZXRlcnMmLCBjb25zdCBH
cmFwaGljc0NvbnRleHQmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgc3RkOjp1bmlxdWVf
cHRyPEltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kPiBjcmVhdGUoY29uc3QgUGFyYW1ldGVycyYs
IGNvbnN0IEdyYXBoaWNzQ29udGV4dCYpOwogCiAgICAgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0
KCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5k
ZXJlckNvcmVJbWFnZS5tbQppbmRleCA0N2YzZjgwMTg2YmE5YjVkOGM2MWIxNjBiNDZiNTdjMGQ4
NWZmNzRjLi41NWE1ZmE4ODExNDBmMzM1ZTNmZmQ3MDZjNDE5YzIwNTczMmQzZDYyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZm
ZWN0UmVuZGVyZXJDb3JlSW1hZ2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29yZWltYWdlL0ZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlLm1tCkBAIC0xNzUs
OCArMTc1LDggQEAgUmV0YWluUHRyPENJSW1hZ2U+IEZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUlt
YWdlOjppbWFnZUZvclNvdXJjZUdyYXBoaWMoU291cmNlR3IKICAgICBpZiAoIXNvdXJjZUltYWdl
KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAKLSAgICBpZiAoaXM8QWNjZWxlcmF0ZWRJ
bWFnZUJ1ZmZlcj4oKnNvdXJjZUltYWdlKSkKLSAgICAgICAgcmV0dXJuIFtDSUltYWdlIGltYWdl
V2l0aElPU3VyZmFjZTpkb3duY2FzdDxBY2NlbGVyYXRlZEltYWdlQnVmZmVyPigqc291cmNlSW1h
Z2UpLnN1cmZhY2UoKS5zdXJmYWNlKCldOworICAgIGlmIChpczxJT1N1cmZhY2VJbWFnZUJ1ZmZl
cj4oKnNvdXJjZUltYWdlKSkKKyAgICAgICAgcmV0dXJuIFtDSUltYWdlIGltYWdlV2l0aElPU3Vy
ZmFjZTpkb3duY2FzdDxJT1N1cmZhY2VJbWFnZUJ1ZmZlcj4oKnNvdXJjZUltYWdlKS5zdXJmYWNl
KCkuc3VyZmFjZSgpXTsKICAgICAKICAgICByZXR1cm4gW0NJSW1hZ2UgaW1hZ2VXaXRoQ0dJbWFn
ZTpzb3VyY2VJbWFnZS0+Y29weU5hdGl2ZUltYWdlKCktPnBsYXRmb3JtSW1hZ2UoKS5nZXQoKV07
CiB9CkBAIC0yNzUsMjEgKzI3NSwxNyBAQCBJbWFnZUJ1ZmZlciogRmlsdGVyRWZmZWN0UmVuZGVy
ZXJDb3JlSW1hZ2U6Om91dHB1dCgpIGNvbnN0CiAgICAgCiB2b2lkIEZpbHRlckVmZmVjdFJlbmRl
cmVyQ29yZUltYWdlOjpyZW5kZXJUb0ltYWdlQnVmZmVyKEZpbHRlckVmZmVjdCYgbGFzdEVmZmVj
dCkKIHsKKyAgICBtX291dHB1dEltYWdlQnVmZmVyID0gbnVsbHB0cjsKICAgICBGbG9hdFNpemUg
Y2xhbXBlZFNpemUgPSBJbWFnZUJ1ZmZlcjo6Y2xhbXBlZFNpemUobGFzdEVmZmVjdC5hYnNvbHV0
ZVBhaW50UmVjdCgpLnNpemUoKSk7Ci0gICAgbV9vdXRwdXRJbWFnZUJ1ZmZlciA9IEltYWdlQnVm
ZmVyOjpjcmVhdGUoY2xhbXBlZFNpemUsIFJlbmRlcmluZ01vZGU6OkFjY2VsZXJhdGVkLCBsYXN0
RWZmZWN0LmZpbHRlcigpLmZpbHRlclNjYWxlKCksIGxhc3RFZmZlY3QucmVzdWx0Q29sb3JTcGFj
ZSgpLCBQaXhlbEZvcm1hdDo6QkdSQTgpOworICAgIGF1dG8gb3V0cHV0SW1hZ2VCdWZmZXIgPSBJ
T1N1cmZhY2VJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGNsYW1wZWRTaXplLCBsYXN0RWZmZWN0LmZpbHRl
cigpLmZpbHRlclNjYWxlKCksIGxhc3RFZmZlY3QucmVzdWx0Q29sb3JTcGFjZSgpLCBQaXhlbEZv
cm1hdDo6QkdSQTgpOwogICAgIAotICAgIGlmICghbV9vdXRwdXRJbWFnZUJ1ZmZlcikgeworICAg
IGlmICghb3V0cHV0SW1hZ2VCdWZmZXIpIHsKICAgICAgICAgY2xlYXJSZXN1bHQoKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KLSAgICAKLSAgICAvLyBGSVhNRTogSW4gdGhlIHNpdHVhdGlvbiB3
aGVyZSB0aGUgSW1hZ2UgaXMgdG9vIGxhcmdlLCBhbiBVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIg
d2lsbCBiZSBjcmVhdGVkCi0gICAgLy8gaW4gdGhpcyBjYXNlLCBzcGVjaWFsIGhhbmRsaW5nIGlz
IG5lZWRlZCB0byByZW5kZXIgdG8gSW1hZ2VCdWZmZXJDR0JhY2tlbmQgaW5zdGVhZAotICAgIGlm
ICghaXM8QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcj4oKm1fb3V0cHV0SW1hZ2VCdWZmZXIpKQotICAg
ICAgICByZXR1cm47Ci0gICAgCi0gICAgYXV0byYgc3VyZmFjZSA9IGRvd25jYXN0PEFjY2VsZXJh
dGVkSW1hZ2VCdWZmZXI+KCptX291dHB1dEltYWdlQnVmZmVyKS5zdXJmYWNlKCk7Ci0gICAgW3No
YXJlZENJQ29udGV4dCgpLmdldCgpIHJlbmRlcjogbV9vdXRwdXRJbWFnZS5nZXQoKSB0b0lPU3Vy
ZmFjZTogc3VyZmFjZS5zdXJmYWNlKCkgYm91bmRzOmRlc3RSZWN0KGxhc3RFZmZlY3QpIGNvbG9y
U3BhY2U6bGFzdEVmZmVjdC5yZXN1bHRDb2xvclNwYWNlKCkucGxhdGZvcm1Db2xvclNwYWNlKCld
OworCisgICAgW3NoYXJlZENJQ29udGV4dCgpLmdldCgpIHJlbmRlcjogbV9vdXRwdXRJbWFnZS5n
ZXQoKSB0b0lPU3VyZmFjZTogb3V0cHV0SW1hZ2VCdWZmZXItPnN1cmZhY2UoKS5zdXJmYWNlKCkg
Ym91bmRzOmRlc3RSZWN0KGxhc3RFZmZlY3QpIGNvbG9yU3BhY2U6bGFzdEVmZmVjdC5yZXN1bHRD
b2xvclNwYWNlKCkucGxhdGZvcm1Db2xvclNwYWNlKCldOworICAgIG1fb3V0cHV0SW1hZ2VCdWZm
ZXIgPSBXVEZNb3ZlKG91dHB1dEltYWdlQnVmZmVyKTsKIH0KICAgICAKIEZsb2F0UmVjdCBGaWx0
ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6ZGVzdFJlY3QoY29uc3QgRmlsdGVyRWZmZWN0JiBs
YXN0RWZmZWN0KSBjb25zdApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hh
bmdlTG9nCmluZGV4IDU0Nzg5MTRiOGJmY2M1Nzk1ZTQwYTIxNzI2M2I3YjExMDU1OTQ3NGIuLmQz
N2Y1ZWNkMGJiZjZkZGM0YjdlYmE2N2ZkOTliMTQ3NDAxMTgyZDggMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAyMS0w
Ni0xMSAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgorCisgICAgICAgIEFj
Y2VsZXJhdGVkSW1hZ2VCdWZmZXIgbm90IGluc3RhbnRpYXRlZCBidXQgb2JqZWN0cyBhcmUgcHVu
bmVkIHRvIHRoZSB0eXBlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjY5MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAg
ICAgICAgQWRkIG5ldyB0ZXN0CisgICAgICAgIFRlc3RXZWJLaXRBUEkuSW1hZ2VCdWZmZXJUZXN0
cy5JbWFnZUJ1ZmZlclN1YlR5cGVDcmVhdGVDcmVhdGVzU3VidHlwZXMKKyAgICAgICAgdG8gdGVz
dCB0aGF0IHRoZSBjb2RlIGNvbXBpbGVzLgorICAgICAgICBCZWZvcmUsIGl0IHdvdWxkIGZhaWwg
d2l0aDoKKyAgICAgICAgICBgZXJyb3I6IGNhbm5vdCBpbml0aWFsaXplIGEgbWVtYmVyIHN1Ym9i
amVjdCBvZiB0eXBlICd0eXBlbmFtZSBQdHJUcmFpdHM6OlN0b3JhZ2VUeXBlJyAoYWthICdXZWJD
b3JlOjpBY2NlbGVyYXRlZEltYWdlQnVmZmVyIConKSB3aXRoIGFuIAorICAgICAgICAgICBydmFs
dWUgb2YgdHlwZSAnV2ViQ29yZTo6Q29uY3JldGVJbWFnZUJ1ZmZlcjxXZWJDb3JlOjpJbWFnZUJ1
ZmZlcklPU3VyZmFjZUJhY2tlbmQ+IConYAorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJDb3JlL0ltYWdlQnVmZmVyVGVzdHMuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDIxLTA2LTEwICBZdXN1a2UgU3V6dWtpICA8eXN1
enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gUmVtb3ZlIHVzZURhdGFJQ0luT3B0aW1p
emluZ0pJVCBvcHRpb24KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktp
dEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDA3MmVjMzMwNGI2OGU5
YWQ1Y2U5ZTc1YzZkZDQ4ZGFlNWU0ZWY0YS4uMjVjNjEyMDUyY2Q4OGVjZjRlZGRiZGYzZGFiZmZh
OTI4MDMyZDA4YSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU4OSw2ICs1ODksNyBAQAog
CQk3QUU5RTUwOTFBRTVBRThCMDBDRjg3NEIgLyogdGVzdC5wZGYgaW4gQ29weSBSZXNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FFOUU1MDgxQUU1QUU4QjAwQ0Y4
NzRCIC8qIHRlc3QucGRmICovOyB9OwogCQk3QUVBRDQ3RjFFMjAxMTZDMDA0MTZFRkUgLyogQ3Jv
c3NQYXJ0aXRpb25GaWxlU2NoZW1lQWNjZXNzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0FFQUQ0N0MxRTIwMTEzODAwNDE2RUZFIC8qIENyb3NzUGFy
dGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5tbSAqLzsgfTsKIAkJN0FFQUQ0ODExRTIwMTIyNzAwNDE2
RUZFIC8qIENyb3NzUGFydGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5odG1sIGluIENvcHkgUmVzb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRUFENDdEMUUyMDExNEUw
MDQxNkVGRSAvKiBDcm9zc1BhcnRpdGlvbkZpbGVTY2hlbWVBY2Nlc3MuaHRtbCAqLzsgfTsKKwkJ
N0IxODQxN0MyNjczODYwMjAwRUQ0RjhEIC8qIEltYWdlQnVmZmVyVGVzdHMuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0IxODQxN0IyNjczODYwMjAw
RUQ0RjhEIC8qIEltYWdlQnVmZmVyVGVzdHMuY3BwICovOyB9OwogCQk3QjI3MzlGMzI2MzJBQjY0
MDA0MEYxODIgLyogVGhyZWFkQXNzZXJ0aW9uc1Rlc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0IyNzM5RjIyNjMyQUI2NDAwNDBGMTgyIC8qIFRo
cmVhZEFzc2VydGlvbnNUZXN0LmNwcCAqLzsgfTsKIAkJN0I3RDA5NkEyNTE5RjhGOTAwMTdBMDc4
IC8qIFdlYkdMTm9DcmFzaE9uT3RoZXJUaHJlYWRBY2Nlc3MubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QjdEMDk2OTI1MTlGOEY5MDAxN0EwNzggLyog
V2ViR0xOb0NyYXNoT25PdGhlclRocmVhZEFjY2Vzcy5tbSAqLzsgfTsKIAkJN0MxQUY3OTUxRThE
Q0JBQjAwMjY0NUI5IC8qIFByZXBhcmVGb3JNb3ZlVG9XaW5kb3cubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzFBRjc5MzFFOERDQkFCMDAyNjQ1Qjkg
LyogUHJlcGFyZUZvck1vdmVUb1dpbmRvdy5tbSAqLzsgfTsKQEAgLTI0NTYsNiArMjQ1Nyw3IEBA
CiAJCTdBRTlFNTA4MUFFNUFFOEIwMENGODc0QiAvKiB0ZXN0LnBkZiAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGltYWdlLnBkZjsgcGF0aCA9IHRlc3Qu
cGRmOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QUVBRDQ3QzFFMjAxMTM4MDA0MTZF
RkUgLyogQ3Jvc3NQYXJ0aXRpb25GaWxlU2NoZW1lQWNjZXNzLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ3Jvc3NQYXJ0aXRpb25GaWxlU2NoZW1lQWNjZXNzLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QUVBRDQ3RDFFMjAxMTRFMDA0MTZFRkUg
LyogQ3Jvc3NQYXJ0aXRpb25GaWxlU2NoZW1lQWNjZXNzLmh0bWwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0
bWw7IG5hbWUgPSBDcm9zc1BhcnRpdGlvbkZpbGVTY2hlbWVBY2Nlc3MuaHRtbDsgcGF0aCA9IFRl
c3RzL21hYy9Dcm9zc1BhcnRpdGlvbkZpbGVTY2hlbWVBY2Nlc3MuaHRtbDsgc291cmNlVHJlZSA9
IFNPVVJDRV9ST09UOyB9OworCQk3QjE4NDE3QjI2NzM4NjAyMDBFRDRGOEQgLyogSW1hZ2VCdWZm
ZXJUZXN0cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbWFnZUJ1
ZmZlclRlc3RzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0IyNzM5RjIyNjMy
QUI2NDAwNDBGMTgyIC8qIFRocmVhZEFzc2VydGlvbnNUZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRocmVhZEFzc2VydGlvbnNUZXN0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0I3RDA5NjkyNTE5RjhGOTAwMTdBMDc4IC8qIFdlYkdMTm9D
cmFzaE9uT3RoZXJUaHJlYWRBY2Nlc3MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJHTE5v
Q3Jhc2hPbk90aGVyVGhyZWFkQWNjZXNzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk3QzFBRjc5MzFFOERDQkFCMDAyNjQ1QjkgLyogUHJlcGFyZUZvck1vdmVUb1dpbmRvdy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFByZXBhcmVGb3JNb3ZlVG9X
aW5kb3cubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zNzE3LDYgKzM3MTksNyBA
QAogCQkJCTVDQTFERUM3MUY3MUY0MDcwMEU3MUJEMyAvKiBIVFRQSGVhZGVyRmllbGQuY3BwICov
LAogCQkJCTQ2RkEyRkVEMjM4NDZDOUEwMDBDQ0IwQyAvKiBIVFRQSGVhZGVyTWFwLmNwcCAqLywK
IAkJCQk2QjlBQkUxMTIwODY5NTJGMDBENzVERTYgLyogSFRUUFBhcnNlcnMuY3BwICovLAorCQkJ
CTdCMTg0MTdCMjY3Mzg2MDIwMEVENEY4RCAvKiBJbWFnZUJ1ZmZlclRlc3RzLmNwcCAqLywKIAkJ
CQk3QTkwOUE3MzFEODc3NDc1MDA3RTEwRjggLyogSW50UG9pbnRUZXN0cy5jcHAgKi8sCiAJCQkJ
N0E5MDlBNzQxRDg3NzQ3NTAwN0UxMEY4IC8qIEludFJlY3RUZXN0cy5jcHAgKi8sCiAJCQkJN0E5
MDlBNzUxRDg3NzQ3NTAwN0UxMEY4IC8qIEludFNpemVUZXN0cy5jcHAgKi8sCkBAIC01MTk1LDcg
KzUxOTgsNiBAQAogCQkJCUFEN0M0MzREMUREMkE1NEUwMDI2ODg4QiAvKiBFeHBlY3RlZC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlBMzEwODI3MjIxRjI5NkZGMDBDMjhCOTcgLyogRmlsZVN5c3Rl
bS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMzIxMDUxOTI2MTk3OUYzMDAxNTdDNjcgLyogRml4
ZWRWZWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQkNBMzBDN0UyNjZEMkY0MzAwMEQyMzBD
IC8qIFNwYW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMxMENEMzgxRUY3MDhGQjAwNTBGRkUw
IC8qIEZ1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTZCRkQyOTRDMUQ1RTZDMUQwMDhF
Qzk2OCAvKiBIYXNoQ291bnRlZFNldC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzNENjMxRDFG
Q0I3NjIwMDAzMkVDRDYgLyogSGFzaGVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNTI0Niw2ICs1
MjQ4LDcgQEAKIAkJCQlFMzczRDc5MTFGMkNGMzUyMDBDNkZBQUYgLyogU2lnbmFscy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkzM0MyQzlDMTI2NTFGNUI5MDBFNDA3RjYgLyogU21hbGxTZXQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJOTNGQ0RCMzQyNjM2MzE1NjAwNDZERDdEIC8qIFNvcnRlZEFy
cmF5TWFwLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUJDQTMwQzdFMjY2RDJGNDMwMDBEMjMwQyAv
KiBTcGFuLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZFMkJDREM3MjQ3MEZEQTMwMERFQzMzQiAv
KiBTdGRMaWJFeHRyYXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M4M0RGMzIxRDBBNTkwQzAw
RkVCQ0YzIC8qIFN0cmluZ0J1aWxkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NENEMyNkUx
RTJDMEU2RTAwOTI5NDcwIC8qIFN0cmluZ0NvbmNhdGVuYXRlLmNwcCBpbiBTb3VyY2VzICovLApA
QCAtNTUwOCw2ICs1NTExLDcgQEAKIAkJCQk1MTA0Nzc3ODFEMjk5MjNCMDA5NzQ3RUIgLyogSURC
RGVsZXRlUmVjb3ZlcnkubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTEwRkNGQTFFMDFDREI4MDA2
RjhEMEIgLyogSURCSW5kZXhVcGdyYWRlVG9WMi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTkzQkNC
QzgzMjNDQzZGMkEwMENBMjIyMSAvKiBJREJPYmplY3RTdG9yZUluZm9VcGdyYWRlVG9WMi5tbSBp
biBTb3VyY2VzICovLAorCQkJCTdCMTg0MTdDMjY3Mzg2MDIwMEVENEY4RCAvKiBJbWFnZUJ1ZmZl
clRlc3RzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUY0NEE5QUY3MjY0OUJCREQwMEU3Q0IxNiAv
KiBJbW1lZGlhdGVBY3Rpb25UZXN0cy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTQ5QUVFRjZEMjQw
NzM1OUQwMEM4N0U0QyAvKiBJbkFwcEJyb3dzZXJQcml2YWN5Lm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTFBNTg3ODYxRDI3M0FBOTAwNEJBOUFGIC8qIEluZGV4ZWREQkRhdGFiYXNlUHJvY2Vzc0tp
bGwubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViQ29yZS9JbWFnZUJ1ZmZlclRlc3RzLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViQ29yZS9JbWFnZUJ1ZmZlclRlc3RzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNDY0MGFhNmE0OTkx
OTcxNGU3ZTgzYzZhYjQ2ZGQ0NGRkYWQ3OWY1Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0ltYWdlQnVmZmVyVGVzdHMuY3BwCkBAIC0wLDAgKzEs
NTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNsdWRlIDxXZWJD
b3JlL0ltYWdlQnVmZmVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUltYWdlQnVmZmVy
Lmg+CisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OworCisvLyBUZXN0cyB0aGF0IHRoZSBzcGVjaWFsaXplZCBpbWFnZSBidWZmZXIgY29uc3RydWN0
b3JzIGNvbnN0cnVjdCB0aGUgZXhwZWN0ZWQgdHlwZSBvZiBvYmplY3QuCisvLyBUZXN0IHBhc3Nl
cyBpZiB0aGUgdGVzdCBjb21waWxlcywgdGhlcmUgd2FzIGEgYnVnIHdoZXJlIHRoZSBjb2RlIHdv
dWxkbid0IGNvbXBpbGUuCitURVNUKEltYWdlQnVmZmVyVGVzdHMsIEltYWdlQnVmZmVyU3ViVHlw
ZUNyZWF0ZUNyZWF0ZXNTdWJ0eXBlcykKK3sKKyAgICBhdXRvIGNvbG9yU3BhY2UgPSBEZXN0aW5h
dGlvbkNvbG9yU3BhY2U6OlNSR0IoKTsKKyAgICBhdXRvIHBpeGVsRm9ybWF0ID0gUGl4ZWxGb3Jt
YXQ6OkJHUkE4OworICAgIEZsb2F0U2l6ZSBzaXplIHsgMS5mLCAxLmYgfTsKKyAgICBmbG9hdCBz
Y2FsZSA9IDEuZjsKKyAgICBSZWZQdHI8VW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyPiB1bmFjY2Vs
ZXJhdGVkID0gVW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgc2NhbGUsIGNv
bG9yU3BhY2UsIHBpeGVsRm9ybWF0LCBudWxscHRyKTsKKyAgICBSZWZQdHI8QWNjZWxlcmF0ZWRJ
bWFnZUJ1ZmZlcj4gYWNjZWxlcmF0ZWQgPSBBY2NlbGVyYXRlZEltYWdlQnVmZmVyOjpjcmVhdGUo
c2l6ZSwgc2NhbGUsIGNvbG9yU3BhY2UsIHBpeGVsRm9ybWF0LCBudWxscHRyKTsKKyAgICBSZWZQ
dHI8RGlzcGxheUxpc3RBY2NlbGVyYXRlZEltYWdlQnVmZmVyPiBkaXNwbGF5TGlzdEFjY2VsZXJh
dGVkID0gRGlzcGxheUxpc3RBY2NlbGVyYXRlZEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgc2Nh
bGUsIGNvbG9yU3BhY2UsIHBpeGVsRm9ybWF0LCBudWxscHRyKTsKKyAgICBSZWZQdHI8RGlzcGxh
eUxpc3RVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI+IGRpc3BsYXlMaXN0VW5hY2NlbGVyYXRlZCA9
IERpc3BsYXlMaXN0VW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgc2NhbGUs
IGNvbG9yU3BhY2UsIHBpeGVsRm9ybWF0LCBudWxscHRyKTsKKyAgICBFWFBFQ1RfTkUobnVsbHB0
ciwgYWNjZWxlcmF0ZWQpOworICAgIEVYUEVDVF9ORShudWxscHRyLCB1bmFjY2VsZXJhdGVkKTsK
KyAgICBFWFBFQ1RfTkUobnVsbHB0ciwgZGlzcGxheUxpc3RBY2NlbGVyYXRlZCk7CisgICAgRVhQ
RUNUX05FKG51bGxwdHIsIGRpc3BsYXlMaXN0VW5hY2NlbGVyYXRlZCk7Cit9CisKK30K
</data>
<flag name="commit-queue"
          id="452882"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431192</attachid>
            <date>2021-06-11 06:22:06 -0700</date>
            <delta_ts>2021-06-14 02:05:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226917-20210611162203.patch</filename>
            <type>text/plain</type>
            <size>18166</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NzAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWE1ZTk1YzlmNGFmODI5
NzdiNTg5YzBlY2E4MTJlM2ViZGRjZTIxMS4uMDlkOTNjY2NiODY3NTM1ZTQ2NjA3ZGExNWQ3YWVj
OTVlMTA0NTkzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTA2LTExICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWNjZWxlcmF0ZWRJ
bWFnZUJ1ZmZlciBub3QgaW5zdGFudGlhdGVkIGJ1dCBvYmplY3RzIGFyZSBwdW5uZWQgdG8gdGhl
IHR5cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NjkxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFj
Y2VsZXJhdGVkSW1hZ2VCdWZmZXI6OmNyZWF0ZSB3b3VsZCBjcmVhdGUgaW5zdGFuY2UKKyAgICAg
ICAgb2YgQ29uY3JldGVJbWFnZUJ1ZmZlciwgbm90IEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIuCisK
KyAgICAgICAgRml4IGJ5IGFkZGluZyBhIGNvcnJlY3QgY3JlYXRlIHN0YXRpYyBmdW5jdGlvbi4K
KworICAgICAgICBUZXN0ZWQgYnkgbmV3IHRlc3Q6CisgICAgICAgIFRlc3RXZWJLaXRBUEkuSW1h
Z2VCdWZmZXJUZXN0cy5JbWFnZUJ1ZmZlclN1YlR5cGVDcmVhdGVDcmVhdGVzU3VidHlwZXMKKwor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1BsYXRmb3JtSW1hZ2VCdWZmZXIuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OklPU3VyZmFjZUltYWdlQnVmZmVyOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6SU9TdXJmYWNlSW1hZ2VCdWZmZXI6OklPU3VyZmFjZUltYWdlQnVmZmVyKToKKyAgICAg
ICAgQWRkIHRoZSBjb3JyZWN0IGZhY3RvcnkgZnVuY3Rpb24gYW5kIHB1YmxpYyBjb25zdHJ1Y3Rv
ci4KKyAgICAgICAgTW92ZXMgdGhlIGhlbHBlciBJbWFnZUJ1ZmZlckJhY2tlbmQgdHlwZSBhbGlh
c2VzIHRvIERldGFpbAorICAgICAgICBuYW1lc3BhY2UgaW4gb3JkZXIgdG8gY29tbXVuaWNhdGUg
dGhhdCB0aGV5J3JlIG5vdCBpbnRlbmRlZAorICAgICAgICBBUEkuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZC5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFn
ZS5tbToKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlOjpp
bWFnZUZvclNvdXJjZUdyYXBoaWMpOgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0UmVu
ZGVyZXJDb3JlSW1hZ2U6OnJlbmRlclRvSW1hZ2VCdWZmZXIpOgorICAgICAgICBDaGFuZ2UgdGhl
IGltYWdlIGNyZWF0aW9uIHNpdGUgdG8gY3JlYXRlIHRoZSBleHBsaWNpdCBJT1N1cmZhY2VJbWFn
ZUJ1ZmZlcgorICAgICAgICBzaW5jZSB0aGF0J3Mgd2hhdCBpdCdzIHRyeWluZyB0byBjcmVhdGUu
CisgICAgICAgIENoYW5nZSB0aGUgdHlwZS1wdW5uaW5nIGNhbGwgc2l0ZXMgdG8gdXNlIGV4cGxp
Y2l0CisgICAgICAgIElPU3VyZmFjZUltYWdlQnVmZmVyIG5hbWUsIGFzIHRoYXQncyB3aGF0IHRo
ZSBjYWxsIHNpdGUKKyAgICAgICAgaXMgaW50ZW5kaW5nIHRvIHVzZS4KKworCiAyMDIxLTA2LTEw
ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViR0wg
Y29udGV4dCBpbWFnZSBidWZmZXIgYWNjdW11bGF0ZXMgdGhlIE5hdGl2ZUltYWdlIGNvbnRlbnRz
IHdoZW4gZHJhd24gdG8gUmVtb3RlSW1hZ2VCdWZmZXJQcm94eQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1JbWFnZUJ1ZmZlci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1JbWFnZUJ1ZmZlci5oCmluZGV4IDUy
ZGQ4M2NjOTNkNTU1M2IzNzllNTg3ZDQzODVkNGY3ODA1OTQ0YmIuLmM3MjZlY2IzZmQyMzdkY2Nl
ODkwNjhjY2U3ZmJmMzUxZDUxY2Y2ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1BsYXRmb3JtSW1hZ2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9QbGF0Zm9ybUltYWdlQnVmZmVyLmgKQEAgLTQyLDYgKzQyLDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCituYW1lc3BhY2UgRGV0YWlsIHsKKwogI2lmIFVTRShD
RykKIHVzaW5nIFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQgPSBJbWFnZUJ1ZmZlckNH
Qml0bWFwQmFja2VuZDsKICNlbGlmIFVTRShESVJFQ1QyRCkKQEAgLTU2LDI0ICs1OCw0MCBAQCB1
c2luZyBBY2NlbGVyYXRlZEltYWdlQnVmZmVyQmFja2VuZCA9IEltYWdlQnVmZmVySU9TdXJmYWNl
QmFja2VuZDsKIHVzaW5nIEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5kID0gVW5hY2NlbGVy
YXRlZEltYWdlQnVmZmVyQmFja2VuZDsKICNlbmRpZgogCi11c2luZyBVbmFjY2VsZXJhdGVkSW1h
Z2VCdWZmZXIgPSBDb25jcmV0ZUltYWdlQnVmZmVyPFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJh
Y2tlbmQ+OworfQorCit1c2luZyBVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIgPSBDb25jcmV0ZUlt
YWdlQnVmZmVyPERldGFpbDo6VW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyQmFja2VuZD47Cit1c2lu
ZyBEaXNwbGF5TGlzdFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlciA9IERpc3BsYXlMaXN0OjpJbWFn
ZUJ1ZmZlcjxEZXRhaWw6OlVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQ+OwordXNpbmcg
RGlzcGxheUxpc3RBY2NlbGVyYXRlZEltYWdlQnVmZmVyID0gRGlzcGxheUxpc3Q6OkltYWdlQnVm
ZmVyPERldGFpbDo6QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQ+OwogCiAjaWYgSEFWRShJ
T1NVUkZBQ0UpCi1jbGFzcyBBY2NlbGVyYXRlZEltYWdlQnVmZmVyIDogcHVibGljIENvbmNyZXRl
SW1hZ2VCdWZmZXI8SW1hZ2VCdWZmZXJJT1N1cmZhY2VCYWNrZW5kPiB7Ci0gICAgdXNpbmcgQmFz
ZSA9IENvbmNyZXRlSW1hZ2VCdWZmZXI8QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQ+Owot
ICAgIHVzaW5nIEJhc2U6OkJhc2U7CitjbGFzcyBJT1N1cmZhY2VJbWFnZUJ1ZmZlciA6IHB1Ymxp
YyBDb25jcmV0ZUltYWdlQnVmZmVyPEltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZD4geworICAg
IHVzaW5nIEJhc2UgPSBDb25jcmV0ZUltYWdlQnVmZmVyPEltYWdlQnVmZmVySU9TdXJmYWNlQmFj
a2VuZD47CiBwdWJsaWM6CisgICAgc3RhdGljIGF1dG8gY3JlYXRlKGNvbnN0IFdlYkNvcmU6OkZs
b2F0U2l6ZSYgc2l6ZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxlLCBjb25zdCBXZWJDb3JlOjpEZXN0
aW5hdGlvbkNvbG9yU3BhY2UmIGNvbG9yU3BhY2UsIFdlYkNvcmU6OlBpeGVsRm9ybWF0IHBpeGVs
Rm9ybWF0LCBjb25zdCBIb3N0V2luZG93KiBob3N0V2luZG93ID0gbnVsbHB0cikKKyAgICB7Cisg
ICAgICAgIHJldHVybiBCYXNlOjpjcmVhdGU8SU9TdXJmYWNlSW1hZ2VCdWZmZXI+KHNpemUsIHJl
c29sdXRpb25TY2FsZSwgY29sb3JTcGFjZSwgcGl4ZWxGb3JtYXQsIGhvc3RXaW5kb3cpOworICAg
IH0KKyAgICBzdGF0aWMgYXV0byBjcmVhdGUoY29uc3QgRmxvYXRTaXplJiBzaXplLCBjb25zdCBH
cmFwaGljc0NvbnRleHQmIGNvbnRleHQpCisgICAgeworICAgICAgICByZXR1cm4gQmFzZTo6Y3Jl
YXRlPElPU3VyZmFjZUltYWdlQnVmZmVyPihzaXplLCBjb250ZXh0KTsKKyAgICB9CisgICAgSU9T
dXJmYWNlSW1hZ2VCdWZmZXIoY29uc3QgV2ViQ29yZTo6SW1hZ2VCdWZmZXJCYWNrZW5kOjpQYXJh
bWV0ZXJzJiBwYXJhbWV0ZXJzLCBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXJJT1N1cmZhY2VC
YWNrZW5kPiYmIGJhY2tlbmQpCisgICAgICAgIDogQmFzZShwYXJhbWV0ZXJzLCBXVEZNb3ZlKGJh
Y2tlbmQpKQorICAgIHsKKyAgICB9CiAgICAgSU9TdXJmYWNlJiBzdXJmYWNlKCkgeyByZXR1cm4g
Km1fYmFja2VuZC0+c3VyZmFjZSgpOyB9CiB9OwordXNpbmcgQWNjZWxlcmF0ZWRJbWFnZUJ1ZmZl
ciA9IElPU3VyZmFjZUltYWdlQnVmZmVyOwogI2Vsc2UKLXVzaW5nIEFjY2VsZXJhdGVkSW1hZ2VC
dWZmZXIgPSBDb25jcmV0ZUltYWdlQnVmZmVyPEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5k
PjsKK3VzaW5nIEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIgPSBDb25jcmV0ZUltYWdlQnVmZmVyPERl
dGFpbDo6VW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyQmFja2VuZD47CiAjZW5kaWYKIAotdXNpbmcg
RGlzcGxheUxpc3RVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIgPSBEaXNwbGF5TGlzdDo6SW1hZ2VC
dWZmZXI8VW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyQmFja2VuZD47Ci11c2luZyBEaXNwbGF5TGlz
dEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIgPSBEaXNwbGF5TGlzdDo6SW1hZ2VCdWZmZXI8QWNjZWxl
cmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQ+OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLVNQ
RUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZl
cikKKyNpZiBIQVZFKElPU1VSRkFDRSkKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2Vi
Q29yZTo6SU9TdXJmYWNlSW1hZ2VCdWZmZXIpCiAgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0
IFdlYkNvcmU6OkltYWdlQnVmZmVyJiBidWZmZXIpIHsgcmV0dXJuIGJ1ZmZlci5yZW5kZXJpbmdN
b2RlKCkgPT0gV2ViQ29yZTo6UmVuZGVyaW5nTW9kZTo6QWNjZWxlcmF0ZWQ7IH0KIFNQRUNJQUxJ
WkVfVFlQRV9UUkFJVFNfRU5EKCkKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5k
LmgKaW5kZXggYzg5MGU5ZmU4ZjJlODY0ZjUwYjY4ODljOWViNGYwZjU4NzJiYjkxOC4uZTFjM2Uy
YTQ3NmYyMzJiMzk3NDM4YTRkYWZhNDFkYTQ4M2EzMjgyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQml0
bWFwQmFja2VuZC5oCkBAIC0zNiwxMyArMzYsMTMgQEAgY2xhc3MgSW1hZ2VCdWZmZXJDR0JpdG1h
cEJhY2tlbmQgOiBwdWJsaWMgSW1hZ2VCdWZmZXJDR0JhY2tlbmQgewogICAgIFdURl9NQUtFX0lT
T19BTExPQ0FURUQoSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQpOwogICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kKTsKIHB1YmxpYzoKLSAgICBzdGF0
aWMgSW50U2l6ZSBjYWxjdWxhdGVTYWZlQmFja2VuZFNpemUoY29uc3QgUGFyYW1ldGVycyYpOwot
ICAgIHN0YXRpYyBzaXplX3QgY2FsY3VsYXRlTWVtb3J5Q29zdChjb25zdCBQYXJhbWV0ZXJzJik7
CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIEludFNpemUgY2FsY3VsYXRlU2FmZUJhY2tlbmRT
aXplKGNvbnN0IFBhcmFtZXRlcnMmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgc2l6ZV90
IGNhbGN1bGF0ZU1lbW9yeUNvc3QoY29uc3QgUGFyYW1ldGVycyYpOwogCi0gICAgc3RhdGljIHN0
ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZD4gY3JlYXRlKGNvbnN0IFBh
cmFtZXRlcnMmLCBjb25zdCBIb3N0V2luZG93Kik7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGlj
IHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZD4gY3JlYXRlKGNvbnN0
IFBhcmFtZXRlcnMmLCBjb25zdCBIb3N0V2luZG93Kik7CiAKICAgICAvLyBGSVhNRTogUmVuYW1l
IHRvIGNyZWF0ZVVzaW5nQ29sb3JTcGFjZU9mR3JhcGhpY3NDb250ZXh0KCkgKG9yIHNvbWV0aGlu
ZyBsaWtlIHRoYXQpLgotICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXJDR0Jp
dG1hcEJhY2tlbmQ+IGNyZWF0ZShjb25zdCBQYXJhbWV0ZXJzJiwgY29uc3QgR3JhcGhpY3NDb250
ZXh0Jik7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1
ZmZlckNHQml0bWFwQmFja2VuZD4gY3JlYXRlKGNvbnN0IFBhcmFtZXRlcnMmLCBjb25zdCBHcmFw
aGljc0NvbnRleHQmKTsKIAogICAgIEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCgpIGNvbnN0IG92
ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1h
Z2UubW0KaW5kZXggNDdmM2Y4MDE4NmJhOWI1ZDhjNjFiMTYwYjQ2YjU3YzBkODVmZjc0Yy4uNTVh
NWZhODgxMTQwZjMzNWUzZmZkNzA2YzQxOWMyMDU3MzJkM2Q2MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZWltYWdlL0ZpbHRlckVmZmVjdFJlbmRlcmVy
Q29yZUltYWdlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVp
bWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5tbQpAQCAtMTc1LDggKzE3NSw4IEBA
IFJldGFpblB0cjxDSUltYWdlPiBGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6aW1hZ2VG
b3JTb3VyY2VHcmFwaGljKFNvdXJjZUdyCiAgICAgaWYgKCFzb3VyY2VJbWFnZSkKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAgICAgCi0gICAgaWYgKGlzPEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI+
KCpzb3VyY2VJbWFnZSkpCi0gICAgICAgIHJldHVybiBbQ0lJbWFnZSBpbWFnZVdpdGhJT1N1cmZh
Y2U6ZG93bmNhc3Q8QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcj4oKnNvdXJjZUltYWdlKS5zdXJmYWNl
KCkuc3VyZmFjZSgpXTsKKyAgICBpZiAoaXM8SU9TdXJmYWNlSW1hZ2VCdWZmZXI+KCpzb3VyY2VJ
bWFnZSkpCisgICAgICAgIHJldHVybiBbQ0lJbWFnZSBpbWFnZVdpdGhJT1N1cmZhY2U6ZG93bmNh
c3Q8SU9TdXJmYWNlSW1hZ2VCdWZmZXI+KCpzb3VyY2VJbWFnZSkuc3VyZmFjZSgpLnN1cmZhY2Uo
KV07CiAgICAgCiAgICAgcmV0dXJuIFtDSUltYWdlIGltYWdlV2l0aENHSW1hZ2U6c291cmNlSW1h
Z2UtPmNvcHlOYXRpdmVJbWFnZSgpLT5wbGF0Zm9ybUltYWdlKCkuZ2V0KCldOwogfQpAQCAtMjc1
LDIxICsyNzUsMTcgQEAgSW1hZ2VCdWZmZXIqIEZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdl
OjpvdXRwdXQoKSBjb25zdAogICAgIAogdm9pZCBGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFn
ZTo6cmVuZGVyVG9JbWFnZUJ1ZmZlcihGaWx0ZXJFZmZlY3QmIGxhc3RFZmZlY3QpCiB7CisgICAg
bV9vdXRwdXRJbWFnZUJ1ZmZlciA9IG51bGxwdHI7CiAgICAgRmxvYXRTaXplIGNsYW1wZWRTaXpl
ID0gSW1hZ2VCdWZmZXI6OmNsYW1wZWRTaXplKGxhc3RFZmZlY3QuYWJzb2x1dGVQYWludFJlY3Qo
KS5zaXplKCkpOwotICAgIG1fb3V0cHV0SW1hZ2VCdWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRl
KGNsYW1wZWRTaXplLCBSZW5kZXJpbmdNb2RlOjpBY2NlbGVyYXRlZCwgbGFzdEVmZmVjdC5maWx0
ZXIoKS5maWx0ZXJTY2FsZSgpLCBsYXN0RWZmZWN0LnJlc3VsdENvbG9yU3BhY2UoKSwgUGl4ZWxG
b3JtYXQ6OkJHUkE4KTsKKyAgICBhdXRvIG91dHB1dEltYWdlQnVmZmVyID0gSU9TdXJmYWNlSW1h
Z2VCdWZmZXI6OmNyZWF0ZShjbGFtcGVkU2l6ZSwgbGFzdEVmZmVjdC5maWx0ZXIoKS5maWx0ZXJT
Y2FsZSgpLCBsYXN0RWZmZWN0LnJlc3VsdENvbG9yU3BhY2UoKSwgUGl4ZWxGb3JtYXQ6OkJHUkE4
KTsKICAgICAKLSAgICBpZiAoIW1fb3V0cHV0SW1hZ2VCdWZmZXIpIHsKKyAgICBpZiAoIW91dHB1
dEltYWdlQnVmZmVyKSB7CiAgICAgICAgIGNsZWFyUmVzdWx0KCk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9Ci0gICAgCi0gICAgLy8gRklYTUU6IEluIHRoZSBzaXR1YXRpb24gd2hlcmUgdGhlIElt
YWdlIGlzIHRvbyBsYXJnZSwgYW4gVW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyIHdpbGwgYmUgY3Jl
YXRlZAotICAgIC8vIGluIHRoaXMgY2FzZSwgc3BlY2lhbCBoYW5kbGluZyBpcyBuZWVkZWQgdG8g
cmVuZGVyIHRvIEltYWdlQnVmZmVyQ0dCYWNrZW5kIGluc3RlYWQKLSAgICBpZiAoIWlzPEFjY2Vs
ZXJhdGVkSW1hZ2VCdWZmZXI+KCptX291dHB1dEltYWdlQnVmZmVyKSkKLSAgICAgICAgcmV0dXJu
OwotICAgIAotICAgIGF1dG8mIHN1cmZhY2UgPSBkb3duY2FzdDxBY2NlbGVyYXRlZEltYWdlQnVm
ZmVyPigqbV9vdXRwdXRJbWFnZUJ1ZmZlcikuc3VyZmFjZSgpOwotICAgIFtzaGFyZWRDSUNvbnRl
eHQoKS5nZXQoKSByZW5kZXI6IG1fb3V0cHV0SW1hZ2UuZ2V0KCkgdG9JT1N1cmZhY2U6IHN1cmZh
Y2Uuc3VyZmFjZSgpIGJvdW5kczpkZXN0UmVjdChsYXN0RWZmZWN0KSBjb2xvclNwYWNlOmxhc3RF
ZmZlY3QucmVzdWx0Q29sb3JTcGFjZSgpLnBsYXRmb3JtQ29sb3JTcGFjZSgpXTsKKworICAgIFtz
aGFyZWRDSUNvbnRleHQoKS5nZXQoKSByZW5kZXI6IG1fb3V0cHV0SW1hZ2UuZ2V0KCkgdG9JT1N1
cmZhY2U6IG91dHB1dEltYWdlQnVmZmVyLT5zdXJmYWNlKCkuc3VyZmFjZSgpIGJvdW5kczpkZXN0
UmVjdChsYXN0RWZmZWN0KSBjb2xvclNwYWNlOmxhc3RFZmZlY3QucmVzdWx0Q29sb3JTcGFjZSgp
LnBsYXRmb3JtQ29sb3JTcGFjZSgpXTsKKyAgICBtX291dHB1dEltYWdlQnVmZmVyID0gV1RGTW92
ZShvdXRwdXRJbWFnZUJ1ZmZlcik7CiB9CiAgICAgCiBGbG9hdFJlY3QgRmlsdGVyRWZmZWN0UmVu
ZGVyZXJDb3JlSW1hZ2U6OmRlc3RSZWN0KGNvbnN0IEZpbHRlckVmZmVjdCYgbGFzdEVmZmVjdCkg
Y29uc3QKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRl
eCA1NDc4OTE0YjhiZmNjNTc5NWU0MGEyMTcyNjNiN2IxMTA1NTk0NzRiLi5kMzdmNWVjZDBiYmY2
ZGRjNGI3ZWJhNjdmZDk5YjE0NzQwMTE4MmQ4IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cK
KysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDYtMTEgIEtpbW1v
IEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBBY2NlbGVyYXRlZElt
YWdlQnVmZmVyIG5vdCBpbnN0YW50aWF0ZWQgYnV0IG9iamVjdHMgYXJlIHB1bm5lZCB0byB0aGUg
dHlwZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2
OTE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIEFkZCBu
ZXcgdGVzdAorICAgICAgICBUZXN0V2ViS2l0QVBJLkltYWdlQnVmZmVyVGVzdHMuSW1hZ2VCdWZm
ZXJTdWJUeXBlQ3JlYXRlQ3JlYXRlc1N1YnR5cGVzCisgICAgICAgIHRvIHRlc3QgdGhhdCB0aGUg
Y29kZSBjb21waWxlcy4KKyAgICAgICAgQmVmb3JlLCBpdCB3b3VsZCBmYWlsIHdpdGg6CisgICAg
ICAgICAgYGVycm9yOiBjYW5ub3QgaW5pdGlhbGl6ZSBhIG1lbWJlciBzdWJvYmplY3Qgb2YgdHlw
ZSAndHlwZW5hbWUgUHRyVHJhaXRzOjpTdG9yYWdlVHlwZScgKGFrYSAnV2ViQ29yZTo6QWNjZWxl
cmF0ZWRJbWFnZUJ1ZmZlciAqJykgd2l0aCBhbiAKKyAgICAgICAgICAgcnZhbHVlIG9mIHR5cGUg
J1dlYkNvcmU6OkNvbmNyZXRlSW1hZ2VCdWZmZXI8V2ViQ29yZTo6SW1hZ2VCdWZmZXJJT1N1cmZh
Y2VCYWNrZW5kPiAqJ2AKKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViQ29yZS9JbWFnZUJ1ZmZlclRlc3RzLmNwcDogQWRkZWQuCisgICAgICAgIChUZXN0V2ViS2l0
QVBJOjpURVNUKToKKwogMjAyMS0wNi0xMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtKU0NdIFJlbW92ZSB1c2VEYXRhSUNJbk9wdGltaXppbmdKSVQgb3B0
aW9uCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGQwNzJlYzMzMDRiNjhlOWFkNWNlOWU3NWM2
ZGQ0OGRhZTVlNGVmNGEuLjI1YzYxMjA1MmNkODhlY2Y0ZWRkYmRmM2RhYmZmYTkyODAzMmQwOGEg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01ODksNiArNTg5LDcgQEAKIAkJN0FFOUU1MDkx
QUU1QUU4QjAwQ0Y4NzRCIC8qIHRlc3QucGRmIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRTlFNTA4MUFFNUFFOEIwMENGODc0QiAvKiB0ZXN0
LnBkZiAqLzsgfTsKIAkJN0FFQUQ0N0YxRTIwMTE2QzAwNDE2RUZFIC8qIENyb3NzUGFydGl0aW9u
RmlsZVNjaGVtZUFjY2Vzcy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdBRUFENDdDMUUyMDExMzgwMDQxNkVGRSAvKiBDcm9zc1BhcnRpdGlvbkZpbGVT
Y2hlbWVBY2Nlc3MubW0gKi87IH07CiAJCTdBRUFENDgxMUUyMDEyMjcwMDQxNkVGRSAvKiBDcm9z
c1BhcnRpdGlvbkZpbGVTY2hlbWVBY2Nlc3MuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUVBRDQ3RDFFMjAxMTRFMDA0MTZFRkUgLyog
Q3Jvc3NQYXJ0aXRpb25GaWxlU2NoZW1lQWNjZXNzLmh0bWwgKi87IH07CisJCTdCMTg0MTdDMjY3
Mzg2MDIwMEVENEY4RCAvKiBJbWFnZUJ1ZmZlclRlc3RzLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCMTg0MTdCMjY3Mzg2MDIwMEVENEY4RCAvKiBJ
bWFnZUJ1ZmZlclRlc3RzLmNwcCAqLzsgfTsKIAkJN0IyNzM5RjMyNjMyQUI2NDAwNDBGMTgyIC8q
IFRocmVhZEFzc2VydGlvbnNUZXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDdCMjczOUYyMjYzMkFCNjQwMDQwRjE4MiAvKiBUaHJlYWRBc3NlcnRp
b25zVGVzdC5jcHAgKi87IH07CiAJCTdCN0QwOTZBMjUxOUY4RjkwMDE3QTA3OCAvKiBXZWJHTE5v
Q3Jhc2hPbk90aGVyVGhyZWFkQWNjZXNzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0I3RDA5NjkyNTE5RjhGOTAwMTdBMDc4IC8qIFdlYkdMTm9DcmFz
aE9uT3RoZXJUaHJlYWRBY2Nlc3MubW0gKi87IH07CiAJCTdDMUFGNzk1MUU4RENCQUIwMDI2NDVC
OSAvKiBQcmVwYXJlRm9yTW92ZVRvV2luZG93Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0MxQUY3OTMxRThEQ0JBQjAwMjY0NUI5IC8qIFByZXBhcmVG
b3JNb3ZlVG9XaW5kb3cubW0gKi87IH07CkBAIC0yNDU2LDYgKzI0NTcsNyBAQAogCQk3QUU5RTUw
ODFBRTVBRThCMDBDRjg3NEIgLyogdGVzdC5wZGYgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBpbWFnZS5wZGY7IHBhdGggPSB0ZXN0LnBkZjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0FFQUQ0N0MxRTIwMTEzODAwNDE2RUZFIC8qIENyb3Nz
UGFydGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IENyb3NzUGFydGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0FFQUQ0N0QxRTIwMTE0RTAwNDE2RUZFIC8qIENyb3NzUGFy
dGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBuYW1lID0g
Q3Jvc3NQYXJ0aXRpb25GaWxlU2NoZW1lQWNjZXNzLmh0bWw7IHBhdGggPSBUZXN0cy9tYWMvQ3Jv
c3NQYXJ0aXRpb25GaWxlU2NoZW1lQWNjZXNzLmh0bWw7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9P
VDsgfTsKKwkJN0IxODQxN0IyNjczODYwMjAwRUQ0RjhEIC8qIEltYWdlQnVmZmVyVGVzdHMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW1hZ2VCdWZmZXJUZXN0cy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdCMjczOUYyMjYzMkFCNjQwMDQwRjE4
MiAvKiBUaHJlYWRBc3NlcnRpb25zVGVzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBUaHJlYWRBc3NlcnRpb25zVGVzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTdCN0QwOTY5MjUxOUY4RjkwMDE3QTA3OCAvKiBXZWJHTE5vQ3Jhc2hPbk90aGVy
VGhyZWFkQWNjZXNzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViR0xOb0NyYXNoT25PdGhl
clRocmVhZEFjY2Vzcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0MxQUY3OTMx
RThEQ0JBQjAwMjY0NUI5IC8qIFByZXBhcmVGb3JNb3ZlVG9XaW5kb3cubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQcmVwYXJlRm9yTW92ZVRvV2luZG93Lm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzcxNyw2ICszNzE5LDcgQEAKIAkJCQk1Q0Ex
REVDNzFGNzFGNDA3MDBFNzFCRDMgLyogSFRUUEhlYWRlckZpZWxkLmNwcCAqLywKIAkJCQk0NkZB
MkZFRDIzODQ2QzlBMDAwQ0NCMEMgLyogSFRUUEhlYWRlck1hcC5jcHAgKi8sCiAJCQkJNkI5QUJF
MTEyMDg2OTUyRjAwRDc1REU2IC8qIEhUVFBQYXJzZXJzLmNwcCAqLywKKwkJCQk3QjE4NDE3QjI2
NzM4NjAyMDBFRDRGOEQgLyogSW1hZ2VCdWZmZXJUZXN0cy5jcHAgKi8sCiAJCQkJN0E5MDlBNzMx
RDg3NzQ3NTAwN0UxMEY4IC8qIEludFBvaW50VGVzdHMuY3BwICovLAogCQkJCTdBOTA5QTc0MUQ4
Nzc0NzUwMDdFMTBGOCAvKiBJbnRSZWN0VGVzdHMuY3BwICovLAogCQkJCTdBOTA5QTc1MUQ4Nzc0
NzUwMDdFMTBGOCAvKiBJbnRTaXplVGVzdHMuY3BwICovLApAQCAtNTE5NSw3ICs1MTk4LDYgQEAK
IAkJCQlBRDdDNDM0RDFERDJBNTRFMDAyNjg4OEIgLyogRXhwZWN0ZWQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQTMxMDgyNzIyMUYyOTZGRjAwQzI4Qjk3IC8qIEZpbGVTeXN0ZW0uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRTMyMTA1MTkyNjE5NzlGMzAwMTU3QzY3IC8qIEZpeGVkVmVjdG9yLmNw
cCBpbiBTb3VyY2VzICovLAotCQkJCUJDQTMwQzdFMjY2RDJGNDMwMDBEMjMwQyAvKiBTcGFuLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTkzMTBDRDM4MUVGNzA4RkIwMDUwRkZFMCAvKiBGdW5jdGlv
bi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2QkZEMjk0QzFENUU2QzFEMDA4RUM5NjggLyogSGFz
aENvdW50ZWRTZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMzRDYzMUQxRkNCNzYyMDAwMzJF
Q0Q2IC8qIEhhc2hlci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTUyNDYsNiArNTI0OCw3IEBACiAJ
CQkJRTM3M0Q3OTExRjJDRjM1MjAwQzZGQUFGIC8qIFNpZ25hbHMuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMzNDMkM5QzEyNjUxRjVCOTAwRTQwN0Y2IC8qIFNtYWxsU2V0LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTkzRkNEQjM0MjYzNjMxNTYwMDQ2REQ3RCAvKiBTb3J0ZWRBcnJheU1hcC5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQlCQ0EzMEM3RTI2NkQyRjQzMDAwRDIzMEMgLyogU3Bhbi5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlGRTJCQ0RDNzI0NzBGREEzMDBERUMzM0IgLyogU3RkTGliRXh0
cmFzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDODNERjMyMUQwQTU5MEMwMEZFQkNGMyAvKiBT
dHJpbmdCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDRDRDMjZFMUUyQzBFNkUwMDky
OTQ3MCAvKiBTdHJpbmdDb25jYXRlbmF0ZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTU1MDgsNiAr
NTUxMSw3IEBACiAJCQkJNTEwNDc3NzgxRDI5OTIzQjAwOTc0N0VCIC8qIElEQkRlbGV0ZVJlY292
ZXJ5Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTExMEZDRkExRTAxQ0RCODAwNkY4RDBCIC8qIElE
QkluZGV4VXBncmFkZVRvVjIubW0gaW4gU291cmNlcyAqLywKIAkJCQk5M0JDQkM4MzIzQ0M2RjJB
MDBDQTIyMjEgLyogSURCT2JqZWN0U3RvcmVJbmZvVXBncmFkZVRvVjIubW0gaW4gU291cmNlcyAq
LywKKwkJCQk3QjE4NDE3QzI2NzM4NjAyMDBFRDRGOEQgLyogSW1hZ2VCdWZmZXJUZXN0cy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlGNDRBOUFGNzI2NDlCQkREMDBFN0NCMTYgLyogSW1tZWRpYXRl
QWN0aW9uVGVzdHMubW0gaW4gU291cmNlcyAqLywKIAkJCQk0OUFFRUY2RDI0MDczNTlEMDBDODdF
NEMgLyogSW5BcHBCcm93c2VyUHJpdmFjeS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxQTU4Nzg2
MUQyNzNBQTkwMDRCQTlBRiAvKiBJbmRleGVkREJEYXRhYmFzZVByb2Nlc3NLaWxsLm1tIGluIFNv
dXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUv
SW1hZ2VCdWZmZXJUZXN0cy5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUv
SW1hZ2VCdWZmZXJUZXN0cy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDQ2NDBhYTZhNDk5MTk3MTRlN2U4M2M2
YWI0NmRkNDRkZGFkNzlmNQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViQ29yZS9JbWFnZUJ1ZmZlclRlc3RzLmNwcApAQCAtMCwwICsxLDUyIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSA8V2ViQ29yZS9JbWFnZUJ1
ZmZlci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1JbWFnZUJ1ZmZlci5oPgorCituYW1l
c3BhY2UgVGVzdFdlYktpdEFQSSB7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworLy8gVGVz
dHMgdGhhdCB0aGUgc3BlY2lhbGl6ZWQgaW1hZ2UgYnVmZmVyIGNvbnN0cnVjdG9ycyBjb25zdHJ1
Y3QgdGhlIGV4cGVjdGVkIHR5cGUgb2Ygb2JqZWN0LgorLy8gVGVzdCBwYXNzZXMgaWYgdGhlIHRl
c3QgY29tcGlsZXMsIHRoZXJlIHdhcyBhIGJ1ZyB3aGVyZSB0aGUgY29kZSB3b3VsZG4ndCBjb21w
aWxlLgorVEVTVChJbWFnZUJ1ZmZlclRlc3RzLCBJbWFnZUJ1ZmZlclN1YlR5cGVDcmVhdGVDcmVh
dGVzU3VidHlwZXMpCit7CisgICAgYXV0byBjb2xvclNwYWNlID0gRGVzdGluYXRpb25Db2xvclNw
YWNlOjpTUkdCKCk7CisgICAgYXV0byBwaXhlbEZvcm1hdCA9IFBpeGVsRm9ybWF0OjpCR1JBODsK
KyAgICBGbG9hdFNpemUgc2l6ZSB7IDEuZiwgMS5mIH07CisgICAgZmxvYXQgc2NhbGUgPSAxLmY7
CisgICAgUmVmUHRyPFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcj4gdW5hY2NlbGVyYXRlZCA9IFVu
YWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNpemUsIHNjYWxlLCBjb2xvclNwYWNlLCBw
aXhlbEZvcm1hdCwgbnVsbHB0cik7CisgICAgUmVmUHRyPEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI+
IGFjY2VsZXJhdGVkID0gQWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNpemUsIHNjYWxl
LCBjb2xvclNwYWNlLCBwaXhlbEZvcm1hdCwgbnVsbHB0cik7CisgICAgUmVmUHRyPERpc3BsYXlM
aXN0QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcj4gZGlzcGxheUxpc3RBY2NlbGVyYXRlZCA9IERpc3Bs
YXlMaXN0QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNpemUsIHNjYWxlLCBjb2xvclNw
YWNlLCBwaXhlbEZvcm1hdCwgbnVsbHB0cik7CisgICAgUmVmUHRyPERpc3BsYXlMaXN0VW5hY2Nl
bGVyYXRlZEltYWdlQnVmZmVyPiBkaXNwbGF5TGlzdFVuYWNjZWxlcmF0ZWQgPSBEaXNwbGF5TGlz
dFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNpemUsIHNjYWxlLCBjb2xvclNwYWNl
LCBwaXhlbEZvcm1hdCwgbnVsbHB0cik7CisgICAgRVhQRUNUX05FKG51bGxwdHIsIGFjY2VsZXJh
dGVkKTsKKyAgICBFWFBFQ1RfTkUobnVsbHB0ciwgdW5hY2NlbGVyYXRlZCk7CisgICAgRVhQRUNU
X05FKG51bGxwdHIsIGRpc3BsYXlMaXN0QWNjZWxlcmF0ZWQpOworICAgIEVYUEVDVF9ORShudWxs
cHRyLCBkaXNwbGF5TGlzdFVuYWNjZWxlcmF0ZWQpOworfQorCit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431306</attachid>
            <date>2021-06-14 02:05:09 -0700</date>
            <delta_ts>2021-06-14 02:09:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226917-20210614120508.patch</filename>
            <type>text/plain</type>
            <size>17674</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4ODIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzU4Y2EyMzBmMmZlMTZm
MjExNjNlN2VmMGIxMmY2ZGU1MjFjOWVjNC4uYTNlMGM1MDZkZWMwMjM1ODNiMWNmMGYzNDU4NzQ5
NDY4YWM3ZWJiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIxLTA2LTExICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWNjZWxlcmF0ZWRJ
bWFnZUJ1ZmZlciBub3QgaW5zdGFudGlhdGVkIGJ1dCBvYmplY3RzIGFyZSBwdW5uZWQgdG8gdGhl
IHR5cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NjkxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFj
Y2VsZXJhdGVkSW1hZ2VCdWZmZXI6OmNyZWF0ZSB3b3VsZCBjcmVhdGUgaW5zdGFuY2UKKyAgICAg
ICAgb2YgQ29uY3JldGVJbWFnZUJ1ZmZlciwgbm90IEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIuCisK
KyAgICAgICAgRml4IGJ5IGFkZGluZyBhIGNvcnJlY3QgY3JlYXRlIHN0YXRpYyBmdW5jdGlvbi4K
KworICAgICAgICBUZXN0ZWQgYnkgbmV3IHRlc3Q6CisgICAgICAgIFRlc3RXZWJLaXRBUEkuSW1h
Z2VCdWZmZXJUZXN0cy5JbWFnZUJ1ZmZlclN1YlR5cGVDcmVhdGVDcmVhdGVzU3VidHlwZXMKKwor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1BsYXRmb3JtSW1hZ2VCdWZmZXIuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OklPU3VyZmFjZUltYWdlQnVmZmVyOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6SU9TdXJmYWNlSW1hZ2VCdWZmZXI6OklPU3VyZmFjZUltYWdlQnVmZmVyKToKKyAgICAg
ICAgQWRkIHRoZSBjb3JyZWN0IGZhY3RvcnkgZnVuY3Rpb25zIGFuZCBwdWJsaWMgY29uc3RydWN0
b3JzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDR0JpdG1h
cEJhY2tlbmQuaDoKKyAgICAgICAgQWRkIGV4cG9ydCBzdGF0ZW1lbnRzIHRoYXQgYXJlIG5lZWRl
ZCBmb3IgdGhlIGFkZGVkIHRlc3QuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb3Jl
aW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UubW06CisgICAgICAgIChXZWJDb3Jl
OjpGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6aW1hZ2VGb3JTb3VyY2VHcmFwaGljKToK
KyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlOjpyZW5kZXJU
b0ltYWdlQnVmZmVyKToKKyAgICAgICAgQ2hhbmdlIHRoZSBpbWFnZSBjcmVhdGlvbiBzaXRlIHRv
IGNyZWF0ZSB0aGUgZXhwbGljaXQgSU9TdXJmYWNlSW1hZ2VCdWZmZXIKKyAgICAgICAgc2luY2Ug
dGhhdCdzIHdoYXQgaXQncyB0cnlpbmcgdG8gY3JlYXRlLgorICAgICAgICBDaGFuZ2UgdGhlIHR5
cGUtcHVubmluZyBjYWxsIHNpdGVzIHRvIHVzZSBleHBsaWNpdAorICAgICAgICBJT1N1cmZhY2VJ
bWFnZUJ1ZmZlciBuYW1lLCBhcyB0aGF0J3Mgd2hhdCB0aGUgY2FsbCBzaXRlCisgICAgICAgIGlz
IGludGVuZGluZyB0byB1c2UuCisKKwogMjAyMS0wNi0xMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgogCiAgICAgICAgIFJlbGF4ICJwYXJlbnQgbXVzdCBiZSBhbiBIVE1MRWxlbWVu
dCIgcmVzdHJpY3Rpb24gaW4gb3V0ZXJIVE1MIHNldHRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1JbWFnZUJ1ZmZlci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1JbWFnZUJ1ZmZlci5oCmluZGV4IDUyZGQ4
M2NjOTNkNTU1M2IzNzllNTg3ZDQzODVkNGY3ODA1OTQ0YmIuLjNlZmQ0MzFjNThjMWNjNTYwYzhh
MTJmZTYzMzAzNDljZmZhMTZjYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1BsYXRmb3JtSW1hZ2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9QbGF0Zm9ybUltYWdlQnVmZmVyLmgKQEAgLTU3LDIzICs1NywzNSBAQCB1
c2luZyBBY2NlbGVyYXRlZEltYWdlQnVmZmVyQmFja2VuZCA9IFVuYWNjZWxlcmF0ZWRJbWFnZUJ1
ZmZlckJhY2tlbmQ7CiAjZW5kaWYKIAogdXNpbmcgVW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyID0g
Q29uY3JldGVJbWFnZUJ1ZmZlcjxVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5kPjsKK3Vz
aW5nIERpc3BsYXlMaXN0VW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyID0gRGlzcGxheUxpc3Q6Oklt
YWdlQnVmZmVyPFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQ+OwordXNpbmcgRGlzcGxh
eUxpc3RBY2NlbGVyYXRlZEltYWdlQnVmZmVyID0gRGlzcGxheUxpc3Q6OkltYWdlQnVmZmVyPEFj
Y2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5kPjsKIAogI2lmIEhBVkUoSU9TVVJGQUNFKQotY2xh
c3MgQWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlciA6IHB1YmxpYyBDb25jcmV0ZUltYWdlQnVmZmVyPElt
YWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZD4gewotICAgIHVzaW5nIEJhc2UgPSBDb25jcmV0ZUlt
YWdlQnVmZmVyPEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5kPjsKLSAgICB1c2luZyBCYXNl
OjpCYXNlOworY2xhc3MgSU9TdXJmYWNlSW1hZ2VCdWZmZXIgZmluYWwgOiBwdWJsaWMgQ29uY3Jl
dGVJbWFnZUJ1ZmZlcjxJbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQ+IHsKKyAgICB1c2luZyBC
YXNlID0gQ29uY3JldGVJbWFnZUJ1ZmZlcjxJbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQ+Owog
cHVibGljOgorICAgIHN0YXRpYyBhdXRvIGNyZWF0ZShjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUm
IHNpemUsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgY29uc3QgV2ViQ29yZTo6RGVzdGluYXRpb25D
b2xvclNwYWNlJiBjb2xvclNwYWNlLCBXZWJDb3JlOjpQaXhlbEZvcm1hdCBwaXhlbEZvcm1hdCwg
Y29uc3QgSG9zdFdpbmRvdyogaG9zdFdpbmRvdyA9IG51bGxwdHIpCisgICAgeworICAgICAgICBy
ZXR1cm4gQmFzZTo6Y3JlYXRlPElPU3VyZmFjZUltYWdlQnVmZmVyPihzaXplLCByZXNvbHV0aW9u
U2NhbGUsIGNvbG9yU3BhY2UsIHBpeGVsRm9ybWF0LCBob3N0V2luZG93KTsKKyAgICB9CisgICAg
c3RhdGljIGF1dG8gY3JlYXRlKGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSwgY29uc3QgR3JhcGhpY3ND
b250ZXh0JiBjb250ZXh0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIEJhc2U6OmNyZWF0ZTxJT1N1
cmZhY2VJbWFnZUJ1ZmZlcj4oc2l6ZSwgY29udGV4dCk7CisgICAgfQorICAgIHVzaW5nIEJhc2U6
OkJhc2U7CisKICAgICBJT1N1cmZhY2UmIHN1cmZhY2UoKSB7IHJldHVybiAqbV9iYWNrZW5kLT5z
dXJmYWNlKCk7IH0KIH07Cit1c2luZyBBY2NlbGVyYXRlZEltYWdlQnVmZmVyID0gSU9TdXJmYWNl
SW1hZ2VCdWZmZXI7CiAjZWxzZQotdXNpbmcgQWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlciA9IENvbmNy
ZXRlSW1hZ2VCdWZmZXI8QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQ+OwordXNpbmcgQWNj
ZWxlcmF0ZWRJbWFnZUJ1ZmZlciA9IENvbmNyZXRlSW1hZ2VCdWZmZXI8VW5hY2NlbGVyYXRlZElt
YWdlQnVmZmVyQmFja2VuZD47CiAjZW5kaWYKIAotdXNpbmcgRGlzcGxheUxpc3RVbmFjY2VsZXJh
dGVkSW1hZ2VCdWZmZXIgPSBEaXNwbGF5TGlzdDo6SW1hZ2VCdWZmZXI8VW5hY2NlbGVyYXRlZElt
YWdlQnVmZmVyQmFja2VuZD47Ci11c2luZyBEaXNwbGF5TGlzdEFjY2VsZXJhdGVkSW1hZ2VCdWZm
ZXIgPSBEaXNwbGF5TGlzdDo6SW1hZ2VCdWZmZXI8QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tl
bmQ+OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLVNQRUNJQUxJWkVfVFlQRV9UUkFJVFNf
QkVHSU4oV2ViQ29yZTo6QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcikKKyNpZiBIQVZFKElPU1VSRkFD
RSkKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6SU9TdXJmYWNlSW1hZ2VC
dWZmZXIpCiAgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OkltYWdlQnVmZmVy
JiBidWZmZXIpIHsgcmV0dXJuIGJ1ZmZlci5yZW5kZXJpbmdNb2RlKCkgPT0gV2ViQ29yZTo6UmVu
ZGVyaW5nTW9kZTo6QWNjZWxlcmF0ZWQ7IH0KIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
SW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kLmgKaW5kZXggYzg5MGU5ZmU4ZjJl
ODY0ZjUwYjY4ODljOWViNGYwZjU4NzJiYjkxOC4uZTFjM2UyYTQ3NmYyMzJiMzk3NDM4YTRkYWZh
NDFkYTQ4M2EzMjgyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZC5oCkBAIC0zNiwx
MyArMzYsMTMgQEAgY2xhc3MgSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQgOiBwdWJsaWMgSW1h
Z2VCdWZmZXJDR0JhY2tlbmQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoSW1hZ2VCdWZm
ZXJDR0JpdG1hcEJhY2tlbmQpOwogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlQnVmZmVy
Q0dCaXRtYXBCYWNrZW5kKTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgSW50U2l6ZSBjYWxjdWxhdGVT
YWZlQmFja2VuZFNpemUoY29uc3QgUGFyYW1ldGVycyYpOwotICAgIHN0YXRpYyBzaXplX3QgY2Fs
Y3VsYXRlTWVtb3J5Q29zdChjb25zdCBQYXJhbWV0ZXJzJik7CisgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIEludFNpemUgY2FsY3VsYXRlU2FmZUJhY2tlbmRTaXplKGNvbnN0IFBhcmFtZXRlcnMm
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgc2l6ZV90IGNhbGN1bGF0ZU1lbW9yeUNvc3Qo
Y29uc3QgUGFyYW1ldGVycyYpOwogCi0gICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1
ZmZlckNHQml0bWFwQmFja2VuZD4gY3JlYXRlKGNvbnN0IFBhcmFtZXRlcnMmLCBjb25zdCBIb3N0
V2luZG93Kik7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxJbWFn
ZUJ1ZmZlckNHQml0bWFwQmFja2VuZD4gY3JlYXRlKGNvbnN0IFBhcmFtZXRlcnMmLCBjb25zdCBI
b3N0V2luZG93Kik7CiAKICAgICAvLyBGSVhNRTogUmVuYW1lIHRvIGNyZWF0ZVVzaW5nQ29sb3JT
cGFjZU9mR3JhcGhpY3NDb250ZXh0KCkgKG9yIHNvbWV0aGluZyBsaWtlIHRoYXQpLgotICAgIHN0
YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQ+IGNyZWF0ZShj
b25zdCBQYXJhbWV0ZXJzJiwgY29uc3QgR3JhcGhpY3NDb250ZXh0Jik7CisgICAgV0VCQ09SRV9F
WFBPUlQgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZD4g
Y3JlYXRlKGNvbnN0IFBhcmFtZXRlcnMmLCBjb25zdCBHcmFwaGljc0NvbnRleHQmKTsKIAogICAg
IEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCgpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0
UmVuZGVyZXJDb3JlSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
cmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5oCmluZGV4IDZjOGZjNWQ0NjM0
MjU5MmZkZWZmMzIyOWQ0OGRhMmE5YzYwMWE5ZWYuLmU2YzhkZjRkNTViNDU2MTM1NDllM2FmNDkx
OTJhMjZlMmMwNDRhZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJl
ckNvcmVJbWFnZS5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgVVNFKENPUkVfSU1BR0UpCiAKICNp
bXBvcnQgIkZpbHRlckVmZmVjdFJlbmRlcmVyLmgiCisjaW1wb3J0ICJQbGF0Zm9ybUltYWdlQnVm
ZmVyLmgiCiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAKIE9CSkNfQ0xBU1MgQ0lJbWFnZTsKQEAg
LTYzLDcgKzY0LDcgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8Q0lJbWFnZT4gaW1hZ2VGb3JG
RUNvbG9yTWF0cml4KGNvbnN0IEZFQ29sb3JNYXRyaXgmLCBjb25zdCBWZWN0b3I8UmV0YWluUHRy
PENJSW1hZ2U+PiYpOwogICAgIFJldGFpblB0cjxDSUltYWdlPiBpbWFnZUZvckZFQ29tcG9uZW50
VHJhbnNmZXIoY29uc3QgRkVDb21wb25lbnRUcmFuc2ZlciYsIFZlY3RvcjxSZXRhaW5QdHI8Q0lJ
bWFnZT4+Jik7CiAgICAgCi0gICAgUmVmUHRyPEltYWdlQnVmZmVyPiBtX291dHB1dEltYWdlQnVm
ZmVyOworICAgIFJlZlB0cjxJT1N1cmZhY2VJbWFnZUJ1ZmZlcj4gbV9vdXRwdXRJbWFnZUJ1ZmZl
cjsKICAgICBSZXRhaW5QdHI8Q0lJbWFnZT4gbV9vdXRwdXRJbWFnZTsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZl
Y3RSZW5kZXJlckNvcmVJbWFnZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5tbQppbmRleCA0N2YzZjgw
MTg2YmE5YjVkOGM2MWIxNjBiNDZiNTdjMGQ4NWZmNzRjLi41Yzg2ZmM0YzIzYWY5NTQ1NTU3YTU1
OGM4YzQ1MWUxOWE4YTM4ZmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZWltYWdlL0ZpbHRlckVmZmVjdFJl
bmRlcmVyQ29yZUltYWdlLm1tCkBAIC0zNyw3ICszNyw2IEBACiAjaW1wb3J0ICJHcmFwaGljc0Nv
bnRleHRDRy5oIgogI2ltcG9ydCAiSW1hZ2VCdWZmZXIuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIK
LSNpbXBvcnQgIlBsYXRmb3JtSW1hZ2VCdWZmZXIuaCIKICNpbXBvcnQgIlNvdXJjZUdyYXBoaWMu
aCIKICNpbXBvcnQgPENvcmVJbWFnZS9DSUNvbnRleHQuaD4KICNpbXBvcnQgPENvcmVJbWFnZS9D
SUZpbHRlci5oPgpAQCAtMTc1LDggKzE3NCw4IEBAIFJldGFpblB0cjxDSUltYWdlPiBGaWx0ZXJF
ZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6aW1hZ2VGb3JTb3VyY2VHcmFwaGljKFNvdXJjZUdyCiAg
ICAgaWYgKCFzb3VyY2VJbWFnZSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgCi0gICAg
aWYgKGlzPEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI+KCpzb3VyY2VJbWFnZSkpCi0gICAgICAgIHJl
dHVybiBbQ0lJbWFnZSBpbWFnZVdpdGhJT1N1cmZhY2U6ZG93bmNhc3Q8QWNjZWxlcmF0ZWRJbWFn
ZUJ1ZmZlcj4oKnNvdXJjZUltYWdlKS5zdXJmYWNlKCkuc3VyZmFjZSgpXTsKKyAgICBpZiAoaXM8
SU9TdXJmYWNlSW1hZ2VCdWZmZXI+KCpzb3VyY2VJbWFnZSkpCisgICAgICAgIHJldHVybiBbQ0lJ
bWFnZSBpbWFnZVdpdGhJT1N1cmZhY2U6ZG93bmNhc3Q8SU9TdXJmYWNlSW1hZ2VCdWZmZXI+KCpz
b3VyY2VJbWFnZSkuc3VyZmFjZSgpLnN1cmZhY2UoKV07CiAgICAgCiAgICAgcmV0dXJuIFtDSUlt
YWdlIGltYWdlV2l0aENHSW1hZ2U6c291cmNlSW1hZ2UtPmNvcHlOYXRpdmVJbWFnZSgpLT5wbGF0
Zm9ybUltYWdlKCkuZ2V0KCldOwogfQpAQCAtMjc2LDIwICsyNzUsMTMgQEAgSW1hZ2VCdWZmZXIq
IEZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlOjpvdXRwdXQoKSBjb25zdAogdm9pZCBGaWx0
ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6cmVuZGVyVG9JbWFnZUJ1ZmZlcihGaWx0ZXJFZmZl
Y3QmIGxhc3RFZmZlY3QpCiB7CiAgICAgRmxvYXRTaXplIGNsYW1wZWRTaXplID0gSW1hZ2VCdWZm
ZXI6OmNsYW1wZWRTaXplKGxhc3RFZmZlY3QuYWJzb2x1dGVQYWludFJlY3QoKS5zaXplKCkpOwot
ICAgIG1fb3V0cHV0SW1hZ2VCdWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGNsYW1wZWRTaXpl
LCBSZW5kZXJpbmdNb2RlOjpBY2NlbGVyYXRlZCwgbGFzdEVmZmVjdC5maWx0ZXIoKS5maWx0ZXJT
Y2FsZSgpLCBsYXN0RWZmZWN0LnJlc3VsdENvbG9yU3BhY2UoKSwgUGl4ZWxGb3JtYXQ6OkJHUkE4
KTsKLSAgICAKKyAgICBtX291dHB1dEltYWdlQnVmZmVyID0gSU9TdXJmYWNlSW1hZ2VCdWZmZXI6
OmNyZWF0ZShjbGFtcGVkU2l6ZSwgbGFzdEVmZmVjdC5maWx0ZXIoKS5maWx0ZXJTY2FsZSgpLCBs
YXN0RWZmZWN0LnJlc3VsdENvbG9yU3BhY2UoKSwgUGl4ZWxGb3JtYXQ6OkJHUkE4KTsKICAgICBp
ZiAoIW1fb3V0cHV0SW1hZ2VCdWZmZXIpIHsKICAgICAgICAgY2xlYXJSZXN1bHQoKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KLSAgICAKLSAgICAvLyBGSVhNRTogSW4gdGhlIHNpdHVhdGlvbiB3
aGVyZSB0aGUgSW1hZ2UgaXMgdG9vIGxhcmdlLCBhbiBVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIg
d2lsbCBiZSBjcmVhdGVkCi0gICAgLy8gaW4gdGhpcyBjYXNlLCBzcGVjaWFsIGhhbmRsaW5nIGlz
IG5lZWRlZCB0byByZW5kZXIgdG8gSW1hZ2VCdWZmZXJDR0JhY2tlbmQgaW5zdGVhZAotICAgIGlm
ICghaXM8QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcj4oKm1fb3V0cHV0SW1hZ2VCdWZmZXIpKQotICAg
ICAgICByZXR1cm47Ci0gICAgCi0gICAgYXV0byYgc3VyZmFjZSA9IGRvd25jYXN0PEFjY2VsZXJh
dGVkSW1hZ2VCdWZmZXI+KCptX291dHB1dEltYWdlQnVmZmVyKS5zdXJmYWNlKCk7Ci0gICAgW3No
YXJlZENJQ29udGV4dCgpLmdldCgpIHJlbmRlcjogbV9vdXRwdXRJbWFnZS5nZXQoKSB0b0lPU3Vy
ZmFjZTogc3VyZmFjZS5zdXJmYWNlKCkgYm91bmRzOmRlc3RSZWN0KGxhc3RFZmZlY3QpIGNvbG9y
U3BhY2U6bGFzdEVmZmVjdC5yZXN1bHRDb2xvclNwYWNlKCkucGxhdGZvcm1Db2xvclNwYWNlKCld
OworCisgICAgW3NoYXJlZENJQ29udGV4dCgpLmdldCgpIHJlbmRlcjogbV9vdXRwdXRJbWFnZS5n
ZXQoKSB0b0lPU3VyZmFjZTogbV9vdXRwdXRJbWFnZUJ1ZmZlci0+c3VyZmFjZSgpLnN1cmZhY2Uo
KSBib3VuZHM6ZGVzdFJlY3QobGFzdEVmZmVjdCkgY29sb3JTcGFjZTpsYXN0RWZmZWN0LnJlc3Vs
dENvbG9yU3BhY2UoKS5wbGF0Zm9ybUNvbG9yU3BhY2UoKV07CiB9CiAgICAgCiBGbG9hdFJlY3Qg
RmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OmRlc3RSZWN0KGNvbnN0IEZpbHRlckVmZmVj
dCYgbGFzdEVmZmVjdCkgY29uc3QKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xz
L0NoYW5nZUxvZwppbmRleCAzYjA0N2MzNTNiYjAxZjFjNzgyNzgwY2RmOTdmYWJhODU3NjY2Njc5
Li4wYzRlNjZhOTQzOGJiNDdmOTc5MDhiNTc1MGNiYmE3MWY1MmI5MTVjIDEwMDY0NAotLS0gYS9U
b29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIw
MjEtMDYtMTEgIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKworICAgICAg
ICBBY2NlbGVyYXRlZEltYWdlQnVmZmVyIG5vdCBpbnN0YW50aWF0ZWQgYnV0IG9iamVjdHMgYXJl
IHB1bm5lZCB0byB0aGUgdHlwZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI2OTE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisgICAgICAgIEFkZCBuZXcgdGVzdAorICAgICAgICBUZXN0V2ViS2l0QVBJLkltYWdlQnVmZmVy
VGVzdHMuSW1hZ2VCdWZmZXJTdWJUeXBlQ3JlYXRlQ3JlYXRlc1N1YnR5cGVzCisgICAgICAgIHRv
IHRlc3QgdGhhdCB0aGUgY29kZSBjb21waWxlcy4KKyAgICAgICAgQmVmb3JlLCBpdCB3b3VsZCBm
YWlsIHdpdGg6CisgICAgICAgICAgYGVycm9yOiBjYW5ub3QgaW5pdGlhbGl6ZSBhIG1lbWJlciBz
dWJvYmplY3Qgb2YgdHlwZSAndHlwZW5hbWUgUHRyVHJhaXRzOjpTdG9yYWdlVHlwZScgKGFrYSAn
V2ViQ29yZTo6QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlciAqJykgd2l0aCBhbgorICAgICAgICAgICBy
dmFsdWUgb2YgdHlwZSAnV2ViQ29yZTo6Q29uY3JldGVJbWFnZUJ1ZmZlcjxXZWJDb3JlOjpJbWFn
ZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQ+IConYAorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJDb3JlL0ltYWdlQnVmZmVyVGVzdHMuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDIxLTA2LTExICBGdWppaSBIaXJvbm9yaSAg
PEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtXaW5dW0R1bXBSZW5kZXJUcmVl
XSAtLW5vLXRpbWVvdXQgc3dpdGNoIGRvZXNuJ3Qgd29yawpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCBmNWNiYjQ5MTgwMWU0MmNjMWViOGQ3MGMwNGUwYzAwNzhlNDU1MWVmLi5mZDU1NDZkN2U4
NTkwNzg1Y2Q1Yzg4ZDU1ZTIzYTcyZjRiZTUyNjU0IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtNTg5LDYgKzU4OSw3IEBACiAJCTdBRTlFNTA5MUFFNUFFOEIwMENGODc0QiAvKiB0ZXN0LnBk
ZiBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
QUU5RTUwODFBRTVBRThCMDBDRjg3NEIgLyogdGVzdC5wZGYgKi87IH07CiAJCTdBRUFENDdGMUUy
MDExNkMwMDQxNkVGRSAvKiBDcm9zc1BhcnRpdGlvbkZpbGVTY2hlbWVBY2Nlc3MubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUVBRDQ3QzFFMjAxMTM4
MDA0MTZFRkUgLyogQ3Jvc3NQYXJ0aXRpb25GaWxlU2NoZW1lQWNjZXNzLm1tICovOyB9OwogCQk3
QUVBRDQ4MTFFMjAxMjI3MDA0MTZFRkUgLyogQ3Jvc3NQYXJ0aXRpb25GaWxlU2NoZW1lQWNjZXNz
Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0FFQUQ0N0QxRTIwMTE0RTAwNDE2RUZFIC8qIENyb3NzUGFydGl0aW9uRmlsZVNjaGVtZUFj
Y2Vzcy5odG1sICovOyB9OworCQk3QjE4NDE3QzI2NzM4NjAyMDBFRDRGOEQgLyogSW1hZ2VCdWZm
ZXJUZXN0cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3QjE4NDE3QjI2NzM4NjAyMDBFRDRGOEQgLyogSW1hZ2VCdWZmZXJUZXN0cy5jcHAgKi87IH07
CiAJCTdCMjczOUYzMjYzMkFCNjQwMDQwRjE4MiAvKiBUaHJlYWRBc3NlcnRpb25zVGVzdC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QjI3MzlGMjI2
MzJBQjY0MDA0MEYxODIgLyogVGhyZWFkQXNzZXJ0aW9uc1Rlc3QuY3BwICovOyB9OwogCQk3QjdE
MDk2QTI1MTlGOEY5MDAxN0EwNzggLyogV2ViR0xOb0NyYXNoT25PdGhlclRocmVhZEFjY2Vzcy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCN0QwOTY5
MjUxOUY4RjkwMDE3QTA3OCAvKiBXZWJHTE5vQ3Jhc2hPbk90aGVyVGhyZWFkQWNjZXNzLm1tICov
OyB9OwogCQk3QzFBRjc5NTFFOERDQkFCMDAyNjQ1QjkgLyogUHJlcGFyZUZvck1vdmVUb1dpbmRv
dy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDMUFG
NzkzMUU4RENCQUIwMDI2NDVCOSAvKiBQcmVwYXJlRm9yTW92ZVRvV2luZG93Lm1tICovOyB9OwpA
QCAtMjQ1Nyw2ICsyNDU4LDcgQEAKIAkJN0FFOUU1MDgxQUU1QUU4QjAwQ0Y4NzRCIC8qIHRlc3Qu
cGRmICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1h
Z2UucGRmOyBwYXRoID0gdGVzdC5wZGY7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdB
RUFENDdDMUUyMDExMzgwMDQxNkVGRSAvKiBDcm9zc1BhcnRpdGlvbkZpbGVTY2hlbWVBY2Nlc3Mu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDcm9zc1BhcnRpdGlv
bkZpbGVTY2hlbWVBY2Nlc3MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBRUFE
NDdEMUUyMDExNEUwMDQxNkVGRSAvKiBDcm9zc1BhcnRpdGlvbkZpbGVTY2hlbWVBY2Nlc3MuaHRt
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQuaHRtbDsgbmFtZSA9IENyb3NzUGFydGl0aW9uRmlsZVNjaGVtZUFj
Y2Vzcy5odG1sOyBwYXRoID0gVGVzdHMvbWFjL0Nyb3NzUGFydGl0aW9uRmlsZVNjaGVtZUFjY2Vz
cy5odG1sOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CisJCTdCMTg0MTdCMjY3Mzg2MDIw
MEVENEY4RCAvKiBJbWFnZUJ1ZmZlclRlc3RzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEltYWdlQnVmZmVyVGVzdHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3QjI3MzlGMjI2MzJBQjY0MDA0MEYxODIgLyogVGhyZWFkQXNzZXJ0aW9uc1Rlc3Qu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGhyZWFkQXNzZXJ0aW9u
c1Rlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QjdEMDk2OTI1MTlGOEY5
MDAxN0EwNzggLyogV2ViR0xOb0NyYXNoT25PdGhlclRocmVhZEFjY2Vzcy5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFdlYkdMTm9DcmFzaE9uT3RoZXJUaHJlYWRBY2Nlc3MubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDMUFGNzkzMUU4RENCQUIwMDI2NDVCOSAvKiBQcmVwYXJl
Rm9yTW92ZVRvV2luZG93Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gUHJlcGFyZUZvck1vdmVUb1dpbmRvdy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTM3MTgsNiArMzcyMCw3IEBACiAJCQkJNUNBMURFQzcxRjcxRjQwNzAwRTcxQkQzIC8qIEhU
VFBIZWFkZXJGaWVsZC5jcHAgKi8sCiAJCQkJNDZGQTJGRUQyMzg0NkM5QTAwMENDQjBDIC8qIEhU
VFBIZWFkZXJNYXAuY3BwICovLAogCQkJCTZCOUFCRTExMjA4Njk1MkYwMEQ3NURFNiAvKiBIVFRQ
UGFyc2Vycy5jcHAgKi8sCisJCQkJN0IxODQxN0IyNjczODYwMjAwRUQ0RjhEIC8qIEltYWdlQnVm
ZmVyVGVzdHMuY3BwICovLAogCQkJCTdBOTA5QTczMUQ4Nzc0NzUwMDdFMTBGOCAvKiBJbnRQb2lu
dFRlc3RzLmNwcCAqLywKIAkJCQk3QTkwOUE3NDFEODc3NDc1MDA3RTEwRjggLyogSW50UmVjdFRl
c3RzLmNwcCAqLywKIAkJCQk3QTkwOUE3NTFEODc3NDc1MDA3RTEwRjggLyogSW50U2l6ZVRlc3Rz
LmNwcCAqLywKQEAgLTU1MTEsNiArNTUxNCw3IEBACiAJCQkJNTEwNDc3NzgxRDI5OTIzQjAwOTc0
N0VCIC8qIElEQkRlbGV0ZVJlY292ZXJ5Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTExMEZDRkEx
RTAxQ0RCODAwNkY4RDBCIC8qIElEQkluZGV4VXBncmFkZVRvVjIubW0gaW4gU291cmNlcyAqLywK
IAkJCQk5M0JDQkM4MzIzQ0M2RjJBMDBDQTIyMjEgLyogSURCT2JqZWN0U3RvcmVJbmZvVXBncmFk
ZVRvVjIubW0gaW4gU291cmNlcyAqLywKKwkJCQk3QjE4NDE3QzI2NzM4NjAyMDBFRDRGOEQgLyog
SW1hZ2VCdWZmZXJUZXN0cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGNDRBOUFGNzI2NDlCQkRE
MDBFN0NCMTYgLyogSW1tZWRpYXRlQWN0aW9uVGVzdHMubW0gaW4gU291cmNlcyAqLywKIAkJCQk0
OUFFRUY2RDI0MDczNTlEMDBDODdFNEMgLyogSW5BcHBCcm93c2VyUHJpdmFjeS5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTUxQTU4Nzg2MUQyNzNBQTkwMDRCQTlBRiAvKiBJbmRleGVkREJEYXRhYmFz
ZVByb2Nlc3NLaWxsLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYkNvcmUvSW1hZ2VCdWZmZXJUZXN0cy5jcHAgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYkNvcmUvSW1hZ2VCdWZmZXJUZXN0cy5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDQ2
NDBhYTZhNDk5MTk3MTRlN2U4M2M2YWI0NmRkNDRkZGFkNzlmNQotLS0gL2Rldi9udWxsCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9JbWFnZUJ1ZmZlclRlc3RzLmNwcApA
QCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5j
bHVkZSA8V2ViQ29yZS9JbWFnZUJ1ZmZlci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1J
bWFnZUJ1ZmZlci5oPgorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7Cit1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKKworLy8gVGVzdHMgdGhhdCB0aGUgc3BlY2lhbGl6ZWQgaW1hZ2UgYnVmZmVy
IGNvbnN0cnVjdG9ycyBjb25zdHJ1Y3QgdGhlIGV4cGVjdGVkIHR5cGUgb2Ygb2JqZWN0LgorLy8g
VGVzdCBwYXNzZXMgaWYgdGhlIHRlc3QgY29tcGlsZXMsIHRoZXJlIHdhcyBhIGJ1ZyB3aGVyZSB0
aGUgY29kZSB3b3VsZG4ndCBjb21waWxlLgorVEVTVChJbWFnZUJ1ZmZlclRlc3RzLCBJbWFnZUJ1
ZmZlclN1YlR5cGVDcmVhdGVDcmVhdGVzU3VidHlwZXMpCit7CisgICAgYXV0byBjb2xvclNwYWNl
ID0gRGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCKCk7CisgICAgYXV0byBwaXhlbEZvcm1hdCA9
IFBpeGVsRm9ybWF0OjpCR1JBODsKKyAgICBGbG9hdFNpemUgc2l6ZSB7IDEuZiwgMS5mIH07Cisg
ICAgZmxvYXQgc2NhbGUgPSAxLmY7CisgICAgUmVmUHRyPFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZl
cj4gdW5hY2NlbGVyYXRlZCA9IFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNpemUs
IHNjYWxlLCBjb2xvclNwYWNlLCBwaXhlbEZvcm1hdCwgbnVsbHB0cik7CisgICAgUmVmUHRyPEFj
Y2VsZXJhdGVkSW1hZ2VCdWZmZXI+IGFjY2VsZXJhdGVkID0gQWNjZWxlcmF0ZWRJbWFnZUJ1ZmZl
cjo6Y3JlYXRlKHNpemUsIHNjYWxlLCBjb2xvclNwYWNlLCBwaXhlbEZvcm1hdCwgbnVsbHB0cik7
CisgICAgUmVmUHRyPERpc3BsYXlMaXN0QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcj4gZGlzcGxheUxp
c3RBY2NlbGVyYXRlZCA9IERpc3BsYXlMaXN0QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcjo6Y3JlYXRl
KHNpemUsIHNjYWxlLCBjb2xvclNwYWNlLCBwaXhlbEZvcm1hdCwgbnVsbHB0cik7CisgICAgUmVm
UHRyPERpc3BsYXlMaXN0VW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyPiBkaXNwbGF5TGlzdFVuYWNj
ZWxlcmF0ZWQgPSBEaXNwbGF5TGlzdFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHNp
emUsIHNjYWxlLCBjb2xvclNwYWNlLCBwaXhlbEZvcm1hdCwgbnVsbHB0cik7CisgICAgRVhQRUNU
X05FKG51bGxwdHIsIGFjY2VsZXJhdGVkKTsKKyAgICBFWFBFQ1RfTkUobnVsbHB0ciwgdW5hY2Nl
bGVyYXRlZCk7CisgICAgRVhQRUNUX05FKG51bGxwdHIsIGRpc3BsYXlMaXN0QWNjZWxlcmF0ZWQp
OworICAgIEVYUEVDVF9ORShudWxscHRyLCBkaXNwbGF5TGlzdFVuYWNjZWxlcmF0ZWQpOworfQor
Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431307</attachid>
            <date>2021-06-14 02:09:27 -0700</date>
            <delta_ts>2021-06-14 10:27:56 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-226917-20210614120925.patch</filename>
            <type>text/plain</type>
            <size>18789</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4ODIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzU4Y2EyMzBmMmZlMTZm
MjExNjNlN2VmMGIxMmY2ZGU1MjFjOWVjNC4uMDNhYWUzYmZlMWM5Y2E0NjEzOTQxMTVmZjRjMmZm
OWIzZjA2YWIyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIxLTA2LTExICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWNjZWxlcmF0ZWRJ
bWFnZUJ1ZmZlciBub3QgaW5zdGFudGlhdGVkIGJ1dCBvYmplY3RzIGFyZSBwdW5uZWQgdG8gdGhl
IHR5cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NjkxNworCisgICAgICAgIFJldmlld2VkIGJ5IFNhaWQgQWJvdS1IYWxsYXdhLgorCisgICAgICAg
IEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI6OmNyZWF0ZSB3b3VsZCBjcmVhdGUgaW5zdGFuY2UKKyAg
ICAgICAgb2YgQ29uY3JldGVJbWFnZUJ1ZmZlciwgbm90IEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIu
CisKKyAgICAgICAgRml4IGJ5IGFkZGluZyBhIGNvcnJlY3QgY3JlYXRlIHN0YXRpYyBmdW5jdGlv
bi4KKworICAgICAgICBUZXN0ZWQgYnkgbmV3IHRlc3Q6CisgICAgICAgIFRlc3RXZWJLaXRBUEku
SW1hZ2VCdWZmZXJUZXN0cy5JbWFnZUJ1ZmZlclN1YlR5cGVDcmVhdGVDcmVhdGVzU3VidHlwZXMK
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1BsYXRmb3JtSW1hZ2VCdWZmZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OklPU3VyZmFjZUltYWdlQnVmZmVyOjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6SU9TdXJmYWNlSW1hZ2VCdWZmZXI6OklPU3VyZmFjZUltYWdlQnVmZmVyKToKKyAg
ICAgICAgQWRkIHRoZSBjb3JyZWN0IGZhY3RvcnkgZnVuY3Rpb25zIGFuZCBwdWJsaWMgY29uc3Ry
dWN0b3JzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VCdWZmZXJDR0Jp
dG1hcEJhY2tlbmQuaDoKKyAgICAgICAgQWRkIGV4cG9ydCBzdGF0ZW1lbnRzIHRoYXQgYXJlIG5l
ZWRlZCBmb3IgdGhlIGFkZGVkIHRlc3QuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UubW06CisgICAgICAgIChXZWJD
b3JlOjpGaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6aW1hZ2VGb3JTb3VyY2VHcmFwaGlj
KToKKyAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlOjpyZW5k
ZXJUb0ltYWdlQnVmZmVyKToKKyAgICAgICAgQ2hhbmdlIHRoZSBpbWFnZSBjcmVhdGlvbiBzaXRl
IHRvIGNyZWF0ZSB0aGUgZXhwbGljaXQgSU9TdXJmYWNlSW1hZ2VCdWZmZXIKKyAgICAgICAgc2lu
Y2UgdGhhdCdzIHdoYXQgaXQncyB0cnlpbmcgdG8gY3JlYXRlLgorICAgICAgICBDaGFuZ2UgdGhl
IHR5cGUtcHVubmluZyBjYWxsIHNpdGVzIHRvIHVzZSBleHBsaWNpdAorICAgICAgICBJT1N1cmZh
Y2VJbWFnZUJ1ZmZlciBuYW1lLCBhcyB0aGF0J3Mgd2hhdCB0aGUgY2FsbCBzaXRlCisgICAgICAg
IGlzIGludGVuZGluZyB0byB1c2UuCisKKwogMjAyMS0wNi0xMyAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbGF4ICJwYXJlbnQgbXVzdCBiZSBhbiBIVE1MRWxl
bWVudCIgcmVzdHJpY3Rpb24gaW4gb3V0ZXJIVE1MIHNldHRlcgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1JbWFnZUJ1ZmZlci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1JbWFnZUJ1ZmZlci5oCmluZGV4IDUy
ZGQ4M2NjOTNkNTU1M2IzNzllNTg3ZDQzODVkNGY3ODA1OTQ0YmIuLjNlZmQ0MzFjNThjMWNjNTYw
YzhhMTJmZTYzMzAzNDljZmZhMTZjYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1BsYXRmb3JtSW1hZ2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9QbGF0Zm9ybUltYWdlQnVmZmVyLmgKQEAgLTU3LDIzICs1NywzNSBA
QCB1c2luZyBBY2NlbGVyYXRlZEltYWdlQnVmZmVyQmFja2VuZCA9IFVuYWNjZWxlcmF0ZWRJbWFn
ZUJ1ZmZlckJhY2tlbmQ7CiAjZW5kaWYKIAogdXNpbmcgVW5hY2NlbGVyYXRlZEltYWdlQnVmZmVy
ID0gQ29uY3JldGVJbWFnZUJ1ZmZlcjxVbmFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5kPjsK
K3VzaW5nIERpc3BsYXlMaXN0VW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyID0gRGlzcGxheUxpc3Q6
OkltYWdlQnVmZmVyPFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQ+OwordXNpbmcgRGlz
cGxheUxpc3RBY2NlbGVyYXRlZEltYWdlQnVmZmVyID0gRGlzcGxheUxpc3Q6OkltYWdlQnVmZmVy
PEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5kPjsKIAogI2lmIEhBVkUoSU9TVVJGQUNFKQot
Y2xhc3MgQWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlciA6IHB1YmxpYyBDb25jcmV0ZUltYWdlQnVmZmVy
PEltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZD4gewotICAgIHVzaW5nIEJhc2UgPSBDb25jcmV0
ZUltYWdlQnVmZmVyPEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJCYWNrZW5kPjsKLSAgICB1c2luZyBC
YXNlOjpCYXNlOworY2xhc3MgSU9TdXJmYWNlSW1hZ2VCdWZmZXIgZmluYWwgOiBwdWJsaWMgQ29u
Y3JldGVJbWFnZUJ1ZmZlcjxJbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQ+IHsKKyAgICB1c2lu
ZyBCYXNlID0gQ29uY3JldGVJbWFnZUJ1ZmZlcjxJbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQ+
OwogcHVibGljOgorICAgIHN0YXRpYyBhdXRvIGNyZWF0ZShjb25zdCBXZWJDb3JlOjpGbG9hdFNp
emUmIHNpemUsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgY29uc3QgV2ViQ29yZTo6RGVzdGluYXRp
b25Db2xvclNwYWNlJiBjb2xvclNwYWNlLCBXZWJDb3JlOjpQaXhlbEZvcm1hdCBwaXhlbEZvcm1h
dCwgY29uc3QgSG9zdFdpbmRvdyogaG9zdFdpbmRvdyA9IG51bGxwdHIpCisgICAgeworICAgICAg
ICByZXR1cm4gQmFzZTo6Y3JlYXRlPElPU3VyZmFjZUltYWdlQnVmZmVyPihzaXplLCByZXNvbHV0
aW9uU2NhbGUsIGNvbG9yU3BhY2UsIHBpeGVsRm9ybWF0LCBob3N0V2luZG93KTsKKyAgICB9Cisg
ICAgc3RhdGljIGF1dG8gY3JlYXRlKGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSwgY29uc3QgR3JhcGhp
Y3NDb250ZXh0JiBjb250ZXh0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIEJhc2U6OmNyZWF0ZTxJ
T1N1cmZhY2VJbWFnZUJ1ZmZlcj4oc2l6ZSwgY29udGV4dCk7CisgICAgfQorICAgIHVzaW5nIEJh
c2U6OkJhc2U7CisKICAgICBJT1N1cmZhY2UmIHN1cmZhY2UoKSB7IHJldHVybiAqbV9iYWNrZW5k
LT5zdXJmYWNlKCk7IH0KIH07Cit1c2luZyBBY2NlbGVyYXRlZEltYWdlQnVmZmVyID0gSU9TdXJm
YWNlSW1hZ2VCdWZmZXI7CiAjZWxzZQotdXNpbmcgQWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlciA9IENv
bmNyZXRlSW1hZ2VCdWZmZXI8QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJhY2tlbmQ+OwordXNpbmcg
QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlciA9IENvbmNyZXRlSW1hZ2VCdWZmZXI8VW5hY2NlbGVyYXRl
ZEltYWdlQnVmZmVyQmFja2VuZD47CiAjZW5kaWYKIAotdXNpbmcgRGlzcGxheUxpc3RVbmFjY2Vs
ZXJhdGVkSW1hZ2VCdWZmZXIgPSBEaXNwbGF5TGlzdDo6SW1hZ2VCdWZmZXI8VW5hY2NlbGVyYXRl
ZEltYWdlQnVmZmVyQmFja2VuZD47Ci11c2luZyBEaXNwbGF5TGlzdEFjY2VsZXJhdGVkSW1hZ2VC
dWZmZXIgPSBEaXNwbGF5TGlzdDo6SW1hZ2VCdWZmZXI8QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlckJh
Y2tlbmQ+OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLVNQRUNJQUxJWkVfVFlQRV9UUkFJ
VFNfQkVHSU4oV2ViQ29yZTo6QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcikKKyNpZiBIQVZFKElPU1VS
RkFDRSkKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6SU9TdXJmYWNlSW1h
Z2VCdWZmZXIpCiAgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OkltYWdlQnVm
ZmVyJiBidWZmZXIpIHsgcmV0dXJuIGJ1ZmZlci5yZW5kZXJpbmdNb2RlKCkgPT0gV2ViQ29yZTo6
UmVuZGVyaW5nTW9kZTo6QWNjZWxlcmF0ZWQ7IH0KIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5E
KCkKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVyQ0dCaXRtYXBCYWNrZW5kLmgKaW5kZXggYzg5MGU5ZmU4
ZjJlODY0ZjUwYjY4ODljOWViNGYwZjU4NzJiYjkxOC4uZTFjM2UyYTQ3NmYyMzJiMzk3NDM4YTRk
YWZhNDFkYTQ4M2EzMjgyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZC5oCkBAIC0z
NiwxMyArMzYsMTMgQEAgY2xhc3MgSW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQgOiBwdWJsaWMg
SW1hZ2VCdWZmZXJDR0JhY2tlbmQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoSW1hZ2VC
dWZmZXJDR0JpdG1hcEJhY2tlbmQpOwogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlQnVm
ZmVyQ0dCaXRtYXBCYWNrZW5kKTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgSW50U2l6ZSBjYWxjdWxh
dGVTYWZlQmFja2VuZFNpemUoY29uc3QgUGFyYW1ldGVycyYpOwotICAgIHN0YXRpYyBzaXplX3Qg
Y2FsY3VsYXRlTWVtb3J5Q29zdChjb25zdCBQYXJhbWV0ZXJzJik7CisgICAgV0VCQ09SRV9FWFBP
UlQgc3RhdGljIEludFNpemUgY2FsY3VsYXRlU2FmZUJhY2tlbmRTaXplKGNvbnN0IFBhcmFtZXRl
cnMmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgc2l6ZV90IGNhbGN1bGF0ZU1lbW9yeUNv
c3QoY29uc3QgUGFyYW1ldGVycyYpOwogCi0gICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxJbWFn
ZUJ1ZmZlckNHQml0bWFwQmFja2VuZD4gY3JlYXRlKGNvbnN0IFBhcmFtZXRlcnMmLCBjb25zdCBI
b3N0V2luZG93Kik7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxJ
bWFnZUJ1ZmZlckNHQml0bWFwQmFja2VuZD4gY3JlYXRlKGNvbnN0IFBhcmFtZXRlcnMmLCBjb25z
dCBIb3N0V2luZG93Kik7CiAKICAgICAvLyBGSVhNRTogUmVuYW1lIHRvIGNyZWF0ZVVzaW5nQ29s
b3JTcGFjZU9mR3JhcGhpY3NDb250ZXh0KCkgKG9yIHNvbWV0aGluZyBsaWtlIHRoYXQpLgotICAg
IHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXJDR0JpdG1hcEJhY2tlbmQ+IGNyZWF0
ZShjb25zdCBQYXJhbWV0ZXJzJiwgY29uc3QgR3JhcGhpY3NDb250ZXh0Jik7CisgICAgV0VCQ09S
RV9FWFBPUlQgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlckNHQml0bWFwQmFja2Vu
ZD4gY3JlYXRlKGNvbnN0IFBhcmFtZXRlcnMmLCBjb25zdCBHcmFwaGljc0NvbnRleHQmKTsKIAog
ICAgIEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCgpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZm
ZWN0UmVuZGVyZXJDb3JlSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5oCmluZGV4IDZjOGZjNWQ0
NjM0MjU5MmZkZWZmMzIyOWQ0OGRhMmE5YzYwMWE5ZWYuLmU2YzhkZjRkNTViNDU2MTM1NDllM2Fm
NDkxOTJhMjZlMmMwNDRhZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5k
ZXJlckNvcmVJbWFnZS5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgVVNFKENPUkVfSU1BR0UpCiAK
ICNpbXBvcnQgIkZpbHRlckVmZmVjdFJlbmRlcmVyLmgiCisjaW1wb3J0ICJQbGF0Zm9ybUltYWdl
QnVmZmVyLmgiCiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAKIE9CSkNfQ0xBU1MgQ0lJbWFnZTsK
QEAgLTYzLDcgKzY0LDcgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8Q0lJbWFnZT4gaW1hZ2VG
b3JGRUNvbG9yTWF0cml4KGNvbnN0IEZFQ29sb3JNYXRyaXgmLCBjb25zdCBWZWN0b3I8UmV0YWlu
UHRyPENJSW1hZ2U+PiYpOwogICAgIFJldGFpblB0cjxDSUltYWdlPiBpbWFnZUZvckZFQ29tcG9u
ZW50VHJhbnNmZXIoY29uc3QgRkVDb21wb25lbnRUcmFuc2ZlciYsIFZlY3RvcjxSZXRhaW5QdHI8
Q0lJbWFnZT4+Jik7CiAgICAgCi0gICAgUmVmUHRyPEltYWdlQnVmZmVyPiBtX291dHB1dEltYWdl
QnVmZmVyOworICAgIFJlZlB0cjxJT1N1cmZhY2VJbWFnZUJ1ZmZlcj4gbV9vdXRwdXRJbWFnZUJ1
ZmZlcjsKICAgICBSZXRhaW5QdHI8Q0lJbWFnZT4gbV9vdXRwdXRJbWFnZTsKIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvcmVpbWFnZS9GaWx0ZXJF
ZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvcmVpbWFnZS9GaWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZS5tbQppbmRleCA0N2Yz
ZjgwMTg2YmE5YjVkOGM2MWIxNjBiNDZiNTdjMGQ4NWZmNzRjLi41Yzg2ZmM0YzIzYWY5NTQ1NTU3
YTU1OGM4YzQ1MWUxOWE4YTM4ZmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb3JlaW1hZ2UvRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2UubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29yZWltYWdlL0ZpbHRlckVmZmVj
dFJlbmRlcmVyQ29yZUltYWdlLm1tCkBAIC0zNyw3ICszNyw2IEBACiAjaW1wb3J0ICJHcmFwaGlj
c0NvbnRleHRDRy5oIgogI2ltcG9ydCAiSW1hZ2VCdWZmZXIuaCIKICNpbXBvcnQgIkxvZ2dpbmcu
aCIKLSNpbXBvcnQgIlBsYXRmb3JtSW1hZ2VCdWZmZXIuaCIKICNpbXBvcnQgIlNvdXJjZUdyYXBo
aWMuaCIKICNpbXBvcnQgPENvcmVJbWFnZS9DSUNvbnRleHQuaD4KICNpbXBvcnQgPENvcmVJbWFn
ZS9DSUZpbHRlci5oPgpAQCAtMTc1LDggKzE3NCw4IEBAIFJldGFpblB0cjxDSUltYWdlPiBGaWx0
ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6aW1hZ2VGb3JTb3VyY2VHcmFwaGljKFNvdXJjZUdy
CiAgICAgaWYgKCFzb3VyY2VJbWFnZSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgCi0g
ICAgaWYgKGlzPEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXI+KCpzb3VyY2VJbWFnZSkpCi0gICAgICAg
IHJldHVybiBbQ0lJbWFnZSBpbWFnZVdpdGhJT1N1cmZhY2U6ZG93bmNhc3Q8QWNjZWxlcmF0ZWRJ
bWFnZUJ1ZmZlcj4oKnNvdXJjZUltYWdlKS5zdXJmYWNlKCkuc3VyZmFjZSgpXTsKKyAgICBpZiAo
aXM8SU9TdXJmYWNlSW1hZ2VCdWZmZXI+KCpzb3VyY2VJbWFnZSkpCisgICAgICAgIHJldHVybiBb
Q0lJbWFnZSBpbWFnZVdpdGhJT1N1cmZhY2U6ZG93bmNhc3Q8SU9TdXJmYWNlSW1hZ2VCdWZmZXI+
KCpzb3VyY2VJbWFnZSkuc3VyZmFjZSgpLnN1cmZhY2UoKV07CiAgICAgCiAgICAgcmV0dXJuIFtD
SUltYWdlIGltYWdlV2l0aENHSW1hZ2U6c291cmNlSW1hZ2UtPmNvcHlOYXRpdmVJbWFnZSgpLT5w
bGF0Zm9ybUltYWdlKCkuZ2V0KCldOwogfQpAQCAtMjc2LDIwICsyNzUsMTMgQEAgSW1hZ2VCdWZm
ZXIqIEZpbHRlckVmZmVjdFJlbmRlcmVyQ29yZUltYWdlOjpvdXRwdXQoKSBjb25zdAogdm9pZCBG
aWx0ZXJFZmZlY3RSZW5kZXJlckNvcmVJbWFnZTo6cmVuZGVyVG9JbWFnZUJ1ZmZlcihGaWx0ZXJF
ZmZlY3QmIGxhc3RFZmZlY3QpCiB7CiAgICAgRmxvYXRTaXplIGNsYW1wZWRTaXplID0gSW1hZ2VC
dWZmZXI6OmNsYW1wZWRTaXplKGxhc3RFZmZlY3QuYWJzb2x1dGVQYWludFJlY3QoKS5zaXplKCkp
OwotICAgIG1fb3V0cHV0SW1hZ2VCdWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGNsYW1wZWRT
aXplLCBSZW5kZXJpbmdNb2RlOjpBY2NlbGVyYXRlZCwgbGFzdEVmZmVjdC5maWx0ZXIoKS5maWx0
ZXJTY2FsZSgpLCBsYXN0RWZmZWN0LnJlc3VsdENvbG9yU3BhY2UoKSwgUGl4ZWxGb3JtYXQ6OkJH
UkE4KTsKLSAgICAKKyAgICBtX291dHB1dEltYWdlQnVmZmVyID0gSU9TdXJmYWNlSW1hZ2VCdWZm
ZXI6OmNyZWF0ZShjbGFtcGVkU2l6ZSwgbGFzdEVmZmVjdC5maWx0ZXIoKS5maWx0ZXJTY2FsZSgp
LCBsYXN0RWZmZWN0LnJlc3VsdENvbG9yU3BhY2UoKSwgUGl4ZWxGb3JtYXQ6OkJHUkE4KTsKICAg
ICBpZiAoIW1fb3V0cHV0SW1hZ2VCdWZmZXIpIHsKICAgICAgICAgY2xlYXJSZXN1bHQoKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KLSAgICAKLSAgICAvLyBGSVhNRTogSW4gdGhlIHNpdHVhdGlv
biB3aGVyZSB0aGUgSW1hZ2UgaXMgdG9vIGxhcmdlLCBhbiBVbmFjY2VsZXJhdGVkSW1hZ2VCdWZm
ZXIgd2lsbCBiZSBjcmVhdGVkCi0gICAgLy8gaW4gdGhpcyBjYXNlLCBzcGVjaWFsIGhhbmRsaW5n
IGlzIG5lZWRlZCB0byByZW5kZXIgdG8gSW1hZ2VCdWZmZXJDR0JhY2tlbmQgaW5zdGVhZAotICAg
IGlmICghaXM8QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcj4oKm1fb3V0cHV0SW1hZ2VCdWZmZXIpKQot
ICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgYXV0byYgc3VyZmFjZSA9IGRvd25jYXN0PEFjY2Vs
ZXJhdGVkSW1hZ2VCdWZmZXI+KCptX291dHB1dEltYWdlQnVmZmVyKS5zdXJmYWNlKCk7Ci0gICAg
W3NoYXJlZENJQ29udGV4dCgpLmdldCgpIHJlbmRlcjogbV9vdXRwdXRJbWFnZS5nZXQoKSB0b0lP
U3VyZmFjZTogc3VyZmFjZS5zdXJmYWNlKCkgYm91bmRzOmRlc3RSZWN0KGxhc3RFZmZlY3QpIGNv
bG9yU3BhY2U6bGFzdEVmZmVjdC5yZXN1bHRDb2xvclNwYWNlKCkucGxhdGZvcm1Db2xvclNwYWNl
KCldOworCisgICAgW3NoYXJlZENJQ29udGV4dCgpLmdldCgpIHJlbmRlcjogbV9vdXRwdXRJbWFn
ZS5nZXQoKSB0b0lPU3VyZmFjZTogbV9vdXRwdXRJbWFnZUJ1ZmZlci0+c3VyZmFjZSgpLnN1cmZh
Y2UoKSBib3VuZHM6ZGVzdFJlY3QobGFzdEVmZmVjdCkgY29sb3JTcGFjZTpsYXN0RWZmZWN0LnJl
c3VsdENvbG9yU3BhY2UoKS5wbGF0Zm9ybUNvbG9yU3BhY2UoKV07CiB9CiAgICAgCiBGbG9hdFJl
Y3QgRmlsdGVyRWZmZWN0UmVuZGVyZXJDb3JlSW1hZ2U6OmRlc3RSZWN0KGNvbnN0IEZpbHRlckVm
ZmVjdCYgbGFzdEVmZmVjdCkgY29uc3QKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rv
b2xzL0NoYW5nZUxvZwppbmRleCAzYjA0N2MzNTNiYjAxZjFjNzgyNzgwY2RmOTdmYWJhODU3NjY2
Njc5Li5mYmYwMzE0MGVjMWM3ODIxYjE2YWZiNjhmNmY2YjQwNGU5MzQzYWYzIDEwMDY0NAotLS0g
YS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAK
KzIwMjEtMDYtMTEgIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKworICAg
ICAgICBBY2NlbGVyYXRlZEltYWdlQnVmZmVyIG5vdCBpbnN0YW50aWF0ZWQgYnV0IG9iamVjdHMg
YXJlIHB1bm5lZCB0byB0aGUgdHlwZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjI2OTE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2FpZCBBYm91LUhh
bGxhd2EuCisKKyAgICAgICAgQWRkIG5ldyB0ZXN0CisgICAgICAgIFRlc3RXZWJLaXRBUEkuSW1h
Z2VCdWZmZXJUZXN0cy5JbWFnZUJ1ZmZlclN1YlR5cGVDcmVhdGVDcmVhdGVzU3VidHlwZXMKKyAg
ICAgICAgdG8gdGVzdCB0aGF0IHRoZSBjb2RlIGNvbXBpbGVzLgorICAgICAgICBCZWZvcmUsIGl0
IHdvdWxkIGZhaWwgd2l0aDoKKyAgICAgICAgICBgZXJyb3I6IGNhbm5vdCBpbml0aWFsaXplIGEg
bWVtYmVyIHN1Ym9iamVjdCBvZiB0eXBlICd0eXBlbmFtZSBQdHJUcmFpdHM6OlN0b3JhZ2VUeXBl
JyAoYWthICdXZWJDb3JlOjpBY2NlbGVyYXRlZEltYWdlQnVmZmVyIConKSB3aXRoIGFuCisgICAg
ICAgICAgIHJ2YWx1ZSBvZiB0eXBlICdXZWJDb3JlOjpDb25jcmV0ZUltYWdlQnVmZmVyPFdlYkNv
cmU6OkltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZD4gKidgCisKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvSW1hZ2VCdWZmZXJUZXN0cy5jcHA6IEFkZGVk
LgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMjEtMDYtMTEgIEZ1amlpIEhp
cm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW1dpbl1bRHVtcFJl
bmRlclRyZWVdIC0tbm8tdGltZW91dCBzd2l0Y2ggZG9lc24ndCB3b3JrCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IGY1Y2JiNDkxODAxZTQyY2MxZWI4ZDcwYzA0ZTBjMDA3OGU0NTUxZWYuLjYz
ZDE3MWI5MDc3OWVkMWUwOTI3NGU1MGU1MmI0ZTZlYjgxNTYxNmQgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC01ODksNiArNTg5LDcgQEAKIAkJN0FFOUU1MDkxQUU1QUU4QjAwQ0Y4NzRCIC8q
IHRlc3QucGRmIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDdBRTlFNTA4MUFFNUFFOEIwMENGODc0QiAvKiB0ZXN0LnBkZiAqLzsgfTsKIAkJN0FF
QUQ0N0YxRTIwMTE2QzAwNDE2RUZFIC8qIENyb3NzUGFydGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRUFENDdD
MUUyMDExMzgwMDQxNkVGRSAvKiBDcm9zc1BhcnRpdGlvbkZpbGVTY2hlbWVBY2Nlc3MubW0gKi87
IH07CiAJCTdBRUFENDgxMUUyMDEyMjcwMDQxNkVGRSAvKiBDcm9zc1BhcnRpdGlvbkZpbGVTY2hl
bWVBY2Nlc3MuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3QUVBRDQ3RDFFMjAxMTRFMDA0MTZFRkUgLyogQ3Jvc3NQYXJ0aXRpb25GaWxl
U2NoZW1lQWNjZXNzLmh0bWwgKi87IH07CisJCTdCMTg0MTdDMjY3Mzg2MDIwMEVENEY4RCAvKiBJ
bWFnZUJ1ZmZlclRlc3RzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdCMTg0MTdCMjY3Mzg2MDIwMEVENEY4RCAvKiBJbWFnZUJ1ZmZlclRlc3RzLmNw
cCAqLzsgfTsKIAkJN0IyNzM5RjMyNjMyQUI2NDAwNDBGMTgyIC8qIFRocmVhZEFzc2VydGlvbnNU
ZXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdC
MjczOUYyMjYzMkFCNjQwMDQwRjE4MiAvKiBUaHJlYWRBc3NlcnRpb25zVGVzdC5jcHAgKi87IH07
CiAJCTdCN0QwOTZBMjUxOUY4RjkwMDE3QTA3OCAvKiBXZWJHTE5vQ3Jhc2hPbk90aGVyVGhyZWFk
QWNjZXNzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0I3RDA5NjkyNTE5RjhGOTAwMTdBMDc4IC8qIFdlYkdMTm9DcmFzaE9uT3RoZXJUaHJlYWRBY2Nl
c3MubW0gKi87IH07CiAJCTdDMUFGNzk1MUU4RENCQUIwMDI2NDVCOSAvKiBQcmVwYXJlRm9yTW92
ZVRvV2luZG93Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0MxQUY3OTMxRThEQ0JBQjAwMjY0NUI5IC8qIFByZXBhcmVGb3JNb3ZlVG9XaW5kb3cubW0g
Ki87IH07CkBAIC0yNDU3LDYgKzI0NTgsNyBAQAogCQk3QUU5RTUwODFBRTVBRThCMDBDRjg3NEIg
LyogdGVzdC5wZGYgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBpbWFnZS5wZGY7IHBhdGggPSB0ZXN0LnBkZjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJN0FFQUQ0N0MxRTIwMTEzODAwNDE2RUZFIC8qIENyb3NzUGFydGl0aW9uRmlsZVNjaGVt
ZUFjY2Vzcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENyb3Nz
UGFydGl0aW9uRmlsZVNjaGVtZUFjY2Vzcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJN0FFQUQ0N0QxRTIwMTE0RTAwNDE2RUZFIC8qIENyb3NzUGFydGl0aW9uRmlsZVNjaGVtZUFj
Y2Vzcy5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBuYW1lID0gQ3Jvc3NQYXJ0aXRpb25GaWxl
U2NoZW1lQWNjZXNzLmh0bWw7IHBhdGggPSBUZXN0cy9tYWMvQ3Jvc3NQYXJ0aXRpb25GaWxlU2No
ZW1lQWNjZXNzLmh0bWw7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKKwkJN0IxODQxN0Iy
NjczODYwMjAwRUQ0RjhEIC8qIEltYWdlQnVmZmVyVGVzdHMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSW1hZ2VCdWZmZXJUZXN0cy5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTdCMjczOUYyMjYzMkFCNjQwMDQwRjE4MiAvKiBUaHJlYWRBc3NlcnRp
b25zVGVzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUaHJlYWRB
c3NlcnRpb25zVGVzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdCN0QwOTY5
MjUxOUY4RjkwMDE3QTA3OCAvKiBXZWJHTE5vQ3Jhc2hPbk90aGVyVGhyZWFkQWNjZXNzLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViR0xOb0NyYXNoT25PdGhlclRocmVhZEFjY2Vzcy5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0MxQUY3OTMxRThEQ0JBQjAwMjY0NUI5IC8q
IFByZXBhcmVGb3JNb3ZlVG9XaW5kb3cubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBQcmVwYXJlRm9yTW92ZVRvV2luZG93Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMzcxOCw2ICszNzIwLDcgQEAKIAkJCQk1Q0ExREVDNzFGNzFGNDA3MDBFNzFC
RDMgLyogSFRUUEhlYWRlckZpZWxkLmNwcCAqLywKIAkJCQk0NkZBMkZFRDIzODQ2QzlBMDAwQ0NC
MEMgLyogSFRUUEhlYWRlck1hcC5jcHAgKi8sCiAJCQkJNkI5QUJFMTEyMDg2OTUyRjAwRDc1REU2
IC8qIEhUVFBQYXJzZXJzLmNwcCAqLywKKwkJCQk3QjE4NDE3QjI2NzM4NjAyMDBFRDRGOEQgLyog
SW1hZ2VCdWZmZXJUZXN0cy5jcHAgKi8sCiAJCQkJN0E5MDlBNzMxRDg3NzQ3NTAwN0UxMEY4IC8q
IEludFBvaW50VGVzdHMuY3BwICovLAogCQkJCTdBOTA5QTc0MUQ4Nzc0NzUwMDdFMTBGOCAvKiBJ
bnRSZWN0VGVzdHMuY3BwICovLAogCQkJCTdBOTA5QTc1MUQ4Nzc0NzUwMDdFMTBGOCAvKiBJbnRT
aXplVGVzdHMuY3BwICovLApAQCAtNTI5OSw2ICs1MzAyLDcgQEAKIAkJCQk1N0M2MjQ0RTIzNDZC
Q0ZBMDAzODNGRTcgLyogX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTdDQ0U3RUU0MUE0MTFBRTYwMDQ0N0M0QyAvKiBBYm91dEJsYW5rTG9hZC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk3Q0NFN0VCMzFBNDExQTdFMDA0NDdDNEMgLyogQWNjZXB0c0ZpcnN0
TW91c2UubW0gaW4gU291cmNlcyAqLywKKwkJCQkyOUUwNkU1RTI2NkYzQzA2MDBGMUE3MDcgLyog
QWNjZXNzaWJpbGl0eUluY3JlYXNlQ29udHJhc3QubW0gaW4gU291cmNlcyAqLywKIAkJCQlDMUY0
ODQwNzI0RUREQjQwMDA1M0VDQjggLyogQWNjZXNzaWJpbGl0eVJlZHVjZU1vdGlvbi5tbSBpbiBT
b3VyY2VzICovLAogCQkJCUUzRjhBQjkyMjQxQUI5Q0UwMDNFMkE3RSAvKiBBY2Nlc3NpYmlsaXR5
UmVtb3RlVUlBcHAubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRTIwNUJBNDFGNTI3NzQ2MDA1OTUy
REQgLyogQWNjZXNzaWJpbGl0eVRlc3RzSU9TLm1tIGluIFNvdXJjZXMgKi8sCkBAIC01NTExLDYg
KzU1MTUsNyBAQAogCQkJCTUxMDQ3Nzc4MUQyOTkyM0IwMDk3NDdFQiAvKiBJREJEZWxldGVSZWNv
dmVyeS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxMTBGQ0ZBMUUwMUNEQjgwMDZGOEQwQiAvKiBJ
REJJbmRleFVwZ3JhZGVUb1YyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJOTNCQ0JDODMyM0NDNkYy
QTAwQ0EyMjIxIC8qIElEQk9iamVjdFN0b3JlSW5mb1VwZ3JhZGVUb1YyLm1tIGluIFNvdXJjZXMg
Ki8sCisJCQkJN0IxODQxN0MyNjczODYwMjAwRUQ0RjhEIC8qIEltYWdlQnVmZmVyVGVzdHMuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJRjQ0QTlBRjcyNjQ5QkJERDAwRTdDQjE2IC8qIEltbWVkaWF0
ZUFjdGlvblRlc3RzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlBRUVGNkQyNDA3MzU5RDAwQzg3
RTRDIC8qIEluQXBwQnJvd3NlclByaXZhY3kubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MUE1ODc4
NjFEMjczQUE5MDA0QkE5QUYgLyogSW5kZXhlZERCRGF0YWJhc2VQcm9jZXNzS2lsbC5tbSBpbiBT
b3VyY2VzICovLApAQCAtNTcyNiw3ICs1NzMxLDYgQEAKIAkJCQk1Q0NCMTBFNDIxMzQ1N0UwMDBB
QzVBRjAgLyogU2hvdWxkR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW0ubW0gaW4gU291cmNlcyAqLywK
IAkJCQk3Q0NFN0YxNDFBNDExQUU2MDA0NDdDNEMgLyogU2hvdWxkS2VlcEN1cnJlbnRCYWNrRm9y
d2FyZExpc3RJdGVtSW5MaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTM3QkNBNjFDMUI1OTZC
QTkwMDIwMTJDQSAvKiBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzSW5OZXdXaW5kb3dBY3Rpb25zLm1t
IGluIFNvdXJjZXMgKi8sCi0JCQkJMjlFMDZFNUUyNjZGM0MwNjAwRjFBNzA3IC8qIEFjY2Vzc2li
aWxpdHlJbmNyZWFzZUNvbnRyYXN0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M4M0UwQzUxRDBB
NjU0NjAwRkVCQ0YzIC8qIFNocmlua1RvRml0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdF
Q0QxQTQxMUE3RTAwNDQ3QzRDIC8qIFNpbXBsaWZ5TWFya3VwLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQzE0OUQ1NTAyNDJFOThERjAwM0VCQjEyIC8qIFNsZWVwRGlzYWJsZXIubW0gaW4gU291cmNl
cyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9JbWFn
ZUJ1ZmZlclRlc3RzLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9JbWFn
ZUJ1ZmZlclRlc3RzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNDY0MGFhNmE0OTkxOTcxNGU3ZTgzYzZhYjQ2
ZGQ0NGRkYWQ3OWY1Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJDb3JlL0ltYWdlQnVmZmVyVGVzdHMuY3BwCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNsdWRlIDxXZWJDb3JlL0ltYWdlQnVmZmVy
Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUltYWdlQnVmZmVyLmg+CisKK25hbWVzcGFj
ZSBUZXN0V2ViS2l0QVBJIHsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCisvLyBUZXN0cyB0
aGF0IHRoZSBzcGVjaWFsaXplZCBpbWFnZSBidWZmZXIgY29uc3RydWN0b3JzIGNvbnN0cnVjdCB0
aGUgZXhwZWN0ZWQgdHlwZSBvZiBvYmplY3QuCisvLyBUZXN0IHBhc3NlcyBpZiB0aGUgdGVzdCBj
b21waWxlcywgdGhlcmUgd2FzIGEgYnVnIHdoZXJlIHRoZSBjb2RlIHdvdWxkbid0IGNvbXBpbGUu
CitURVNUKEltYWdlQnVmZmVyVGVzdHMsIEltYWdlQnVmZmVyU3ViVHlwZUNyZWF0ZUNyZWF0ZXNT
dWJ0eXBlcykKK3sKKyAgICBhdXRvIGNvbG9yU3BhY2UgPSBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6
OlNSR0IoKTsKKyAgICBhdXRvIHBpeGVsRm9ybWF0ID0gUGl4ZWxGb3JtYXQ6OkJHUkE4OworICAg
IEZsb2F0U2l6ZSBzaXplIHsgMS5mLCAxLmYgfTsKKyAgICBmbG9hdCBzY2FsZSA9IDEuZjsKKyAg
ICBSZWZQdHI8VW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyPiB1bmFjY2VsZXJhdGVkID0gVW5hY2Nl
bGVyYXRlZEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgc2NhbGUsIGNvbG9yU3BhY2UsIHBpeGVs
Rm9ybWF0LCBudWxscHRyKTsKKyAgICBSZWZQdHI8QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcj4gYWNj
ZWxlcmF0ZWQgPSBBY2NlbGVyYXRlZEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgc2NhbGUsIGNv
bG9yU3BhY2UsIHBpeGVsRm9ybWF0LCBudWxscHRyKTsKKyAgICBSZWZQdHI8RGlzcGxheUxpc3RB
Y2NlbGVyYXRlZEltYWdlQnVmZmVyPiBkaXNwbGF5TGlzdEFjY2VsZXJhdGVkID0gRGlzcGxheUxp
c3RBY2NlbGVyYXRlZEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgc2NhbGUsIGNvbG9yU3BhY2Us
IHBpeGVsRm9ybWF0LCBudWxscHRyKTsKKyAgICBSZWZQdHI8RGlzcGxheUxpc3RVbmFjY2VsZXJh
dGVkSW1hZ2VCdWZmZXI+IGRpc3BsYXlMaXN0VW5hY2NlbGVyYXRlZCA9IERpc3BsYXlMaXN0VW5h
Y2NlbGVyYXRlZEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgc2NhbGUsIGNvbG9yU3BhY2UsIHBp
eGVsRm9ybWF0LCBudWxscHRyKTsKKyAgICBFWFBFQ1RfTkUobnVsbHB0ciwgYWNjZWxlcmF0ZWQp
OworICAgIEVYUEVDVF9ORShudWxscHRyLCB1bmFjY2VsZXJhdGVkKTsKKyAgICBFWFBFQ1RfTkUo
bnVsbHB0ciwgZGlzcGxheUxpc3RBY2NlbGVyYXRlZCk7CisgICAgRVhQRUNUX05FKG51bGxwdHIs
IGRpc3BsYXlMaXN0VW5hY2NlbGVyYXRlZCk7Cit9CisKK30K
</data>

          </attachment>
      

    </bug>

</bugzilla>