<?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>238134</bug_id>
          
          <creation_ts>2022-03-21 00:55:47 -0700</creation_ts>
          <short_desc>Validate readpixels format and type inside of WebCore</short_desc>
          <delta_ts>2022-06-01 15:54:34 -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>WebGL</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></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>239114</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="John Cunningham">johncunningham</reporter>
          <assigned_to name="John Cunningham">johncunningham</assigned_to>
          <cc>ahmad.saleem792</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1853121</commentid>
    <comment_count>0</comment_count>
    <who name="John Cunningham">johncunningham</who>
    <bug_when>2022-03-21 00:55:47 -0700</bug_when>
    <thetext>Validate readpixels against UNSIGNED_INT_24_8 type and DEPTH_COMPONENT format</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853122</commentid>
    <comment_count>1</comment_count>
      <attachid>455221</attachid>
    <who name="John Cunningham">johncunningham</who>
    <bug_when>2022-03-21 00:56:27 -0700</bug_when>
    <thetext>Created attachment 455221
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853123</commentid>
    <comment_count>2</comment_count>
    <who name="John Cunningham">johncunningham</who>
    <bug_when>2022-03-21 00:57:34 -0700</bug_when>
    <thetext>webgl/2.0.y/conformance/reading/read-pixels-test.html now passes in entirety.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853124</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2022-03-21 00:57:45 -0700</bug_when>
    <thetext>Note that there are important steps to take when updating ANGLE. See https://trac.webkit.org/wiki/UpdatingANGLE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853439</commentid>
    <comment_count>4</comment_count>
      <attachid>455308</attachid>
    <who name="John Cunningham">johncunningham</who>
    <bug_when>2022-03-21 17:48:47 -0700</bug_when>
    <thetext>Created attachment 455308
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853445</commentid>
    <comment_count>5</comment_count>
      <attachid>455310</attachid>
    <who name="John Cunningham">johncunningham</who>
    <bug_when>2022-03-21 17:52:46 -0700</bug_when>
    <thetext>Created attachment 455310
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853452</commentid>
    <comment_count>6</comment_count>
      <attachid>455310</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-21 18:06:41 -0700</bug_when>
    <thetext>Comment on attachment 455310
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        Validate readpixels format and type inside of WebCore

Silly question: Why doesn&apos;t ANGLE validate this for us?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853709</commentid>
    <comment_count>7</comment_count>
      <attachid>455380</attachid>
    <who name="John Cunningham">johncunningham</who>
    <bug_when>2022-03-22 09:25:09 -0700</bug_when>
    <thetext>Created attachment 455380
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853745</commentid>
    <comment_count>8</comment_count>
      <attachid>455380</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2022-03-22 10:33:25 -0700</bug_when>
    <thetext>Comment on attachment 455380
Patch

Just FYI: ANGLE does do this validation. The only validation that should be needed at the WebCore level is to ensure that the incoming typed array type is compatible with the format being requested in readPixels. See Chromium&apos;s associated validation:

