<?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>231468</bug_id>
          
          <creation_ts>2021-10-08 18:21:12 -0700</creation_ts>
          <short_desc>Query EGL_BIND_TO_TEXTURE_TARGET_ANGLE to determine 2D/rectangular texture usage</short_desc>
          <delta_ts>2021-10-19 01:06:53 -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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Russell">kbr</reporter>
          <assigned_to name="Kyle Piddington">kpiddington</assigned_to>
          <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gman</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>kpiddington</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1802344</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-10-08 18:21:12 -0700</bug_when>
    <thetext>WebKit should query EGL_BIND_TO_TEXTURE_TARGET_ANGLE via eglGetConfigAttrib in order to determine whether to bind its IOSurfaces to 2D or rectangular textures, instead of hardcoding platform knowledge in GraphicsContextGLOpenGL::drawingBufferTextureTarget, GraphicsContextGLOpenGL::drawingBufferTextureTargetQuery, createPbufferAndAttachIOSurface, and other places.

This will allow ANGLE&apos;s Metal backend to drop support for binding IOSurfaces to rectangular textures. OpenGL on macOS only supported the rectangular texture path, but Metal allows IOSurfaces to be bound to ordinary 2D textures.

The support for rectangular textures that was added to ANGLE&apos;s Metal backend in WebKit&apos;s fork was incomplete, and broke a lot of unit and end-to-end tests. It&apos;s been removed upstream in ANGLE. Rolling upstream ANGLE back into WebKit is predicated on removing usage of rectangular textures with the Metal backend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804355</commentid>
    <comment_count>1</comment_count>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-10-14 11:00:35 -0700</bug_when>
    <thetext>Taking this one into my queue :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804454</commentid>
    <comment_count>2</comment_count>
      <attachid>441265</attachid>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-10-14 13:07:23 -0700</bug_when>
    <thetext>Created attachment 441265
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804538</commentid>
    <comment_count>3</comment_count>
      <attachid>441265</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-10-14 15:24:14 -0700</bug_when>
    <thetext>Comment on attachment 441265
Patch

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

Good work overall. Please rebase and let&apos;s see green EWS runs before approving.

&gt; Source/WebCore/ChangeLog:6
&gt; +	Refactor GrraphicsContextGLCocoa to hold a reference to 

Grr -&gt; Gr :)

But: GraphicsContextGLOpenGLCocoa

Also, please indent to match.

&gt; Source/WebCore/platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:473
&gt; +        EGL_GetConfigAttrib(m_displayObj, m_configObj, EGL_BIND_TO_TEXTURE_TARGET_ANGLE, &amp;m_drawingBufferTextureTarget);

Are we guaranteed to only call this when m_displayObj and m_configObj are valid? If there&apos;s any confusion then let&apos;s consider doing this upon display initialization and have any asserts possible about not calling this on a destroyed GraphicsContextGLOpenGL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804939</commentid>
    <comment_count>4</comment_count>
      <attachid>441412</attachid>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-10-15 12:08:30 -0700</bug_when>
    <thetext>Created attachment 441412
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805126</commentid>
    <comment_count>5</comment_count>
      <attachid>441412</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-10-15 16:45:33 -0700</bug_when>
    <thetext>Comment on attachment 441412
Patch

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

Looks good to me. Couple of small comments about the asserts. r+

&gt; Source/WebCore/platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:471
&gt; +    ASSERT(!&quot;Invalid enum returned from EGL_GetConfigAttrib&quot;);

This is the first I&apos;ve seen this trick used to incorporate a message. Consider ASSERT_WITH_MESSAGE(false, ...).

&gt; Source/WebCore/platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:484
&gt; +    ASSERT(!&quot;Invalid drawing target&quot;);

Same here.

&gt; Source/WebCore/platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:497
&gt; +    assert(!&quot;Invalid drawing target&quot;);

Please use WebKit&apos;s ASSERT macro.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805173</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-15 18:22:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/84324684&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805792</commentid>
    <comment_count>7</comment_count>
      <attachid>441660</attachid>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-10-18 17:11:07 -0700</bug_when>
    <thetext>Created attachment 441660
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805799</commentid>
    <comment_count>8</comment_count>
      <attachid>441660</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-10-18 17:19:36 -0700</bug_when>
    <thetext>Comment on attachment 441660
Patch

Still looks good. r+ again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805897</commentid>
    <comment_count>9</comment_count>
      <attachid>441693</attachid>
    <who name="Kyle Piddington">kpiddington</who>
    <bug_when>2021-10-19 00:09:02 -0700</bug_when>
    <thetext>Created attachment 441693
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805911</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-19 01:06:51 -0700</bug_when>
    <thetext>Committed r284438 (243200@main): &lt;https://commits.webkit.org/243200@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 441693.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441265</attachid>
            <date>2021-10-14 13:07:23 -0700</date>
            <delta_ts>2021-10-15 12:08:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231468-20211014130722.patch</filename>
            <type>text/plain</type>
            <size>13022</size>
            <attacher name="Kyle Piddington">kpiddington</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMjk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2FlNzg0NTk0YmRjMDUy
YmJjOGM0MDJmMmJlMDVkZGRiYzNjN2NhNy4uZjRiMDUzYjUxY2ZkODlkZWQwODNhMDFhODQ5ODFk
NjdmMTIzNDIzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIxLTEwLTE0ICBLeWxl
IFBpZGRpbmd0b24gIDxrcGlkZGluZ3RvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUXVlcnkgRUdM
X0JJTkRfVE9fVEVYVFVSRV9UQVJHRVRfQU5HTEUgdG8gZGV0ZXJtaW5lIDJEL3JlY3Rhbmd1bGFy
IHRleHR1cmUgdXNhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMTQ2OAorCisJUmVmYWN0b3IgR3JyYXBoaWNzQ29udGV4dEdMQ29jb2EgdG8gaG9s
ZCBhIHJlZmVyZW5jZSB0byAKKwlCSU5EX1RPX1RFWFRVUkVfVEFSR0VULiBUaGlzIHJlZmFjdG9y
IGlzIG5lY2Nlc2FyeSB0byBzdXBwb3J0IGRyb3BwaW5nIAorCVRFWFRVUkVfUkVDVCBzdXBwb3J0
IGZyb20gdGhlIE1ldGFsIGJhY2tlbmQsIGFzIHN1cHBvcnQgaXMgaW5jb21wbGV0ZSwgYW5kIAor
CXVubmVjY2VzYXJ5IAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUk9wYXF1ZUZyYW1lYnVmZmVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYlhST3BhcXVlRnJhbWVidWZmZXI6OnN0YXJ0RnJhbWUpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQ29jb2Eu
bW06CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6fkdyYXBoaWNz
Q29udGV4dEdMT3BlbkdMKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMOjpkcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHRHTE9wZW5HTDo6ZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXRRdWVyeUZvckRy
YXdpbmdUYXJnZXQpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6
OkVHTERyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0Rm9yRHJhd2luZ1RhcmdldCk6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6YWxsb2NhdGVBbmRCaW5kRGlzcGxh
eUJ1ZmZlckJhY2tpbmcpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVu
R0w6OmJpbmREaXNwbGF5QnVmZmVyQmFja2luZyk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHRHTE9wZW5HTDo6Y3JlYXRlUGJ1ZmZlckFuZEF0dGFjaElPU3VyZmFjZSk6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cmVhZENvbXBvc2l0ZWRSZXN1
bHRzKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpkcmF3aW5n
QnVmZmVyVGV4dHVyZVRhcmdldFF1ZXJ5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dEdMT3BlbkdMOjpFR0xEcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldCk6IERl
bGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY3YvR3JhcGhpY3NDb250ZXh0R0xD
VkFOR0xFLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMQ1ZBTkdMRTo6
R3JhcGhpY3NDb250ZXh0R0xDVkFOR0xFKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dEdMQ1ZBTkdMRTo6aW5pdGlhbGl6ZVVWQ29udGV4dE9iamVjdHMpOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0R0xDVkFOR0xFOjphdHRhY2hJT1N1cmZhY2VUb1RleHR1cmUp
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xDVkFOR0xFOjpjb3B5UGl4ZWxC
dWZmZXJUb1RleHR1cmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2N2L0dyYXBoaWNz
Q29udGV4dEdMQ1ZBTkdMRS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9H
cmFwaGljc0NvbnRleHRHTE9wZW5HTC5oOgorCiAyMDIxLTA5LTEwICBNYXJjb3MgQ2FjZXJlcyAg
PG1hcmNvc0BtYXJjb3NjLmNvbT4KIAogICAgICAgICBbV2ViLVNoYXJlXSBoYW5kbGUgbm9uLWZ1
bGx5IGFjdGl2ZSBkb2N1bWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VieHIvV2ViWFJPcGFxdWVGcmFtZWJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhST3BhcXVlRnJhbWVidWZmZXIuY3BwCmluZGV4IGQ3NTRhMTEwMTRkMTIxOTNi
YWI3MTc0MDgzZjhmYWIzMjViYjNmYjAuLjUwYzUzMmI3Njg1OGU2MDYxYzg3MDFlMGU2MzQ1ZTc0
ODBlOTUwYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJP
cGFxdWVGcmFtZWJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9X
ZWJYUk9wYXF1ZUZyYW1lYnVmZmVyLmNwcApAQCAtMTIzLDcgKzEyMyw3IEBAIHZvaWQgV2ViWFJP
cGFxdWVGcmFtZWJ1ZmZlcjo6c3RhcnRGcmFtZShjb25zdCBQbGF0Zm9ybVhSOjpEZXZpY2U6OkZy
YW1lRGF0YTo6TGF5CiAgICAgQVNTRVJUKGRhdGEuc3VyZmFjZSk7CiAKICAgICBhdXRvIGdDR0wg
PSBzdGF0aWNfY2FzdDxHcmFwaGljc0NvbnRleHRHTE9wZW5HTCo+KG1fY29udGV4dC5ncmFwaGlj
c0NvbnRleHRHTCgpKTsKLSAgICBHQ0dMZW51bSB0ZXh0dXJlVGFyZ2V0ID0gR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6OmRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0KCk7CisgICAgR0NHTGVudW0g
dGV4dHVyZVRhcmdldCA9IGdDR0wtPmRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0KCk7CiAKIAog
ICAgIGlmICghbV9vcGFxdWVUZXh0dXJlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xDb2NvYS5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMQ29jb2EubW0KaW5kZXggNzU1Y2Q0NTg3YTRkZDVjYjMxMDU4ZWU2ODk0OTQ0YmVlYzQ4NGU1
Yi4uYjA3MWM5OWQzN2RiYzJlNWY3Mjk2YTRlYzc4N2UyMzA5YjM4NmUwMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xP
cGVuR0xDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvY29hLm1tCkBAIC00NjIsNDYgKzQ2Miw1MSBAQCBH
cmFwaGljc0NvbnRleHRHTE9wZW5HTDo6fkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMKCkKICAgICAg
ICAgRUdMX0Rlc3Ryb3lDb250ZXh0KG1fZGlzcGxheU9iaiwgbV9jb250ZXh0T2JqKTsKICAgICB9
IGVsc2UKICAgICAgICAgQVNTRVJUKGN1cnJlbnRDb250ZXh0ICE9IHRoaXMpOworCisgICAgbV9k
cmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldCA9IC0xOwogICAgIExPRyhXZWJHTCwgIkRlc3Ryb3ll
ZCBhIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMICglcCkuIiwgdGhpcyk7CiB9CiAKIEdDR0xlbnVt
IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpkcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldCgpCiB7
Ci0jaWYgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCi0gICAgaWYgKG5lZWRzRUFHTE9uTWFjKCkpCisg
ICAgaWYgKG1fZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXQgPT0gLTEpCisgICAgICAgIEVHTF9H
ZXRDb25maWdBdHRyaWIobV9kaXNwbGF5T2JqLCBtX2NvbmZpZ09iaiwgRUdMX0JJTkRfVE9fVEVY
VFVSRV9UQVJHRVRfQU5HTEUsICZtX2RyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0KTsKKyAgICAK
KyAgICBzd2l0Y2ggKG1fZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXQpIHsKKworICAgIGNhc2Ug
RUdMX1RFWFRVUkVfMkQ6CiAgICAgICAgIHJldHVybiBURVhUVVJFXzJEOwotICAgIHJldHVybiBU
RVhUVVJFX1JFQ1RBTkdMRV9BUkI7Ci0jZWxpZiBQTEFURk9STShNQUMpCi0gICAgcmV0dXJuIFRF
WFRVUkVfUkVDVEFOR0xFX0FSQjsKLSNlbHNlCi0gICAgcmV0dXJuIFRFWFRVUkVfMkQ7Ci0jZW5k
aWYKKyAgICBjYXNlIEVHTF9URVhUVVJFX1JFQ1RBTkdMRV9BTkdMRToKKyAgICAgICAgcmV0dXJu
IFRFWFRVUkVfUkVDVEFOR0xFX0FSQjsKKyAgICB9CisgICAgQVNTRVJUKCEiSW52YWxpZCBlbnVt
IHJldHVybmVkIGZyb20gRUdMX0dldENvbmZpZ0F0dHJpYiIpOworICAgIHJldHVybiAwOwogfQog
Ci1HQ0dMZW51bSBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZHJhd2luZ0J1ZmZlclRleHR1cmVU
YXJnZXRRdWVyeSgpCitHQ0dMZW51bSBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZHJhd2luZ0J1
ZmZlclRleHR1cmVUYXJnZXRRdWVyeUZvckRyYXdpbmdUYXJnZXQoR0NHTGVudW0gZHJhd2luZ1Rh
cmdldCkKIHsKLSNpZiBQTEFURk9STShNQUNDQVRBTFlTVCkKLSAgICBpZiAobmVlZHNFQUdMT25N
YWMoKSkKKyAgICBzd2l0Y2ggKGRyYXdpbmdUYXJnZXQpIHsKKworICAgIGNhc2UgVEVYVFVSRV8y
RDoKICAgICAgICAgcmV0dXJuIFRFWFRVUkVfQklORElOR18yRDsKLSAgICByZXR1cm4gVEVYVFVS
RV9CSU5ESU5HX1JFQ1RBTkdMRV9BUkI7Ci0jZWxpZiBQTEFURk9STShNQUMpCi0gICAgcmV0dXJu
IFRFWFRVUkVfQklORElOR19SRUNUQU5HTEVfQVJCOwotI2Vsc2UKLSAgICByZXR1cm4gVEVYVFVS
RV9CSU5ESU5HXzJEOwotI2VuZGlmCisgICAgY2FzZSBURVhUVVJFX1JFQ1RBTkdMRV9BUkI6Cisg
ICAgICAgIHJldHVybiBURVhUVVJFX0JJTkRJTkdfUkVDVEFOR0xFX0FSQjsKKyAgICB9CisgICAg
QVNTRVJUKCEiSW52YWxpZCBkcmF3aW5nIHRhcmdldCIpOworICAgIHJldHVybiAtMTsKIH0KIAot
R0NHTGludCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6RUdMRHJhd2luZ0J1ZmZlclRleHR1cmVU
YXJnZXQoKQorR0NHTGludCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6RUdMRHJhd2luZ0J1ZmZl
clRleHR1cmVUYXJnZXRGb3JEcmF3aW5nVGFyZ2V0KEdDR0xlbnVtIGRyYXdpbmdUYXJnZXQpCiB7
Ci0jaWYgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCi0gICAgaWYgKG5lZWRzRUFHTE9uTWFjKCkpCisg
ICAgc3dpdGNoIChkcmF3aW5nVGFyZ2V0KSB7CisKKyAgICBjYXNlIFRFWFRVUkVfMkQ6CiAgICAg
ICAgIHJldHVybiBFR0xfVEVYVFVSRV8yRDsKLSAgICByZXR1cm4gRUdMX1RFWFRVUkVfUkVDVEFO
R0xFX0FOR0xFOwotI2VsaWYgUExBVEZPUk0oTUFDKQotICAgIHJldHVybiBFR0xfVEVYVFVSRV9S
RUNUQU5HTEVfQU5HTEU7Ci0jZWxzZQotICAgIHJldHVybiBFR0xfVEVYVFVSRV8yRDsKLSNlbmRp
ZgorICAgIGNhc2UgVEVYVFVSRV9SRUNUQU5HTEVfQVJCOgorICAgICAgICByZXR1cm4gRUdMX1RF
WFRVUkVfUkVDVEFOR0xFX0FOR0xFOworICAgIH0KKyAgICBhc3NlcnQoISJJbnZhbGlkIGRyYXdp
bmcgdGFyZ2V0Iik7CisgICAgcmV0dXJuIC0xOwogfQogCiBib29sIEdyYXBoaWNzQ29udGV4dEdM
T3BlbkdMOjptYWtlQ29udGV4dEN1cnJlbnQoKQpAQCAtNjQ3LDcgKzY1Miw3IEBAIGJvb2wgR3Jh
cGhpY3NDb250ZXh0R0xPcGVuR0w6OmFsbG9jYXRlQW5kQmluZERpc3BsYXlCdWZmZXJCYWNraW5n
KCkKICAgICAgICAgRUdMX1dJRFRILCBzaXplLndpZHRoKCksCiAgICAgICAgIEVHTF9IRUlHSFQs
IHNpemUuaGVpZ2h0KCksCiAgICAgICAgIEVHTF9JT1NVUkZBQ0VfUExBTkVfQU5HTEUsIDAsCi0g
ICAgICAgIEVHTF9URVhUVVJFX1RBUkdFVCwgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVu
R0w6OkVHTERyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0KCksCisgICAgICAgIEVHTF9URVhUVVJF
X1RBUkdFVCwgRUdMRHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXRGb3JEcmF3aW5nVGFyZ2V0KGRy
YXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0KCkpLAogICAgICAgICBFR0xfVEVYVFVSRV9JTlRFUk5B
TF9GT1JNQVRfQU5HTEUsIHVzaW5nQWxwaGEgPyBHTF9CR1JBX0VYVCA6IEdMX1JHQiwKICAgICAg
ICAgRUdMX1RFWFRVUkVfRk9STUFULCBFR0xfVEVYVFVSRV9SR0JBLAogICAgICAgICBFR0xfVEVY
VFVSRV9UWVBFX0FOR0xFLCBHTF9VTlNJR05FRF9CWVRFLApAQCAtNjY0LDcgKzY2OSw3IEBAIGJv
b2wgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmFsbG9jYXRlQW5kQmluZERpc3BsYXlCdWZmZXJC
YWNraW5nKCkKIGJvb2wgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmJpbmREaXNwbGF5QnVmZmVy
QmFja2luZyhzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPiBiYWNraW5nLCB2b2lkKiBwYnVmZmVy
KQogewogICAgIEdDR0xlbnVtIHRleHR1cmVUYXJnZXQgPSBkcmF3aW5nQnVmZmVyVGV4dHVyZVRh
cmdldCgpOwotICAgIFNjb3BlZFJlc3RvcmVUZXh0dXJlQmluZGluZyByZXN0b3JlQmluZGluZyhk
cmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldFF1ZXJ5KCksIHRleHR1cmVUYXJnZXQsIHRleHR1cmVU
YXJnZXQgIT0gVEVYVFVSRV9SRUNUQU5HTEVfQVJCKTsKKyAgICBTY29wZWRSZXN0b3JlVGV4dHVy
ZUJpbmRpbmcgcmVzdG9yZUJpbmRpbmcoZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXRRdWVyeUZv
ckRyYXdpbmdUYXJnZXQoZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXQoKSksIHRleHR1cmVUYXJn
ZXQsIHRleHR1cmVUYXJnZXQgIT0gVEVYVFVSRV9SRUNUQU5HTEVfQVJCKTsKICAgICBnbDo6Qmlu
ZFRleHR1cmUodGV4dHVyZVRhcmdldCwgbV90ZXh0dXJlKTsKICAgICBpZiAoIUVHTF9CaW5kVGV4
SW1hZ2UobV9kaXNwbGF5T2JqLCBwYnVmZmVyLCBFR0xfQkFDS19CVUZGRVIpKSB7CiAgICAgICAg
IEVHTF9EZXN0cm95U3VyZmFjZShtX2Rpc3BsYXlPYmosIHBidWZmZXIpOwpAQCAtNjg4LDggKzY5
Myw4IEBAIHZvaWQqIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpjcmVhdGVQYnVmZmVyQW5kQXR0
YWNoSU9TdXJmYWNlKEdDR0xlbnVtIHRhcmdldCwKICAgICAgICAgcmV0dXJuIEVHTF9URVhUVVJF
XzJEOwogICAgIH0oKTsKIAotICAgIGlmIChlZ2xUZXh0dXJlVGFyZ2V0ICE9IEdyYXBoaWNzQ29u
dGV4dEdMT3BlbkdMOjpFR0xEcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldCgpKSB7Ci0gICAgICAg
IExPRyhXZWJHTCwgIk1pc21hdGNoIGluIEVHTCB0ZXh0dXJlIHRhcmdldDogJWQgc2hvdWxkIGJl
ICVkLiIsIHN0YXRpY19jYXN0PGludD4odGFyZ2V0KSwgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6
OkVHTERyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0KCkpOworICAgIGlmIChlZ2xUZXh0dXJlVGFy
Z2V0ICE9IEVHTERyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0Rm9yRHJhd2luZ1RhcmdldChkcmF3
aW5nQnVmZmVyVGV4dHVyZVRhcmdldCgpKSkgeworICAgICAgICBMT0coV2ViR0wsICJNaXNtYXRj
aCBpbiBFR0wgdGV4dHVyZSB0YXJnZXQ6ICVkIHNob3VsZCBiZSAlZC4iLCBzdGF0aWNfY2FzdDxp
bnQ+KHRhcmdldCksIEVHTERyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0Rm9yRHJhd2luZ1Rhcmdl
dChkcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldCgpKSk7CiAgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgIH0KIApAQCAtODU2LDcgKzg2MSw3IEBAIHN0ZDo6b3B0aW9uYWw8UGl4ZWxCdWZmZXI+
IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpyZWFkQ29tcG9zaXRlZFJlc3VsdHMoKQogICAgIC8v
IHRoZSBJT1N1cmZhY2UgYmUgdW5yZWZlbmNlZCBhZnRlciB0aGUgZHJhdyBjYWxsIGZpbmlzaGVz
LgogICAgIFNjb3BlZFRleHR1cmUgdGV4dHVyZTsKICAgICBHQ0dMZW51bSB0ZXh0dXJlVGFyZ2V0
ID0gZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXQoKTsKLSAgICBTY29wZWRSZXN0b3JlVGV4dHVy
ZUJpbmRpbmcgcmVzdG9yZUJpbmRpbmcoZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXRRdWVyeSgp
LCB0ZXh0dXJlVGFyZ2V0LCB0ZXh0dXJlVGFyZ2V0ICE9IFRFWFRVUkVfUkVDVEFOR0xFX0FSQik7
CisgICAgU2NvcGVkUmVzdG9yZVRleHR1cmVCaW5kaW5nIHJlc3RvcmVCaW5kaW5nKGRyYXdpbmdC
dWZmZXJUZXh0dXJlVGFyZ2V0UXVlcnlGb3JEcmF3aW5nVGFyZ2V0KGRyYXdpbmdCdWZmZXJUZXh0
dXJlVGFyZ2V0KCkpLCB0ZXh0dXJlVGFyZ2V0LCB0ZXh0dXJlVGFyZ2V0ICE9IFRFWFRVUkVfUkVD
VEFOR0xFX0FSQik7CiAgICAgZ2w6OkJpbmRUZXh0dXJlKHRleHR1cmVUYXJnZXQsIHRleHR1cmUp
OwogICAgIGlmICghRUdMX0JpbmRUZXhJbWFnZShtX2Rpc3BsYXlPYmosIGRpc3BsYXlCdWZmZXIu
aGFuZGxlLCBFR0xfQkFDS19CVUZGRVIpKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvR3JhcGhpY3ND
b250ZXh0R0xDVkFOR0xFLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2
L0dyYXBoaWNzQ29udGV4dEdMQ1ZBTkdMRS5jcHAKaW5kZXggNzgwMWJlNDk2MDE0ZjM0NzNkNDQ1
MjVlNDQ4MTUyNjQyOGFhNmRkOS4uZmQ2M2QyZmI5NTA1ZDA2OGFmNjg1MmQ1MzNjMjdmNDQ4MWVi
ZGRjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvR3Jh
cGhpY3NDb250ZXh0R0xDVkFOR0xFLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jdi9HcmFwaGljc0NvbnRleHRHTENWQU5HTEUuY3BwCkBAIC00NTgsNiArNDU4LDcg
QEAgcHJpdmF0ZToKIEdyYXBoaWNzQ29udGV4dEdMQ1ZBTkdMRTo6R3JhcGhpY3NDb250ZXh0R0xD
VkFOR0xFKEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMJiBjb250ZXh0KQogICAgIDogbV9jb250ZXh0
KEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpjcmVhdGVTaGFyZWQoY29udGV4dCkpCiAgICAgLCBt
X2ZyYW1lYnVmZmVyKG1fY29udGV4dC0+Y3JlYXRlRnJhbWVidWZmZXIoKSkKKyAgICAsIG1fZHJh
d2luZ0J1ZmZlclRhcmdldChjb250ZXh0LmRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0KCkpCiB7
CiB9CiAKQEAgLTQ3Miw3ICs0NzMsNyBAQCBHcmFwaGljc0NvbnRleHRHTENWQU5HTEU6On5HcmFw
aGljc0NvbnRleHRHTENWQU5HTEUoKQogCiBib29sIEdyYXBoaWNzQ29udGV4dEdMQ1ZBTkdMRTo6
aW5pdGlhbGl6ZVVWQ29udGV4dE9iamVjdHMoKQogewotICAgIGNvbnN0IGJvb2wgdXNlVGV4dHVy
ZTJEID0gR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0
KCkgPT0gR3JhcGhpY3NDb250ZXh0R0w6OlRFWFRVUkVfMkQ7CisgICAgY29uc3QgYm9vbCB1c2VU
ZXh0dXJlMkQgPSBtX2RyYXdpbmdCdWZmZXJUYXJnZXQgPT0gR3JhcGhpY3NDb250ZXh0R0w6OlRF
WFRVUkVfMkQ7CiAKICAgICBQbGF0Zm9ybUdMT2JqZWN0IHZlcnRleFNoYWRlciA9IG1fY29udGV4
dC0+Y3JlYXRlU2hhZGVyKEdyYXBoaWNzQ29udGV4dEdMOjpWRVJURVhfU0hBREVSKTsKICAgICBp
ZiAodXNlVGV4dHVyZTJEKQpAQCAtNTU3LDcgKzU1OCw3IEBAIHZvaWQqIEdyYXBoaWNzQ29udGV4
dEdMQ1ZBTkdMRTo6YXR0YWNoSU9TdXJmYWNlVG9UZXh0dXJlKEdDR0xlbnVtIHRhcmdldCwgR0NH
TGVuCiAgICAgICAgIExPRyhXZWJHTCwgIlVua25vd24gdGV4dHVyZSB0YXJnZXQgJWQuIiwgc3Rh
dGljX2Nhc3Q8aW50Pih0YXJnZXQpKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQot
ICAgIGlmIChlZ2xUZXh0dXJlVGFyZ2V0ICE9IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpFR0xE
cmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldCgpKSB7CisgICAgaWYgKGVnbFRleHR1cmVUYXJnZXQg
IT0gR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OkVHTERyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0
Rm9yRHJhd2luZ1RhcmdldChtX2RyYXdpbmdCdWZmZXJUYXJnZXQpKSB7CiAgICAgICAgIExPRyhX
ZWJHTCwgIk1pc21hdGNoIGluIEVHTCB0ZXh0dXJlIHRhcmdldCAlZC4iLCBzdGF0aWNfY2FzdDxp
bnQ+KHRhcmdldCkpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CkBAIC02NjQsNyAr
NjY1LDcgQEAgYm9vbCBHcmFwaGljc0NvbnRleHRHTENWQU5HTEU6OmNvcHlQaXhlbEJ1ZmZlclRv
VGV4dHVyZShDVlBpeGVsQnVmZmVyUmVmIGltYWdlLAogICAgIGF1dG8gdXZQbGFuZVdpZHRoID0g
SU9TdXJmYWNlR2V0V2lkdGhPZlBsYW5lKHN1cmZhY2UsIDEpOwogICAgIGF1dG8gdXZQbGFuZUhl
aWdodCA9IElPU3VyZmFjZUdldEhlaWdodE9mUGxhbmUoc3VyZmFjZSwgMSk7CiAKLSAgICBHQ0dM
ZW51bSB2aWRlb1RleHR1cmVUYXJnZXQgPSBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZHJhd2lu
Z0J1ZmZlclRleHR1cmVUYXJnZXQoKTsKKyAgICBHQ0dMZW51bSB2aWRlb1RleHR1cmVUYXJnZXQg
PSBtX2RyYXdpbmdCdWZmZXJUYXJnZXQ7CiAKICAgICBhdXRvIHV2VGV4dHVyZSA9IG1fY29udGV4
dC0+Y3JlYXRlVGV4dHVyZSgpOwogICAgIG1fY29udGV4dC0+YWN0aXZlVGV4dHVyZShHcmFwaGlj
c0NvbnRleHRHTDo6VEVYVFVSRTEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY3YvR3JhcGhpY3NDb250ZXh0R0xDVkFOR0xFLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9HcmFwaGljc0NvbnRleHRHTENWQU5HTEUuaAppbmRleCA1
YmNhMmFhYmQxNWU1NzA5NWI5ZjRhNzVjNDZkN2U3MGZhZTY2ZWE4Li5kZDFjYTFiZTdkYTMyNTIx
ZDJiN2EzYzNkMjQ0NTExMGI3OGVkNmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jdi9HcmFwaGljc0NvbnRleHRHTENWQU5HTEUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9HcmFwaGljc0NvbnRleHRHTENWQU5HTEUuaApA
QCAtNjgsNiArNjgsNyBAQCBwcml2YXRlOgogICAgIEdDR0xpbnQgbV95dXZQb3NpdGlvbkF0dHJp
YnV0ZUxvY2F0aW9uIHsgLTEgfTsKICAgICBHQ0dMaW50IG1feVRleHR1cmVTaXplVW5pZm9ybUxv
Y2F0aW9uIHsgLTEgfTsKICAgICBHQ0dMaW50IG1fdXZUZXh0dXJlU2l6ZVVuaWZvcm1Mb2NhdGlv
biB7IC0xIH07CisgICAgR0NHTGludCBtX2RyYXdpbmdCdWZmZXJUYXJnZXQgeyAtMSB9OwogCiAg
ICAgRmxpcFkgbV9sYXN0RmxpcFkgeyBGbGlwWTo6Tm8gfTsKICAgICBVbnNhZmVQb2ludGVyPElP
U3VyZmFjZVJlZj4gbV9sYXN0U3VyZmFjZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdM
LmgKaW5kZXggYTI5NGUzNTYwNGU3N2ZkZWJkODg0MWM1NThkOTQzZTM0NThhMWZiZS4uMDM1ZjNh
YmFiNDY1YTczMzJhNDk1OTNiZTZlNzQ5OGE2ZjI5ZTZhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29u
dGV4dEdMT3BlbkdMLmgKQEAgLTExMCwxNCArMTEwLDE0IEBAIHB1YmxpYzoKICAgICBDQUxheWVy
KiBwbGF0Zm9ybUxheWVyKCkgY29uc3QgZmluYWwgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxD
QUxheWVyKj4obV93ZWJHTExheWVyLmdldCgpKTsgfQogICAgIFBsYXRmb3JtR3JhcGhpY3NDb250
ZXh0R0xEaXNwbGF5IHBsYXRmb3JtRGlzcGxheSgpIGNvbnN0IHsgcmV0dXJuIG1fZGlzcGxheU9i
ajsgfQogICAgIFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0R0xDb25maWcgcGxhdGZvcm1Db25maWco
KSBjb25zdCB7IHJldHVybiBtX2NvbmZpZ09iajsgfQotICAgIHN0YXRpYyBHQ0dMZW51bSBkcmF3
aW5nQnVmZmVyVGV4dHVyZVRhcmdldFF1ZXJ5KCk7Ci0gICAgc3RhdGljIEdDR0xpbnQgRUdMRHJh
d2luZ0J1ZmZlclRleHR1cmVUYXJnZXQoKTsKKyAgICBzdGF0aWMgR0NHTGVudW0gZHJhd2luZ0J1
ZmZlclRleHR1cmVUYXJnZXRRdWVyeUZvckRyYXdpbmdUYXJnZXQoR0NHTGVudW0gZHJhd2luZ1Rh
cmdldCk7CisgICAgc3RhdGljIEdDR0xpbnQgRUdMRHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXRG
b3JEcmF3aW5nVGFyZ2V0KEdDR0xlbnVtIGRyYXdpbmdUYXJnZXQpOwogI2Vsc2UKICAgICBzdGF0
aWMgUmVmPEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMPiBjcmVhdGVGb3JHUFVQcm9jZXNzKGNvbnN0
IEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyYpOwogICAgIFBsYXRmb3JtTGF5ZXIqIHBsYXRm
b3JtTGF5ZXIoKSBjb25zdCBmaW5hbDsKICNlbmRpZgogI2lmIFVTRShBTkdMRSkKLSAgICBzdGF0
aWMgR0NHTGVudW0gZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXQoKTsKKyAgICBHQ0dMZW51bSBk
cmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldCgpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQpAQCAtNzUxLDYgKzc1MSw5IEBAIHByaXZhdGU6CiAgICAgR0NHTHVpbnQgbV9wcmVz
ZXJ2ZURyYXdpbmdCdWZmZXJUZXh0dXJlIHsgMCB9OwogICAgIC8vIEF0dGFjaGVzIG1fdGV4dHVy
ZSB3aGVuIG1fcHJlc2VydmVEcmF3aW5nQnVmZmVyVGV4dHVyZSBpcyBub24temVyby4KICAgICBH
Q0dMdWludCBtX3ByZXNlcnZlRHJhd2luZ0J1ZmZlckZCTyB7IDAgfTsKKyAgICAvLyBRdWVyaWVk
IGF0IGRpc3BsYXkgc3RhcnR1cC4KKyAgICBFR0xpbnQgbV9kcmF3aW5nQnVmZmVyVGV4dHVyZVRh
cmdldCB7IC0xIH07CisKICNlbmRpZgogCiAgICAgLy8gQSBiaXRtYXNrIG9mIEdMIGJ1ZmZlciBi
aXRzIChHTF9DT0xPUl9CVUZGRVJfQklULAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441412</attachid>
            <date>2021-10-15 12:08:30 -0700</date>
            <delta_ts>2021-10-18 17:11:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231468-20211015120830.patch</filename>
            <type>text/plain</type>
            <size>10833</size>
            <attacher name="Kyle Piddington">kpiddington</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzkyYTIyMmEyMTQyMzNi
NzI4M2Y1ZGM2MDZjOWNkNjRlN2ViZjFlNi4uYmYyY2JjOThiZTQ3MjY3YWI2NDNjNGY0YWM2MTU3
YmEzNDM1ZWY3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIxLTEwLTE0ICBLeWxl
IFBpZGRpbmd0b24gIDxrcGlkZGluZ3RvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUXVlcnkgRUdM
X0JJTkRfVE9fVEVYVFVSRV9UQVJHRVRfQU5HTEUgdG8gZGV0ZXJtaW5lIDJEL3JlY3Rhbmd1bGFy
IHRleHR1cmUgdXNhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMTQ2OAorCisgICAgICAgIFJlZmFjdG9yIEdycmFwaGljc0NvbnRleHRHTENvY29h
IHRvIGhvbGQgYSByZWZlcmVuY2UgdG8gCisgICAgICAgIEJJTkRfVE9fVEVYVFVSRV9UQVJHRVQu
IFRoaXMgcmVmYWN0b3IgaXMgbmVjY2VzYXJ5IHRvIHN1cHBvcnQgZHJvcHBpbmcgCisgICAgICAg
IFRFWFRVUkVfUkVDVCBzdXBwb3J0IGZyb20gdGhlIE1ldGFsIGJhY2tlbmQsIGFzIHN1cHBvcnQg
aXMgaW5jb21wbGV0ZSwgYW5kIAorICAgICAgICB1bm5lY2Nlc2FyeSAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJP
cGFxdWVGcmFtZWJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUk9wYXF1ZUZyYW1l
YnVmZmVyOjpzdGFydEZyYW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9H
cmFwaGljc0NvbnRleHRHTE9wZW5HTENvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhp
Y3NDb250ZXh0R0xPcGVuR0w6On5HcmFwaGljc0NvbnRleHRHTE9wZW5HTCk6CisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJn
ZXQpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmRyYXdpbmdC
dWZmZXJUZXh0dXJlVGFyZ2V0UXVlcnlGb3JEcmF3aW5nVGFyZ2V0KToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpFR0xEcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdl
dEZvckRyYXdpbmdUYXJnZXQpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xP
cGVuR0w6OmFsbG9jYXRlQW5kQmluZERpc3BsYXlCdWZmZXJCYWNraW5nKToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpiaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcp
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmNyZWF0ZVBidWZm
ZXJBbmRBdHRhY2hJT1N1cmZhY2UpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
R0xPcGVuR0w6OnJlYWRDb21wb3NpdGVkUmVzdWx0cyk6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHRHTE9wZW5HTDo6ZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXRRdWVyeSk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6RUdMRHJh
d2luZ0J1ZmZlclRleHR1cmVUYXJnZXQpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2N2L0dyYXBoaWNzQ29udGV4dEdMQ1ZBTkdMRS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHRHTENWQU5HTEU6OkdyYXBoaWNzQ29udGV4dEdMQ1ZBTkdMRSk6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTENWQU5HTEU6OmluaXRpYWxpemVVVkNv
bnRleHRPYmplY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMQ1ZBTkdM
RTo6YXR0YWNoSU9TdXJmYWNlVG9UZXh0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dEdMQ1ZBTkdMRTo6Y29weVBpeGVsQnVmZmVyVG9UZXh0dXJlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jdi9HcmFwaGljc0NvbnRleHRHTENWQU5HTEUuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuaDoKKwog
MjAyMS0xMC0xNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZW1vdmUgRG9jdW1lbnRUaW1lbGluZTo6aXNSdW5uaW5nQW5pbWF0aW9uT25SZW5kZXJlcigp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhST3BhcXVlRnJh
bWVidWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUk9wYXF1ZUZy
YW1lYnVmZmVyLmNwcAppbmRleCBkNzU0YTExMDE0ZDEyMTkzYmFiNzE3NDA4M2Y4ZmFiMzI1YmIz
ZmIwLi41MGM1MzJiNzY4NThlNjA2MWM4NzAxZTBlNjM0NWU3NDgwZTk1MGFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhST3BhcXVlRnJhbWVidWZmZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJPcGFxdWVGcmFtZWJ1ZmZl
ci5jcHAKQEAgLTEyMyw3ICsxMjMsNyBAQCB2b2lkIFdlYlhST3BhcXVlRnJhbWVidWZmZXI6OnN0
YXJ0RnJhbWUoY29uc3QgUGxhdGZvcm1YUjo6RGV2aWNlOjpGcmFtZURhdGE6OkxheQogICAgIEFT
U0VSVChkYXRhLnN1cmZhY2UpOwogCiAgICAgYXV0byBnQ0dMID0gc3RhdGljX2Nhc3Q8R3JhcGhp
Y3NDb250ZXh0R0xPcGVuR0wqPihtX2NvbnRleHQuZ3JhcGhpY3NDb250ZXh0R0woKSk7Ci0gICAg
R0NHTGVudW0gdGV4dHVyZVRhcmdldCA9IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpkcmF3aW5n
QnVmZmVyVGV4dHVyZVRhcmdldCgpOworICAgIEdDR0xlbnVtIHRleHR1cmVUYXJnZXQgPSBnQ0dM
LT5kcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldCgpOwogCiAKICAgICBpZiAoIW1fb3BhcXVlVGV4
dHVyZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvY29hLm1tCmluZGV4IGNj
YmM0ZGQxMzJlYjU2MzlhMmFlNGM2N2NlZDkxYWNkYTdjMjNjMWUuLjE4MGY3MWNmZDY0YmUyZDNk
NGEzMmNlOTE5ZTkxZjEzMDA3MTk0MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQ29jb2EubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xP
cGVuR0xDb2NvYS5tbQpAQCAtNDUyLDQ2ICs0NTIsNTAgQEAgR3JhcGhpY3NDb250ZXh0R0xPcGVu
R0w6On5HcmFwaGljc0NvbnRleHRHTE9wZW5HTCgpCiAgICAgICAgIEVHTF9EZXN0cm95Q29udGV4
dChtX2Rpc3BsYXlPYmosIG1fY29udGV4dE9iaik7CiAgICAgfQogICAgIEFTU0VSVChjdXJyZW50
Q29udGV4dCAhPSB0aGlzKTsKKyAgICBtX2RyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0ID0gLTE7
CiAgICAgTE9HKFdlYkdMLCAiRGVzdHJveWVkIGEgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wgKCVw
KS4iLCB0aGlzKTsKIH0KIAogR0NHTGVudW0gR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmRyYXdp
bmdCdWZmZXJUZXh0dXJlVGFyZ2V0KCkKIHsKLSNpZiBQTEFURk9STShNQUNDQVRBTFlTVCkKLSAg
ICBpZiAobmVlZHNFQUdMT25NYWMoKSkKKyAgICBpZiAobV9kcmF3aW5nQnVmZmVyVGV4dHVyZVRh
cmdldCA9PSAtMSkKKyAgICAgICAgRUdMX0dldENvbmZpZ0F0dHJpYihtX2Rpc3BsYXlPYmosIG1f
Y29uZmlnT2JqLCBFR0xfQklORF9UT19URVhUVVJFX1RBUkdFVF9BTkdMRSwgJm1fZHJhd2luZ0J1
ZmZlclRleHR1cmVUYXJnZXQpOworICAgIAorICAgIHN3aXRjaCAobV9kcmF3aW5nQnVmZmVyVGV4
dHVyZVRhcmdldCkgeworCisgICAgY2FzZSBFR0xfVEVYVFVSRV8yRDoKICAgICAgICAgcmV0dXJu
IFRFWFRVUkVfMkQ7Ci0gICAgcmV0dXJuIFRFWFRVUkVfUkVDVEFOR0xFX0FSQjsKLSNlbGlmIFBM
QVRGT1JNKE1BQykKLSAgICByZXR1cm4gVEVYVFVSRV9SRUNUQU5HTEVfQVJCOwotI2Vsc2UKLSAg
ICByZXR1cm4gVEVYVFVSRV8yRDsKLSNlbmRpZgorICAgIGNhc2UgRUdMX1RFWFRVUkVfUkVDVEFO
R0xFX0FOR0xFOgorICAgICAgICByZXR1cm4gVEVYVFVSRV9SRUNUQU5HTEVfQVJCOworICAgIH0K
KyAgICBBU1NFUlQoISJJbnZhbGlkIGVudW0gcmV0dXJuZWQgZnJvbSBFR0xfR2V0Q29uZmlnQXR0
cmliIik7CisgICAgcmV0dXJuIDA7CiB9CiAKLUdDR0xlbnVtIEdyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMOjpkcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldFF1ZXJ5KCkKK0dDR0xlbnVtIEdyYXBoaWNz
Q29udGV4dEdMT3BlbkdMOjpkcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldFF1ZXJ5Rm9yRHJhd2lu
Z1RhcmdldChHQ0dMZW51bSBkcmF3aW5nVGFyZ2V0KQogewotI2lmIFBMQVRGT1JNKE1BQ0NBVEFM
WVNUKQotICAgIGlmIChuZWVkc0VBR0xPbk1hYygpKQorICAgIHN3aXRjaCAoZHJhd2luZ1Rhcmdl
dCkgeworCisgICAgY2FzZSBURVhUVVJFXzJEOgogICAgICAgICByZXR1cm4gVEVYVFVSRV9CSU5E
SU5HXzJEOwotICAgIHJldHVybiBURVhUVVJFX0JJTkRJTkdfUkVDVEFOR0xFX0FSQjsKLSNlbGlm
IFBMQVRGT1JNKE1BQykKLSAgICByZXR1cm4gVEVYVFVSRV9CSU5ESU5HX1JFQ1RBTkdMRV9BUkI7
Ci0jZWxzZQotICAgIHJldHVybiBURVhUVVJFX0JJTkRJTkdfMkQ7Ci0jZW5kaWYKKyAgICBjYXNl
IFRFWFRVUkVfUkVDVEFOR0xFX0FSQjoKKyAgICAgICAgcmV0dXJuIFRFWFRVUkVfQklORElOR19S
RUNUQU5HTEVfQVJCOworICAgIH0KKyAgICBBU1NFUlQoISJJbnZhbGlkIGRyYXdpbmcgdGFyZ2V0
Iik7CisgICAgcmV0dXJuIC0xOwogfQogCi1HQ0dMaW50IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdM
OjpFR0xEcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldCgpCitHQ0dMaW50IEdyYXBoaWNzQ29udGV4
dEdMT3BlbkdMOjpFR0xEcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldEZvckRyYXdpbmdUYXJnZXQo
R0NHTGVudW0gZHJhd2luZ1RhcmdldCkKIHsKLSNpZiBQTEFURk9STShNQUNDQVRBTFlTVCkKLSAg
ICBpZiAobmVlZHNFQUdMT25NYWMoKSkKKyAgICBzd2l0Y2ggKGRyYXdpbmdUYXJnZXQpIHsKKwor
ICAgIGNhc2UgVEVYVFVSRV8yRDoKICAgICAgICAgcmV0dXJuIEVHTF9URVhUVVJFXzJEOwotICAg
IHJldHVybiBFR0xfVEVYVFVSRV9SRUNUQU5HTEVfQU5HTEU7Ci0jZWxpZiBQTEFURk9STShNQUMp
Ci0gICAgcmV0dXJuIEVHTF9URVhUVVJFX1JFQ1RBTkdMRV9BTkdMRTsKLSNlbHNlCi0gICAgcmV0
dXJuIEVHTF9URVhUVVJFXzJEOwotI2VuZGlmCisgICAgY2FzZSBURVhUVVJFX1JFQ1RBTkdMRV9B
UkI6CisgICAgICAgIHJldHVybiBFR0xfVEVYVFVSRV9SRUNUQU5HTEVfQU5HTEU7CisgICAgfQor
ICAgIGFzc2VydCghIkludmFsaWQgZHJhd2luZyB0YXJnZXQiKTsKKyAgICByZXR1cm4gLTE7CiB9
CiAKIGJvb2wgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6Om1ha2VDb250ZXh0Q3VycmVudCgpCkBA
IC01OTEsNyArNTk1LDcgQEAgYm9vbCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6YWxsb2NhdGVB
bmRCaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoKQogICAgICAgICBFR0xfV0lEVEgsIHNpemUud2lk
dGgoKSwKICAgICAgICAgRUdMX0hFSUdIVCwgc2l6ZS5oZWlnaHQoKSwKICAgICAgICAgRUdMX0lP
U1VSRkFDRV9QTEFORV9BTkdMRSwgMCwKLSAgICAgICAgRUdMX1RFWFRVUkVfVEFSR0VULCBXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6RUdMRHJhd2luZ0J1ZmZlclRleHR1cmVUYXJn
ZXQoKSwKKyAgICAgICAgRUdMX1RFWFRVUkVfVEFSR0VULCBFR0xEcmF3aW5nQnVmZmVyVGV4dHVy
ZVRhcmdldEZvckRyYXdpbmdUYXJnZXQoZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXQoKSksCiAg
ICAgICAgIEVHTF9URVhUVVJFX0lOVEVSTkFMX0ZPUk1BVF9BTkdMRSwgdXNpbmdBbHBoYSA/IEdM
X0JHUkFfRVhUIDogR0xfUkdCLAogICAgICAgICBFR0xfVEVYVFVSRV9GT1JNQVQsIEVHTF9URVhU
VVJFX1JHQkEsCiAgICAgICAgIEVHTF9URVhUVVJFX1RZUEVfQU5HTEUsIEdMX1VOU0lHTkVEX0JZ
VEUsCkBAIC02MDgsNyArNjEyLDcgQEAgYm9vbCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6YWxs
b2NhdGVBbmRCaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcoKQogYm9vbCBHcmFwaGljc0NvbnRleHRH
TE9wZW5HTDo6YmluZERpc3BsYXlCdWZmZXJCYWNraW5nKHN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZh
Y2U+IGJhY2tpbmcsIHZvaWQqIHBidWZmZXIpCiB7CiAgICAgR0NHTGVudW0gdGV4dHVyZVRhcmdl
dCA9IGRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0KCk7Ci0gICAgU2NvcGVkUmVzdG9yZVRleHR1
cmVCaW5kaW5nIHJlc3RvcmVCaW5kaW5nKGRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0UXVlcnko
KSwgdGV4dHVyZVRhcmdldCwgdGV4dHVyZVRhcmdldCAhPSBURVhUVVJFX1JFQ1RBTkdMRV9BUkIp
OworICAgIFNjb3BlZFJlc3RvcmVUZXh0dXJlQmluZGluZyByZXN0b3JlQmluZGluZyhkcmF3aW5n
QnVmZmVyVGV4dHVyZVRhcmdldFF1ZXJ5Rm9yRHJhd2luZ1RhcmdldChkcmF3aW5nQnVmZmVyVGV4
dHVyZVRhcmdldCgpKSwgdGV4dHVyZVRhcmdldCwgdGV4dHVyZVRhcmdldCAhPSBURVhUVVJFX1JF
Q1RBTkdMRV9BUkIpOwogICAgIGdsOjpCaW5kVGV4dHVyZSh0ZXh0dXJlVGFyZ2V0LCBtX3RleHR1
cmUpOwogICAgIGlmICghRUdMX0JpbmRUZXhJbWFnZShtX2Rpc3BsYXlPYmosIHBidWZmZXIsIEVH
TF9CQUNLX0JVRkZFUikpIHsKICAgICAgICAgRUdMX0Rlc3Ryb3lTdXJmYWNlKG1fZGlzcGxheU9i
aiwgcGJ1ZmZlcik7CkBAIC03NzUsNyArNzc5LDcgQEAgc3RkOjpvcHRpb25hbDxQaXhlbEJ1ZmZl
cj4gR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OnJlYWRDb21wb3NpdGVkUmVzdWx0cygpCiAgICAg
Ly8gdGhlIElPU3VyZmFjZSBiZSB1bnJlZmVuY2VkIGFmdGVyIHRoZSBkcmF3IGNhbGwgZmluaXNo
ZXMuCiAgICAgU2NvcGVkVGV4dHVyZSB0ZXh0dXJlOwogICAgIEdDR0xlbnVtIHRleHR1cmVUYXJn
ZXQgPSBkcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldCgpOwotICAgIFNjb3BlZFJlc3RvcmVUZXh0
dXJlQmluZGluZyByZXN0b3JlQmluZGluZyhkcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldFF1ZXJ5
KCksIHRleHR1cmVUYXJnZXQsIHRleHR1cmVUYXJnZXQgIT0gVEVYVFVSRV9SRUNUQU5HTEVfQVJC
KTsKKyAgICBTY29wZWRSZXN0b3JlVGV4dHVyZUJpbmRpbmcgcmVzdG9yZUJpbmRpbmcoZHJhd2lu
Z0J1ZmZlclRleHR1cmVUYXJnZXRRdWVyeUZvckRyYXdpbmdUYXJnZXQoZHJhd2luZ0J1ZmZlclRl
eHR1cmVUYXJnZXQoKSksIHRleHR1cmVUYXJnZXQsIHRleHR1cmVUYXJnZXQgIT0gVEVYVFVSRV9S
RUNUQU5HTEVfQVJCKTsKICAgICBnbDo6QmluZFRleHR1cmUodGV4dHVyZVRhcmdldCwgdGV4dHVy
ZSk7CiAgICAgaWYgKCFFR0xfQmluZFRleEltYWdlKG1fZGlzcGxheU9iaiwgZGlzcGxheUJ1ZmZl
ci5oYW5kbGUsIEVHTF9CQUNLX0JVRkZFUikpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9HcmFwaGlj
c0NvbnRleHRHTENWQU5HTEUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y3YvR3JhcGhpY3NDb250ZXh0R0xDVkFOR0xFLmNwcAppbmRleCA4ZTc2NTA3MjBhNzRiYTc1NDNm
ZGRiOTcwNGI2NDAzNjIzNGNmNTkxLi44YmM2MGYyYTdjZmM1MTM4MGIxNzk4ZThiNjZjYTA2ZmU3
ZDRhODY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9H
cmFwaGljc0NvbnRleHRHTENWQU5HTEUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2N2L0dyYXBoaWNzQ29udGV4dEdMQ1ZBTkdMRS5jcHAKQEAgLTQ3Nyw3ICs0Nzcs
NyBAQCBHcmFwaGljc0NvbnRleHRHTENWQU5HTEU6OkdyYXBoaWNzQ29udGV4dEdMQ1ZBTkdMRShH
cmFwaGljc0NvbnRleHRHTE9wZW5HTCYgb3duZQogICAgICAgICBFR0xfRGVzdHJveUNvbnRleHQo
ZGlzcGxheSwgY29udGV4dCk7CiAgICAgfSk7CiAKLSAgICBjb25zdCBib29sIHVzZVRleHR1cmUy
RCA9IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpkcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldCgp
ID09IEdMX1RFWFRVUkVfMkQ7CisgICAgY29uc3QgYm9vbCB1c2VUZXh0dXJlMkQgPSBtX293bmVy
LmRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0KCkgPT0gR0xfVEVYVFVSRV8yRDsKIAogI2lmIFBM
QVRGT1JNKE1BQykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgaWYgKCF1c2VUZXh0dXJl
MkQpIHsKQEAgLTYyMyw3ICs2MjMsNyBAQCBib29sIEdyYXBoaWNzQ29udGV4dEdMQ1ZBTkdMRTo6
Y29weVBpeGVsQnVmZmVyVG9UZXh0dXJlKENWUGl4ZWxCdWZmZXJSZWYgaW1hZ2UsCiAgICAgYXV0
byB1dlBsYW5lV2lkdGggPSBJT1N1cmZhY2VHZXRXaWR0aE9mUGxhbmUoc3VyZmFjZSwgMSk7CiAg
ICAgYXV0byB1dlBsYW5lSGVpZ2h0ID0gSU9TdXJmYWNlR2V0SGVpZ2h0T2ZQbGFuZShzdXJmYWNl
LCAxKTsKIAotICAgIEdMZW51bSB2aWRlb1RleHR1cmVUYXJnZXQgPSBHcmFwaGljc0NvbnRleHRH
TE9wZW5HTDo6ZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXQoKTsKKyAgICBHTGVudW0gdmlkZW9U
ZXh0dXJlVGFyZ2V0ID0gbV9vd25lci5kcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldCgpOwogCiAg
ICAgR0x1aW50IHV2VGV4dHVyZSA9IDA7CiAgICAgZ2w6OkdlblRleHR1cmVzKDEsICZ1dlRleHR1
cmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Blbmds
L0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuaAppbmRleCAyMjc3YjE3Y2M3MDk4
ODg3NjgyNmMwODYyZjdhNzE4Mzk3NDI1ZGZhLi5kNjUyN2NiOWVmZDczNDRlOTI3NzM1NGQxYTE5
MDYxOTQwMzMyMTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuaApAQCAtMTA5
LDE0ICsxMDksMTQgQEAgcHVibGljOgogICAgIENBTGF5ZXIqIHBsYXRmb3JtTGF5ZXIoKSBjb25z
dCBmaW5hbCB7IHJldHVybiByZWludGVycHJldF9jYXN0PENBTGF5ZXIqPihtX3dlYkdMTGF5ZXIu
Z2V0KCkpOyB9CiAgICAgUGxhdGZvcm1HcmFwaGljc0NvbnRleHRHTERpc3BsYXkgcGxhdGZvcm1E
aXNwbGF5KCkgY29uc3QgeyByZXR1cm4gbV9kaXNwbGF5T2JqOyB9CiAgICAgUGxhdGZvcm1HcmFw
aGljc0NvbnRleHRHTENvbmZpZyBwbGF0Zm9ybUNvbmZpZygpIGNvbnN0IHsgcmV0dXJuIG1fY29u
ZmlnT2JqOyB9Ci0gICAgc3RhdGljIEdDR0xlbnVtIGRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0
UXVlcnkoKTsKLSAgICBzdGF0aWMgR0NHTGludCBFR0xEcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdl
dCgpOworICAgIHN0YXRpYyBHQ0dMZW51bSBkcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldFF1ZXJ5
Rm9yRHJhd2luZ1RhcmdldChHQ0dMZW51bSBkcmF3aW5nVGFyZ2V0KTsKKyAgICBzdGF0aWMgR0NH
TGludCBFR0xEcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldEZvckRyYXdpbmdUYXJnZXQoR0NHTGVu
dW0gZHJhd2luZ1RhcmdldCk7CiAjZWxzZQogICAgIHN0YXRpYyBSZWY8R3JhcGhpY3NDb250ZXh0
R0xPcGVuR0w+IGNyZWF0ZUZvckdQVVByb2Nlc3MoY29uc3QgR3JhcGhpY3NDb250ZXh0R0xBdHRy
aWJ1dGVzJik7CiAgICAgUGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXllcigpIGNvbnN0IGZpbmFs
OwogI2VuZGlmCiAjaWYgVVNFKEFOR0xFKQotICAgIHN0YXRpYyBHQ0dMZW51bSBkcmF3aW5nQnVm
ZmVyVGV4dHVyZVRhcmdldCgpOworICAgIEdDR0xlbnVtIGRyYXdpbmdCdWZmZXJUZXh0dXJlVGFy
Z2V0KCk7CiAjZW5kaWYKICAgICBlbnVtIGNsYXNzIFJlbGVhc2VUaHJlYWRSZXNvdXJjZUJlaGF2
aW9yIHsKICAgICAgICAgLy8gUmVsZWFzZXMgY3VycmVudCBjb250ZXh0IGFmdGVyIEdyYXBoaWNz
Q29udGV4dEdMT3BlbkdMIGNhbGxzIGRvbmUgaW4gdGhlIHRocmVhZC4KQEAgLTc1NSw2ICs3NTUs
OSBAQCBwcml2YXRlOgogICAgIEdDR0x1aW50IG1fcHJlc2VydmVEcmF3aW5nQnVmZmVyVGV4dHVy
ZSB7IDAgfTsKICAgICAvLyBBdHRhY2hlcyBtX3RleHR1cmUgd2hlbiBtX3ByZXNlcnZlRHJhd2lu
Z0J1ZmZlclRleHR1cmUgaXMgbm9uLXplcm8uCiAgICAgR0NHTHVpbnQgbV9wcmVzZXJ2ZURyYXdp
bmdCdWZmZXJGQk8geyAwIH07CisgICAgLy8gUXVlcmllZCBhdCBkaXNwbGF5IHN0YXJ0dXAuCisg
ICAgRUdMaW50IG1fZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXQgeyAtMSB9OworCiAjZW5kaWYK
IAogICAgIC8vIEEgYml0bWFzayBvZiBHTCBidWZmZXIgYml0cyAoR0xfQ09MT1JfQlVGRkVSX0JJ
VCwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441660</attachid>
            <date>2021-10-18 17:11:07 -0700</date>
            <delta_ts>2021-10-19 00:09:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231468-20211018171107.patch</filename>
            <type>text/plain</type>
            <size>10544</size>
            <attacher name="Kyle Piddington">kpiddington</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NDAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTFmMjAyNTU2ZWE2YmFm