https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc;l=4568
https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/modules/webgl/webgl2_rendering_context_base.cc;l=5608</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853751</commentid>
    <comment_count>9</comment_count>
    <who name="John Cunningham">johncunningham</who>
    <bug_when>2022-03-22 10:42:48 -0700</bug_when>
    <thetext>(In reply to Kenneth Russell from comment #8)
&gt; Comment on attachment 455380 [details]
&gt; Patch
&gt; 
&gt; Just FYI: ANGLE does do this validation. The only validation that should be
&gt; needed at the WebCore level is to ensure that the incoming typed array type
&gt; is compatible with the format being requested in readPixels. See Chromium&apos;s
&gt; associated validation:
&gt; 
&gt; https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/
&gt; renderer/modules/webgl/webgl_rendering_context_base.cc;l=4568
&gt; https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/
&gt; renderer/modules/webgl/webgl2_rendering_context_base.cc;l=5608

Thanks, Ken. My original patch here was on ANGLE. It seems there are two things going on:

1. ANGLE&apos;s readpixel validation allows UNSIGNED_INT_24_8, which does not seem to be accurate to my spec reading.

2. ANGLE&apos;s readpixel validation early outs for read-pixels-test.html because of a missing attachment which is undefined behavior, see these lines in validationES.cpp

if (readBuffer == nullptr)
{
    context-&gt;validationError(entryPoint, GL_INVALID_OPERATION, kMissingReadAttachment);
    return false;
}

I&apos;m happy to fix the first in upstream ANGLE, and fix the undefined behavior in the test which is causing it to fail. I wonder if it still makes sense to swap the order of the undefined behavior check of missing attachment to after the pixel/type validation in ANGLE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853804</commentid>
    <comment_count>10</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2022-03-22 11:47:14 -0700</bug_when>
    <thetext>(In reply to John Cunningham from comment #9)
&gt; (In reply to Kenneth Russell from comment #8)
&gt; &gt; Comment on attachment 455380 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; Just FYI: ANGLE does do this validation. The only validation that should be
&gt; &gt; needed at the WebCore level is to ensure that the incoming typed array type
&gt; &gt; is compatible with the format being requested in readPixels. See Chromium&apos;s
&gt; &gt; associated validation:
&gt; &gt; 
&gt; &gt; https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/
&gt; &gt; renderer/modules/webgl/webgl_rendering_context_base.cc;l=4568
&gt; &gt; https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/
&gt; &gt; renderer/modules/webgl/webgl2_rendering_context_base.cc;l=5608
&gt; 
&gt; Thanks, Ken. My original patch here was on ANGLE. It seems there are two
&gt; things going on:
&gt; 
&gt; 1. ANGLE&apos;s readpixel validation allows UNSIGNED_INT_24_8, which does not
&gt; seem to be accurate to my spec reading.
&gt; 
&gt; 2. ANGLE&apos;s readpixel validation early outs for read-pixels-test.html because
&gt; of a missing attachment which is undefined behavior, see these lines in
&gt; validationES.cpp
&gt; 
&gt; if (readBuffer == nullptr)
&gt; {
&gt;     context-&gt;validationError(entryPoint, GL_INVALID_OPERATION,
&gt; kMissingReadAttachment);
&gt;     return false;
&gt; }
&gt; 
&gt; I&apos;m happy to fix the first in upstream ANGLE, and fix the undefined behavior
&gt; in the test which is causing it to fail. I wonder if it still makes sense to
&gt; swap the order of the undefined behavior check of missing attachment to
&gt; after the pixel/type validation in ANGLE.

Thanks for the confirmation; I see.

For (1), it sounds fine to look into fixing this in ANGLE; but the bug is in Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp, WebGLRenderingContextBase::validateArrayBufferType. The case for GraphicsContextGL::UNSIGNED_INT_24_8 should just be removed; then that part of the test will pass.

Not sure about the second bug though. Happy to discuss further.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854034</commentid>
    <comment_count>11</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2022-03-22 18:09:25 -0700</bug_when>
    <thetext>After further discussion on Slack, I see that the existing validateArrayBufferType is used for both Tex{Sub}Image and ReadPixels operations.

Still - would you consider passing an additional parameter to validateArrayBufferType, whether it&apos;s for ReadPixels or not? Then it could reject UNSIGNED_INT_24_8 for ReadPixels and avoid duplicating this code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855514</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-28 00:56:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/90910118&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860591</commentid>
    <comment_count>13</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-04-11 23:45:55 -0700</bug_when>
    <thetext>Landed in ANGLE upstream:
https://bugs.chromium.org/p/angleproject/issues/detail?id=7119</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864663</commentid>
    <comment_count>14</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2022-04-26 16:22:35 -0700</bug_when>
    <thetext>Should roll into WebKit in Bug 239114.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1873409</commentid>
    <comment_count>15</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-06-01 15:54:34 -0700</bug_when>
    <thetext>I think this bug can be closed (if scope is just update of ANGLE library) since it was within ANGLE library and it was updated as mentioned in Comment 13. But, from Comment 10 to remove a case bit within &quot;Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp&quot;, I noticed from Webkit Github mirror that it is still present on line 5504.

Webkit Mirror file link - https://github.com/WebKit/WebKit/blob/2e84b9750f8c04ed405b84e8fbfb2dbc0bf24497/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp

Thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455221</attachid>
            <date>2022-03-21 00:56:27 -0700</date>
            <delta_ts>2022-03-21 17:48:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238134-20220321005626.patch</filename>
            <type>text/plain</type>
            <size>4176</size>
            <attacher name="John Cunningham">johncunningham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggZjU4ZGU3MjcwZjI5NWQwYWJlMTMxNDYyYTVmM2ViMjc5MTU0NzBiOS4uZTMwNWQxNDdmOWIy
OGYxODc2N2RkOTMyNmU2NTBkOTVhZmRkNWE3NyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDIyLTAzLTIxICBKb2huIEN1bm5pbmdoYW0gIDxqb2huY3Vu
bmluZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgVmFsaWRhdGUgcmVhZHBpeGVscyBhZ2FpbnN0
IFVOU0lHTkVEX0lOVF8yNF84IHR5cGUgYW5kIERFUFRIX0NPTVBPTkVOVCBmb3JtYXQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODEzNAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3JjL2xpYkFOR0xF
L3ZhbGlkYXRpb25FUy5jcHA6CisgICAgICAgIChnbDo6ZXJyOjpWYWxpZFJlYWRQaXhlbHNUeXBl
RW51bSk6CisgICAgICAgIChnbDo6VmFsaWRhdGVSZWFkUGl4ZWxzQmFzZSk6CisKIDIwMjItMDMt
MTcgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgbGliQU5H
TEUtc2hhcmVkLmR5bGliLCBsaWJ3ZWJydGMuZHlsaWIgJiBXZWJHUFUgaW5zdGFsbCBuYW1lcyBh
cmUgcHJlZml4ZWQgd2l0aCB0aGUgc3lzdGVtIGNvbnRlbnQgcGF0aApkaWZmIC0tZ2l0IGEvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL3ZhbGlkYXRpb25FUy5jcHAgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9BTkdMRS9zcmMvbGliQU5HTEUvdmFsaWRhdGlvbkVTLmNwcAppbmRleCBi
MGI3MWMwZGY3YjE3NDAyZDdlYzFlN2Y5NmZhN2YzMjg1Mjc2ZjgxLi4xODk2MDBiMDgwMWQxNjQ3
ODQ3ODJhODFkZmE0ZjQ3OTkxNWE0MjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9zcmMvbGliQU5HTEUvdmFsaWRhdGlvbkVTLmNwcAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9zcmMvbGliQU5HTEUvdmFsaWRhdGlvbkVTLmNwcApAQCAtOTksMTMgKzk5LDEyIEBA
IGJvb2wgVmFsaWRSZWFkUGl4ZWxzVHlwZUVudW0oY29uc3QgQ29udGV4dCAqY29udGV4dCwgR0xl
bnVtIHR5cGUpCiAgICAgICAgIGNhc2UgR0xfVU5TSUdORURfU0hPUlRfNV82XzU6CiAgICAgICAg
ICAgICByZXR1cm4gY29udGV4dC0+Z2V0Q2xpZW50VmVyc2lvbigpID49IEVTXzJfMDsKIAotICAg
ICAgICAvLyBUeXBlcyByZWZlcmVuY2VkIGluIFRhYmxlIDMuMiBvZiB0aGUgRVMgMy4wLjUgc3Bl
YyAoRXhjZXB0IGRlcHRoIHN0ZW5jaWwpCisgICAgICAgIC8vIFR5cGVzIHJlZmVyZW5jZWQgaW4g
VGFibGUgMy4yIG9mIHRoZSBFUyAzLjAuNSBzcGVjCiAgICAgICAgIGNhc2UgR0xfQllURToKICAg
ICAgICAgY2FzZSBHTF9JTlQ6CiAgICAgICAgIGNhc2UgR0xfU0hPUlQ6CiAgICAgICAgIGNhc2Ug
R0xfVU5TSUdORURfSU5UOgogICAgICAgICBjYXNlIEdMX1VOU0lHTkVEX0lOVF8xMEZfMTFGXzEx
Rl9SRVY6Ci0gICAgICAgIGNhc2UgR0xfVU5TSUdORURfSU5UXzI0Xzg6CiAgICAgICAgIGNhc2Ug
R0xfVU5TSUdORURfSU5UXzJfMTBfMTBfMTBfUkVWOgogICAgICAgICBjYXNlIEdMX1VOU0lHTkVE
X0lOVF81XzlfOV85X1JFVjoKICAgICAgICAgY2FzZSBHTF9VTlNJR05FRF9TSE9SVDoKQEAgLTcy
MzgsNiArNzIzNywyOCBAQCBib29sIFZhbGlkYXRlUmVhZFBpeGVsc0Jhc2UoY29uc3QgQ29udGV4
dCAqY29udGV4dCwKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAorICAgIGlmIChjb250
ZXh0LT5pc1dlYkdMKCkpCisgICAgeworICAgICAgICAvLyBUaGUgRVMgMi4wIHNwZWMgc3RhdGVz
IHRoYXQgdGhlIGZvcm1hdCBtdXN0IGJlICJhbW9uZyB0aG9zZSBkZWZpbmVkIGluIHRhYmxlIDMu
NCwKKyAgICAgICAgLy8gZXhjbHVkaW5nIGZvcm1hdHMgTFVNSU5BTkNFIGFuZCBMVU1JTkFOQ0Vf
QUxQSEEuIi4gIFRoaXMgcmVxdWlyZXMgdmFsaWRhdGluZyB0aGUgZm9ybWF0CisgICAgICAgIC8v
IGFuZCB0eXBlIGJlZm9yZSB2YWxpZGF0aW5nIHRoZSBjb21iaW5hdGlvbiBvZiBmb3JtYXQgYW5k
IHR5cGUuICBIb3dldmVyLCB0aGUKKyAgICAgICAgLy8gZEVRUC1HTEVTMy5mdW5jdGlvbmFsLm5l
Z2F0aXZlX2FwaS5idWZmZXIucmVhZF9waXhlbHMgcGFzc2VzIEdMX0xVTUlOQU5DRSBhcyBhIGZv
cm1hdCBhbmQKKyAgICAgICAgLy8gdmVyaWZpZXMgdGhhdCBHTF9JTlZBTElEX09QRVJBVElPTiBp
cyBnZW5lcmF0ZWQuCisgICAgICAgIC8vIFRPRE8oZ2VvZmZsYW5nKTogVXBkYXRlIHRoaXMgY2hl
Y2sgdG8gYmUgZG9uZSBpbiBhbGwvbm8gY2FzZXMgb25jZSB0aGlzIGlzIHJlc29sdmVkIGluCisg
ICAgICAgIC8vIGRFUVAvV2ViR0wuCisgICAgICAgIGlmICghVmFsaWRSZWFkUGl4ZWxzRm9ybWF0
RW51bShjb250ZXh0LCBmb3JtYXQpKQorICAgICAgICB7CisgICAgICAgICAgICBjb250ZXh0LT52
YWxpZGF0aW9uRXJyb3IoZW50cnlQb2ludCwgR0xfSU5WQUxJRF9FTlVNLCBrSW52YWxpZEZvcm1h
dCk7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKworICAgICAgICBpZiAo
IVZhbGlkUmVhZFBpeGVsc1R5cGVFbnVtKGNvbnRleHQsIHR5cGUpKQorICAgICAgICB7CisgICAg
ICAgICAgICBjb250ZXh0LT52YWxpZGF0aW9uRXJyb3IoZW50cnlQb2ludCwgR0xfSU5WQUxJRF9F
TlVNLCBrSW52YWxpZFR5cGUpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9
CisgICAgfQorCiAgICAgY29uc3QgRnJhbWVidWZmZXJBdHRhY2htZW50ICpyZWFkQnVmZmVyID0g
bnVsbHB0cjsKICAgICBzd2l0Y2ggKGZvcm1hdCkKICAgICB7CkBAIC03MjcyLDI4ICs3MjkzLDYg
QEAgYm9vbCBWYWxpZGF0ZVJlYWRQaXhlbHNCYXNlKGNvbnN0IENvbnRleHQgKmNvbnRleHQsCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBpZiAoY29udGV4dC0+aXNXZWJHTCgp
KQotICAgIHsKLSAgICAgICAgLy8gVGhlIEVTIDIuMCBzcGVjIHN0YXRlcyB0aGF0IHRoZSBmb3Jt
YXQgbXVzdCBiZSAiYW1vbmcgdGhvc2UgZGVmaW5lZCBpbiB0YWJsZSAzLjQsCi0gICAgICAgIC8v
IGV4Y2x1ZGluZyBmb3JtYXRzIExVTUlOQU5DRSBhbmQgTFVNSU5BTkNFX0FMUEhBLiIuICBUaGlz
IHJlcXVpcmVzIHZhbGlkYXRpbmcgdGhlIGZvcm1hdAotICAgICAgICAvLyBhbmQgdHlwZSBiZWZv
cmUgdmFsaWRhdGluZyB0aGUgY29tYmluYXRpb24gb2YgZm9ybWF0IGFuZCB0eXBlLiAgSG93ZXZl
ciwgdGhlCi0gICAgICAgIC8vIGRFUVAtR0xFUzMuZnVuY3Rpb25hbC5uZWdhdGl2ZV9hcGkuYnVm
ZmVyLnJlYWRfcGl4ZWxzIHBhc3NlcyBHTF9MVU1JTkFOQ0UgYXMgYSBmb3JtYXQgYW5kCi0gICAg
ICAgIC8vIHZlcmlmaWVzIHRoYXQgR0xfSU5WQUxJRF9PUEVSQVRJT04gaXMgZ2VuZXJhdGVkLgot
ICAgICAgICAvLyBUT0RPKGdlb2ZmbGFuZyk6IFVwZGF0ZSB0aGlzIGNoZWNrIHRvIGJlIGRvbmUg
aW4gYWxsL25vIGNhc2VzIG9uY2UgdGhpcyBpcyByZXNvbHZlZCBpbgotICAgICAgICAvLyBkRVFQ
L1dlYkdMLgotICAgICAgICBpZiAoIVZhbGlkUmVhZFBpeGVsc0Zvcm1hdEVudW0oY29udGV4dCwg
Zm9ybWF0KSkKLSAgICAgICAgewotICAgICAgICAgICAgY29udGV4dC0+dmFsaWRhdGlvbkVycm9y
KGVudHJ5UG9pbnQsIEdMX0lOVkFMSURfRU5VTSwga0ludmFsaWRGb3JtYXQpOwotICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKCFWYWxpZFJlYWRQaXhl
bHNUeXBlRW51bShjb250ZXh0LCB0eXBlKSkKLSAgICAgICAgewotICAgICAgICAgICAgY29udGV4
dC0+dmFsaWRhdGlvbkVycm9yKGVudHJ5UG9pbnQsIEdMX0lOVkFMSURfRU5VTSwga0ludmFsaWRU
eXBlKTsKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgIH0KLQogICAg
IEdMZW51bSBjdXJyZW50Rm9ybWF0ID0gR0xfTk9ORTsKICAgICBHTGVudW0gY3VycmVudFR5cGUg
ICA9IEdMX05PTkU7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455308</attachid>
            <date>2022-03-21 17:48:47 -0700</date>
            <delta_ts>2022-03-21 17:52:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238134-20220321174846.patch</filename>
            <type>text/plain</type>
            <size>6480</size>
            <attacher name="John Cunningham">johncunningham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmE3NjgyZjk4ODdiMWRm
ZmI4YTkyNGY3YTZlNzE2YmI2N2Q0ZWRmMC4uNWM5N2VjN2QyOTA0YWI5N2QzYzRkOTgyZmZlNGZj
MmQzNjhiOGQ2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIyLTAzLTIxICBKb2hu
IEN1bm5pbmdoYW0gIDxqb2huY3VubmluZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgVmFsaWRh
dGUgcmVhZHBpeGVscyBmb3JtYXQgYW5kIHR5cGUgaW5zaWRlIG9mIFdlYkNvcmUgCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzgxMzQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9P
UFMhKS4KKworICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6cmVhZFBp
eGVscyk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp2YWxp
ZGF0ZUFycmF5QnVmZmVyVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlOjp2YWxpZGF0ZVJlYWRQaXhlbHNGb3JtYXQpOgorICAgICAgICAoV2ViQ29yZTo6
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6dmFsaWRhdGVSZWFkUGl4ZWxzVHlwZSk6CisgICAg
ICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oOgorCiAyMDIyLTAz
LTIwICBEaWVnbyBQaW5vIEdhcmNpYSAgPGRwaW5vQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dQ
RV0gVW5yZXZpZXdlZCwgZml4IG5vbi11bmlmaWVkIGJ1aWxkIGFmdGVyIHIyOTE0NzQgYW5kIHIy
OTE1MDgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZS5jcHAKaW5kZXggMjZkOTJlZDhiN2E5NzI3ZDg5MTQ5ZmY0NjYzZDM0
YzMyOTRhMTAzMC4uNWIyNGYxMDc2ZGU2NTUxZDg2NzE3MmFhNzBjNjE0OWYyNzFkZDllMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZS5jcHAKQEAgLTQ0NzQsMTAgKzQ0NzQsMTMgQEAgdm9pZCBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlOjpyZWFkUGl4ZWxzKEdDR0xpbnQgeCwgR0NHTGludCB5LCBHQ0dMc2l6ZWkg
d2lkdGgKICAgICBBU1NFUlQoY2FudmFzQmFzZSgpLm9yaWdpbkNsZWFuKCkpOwogCiAjaWYgVVNF
KEFOR0xFKQorCisgICAgaWYgKCF2YWxpZGF0ZVJlYWRQaXhlbHNGb3JtYXQoZm9ybWF0KSkKKyAg
ICAgICAgcmV0dXJuOwogICAgIC8vIEFOR0xFIHdpbGwgdmFsaWRhdGUgdGhlIHJlYWRiYWNrIGZy
b20gdGhlIGZyYW1lYnVmZmVyIGFjY29yZGluZwogICAgIC8vIHRvIFdlYkdMJ3MgcmVzdHJpY3Rp
b25zLiBBdCB0aGlzIGxldmVsLCBqdXN0IHZhbGlkYXRlIHRoZSB0eXBlCiAgICAgLy8gb2YgdGhl
IHJlYWRiYWNrIGFnYWluc3QgdGhlIHR5cGVkIGFycmF5J3MgdHlwZS4KLSAgICBpZiAoIXZhbGlk
YXRlQXJyYXlCdWZmZXJUeXBlKCJyZWFkUGl4ZWxzIiwgdHlwZSwgc3RkOjpvcHRpb25hbDxKU0M6
OlR5cGVkQXJyYXlUeXBlPihwaXhlbHMuZ2V0VHlwZSgpKSkpCisgICAgaWYgKCF2YWxpZGF0ZVJl
YWRQaXhlbHNUeXBlKHR5cGUsIHN0ZDo6b3B0aW9uYWw8SlNDOjpUeXBlZEFycmF5VHlwZT4ocGl4
ZWxzLmdldFR5cGUoKSkpKQogICAgICAgICByZXR1cm47CiAjZWxzZQogICAgIEdDR0xlbnVtIGlu
dGVybmFsRm9ybWF0ID0gMDsKQEAgLTU1MDEsNiArNTUwNCw4NiBAQCBib29sIFdlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2U6OnZhbGlkYXRlQXJyYXlCdWZmZXJUeXBlKGNvbnN0IGNoYXIqIGZ1bmN0
aW9uTmFtZQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogI3VuZGVmIFRZUEVfVkFMSURB
VElPTl9DQVNFCisjdW5kZWYgVFlQRV9WQUxJREFUSU9OX0NBU0VfMgorICAgIHJldHVybiB0cnVl
OworfQorCitib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnZhbGlkYXRlUmVhZFBpeGVs
c0Zvcm1hdChHQ0dMZW51bSBmb3JtYXQpCit7CisgICAgc3dpdGNoIChmb3JtYXQpIHsKKyAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dEdMOjpBTFBIQToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdM
OjpSR0I6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6UkdCQToKKyAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6UkVEOgorICAgIGNhc2UgR3JhcGhp
Y3NDb250ZXh0R0w6OlJHOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlJFRF9JTlRFR0VS
OgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlJHX0lOVEVHRVI6CisgICAgY2FzZSBHcmFw
aGljc0NvbnRleHRHTDo6UkdCX0lOVEVHRVI6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6
UkdCQV9JTlRFR0VSOgorICAgICAgICBpZiAoaXNXZWJHTDIoKSkKKyAgICAgICAgICAgIHJldHVy
biB0cnVlOworICAgICAgICBGQUxMVEhST1VHSDsKKyAgICBkZWZhdWx0OgorICAgICAgICBzeW50
aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9FTlVNLCAicmVhZFBpeGVs
cyIsICJpbnZhbGlkIGZvcm1hdCIpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQor
Citib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnZhbGlkYXRlUmVhZFBpeGVsc1R5cGUo
R0NHTGVudW0gdHlwZSwgc3RkOjpvcHRpb25hbDxKU0M6OlR5cGVkQXJyYXlUeXBlPiBhcnJheVR5
cGUpCit7CisjZGVmaW5lIFRZUEVfVkFMSURBVElPTl9DQVNFKGFycmF5VHlwZU1hY3JvLCBXZWJH
TDJPbmx5KSBpZiAoV2ViR0wyT25seSAmJiAhaXNXZWJHTDIoKSkgeyBcCisgICAgICAgICAgICBz
eW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9FTlVNLCAicmVhZFBp
eGVscyIsICJpbnZhbGlkIHR5cGUiKTsgXAorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyBcCisg
ICAgICAgIH0gXAorICAgICAgICBpZiAoYXJyYXlUeXBlICYmIGFycmF5VHlwZS52YWx1ZSgpICE9
IEpTQzo6YXJyYXlUeXBlTWFjcm8pIHsgXAorICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3Io
R3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfT1BFUkFUSU9OLCAicmVhZFBpeGVscyIsICJBcnJh
eUJ1ZmZlclZpZXcgbm90ICIgI2FycmF5VHlwZU1hY3JvKTsgXAorICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOyBcCisgICAgICAgIH0gXAorICAgICAgICBicmVhazsKKworI2RlZmluZSBUWVBFX1ZB
TElEQVRJT05fQ0FTRV8yKGFycmF5VHlwZU1hY3JvLCBhcnJheVR5cGVNYWNybzIsIFdlYkdMMk9u
bHkpIGlmIChXZWJHTDJPbmx5ICYmICFpc1dlYkdMMigpKSB7IFwKKyAgICAgICAgICAgIHN5bnRo
ZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX0VOVU0sICJyZWFkUGl4ZWxz
IiwgImludmFsaWQgdHlwZSIpOyBcCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7IFwKKyAgICAg
ICAgfSBcCisgICAgICAgIGlmIChhcnJheVR5cGUgJiYgYXJyYXlUeXBlLnZhbHVlKCkgIT0gSlND
OjphcnJheVR5cGVNYWNybyAmJiBhcnJheVR5cGUudmFsdWUoKSAhPSBKU0M6OmFycmF5VHlwZU1h
Y3JvMikgeyBcCisgICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRH
TDo6SU5WQUxJRF9PUEVSQVRJT04sICJyZWFkUGl4ZWxzIiwgIkFycmF5QnVmZmVyVmlldyBub3Qg
IiAjYXJyYXlUeXBlTWFjcm8gIiBvciAiICNhcnJheVR5cGVNYWNybzIpOyBcCisgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7IFwKKyAgICAgICAgfSBcCisgICAgICAgIGJyZWFrOworCisgICAgc3dp
dGNoICh0eXBlKSB7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6VU5TSUdORURfQllURToK
KyAgICAgICAgVFlQRV9WQUxJREFUSU9OX0NBU0VfMihUeXBlVWludDgsIFR5cGVVaW50OENsYW1w
ZWQsIGZhbHNlKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpVTlNJR05FRF9TSE9SVF81
XzZfNToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpVTlNJR05FRF9TSE9SVF80XzRfNF80
OgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlVOU0lHTkVEX1NIT1JUXzVfNV81XzE6Cisg
ICAgICAgIFRZUEVfVkFMSURBVElPTl9DQVNFKFR5cGVVaW50MTYsIGZhbHNlKTsKKyAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dEdMOjpGTE9BVDogLy8gT0VTX3RleHR1cmVfZmxvYXQKKyAgICAgICAg
VFlQRV9WQUxJREFUSU9OX0NBU0UoVHlwZUZsb2F0MzIsIGZhbHNlKTsKKyAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dEdMOjpCWVRFOgorICAgICAgICBUWVBFX1ZBTElEQVRJT05fQ0FTRShUeXBlSW50
OCwgdHJ1ZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6VU5TSUdORURfU0hPUlQ6Cisg
ICAgICAgIFRZUEVfVkFMSURBVElPTl9DQVNFKFR5cGVVaW50MTYsIHRydWUpOworICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0R0w6OlNIT1JUOgorICAgICAgICBUWVBFX1ZBTElEQVRJT05fQ0FTRShU
eXBlSW50MTYsIHRydWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlVOU0lHTkVEX0lO
VF8yXzEwXzEwXzEwX1JFVjoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpVTlNJR05FRF9J
TlRfMTBGXzExRl8xMUZfUkVWOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlVOU0lHTkVE
X0lOVF81XzlfOV85X1JFVjoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpVTlNJR05FRF9J
TlQ6CisgICAgICAgIFRZUEVfVkFMSURBVElPTl9DQVNFKFR5cGVVaW50MzIsIHRydWUpOworICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OklOVDoKKyAgICAgICAgVFlQRV9WQUxJREFUSU9OX0NB
U0UoVHlwZUludDMyLCB0cnVlKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpIQUxGX0ZM
T0FUX09FUzogLy8gT0VTX3RleHR1cmVfaGFsZl9mbG9hdAorICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0R0w6OkhBTEZfRkxPQVQ6CisgICAgICAgIFRZUEVfVkFMSURBVElPTl9DQVNFKFR5cGVVaW50
MTYsIHRydWUpOworICAgIGRlZmF1bHQ6CisgICAgICAgIC8vIFRoaXMgY2FuIG5vdyBiZSByZWFj
aGVkIGluIHJlYWRQaXhlbHMnIEFOR0xFIGNvZGUgcGF0aC4KKyAgICAgICAgc3ludGhlc2l6ZUdM
RXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfRU5VTSwgInJlYWRQaXhlbHMiLCAiaW52
YWxpZCB0eXBlIik7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisjdW5kZWYgVFlQRV9W
QUxJREFUSU9OX0NBU0UKKyN1bmRlZiBUWVBFX1ZBTElEQVRJT05fQ0FTRV8yCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2UuaAppbmRleCAxMzNkOGYyMThhOWFhMDA4ZjM4ZGVkM2U0YTU1
ZGE0MTIxOTA1ZGQxLi5kNmE2ZGM2NDY3MzJhMGY1MzNmZGRmNTc2OTJhYzZhNzZiZjMzNWNhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZS5oCkBAIC0xMTI5LDYgKzExMjksOCBAQCBwcm90ZWN0ZWQ6CiAgICAgdGVtcGxh
dGUgPHR5cGVuYW1lIFQ+IHVuc2lnbmVkIGdldE1heEluZGV4KGNvbnN0IFJlZlB0cjxKU0M6OkFy
cmF5QnVmZmVyPiBlbGVtZW50QXJyYXlCdWZmZXIsIEdDR0xpbnRwdHIgdW9mZnNldCwgR0NHTHNp
emVpIG4pOwogCiAgICAgYm9vbCB2YWxpZGF0ZUFycmF5QnVmZmVyVHlwZShjb25zdCBjaGFyKiBm
dW5jdGlvbk5hbWUsIEdDR0xlbnVtIHR5cGUsIHN0ZDo6b3B0aW9uYWw8SlNDOjpUeXBlZEFycmF5
VHlwZT4pOworICAgIGJvb2wgdmFsaWRhdGVSZWFkUGl4ZWxzRm9ybWF0KEdDR0xlbnVtIGZvcm1h
dCk7CisgICAgYm9vbCB2YWxpZGF0ZVJlYWRQaXhlbHNUeXBlKEdDR0xlbnVtIHR5cGUsIHN0ZDo6
b3B0aW9uYWw8SlNDOjpUeXBlZEFycmF5VHlwZT4pOwogCiBwcml2YXRlOgogICAgIHZvaWQgc2No
ZWR1bGVUYXNrVG9EaXNwYXRjaENvbnRleHRMb3N0RXZlbnQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455310</attachid>
            <date>2022-03-21 17:52:46 -0700</date>
            <delta_ts>2022-03-22 09:25:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238134-20220321175245.patch</filename>
            <type>text/plain</type>
            <size>6531</size>
            <attacher name="John Cunningham">johncunningham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmE3NjgyZjk4ODdiMWRm
ZmI4YTkyNGY3YTZlNzE2YmI2N2Q0ZWRmMC4uNmY1MmI3NDUzNmVmMTIzZTc1OGMzNTFhODI5YWIy
YWRhZGM0OGY2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIyLTAzLTIxICBKb2hu
IEN1bm5pbmdoYW0gIDxqb2huY3VubmluZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgVmFsaWRh
dGUgcmVhZHBpeGVscyBmb3JtYXQgYW5kIHR5cGUgaW5zaWRlIG9mIFdlYkNvcmUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODEzNAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHdlYmdsLzIuMC55L2NvbmZv
cm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC5odG1sIHBhc3NlcyBpbiBlbnRpcmV0eS4K
KworICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6cmVhZFBpeGVscyk6
CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp2YWxpZGF0ZUFy
cmF5QnVmZmVyVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlOjp2YWxpZGF0ZVJlYWRQaXhlbHNGb3JtYXQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6dmFsaWRhdGVSZWFkUGl4ZWxzVHlwZSk6CisgICAgICAgICog
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oOgorCiAyMDIyLTAzLTIwICBE
aWVnbyBQaW5vIEdhcmNpYSAgPGRwaW5vQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dQRV0gVW5y
ZXZpZXdlZCwgZml4IG5vbi11bmlmaWVkIGJ1aWxkIGFmdGVyIHIyOTE0NzQgYW5kIHIyOTE1MDgK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZS5jcHAKaW5kZXggMjZkOTJlZDhiN2E5NzI3ZDg5MTQ5ZmY0NjYzZDM0YzMyOTRh
MTAzMC4uNWIyNGYxMDc2ZGU2NTUxZDg2NzE3MmFhNzBjNjE0OWYyNzFkZDllMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZS5jcHAKQEAgLTQ0NzQsMTAgKzQ0NzQsMTMgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlOjpyZWFkUGl4ZWxzKEdDR0xpbnQgeCwgR0NHTGludCB5LCBHQ0dMc2l6ZWkgd2lkdGgK
ICAgICBBU1NFUlQoY2FudmFzQmFzZSgpLm9yaWdpbkNsZWFuKCkpOwogCiAjaWYgVVNFKEFOR0xF
KQorCisgICAgaWYgKCF2YWxpZGF0ZVJlYWRQaXhlbHNGb3JtYXQoZm9ybWF0KSkKKyAgICAgICAg
cmV0dXJuOwogICAgIC8vIEFOR0xFIHdpbGwgdmFsaWRhdGUgdGhlIHJlYWRiYWNrIGZyb20gdGhl
IGZyYW1lYnVmZmVyIGFjY29yZGluZwogICAgIC8vIHRvIFdlYkdMJ3MgcmVzdHJpY3Rpb25zLiBB
dCB0aGlzIGxldmVsLCBqdXN0IHZhbGlkYXRlIHRoZSB0eXBlCiAgICAgLy8gb2YgdGhlIHJlYWRi
YWNrIGFnYWluc3QgdGhlIHR5cGVkIGFycmF5J3MgdHlwZS4KLSAgICBpZiAoIXZhbGlkYXRlQXJy
YXlCdWZmZXJUeXBlKCJyZWFkUGl4ZWxzIiwgdHlwZSwgc3RkOjpvcHRpb25hbDxKU0M6OlR5cGVk
QXJyYXlUeXBlPihwaXhlbHMuZ2V0VHlwZSgpKSkpCisgICAgaWYgKCF2YWxpZGF0ZVJlYWRQaXhl
bHNUeXBlKHR5cGUsIHN0ZDo6b3B0aW9uYWw8SlNDOjpUeXBlZEFycmF5VHlwZT4ocGl4ZWxzLmdl
dFR5cGUoKSkpKQogICAgICAgICByZXR1cm47CiAjZWxzZQogICAgIEdDR0xlbnVtIGludGVybmFs
Rm9ybWF0ID0gMDsKQEAgLTU1MDEsNiArNTUwNCw4NiBAQCBib29sIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2U6OnZhbGlkYXRlQXJyYXlCdWZmZXJUeXBlKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFt
ZQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogI3VuZGVmIFRZUEVfVkFMSURBVElPTl9D
QVNFCisjdW5kZWYgVFlQRV9WQUxJREFUSU9OX0NBU0VfMgorICAgIHJldHVybiB0cnVlOworfQor
Citib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnZhbGlkYXRlUmVhZFBpeGVsc0Zvcm1h
dChHQ0dMZW51bSBmb3JtYXQpCit7CisgICAgc3dpdGNoIChmb3JtYXQpIHsKKyAgICBjYXNlIEdy
YXBoaWNzQ29udGV4dEdMOjpBTFBIQToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpSR0I6
CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6UkdCQToKKyAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6UkVEOgorICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0R0w6OlJHOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlJFRF9JTlRFR0VSOgorICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlJHX0lOVEVHRVI6CisgICAgY2FzZSBHcmFwaGljc0Nv
bnRleHRHTDo6UkdCX0lOVEVHRVI6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6UkdCQV9J
TlRFR0VSOgorICAgICAgICBpZiAoaXNXZWJHTDIoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVl
OworICAgICAgICBGQUxMVEhST1VHSDsKKyAgICBkZWZhdWx0OgorICAgICAgICBzeW50aGVzaXpl
R0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9FTlVNLCAicmVhZFBpeGVscyIsICJp
bnZhbGlkIGZvcm1hdCIpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCitib29s
IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnZhbGlkYXRlUmVhZFBpeGVsc1R5cGUoR0NHTGVu
dW0gdHlwZSwgc3RkOjpvcHRpb25hbDxKU0M6OlR5cGVkQXJyYXlUeXBlPiBhcnJheVR5cGUpCit7
CisjZGVmaW5lIFRZUEVfVkFMSURBVElPTl9DQVNFKGFycmF5VHlwZU1hY3JvLCBXZWJHTDJPbmx5
KSBpZiAoV2ViR0wyT25seSAmJiAhaXNXZWJHTDIoKSkgeyBcCisgICAgICAgICAgICBzeW50aGVz
aXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9FTlVNLCAicmVhZFBpeGVscyIs
ICJpbnZhbGlkIHR5cGUiKTsgXAorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyBcCisgICAgICAg
IH0gXAorICAgICAgICBpZiAoYXJyYXlUeXBlICYmIGFycmF5VHlwZS52YWx1ZSgpICE9IEpTQzo6
YXJyYXlUeXBlTWFjcm8pIHsgXAorICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhp
Y3NDb250ZXh0R0w6OklOVkFMSURfT1BFUkFUSU9OLCAicmVhZFBpeGVscyIsICJBcnJheUJ1ZmZl
clZpZXcgbm90ICIgI2FycmF5VHlwZU1hY3JvKTsgXAorICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OyBcCisgICAgICAgIH0gXAorICAgICAgICBicmVhazsKKworI2RlZmluZSBUWVBFX1ZBTElEQVRJ
T05fQ0FTRV8yKGFycmF5VHlwZU1hY3JvLCBhcnJheVR5cGVNYWNybzIsIFdlYkdMMk9ubHkpIGlm
IChXZWJHTDJPbmx5ICYmICFpc1dlYkdMMigpKSB7IFwKKyAgICAgICAgICAgIHN5bnRoZXNpemVH
TEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX0VOVU0sICJyZWFkUGl4ZWxzIiwgImlu
dmFsaWQgdHlwZSIpOyBcCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7IFwKKyAgICAgICAgfSBc
CisgICAgICAgIGlmIChhcnJheVR5cGUgJiYgYXJyYXlUeXBlLnZhbHVlKCkgIT0gSlNDOjphcnJh
eVR5cGVNYWNybyAmJiBhcnJheVR5cGUudmFsdWUoKSAhPSBKU0M6OmFycmF5VHlwZU1hY3JvMikg
eyBcCisgICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5W
QUxJRF9PUEVSQVRJT04sICJyZWFkUGl4ZWxzIiwgIkFycmF5QnVmZmVyVmlldyBub3QgIiAjYXJy
YXlUeXBlTWFjcm8gIiBvciAiICNhcnJheVR5cGVNYWNybzIpOyBcCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7IFwKKyAgICAgICAgfSBcCisgICAgICAgIGJyZWFrOworCisgICAgc3dpdGNoICh0
eXBlKSB7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6VU5TSUdORURfQllURToKKyAgICAg
ICAgVFlQRV9WQUxJREFUSU9OX0NBU0VfMihUeXBlVWludDgsIFR5cGVVaW50OENsYW1wZWQsIGZh
bHNlKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpVTlNJR05FRF9TSE9SVF81XzZfNToK
KyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpVTlNJR05FRF9TSE9SVF80XzRfNF80OgorICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlVOU0lHTkVEX1NIT1JUXzVfNV81XzE6CisgICAgICAg
IFRZUEVfVkFMSURBVElPTl9DQVNFKFR5cGVVaW50MTYsIGZhbHNlKTsKKyAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dEdMOjpGTE9BVDogLy8gT0VTX3RleHR1cmVfZmxvYXQKKyAgICAgICAgVFlQRV9W
QUxJREFUSU9OX0NBU0UoVHlwZUZsb2F0MzIsIGZhbHNlKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29u
dGV4dEdMOjpCWVRFOgorICAgICAgICBUWVBFX1ZBTElEQVRJT05fQ0FTRShUeXBlSW50OCwgdHJ1
ZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6VU5TSUdORURfU0hPUlQ6CisgICAgICAg
IFRZUEVfVkFMSURBVElPTl9DQVNFKFR5cGVVaW50MTYsIHRydWUpOworICAgIGNhc2UgR3JhcGhp
Y3NDb250ZXh0R0w6OlNIT1JUOgorICAgICAgICBUWVBFX1ZBTElEQVRJT05fQ0FTRShUeXBlSW50
MTYsIHRydWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlVOU0lHTkVEX0lOVF8yXzEw
XzEwXzEwX1JFVjoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpVTlNJR05FRF9JTlRfMTBG
XzExRl8xMUZfUkVWOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlVOU0lHTkVEX0lOVF81
XzlfOV85X1JFVjoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpVTlNJR05FRF9JTlQ6Cisg
ICAgICAgIFRZUEVfVkFMSURBVElPTl9DQVNFKFR5cGVVaW50MzIsIHRydWUpOworICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0R0w6OklOVDoKKyAgICAgICAgVFlQRV9WQUxJREFUSU9OX0NBU0UoVHlw
ZUludDMyLCB0cnVlKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpIQUxGX0ZMT0FUX09F
UzogLy8gT0VTX3RleHR1cmVfaGFsZl9mbG9hdAorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6
OkhBTEZfRkxPQVQ6CisgICAgICAgIFRZUEVfVkFMSURBVElPTl9DQVNFKFR5cGVVaW50MTYsIHRy
dWUpOworICAgIGRlZmF1bHQ6CisgICAgICAgIC8vIFRoaXMgY2FuIG5vdyBiZSByZWFjaGVkIGlu
IHJlYWRQaXhlbHMnIEFOR0xFIGNvZGUgcGF0aC4KKyAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3Io
R3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfRU5VTSwgInJlYWRQaXhlbHMiLCAiaW52YWxpZCB0
eXBlIik7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisjdW5kZWYgVFlQRV9WQUxJREFU
SU9OX0NBU0UKKyN1bmRlZiBUWVBFX1ZBTElEQVRJT05fQ0FTRV8yCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2UuaAppbmRleCAxMzNkOGYyMThhOWFhMDA4ZjM4ZGVkM2U0YTU1ZGE0MTIx
OTA1ZGQxLi5kNmE2ZGM2NDY3MzJhMGY1MzNmZGRmNTc2OTJhYzZhNzZiZjMzNWNhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZS5oCkBAIC0xMTI5LDYgKzExMjksOCBAQCBwcm90ZWN0ZWQ6CiAgICAgdGVtcGxhdGUgPHR5
cGVuYW1lIFQ+IHVuc2lnbmVkIGdldE1heEluZGV4KGNvbnN0IFJlZlB0cjxKU0M6OkFycmF5QnVm
ZmVyPiBlbGVtZW50QXJyYXlCdWZmZXIsIEdDR0xpbnRwdHIgdW9mZnNldCwgR0NHTHNpemVpIG4p
OwogCiAgICAgYm9vbCB2YWxpZGF0ZUFycmF5QnVmZmVyVHlwZShjb25zdCBjaGFyKiBmdW5jdGlv
bk5hbWUsIEdDR0xlbnVtIHR5cGUsIHN0ZDo6b3B0aW9uYWw8SlNDOjpUeXBlZEFycmF5VHlwZT4p
OworICAgIGJvb2wgdmFsaWRhdGVSZWFkUGl4ZWxzRm9ybWF0KEdDR0xlbnVtIGZvcm1hdCk7Cisg
ICAgYm9vbCB2YWxpZGF0ZVJlYWRQaXhlbHNUeXBlKEdDR0xlbnVtIHR5cGUsIHN0ZDo6b3B0aW9u
YWw8SlNDOjpUeXBlZEFycmF5VHlwZT4pOwogCiBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVU
YXNrVG9EaXNwYXRjaENvbnRleHRMb3N0RXZlbnQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455380</attachid>
            <date>2022-03-22 09:25:09 -0700</date>
            <delta_ts>2022-04-11 23:46:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238134-20220322092508.patch</filename>
            <type>text/plain</type>
            <size>6581</size>
            <attacher name="John Cunningham">johncunningham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmE3NjgyZjk4ODdiMWRm
ZmI4YTkyNGY3YTZlNzE2YmI2N2Q0ZWRmMC4uNmY1MmI3NDUzNmVmMTIzZTc1OGMzNTFhODI5YWIy
YWRhZGM0OGY2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIyLTAzLTIxICBKb2hu
IEN1bm5pbmdoYW0gIDxqb2huY3VubmluZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgVmFsaWRh
dGUgcmVhZHBpeGVscyBmb3JtYXQgYW5kIHR5cGUgaW5zaWRlIG9mIFdlYkNvcmUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODEzNAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHdlYmdsLzIuMC55L2NvbmZv
cm1hbmNlL3JlYWRpbmcvcmVhZC1waXhlbHMtdGVzdC5odG1sIHBhc3NlcyBpbiBlbnRpcmV0eS4K
KworICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6cmVhZFBpeGVscyk6
CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp2YWxpZGF0ZUFy
cmF5QnVmZmVyVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlOjp2YWxpZGF0ZVJlYWRQaXhlbHNGb3JtYXQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6dmFsaWRhdGVSZWFkUGl4ZWxzVHlwZSk6CisgICAgICAgICog
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oOgorCiAyMDIyLTAzLTIwICBE
aWVnbyBQaW5vIEdhcmNpYSAgPGRwaW5vQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dQRV0gVW5y
ZXZpZXdlZCwgZml4IG5vbi11bmlmaWVkIGJ1aWxkIGFmdGVyIHIyOTE0NzQgYW5kIHIyOTE1MDgK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZS5jcHAKaW5kZXggMjZkOTJlZDhiN2E5NzI3ZDg5MTQ5ZmY0NjYzZDM0YzMyOTRh
MTAzMC4uOWQ2NTA2ZDg2NTA5YzIzYjRhZmZhYmIzNGNhY2ExOWUzMmRkYjFlMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZS5jcHAKQEAgLTQ0NzQsMTAgKzQ0NzQsMTMgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlOjpyZWFkUGl4ZWxzKEdDR0xpbnQgeCwgR0NHTGludCB5LCBHQ0dMc2l6ZWkgd2lkdGgK
ICAgICBBU1NFUlQoY2FudmFzQmFzZSgpLm9yaWdpbkNsZWFuKCkpOwogCiAjaWYgVVNFKEFOR0xF
KQorCisgICAgaWYgKCF2YWxpZGF0ZVJlYWRQaXhlbHNGb3JtYXQoZm9ybWF0KSkKKyAgICAgICAg
cmV0dXJuOwogICAgIC8vIEFOR0xFIHdpbGwgdmFsaWRhdGUgdGhlIHJlYWRiYWNrIGZyb20gdGhl
IGZyYW1lYnVmZmVyIGFjY29yZGluZwogICAgIC8vIHRvIFdlYkdMJ3MgcmVzdHJpY3Rpb25zLiBB
dCB0aGlzIGxldmVsLCBqdXN0IHZhbGlkYXRlIHRoZSB0eXBlCiAgICAgLy8gb2YgdGhlIHJlYWRi
YWNrIGFnYWluc3QgdGhlIHR5cGVkIGFycmF5J3MgdHlwZS4KLSAgICBpZiAoIXZhbGlkYXRlQXJy
YXlCdWZmZXJUeXBlKCJyZWFkUGl4ZWxzIiwgdHlwZSwgc3RkOjpvcHRpb25hbDxKU0M6OlR5cGVk
QXJyYXlUeXBlPihwaXhlbHMuZ2V0VHlwZSgpKSkpCisgICAgaWYgKCF2YWxpZGF0ZVJlYWRQaXhl
bHNUeXBlKHR5cGUsIHN0ZDo6b3B0aW9uYWw8SlNDOjpUeXBlZEFycmF5VHlwZT4ocGl4ZWxzLmdl
dFR5cGUoKSkpKQogICAgICAgICByZXR1cm47CiAjZWxzZQogICAgIEdDR0xlbnVtIGludGVybmFs
Rm9ybWF0ID0gMDsKQEAgLTU1MDEsNiArNTUwNCw4NyBAQCBib29sIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2U6OnZhbGlkYXRlQXJyYXlCdWZmZXJUeXBlKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFt
ZQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogI3VuZGVmIFRZUEVfVkFMSURBVElPTl9D
QVNFCisjdW5kZWYgVFlQRV9WQUxJREFUSU9OX0NBU0VfMgorICAgIHJldHVybiB0cnVlOworfQor
Citib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnZhbGlkYXRlUmVhZFBpeGVsc0Zvcm1h
dChHQ0dMZW51bSBmb3JtYXQpCit7CisgICAgc3dpdGNoIChmb3JtYXQpIHsKKyAgICBjYXNlIEdy
YXBoaWNzQ29udGV4dEdMOjpBTFBIQToKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpSR0I6
CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6UkdCQToKKyAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6UkVEOgorICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0R0w6OlJHOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlJFRF9JTlRFR0VSOgorICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlJHX0lOVEVHRVI6CisgICAgY2FzZSBHcmFwaGljc0Nv
bnRleHRHTDo6UkdCX0lOVEVHRVI6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6UkdCQV9J
TlRFR0VSOgorICAgICAgICBpZiAoaXNXZWJHTDIoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVl
OworICAgICAgICBGQUxMVEhST1VHSDsKKyAgICBkZWZhdWx0OgorICAgICAgICBzeW50aGVzaXpl
R0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9FTlVNLCAicmVhZFBpeGVscyIsICJp
bnZhbGlkIGZvcm1hdCIpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCitib29s
IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnZhbGlkYXRlUmVhZFBpeGVsc1R5cGUoR0NHTGVu
dW0gdHlwZSwgc3RkOjpvcHRpb25hbDxKU0M6OlR5cGVkQXJyYXlUeXBlPiBhcnJheVR5cGUpCit7
CisjZGVmaW5lIFRZUEVfVkFMSURBVElPTl9DQVNFKGFycmF5VHlwZU1hY3JvLCBXZWJHTDJPbmx5
KSBpZiAoV2ViR0wyT25seSAmJiAhaXNXZWJHTDIoKSkgeyBcCisgICAgICAgICAgICBzeW50aGVz
aXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9FTlVNLCAicmVhZFBpeGVscyIs
ICJpbnZhbGlkIHR5cGUiKTsgXAorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyBcCisgICAgICAg
IH0gXAorICAgICAgICBpZiAoYXJyYXlUeXBlICYmIGFycmF5VHlwZS52YWx1ZSgpICE9IEpTQzo6
YXJyYXlUeXBlTWFjcm8pIHsgXAorICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhp
Y3NDb250ZXh0R0w6OklOVkFMSURfT1BFUkFUSU9OLCAicmVhZFBpeGVscyIsICJBcnJheUJ1ZmZl
clZpZXcgbm90ICIgI2FycmF5VHlwZU1hY3JvKTsgXAorICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OyBcCisgICAgICAgIH0gXAorICAgICAgICBicmVhazsKKworI2RlZmluZSBUWVBFX1ZBTElEQVRJ
T05fQ0FTRV8yKGFycmF5VHlwZU1hY3JvLCBhcnJheVR5cGVNYWNybzIsIFdlYkdMMk9ubHkpIGlm
IChXZWJHTDJPbmx5ICYmICFpc1dlYkdMMigpKSB7IFwKKyAgICAgICAgICAgIHN5bnRoZXNpemVH
TEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX0VOVU0sICJyZWFkUGl4ZWxzIiwgImlu
dmFsaWQgdHlwZSIpOyBcCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7IFwKKyAgICAgICAgfSBc
CisgICAgICAgIGlmIChhcnJheVR5cGUgJiYgYXJyYXlUeXBlLnZhbHVlKCkgIT0gSlNDOjphcnJh
eVR5cGVNYWNybyAmJiBhcnJheVR5cGUudmFsdWUoKSAhPSBKU0M6OmFycmF5VHlwZU1hY3JvMikg
eyBcCisgICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5W
QUxJRF9PUEVSQVRJT04sICJyZWFkUGl4ZWxzIiwgIkFycmF5QnVmZmVyVmlldyBub3QgIiAjYXJy
YXlUeXBlTWFjcm8gIiBvciAiICNhcnJheVR5cGVNYWNybzIpOyBcCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7IFwKKyAgICAgICAgfSBcCisgICAgICAgIGJyZWFrOworCisgICAgc3dpdGNoICh0
eXBlKSB7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6VU5TSUdORURfQllURToKKyAgICAg
ICAgVFlQRV9WQUxJREFUSU9OX0NBU0VfMihUeXBlVWludDgsIFR5cGVVaW50OENsYW1wZWQsIGZh
bHNlKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpVTlNJR05FRF9TSE9SVF81XzZfNToK
KyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpVTlNJR05FRF9TSE9SVF80XzRfNF80OgorICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlVOU0lHTkVEX1NIT1JUXzVfNV81XzE6CisgICAgICAg
IFRZUEVfVkFMSURBVElPTl9DQVNFKFR5cGVVaW50MTYsIGZhbHNlKTsKKyAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dEdMOjpGTE9BVDogLy8gT0VTX3RleHR1cmVfZmxvYXQKKyAgICAgICAgVFlQRV9W
QUxJREFUSU9OX0NBU0UoVHlwZUZsb2F0MzIsIGZhbHNlKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29u
dGV4dEdMOjpIQUxGX0ZMT0FUX09FUzogLy8gT0VTX3RleHR1cmVfaGFsZl9mbG9hdAorICAgICAg
ICBUWVBFX1ZBTElEQVRJT05fQ0FTRShUeXBlVWludDE2LCBmYWxzZSk7CisgICAgY2FzZSBHcmFw
aGljc0NvbnRleHRHTDo6QllURToKKyAgICAgICAgVFlQRV9WQUxJREFUSU9OX0NBU0UoVHlwZUlu
dDgsIHRydWUpOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlVOU0lHTkVEX1NIT1JUOgor
ICAgICAgICBUWVBFX1ZBTElEQVRJT05fQ0FTRShUeXBlVWludDE2LCB0cnVlKTsKKyAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dEdMOjpTSE9SVDoKKyAgICAgICAgVFlQRV9WQUxJREFUSU9OX0NBU0Uo
VHlwZUludDE2LCB0cnVlKTsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpVTlNJR05FRF9J
TlRfMl8xMF8xMF8xMF9SRVY6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6VU5TSUdORURf
SU5UXzEwRl8xMUZfMTFGX1JFVjoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpVTlNJR05F
RF9JTlRfNV85XzlfOV9SRVY6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6VU5TSUdORURf
SU5UOgorICAgICAgICBUWVBFX1ZBTElEQVRJT05fQ0FTRShUeXBlVWludDMyLCB0cnVlKTsKKyAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpJTlQ6CisgICAgICAgIFRZUEVfVkFMSURBVElPTl9D
QVNFKFR5cGVJbnQzMiwgdHJ1ZSk7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6SEFMRl9G
TE9BVDoKKyAgICAgICAgVFlQRV9WQUxJREFUSU9OX0NBU0UoVHlwZVVpbnQxNiwgdHJ1ZSk7Cisg
ICAgZGVmYXVsdDoKKyAgICAgICAgLy8gVGhpcyBjYW4gbm93IGJlIHJlYWNoZWQgaW4gcmVhZFBp
eGVscycgQU5HTEUgY29kZSBwYXRoLgorICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGlj
c0NvbnRleHRHTDo6SU5WQUxJRF9FTlVNLCAicmVhZFBpeGVscyIsICJpbnZhbGlkIHR5cGUiKTsK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyN1bmRlZiBUWVBFX1ZBTElEQVRJT05fQ0FT
RQorI3VuZGVmIFRZUEVfVkFMSURBVElPTl9DQVNFXzIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZS5oCmluZGV4IDEzM2Q4ZjIxOGE5YWEwMDhmMzhkZWQzZTRhNTVkYTQxMjE5MDVkZDEu
LmQ2YTZkYzY0NjczMmEwZjUzM2ZkZGY1NzY5MmFjNmE3NmJmMzM1Y2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgK
QEAgLTExMjksNiArMTEyOSw4IEBAIHByb3RlY3RlZDoKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUg
VD4gdW5zaWduZWQgZ2V0TWF4SW5kZXgoY29uc3QgUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+IGVs
ZW1lbnRBcnJheUJ1ZmZlciwgR0NHTGludHB0ciB1b2Zmc2V0LCBHQ0dMc2l6ZWkgbik7CiAKICAg
ICBib29sIHZhbGlkYXRlQXJyYXlCdWZmZXJUeXBlKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwg
R0NHTGVudW0gdHlwZSwgc3RkOjpvcHRpb25hbDxKU0M6OlR5cGVkQXJyYXlUeXBlPik7CisgICAg
Ym9vbCB2YWxpZGF0ZVJlYWRQaXhlbHNGb3JtYXQoR0NHTGVudW0gZm9ybWF0KTsKKyAgICBib29s
IHZhbGlkYXRlUmVhZFBpeGVsc1R5cGUoR0NHTGVudW0gdHlwZSwgc3RkOjpvcHRpb25hbDxKU0M6
OlR5cGVkQXJyYXlUeXBlPik7CiAKIHByaXZhdGU6CiAgICAgdm9pZCBzY2hlZHVsZVRhc2tUb0Rp
c3BhdGNoQ29udGV4dExvc3RFdmVudCgpOwo=
</data>
<flag name="commit-queue"
          id="483500"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>