Njc1ZWIwNjY5ZTJkMzdiYzI5ZjJmOTU5Ny4uNGI5NmJjMDBhMDAyNTdiZjhkNGFlYTgxNzMxY2U4
ZDQwMjNjY2M2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTEwLTE4ICBLeWxl
IFBpZGRpbmd0b24gIDxrcGlkZGluZ3RvbkBhcHBsZS5jb20+CisgICAgICAgIFF1ZXJ5IEVHTF9C
SU5EX1RPX1RFWFRVUkVfVEFSR0VUX0FOR0xFIHRvIGRldGVybWluZSAyRC9yZWN0YW5ndWxhciB0
ZXh0dXJlIHVzYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzE0NjgKKworICAgICAgICBSZWZhY3RvciBHcmFwaGljc0NvbnRleHRHTENvY29hIHRv
IGhvbGQgYSByZWZlcmVuY2UgdG8gCisgICAgICAgIEJJTkRfVE9fVEVYVFVSRV9UQVJHRVQuIFRo
aXMgcmVmYWN0b3IgaXMgbmVjY2VzYXJ5IHRvIHN1cHBvcnQgZHJvcHBpbmcgCisgICAgICAgIFRF
WFRVUkVfUkVDVCBzdXBwb3J0IGZyb20gdGhlIE1ldGFsIGJhY2tlbmQsIGFzIHN1cHBvcnQgaXMg
aW5jb21wbGV0ZSwgYW5kIHVubmVjZXNzYXJ5IAorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5l
dGggUnVzc2VsbC4KKworICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJPcGFxdWVGcmFtZWJ1
ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUk9wYXF1ZUZyYW1lYnVmZmVyOjpzdGFy
dEZyYW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRl
eHRHTE9wZW5HTENvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xP
cGVuR0w6On5HcmFwaGljc0NvbnRleHRHTE9wZW5HTCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHRHTE9wZW5HTDo6ZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXQpOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmRyYXdpbmdCdWZmZXJUZXh0dXJl
VGFyZ2V0UXVlcnlGb3JEcmF3aW5nVGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dEdMT3BlbkdMOjpFR0xEcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldEZvckRyYXdpbmdU
YXJnZXQpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmFsbG9j
YXRlQW5kQmluZERpc3BsYXlCdWZmZXJCYWNraW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dEdMT3BlbkdMOjpiaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcpOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OnJlYWRDb21wb3NpdGVkUmVzdWx0cyk6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZHJhd2luZ0J1ZmZl
clRleHR1cmVUYXJnZXRRdWVyeSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHRHTE9wZW5HTDo6RUdMRHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXQpOiBEZWxldGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2N2L0dyYXBoaWNzQ29udGV4dEdMQ1ZBTkdM
RS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTENWQU5HTEU6OkdyYXBo
aWNzQ29udGV4dEdMQ1ZBTkdMRSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRH
TENWQU5HTEU6OmNvcHlQaXhlbEJ1ZmZlclRvVGV4dHVyZSk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmg6CisKIDIwMjEtMTAtMTUg
IFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nz
cy1mbGV4Ym94XSBEbyBub3QgY2xhbXAgZmxleCBiYXNlIHNpemUgd2l0aCB7bWlufG1heH0te2hl
aWdodHx3aWR0aH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2Vi
WFJPcGFxdWVGcmFtZWJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dl
YlhST3BhcXVlRnJhbWVidWZmZXIuY3BwCmluZGV4IGQ3NTRhMTEwMTRkMTIxOTNiYWI3MTc0MDgz
ZjhmYWIzMjViYjNmYjAuLjUwYzUzMmI3Njg1OGU2MDYxYzg3MDFlMGU2MzQ1ZTc0ODBlOTUwYWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJPcGFxdWVGcmFt
ZWJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUk9wYXF1
ZUZyYW1lYnVmZmVyLmNwcApAQCAtMTIzLDcgKzEyMyw3IEBAIHZvaWQgV2ViWFJPcGFxdWVGcmFt
ZWJ1ZmZlcjo6c3RhcnRGcmFtZShjb25zdCBQbGF0Zm9ybVhSOjpEZXZpY2U6OkZyYW1lRGF0YTo6
TGF5CiAgICAgQVNTRVJUKGRhdGEuc3VyZmFjZSk7CiAKICAgICBhdXRvIGdDR0wgPSBzdGF0aWNf
Y2FzdDxHcmFwaGljc0NvbnRleHRHTE9wZW5HTCo+KG1fY29udGV4dC5ncmFwaGljc0NvbnRleHRH
TCgpKTsKLSAgICBHQ0dMZW51bSB0ZXh0dXJlVGFyZ2V0ID0gR3JhcGhpY3NDb250ZXh0R0xPcGVu
R0w6OmRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0KCk7CisgICAgR0NHTGVudW0gdGV4dHVyZVRh
cmdldCA9IGdDR0wtPmRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0KCk7CiAKIAogICAgIGlmICgh
bV9vcGFxdWVUZXh0dXJlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xDb2NvYS5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQ29jb2Eu
bW0KaW5kZXggZGIwYzkwMDJjYTkwZmQ5NTk5ZDA0ZWEwMzc2NjQzMjM3ZjNjMzU1OS4uYTdjYzRm
ZjNkYWMxMDljYTIxY2ZlZTRlMDUzZmE3ZTYzNmJjMTJlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xDb2Nv
YS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGlj
c0NvbnRleHRHTE9wZW5HTENvY29hLm1tCkBAIC00MTUsNiArNDE1LDcgQEAgR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6On5HcmFwaGljc0NvbnRleHRHTE9wZW5HTCgpCiAgICAgICAgIEVHTF9EZXN0
cm95Q29udGV4dChtX2Rpc3BsYXlPYmosIG1fY29udGV4dE9iaik7CiAgICAgfQogICAgIEFTU0VS
VChjdXJyZW50Q29udGV4dCAhPSB0aGlzKTsKKyAgICBtX2RyYXdpbmdCdWZmZXJUZXh0dXJlVGFy
Z2V0ID0gLTE7CiAgICAgTE9HKFdlYkdMLCAiRGVzdHJveWVkIGEgR3JhcGhpY3NDb250ZXh0R0xP
cGVuR0wgKCVwKS4iLCB0aGlzKTsKIH0KIApAQCAtNDMwLDQxICs0MzEsNDIgQEAgUGxhdGZvcm1M
YXllciogR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdAogCiBH
Q0dMZW51bSBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJn
ZXQoKQogewotI2lmIFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQotICAgIGlmIChuZWVkc0VBR0xPbk1h
YygpKQorICAgIGlmIChtX2RyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0ID09IC0xKQorICAgICAg
ICBFR0xfR2V0Q29uZmlnQXR0cmliKG1fZGlzcGxheU9iaiwgbV9jb25maWdPYmosIEVHTF9CSU5E
X1RPX1RFWFRVUkVfVEFSR0VUX0FOR0xFLCAmbV9kcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldCk7
CisKKyAgICBzd2l0Y2ggKG1fZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXQpIHsKKyAgICBjYXNl
IEVHTF9URVhUVVJFXzJEOgogICAgICAgICByZXR1cm4gVEVYVFVSRV8yRDsKLSAgICByZXR1cm4g
VEVYVFVSRV9SRUNUQU5HTEVfQVJCOwotI2VsaWYgUExBVEZPUk0oTUFDKQotICAgIHJldHVybiBU
RVhUVVJFX1JFQ1RBTkdMRV9BUkI7Ci0jZWxzZQotICAgIHJldHVybiBURVhUVVJFXzJEOwotI2Vu
ZGlmCisgICAgY2FzZSBFR0xfVEVYVFVSRV9SRUNUQU5HTEVfQU5HTEU6CisgICAgICAgIHJldHVy
biBURVhUVVJFX1JFQ1RBTkdMRV9BUkI7CisKKyAgICB9CisgICAgQVNTRVJUX1dJVEhfTUVTU0FH
RShmYWxzZSwgIkludmFsaWQgZW51bSByZXR1cm5lZCBmcm9tIEVHTF9HZXRDb25maWdBdHRyaWIi
KTsKKyAgICByZXR1cm4gMDsKIH0KIAotR0NHTGVudW0gR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6
OmRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0UXVlcnkoKQorR0NHTGVudW0gR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6OmRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0UXVlcnlGb3JEcmF3aW5nVGFy
Z2V0KEdDR0xlbnVtIGRyYXdpbmdUYXJnZXQpCiB7Ci0jaWYgUExBVEZPUk0oTUFDQ0FUQUxZU1Qp
Ci0gICAgaWYgKG5lZWRzRUFHTE9uTWFjKCkpCisgICAgc3dpdGNoIChkcmF3aW5nVGFyZ2V0KSB7
CisgICAgY2FzZSBURVhUVVJFXzJEOgogICAgICAgICByZXR1cm4gVEVYVFVSRV9CSU5ESU5HXzJE
OwotICAgIHJldHVybiBURVhUVVJFX0JJTkRJTkdfUkVDVEFOR0xFX0FSQjsKLSNlbGlmIFBMQVRG
T1JNKE1BQykKLSAgICByZXR1cm4gVEVYVFVSRV9CSU5ESU5HX1JFQ1RBTkdMRV9BUkI7Ci0jZWxz
ZQotICAgIHJldHVybiBURVhUVVJFX0JJTkRJTkdfMkQ7Ci0jZW5kaWYKKyAgICBjYXNlIFRFWFRV
UkVfUkVDVEFOR0xFX0FSQjoKKyAgICAgICAgcmV0dXJuIFRFWFRVUkVfQklORElOR19SRUNUQU5H
TEVfQVJCOworICAgIH0KKyAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKGZhbHNlLCAiSW52YWxpZCBk
cmF3aW5nIHRhcmdldCIpOworICAgIHJldHVybiAtMTsKIH0KIAotR0NHTGludCBHcmFwaGljc0Nv
bnRleHRHTE9wZW5HTDo6RUdMRHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXQoKQorR0NHTGludCBH
cmFwaGljc0NvbnRleHRHTE9wZW5HTDo6RUdMRHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXRGb3JE
cmF3aW5nVGFyZ2V0KEdDR0xlbnVtIGRyYXdpbmdUYXJnZXQpCiB7Ci0jaWYgUExBVEZPUk0oTUFD
Q0FUQUxZU1QpCi0gICAgaWYgKG5lZWRzRUFHTE9uTWFjKCkpCisgICAgc3dpdGNoIChkcmF3aW5n
VGFyZ2V0KSB7CisgICAgY2FzZSBURVhUVVJFXzJEOgogICAgICAgICByZXR1cm4gRUdMX1RFWFRV
UkVfMkQ7Ci0gICAgcmV0dXJuIEVHTF9URVhUVVJFX1JFQ1RBTkdMRV9BTkdMRTsKLSNlbGlmIFBM
QVRGT1JNKE1BQykKLSAgICByZXR1cm4gRUdMX1RFWFRVUkVfUkVDVEFOR0xFX0FOR0xFOwotI2Vs
c2UKLSAgICByZXR1cm4gRUdMX1RFWFRVUkVfMkQ7Ci0jZW5kaWYKKyAgICBjYXNlIFRFWFRVUkVf
UkVDVEFOR0xFX0FSQjoKKyAgICAgICAgcmV0dXJuIEVHTF9URVhUVVJFX1JFQ1RBTkdMRV9BTkdM
RTsKKyAgICB9CisgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShmYWxzZSwgIkludmFsaWQgZHJhd2lu
ZyB0YXJnZXQiKTsKKyAgICByZXR1cm4gMDsKIH0KIAogYm9vbCBHcmFwaGljc0NvbnRleHRHTE9w
ZW5HTDo6bWFrZUNvbnRleHRDdXJyZW50KCkKQEAgLTU2Miw3ICs1NjQsNyBAQCBib29sIEdyYXBo
aWNzQ29udGV4dEdMT3BlbkdMOjphbGxvY2F0ZUFuZEJpbmREaXNwbGF5QnVmZmVyQmFja2luZygp
CiAgICAgICAgIEVHTF9XSURUSCwgc2l6ZS53aWR0aCgpLAogICAgICAgICBFR0xfSEVJR0hULCBz
aXplLmhlaWdodCgpLAogICAgICAgICBFR0xfSU9TVVJGQUNFX1BMQU5FX0FOR0xFLCAwLAotICAg
ICAgICBFR0xfVEVYVFVSRV9UQVJHRVQsIFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdM
OjpFR0xEcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldCgpLAorICAgICAgICBFR0xfVEVYVFVSRV9U
QVJHRVQsIEVHTERyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0Rm9yRHJhd2luZ1RhcmdldChkcmF3
aW5nQnVmZmVyVGV4dHVyZVRhcmdldCgpKSwKICAgICAgICAgRUdMX1RFWFRVUkVfSU5URVJOQUxf
Rk9STUFUX0FOR0xFLCB1c2luZ0FscGhhID8gR0xfQkdSQV9FWFQgOiBHTF9SR0IsCiAgICAgICAg
IEVHTF9URVhUVVJFX0ZPUk1BVCwgRUdMX1RFWFRVUkVfUkdCQSwKICAgICAgICAgRUdMX1RFWFRV
UkVfVFlQRV9BTkdMRSwgR0xfVU5TSUdORURfQllURSwKQEAgLTU3OSw3ICs1ODEsNyBAQCBib29s
IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjphbGxvY2F0ZUFuZEJpbmREaXNwbGF5QnVmZmVyQmFj
a2luZygpCiBib29sIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpiaW5kRGlzcGxheUJ1ZmZlckJh
Y2tpbmcoc3RkOjp1bmlxdWVfcHRyPElPU3VyZmFjZT4gYmFja2luZywgdm9pZCogcGJ1ZmZlcikK
IHsKICAgICBHQ0dMZW51bSB0ZXh0dXJlVGFyZ2V0ID0gZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJn
ZXQoKTsKLSAgICBTY29wZWRSZXN0b3JlVGV4dHVyZUJpbmRpbmcgcmVzdG9yZUJpbmRpbmcoZHJh
d2luZ0J1ZmZlclRleHR1cmVUYXJnZXRRdWVyeSgpLCB0ZXh0dXJlVGFyZ2V0LCB0ZXh0dXJlVGFy
Z2V0ICE9IFRFWFRVUkVfUkVDVEFOR0xFX0FSQik7CisgICAgU2NvcGVkUmVzdG9yZVRleHR1cmVC
aW5kaW5nIHJlc3RvcmVCaW5kaW5nKGRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0UXVlcnlGb3JE
cmF3aW5nVGFyZ2V0KGRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0KCkpLCB0ZXh0dXJlVGFyZ2V0
LCB0ZXh0dXJlVGFyZ2V0ICE9IFRFWFRVUkVfUkVDVEFOR0xFX0FSQik7CiAgICAgZ2w6OkJpbmRU
ZXh0dXJlKHRleHR1cmVUYXJnZXQsIG1fdGV4dHVyZSk7CiAgICAgaWYgKCFFR0xfQmluZFRleElt
YWdlKG1fZGlzcGxheU9iaiwgcGJ1ZmZlciwgRUdMX0JBQ0tfQlVGRkVSKSkgewogICAgICAgICBF
R0xfRGVzdHJveVN1cmZhY2UobV9kaXNwbGF5T2JqLCBwYnVmZmVyKTsKQEAgLTc0Niw3ICs3NDgs
NyBAQCBzdGQ6Om9wdGlvbmFsPFBpeGVsQnVmZmVyPiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6
cmVhZENvbXBvc2l0ZWRSZXN1bHRzKCkKICAgICAvLyB0aGUgSU9TdXJmYWNlIGJlIHVucmVmZW5j
ZWQgYWZ0ZXIgdGhlIGRyYXcgY2FsbCBmaW5pc2hlcy4KICAgICBTY29wZWRUZXh0dXJlIHRleHR1
cmU7CiAgICAgR0NHTGVudW0gdGV4dHVyZVRhcmdldCA9IGRyYXdpbmdCdWZmZXJUZXh0dXJlVGFy
Z2V0KCk7Ci0gICAgU2NvcGVkUmVzdG9yZVRleHR1cmVCaW5kaW5nIHJlc3RvcmVCaW5kaW5nKGRy
YXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0UXVlcnkoKSwgdGV4dHVyZVRhcmdldCwgdGV4dHVyZVRh
cmdldCAhPSBURVhUVVJFX1JFQ1RBTkdMRV9BUkIpOworICAgIFNjb3BlZFJlc3RvcmVUZXh0dXJl
QmluZGluZyByZXN0b3JlQmluZGluZyhkcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldFF1ZXJ5Rm9y
RHJhd2luZ1RhcmdldChkcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldCgpKSwgdGV4dHVyZVRhcmdl
dCwgdGV4dHVyZVRhcmdldCAhPSBURVhUVVJFX1JFQ1RBTkdMRV9BUkIpOwogICAgIGdsOjpCaW5k
VGV4dHVyZSh0ZXh0dXJlVGFyZ2V0LCB0ZXh0dXJlKTsKICAgICBpZiAoIUVHTF9CaW5kVGV4SW1h
Z2UobV9kaXNwbGF5T2JqLCBkaXNwbGF5QnVmZmVyLmhhbmRsZSwgRUdMX0JBQ0tfQlVGRkVSKSkK
ICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2N2L0dyYXBoaWNzQ29udGV4dEdMQ1ZBTkdMRS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9HcmFwaGljc0NvbnRleHRHTENWQU5HTEUu
Y3BwCmluZGV4IDhlNzY1MDcyMGE3NGJhNzU0M2ZkZGI5NzA0YjY0MDM2MjM0Y2Y1OTEuLjhiYzYw
ZjJhN2NmYzUxMzgwYjE3OThlOGI2NmNhMDZmZTdkNGE4NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L0dyYXBoaWNzQ29udGV4dEdMQ1ZBTkdMRS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvR3JhcGhpY3NDb250ZXh0
R0xDVkFOR0xFLmNwcApAQCAtNDc3LDcgKzQ3Nyw3IEBAIEdyYXBoaWNzQ29udGV4dEdMQ1ZBTkdM
RTo6R3JhcGhpY3NDb250ZXh0R0xDVkFOR0xFKEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMJiBvd25l
CiAgICAgICAgIEVHTF9EZXN0cm95Q29udGV4dChkaXNwbGF5LCBjb250ZXh0KTsKICAgICB9KTsK
IAotICAgIGNvbnN0IGJvb2wgdXNlVGV4dHVyZTJEID0gR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6
OmRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0KCkgPT0gR0xfVEVYVFVSRV8yRDsKKyAgICBjb25z
dCBib29sIHVzZVRleHR1cmUyRCA9IG1fb3duZXIuZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXQo
KSA9PSBHTF9URVhUVVJFXzJEOwogCiAjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShNQUND
QVRBTFlTVCkKICAgICBpZiAoIXVzZVRleHR1cmUyRCkgewpAQCAtNjIzLDcgKzYyMyw3IEBAIGJv
b2wgR3JhcGhpY3NDb250ZXh0R0xDVkFOR0xFOjpjb3B5UGl4ZWxCdWZmZXJUb1RleHR1cmUoQ1ZQ
aXhlbEJ1ZmZlclJlZiBpbWFnZSwKICAgICBhdXRvIHV2UGxhbmVXaWR0aCA9IElPU3VyZmFjZUdl
dFdpZHRoT2ZQbGFuZShzdXJmYWNlLCAxKTsKICAgICBhdXRvIHV2UGxhbmVIZWlnaHQgPSBJT1N1
cmZhY2VHZXRIZWlnaHRPZlBsYW5lKHN1cmZhY2UsIDEpOwogCi0gICAgR0xlbnVtIHZpZGVvVGV4
dHVyZVRhcmdldCA9IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpkcmF3aW5nQnVmZmVyVGV4dHVy
ZVRhcmdldCgpOworICAgIEdMZW51bSB2aWRlb1RleHR1cmVUYXJnZXQgPSBtX293bmVyLmRyYXdp
bmdCdWZmZXJUZXh0dXJlVGFyZ2V0KCk7CiAKICAgICBHTHVpbnQgdXZUZXh0dXJlID0gMDsKICAg
ICBnbDo6R2VuVGV4dHVyZXMoMSwgJnV2VGV4dHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRH
TE9wZW5HTC5oCmluZGV4IDk5NGVmMTUyMTMwNTVmMDk3YTA4ZmM5MjBiZTVlMmY2OTEzMDdlNTcu
LmJmNzYxOGM5Y2ZjNmM1ZGE3MzYyMGIxY2Y0NzVjNWZkYTZjZWZhZmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9w
ZW5HTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFw
aGljc0NvbnRleHRHTE9wZW5HTC5oCkBAIC0xMDYsMTMgKzEwNiwxMyBAQCBwdWJsaWM6CiAgICAg
UGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXllcigpIGNvbnN0IG92ZXJyaWRlOwogICAgIFBsYXRm
b3JtR3JhcGhpY3NDb250ZXh0R0xEaXNwbGF5IHBsYXRmb3JtRGlzcGxheSgpIGNvbnN0IHsgcmV0
dXJuIG1fZGlzcGxheU9iajsgfQogICAgIFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0R0xDb25maWcg
cGxhdGZvcm1Db25maWcoKSBjb25zdCB7IHJldHVybiBtX2NvbmZpZ09iajsgfQotICAgIHN0YXRp
YyBHQ0dMZW51bSBkcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldFF1ZXJ5KCk7Ci0gICAgc3RhdGlj
IEdDR0xpbnQgRUdMRHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXQoKTsKKyAgICBzdGF0aWMgR0NH
TGVudW0gZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXRRdWVyeUZvckRyYXdpbmdUYXJnZXQoR0NH
TGVudW0gZHJhd2luZ1RhcmdldCk7CisgICAgc3RhdGljIEdDR0xpbnQgRUdMRHJhd2luZ0J1ZmZl
clRleHR1cmVUYXJnZXRGb3JEcmF3aW5nVGFyZ2V0KEdDR0xlbnVtIGRyYXdpbmdUYXJnZXQpOwog
I2Vsc2UKICAgICBQbGF0Zm9ybUxheWVyKiBwbGF0Zm9ybUxheWVyKCkgY29uc3QgZmluYWw7CiAj
ZW5kaWYKICNpZiBVU0UoQU5HTEUpCi0gICAgc3RhdGljIEdDR0xlbnVtIGRyYXdpbmdCdWZmZXJU
ZXh0dXJlVGFyZ2V0KCk7CisgICAgR0NHTGVudW0gZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXQo
KTsKICNlbmRpZgogICAgIGVudW0gY2xhc3MgUmVsZWFzZVRocmVhZFJlc291cmNlQmVoYXZpb3Ig
ewogICAgICAgICAvLyBSZWxlYXNlcyBjdXJyZW50IGNvbnRleHQgYWZ0ZXIgR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0wgY2FsbHMgZG9uZSBpbiB0aGUgdGhyZWFkLgpAQCAtNzQ5LDYgKzc0OSw5IEBA
IHByaXZhdGU6CiAgICAgR0NHTHVpbnQgbV9wcmVzZXJ2ZURyYXdpbmdCdWZmZXJUZXh0dXJlIHsg
MCB9OwogICAgIC8vIEF0dGFjaGVzIG1fdGV4dHVyZSB3aGVuIG1fcHJlc2VydmVEcmF3aW5nQnVm
ZmVyVGV4dHVyZSBpcyBub24temVyby4KICAgICBHQ0dMdWludCBtX3ByZXNlcnZlRHJhd2luZ0J1
ZmZlckZCTyB7IDAgfTsKKyAgICAvLyBRdWVyaWVkIGF0IGRpc3BsYXkgc3RhcnR1cC4KKyAgICBF
R0xpbnQgbV9kcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldCB7IC0xIH07CisKICNlbmRpZgogCiAg
ICAgLy8gQSBiaXRtYXNrIG9mIEdMIGJ1ZmZlciBiaXRzIChHTF9DT0xPUl9CVUZGRVJfQklULAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441693</attachid>
            <date>2021-10-19 00:09:02 -0700</date>
            <delta_ts>2021-10-19 01:06:52 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-231468-20211019000901.patch</filename>
            <type>text/plain</type>
            <size>10544</size>
            <attacher name="Kyle Piddington">kpiddington</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NDAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTFmMjAyNTU2ZWE2YmFm
Njc1ZWIwNjY5ZTJkMzdiYzI5ZjJmOTU5Ny4uNGI5NmJjMDBhMDAyNTdiZjhkNGFlYTgxNzMxY2U4
ZDQwMjNjY2M2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTEwLTE4ICBLeWxl
IFBpZGRpbmd0b24gIDxrcGlkZGluZ3RvbkBhcHBsZS5jb20+CisgICAgICAgIFF1ZXJ5IEVHTF9C
SU5EX1RPX1RFWFRVUkVfVEFSR0VUX0FOR0xFIHRvIGRldGVybWluZSAyRC9yZWN0YW5ndWxhciB0
ZXh0dXJlIHVzYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzE0NjgKKworICAgICAgICBSZWZhY3RvciBHcmFwaGljc0NvbnRleHRHTENvY29hIHRv
IGhvbGQgYSByZWZlcmVuY2UgdG8gCisgICAgICAgIEJJTkRfVE9fVEVYVFVSRV9UQVJHRVQuIFRo
aXMgcmVmYWN0b3IgaXMgbmVjY2VzYXJ5IHRvIHN1cHBvcnQgZHJvcHBpbmcgCisgICAgICAgIFRF
WFRVUkVfUkVDVCBzdXBwb3J0IGZyb20gdGhlIE1ldGFsIGJhY2tlbmQsIGFzIHN1cHBvcnQgaXMg
aW5jb21wbGV0ZSwgYW5kIHVubmVjZXNzYXJ5IAorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbm5l
dGggUnVzc2VsbC4KKworICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJPcGFxdWVGcmFtZWJ1
ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUk9wYXF1ZUZyYW1lYnVmZmVyOjpzdGFy
dEZyYW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRl
eHRHTE9wZW5HTENvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xP
cGVuR0w6On5HcmFwaGljc0NvbnRleHRHTE9wZW5HTCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHRHTE9wZW5HTDo6ZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXQpOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmRyYXdpbmdCdWZmZXJUZXh0dXJl
VGFyZ2V0UXVlcnlGb3JEcmF3aW5nVGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dEdMT3BlbkdMOjpFR0xEcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldEZvckRyYXdpbmdU
YXJnZXQpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmFsbG9j
YXRlQW5kQmluZERpc3BsYXlCdWZmZXJCYWNraW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dEdMT3BlbkdMOjpiaW5kRGlzcGxheUJ1ZmZlckJhY2tpbmcpOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OnJlYWRDb21wb3NpdGVkUmVzdWx0cyk6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZHJhd2luZ0J1ZmZl
clRleHR1cmVUYXJnZXRRdWVyeSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHRHTE9wZW5HTDo6RUdMRHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXQpOiBEZWxldGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2N2L0dyYXBoaWNzQ29udGV4dEdMQ1ZBTkdM
RS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTENWQU5HTEU6OkdyYXBo
aWNzQ29udGV4dEdMQ1ZBTkdMRSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRH
TENWQU5HTEU6OmNvcHlQaXhlbEJ1ZmZlclRvVGV4dHVyZSk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmg6CisKIDIwMjEtMTAtMTUg
IFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nz
cy1mbGV4Ym94XSBEbyBub3QgY2xhbXAgZmxleCBiYXNlIHNpemUgd2l0aCB7bWlufG1heH0te2hl
aWdodHx3aWR0aH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2Vi
WFJPcGFxdWVGcmFtZWJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dl
YlhST3BhcXVlRnJhbWVidWZmZXIuY3BwCmluZGV4IGQ3NTRhMTEwMTRkMTIxOTNiYWI3MTc0MDgz
ZjhmYWIzMjViYjNmYjAuLjUwYzUzMmI3Njg1OGU2MDYxYzg3MDFlMGU2MzQ1ZTc0ODBlOTUwYWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJPcGFxdWVGcmFt
ZWJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUk9wYXF1
ZUZyYW1lYnVmZmVyLmNwcApAQCAtMTIzLDcgKzEyMyw3IEBAIHZvaWQgV2ViWFJPcGFxdWVGcmFt
ZWJ1ZmZlcjo6c3RhcnRGcmFtZShjb25zdCBQbGF0Zm9ybVhSOjpEZXZpY2U6OkZyYW1lRGF0YTo6
TGF5CiAgICAgQVNTRVJUKGRhdGEuc3VyZmFjZSk7CiAKICAgICBhdXRvIGdDR0wgPSBzdGF0aWNf
Y2FzdDxHcmFwaGljc0NvbnRleHRHTE9wZW5HTCo+KG1fY29udGV4dC5ncmFwaGljc0NvbnRleHRH
TCgpKTsKLSAgICBHQ0dMZW51bSB0ZXh0dXJlVGFyZ2V0ID0gR3JhcGhpY3NDb250ZXh0R0xPcGVu
R0w6OmRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0KCk7CisgICAgR0NHTGVudW0gdGV4dHVyZVRh
cmdldCA9IGdDR0wtPmRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0KCk7CiAKIAogICAgIGlmICgh
bV9vcGFxdWVUZXh0dXJlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xDb2NvYS5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQ29jb2Eu
bW0KaW5kZXggZGIwYzkwMDJjYTkwZmQ5NTk5ZDA0ZWEwMzc2NjQzMjM3ZjNjMzU1OS4uYTdjYzRm
ZjNkYWMxMDljYTIxY2ZlZTRlMDUzZmE3ZTYzNmJjMTJlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xDb2Nv
YS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGlj
c0NvbnRleHRHTE9wZW5HTENvY29hLm1tCkBAIC00MTUsNiArNDE1LDcgQEAgR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6On5HcmFwaGljc0NvbnRleHRHTE9wZW5HTCgpCiAgICAgICAgIEVHTF9EZXN0
cm95Q29udGV4dChtX2Rpc3BsYXlPYmosIG1fY29udGV4dE9iaik7CiAgICAgfQogICAgIEFTU0VS
VChjdXJyZW50Q29udGV4dCAhPSB0aGlzKTsKKyAgICBtX2RyYXdpbmdCdWZmZXJUZXh0dXJlVGFy
Z2V0ID0gLTE7CiAgICAgTE9HKFdlYkdMLCAiRGVzdHJveWVkIGEgR3JhcGhpY3NDb250ZXh0R0xP
cGVuR0wgKCVwKS4iLCB0aGlzKTsKIH0KIApAQCAtNDMwLDQxICs0MzEsNDIgQEAgUGxhdGZvcm1M
YXllciogR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdAogCiBH
Q0dMZW51bSBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJn
ZXQoKQogewotI2lmIFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQotICAgIGlmIChuZWVkc0VBR0xPbk1h
YygpKQorICAgIGlmIChtX2RyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0ID09IC0xKQorICAgICAg
ICBFR0xfR2V0Q29uZmlnQXR0cmliKG1fZGlzcGxheU9iaiwgbV9jb25maWdPYmosIEVHTF9CSU5E
X1RPX1RFWFRVUkVfVEFSR0VUX0FOR0xFLCAmbV9kcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldCk7
CisKKyAgICBzd2l0Y2ggKG1fZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXQpIHsKKyAgICBjYXNl
IEVHTF9URVhUVVJFXzJEOgogICAgICAgICByZXR1cm4gVEVYVFVSRV8yRDsKLSAgICByZXR1cm4g
VEVYVFVSRV9SRUNUQU5HTEVfQVJCOwotI2VsaWYgUExBVEZPUk0oTUFDKQotICAgIHJldHVybiBU
RVhUVVJFX1JFQ1RBTkdMRV9BUkI7Ci0jZWxzZQotICAgIHJldHVybiBURVhUVVJFXzJEOwotI2Vu
ZGlmCisgICAgY2FzZSBFR0xfVEVYVFVSRV9SRUNUQU5HTEVfQU5HTEU6CisgICAgICAgIHJldHVy
biBURVhUVVJFX1JFQ1RBTkdMRV9BUkI7CisKKyAgICB9CisgICAgQVNTRVJUX1dJVEhfTUVTU0FH
RShmYWxzZSwgIkludmFsaWQgZW51bSByZXR1cm5lZCBmcm9tIEVHTF9HZXRDb25maWdBdHRyaWIi
KTsKKyAgICByZXR1cm4gMDsKIH0KIAotR0NHTGVudW0gR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6
OmRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0UXVlcnkoKQorR0NHTGVudW0gR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6OmRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0UXVlcnlGb3JEcmF3aW5nVGFy
Z2V0KEdDR0xlbnVtIGRyYXdpbmdUYXJnZXQpCiB7Ci0jaWYgUExBVEZPUk0oTUFDQ0FUQUxZU1Qp
Ci0gICAgaWYgKG5lZWRzRUFHTE9uTWFjKCkpCisgICAgc3dpdGNoIChkcmF3aW5nVGFyZ2V0KSB7
CisgICAgY2FzZSBURVhUVVJFXzJEOgogICAgICAgICByZXR1cm4gVEVYVFVSRV9CSU5ESU5HXzJE
OwotICAgIHJldHVybiBURVhUVVJFX0JJTkRJTkdfUkVDVEFOR0xFX0FSQjsKLSNlbGlmIFBMQVRG
T1JNKE1BQykKLSAgICByZXR1cm4gVEVYVFVSRV9CSU5ESU5HX1JFQ1RBTkdMRV9BUkI7Ci0jZWxz
ZQotICAgIHJldHVybiBURVhUVVJFX0JJTkRJTkdfMkQ7Ci0jZW5kaWYKKyAgICBjYXNlIFRFWFRV
UkVfUkVDVEFOR0xFX0FSQjoKKyAgICAgICAgcmV0dXJuIFRFWFRVUkVfQklORElOR19SRUNUQU5H
TEVfQVJCOworICAgIH0KKyAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKGZhbHNlLCAiSW52YWxpZCBk
cmF3aW5nIHRhcmdldCIpOworICAgIHJldHVybiAtMTsKIH0KIAotR0NHTGludCBHcmFwaGljc0Nv
bnRleHRHTE9wZW5HTDo6RUdMRHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXQoKQorR0NHTGludCBH
cmFwaGljc0NvbnRleHRHTE9wZW5HTDo6RUdMRHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXRGb3JE
cmF3aW5nVGFyZ2V0KEdDR0xlbnVtIGRyYXdpbmdUYXJnZXQpCiB7Ci0jaWYgUExBVEZPUk0oTUFD
Q0FUQUxZU1QpCi0gICAgaWYgKG5lZWRzRUFHTE9uTWFjKCkpCisgICAgc3dpdGNoIChkcmF3aW5n
VGFyZ2V0KSB7CisgICAgY2FzZSBURVhUVVJFXzJEOgogICAgICAgICByZXR1cm4gRUdMX1RFWFRV
UkVfMkQ7Ci0gICAgcmV0dXJuIEVHTF9URVhUVVJFX1JFQ1RBTkdMRV9BTkdMRTsKLSNlbGlmIFBM
QVRGT1JNKE1BQykKLSAgICByZXR1cm4gRUdMX1RFWFRVUkVfUkVDVEFOR0xFX0FOR0xFOwotI2Vs
c2UKLSAgICByZXR1cm4gRUdMX1RFWFRVUkVfMkQ7Ci0jZW5kaWYKKyAgICBjYXNlIFRFWFRVUkVf
UkVDVEFOR0xFX0FSQjoKKyAgICAgICAgcmV0dXJuIEVHTF9URVhUVVJFX1JFQ1RBTkdMRV9BTkdM
RTsKKyAgICB9CisgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShmYWxzZSwgIkludmFsaWQgZHJhd2lu
ZyB0YXJnZXQiKTsKKyAgICByZXR1cm4gMDsKIH0KIAogYm9vbCBHcmFwaGljc0NvbnRleHRHTE9w
ZW5HTDo6bWFrZUNvbnRleHRDdXJyZW50KCkKQEAgLTU2Miw3ICs1NjQsNyBAQCBib29sIEdyYXBo
aWNzQ29udGV4dEdMT3BlbkdMOjphbGxvY2F0ZUFuZEJpbmREaXNwbGF5QnVmZmVyQmFja2luZygp
CiAgICAgICAgIEVHTF9XSURUSCwgc2l6ZS53aWR0aCgpLAogICAgICAgICBFR0xfSEVJR0hULCBz
aXplLmhlaWdodCgpLAogICAgICAgICBFR0xfSU9TVVJGQUNFX1BMQU5FX0FOR0xFLCAwLAotICAg
ICAgICBFR0xfVEVYVFVSRV9UQVJHRVQsIFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdM
OjpFR0xEcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldCgpLAorICAgICAgICBFR0xfVEVYVFVSRV9U
QVJHRVQsIEVHTERyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0Rm9yRHJhd2luZ1RhcmdldChkcmF3
aW5nQnVmZmVyVGV4dHVyZVRhcmdldCgpKSwKICAgICAgICAgRUdMX1RFWFRVUkVfSU5URVJOQUxf
Rk9STUFUX0FOR0xFLCB1c2luZ0FscGhhID8gR0xfQkdSQV9FWFQgOiBHTF9SR0IsCiAgICAgICAg
IEVHTF9URVhUVVJFX0ZPUk1BVCwgRUdMX1RFWFRVUkVfUkdCQSwKICAgICAgICAgRUdMX1RFWFRV
UkVfVFlQRV9BTkdMRSwgR0xfVU5TSUdORURfQllURSwKQEAgLTU3OSw3ICs1ODEsNyBAQCBib29s
IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjphbGxvY2F0ZUFuZEJpbmREaXNwbGF5QnVmZmVyQmFj
a2luZygpCiBib29sIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpiaW5kRGlzcGxheUJ1ZmZlckJh
Y2tpbmcoc3RkOjp1bmlxdWVfcHRyPElPU3VyZmFjZT4gYmFja2luZywgdm9pZCogcGJ1ZmZlcikK
IHsKICAgICBHQ0dMZW51bSB0ZXh0dXJlVGFyZ2V0ID0gZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJn
ZXQoKTsKLSAgICBTY29wZWRSZXN0b3JlVGV4dHVyZUJpbmRpbmcgcmVzdG9yZUJpbmRpbmcoZHJh
d2luZ0J1ZmZlclRleHR1cmVUYXJnZXRRdWVyeSgpLCB0ZXh0dXJlVGFyZ2V0LCB0ZXh0dXJlVGFy
Z2V0ICE9IFRFWFRVUkVfUkVDVEFOR0xFX0FSQik7CisgICAgU2NvcGVkUmVzdG9yZVRleHR1cmVC
aW5kaW5nIHJlc3RvcmVCaW5kaW5nKGRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0UXVlcnlGb3JE
cmF3aW5nVGFyZ2V0KGRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0KCkpLCB0ZXh0dXJlVGFyZ2V0
LCB0ZXh0dXJlVGFyZ2V0ICE9IFRFWFRVUkVfUkVDVEFOR0xFX0FSQik7CiAgICAgZ2w6OkJpbmRU
ZXh0dXJlKHRleHR1cmVUYXJnZXQsIG1fdGV4dHVyZSk7CiAgICAgaWYgKCFFR0xfQmluZFRleElt
YWdlKG1fZGlzcGxheU9iaiwgcGJ1ZmZlciwgRUdMX0JBQ0tfQlVGRkVSKSkgewogICAgICAgICBF
R0xfRGVzdHJveVN1cmZhY2UobV9kaXNwbGF5T2JqLCBwYnVmZmVyKTsKQEAgLTc0Niw3ICs3NDgs
NyBAQCBzdGQ6Om9wdGlvbmFsPFBpeGVsQnVmZmVyPiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6
cmVhZENvbXBvc2l0ZWRSZXN1bHRzKCkKICAgICAvLyB0aGUgSU9TdXJmYWNlIGJlIHVucmVmZW5j
ZWQgYWZ0ZXIgdGhlIGRyYXcgY2FsbCBmaW5pc2hlcy4KICAgICBTY29wZWRUZXh0dXJlIHRleHR1
cmU7CiAgICAgR0NHTGVudW0gdGV4dHVyZVRhcmdldCA9IGRyYXdpbmdCdWZmZXJUZXh0dXJlVGFy
Z2V0KCk7Ci0gICAgU2NvcGVkUmVzdG9yZVRleHR1cmVCaW5kaW5nIHJlc3RvcmVCaW5kaW5nKGRy
YXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0UXVlcnkoKSwgdGV4dHVyZVRhcmdldCwgdGV4dHVyZVRh
cmdldCAhPSBURVhUVVJFX1JFQ1RBTkdMRV9BUkIpOworICAgIFNjb3BlZFJlc3RvcmVUZXh0dXJl
QmluZGluZyByZXN0b3JlQmluZGluZyhkcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldFF1ZXJ5Rm9y
RHJhd2luZ1RhcmdldChkcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldCgpKSwgdGV4dHVyZVRhcmdl
dCwgdGV4dHVyZVRhcmdldCAhPSBURVhUVVJFX1JFQ1RBTkdMRV9BUkIpOwogICAgIGdsOjpCaW5k
VGV4dHVyZSh0ZXh0dXJlVGFyZ2V0LCB0ZXh0dXJlKTsKICAgICBpZiAoIUVHTF9CaW5kVGV4SW1h
Z2UobV9kaXNwbGF5T2JqLCBkaXNwbGF5QnVmZmVyLmhhbmRsZSwgRUdMX0JBQ0tfQlVGRkVSKSkK
ICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2N2L0dyYXBoaWNzQ29udGV4dEdMQ1ZBTkdMRS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jdi9HcmFwaGljc0NvbnRleHRHTENWQU5HTEUu
Y3BwCmluZGV4IDhlNzY1MDcyMGE3NGJhNzU0M2ZkZGI5NzA0YjY0MDM2MjM0Y2Y1OTEuLjhiYzYw
ZjJhN2NmYzUxMzgwYjE3OThlOGI2NmNhMDZmZTdkNGE4NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2N2L0dyYXBoaWNzQ29udGV4dEdMQ1ZBTkdMRS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3YvR3JhcGhpY3NDb250ZXh0
R0xDVkFOR0xFLmNwcApAQCAtNDc3LDcgKzQ3Nyw3IEBAIEdyYXBoaWNzQ29udGV4dEdMQ1ZBTkdM
RTo6R3JhcGhpY3NDb250ZXh0R0xDVkFOR0xFKEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMJiBvd25l
CiAgICAgICAgIEVHTF9EZXN0cm95Q29udGV4dChkaXNwbGF5LCBjb250ZXh0KTsKICAgICB9KTsK
IAotICAgIGNvbnN0IGJvb2wgdXNlVGV4dHVyZTJEID0gR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6
OmRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0KCkgPT0gR0xfVEVYVFVSRV8yRDsKKyAgICBjb25z
dCBib29sIHVzZVRleHR1cmUyRCA9IG1fb3duZXIuZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXQo
KSA9PSBHTF9URVhUVVJFXzJEOwogCiAjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShNQUND
QVRBTFlTVCkKICAgICBpZiAoIXVzZVRleHR1cmUyRCkgewpAQCAtNjIzLDcgKzYyMyw3IEBAIGJv
b2wgR3JhcGhpY3NDb250ZXh0R0xDVkFOR0xFOjpjb3B5UGl4ZWxCdWZmZXJUb1RleHR1cmUoQ1ZQ
aXhlbEJ1ZmZlclJlZiBpbWFnZSwKICAgICBhdXRvIHV2UGxhbmVXaWR0aCA9IElPU3VyZmFjZUdl
dFdpZHRoT2ZQbGFuZShzdXJmYWNlLCAxKTsKICAgICBhdXRvIHV2UGxhbmVIZWlnaHQgPSBJT1N1
cmZhY2VHZXRIZWlnaHRPZlBsYW5lKHN1cmZhY2UsIDEpOwogCi0gICAgR0xlbnVtIHZpZGVvVGV4
dHVyZVRhcmdldCA9IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpkcmF3aW5nQnVmZmVyVGV4dHVy
ZVRhcmdldCgpOworICAgIEdMZW51bSB2aWRlb1RleHR1cmVUYXJnZXQgPSBtX293bmVyLmRyYXdp
bmdCdWZmZXJUZXh0dXJlVGFyZ2V0KCk7CiAKICAgICBHTHVpbnQgdXZUZXh0dXJlID0gMDsKICAg
ICBnbDo6R2VuVGV4dHVyZXMoMSwgJnV2VGV4dHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRH
TE9wZW5HTC5oCmluZGV4IDk5NGVmMTUyMTMwNTVmMDk3YTA4ZmM5MjBiZTVlMmY2OTEzMDdlNTcu
LmJmNzYxOGM5Y2ZjNmM1ZGE3MzYyMGIxY2Y0NzVjNWZkYTZjZWZhZmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9w
ZW5HTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFw
aGljc0NvbnRleHRHTE9wZW5HTC5oCkBAIC0xMDYsMTMgKzEwNiwxMyBAQCBwdWJsaWM6CiAgICAg
UGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXllcigpIGNvbnN0IG92ZXJyaWRlOwogICAgIFBsYXRm
b3JtR3JhcGhpY3NDb250ZXh0R0xEaXNwbGF5IHBsYXRmb3JtRGlzcGxheSgpIGNvbnN0IHsgcmV0
dXJuIG1fZGlzcGxheU9iajsgfQogICAgIFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0R0xDb25maWcg
cGxhdGZvcm1Db25maWcoKSBjb25zdCB7IHJldHVybiBtX2NvbmZpZ09iajsgfQotICAgIHN0YXRp
YyBHQ0dMZW51bSBkcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldFF1ZXJ5KCk7Ci0gICAgc3RhdGlj
IEdDR0xpbnQgRUdMRHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXQoKTsKKyAgICBzdGF0aWMgR0NH
TGVudW0gZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXRRdWVyeUZvckRyYXdpbmdUYXJnZXQoR0NH
TGVudW0gZHJhd2luZ1RhcmdldCk7CisgICAgc3RhdGljIEdDR0xpbnQgRUdMRHJhd2luZ0J1ZmZl
clRleHR1cmVUYXJnZXRGb3JEcmF3aW5nVGFyZ2V0KEdDR0xlbnVtIGRyYXdpbmdUYXJnZXQpOwog
I2Vsc2UKICAgICBQbGF0Zm9ybUxheWVyKiBwbGF0Zm9ybUxheWVyKCkgY29uc3QgZmluYWw7CiAj
ZW5kaWYKICNpZiBVU0UoQU5HTEUpCi0gICAgc3RhdGljIEdDR0xlbnVtIGRyYXdpbmdCdWZmZXJU
ZXh0dXJlVGFyZ2V0KCk7CisgICAgR0NHTGVudW0gZHJhd2luZ0J1ZmZlclRleHR1cmVUYXJnZXQo
KTsKICNlbmRpZgogICAgIGVudW0gY2xhc3MgUmVsZWFzZVRocmVhZFJlc291cmNlQmVoYXZpb3Ig
ewogICAgICAgICAvLyBSZWxlYXNlcyBjdXJyZW50IGNvbnRleHQgYWZ0ZXIgR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0wgY2FsbHMgZG9uZSBpbiB0aGUgdGhyZWFkLgpAQCAtNzQ5LDYgKzc0OSw5IEBA
IHByaXZhdGU6CiAgICAgR0NHTHVpbnQgbV9wcmVzZXJ2ZURyYXdpbmdCdWZmZXJUZXh0dXJlIHsg
MCB9OwogICAgIC8vIEF0dGFjaGVzIG1fdGV4dHVyZSB3aGVuIG1fcHJlc2VydmVEcmF3aW5nQnVm
ZmVyVGV4dHVyZSBpcyBub24temVyby4KICAgICBHQ0dMdWludCBtX3ByZXNlcnZlRHJhd2luZ0J1
ZmZlckZCTyB7IDAgfTsKKyAgICAvLyBRdWVyaWVkIGF0IGRpc3BsYXkgc3RhcnR1cC4KKyAgICBF
R0xpbnQgbV9kcmF3aW5nQnVmZmVyVGV4dHVyZVRhcmdldCB7IC0xIH07CisKICNlbmRpZgogCiAg
ICAgLy8gQSBiaXRtYXNrIG9mIEdMIGJ1ZmZlciBiaXRzIChHTF9DT0xPUl9CVUZGRVJfQklULAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>