<?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>239434</bug_id>
          
          <creation_ts>2022-04-17 08:53:13 -0700</creation_ts>
          <short_desc>AX: Update the isolated tree in response to AXElementBusyChanged and AXTextChanged notifications</short_desc>
          <delta_ts>2022-04-18 20:26:26 -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>Accessibility</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="Tyler Wilcock">tyler_w</reporter>
          <assigned_to name="Tyler Wilcock">tyler_w</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1862139</commentid>
    <comment_count>0</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-04-17 08:53:13 -0700</bug_when>
    <thetext>Update the isolated tree in response to AXElementBusyChanged and AXTextChanged notifications</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862140</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-04-17 08:53:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/91862868&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862141</commentid>
    <comment_count>2</comment_count>
      <attachid>457771</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-04-17 09:00:03 -0700</bug_when>
    <thetext>Created attachment 457771
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862142</commentid>
    <comment_count>3</comment_count>
      <attachid>457771</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2022-04-17 09:05:18 -0700</bug_when>
    <thetext>Comment on attachment 457771
Patch

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

&gt; Source/WebCore/accessibility/AccessibilityNodeObject.cpp:1302
&gt; +void AccessibilityNodeObject::setElementAttributeValue(const QualifiedName&amp; attributeName, bool value)

Do we still use this for anything?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862147</commentid>
    <comment_count>4</comment_count>
      <attachid>457772</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-04-17 09:30:14 -0700</bug_when>
    <thetext>Created attachment 457772
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862148</commentid>
    <comment_count>5</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-04-17 09:30:59 -0700</bug_when>
    <thetext>&gt; &gt; Source/WebCore/accessibility/AccessibilityNodeObject.cpp:1302
&gt; &gt; +void AccessibilityNodeObject::setElementAttributeValue(const QualifiedName&amp; attributeName, bool value)
&gt; 
&gt; Do we still use this for anything?
Nope, good point! Removed the function entirely in the latest patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862150</commentid>
    <comment_count>6</comment_count>
      <attachid>457773</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-04-17 10:20:01 -0700</bug_when>
    <thetext>Created attachment 457773
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862151</commentid>
    <comment_count>7</comment_count>
      <attachid>457774</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-04-17 10:41:59 -0700</bug_when>
    <thetext>Created attachment 457774
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862303</commentid>
    <comment_count>8</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-04-18 13:14:37 -0700</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #7)
&gt; Created attachment 457774 [details]
&gt; Patch

--- a/Source/WebCore/ChangeLog
+++ a/Source/WebCore/ChangeLog

+        Tests: accessibility/accessibility-text-updates-after-dynamic-change.html

Can we call this just accessibility/text-updates-after-dynamic-change.html?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862338</commentid>
    <comment_count>9</comment_count>
      <attachid>457829</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-04-18 15:23:24 -0700</bug_when>
    <thetext>Created attachment 457829
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862411</commentid>
    <comment_count>10</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-04-18 20:20:31 -0700</bug_when>
    <thetext>&gt; +        Tests:
&gt; accessibility/accessibility-text-updates-after-dynamic-change.html
&gt; 
&gt; Can we call this just accessibility/text-updates-after-dynamic-change.html?
Good idea, fixed this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862414</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-04-18 20:26:23 -0700</bug_when>
    <thetext>Committed r293006 (249745@main): &lt;https://commits.webkit.org/249745@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 457829.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457771</attachid>
            <date>2022-04-17 09:00:03 -0700</date>
            <delta_ts>2022-04-17 10:17:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239434-20220417110002.patch</filename>
            <type>text/plain</type>
            <size>30917</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzczODExMjRmZTU4ZDJh
MTc0MDhmOTg5MmUzYjJkYzk5ZmFmMjMxYS4uNTNhMmJhNWI3NGUxYmE5MGE5MjEwNmVhNDg2NTQz
YjYyZjFjNzE0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIyLTA0LTE3ICBUeWxl
ciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFVwZGF0ZSB0aGUg
aXNvbGF0ZWQgdHJlZSBpbiByZXNwb25zZSB0byBBWEVsZW1lbnRCdXN5Q2hhbmdlZCBhbmQgQVhU
ZXh0Q2hhbmdlZCBub3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzk0MzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBXZSBuZWVkIHRvIHVwZGF0ZSB0aGUgaXNvbGF0ZWQgdHJlZSBpbiBy
ZXNwb25zZSB0byB0aGVzZSBub3RpZmljYXRpb25zLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxz
byBtYWtlcyBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdHMgKGUuZy4gZm9yIGRpc3BsYXk6Y29udGVu
dHMgZWxlbWVudHMpCisgICAgICAgIHByb3Blcmx5IHJlcG9ydCBBWENvcmVPYmplY3Q6OmlzQnVz
eSBieSBtb3ZpbmcgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QncyBpbXBsZW1lbnRhdGlvbgorICAg
ICAgICB0byBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC4gVGhpcyBhbHNvIHJlcXVpcmVkIHJlbGF0
ZWQgbWV0aG9kcyBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpzZXRFbGVtZW50QXR0cmlidXRl
VmFsdWUKKyAgICAgICAgYW5kIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmVsZW1lbnRBdHRy
aWJ1dGVWYWx1ZSB0byBtb3ZlIGFzIHdlbGwuCisKKyAgICAgICAgVGVzdHM6IGFjY2Vzc2liaWxp
dHkvYWNjZXNzaWJpbGl0eS10ZXh0LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbAor
ICAgICAgICAgICAgICAgYWNjZXNzaWJpbGl0eS9hcmlhLWJ1c3ktdXBkYXRlcy1hZnRlci1keW5h
bWljLWNoYW5nZS5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6dXBkYXRlSXNvbGF0ZWRUcmVl
KToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojppc0J1c3kgY29uc3Qp
OgorICAgICAgICBNb3ZlZCBmcm9tIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuCisgICAgICAg
IChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6c2V0RWxlbWVudEF0dHJpYnV0ZVZh
bHVlKToKKyAgICAgICAgTW92ZWQgZnJvbSBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LgorICAg
ICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmVsZW1lbnRBdHRyaWJ1dGVW
YWx1ZSBjb25zdCk6CisgICAgICAgIE1vdmVkIGZyb20gQWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Lmg6Cisg
ICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnNldEVsZW1lbnRBdHRy
aWJ1dGVWYWx1ZSk6CisgICAgICAgIE1vdmVkIHRvIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Lgor
ICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6ZWxlbWVudEF0dHJp
YnV0ZVZhbHVlIGNvbnN0KToKKyAgICAgICAgTW92ZWQgdG8gQWNjZXNzaWJpbGl0eU5vZGVPYmpl
Y3QuCisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojppc0J1c3kg
Y29uc3QpOgorICAgICAgICBNb3ZlZCB0byBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC4KKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaDoKKwogMjAyMi0w
NC0xNCAgR2FicmllbCBOYXZhIE1hcmlubyAgPGduYXZhbWFyaW5vQGFwcGxlLmNvbT4KIAogICAg
ICAgICBTY3JpcHREaXNhbGxvd2VkU2NvcGU6OmlzRXZlbnRBbGxvd2VkSW5NYWluVGhyZWFkIGFz
c2VydCBmYWlsdXJlIHdoZW4gYWN0aXZhdGluZyBBdWRpb1Nlc3Npb24KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IGZhMWU5NDNiNTIwZTlm
MjE1NTQ3MTFmMDk3NzI4ODFiNGM1YzgyYWIuLmQ0OGI0NGUwYjEyZWZlNDNjMTlhZmMxODI5YTZh
YmMwZmE4NzIyNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVj
dENhY2hlLmNwcApAQCAtMzQyMiwxMCArMzQyMiwxMiBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnVw
ZGF0ZUlzb2xhdGVkVHJlZShjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFJlZlB0cjxBWENvcmVPYmpl
YwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQVhBY3RpdmVEZXNjZW5kYW50Q2hh
bmdlZDoKICAgICAgICAgY2FzZSBBWEFyaWFSb2xlQ2hhbmdlZDoKKyAgICAgICAgY2FzZSBBWEVs
ZW1lbnRCdXN5Q2hhbmdlZDoKICAgICAgICAgY2FzZSBBWEludmFsaWRTdGF0dXNDaGFuZ2VkOgog
ICAgICAgICBjYXNlIEFYTWVudUxpc3RWYWx1ZUNoYW5nZWQ6CiAgICAgICAgIGNhc2UgQVhQcmVz
c2VkU3RhdGVDaGFuZ2VkOgogICAgICAgICBjYXNlIEFYU2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQ6
CisgICAgICAgIGNhc2UgQVhUZXh0Q2hhbmdlZDoKICAgICAgICAgY2FzZSBBWFZhbHVlQ2hhbmdl
ZDogewogICAgICAgICAgICAgYm9vbCBuZWVkc1VwZGF0ZSA9IGFwcGVuZElmTm90Q29udGFpbnNN
YXRjaGluZyhmaWx0ZXJlZE5vdGlmaWNhdGlvbnMsIG5vdGlmaWNhdGlvbiwgWyZub3RpZmljYXRp
b25dIChjb25zdCBzdGQ6OnBhaXI8UmVmUHRyPEFYQ29yZU9iamVjdD4sIEFYTm90aWZpY2F0aW9u
PiYgbm90ZSkgewogICAgICAgICAgICAgICAgIHJldHVybiBub3RlLnNlY29uZCA9PSBub3RpZmlj
YXRpb24uc2Vjb25kICYmIG5vdGUuZmlyc3QuZ2V0KCkgPT0gbm90aWZpY2F0aW9uLmZpcnN0Lmdl
dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5Tm9kZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0LmNwcAppbmRleCBkNjViM2M1NzFlYmI0ZDExNTc2ZTllMDczMDA0MmQ2
NjE0ZWQxMjY1Li5jMjFjZmJlN2UxYjI2NzQyY2ZmNmIzNGIyZmIwMWE5N2E4NjI4YWY3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2Jq
ZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlO
b2RlT2JqZWN0LmNwcApAQCAtOTkwLDYgKzk5MCwxMSBAQCBib29sIEFjY2Vzc2liaWxpdHlOb2Rl
T2JqZWN0Ojppc0xpbmsoKSBjb25zdAogICAgIHJldHVybiByb2xlVmFsdWUoKSA9PSBBY2Nlc3Np
YmlsaXR5Um9sZTo6V2ViQ29yZUxpbms7CiB9CiAKK2Jvb2wgQWNjZXNzaWJpbGl0eU5vZGVPYmpl
Y3Q6OmlzQnVzeSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGVsZW1lbnRBdHRyaWJ1dGVWYWx1ZShh
cmlhX2J1c3lBdHRyKTsKK30KKwogYm9vbCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6aXNDb250
cm9sKCkgY29uc3QKIHsKICAgICBOb2RlKiBub2RlID0gdGhpcy0+bm9kZSgpOwpAQCAtMTI5NCw2
ICsxMjk5LDIwIEBAIHZvaWQgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmNoYW5nZVZhbHVlQnlQ
ZXJjZW50KGZsb2F0IHBlcmNlbnRDaGFuZ2UpCiAgICAgc2V0Tm9kZVZhbHVlKHBlcmNlbnRDaGFu
Z2UgPiAwLCB2YWx1ZSk7CiB9CiAKK3ZvaWQgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OnNldEVs
ZW1lbnRBdHRyaWJ1dGVWYWx1ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lLCBi
b29sIHZhbHVlKQoreworICAgIGF1dG8qIG5vZGUgPSB0aGlzLT5ub2RlKCk7CisgICAgaWYgKCFp
czxFbGVtZW50Pihub2RlKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgZG93bmNhc3Q8RWxlbWVu
dD4oKm5vZGUpLnNldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lLCAodmFsdWUpID8gInRydWUiX3Mg
OiAiZmFsc2UiX3MpOworfQorCitib29sIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjplbGVtZW50
QXR0cmlidXRlVmFsdWUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgY29uc3QK
K3sKKyAgICByZXR1cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZ2V0QXR0cmlidXRl
KGF0dHJpYnV0ZU5hbWUpLCAidHJ1ZSIpOworfQorCiBib29sIEFjY2Vzc2liaWxpdHlOb2RlT2Jq
ZWN0Ojppc0dlbmVyaWNGb2N1c2FibGVFbGVtZW50KCkgY29uc3QKIHsKICAgICBpZiAoIWNhblNl
dEZvY3VzQXR0cmlidXRlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmgKaW5kZXggZjU2N2IwM2FjNDY1OWJjZDFlOGFk
ZTMzN2ZlOTVlMTRiZDYzMzJlYy4uNzYyYzk2OGI0NGNmMmZjNjQxY2Q5NzAxYzQ5MzMyMGE1YTMx
ZmU4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5Tm9kZU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU5vZGVPYmplY3QuaApAQCAtNTMsNiArNTMsNyBAQCBwdWJsaWM6CiAKICAgICBib29s
IGNhbnZhc0hhc0ZhbGxiYWNrQ29udGVudCgpIGNvbnN0IG92ZXJyaWRlOwogCisgICAgYm9vbCBp
c0J1c3koKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIGlzQ29udHJvbCgpIGNvbnN0IG92ZXJy
aWRlOwogICAgIGJvb2wgaXNGaWVsZHNldCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgaXNH
cm91cCgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtMTcwLDYgKzE3MSw5IEBAIHByb3RlY3RlZDoKICAg
ICAvLyBUaGlzIHJldHVybnMgdHJ1ZSBpZiBpdCdzIGZvY3VzYWJsZSBidXQgaXQncyBub3QgY29u
dGVudCBlZGl0YWJsZSBhbmQgaXQncyBub3QgYSBjb250cm9sIG9yIEFSSUEgY29udHJvbC4KICAg
ICBib29sIGlzR2VuZXJpY0ZvY3VzYWJsZUVsZW1lbnQoKSBjb25zdDsKIAorICAgIGJvb2wgZWxl
bWVudEF0dHJpYnV0ZVZhbHVlKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdDsKKyAgICB2b2lk
IHNldEVsZW1lbnRBdHRyaWJ1dGVWYWx1ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgYm9vbCk7CisK
ICAgICBib29sIGlzTGFiZWxhYmxlKCkgY29uc3Q7CiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCog
Y29ycmVzcG9uZGluZ0NvbnRyb2xGb3JMYWJlbEVsZW1lbnQoKSBjb25zdCBvdmVycmlkZTsKICAg
ICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JyZXNwb25kaW5nTGFiZWxGb3JDb250cm9sRWxlbWVu
dCgpIGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKaW5kZXggMDA1MGRlMTZjMGNi
ZDdmMDY1NzY5YmM1ODI2NGI2MTE2OGVkY2Q5NC4uMmYxZDYwNDIwMDZkYjBjN2U3NjU1MmM5ZWVm
NzFlYmNlMzU5ZmIzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCkBAIC0xNzc3LDI2ICsxNzc3LDYg
QEAgYm9vbCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojppc1Zpc2l0ZWQoKSBjb25zdAogICAg
IHJldHVybiBtX3JlbmRlcmVyLT5zdHlsZSgpLmlzTGluaygpICYmIG1fcmVuZGVyZXItPnN0eWxl
KCkuaW5zaWRlTGluaygpID09IEluc2lkZUxpbms6Okluc2lkZVZpc2l0ZWQ7CiB9CiAKLXZvaWQg
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6c2V0RWxlbWVudEF0dHJpYnV0ZVZhbHVlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIGJvb2wgdmFsdWUpCi17Ci0gICAgaWYgKCFt
X3JlbmRlcmVyKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgTm9kZSogbm9kZSA9IG1fcmVu
ZGVyZXItPm5vZGUoKTsKLSAgICBpZiAoIWlzPEVsZW1lbnQ+KG5vZGUpKQotICAgICAgICByZXR1
cm47Ci0gICAgCi0gICAgZG93bmNhc3Q8RWxlbWVudD4oKm5vZGUpLnNldEF0dHJpYnV0ZShhdHRy
aWJ1dGVOYW1lLCAodmFsdWUpID8gInRydWUiX3MgOiAiZmFsc2UiX3MpOwotfQotICAgIAotYm9v
bCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjplbGVtZW50QXR0cmlidXRlVmFsdWUoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgY29uc3QKLXsKLSAgICBpZiAoIW1fcmVuZGVy
ZXIpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAKLSAgICByZXR1cm4gZXF1YWxMZXR0ZXJz
SWdub3JpbmdBU0NJSUNhc2UoZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpLCAidHJ1ZSIpOwot
fQotICAgIAogYm9vbCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojppc1NlbGVjdGVkKCkgY29u
c3QKIHsKICAgICBpZiAoIW1fcmVuZGVyZXIpCkBAIC0zMzg3LDExICszMzY3LDYgQEAgYm9vbCBB
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpsaXZlUmVnaW9uQXRvbWljKCkgY29uc3QKICAgICB9
CiB9CiAKLWJvb2wgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aXNCdXN5KCkgY29uc3QKLXsK
LSAgICByZXR1cm4gZWxlbWVudEF0dHJpYnV0ZVZhbHVlKGFyaWFfYnVzeUF0dHIpOwotfQotCiBi
b29sIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmNhbkhhdmVTZWxlY3RlZENoaWxkcmVuKCkg
Y29uc3QKIHsKICAgICBzd2l0Y2ggKHJvbGVWYWx1ZSgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oCmluZGV4
IDJiMDQ1ZGEzMmM0Zjk3NzFkMDQyNDAzNDBmZWM5MmRhM2Q0MDE4MTYuLjY1NDE1NTQ4OGJiZDI1
MjMwNGNhNzI1NWZkNDIzOGFlMTM3ZDU0YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oCkBAIC0yNjYsMTUg
KzI2NiwxMSBAQCBwcml2YXRlOgogICAgIAogICAgIHZvaWQgYXJpYVNlbGVjdGVkUm93cyhBY2Nl
c3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImKTsKICAgICAKLSAgICBib29sIGVsZW1lbnRBdHRyaWJ1
dGVWYWx1ZShjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3Q7Ci0gICAgdm9pZCBzZXRFbGVtZW50
QXR0cmlidXRlVmFsdWUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGJvb2wpOwotICAgIAogICAgIE9w
dGlvblNldDxTcGVha0FzPiBzcGVha0FzUHJvcGVydHkoKSBjb25zdCBvdmVycmlkZTsKICAgICAK
ICAgICBjb25zdCBTdHJpbmcgbGl2ZVJlZ2lvblN0YXR1cygpIGNvbnN0IG92ZXJyaWRlOwogICAg
IGNvbnN0IFN0cmluZyBsaXZlUmVnaW9uUmVsZXZhbnQoKSBjb25zdCBvdmVycmlkZTsKICAgICBi
b29sIGxpdmVSZWdpb25BdG9taWMoKSBjb25zdCBvdmVycmlkZTsKLSAgICBib29sIGlzQnVzeSgp
IGNvbnN0IG92ZXJyaWRlOwogCiAgICAgYm9vbCBpbmhlcml0c1ByZXNlbnRhdGlvbmFsUm9sZSgp
IGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggMDA4ZTA5YzI4NTA2MzllYzI0ZTM5N2RhNzBmOGY5NzVkNzY1M2I5Mi4u
N2NjNTgxYWZhNjg1MjA2NDI3MjE0MjNmNzUzYTkwMjQ3ZmI1MGVjMSAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIy
LTA0LTE3ICBUeWxlciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6
IFVwZGF0ZSB0aGUgaXNvbGF0ZWQgdHJlZSBpbiByZXNwb25zZSB0byBBWEVsZW1lbnRCdXN5Q2hh
bmdlZCBhbmQgQVhUZXh0Q2hhbmdlZCBub3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk0MzQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBuZWNlc3NhcnkgdG9vbGluZyB0byBl
bmFibGUgcXVlcnlpbmcgQVggb2JqZWN0IGJ1c3kgc3RhdGUgZm9yCisgICAgICAgIHRoZSB0ZXN0
IGFkZGVkIHdpdGggdGhpcyBwYXRjaC4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnQuY3BwOgorICAgICAgICAoZ2V0SXNCdXN5Q2FsbGJhY2spOgorICAg
ICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Z2V0SlNDbGFzcyk6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tOgorICAgICAgICAoQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5IGNvbnN0KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbToKKyAgICAgICAgKEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmlzQnVzeSBjb25zdCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2lu
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6aXNCdXN5IGNvbnN0KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRs
OgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudEF0c3BpLmNwcDoKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6aXNCdXN5IGNvbnN0KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tOgorICAgICAgICAoV1RS
OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0J1c3kgY29uc3QpOgorICAgICAgICAqIFdlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMu
bW06CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQnVzeSBjb25zdCk6
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93aW4vQWNjZXNzaWJp
bGl0eVVJRWxlbWVudFdpbi5jcHA6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmlzQnVzeSBjb25zdCk6CisKIDIwMjItMDQtMTQgIEpvaG4gQ3VubmluZ2hhbSAgPGpvaG5j
dW5uaW5naGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXBsYWNlIFBhaW50Q29tcG9zaXRlZFJl
c3VsdHNUb01lZGlhU2FtcGxlIHdpdGggUGFpbnRDb21wb3NpdGVkUmVzdWx0c1RvVmlkZW9GcmFt
ZSBpbiBnZW5lcmF0ZS1ncHVwLXdlYmdsCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnQuY3BwCmluZGV4IDM4MGQ3YjZhNmFjYTdiMmJjZTU3MDMxOWFmMGY4
MmMwMzg4M2Q5YjMuLmU1NjkyNjA4YjViYTJjZjFhNmI5MDNhYjhhY2M0NzJlZDVkMjZkMWYgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3Bw
CisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCkBA
IC0xMzI3LDYgKzEzMjcsMTEgQEAgc3RhdGljIEpTVmFsdWVSZWYgZ2V0U2VsZWN0ZWRUZXh0UmFu
Z2VDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYKICAgICByZXR1cm4g
SlNWYWx1ZU1ha2VTdHJpbmcoY29udGV4dCwgc2VsZWN0ZWRUZXh0UmFuZ2UuZ2V0KCkpOwogfQog
CitzdGF0aWMgSlNWYWx1ZVJlZiBnZXRJc0J1c3lDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4
dCwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgSlNTdHJpbmdSZWYgcHJvcGVydHlOYW1lLCBKU1Zh
bHVlUmVmKiBleGNlcHRpb24pCit7CisgICAgcmV0dXJuIEpTVmFsdWVNYWtlQm9vbGVhbihjb250
ZXh0LCB0b0FYRWxlbWVudCh0aGlzT2JqZWN0KS0+aXNCdXN5KCkpOworfQorCiBzdGF0aWMgSlNW
YWx1ZVJlZiBnZXRJc0VuYWJsZWRDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmpl
Y3RSZWYgdGhpc09iamVjdCwgSlNTdHJpbmdSZWYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlUmVmKiBl
eGNlcHRpb24pCiB7CiAgICAgcmV0dXJuIEpTVmFsdWVNYWtlQm9vbGVhbihjb250ZXh0LCB0b0FY
RWxlbWVudCh0aGlzT2JqZWN0KS0+aXNFbmFibGVkKCkpOwpAQCAtMTkyNCw2ICsxOTI5LDcgQEAg
SlNDbGFzc1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpnZXRKU0NsYXNzKCkKICAgICAgICAg
eyAiY29sdW1uQ291bnQiLCBjb2x1bW5Db3VudENhbGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAg
IHsgImluc2VydGlvblBvaW50TGluZU51bWJlciIsIGdldEluc2VydGlvblBvaW50TGluZU51bWJl
ckNhbGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlB
dHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNlbGVjdGVkVGV4dFJhbmdlIiwgZ2V0
U2VsZWN0ZWRUZXh0UmFuZ2VDYWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25s
eSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgICAgICB7ICJpc0J1c3ki
LCBnZXRJc0J1c3lDYWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtK
U1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJpc0VuYWJsZWQiLCBn
ZXRJc0VuYWJsZWRDYWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtK
U1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJpc1JlcXVpcmVkIiwg
Z2V0SXNSZXF1aXJlZENhbGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwg
a0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgImlzRm9jdXNlZCIs
IGdldElzRm9jdXNlZENhbGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwg
a0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmggYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKaW5kZXggYjJlMzM2MWI4N2RmZDM0MWJlM2Y4YTdi
ZGU1NDQwOGI1ZmFhMWU3MS4uYzEyMTY5MDMzZDk5NDY1OWZjZWZiZTNkZTc5MTUwZjY5MjEyYjJi
YyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dC5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaApA
QCAtMTQ1LDYgKzE0NSw3IEBAIHB1YmxpYzoKICAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4g
dmFsdWVEZXNjcmlwdGlvbigpOwogICAgIGludCBpbnNlcnRpb25Qb2ludExpbmVOdW1iZXIoKTsK
ICAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gc2VsZWN0ZWRUZXh0UmFuZ2UoKTsKKyAgICBi
b29sIGlzQnVzeSgpIGNvbnN0OwogICAgIGJvb2wgaXNFbmFibGVkKCk7CiAgICAgYm9vbCBpc1Jl
cXVpcmVkKCkgY29uc3Q7CiAgICAgCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9p
b3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2lv
cy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tCmluZGV4IDU3MDVjN2M5ODRkYzNiZWY2OGY2
ZjQxNzlhZDVhZTljNzU0NWFkNmMuLjk1YWM3NTk5Mjc5ZTE2NGZlYjM3NjdjMDU2MjM5NTI2NWNh
OWQyZTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9BY2Nlc3NpYmlsaXR5
VUlFbGVtZW50SU9TLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50SU9TLm1tCkBAIC03NCw2ICs3NCw3IEBAIHR5cGVkZWYgdm9pZCAoKkFYUG9z
dGVkTm90aWZpY2F0aW9uQ2FsbGJhY2spKGlkIGVsZW1lbnQsIE5TU3RyaW5nKiBub3RpZmljYXRp
b24sCiAtIChOU1VJbnRlZ2VyKWFjY2Vzc2liaWxpdHlBUklBQ29sdW1uQ291bnQ7CiAtIChOU1VJ
bnRlZ2VyKWFjY2Vzc2liaWxpdHlBUklBUm93SW5kZXg7CiAtIChOU1VJbnRlZ2VyKWFjY2Vzc2li
aWxpdHlBUklBQ29sdW1uSW5kZXg7CistIChCT09MKWFjY2Vzc2liaWxpdHlBUklBSXNCdXN5Owog
LSAoVUlBY2Nlc3NpYmlsaXR5VHJhaXRzKV9heENvbnRhaW5lZEJ5RmllbGRzZXRUcmFpdDsKIC0g
KGlkKV9hY2Nlc3NpYmlsaXR5RmllbGRzZXRBbmNlc3RvcjsKIC0gKEJPT0wpX2FjY2Vzc2liaWxp
dHlIYXNUb3VjaEV2ZW50TGlzdGVuZXI7CkBAIC04NjEsNiArODYyLDExIEBAIGludCBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjppbnNlcnRpb25Qb2ludExpbmVOdW1iZXIoKQogICAgIHJldHVybiAt
MTsKIH0KIAorYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0J1c3koKSBjb25zdAorewor
ICAgIHJldHVybiBbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlBUklBSXNCdXN5XTsKK30KKwogYm9v
bCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0VuYWJsZWQoKQogewogICAgIHJldHVybiBmYWxz
ZTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50TWFjLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRNYWMubW0KaW5kZXggNjU5MzkwMzE1NmNjNTViYTg4MTdiNDExZDdkYzBlYjBiMjhkZWU1
YS4uMWJkNGYzMGZlMDBlNzkyOTQ1ZGM1MTI3MTcyOWM5MWM0MmQwMTg0ZCAxMDA2NDQKLS0tIGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0KKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0K
QEAgLTg1Miw2ICs4NTIsMTEgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3Jl
bWVudEFjdGlvblN1cHBvcnRlZCgpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmlzQnVzeSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGJvb2xBdHRy
aWJ1dGVWYWx1ZShAIkFYRWxlbWVudEJ1c3kiKTsKK30KKwogYm9vbCBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Ojppc0VuYWJsZWQoKQogewogICAgIHJldHVybiBib29sQXR0cmlidXRlVmFsdWUoTlNB
Y2Nlc3NpYmlsaXR5RW5hYmxlZEF0dHJpYnV0ZSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5jcHAgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5jcHAKaW5kZXggNDAxNjIzMTlk
YTU2OGU2M2M4NzgyNzZlZTg5MDkxNTZhYTc4MjY4Zi4uNDFhMmI2ZjA0NWI1ODE0ZDAxOTZhM2Vl
OGZkNjlmMjUxMGIxOTcwOCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dp
bi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNwcApAQCAtNTcxLDYgKzU3MSwxMiBAQCBib29s
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKCkKICAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5
KCkgY29uc3QKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50LgorICAgIHJldHVybiBmYWxzZTsK
K30KKwogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0VuYWJsZWQoKQogewogICAgIERX
T1JEIHN0YXRlID0gYWNjZXNzaWJpbGl0eVN0YXRlKG1fZWxlbWVudCk7CmRpZmYgLS1naXQgYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnQuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudC5oCmluZGV4IGZiMWE2NDZmOTQxYTQ0ZTE4NGM1ZjA0M2E1ZjYyMTZhZDUxZjRl
MWIuLjIyNmE0YTc4YjM1OTcxZjU1YmUzZGNkOGYxMjE1Yjg1OGFmYmQzNGIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxl
bWVudC5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudC5oCkBAIC0xNjYsNiArMTY2LDcgQEAgcHVibGljOgogICAgIEpTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiB2YWx1ZURlc2NyaXB0aW9uKCk7CiAgICAgaW50IGluc2VydGlv
blBvaW50TGluZU51bWJlcigpOwogICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBzZWxlY3Rl
ZFRleHRSYW5nZSgpOworICAgIGJvb2wgaXNCdXN5KCkgY29uc3Q7CiAgICAgYm9vbCBpc0VuYWJs
ZWQoKTsKICAgICBib29sIGlzUmVxdWlyZWQoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50LmlkbCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGlu
Z3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5pZGwKaW5kZXggOTAyMjU3M2M1MzFhYjcxN2NmOWUw
N2I0Y2FmMDllZWJiZmFjZmM2NS4uOWFlZGQ1YjI5OGU1ODdhYjA0ODg2NWVlMjBhZmFlOTZkYzQy
ZmNmMiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9C
aW5kaW5ncy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmlkbAorKysgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRs
CkBAIC04Miw2ICs4Miw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgbWluVmFsdWU7
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgbWF4VmFsdWU7CiAgICAgCisgICAgcmVhZG9u
bHkgYXR0cmlidXRlIGJvb2xlYW4gaXNCdXN5OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29s
ZWFuIGlzRW5hYmxlZDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc1JlcXVpcmVk
OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzRm9jdXNlZDsKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudEF0c3BpLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvYXRzcGkvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0c3BpLmNwcAppbmRleCA4OTVmMmU2OTkw
MzU3MmM2NzhjN2E2MjU3MmQyMmM3MWVkYTgxNjc5Li4wZmY0NDM2YWU3ZWY1YWNhZTQ5NmYyZjgw
NGQ5ZDA5YzdlNmJmZTViIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHAKKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50QXRzcGkuY3BwCkBAIC0xMDI1LDYgKzEwMjUsMTIgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojppc0RlY3JlbWVudEFjdGlvblN1cHBvcnRlZCgpCiAgICAgcmV0dXJuIGZhbHNl
OwogfQogCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQnVzeSgpIGNvbnN0Cit7Cisg
ICAgLy8gRklYTUU6IEltcGxlbWVudC4KKyAgICByZXR1cm4gZmFsc2UKK30KKwogYm9vbCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojppc0VuYWJsZWQoKQogewogICAgIG1fZWxlbWVudC0+dXBkYXRl
QmFja2luZ1N0b3JlKCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5t
bQppbmRleCAwYzkzM2I0ZWJhYTJkZjM2YzdjOWJlYzM0Njk4ZTA5M2FiNDRhNjdmLi4xYmU4OWM5
YWYwMThkZTAzNDU1YzZkYjMzODViYjI5OTY5Nzk0NDNlIDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9T
Lm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRJT1MubW0KQEAgLTgyLDYgKzgyLDcgQEAgdHlwZWRlZiB2b2lkICgq
QVhQb3N0ZWROb3RpZmljYXRpb25DYWxsYmFjaykoaWQgZWxlbWVudCwgTlNTdHJpbmcqIG5vdGlm
aWNhdGlvbiwKIC0gKE5TVUludGVnZXIpYWNjZXNzaWJpbGl0eUFSSUFDb2x1bW5Db3VudDsKIC0g
KE5TVUludGVnZXIpYWNjZXNzaWJpbGl0eUFSSUFSb3dJbmRleDsKIC0gKE5TVUludGVnZXIpYWNj
ZXNzaWJpbGl0eUFSSUFDb2x1bW5JbmRleDsKKy0gKEJPT0wpYWNjZXNzaWJpbGl0eUFSSUFJc0J1
c3k7CiAtIChOU1N0cmluZyAqKWFjY2Vzc2liaWxpdHlJbnZhbGlkU3RhdHVzOwogLSAoVUlBY2Nl
c3NpYmlsaXR5VHJhaXRzKV9heENvbnRhaW5lZEJ5RmllbGRzZXRUcmFpdDsKIC0gKGlkKV9hY2Nl
c3NpYmlsaXR5RmllbGRzZXRBbmNlc3RvcjsKQEAgLTYzMSw2ICs2MzIsMTEgQEAgYm9vbCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3JlbWVudEFjdGlvblN1cHBvcnRlZCgpCiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQnVzeSgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUFSSUFJc0J1c3ldOwor
fQorCiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRW5hYmxlZCgpCiB7CiAgICAgcmV0
dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0KaW5k
ZXggOTBiNDJmOTYxYjcwZGIzMzlmN2IzMGZkNmYxMDFjZDk2OTc1ZTYzMS4uYTMwYmJjMDIwMmNj
Y2Q0N2Q3MjQzZDA2Y2FjODJkYjlkNDdmNGViNCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50TWFjLm1tCkBAIC05ODIsNiArOTgyLDExIEBAIGJvb2wgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6aXNEZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKQogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAorYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0J1c3koKSBjb25zdAorewor
ICAgIHJldHVybiBib29sQXR0cmlidXRlVmFsdWUoQCJBWEVsZW1lbnRCdXN5Iik7Cit9CisKIGJv
b2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNFbmFibGVkKCkKIHsKICAgICByZXR1cm4gYm9v
bEF0dHJpYnV0ZVZhbHVlKE5TQWNjZXNzaWJpbGl0eUVuYWJsZWRBdHRyaWJ1dGUpOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93aW4vQWNjZXNzaWJp
bGl0eVVJRWxlbWVudFdpbi5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNwcAppbmRleCAxNjU1NTdkNDZkNDU3
MDI0ZjlmNmZiNzQ0MDgxMDQ2ZDQ2ZGRmYThkLi4zOTYyNTkzNWY2ODMzM2I4OWFiNTk1OTA1ZmI0
ZDcyM2E2MWJiY2NmIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNwcAorKysgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2lu
LmNwcApAQCAtNDAwLDYgKzQwMCwxMiBAQCBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omlz
RGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5KCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1l
bnRlZCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojppc0VuYWJsZWQoKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2ZkODE2
ZGM2NGNlMmZiYzliNGM4MzY4NDIwY2JmNjliZWNiNTlhMC4uMDc2YTUyNzZhNGFjMjNlMWMxZjZm
NDBkYTk4NzI0N2RkOTE3Mjk0MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIyLTA0LTE3ICBU
eWxlciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFVwZGF0ZSB0
aGUgaXNvbGF0ZWQgdHJlZSBpbiByZXNwb25zZSB0byBBWEVsZW1lbnRCdXN5Q2hhbmdlZCBhbmQg
QVhUZXh0Q2hhbmdlZCBub3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk0MzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS10ZXh0LXVw
ZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktdGV4dC11cGRhdGVzLWFmdGVyLWR5bmFtaWMt
Y2hhbmdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXJpYS1idXN5LXVw
ZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L2FyaWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgU2tpcCBhcmlhLWJ1c3ktdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sLgor
ICAgICAgICAqIHBsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICBFbmFibGUg
bmV3IHRlc3RzLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2li
aWxpdHktdGV4dC11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgIFNr
aXAgYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbC4KKwogMjAyMi0w
NC0xNCAgS2FybCBSYWNrbGVyICA8cmFja2xlckBhcHBsZS5jb20+CiAKICAgICAgICAgWyBNYWMg
XSBlZGl0aW5nL2V4ZWNDb21tYW5kL2luc2VydC1vcmRlcmVkLWxpc3QtYW5kLWRlbGV0ZS5odG1s
IGlzIGEgZmxha3kgZmFpbHVyZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9hY2Nlc3NpYmlsaXR5LXRleHQtdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktdGV4dC11cGRh
dGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZjY5NGU3
ODY2YTM0N2YzNjViYmQzMjY1MjViYTM0MmI3NjRmNWYzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LXRleHQtdXBkYXRlcy1hZnRlci1k
eW5hbWljLWNoYW5nZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAorVGhpcyB0ZXN0IGVu
c3VyZXMgb2JqZWN0IGFjY2Vzc2liaWxpdHkgdGV4dCB1cGRhdGVzIGFmdGVyIGEgZHluYW1pYyBj
aGFuZ2UgKGUuZy4gdmlhIEphdmFTY3JpcHQpLgorCitJbml0aWFsIGJ1dHRvbiBkZXNjcmlwdGlv
bnM6CisKKyNhcmlhLWxhYmVsLWJ1dHRvbiBBWERlc2NyaXB0aW9uOgorI2FyaWEtbGFiZWxsZWRi
eS1idXR0b24gQVhEZXNjcmlwdGlvbjoKKyN0aXRsZS1idXR0b24gQVhEZXNjcmlwdGlvbjoKKwor
RmluYWwgYnV0dG9uIGRlc2NyaXB0aW9uczoKKworI2FyaWEtbGFiZWwtYnV0dG9uIEFYRGVzY3Jp
cHRpb246IGFyaWEtbGFiZWwgcHJvdmlkZWQgZGVzY3JpcHRpb24KKyNhcmlhLWxhYmVsbGVkYnkt
YnV0dG9uIEFYRGVzY3JpcHRpb246IGFyaWEtbGFiZWxsZWRieSBwcm92aWRlZCBkZXNjcmlwdGlv
bgorI3RpdGxlLWJ1dHRvbiBBWERlc2NyaXB0aW9uOiB0aXRsZSBwcm92aWRlZCBkZXNjcmlwdGlv
bgorCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
ICBhcmlhLWxhYmVsbGVkYnkgcHJvdmlkZWQgZGVzY3JpcHRpb24KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS10ZXh0LXVwZGF0ZXMtYWZ0ZXItZHlu
YW1pYy1jaGFuZ2UuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0
eS10ZXh0LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMWJh
M2RiYzE1ZDlhMTNiMzcyNWRiNTA0M2RlZjU0MmEzNjA2NjAwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LXRleHQtdXBkYXRlcy1hZnRl
ci1keW5hbWljLWNoYW5nZS5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9hY2Nlc3NpYmlsaXR5LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKworPGJ1dHRvbiBpZD0iYXJpYS1sYWJlbC1idXR0b24iPjwvYnV0dG9uPgorPGJ1dHRvbiBp
ZD0iYXJpYS1sYWJlbGxlZGJ5LWJ1dHRvbiI+PC9idXR0b24+Cis8c3BhbiBpZD0ibGFiZWwiPmFy
aWEtbGFiZWxsZWRieSBwcm92aWRlZCBkZXNjcmlwdGlvbjwvc3Bhbj4KKzxidXR0b24gaWQ9InRp
dGxlLWJ1dHRvbiI+PC9idXR0b24+CisKKzxzY3JpcHQ+CisgICAgdmFyIHRlc3RPdXRwdXQgPSAi
VGhpcyB0ZXN0IGVuc3VyZXMgb2JqZWN0IGFjY2Vzc2liaWxpdHkgdGV4dCB1cGRhdGVzIGFmdGVy
IGEgZHluYW1pYyBjaGFuZ2UgKGUuZy4gdmlhIEphdmFTY3JpcHQpLlxuXG4iOworICAgIHZhciBh
cmlhTGFiZWxCdXR0b24sIGFyaWFMYWJlbGxlZEJ5QnV0dG9uLCB0aXRsZUJ1dHRvbjsKKworICAg
IGZ1bmN0aW9uIHZlcmlmeUJ1dHRvbnMoKSB7CisgICAgICAgIHRlc3RPdXRwdXQgKz0gYCNhcmlh
LWxhYmVsLWJ1dHRvbiAke2FyaWFMYWJlbEJ1dHRvbi5kZXNjcmlwdGlvbn1cbmA7CisgICAgICAg
IHRlc3RPdXRwdXQgKz0gYCNhcmlhLWxhYmVsbGVkYnktYnV0dG9uICR7YXJpYUxhYmVsbGVkQnlC
dXR0b24uZGVzY3JpcHRpb259XG5gOworICAgICAgICB0ZXN0T3V0cHV0ICs9IGAjdGl0bGUtYnV0
dG9uICR7dGl0bGVCdXR0b24uZGVzY3JpcHRpb259XG5cbmA7CisgICAgfQorCisgICAgaWYgKHdp
bmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICB3aW5kb3cuanNUZXN0SXNB
c3luYyA9IHRydWU7CisKKyAgICAgICAgYXJpYUxhYmVsQnV0dG9uID0gYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJhcmlhLWxhYmVsLWJ1dHRvbiIpOworICAg
ICAgICBhcmlhTGFiZWxsZWRCeUJ1dHRvbiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vz
c2libGVFbGVtZW50QnlJZCgiYXJpYS1sYWJlbGxlZGJ5LWJ1dHRvbiIpOworICAgICAgICB0aXRs
ZUJ1dHRvbiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgi
dGl0bGUtYnV0dG9uIik7CisgICAgICAgIHRlc3RPdXRwdXQgKz0gIkluaXRpYWwgYnV0dG9uIGRl
c2NyaXB0aW9uczpcblxuIjsKKyAgICAgICAgdmVyaWZ5QnV0dG9ucygpOworCisgICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcmlhLWxhYmVsLWJ1dHRvbiIpLmFyaWFMYWJlbCA9ICJh
cmlhLWxhYmVsIHByb3ZpZGVkIGRlc2NyaXB0aW9uIjsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImFyaWEtbGFiZWxsZWRieS1idXR0b24iKS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFi
ZWxsZWRieSIsICJsYWJlbCIpOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGl0
bGUtYnV0dG9uIikudGl0bGUgPSAidGl0bGUgcHJvdmlkZWQgZGVzY3JpcHRpb24iOworICAgICAg
ICBzZXRUaW1lb3V0KGFzeW5jIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgYXdhaXQgd2FpdEZv
cigoKSA9PiB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGFyaWFMYWJlbEJ1dHRvbi5kZXNjcmlw
dGlvbi5pbmNsdWRlcygiYXJpYS1sYWJlbCIpCisgICAgICAgICAgICAgICAgICAgICYmIGFyaWFM
YWJlbGxlZEJ5QnV0dG9uLmRlc2NyaXB0aW9uLmluY2x1ZGVzKCJhcmlhLWxhYmVsbGVkYnkiKQor
ICAgICAgICAgICAgICAgICAgICAmJiB0aXRsZUJ1dHRvbi5kZXNjcmlwdGlvbi5pbmNsdWRlcygi
dGl0bGUiKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgdGVzdE91dHB1dCArPSAiRmlu
YWwgYnV0dG9uIGRlc2NyaXB0aW9uczpcblxuIjsKKyAgICAgICAgICAgIHZlcmlmeUJ1dHRvbnMo
KTsKKworICAgICAgICAgICAgZGVidWcodGVzdE91dHB1dCk7CisgICAgICAgICAgICBmaW5pc2hK
U1Rlc3QoKTsKKyAgICAgICAgfSwgMCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWJ1c3kt
dXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2FyaWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40ZjNjNWVjMWEzYTQzNzczZTEzNTQ1NzdjZDMyY2UzMmZhZjJm
MzZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWJ1
c3ktdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwy
NCBAQAorVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBhbiBlbGVtZW50J3MgYnVzeSBzdGF0ZSB1cGRh
dGVzIGFyaWEtYnVzeSBjaGFuZ2VzLgorCitWZXJpZnlpbmcgaW5pdGlhbCBidXN5IHN0YXRlOgor
CisjY2xvY2sgaXMgYnVzeTogZmFsc2UKKyNjbG9jay1kaXNwbGF5LWNvbnRlbnRzIGlzIGJ1c3k6
IGZhbHNlCisKK1NldHRpbmcgYXJpYS1idXN5IHRvIHRydWUuCisKKyNjbG9jayBpcyBidXN5OiB0
cnVlCisjY2xvY2stZGlzcGxheS1jb250ZW50cyBpcyBidXN5OiB0cnVlCisKK1NldHRpbmcgYXJp
YS1idXN5IHRvIGZhbHNlLgorCisjY2xvY2sgaXMgYnVzeTogZmFsc2UKKyNjbG9jay1kaXNwbGF5
LWNvbnRlbnRzIGlzIGJ1c3k6IGZhbHNlCisKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisyOjMwcG0KKzQ6MzBwbQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hh
bmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtYnVzeS11cGRhdGVzLWFm
dGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGNmOTE2OGRiNGExYzcxMzViYmVk
ZWJlMTNiZjJlYTFmMmRkNmEyYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbApAQCAt
MCwwICsxLDUyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvYWNjZXNzaWJpbGl0eS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgaWQ9ImNsb2NrIiByb2xl
PSJ0aW1lciIgYXJpYS1saXZlPSJwb2xpdGUiIGFyaWEtYXRvbWljPSJ0cnVlIj4yOjMwcG08L2Rp
dj4KKzxkaXYgaWQ9ImNsb2NrLWRpc3BsYXktY29udGVudHMiIHN0eWxlPSJkaXNwbGF5OiBjb250
ZW50cyIgcm9sZT0idGltZXIiIGFyaWEtbGl2ZT0icG9saXRlIiBhcmlhLWF0b21pYz0idHJ1ZSI+
NDozMHBtPC9kaXY+CisKKzxzY3JpcHQ+CisgICAgdmFyIHRlc3RPdXRwdXQgPSAiVGhpcyB0ZXN0
IGVuc3VyZXMgdGhhdCBhbiBlbGVtZW50J3MgYnVzeSBzdGF0ZSB1cGRhdGVzIGFyaWEtYnVzeSBj
aGFuZ2VzLlxuXG4iOworCisgICAgdmFyIGF4Q2xvY2ssIGF4Q2xvY2tXaXRoRGlzcGxheUNvbnRl
bnRzOworICAgIGZ1bmN0aW9uIHZlcmlmeUVsZW1lbnRzKCkgeworICAgICAgICB0ZXN0T3V0cHV0
ICs9IGAjY2xvY2sgaXMgYnVzeTogJHtheENsb2NrLmlzQnVzeX1cbmA7CisgICAgICAgIHRlc3RP
dXRwdXQgKz0gYCNjbG9jay1kaXNwbGF5LWNvbnRlbnRzIGlzIGJ1c3k6ICR7YXhDbG9ja1dpdGhE
aXNwbGF5Q29udGVudHMuaXNCdXN5fVxuXG5gOworICAgIH0KKworICAgIGlmICh3aW5kb3cuYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0
cnVlOworICAgICAgICBheENsb2NrID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJs
ZUVsZW1lbnRCeUlkKCJjbG9jayIpOworICAgICAgICBheENsb2NrV2l0aERpc3BsYXlDb250ZW50
cyA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiY2xvY2st
ZGlzcGxheS1jb250ZW50cyIpOworCisgICAgICAgIHRlc3RPdXRwdXQgKz0gIlZlcmlmeWluZyBp
bml0aWFsIGJ1c3kgc3RhdGU6XG5cbiI7CisgICAgICAgIHZlcmlmeUVsZW1lbnRzKCk7CisKKyAg
ICAgICAgY29uc3QgY2xvY2sgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2xvY2siKTsKKyAg
ICAgICAgY29uc3QgY2xvY2tXaXRoRGlzcGxheUNvbnRlbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNsb2NrLWRpc3BsYXktY29udGVudHMiKTsKKworICAgICAgICB0ZXN0T3V0cHV0ICs9
ICJTZXR0aW5nIGFyaWEtYnVzeSB0byB0cnVlLlxuXG4iOworICAgICAgICBjbG9jay5hcmlhQnVz
eSA9ICJ0cnVlIjsKKyAgICAgICAgY2xvY2tXaXRoRGlzcGxheUNvbnRlbnRzLmFyaWFCdXN5ID0g
InRydWUiOworICAgICAgICBzZXRUaW1lb3V0KGFzeW5jIGZ1bmN0aW9uKCkgeworICAgICAgICAg
ICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7IHJldHVybiBheENsb2NrLmlzQnVzeSAmJiBheENsb2Nr
V2l0aERpc3BsYXlDb250ZW50cy5pc0J1c3kgfSk7CisgICAgICAgICAgICB2ZXJpZnlFbGVtZW50
cygpOworCisgICAgICAgICAgICB0ZXN0T3V0cHV0ICs9ICJTZXR0aW5nIGFyaWEtYnVzeSB0byBm
YWxzZS5cblxuIjsKKyAgICAgICAgICAgIGNsb2NrLmFyaWFCdXN5ID0gImZhbHNlIjsKKyAgICAg
ICAgICAgIGNsb2NrV2l0aERpc3BsYXlDb250ZW50cy5hcmlhQnVzeSA9ICJmYWxzZSI7CisgICAg
ICAgICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHsgcmV0dXJuICFheENsb2NrLmlzQnVzeSAmJiAh
YXhDbG9ja1dpdGhEaXNwbGF5Q29udGVudHMuaXNCdXN5IH0pOworICAgICAgICAgICAgdmVyaWZ5
RWxlbWVudHMoKTsKKworICAgICAgICAgICAgZGVidWcodGVzdE91dHB1dCk7CisgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfSwgMCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCAxZWIyMWMwMmYzYjM1YjdhMWMxOTdkNTM2YjM5MjkxNWQ2YzQ3YzExLi5hMmU0ZDUw
NWE2YWVjNjQ1ZDFmNDAyOGI5OGE0ODcwNTI2ZmQyNWJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zCkBAIC0zNDEsNiArMzQxLDkgQEAgYWNjZXNzaWJpbGl0
eS9hbmNlc3Rvci1jb21wdXRhdGlvbi5odG1sIFsgU2tpcCBdCiAjIE5lZWQgdG8gaW1wbGVtZW50
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRvbUlkZW50aWZpZXIoKSBmb3IgdGhpcyB0ZXN0IHRv
IHBhc3MgYWZ0ZXIgd2Via2l0Lm9yZy9iLzIzNDE5OC4KIGFjY2Vzc2liaWxpdHkvZm9jdXNhYmxl
LWRpdi5odG1sIFsgU2tpcCBdCiAKKyMgTWlzc2luZyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpp
c0J1c3kgaW1wbGVtZW50YXRpb24uCithY2Nlc3NpYmlsaXR5L2FyaWEtYnVzeS11cGRhdGVzLWFm
dGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwgWyBTa2lwIF0KKwogIyBNaXNzaW5nIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnVpRWxlbWVudEZvclNlYXJjaFByZWRpY2F0ZSBpbXBsZW1lbnRhdGlvbi4K
IGFjY2Vzc2liaWxpdHkvZGlzcGxheS1jb250ZW50cy1zZWFyY2gtdHJhdmVyc2FsLmh0bWwgWyBT
a2lwIF0KIGFjY2Vzc2liaWxpdHkvc2VhcmNoLXRyYXZlcnNhbC1hZnRlci1yb2xlLWNoYW5nZS5o
dG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IDNlMGY4ZjZiOTU5YWNiYzVjYTIzYjRjZjBmNzAyYTIxZGE1MTQ0NzkuLmIzZDU3NzUwYjk5
MjNlMjMwNjU4Nzk5MDllODMyZmI3MmYzMjMyOTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0yMDkzLDYgKzIwOTMsOCBAQCB3ZWJraXQub3JnL2IvMTQ4
ODA2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1tdWx0aWNvbC9tdWx0
aWNvbC1zcAogIyBFbmFibGUgInBob25lIG51bWJlciBsaW5raWZ5aW5nIiB0ZXN0IGZvciBpT1MK
IGZhc3QvZG9tL2xpbmtpZnktcGhvbmUtbnVtYmVycy5odG1sIFsgUGFzcyBdCiAKK2FjY2Vzc2li
aWxpdHkvYWNjZXNzaWJpbGl0eS10ZXh0LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRt
bCBbIFBhc3MgXQorYWNjZXNzaWJpbGl0eS9hcmlhLWJ1c3ktdXBkYXRlcy1hZnRlci1keW5hbWlj
LWNoYW5nZS5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L2FyaWEtaGlkZGVuLWRpc3BsYXkt
Y29udGVudHMtZWxlbWVudC5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L2FyaWEtcmVhZG9u
bHktdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmls
aXR5L2FyaWEtcmVxdWlyZWQtdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sIFsgUGFz
cyBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvYWNjZXNzaWJpbGl0eS9h
Y2Nlc3NpYmlsaXR5LXRleHQtdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5
LXRleHQtdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZmNmNmVjMWVhOGM1NGYzZGRlY2M3Mzk2OWNhYzc1MWQ2OGE1OTA3NAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxp
dHktdGV4dC11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE5IEBACitUaGlzIHRlc3QgZW5zdXJlcyBvYmplY3QgYWNjZXNzaWJpbGl0eSB0ZXh0IHVw
ZGF0ZXMgYWZ0ZXIgYSBkeW5hbWljIGNoYW5nZSAoZS5nLiB2aWEgSmF2YVNjcmlwdCkuCisKK0lu
aXRpYWwgYnV0dG9uIGRlc2NyaXB0aW9uczoKKworI2FyaWEtbGFiZWwtYnV0dG9uIEFYTGFiZWw6
CisjYXJpYS1sYWJlbGxlZGJ5LWJ1dHRvbiBBWExhYmVsOgorI3RpdGxlLWJ1dHRvbiBBWExhYmVs
OgorCitGaW5hbCBidXR0b24gZGVzY3JpcHRpb25zOgorCisjYXJpYS1sYWJlbC1idXR0b24gQVhM
YWJlbDogYXJpYS1sYWJlbCBwcm92aWRlZCBkZXNjcmlwdGlvbgorI2FyaWEtbGFiZWxsZWRieS1i
dXR0b24gQVhMYWJlbDogYXJpYS1sYWJlbGxlZGJ5IHByb3ZpZGVkIGRlc2NyaXB0aW9uCisjdGl0
bGUtYnV0dG9uIEFYTGFiZWw6IHRpdGxlIHByb3ZpZGVkIGRlc2NyaXB0aW9uCisKKworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisgIGFyaWEtbGFiZWxs
ZWRieSBwcm92aWRlZCBkZXNjcmlwdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4
cGVjdGF0aW9ucwppbmRleCBhMzAwMjk2MzQ0YjBhZGY2MGNiNDg5OTJjZGM1MWFmNzA1MzQ5ODJh
Li4yZjVmOTE4NDEzMjljMTljYmFhY2NiMzdlMzgxMjlhYzQ4ZjZhZDM4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDkyLDYgKzQ5Miw4IEBAIGFjY2Vz
c2liaWxpdHkvaWdub3JlLW1vZGFscy13aXRob3V0LWFueS1jb250ZW50Lmh0bWwgWyBTa2lwIF0K
IGFjY2Vzc2liaWxpdHkvYXJpYS1yZWFkb25seS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdl
Lmh0bWwgWyBTa2lwIF0KICMgTWlzc2luZyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1JlcXVp
cmVkIGltcGxlbWVudGF0aW9uLgogYWNjZXNzaWJpbGl0eS9hcmlhLXJlcXVpcmVkLXVwZGF0ZXMt
YWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbCBbIFNraXAgXQorIyBNaXNzaW5nIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmlzQnVzeSBpbXBsZW1lbnRhdGlvbi4KK2FjY2Vzc2liaWxpdHkvYXJpYS1i
dXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbCBbIFNraXAgXQogCiAjIFRPRE8g
Q29uaWMgZ3JhZGllbnRzCiBodHRwL3dwdC9jc3MvY3NzLWltYWdlcy00L2NvbmljLWdyYWRpZW50
LXBhcnNpbmcuaHRtbCBbIFNraXAgXQo=
</data>
<flag name="commit-queue"
          id="486461"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457772</attachid>
            <date>2022-04-17 09:30:14 -0700</date>
            <delta_ts>2022-04-17 11:20:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239434-20220417113013.patch</filename>
            <type>text/plain</type>
            <size>30385</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzczODExMjRmZTU4ZDJh
MTc0MDhmOTg5MmUzYjJkYzk5ZmFmMjMxYS4uNTc0NGJlMDc1NGVjNmQwNzM0OTUwYjExZjNiYjcy
NWNiNjg1MDhjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIyLTA0LTE3ICBUeWxl
ciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFVwZGF0ZSB0aGUg
aXNvbGF0ZWQgdHJlZSBpbiByZXNwb25zZSB0byBBWEVsZW1lbnRCdXN5Q2hhbmdlZCBhbmQgQVhU
ZXh0Q2hhbmdlZCBub3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzk0MzQKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBGbGVp
emFjaC4KKworICAgICAgICBXZSBuZWVkIHRvIHVwZGF0ZSB0aGUgaXNvbGF0ZWQgdHJlZSBpbiBy
ZXNwb25zZSB0byB0aGVzZSBub3RpZmljYXRpb25zLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxz
byBtYWtlcyBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdHMgKGUuZy4gZm9yIGRpc3BsYXk6Y29udGVu
dHMgZWxlbWVudHMpCisgICAgICAgIHByb3Blcmx5IHJlcG9ydCBBWENvcmVPYmplY3Q6OmlzQnVz
eSBieSBtb3ZpbmcgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdCdzIGltcGxlbWVudGF0aW9uCisg
ICAgICAgIHRvIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LiBUaGlzIGFsc28gcmVxdWlyZWQgQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6ZWxlbWVudEF0dHJpYnV0ZVZhbHVlCisgICAgICAgIHRv
IG1vdmUgYXMgd2VsbC4KKworICAgICAgICBUZXN0czogYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmls
aXR5LXRleHQtdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sCisgICAgICAgICAgICAg
ICBhY2Nlc3NpYmlsaXR5L2FyaWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0
bWwKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjp1cGRhdGVJc29sYXRlZFRyZWUpOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmlzQnVzeSBjb25zdCk6CisgICAgICAgIE1v
dmVkIGZyb20gQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlOb2RlT2JqZWN0OjplbGVtZW50QXR0cmlidXRlVmFsdWUgY29uc3QpOgorICAg
ICAgICBNb3ZlZCBmcm9tIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuCisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5oOgorICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpB
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpzZXRFbGVtZW50QXR0cmlidXRlVmFsdWUpOgorICAg
ICAgICBEZWxldGUgdGhpcyBtZXRob2QgYXMgaXQgd2FzIHVudXNlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmVsZW1lbnRBdHRyaWJ1dGVWYWx1ZSBjb25z
dCk6CisgICAgICAgIE1vdmVkIHRvIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LgorICAgICAgICAo
V2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aXNCdXN5IGNvbnN0KToKKyAgICAg
ICAgTW92ZWQgdG8gQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuCisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Lmg6CisKIDIwMjItMDQtMTQgIEdhYnJpZWwg
TmF2YSBNYXJpbm8gIDxnbmF2YW1hcmlub0BhcHBsZS5jb20+CiAKICAgICAgICAgU2NyaXB0RGlz
YWxsb3dlZFNjb3BlOjppc0V2ZW50QWxsb3dlZEluTWFpblRocmVhZCBhc3NlcnQgZmFpbHVyZSB3
aGVuIGFjdGl2YXRpbmcgQXVkaW9TZXNzaW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCBmYTFlOTQzYjUyMGU5ZjIxNTU0NzExZjA5Nzcy
ODgxYjRjNWM4MmFiLi5kNDhiNDRlMGIxMmVmZTQzYzE5YWZjMTgyOWE2YWJjMGZhODcyMjZiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKQEAg
LTM0MjIsMTAgKzM0MjIsMTIgQEAgdm9pZCBBWE9iamVjdENhY2hlOjp1cGRhdGVJc29sYXRlZFRy
ZWUoY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxSZWZQdHI8QVhDb3JlT2JqZWMKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBjYXNlIEFYQWN0aXZlRGVzY2VuZGFudENoYW5nZWQ6CiAgICAgICAg
IGNhc2UgQVhBcmlhUm9sZUNoYW5nZWQ6CisgICAgICAgIGNhc2UgQVhFbGVtZW50QnVzeUNoYW5n
ZWQ6CiAgICAgICAgIGNhc2UgQVhJbnZhbGlkU3RhdHVzQ2hhbmdlZDoKICAgICAgICAgY2FzZSBB
WE1lbnVMaXN0VmFsdWVDaGFuZ2VkOgogICAgICAgICBjYXNlIEFYUHJlc3NlZFN0YXRlQ2hhbmdl
ZDoKICAgICAgICAgY2FzZSBBWFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOgorICAgICAgICBjYXNl
IEFYVGV4dENoYW5nZWQ6CiAgICAgICAgIGNhc2UgQVhWYWx1ZUNoYW5nZWQ6IHsKICAgICAgICAg
ICAgIGJvb2wgbmVlZHNVcGRhdGUgPSBhcHBlbmRJZk5vdENvbnRhaW5zTWF0Y2hpbmcoZmlsdGVy
ZWROb3RpZmljYXRpb25zLCBub3RpZmljYXRpb24sIFsmbm90aWZpY2F0aW9uXSAoY29uc3Qgc3Rk
OjpwYWlyPFJlZlB0cjxBWENvcmVPYmplY3Q+LCBBWE5vdGlmaWNhdGlvbj4mIG5vdGUpIHsKICAg
ICAgICAgICAgICAgICByZXR1cm4gbm90ZS5zZWNvbmQgPT0gbm90aWZpY2F0aW9uLnNlY29uZCAm
JiBub3RlLmZpcnN0LmdldCgpID09IG5vdGlmaWNhdGlvbi5maXJzdC5nZXQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVj
dC5jcHAKaW5kZXggZDY1YjNjNTcxZWJiNGQxMTU3NmU5ZTA3MzAwNDJkNjYxNGVkMTI2NS4uYjI4
ZTk5OTdhZDNlMTA0MzNhOTljMDA4ZGQ5MDNhYmY5MmFlYWQ3ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAK
QEAgLTk5MCw2ICs5OTAsMTEgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6aXNMaW5r
KCkgY29uc3QKICAgICByZXR1cm4gcm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6Oldl
YkNvcmVMaW5rOwogfQogCitib29sIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojppc0J1c3koKSBj
b25zdAoreworICAgIHJldHVybiBlbGVtZW50QXR0cmlidXRlVmFsdWUoYXJpYV9idXN5QXR0cik7
Cit9CisKIGJvb2wgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmlzQ29udHJvbCgpIGNvbnN0CiB7
CiAgICAgTm9kZSogbm9kZSA9IHRoaXMtPm5vZGUoKTsKQEAgLTEyOTQsNiArMTI5OSwxMSBAQCB2
b2lkIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjpjaGFuZ2VWYWx1ZUJ5UGVyY2VudChmbG9hdCBw
ZXJjZW50Q2hhbmdlKQogICAgIHNldE5vZGVWYWx1ZShwZXJjZW50Q2hhbmdlID4gMCwgdmFsdWUp
OwogfQogCitib29sIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjplbGVtZW50QXR0cmlidXRlVmFs
dWUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgY29uc3QKK3sKKyAgICByZXR1
cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5h
bWUpLCAidHJ1ZSIpOworfQorCiBib29sIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojppc0dlbmVy
aWNGb2N1c2FibGVFbGVtZW50KCkgY29uc3QKIHsKICAgICBpZiAoIWNhblNldEZvY3VzQXR0cmli
dXRlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0LmgKaW5kZXggZjU2N2IwM2FjNDY1OWJjZDFlOGFkZTMzN2ZlOTVlMTRi
ZDYzMzJlYy4uZTBiZDg4MjYzZTFiODk4MGJmOTZkMzYwOTZjNzdkNzAwMzhlOGY0NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVj
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVP
YmplY3QuaApAQCAtNTMsNiArNTMsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGNhbnZhc0hhc0Zh
bGxiYWNrQ29udGVudCgpIGNvbnN0IG92ZXJyaWRlOwogCisgICAgYm9vbCBpc0J1c3koKSBjb25z
dCBvdmVycmlkZTsKICAgICBib29sIGlzQ29udHJvbCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJv
b2wgaXNGaWVsZHNldCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgaXNHcm91cCgpIGNvbnN0
IG92ZXJyaWRlOwpAQCAtMTcwLDYgKzE3MSw4IEBAIHByb3RlY3RlZDoKICAgICAvLyBUaGlzIHJl
dHVybnMgdHJ1ZSBpZiBpdCdzIGZvY3VzYWJsZSBidXQgaXQncyBub3QgY29udGVudCBlZGl0YWJs
ZSBhbmQgaXQncyBub3QgYSBjb250cm9sIG9yIEFSSUEgY29udHJvbC4KICAgICBib29sIGlzR2Vu
ZXJpY0ZvY3VzYWJsZUVsZW1lbnQoKSBjb25zdDsKIAorICAgIGJvb2wgZWxlbWVudEF0dHJpYnV0
ZVZhbHVlKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdDsKKwogICAgIGJvb2wgaXNMYWJlbGFi
bGUoKSBjb25zdDsKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JyZXNwb25kaW5nQ29udHJv
bEZvckxhYmVsRWxlbWVudCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIEFjY2Vzc2liaWxpdHlPYmpl
Y3QqIGNvcnJlc3BvbmRpbmdMYWJlbEZvckNvbnRyb2xFbGVtZW50KCkgY29uc3Qgb3ZlcnJpZGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCAwMDUwZGUxNmMwY2JkN2YwNjU3NjliYzU4MjY0YjYx
MTY4ZWRjZDk0Li4yZjFkNjA0MjAwNmRiMGM3ZTc2NTUyYzllZWY3MWViY2UzNTlmYjNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAKQEAgLTE3NzcsMjYgKzE3NzcsNiBAQCBib29sIEFjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3Q6OmlzVmlzaXRlZCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcmVuZGVyZXIt
PnN0eWxlKCkuaXNMaW5rKCkgJiYgbV9yZW5kZXJlci0+c3R5bGUoKS5pbnNpZGVMaW5rKCkgPT0g
SW5zaWRlTGluazo6SW5zaWRlVmlzaXRlZDsKIH0KIAotdm9pZCBBY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0OjpzZXRFbGVtZW50QXR0cmlidXRlVmFsdWUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0
cmlidXRlTmFtZSwgYm9vbCB2YWx1ZSkKLXsKLSAgICBpZiAoIW1fcmVuZGVyZXIpCi0gICAgICAg
IHJldHVybjsKLSAgICAKLSAgICBOb2RlKiBub2RlID0gbV9yZW5kZXJlci0+bm9kZSgpOwotICAg
IGlmICghaXM8RWxlbWVudD4obm9kZSkpCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBkb3du
Y2FzdDxFbGVtZW50Pigqbm9kZSkuc2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUsICh2YWx1ZSkg
PyAidHJ1ZSJfcyA6ICJmYWxzZSJfcyk7Ci19Ci0gICAgCi1ib29sIEFjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3Q6OmVsZW1lbnRBdHRyaWJ1dGVWYWx1ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRy
aWJ1dGVOYW1lKSBjb25zdAotewotICAgIGlmICghbV9yZW5kZXJlcikKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIAotICAgIHJldHVybiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShn
ZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSksICJ0cnVlIik7Ci19Ci0gICAgCiBib29sIEFjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3Q6OmlzU2VsZWN0ZWQoKSBjb25zdAogewogICAgIGlmICghbV9y
ZW5kZXJlcikKQEAgLTMzODcsMTEgKzMzNjcsNiBAQCBib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3Q6OmxpdmVSZWdpb25BdG9taWMoKSBjb25zdAogICAgIH0KIH0KIAotYm9vbCBBY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0Ojppc0J1c3koKSBjb25zdAotewotICAgIHJldHVybiBlbGVtZW50
QXR0cmlidXRlVmFsdWUoYXJpYV9idXN5QXR0cik7Ci19Ci0KIGJvb2wgQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdDo6Y2FuSGF2ZVNlbGVjdGVkQ2hpbGRyZW4oKSBjb25zdAogewogICAgIHN3aXRj
aCAocm9sZVZhbHVlKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgKaW5kZXggMmIwNDVkYTMyYzRmOTc3MWQw
NDI0MDM0MGZlYzkyZGEzZDQwMTgxNi4uNjU0MTU1NDg4YmJkMjUyMzA0Y2E3MjU1ZmQ0MjM4YWUx
MzdkNTRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgKQEAgLTI2NiwxNSArMjY2LDExIEBAIHByaXZhdGU6
CiAgICAgCiAgICAgdm9pZCBhcmlhU2VsZWN0ZWRSb3dzKEFjY2Vzc2liaWxpdHlDaGlsZHJlblZl
Y3RvciYpOwogICAgIAotICAgIGJvb2wgZWxlbWVudEF0dHJpYnV0ZVZhbHVlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmKSBjb25zdDsKLSAgICB2b2lkIHNldEVsZW1lbnRBdHRyaWJ1dGVWYWx1ZShjb25z
dCBRdWFsaWZpZWROYW1lJiwgYm9vbCk7Ci0gICAgCiAgICAgT3B0aW9uU2V0PFNwZWFrQXM+IHNw
ZWFrQXNQcm9wZXJ0eSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIAogICAgIGNvbnN0IFN0cmluZyBs
aXZlUmVnaW9uU3RhdHVzKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgY29uc3QgU3RyaW5nIGxpdmVS
ZWdpb25SZWxldmFudCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgbGl2ZVJlZ2lvbkF0b21p
YygpIGNvbnN0IG92ZXJyaWRlOwotICAgIGJvb2wgaXNCdXN5KCkgY29uc3Qgb3ZlcnJpZGU7CiAK
ICAgICBib29sIGluaGVyaXRzUHJlc2VudGF0aW9uYWxSb2xlKCkgY29uc3Qgb3ZlcnJpZGU7CiAK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwMDhl
MDljMjg1MDYzOWVjMjRlMzk3ZGE3MGY4Zjk3NWQ3NjUzYjkyLi5mYjc4YWUzZWI0NjliYmI3ZTkz
ZDE3YjY5ZDQxYjI2ODY5MzNkYzA5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjItMDQtMTcgIFR5bGVyIFdpbGNv
Y2sgIDx0eWxlcl93QGFwcGxlLmNvbT4KKworICAgICAgICBBWDogVXBkYXRlIHRoZSBpc29sYXRl
ZCB0cmVlIGluIHJlc3BvbnNlIHRvIEFYRWxlbWVudEJ1c3lDaGFuZ2VkIGFuZCBBWFRleHRDaGFu
Z2VkIG5vdGlmaWNhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzOTQzNAorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIEZsZWl6YWNoLgor
CisgICAgICAgIEFkZGVkIG5lY2Vzc2FyeSB0b29saW5nIHRvIGVuYWJsZSBxdWVyeWluZyBBWCBv
YmplY3QgYnVzeSBzdGF0ZSBmb3IKKyAgICAgICAgdGhlIHRlc3QgYWRkZWQgd2l0aCB0aGlzIHBh
dGNoLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5j
cHA6CisgICAgICAgIChnZXRJc0J1c3lDYWxsYmFjayk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpnZXRKU0NsYXNzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Lmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvaW9zL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnRJT1MubW06CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpp
c0J1c3kgY29uc3QpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5
VUlFbGVtZW50TWFjLm1tOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5
IGNvbnN0KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxl
bWVudFdpbi5jcHA6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0J1c3kgY29u
c3QpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudC5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5pZGw6CisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRz
cGkuY3BwOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0J1c3kgY29u
c3QpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRJT1MubW06CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmlzQnVzeSBjb25zdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbToKKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5IGNvbnN0KToKKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNw
cDoKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5IGNvbnN0KToK
KwogMjAyMi0wNC0xNCAgSm9obiBDdW5uaW5naGFtICA8am9obmN1bm5pbmdoYW1AYXBwbGUuY29t
PgogCiAgICAgICAgIFJlcGxhY2UgUGFpbnRDb21wb3NpdGVkUmVzdWx0c1RvTWVkaWFTYW1wbGUg
d2l0aCBQYWludENvbXBvc2l0ZWRSZXN1bHRzVG9WaWRlb0ZyYW1lIGluIGdlbmVyYXRlLWdwdXAt
d2ViZ2wKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5j
cHAKaW5kZXggMzgwZDdiNmE2YWNhN2IyYmNlNTcwMzE5YWYwZjgyYzAzODgzZDliMy4uZTU2OTI2
MDhiNWJhMmNmMWE2YjkwM2FiOGFjYzQ3MmVkNWQyNmQxZiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAKQEAgLTEzMjcsNiArMTMyNywxMSBA
QCBzdGF0aWMgSlNWYWx1ZVJlZiBnZXRTZWxlY3RlZFRleHRSYW5nZUNhbGxiYWNrKEpTQ29udGV4
dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZgogICAgIHJldHVybiBKU1ZhbHVlTWFrZVN0cmluZyhj
b250ZXh0LCBzZWxlY3RlZFRleHRSYW5nZS5nZXQoKSk7CiB9CiAKK3N0YXRpYyBKU1ZhbHVlUmVm
IGdldElzQnVzeUNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB0aGlz
T2JqZWN0LCBKU1N0cmluZ1JlZiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikK
K3sKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VCb29sZWFuKGNvbnRleHQsIHRvQVhFbGVtZW50KHRo
aXNPYmplY3QpLT5pc0J1c3koKSk7Cit9CisKIHN0YXRpYyBKU1ZhbHVlUmVmIGdldElzRW5hYmxl
ZENhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBK
U1N0cmluZ1JlZiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKIHsKICAgICBy
ZXR1cm4gSlNWYWx1ZU1ha2VCb29sZWFuKGNvbnRleHQsIHRvQVhFbGVtZW50KHRoaXNPYmplY3Qp
LT5pc0VuYWJsZWQoKSk7CkBAIC0xOTI0LDYgKzE5MjksNyBAQCBKU0NsYXNzUmVmIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmdldEpTQ2xhc3MoKQogICAgICAgICB7ICJjb2x1bW5Db3VudCIsIGNv
bHVtbkNvdW50Q2FsbGJhY2ssIDAsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAiaW5zZXJ0aW9uUG9pbnRM
aW5lTnVtYmVyIiwgZ2V0SW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyQ2FsbGJhY2ssIDAsIGtKU1By
b3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUg
fSwKICAgICAgICAgeyAic2VsZWN0ZWRUZXh0UmFuZ2UiLCBnZXRTZWxlY3RlZFRleHRSYW5nZUNh
bGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRy
aWJ1dGVEb250RGVsZXRlIH0sCisgICAgICAgIHsgImlzQnVzeSIsIGdldElzQnVzeUNhbGxiYWNr
LCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVE
b250RGVsZXRlIH0sCiAgICAgICAgIHsgImlzRW5hYmxlZCIsIGdldElzRW5hYmxlZENhbGxiYWNr
LCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVE
b250RGVsZXRlIH0sCiAgICAgICAgIHsgImlzUmVxdWlyZWQiLCBnZXRJc1JlcXVpcmVkQ2FsbGJh
Y2ssIDAsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAiaXNGb2N1c2VkIiwgZ2V0SXNGb2N1c2VkQ2FsbGJh
Y2ssIDAsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZURvbnREZWxldGUgfSwKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnQuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQuaAppbmRleCBiMmUzMzYxYjg3ZGZkMzQxYmUzZjhhN2JkZTU0NDA4YjVmYWExZTcxLi5j
MTIxNjkwMzNkOTk0NjU5ZmNlZmJlM2RlNzkxNTBmNjkyMTJiMmJjIDEwMDY0NAotLS0gYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCkBAIC0xNDUsNiArMTQ1LDcgQEAg
cHVibGljOgogICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiB2YWx1ZURlc2NyaXB0aW9uKCk7
CiAgICAgaW50IGluc2VydGlvblBvaW50TGluZU51bWJlcigpOwogICAgIEpTUmV0YWluUHRyPEpT
U3RyaW5nUmVmPiBzZWxlY3RlZFRleHRSYW5nZSgpOworICAgIGJvb2wgaXNCdXN5KCkgY29uc3Q7
CiAgICAgYm9vbCBpc0VuYWJsZWQoKTsKICAgICBib29sIGlzUmVxdWlyZWQoKSBjb25zdDsKICAg
ICAKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50SU9TLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRJT1MubW0KaW5kZXggNTcwNWM3Yzk4NGRjM2JlZjY4ZjZmNDE3OWFkNWFlOWM3NTQ1YWQ2
Yy4uOTVhYzc1OTkyNzllMTY0ZmViMzc2N2MwNTYyMzk1MjY1Y2E5ZDJlNyAxMDA2NDQKLS0tIGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0KKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0K
QEAgLTc0LDYgKzc0LDcgQEAgdHlwZWRlZiB2b2lkICgqQVhQb3N0ZWROb3RpZmljYXRpb25DYWxs
YmFjaykoaWQgZWxlbWVudCwgTlNTdHJpbmcqIG5vdGlmaWNhdGlvbiwKIC0gKE5TVUludGVnZXIp
YWNjZXNzaWJpbGl0eUFSSUFDb2x1bW5Db3VudDsKIC0gKE5TVUludGVnZXIpYWNjZXNzaWJpbGl0
eUFSSUFSb3dJbmRleDsKIC0gKE5TVUludGVnZXIpYWNjZXNzaWJpbGl0eUFSSUFDb2x1bW5JbmRl
eDsKKy0gKEJPT0wpYWNjZXNzaWJpbGl0eUFSSUFJc0J1c3k7CiAtIChVSUFjY2Vzc2liaWxpdHlU
cmFpdHMpX2F4Q29udGFpbmVkQnlGaWVsZHNldFRyYWl0OwogLSAoaWQpX2FjY2Vzc2liaWxpdHlG
aWVsZHNldEFuY2VzdG9yOwogLSAoQk9PTClfYWNjZXNzaWJpbGl0eUhhc1RvdWNoRXZlbnRMaXN0
ZW5lcjsKQEAgLTg2MSw2ICs4NjIsMTEgQEAgaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omlu
c2VydGlvblBvaW50TGluZU51bWJlcigpCiAgICAgcmV0dXJuIC0xOwogfQogCitib29sIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmlzQnVzeSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFttX2VsZW1l
bnQgYWNjZXNzaWJpbGl0eUFSSUFJc0J1c3ldOworfQorCiBib29sIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmlzRW5hYmxlZCgpCiB7CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0gYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQppbmRleCA2
NTkzOTAzMTU2Y2M1NWJhODgxN2I0MTFkN2RjMGViMGIyOGRlZTVhLi4xYmQ0ZjMwZmUwMGU3OTI5
NDVkYzUxMjcxNzI5YzkxYzQyZDAxODRkIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQpAQCAtODUyLDYgKzg1MiwxMSBA
QCBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVk
KCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
aXNCdXN5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEAiQVhFbGVt
ZW50QnVzeSIpOworfQorCiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRW5hYmxlZCgp
CiB7CiAgICAgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1ZShOU0FjY2Vzc2liaWxpdHlFbmFibGVk
QXR0cmlidXRlKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50V2luLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50V2luLmNwcAppbmRleCA0MDE2MjMxOWRhNTY4ZTYzYzg3ODI3NmVlODkw
OTE1NmFhNzgyNjhmLi40MWEyYjZmMDQ1YjU4MTRkMDE5NmEzZWU4ZmQ2OWYyNTEwYjE5NzA4IDEw
MDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dFdpbi5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRXaW4uY3BwCkBAIC01NzEsNiArNTcxLDEyIEBAIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6aXNEZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKQogICAgIHJldHVybiBmYWxzZTsKIH0K
IAorYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0J1c3koKSBjb25zdAoreworICAgIC8v
IEZJWE1FOiBJbXBsZW1lbnQuCisgICAgcmV0dXJuIGZhbHNlOworfQorCiBib29sIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmlzRW5hYmxlZCgpCiB7CiAgICAgRFdPUkQgc3RhdGUgPSBhY2Nlc3Np
YmlsaXR5U3RhdGUobV9lbGVtZW50KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKaW5kZXgg
ZmIxYTY0NmY5NDFhNDRlMTg0YzVmMDQzYTVmNjIxNmFkNTFmNGUxYi4uMjI2YTRhNzhiMzU5NzFm
NTViZTNkY2Q4ZjEyMTViODU4YWZiZDM0YiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgK
QEAgLTE2Niw2ICsxNjYsNyBAQCBwdWJsaWM6CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IHZhbHVlRGVzY3JpcHRpb24oKTsKICAgICBpbnQgaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyKCk7
CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHNlbGVjdGVkVGV4dFJhbmdlKCk7CisgICAg
Ym9vbCBpc0J1c3koKSBjb25zdDsKICAgICBib29sIGlzRW5hYmxlZCgpOwogICAgIGJvb2wgaXNS
ZXF1aXJlZCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50LmlkbAppbmRleCA5MDIyNTczYzUzMWFiNzE3Y2Y5ZTA3YjRjYWYwOWVlYmJmYWNmYzY1
Li45YWVkZDViMjk4ZTU4N2FiMDQ4ODY1ZWUyMGFmYWU5NmRjNDJmY2YyIDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxp
dHlVSUVsZW1lbnQuaWRsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5pZGwKQEAgLTgyLDYgKzgyLDcgQEAK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBtaW5WYWx1ZTsKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgbG9uZyBtYXhWYWx1ZTsKICAgICAKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVh
biBpc0J1c3k7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNFbmFibGVkOwogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzUmVxdWlyZWQ7CiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGJvb2xlYW4gaXNGb2N1c2VkOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRzcGkuY3Bw
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50QXRzcGkuY3BwCmluZGV4IDg5NWYyZTY5OTAzNTcyYzY3OGM3YTYyNTcyZDIy
YzcxZWRhODE2NzkuLjBmZjQ0MzZhZTdlZjVhY2FlNDk2ZjJmODA0ZDlkMDljN2U2YmZlNWIgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudEF0c3BpLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHAKQEAg
LTEwMjUsNiArMTAyNSwxMiBAQCBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVt
ZW50QWN0aW9uU3VwcG9ydGVkKCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5KCkgY29uc3QKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVt
ZW50LgorICAgIHJldHVybiBmYWxzZQorfQorCiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmlzRW5hYmxlZCgpCiB7CiAgICAgbV9lbGVtZW50LT51cGRhdGVCYWNraW5nU3RvcmUoKTsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRJT1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tCmluZGV4IDBjOTMzYjRlYmFh
MmRmMzZjN2M5YmVjMzQ2OThlMDkzYWI0NGE2N2YuLjFiZTg5YzlhZjAxOGRlMDM0NTVjNmRiMzM4
NWJiMjk5Njk3OTQ0M2UgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0KKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElP
Uy5tbQpAQCAtODIsNiArODIsNyBAQCB0eXBlZGVmIHZvaWQgKCpBWFBvc3RlZE5vdGlmaWNhdGlv
bkNhbGxiYWNrKShpZCBlbGVtZW50LCBOU1N0cmluZyogbm90aWZpY2F0aW9uLAogLSAoTlNVSW50
ZWdlcilhY2Nlc3NpYmlsaXR5QVJJQUNvbHVtbkNvdW50OwogLSAoTlNVSW50ZWdlcilhY2Nlc3Np
YmlsaXR5QVJJQVJvd0luZGV4OwogLSAoTlNVSW50ZWdlcilhY2Nlc3NpYmlsaXR5QVJJQUNvbHVt
bkluZGV4OworLSAoQk9PTClhY2Nlc3NpYmlsaXR5QVJJQUlzQnVzeTsKIC0gKE5TU3RyaW5nICop
YWNjZXNzaWJpbGl0eUludmFsaWRTdGF0dXM7CiAtIChVSUFjY2Vzc2liaWxpdHlUcmFpdHMpX2F4
Q29udGFpbmVkQnlGaWVsZHNldFRyYWl0OwogLSAoaWQpX2FjY2Vzc2liaWxpdHlGaWVsZHNldEFu
Y2VzdG9yOwpAQCAtNjMxLDYgKzYzMiwxMSBAQCBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jv
b2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5KCkgY29uc3QKK3sKKyAgICByZXR1cm4g
W21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5QVJJQUlzQnVzeV07Cit9CisKIGJvb2wgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6aXNFbmFibGVkKCkKIHsKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50TWFjLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQppbmRleCA5MGI0MmY5NjFiNzBkYjMz
OWY3YjMwZmQ2ZjEwMWNkOTY5NzVlNjMxLi5hMzBiYmMwMjAyY2NjZDQ3ZDcyNDNkMDZjYWM4MmRi
OWQ0N2Y0ZWI0IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0K
QEAgLTk4Miw2ICs5ODIsMTEgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3Jl
bWVudEFjdGlvblN1cHBvcnRlZCgpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmlzQnVzeSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGJvb2xBdHRy
aWJ1dGVWYWx1ZShAIkFYRWxlbWVudEJ1c3kiKTsKK30KKwogYm9vbCBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Ojppc0VuYWJsZWQoKQogewogICAgIHJldHVybiBib29sQXR0cmlidXRlVmFsdWUoTlNB
Y2Nlc3NpYmlsaXR5RW5hYmxlZEF0dHJpYnV0ZSk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNw
cCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd2luL0FjY2Vzc2liaWxp
dHlVSUVsZW1lbnRXaW4uY3BwCmluZGV4IDE2NTU1N2Q0NmQ0NTcwMjRmOWY2ZmI3NDQwODEwNDZk
NDZkZGZhOGQuLjM5NjI1OTM1ZjY4MzMzYjg5YWI1OTU5MDVmYjRkNzIzYTYxYmJjY2YgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd2luL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnRXaW4uY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwCkBAIC00MDAsNiArNDAw
LDEyIEBAIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNEZWNyZW1lbnRBY3Rpb25TdXBw
b3J0ZWQoKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojppc0J1c3koKSBjb25zdAoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJu
IGZhbHNlOworfQorCiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRW5hYmxlZCgpCiB7
CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjZmQ4MTZkYzY0Y2UyZmJjOWI0YzgzNjg0
MjBjYmY2OWJlY2I1OWEwLi4xYjZhZTMwZDk4MTZlNjhmZjE1MGFjNzFiYTU2NDU3NjhhODUzYmMw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjItMDQtMTcgIFR5bGVyIFdpbGNvY2sgIDx0eWxl
cl93QGFwcGxlLmNvbT4KKworICAgICAgICBBWDogVXBkYXRlIHRoZSBpc29sYXRlZCB0cmVlIGlu
IHJlc3BvbnNlIHRvIEFYRWxlbWVudEJ1c3lDaGFuZ2VkIGFuZCBBWFRleHRDaGFuZ2VkIG5vdGlm
aWNhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzOTQzNAorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIEZsZWl6YWNoLgorCisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LXRleHQtdXBkYXRlcy1hZnRlci1keW5hbWlj
LWNoYW5nZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYWNj
ZXNzaWJpbGl0eS10ZXh0LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbDogQWRkZWQu
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hcmlhLWJ1c3ktdXBkYXRlcy1hZnRlci1keW5hbWlj
LWNoYW5nZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXJp
YS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICBTa2lwIGFyaWEtYnVz
eS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwuCisgICAgICAgICogcGxhdGZvcm0v
aW9zL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgIEVuYWJsZSBuZXcgdGVzdHMuCisgICAgICAg
ICogcGxhdGZvcm0vaW9zL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS10ZXh0LXVwZGF0ZXMt
YWZ0ZXItZHluYW1pYy1jaGFuZ2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgU2tpcCBhcmlhLWJ1c3ktdXBkYXRl
cy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sLgorCiAyMDIyLTA0LTE0ICBLYXJsIFJhY2tsZXIg
IDxyYWNrbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBbIE1hYyBdIGVkaXRpbmcvZXhlY0NvbW1h
bmQvaW5zZXJ0LW9yZGVyZWQtbGlzdC1hbmQtZGVsZXRlLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktdGV4
dC11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS10ZXh0LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1j
aGFuZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmNjk0ZTc4NjZhMzQ3ZjM2NWJiZDMyNjUy
NWJhMzQyYjc2NGY1ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2FjY2Vzc2liaWxpdHktdGV4dC11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE5IEBACitUaGlzIHRlc3QgZW5zdXJlcyBvYmplY3QgYWNjZXNz
aWJpbGl0eSB0ZXh0IHVwZGF0ZXMgYWZ0ZXIgYSBkeW5hbWljIGNoYW5nZSAoZS5nLiB2aWEgSmF2
YVNjcmlwdCkuCisKK0luaXRpYWwgYnV0dG9uIGRlc2NyaXB0aW9uczoKKworI2FyaWEtbGFiZWwt
YnV0dG9uIEFYRGVzY3JpcHRpb246CisjYXJpYS1sYWJlbGxlZGJ5LWJ1dHRvbiBBWERlc2NyaXB0
aW9uOgorI3RpdGxlLWJ1dHRvbiBBWERlc2NyaXB0aW9uOgorCitGaW5hbCBidXR0b24gZGVzY3Jp
cHRpb25zOgorCisjYXJpYS1sYWJlbC1idXR0b24gQVhEZXNjcmlwdGlvbjogYXJpYS1sYWJlbCBw
cm92aWRlZCBkZXNjcmlwdGlvbgorI2FyaWEtbGFiZWxsZWRieS1idXR0b24gQVhEZXNjcmlwdGlv
bjogYXJpYS1sYWJlbGxlZGJ5IHByb3ZpZGVkIGRlc2NyaXB0aW9uCisjdGl0bGUtYnV0dG9uIEFY
RGVzY3JpcHRpb246IHRpdGxlIHByb3ZpZGVkIGRlc2NyaXB0aW9uCisKKworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisgIGFyaWEtbGFiZWxsZWRieSBw
cm92aWRlZCBkZXNjcmlwdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9hY2Nlc3NpYmlsaXR5LXRleHQtdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sIGIv
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LXRleHQtdXBkYXRlcy1hZnRl
ci1keW5hbWljLWNoYW5nZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUxYmEzZGJjMTVkOWExM2IzNzI1ZGI1
MDQzZGVmNTQyYTM2MDY2MDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L2FjY2Vzc2liaWxpdHktdGV4dC11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0
bWwKQEAgLTAsMCArMSw1MyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2FjY2Vzc2liaWxp
dHktaGVscGVyLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCis8YnV0dG9uIGlkPSJh
cmlhLWxhYmVsLWJ1dHRvbiI+PC9idXR0b24+Cis8YnV0dG9uIGlkPSJhcmlhLWxhYmVsbGVkYnkt
YnV0dG9uIj48L2J1dHRvbj4KKzxzcGFuIGlkPSJsYWJlbCI+YXJpYS1sYWJlbGxlZGJ5IHByb3Zp
ZGVkIGRlc2NyaXB0aW9uPC9zcGFuPgorPGJ1dHRvbiBpZD0idGl0bGUtYnV0dG9uIj48L2J1dHRv
bj4KKworPHNjcmlwdD4KKyAgICB2YXIgdGVzdE91dHB1dCA9ICJUaGlzIHRlc3QgZW5zdXJlcyBv
YmplY3QgYWNjZXNzaWJpbGl0eSB0ZXh0IHVwZGF0ZXMgYWZ0ZXIgYSBkeW5hbWljIGNoYW5nZSAo
ZS5nLiB2aWEgSmF2YVNjcmlwdCkuXG5cbiI7CisgICAgdmFyIGFyaWFMYWJlbEJ1dHRvbiwgYXJp
YUxhYmVsbGVkQnlCdXR0b24sIHRpdGxlQnV0dG9uOworCisgICAgZnVuY3Rpb24gdmVyaWZ5QnV0
dG9ucygpIHsKKyAgICAgICAgdGVzdE91dHB1dCArPSBgI2FyaWEtbGFiZWwtYnV0dG9uICR7YXJp
YUxhYmVsQnV0dG9uLmRlc2NyaXB0aW9ufVxuYDsKKyAgICAgICAgdGVzdE91dHB1dCArPSBgI2Fy
aWEtbGFiZWxsZWRieS1idXR0b24gJHthcmlhTGFiZWxsZWRCeUJ1dHRvbi5kZXNjcmlwdGlvbn1c
bmA7CisgICAgICAgIHRlc3RPdXRwdXQgKz0gYCN0aXRsZS1idXR0b24gJHt0aXRsZUJ1dHRvbi5k
ZXNjcmlwdGlvbn1cblxuYDsKKyAgICB9CisKKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlD
b250cm9sbGVyKSB7CisgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworICAg
ICAgICBhcmlhTGFiZWxCdXR0b24gPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxl
RWxlbWVudEJ5SWQoImFyaWEtbGFiZWwtYnV0dG9uIik7CisgICAgICAgIGFyaWFMYWJlbGxlZEJ5
QnV0dG9uID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJh
cmlhLWxhYmVsbGVkYnktYnV0dG9uIik7CisgICAgICAgIHRpdGxlQnV0dG9uID0gYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJ0aXRsZS1idXR0b24iKTsKKyAg
ICAgICAgdGVzdE91dHB1dCArPSAiSW5pdGlhbCBidXR0b24gZGVzY3JpcHRpb25zOlxuXG4iOwor
ICAgICAgICB2ZXJpZnlCdXR0b25zKCk7CisKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImFyaWEtbGFiZWwtYnV0dG9uIikuYXJpYUxhYmVsID0gImFyaWEtbGFiZWwgcHJvdmlkZWQg
ZGVzY3JpcHRpb24iOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJpYS1sYWJl
bGxlZGJ5LWJ1dHRvbiIpLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbGxlZGJ5IiwgImxhYmVsIik7
CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0aXRsZS1idXR0b24iKS50aXRsZSA9
ICJ0aXRsZSBwcm92aWRlZCBkZXNjcmlwdGlvbiI7CisgICAgICAgIHNldFRpbWVvdXQoYXN5bmMg
ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHsKKyAgICAgICAg
ICAgICAgICByZXR1cm4gYXJpYUxhYmVsQnV0dG9uLmRlc2NyaXB0aW9uLmluY2x1ZGVzKCJhcmlh
LWxhYmVsIikKKyAgICAgICAgICAgICAgICAgICAgJiYgYXJpYUxhYmVsbGVkQnlCdXR0b24uZGVz
Y3JpcHRpb24uaW5jbHVkZXMoImFyaWEtbGFiZWxsZWRieSIpCisgICAgICAgICAgICAgICAgICAg
ICYmIHRpdGxlQnV0dG9uLmRlc2NyaXB0aW9uLmluY2x1ZGVzKCJ0aXRsZSIpOworICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB0ZXN0T3V0cHV0ICs9ICJGaW5hbCBidXR0b24gZGVzY3JpcHRp
b25zOlxuXG4iOworICAgICAgICAgICAgdmVyaWZ5QnV0dG9ucygpOworCisgICAgICAgICAgICBk
ZWJ1Zyh0ZXN0T3V0cHV0KTsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9
LCAwKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFt
aWMtY2hhbmdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1i
dXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjRmM2M1ZWMxYTNhNDM3NzNlMTM1NDU3N2NkMzJjZTMyZmFmMmYzNmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5
bmFtaWMtY2hhbmdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI0IEBACitUaGlzIHRlc3QgZW5z
dXJlcyB0aGF0IGFuIGVsZW1lbnQncyBidXN5IHN0YXRlIHVwZGF0ZXMgYXJpYS1idXN5IGNoYW5n
ZXMuCisKK1ZlcmlmeWluZyBpbml0aWFsIGJ1c3kgc3RhdGU6CisKKyNjbG9jayBpcyBidXN5OiBm
YWxzZQorI2Nsb2NrLWRpc3BsYXktY29udGVudHMgaXMgYnVzeTogZmFsc2UKKworU2V0dGluZyBh
cmlhLWJ1c3kgdG8gdHJ1ZS4KKworI2Nsb2NrIGlzIGJ1c3k6IHRydWUKKyNjbG9jay1kaXNwbGF5
LWNvbnRlbnRzIGlzIGJ1c3k6IHRydWUKKworU2V0dGluZyBhcmlhLWJ1c3kgdG8gZmFsc2UuCisK
KyNjbG9jayBpcyBidXN5OiBmYWxzZQorI2Nsb2NrLWRpc3BsYXktY29udGVudHMgaXMgYnVzeTog
ZmFsc2UKKworCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKzI6MzBwbQorNDozMHBtCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbCBiL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2Uu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wY2Y5MTY4ZGI0YTFjNzEzNWJiZWRlYmUxM2JmMmVhMWYyZGQ2YTJj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWJ1c3kt
dXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sCkBAIC0wLDAgKzEsNTIgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9hY2Nlc3NpYmlsaXR5LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBpZD0iY2xvY2siIHJvbGU9InRpbWVyIiBhcmlhLWxpdmU9
InBvbGl0ZSIgYXJpYS1hdG9taWM9InRydWUiPjI6MzBwbTwvZGl2PgorPGRpdiBpZD0iY2xvY2st
ZGlzcGxheS1jb250ZW50cyIgc3R5bGU9ImRpc3BsYXk6IGNvbnRlbnRzIiByb2xlPSJ0aW1lciIg
YXJpYS1saXZlPSJwb2xpdGUiIGFyaWEtYXRvbWljPSJ0cnVlIj40OjMwcG08L2Rpdj4KKworPHNj
cmlwdD4KKyAgICB2YXIgdGVzdE91dHB1dCA9ICJUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IGFuIGVs
ZW1lbnQncyBidXN5IHN0YXRlIHVwZGF0ZXMgYXJpYS1idXN5IGNoYW5nZXMuXG5cbiI7CisKKyAg
ICB2YXIgYXhDbG9jaywgYXhDbG9ja1dpdGhEaXNwbGF5Q29udGVudHM7CisgICAgZnVuY3Rpb24g
dmVyaWZ5RWxlbWVudHMoKSB7CisgICAgICAgIHRlc3RPdXRwdXQgKz0gYCNjbG9jayBpcyBidXN5
OiAke2F4Q2xvY2suaXNCdXN5fVxuYDsKKyAgICAgICAgdGVzdE91dHB1dCArPSBgI2Nsb2NrLWRp
c3BsYXktY29udGVudHMgaXMgYnVzeTogJHtheENsb2NrV2l0aERpc3BsYXlDb250ZW50cy5pc0J1
c3l9XG5cbmA7CisgICAgfQorCisgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cikgeworICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisgICAgICAgIGF4Q2xv
Y2sgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImNsb2Nr
Iik7CisgICAgICAgIGF4Q2xvY2tXaXRoRGlzcGxheUNvbnRlbnRzID0gYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJjbG9jay1kaXNwbGF5LWNvbnRlbnRzIik7
CisKKyAgICAgICAgdGVzdE91dHB1dCArPSAiVmVyaWZ5aW5nIGluaXRpYWwgYnVzeSBzdGF0ZTpc
blxuIjsKKyAgICAgICAgdmVyaWZ5RWxlbWVudHMoKTsKKworICAgICAgICBjb25zdCBjbG9jayA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjbG9jayIpOworICAgICAgICBjb25zdCBjbG9ja1dp
dGhEaXNwbGF5Q29udGVudHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2xvY2stZGlzcGxh
eS1jb250ZW50cyIpOworCisgICAgICAgIHRlc3RPdXRwdXQgKz0gIlNldHRpbmcgYXJpYS1idXN5
IHRvIHRydWUuXG5cbiI7CisgICAgICAgIGNsb2NrLmFyaWFCdXN5ID0gInRydWUiOworICAgICAg
ICBjbG9ja1dpdGhEaXNwbGF5Q29udGVudHMuYXJpYUJ1c3kgPSAidHJ1ZSI7CisgICAgICAgIHNl
dFRpbWVvdXQoYXN5bmMgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBhd2FpdCB3YWl0Rm9yKCgp
ID0+IHsgcmV0dXJuIGF4Q2xvY2suaXNCdXN5ICYmIGF4Q2xvY2tXaXRoRGlzcGxheUNvbnRlbnRz
LmlzQnVzeSB9KTsKKyAgICAgICAgICAgIHZlcmlmeUVsZW1lbnRzKCk7CisKKyAgICAgICAgICAg
IHRlc3RPdXRwdXQgKz0gIlNldHRpbmcgYXJpYS1idXN5IHRvIGZhbHNlLlxuXG4iOworICAgICAg
ICAgICAgY2xvY2suYXJpYUJ1c3kgPSAiZmFsc2UiOworICAgICAgICAgICAgY2xvY2tXaXRoRGlz
cGxheUNvbnRlbnRzLmFyaWFCdXN5ID0gImZhbHNlIjsKKyAgICAgICAgICAgIGF3YWl0IHdhaXRG
b3IoKCkgPT4geyByZXR1cm4gIWF4Q2xvY2suaXNCdXN5ICYmICFheENsb2NrV2l0aERpc3BsYXlD
b250ZW50cy5pc0J1c3kgfSk7CisgICAgICAgICAgICB2ZXJpZnlFbGVtZW50cygpOworCisgICAg
ICAgICAgICBkZWJ1Zyh0ZXN0T3V0cHV0KTsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICB9LCAwKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDFlYjIxYzAyZjNi
MzViN2ExYzE5N2Q1MzZiMzkyOTE1ZDZjNDdjMTEuLmEyZTRkNTA1YTZhZWM2NDVkMWY0MDI4Yjk4
YTQ4NzA1MjZmZDI1YmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTM0MSw2ICszNDEsOSBAQCBhY2Nlc3NpYmlsaXR5L2FuY2VzdG9yLWNvbXB1dGF0
aW9uLmh0bWwgWyBTa2lwIF0KICMgTmVlZCB0byBpbXBsZW1lbnQgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6ZG9tSWRlbnRpZmllcigpIGZvciB0aGlzIHRlc3QgdG8gcGFzcyBhZnRlciB3ZWJraXQu
b3JnL2IvMjM0MTk4LgogYWNjZXNzaWJpbGl0eS9mb2N1c2FibGUtZGl2Lmh0bWwgWyBTa2lwIF0K
IAorIyBNaXNzaW5nIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQnVzeSBpbXBsZW1lbnRhdGlv
bi4KK2FjY2Vzc2liaWxpdHkvYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2Uu
aHRtbCBbIFNraXAgXQorCiAjIE1pc3NpbmcgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dWlFbGVt
ZW50Rm9yU2VhcmNoUHJlZGljYXRlIGltcGxlbWVudGF0aW9uLgogYWNjZXNzaWJpbGl0eS9kaXNw
bGF5LWNvbnRlbnRzLXNlYXJjaC10cmF2ZXJzYWwuaHRtbCBbIFNraXAgXQogYWNjZXNzaWJpbGl0
eS9zZWFyY2gtdHJhdmVyc2FsLWFmdGVyLXJvbGUtY2hhbmdlLmh0bWwgWyBTa2lwIF0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggM2UwZjhmNmI5NTlhY2Jj
NWNhMjNiNGNmMGY3MDJhMjFkYTUxNDQ3OS4uYjNkNTc3NTBiOTkyM2UyMzA2NTg3OTkwOWU4MzJm
YjcyZjMyMzI5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTIwOTMsNiArMjA5Myw4IEBAIHdlYmtpdC5vcmcvYi8xNDg4MDYgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLW11bHRpY29sL211bHRpY29sLXNwCiAjIEVuYWJsZSAi
cGhvbmUgbnVtYmVyIGxpbmtpZnlpbmciIHRlc3QgZm9yIGlPUwogZmFzdC9kb20vbGlua2lmeS1w
aG9uZS1udW1iZXJzLmh0bWwgWyBQYXNzIF0KIAorYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5
LXRleHQtdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sIFsgUGFzcyBdCithY2Nlc3Np
YmlsaXR5L2FyaWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwgWyBQYXNz
IF0KIGFjY2Vzc2liaWxpdHkvYXJpYS1oaWRkZW4tZGlzcGxheS1jb250ZW50cy1lbGVtZW50Lmh0
bWwgWyBQYXNzIF0KIGFjY2Vzc2liaWxpdHkvYXJpYS1yZWFkb25seS11cGRhdGVzLWFmdGVyLWR5
bmFtaWMtY2hhbmdlLmh0bWwgWyBQYXNzIF0KIGFjY2Vzc2liaWxpdHkvYXJpYS1yZXF1aXJlZC11
cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwgWyBQYXNzIF0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktdGV4dC11
cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktdGV4dC11cGRhdGVzLWFmdGVy
LWR5bmFtaWMtY2hhbmdlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mY2Y2ZWMxZWE4YzU0ZjNk
ZGVjYzczOTY5Y2FjNzUxZDY4YTU5MDc0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS10ZXh0LXVwZGF0ZXMtYWZ0
ZXItZHluYW1pYy1jaGFuZ2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTkgQEAKK1RoaXMgdGVz
dCBlbnN1cmVzIG9iamVjdCBhY2Nlc3NpYmlsaXR5IHRleHQgdXBkYXRlcyBhZnRlciBhIGR5bmFt
aWMgY2hhbmdlIChlLmcuIHZpYSBKYXZhU2NyaXB0KS4KKworSW5pdGlhbCBidXR0b24gZGVzY3Jp
cHRpb25zOgorCisjYXJpYS1sYWJlbC1idXR0b24gQVhMYWJlbDoKKyNhcmlhLWxhYmVsbGVkYnkt
YnV0dG9uIEFYTGFiZWw6CisjdGl0bGUtYnV0dG9uIEFYTGFiZWw6CisKK0ZpbmFsIGJ1dHRvbiBk
ZXNjcmlwdGlvbnM6CisKKyNhcmlhLWxhYmVsLWJ1dHRvbiBBWExhYmVsOiBhcmlhLWxhYmVsIHBy
b3ZpZGVkIGRlc2NyaXB0aW9uCisjYXJpYS1sYWJlbGxlZGJ5LWJ1dHRvbiBBWExhYmVsOiBhcmlh
LWxhYmVsbGVkYnkgcHJvdmlkZWQgZGVzY3JpcHRpb24KKyN0aXRsZS1idXR0b24gQVhMYWJlbDog
dGl0bGUgcHJvdmlkZWQgZGVzY3JpcHRpb24KKworCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKyAgYXJpYS1sYWJlbGxlZGJ5IHByb3ZpZGVkIGRlc2Ny
aXB0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGEz
MDAyOTYzNDRiMGFkZjYwY2I0ODk5MmNkYzUxYWY3MDUzNDk4MmEuLjJmNWY5MTg0MTMyOWMxOWNi
YWFjY2IzN2UzODEyOWFjNDhmNmFkMzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0
RXhwZWN0YXRpb25zCkBAIC00OTIsNiArNDkyLDggQEAgYWNjZXNzaWJpbGl0eS9pZ25vcmUtbW9k
YWxzLXdpdGhvdXQtYW55LWNvbnRlbnQuaHRtbCBbIFNraXAgXQogYWNjZXNzaWJpbGl0eS9hcmlh
LXJlYWRvbmx5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbCBbIFNraXAgXQogIyBN
aXNzaW5nIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzUmVxdWlyZWQgaW1wbGVtZW50YXRpb24u
CiBhY2Nlc3NpYmlsaXR5L2FyaWEtcmVxdWlyZWQtdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5n
ZS5odG1sIFsgU2tpcCBdCisjIE1pc3NpbmcgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5
IGltcGxlbWVudGF0aW9uLgorYWNjZXNzaWJpbGl0eS9hcmlhLWJ1c3ktdXBkYXRlcy1hZnRlci1k
eW5hbWljLWNoYW5nZS5odG1sIFsgU2tpcCBdCiAKICMgVE9ETyBDb25pYyBncmFkaWVudHMKIGh0
dHAvd3B0L2Nzcy9jc3MtaW1hZ2VzLTQvY29uaWMtZ3JhZGllbnQtcGFyc2luZy5odG1sIFsgU2tp
cCBdCg==
</data>
<flag name="commit-queue"
          id="486463"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457773</attachid>
            <date>2022-04-17 10:20:01 -0700</date>
            <delta_ts>2022-04-17 10:41:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239434-20220417121959.patch</filename>
            <type>text/plain</type>
            <size>30386</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzczODExMjRmZTU4ZDJh
MTc0MDhmOTg5MmUzYjJkYzk5ZmFmMjMxYS4uNTc0NGJlMDc1NGVjNmQwNzM0OTUwYjExZjNiYjcy
NWNiNjg1MDhjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIyLTA0LTE3ICBUeWxl
ciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFVwZGF0ZSB0aGUg
aXNvbGF0ZWQgdHJlZSBpbiByZXNwb25zZSB0byBBWEVsZW1lbnRCdXN5Q2hhbmdlZCBhbmQgQVhU
ZXh0Q2hhbmdlZCBub3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzk0MzQKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBGbGVp
emFjaC4KKworICAgICAgICBXZSBuZWVkIHRvIHVwZGF0ZSB0aGUgaXNvbGF0ZWQgdHJlZSBpbiBy
ZXNwb25zZSB0byB0aGVzZSBub3RpZmljYXRpb25zLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxz
byBtYWtlcyBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdHMgKGUuZy4gZm9yIGRpc3BsYXk6Y29udGVu
dHMgZWxlbWVudHMpCisgICAgICAgIHByb3Blcmx5IHJlcG9ydCBBWENvcmVPYmplY3Q6OmlzQnVz
eSBieSBtb3ZpbmcgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdCdzIGltcGxlbWVudGF0aW9uCisg
ICAgICAgIHRvIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LiBUaGlzIGFsc28gcmVxdWlyZWQgQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6ZWxlbWVudEF0dHJpYnV0ZVZhbHVlCisgICAgICAgIHRv
IG1vdmUgYXMgd2VsbC4KKworICAgICAgICBUZXN0czogYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmls
aXR5LXRleHQtdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sCisgICAgICAgICAgICAg
ICBhY2Nlc3NpYmlsaXR5L2FyaWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0
bWwKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjp1cGRhdGVJc29sYXRlZFRyZWUpOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmlzQnVzeSBjb25zdCk6CisgICAgICAgIE1v
dmVkIGZyb20gQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlOb2RlT2JqZWN0OjplbGVtZW50QXR0cmlidXRlVmFsdWUgY29uc3QpOgorICAg
ICAgICBNb3ZlZCBmcm9tIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuCisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5oOgorICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpB
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpzZXRFbGVtZW50QXR0cmlidXRlVmFsdWUpOgorICAg
ICAgICBEZWxldGUgdGhpcyBtZXRob2QgYXMgaXQgd2FzIHVudXNlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmVsZW1lbnRBdHRyaWJ1dGVWYWx1ZSBjb25z
dCk6CisgICAgICAgIE1vdmVkIHRvIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LgorICAgICAgICAo
V2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aXNCdXN5IGNvbnN0KToKKyAgICAg
ICAgTW92ZWQgdG8gQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuCisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Lmg6CisKIDIwMjItMDQtMTQgIEdhYnJpZWwg
TmF2YSBNYXJpbm8gIDxnbmF2YW1hcmlub0BhcHBsZS5jb20+CiAKICAgICAgICAgU2NyaXB0RGlz
YWxsb3dlZFNjb3BlOjppc0V2ZW50QWxsb3dlZEluTWFpblRocmVhZCBhc3NlcnQgZmFpbHVyZSB3
aGVuIGFjdGl2YXRpbmcgQXVkaW9TZXNzaW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCBmYTFlOTQzYjUyMGU5ZjIxNTU0NzExZjA5Nzcy
ODgxYjRjNWM4MmFiLi5kNDhiNDRlMGIxMmVmZTQzYzE5YWZjMTgyOWE2YWJjMGZhODcyMjZiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKQEAg
LTM0MjIsMTAgKzM0MjIsMTIgQEAgdm9pZCBBWE9iamVjdENhY2hlOjp1cGRhdGVJc29sYXRlZFRy
ZWUoY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxSZWZQdHI8QVhDb3JlT2JqZWMKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBjYXNlIEFYQWN0aXZlRGVzY2VuZGFudENoYW5nZWQ6CiAgICAgICAg
IGNhc2UgQVhBcmlhUm9sZUNoYW5nZWQ6CisgICAgICAgIGNhc2UgQVhFbGVtZW50QnVzeUNoYW5n
ZWQ6CiAgICAgICAgIGNhc2UgQVhJbnZhbGlkU3RhdHVzQ2hhbmdlZDoKICAgICAgICAgY2FzZSBB
WE1lbnVMaXN0VmFsdWVDaGFuZ2VkOgogICAgICAgICBjYXNlIEFYUHJlc3NlZFN0YXRlQ2hhbmdl
ZDoKICAgICAgICAgY2FzZSBBWFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOgorICAgICAgICBjYXNl
IEFYVGV4dENoYW5nZWQ6CiAgICAgICAgIGNhc2UgQVhWYWx1ZUNoYW5nZWQ6IHsKICAgICAgICAg
ICAgIGJvb2wgbmVlZHNVcGRhdGUgPSBhcHBlbmRJZk5vdENvbnRhaW5zTWF0Y2hpbmcoZmlsdGVy
ZWROb3RpZmljYXRpb25zLCBub3RpZmljYXRpb24sIFsmbm90aWZpY2F0aW9uXSAoY29uc3Qgc3Rk
OjpwYWlyPFJlZlB0cjxBWENvcmVPYmplY3Q+LCBBWE5vdGlmaWNhdGlvbj4mIG5vdGUpIHsKICAg
ICAgICAgICAgICAgICByZXR1cm4gbm90ZS5zZWNvbmQgPT0gbm90aWZpY2F0aW9uLnNlY29uZCAm
JiBub3RlLmZpcnN0LmdldCgpID09IG5vdGlmaWNhdGlvbi5maXJzdC5nZXQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVj
dC5jcHAKaW5kZXggZDY1YjNjNTcxZWJiNGQxMTU3NmU5ZTA3MzAwNDJkNjYxNGVkMTI2NS4uYjI4
ZTk5OTdhZDNlMTA0MzNhOTljMDA4ZGQ5MDNhYmY5MmFlYWQ3ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAK
QEAgLTk5MCw2ICs5OTAsMTEgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6aXNMaW5r
KCkgY29uc3QKICAgICByZXR1cm4gcm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6Oldl
YkNvcmVMaW5rOwogfQogCitib29sIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojppc0J1c3koKSBj
b25zdAoreworICAgIHJldHVybiBlbGVtZW50QXR0cmlidXRlVmFsdWUoYXJpYV9idXN5QXR0cik7
Cit9CisKIGJvb2wgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmlzQ29udHJvbCgpIGNvbnN0CiB7
CiAgICAgTm9kZSogbm9kZSA9IHRoaXMtPm5vZGUoKTsKQEAgLTEyOTQsNiArMTI5OSwxMSBAQCB2
b2lkIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjpjaGFuZ2VWYWx1ZUJ5UGVyY2VudChmbG9hdCBw
ZXJjZW50Q2hhbmdlKQogICAgIHNldE5vZGVWYWx1ZShwZXJjZW50Q2hhbmdlID4gMCwgdmFsdWUp
OwogfQogCitib29sIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjplbGVtZW50QXR0cmlidXRlVmFs
dWUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgY29uc3QKK3sKKyAgICByZXR1
cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5h
bWUpLCAidHJ1ZSIpOworfQorCiBib29sIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojppc0dlbmVy
aWNGb2N1c2FibGVFbGVtZW50KCkgY29uc3QKIHsKICAgICBpZiAoIWNhblNldEZvY3VzQXR0cmli
dXRlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0LmgKaW5kZXggZjU2N2IwM2FjNDY1OWJjZDFlOGFkZTMzN2ZlOTVlMTRi
ZDYzMzJlYy4uZTBiZDg4MjYzZTFiODk4MGJmOTZkMzYwOTZjNzdkNzAwMzhlOGY0NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVj
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVP
YmplY3QuaApAQCAtNTMsNiArNTMsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGNhbnZhc0hhc0Zh
bGxiYWNrQ29udGVudCgpIGNvbnN0IG92ZXJyaWRlOwogCisgICAgYm9vbCBpc0J1c3koKSBjb25z
dCBvdmVycmlkZTsKICAgICBib29sIGlzQ29udHJvbCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJv
b2wgaXNGaWVsZHNldCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgaXNHcm91cCgpIGNvbnN0
IG92ZXJyaWRlOwpAQCAtMTcwLDYgKzE3MSw4IEBAIHByb3RlY3RlZDoKICAgICAvLyBUaGlzIHJl
dHVybnMgdHJ1ZSBpZiBpdCdzIGZvY3VzYWJsZSBidXQgaXQncyBub3QgY29udGVudCBlZGl0YWJs
ZSBhbmQgaXQncyBub3QgYSBjb250cm9sIG9yIEFSSUEgY29udHJvbC4KICAgICBib29sIGlzR2Vu
ZXJpY0ZvY3VzYWJsZUVsZW1lbnQoKSBjb25zdDsKIAorICAgIGJvb2wgZWxlbWVudEF0dHJpYnV0
ZVZhbHVlKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdDsKKwogICAgIGJvb2wgaXNMYWJlbGFi
bGUoKSBjb25zdDsKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JyZXNwb25kaW5nQ29udHJv
bEZvckxhYmVsRWxlbWVudCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIEFjY2Vzc2liaWxpdHlPYmpl
Y3QqIGNvcnJlc3BvbmRpbmdMYWJlbEZvckNvbnRyb2xFbGVtZW50KCkgY29uc3Qgb3ZlcnJpZGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCAwMDUwZGUxNmMwY2JkN2YwNjU3NjliYzU4MjY0YjYx
MTY4ZWRjZDk0Li4yZjFkNjA0MjAwNmRiMGM3ZTc2NTUyYzllZWY3MWViY2UzNTlmYjNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAKQEAgLTE3NzcsMjYgKzE3NzcsNiBAQCBib29sIEFjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3Q6OmlzVmlzaXRlZCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcmVuZGVyZXIt
PnN0eWxlKCkuaXNMaW5rKCkgJiYgbV9yZW5kZXJlci0+c3R5bGUoKS5pbnNpZGVMaW5rKCkgPT0g
SW5zaWRlTGluazo6SW5zaWRlVmlzaXRlZDsKIH0KIAotdm9pZCBBY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0OjpzZXRFbGVtZW50QXR0cmlidXRlVmFsdWUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0
cmlidXRlTmFtZSwgYm9vbCB2YWx1ZSkKLXsKLSAgICBpZiAoIW1fcmVuZGVyZXIpCi0gICAgICAg
IHJldHVybjsKLSAgICAKLSAgICBOb2RlKiBub2RlID0gbV9yZW5kZXJlci0+bm9kZSgpOwotICAg
IGlmICghaXM8RWxlbWVudD4obm9kZSkpCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBkb3du
Y2FzdDxFbGVtZW50Pigqbm9kZSkuc2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUsICh2YWx1ZSkg
PyAidHJ1ZSJfcyA6ICJmYWxzZSJfcyk7Ci19Ci0gICAgCi1ib29sIEFjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3Q6OmVsZW1lbnRBdHRyaWJ1dGVWYWx1ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRy
aWJ1dGVOYW1lKSBjb25zdAotewotICAgIGlmICghbV9yZW5kZXJlcikKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIAotICAgIHJldHVybiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShn
ZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSksICJ0cnVlIik7Ci19Ci0gICAgCiBib29sIEFjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3Q6OmlzU2VsZWN0ZWQoKSBjb25zdAogewogICAgIGlmICghbV9y
ZW5kZXJlcikKQEAgLTMzODcsMTEgKzMzNjcsNiBAQCBib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3Q6OmxpdmVSZWdpb25BdG9taWMoKSBjb25zdAogICAgIH0KIH0KIAotYm9vbCBBY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0Ojppc0J1c3koKSBjb25zdAotewotICAgIHJldHVybiBlbGVtZW50
QXR0cmlidXRlVmFsdWUoYXJpYV9idXN5QXR0cik7Ci19Ci0KIGJvb2wgQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdDo6Y2FuSGF2ZVNlbGVjdGVkQ2hpbGRyZW4oKSBjb25zdAogewogICAgIHN3aXRj
aCAocm9sZVZhbHVlKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgKaW5kZXggMmIwNDVkYTMyYzRmOTc3MWQw
NDI0MDM0MGZlYzkyZGEzZDQwMTgxNi4uNjU0MTU1NDg4YmJkMjUyMzA0Y2E3MjU1ZmQ0MjM4YWUx
MzdkNTRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgKQEAgLTI2NiwxNSArMjY2LDExIEBAIHByaXZhdGU6
CiAgICAgCiAgICAgdm9pZCBhcmlhU2VsZWN0ZWRSb3dzKEFjY2Vzc2liaWxpdHlDaGlsZHJlblZl
Y3RvciYpOwogICAgIAotICAgIGJvb2wgZWxlbWVudEF0dHJpYnV0ZVZhbHVlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmKSBjb25zdDsKLSAgICB2b2lkIHNldEVsZW1lbnRBdHRyaWJ1dGVWYWx1ZShjb25z
dCBRdWFsaWZpZWROYW1lJiwgYm9vbCk7Ci0gICAgCiAgICAgT3B0aW9uU2V0PFNwZWFrQXM+IHNw
ZWFrQXNQcm9wZXJ0eSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIAogICAgIGNvbnN0IFN0cmluZyBs
aXZlUmVnaW9uU3RhdHVzKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgY29uc3QgU3RyaW5nIGxpdmVS
ZWdpb25SZWxldmFudCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgbGl2ZVJlZ2lvbkF0b21p
YygpIGNvbnN0IG92ZXJyaWRlOwotICAgIGJvb2wgaXNCdXN5KCkgY29uc3Qgb3ZlcnJpZGU7CiAK
ICAgICBib29sIGluaGVyaXRzUHJlc2VudGF0aW9uYWxSb2xlKCkgY29uc3Qgb3ZlcnJpZGU7CiAK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwMDhl
MDljMjg1MDYzOWVjMjRlMzk3ZGE3MGY4Zjk3NWQ3NjUzYjkyLi5mYjc4YWUzZWI0NjliYmI3ZTkz
ZDE3YjY5ZDQxYjI2ODY5MzNkYzA5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjItMDQtMTcgIFR5bGVyIFdpbGNv
Y2sgIDx0eWxlcl93QGFwcGxlLmNvbT4KKworICAgICAgICBBWDogVXBkYXRlIHRoZSBpc29sYXRl
ZCB0cmVlIGluIHJlc3BvbnNlIHRvIEFYRWxlbWVudEJ1c3lDaGFuZ2VkIGFuZCBBWFRleHRDaGFu
Z2VkIG5vdGlmaWNhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzOTQzNAorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIEZsZWl6YWNoLgor
CisgICAgICAgIEFkZGVkIG5lY2Vzc2FyeSB0b29saW5nIHRvIGVuYWJsZSBxdWVyeWluZyBBWCBv
YmplY3QgYnVzeSBzdGF0ZSBmb3IKKyAgICAgICAgdGhlIHRlc3QgYWRkZWQgd2l0aCB0aGlzIHBh
dGNoLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5j
cHA6CisgICAgICAgIChnZXRJc0J1c3lDYWxsYmFjayk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpnZXRKU0NsYXNzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Lmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvaW9zL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnRJT1MubW06CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpp
c0J1c3kgY29uc3QpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5
VUlFbGVtZW50TWFjLm1tOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5
IGNvbnN0KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxl
bWVudFdpbi5jcHA6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0J1c3kgY29u
c3QpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudC5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5pZGw6CisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRz
cGkuY3BwOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0J1c3kgY29u
c3QpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRJT1MubW06CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmlzQnVzeSBjb25zdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbToKKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5IGNvbnN0KToKKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNw
cDoKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5IGNvbnN0KToK
KwogMjAyMi0wNC0xNCAgSm9obiBDdW5uaW5naGFtICA8am9obmN1bm5pbmdoYW1AYXBwbGUuY29t
PgogCiAgICAgICAgIFJlcGxhY2UgUGFpbnRDb21wb3NpdGVkUmVzdWx0c1RvTWVkaWFTYW1wbGUg
d2l0aCBQYWludENvbXBvc2l0ZWRSZXN1bHRzVG9WaWRlb0ZyYW1lIGluIGdlbmVyYXRlLWdwdXAt
d2ViZ2wKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5j
cHAKaW5kZXggMzgwZDdiNmE2YWNhN2IyYmNlNTcwMzE5YWYwZjgyYzAzODgzZDliMy4uZTU2OTI2
MDhiNWJhMmNmMWE2YjkwM2FiOGFjYzQ3MmVkNWQyNmQxZiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAKQEAgLTEzMjcsNiArMTMyNywxMSBA
QCBzdGF0aWMgSlNWYWx1ZVJlZiBnZXRTZWxlY3RlZFRleHRSYW5nZUNhbGxiYWNrKEpTQ29udGV4
dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZgogICAgIHJldHVybiBKU1ZhbHVlTWFrZVN0cmluZyhj
b250ZXh0LCBzZWxlY3RlZFRleHRSYW5nZS5nZXQoKSk7CiB9CiAKK3N0YXRpYyBKU1ZhbHVlUmVm
IGdldElzQnVzeUNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB0aGlz
T2JqZWN0LCBKU1N0cmluZ1JlZiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikK
K3sKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VCb29sZWFuKGNvbnRleHQsIHRvQVhFbGVtZW50KHRo
aXNPYmplY3QpLT5pc0J1c3koKSk7Cit9CisKIHN0YXRpYyBKU1ZhbHVlUmVmIGdldElzRW5hYmxl
ZENhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBK
U1N0cmluZ1JlZiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKIHsKICAgICBy
ZXR1cm4gSlNWYWx1ZU1ha2VCb29sZWFuKGNvbnRleHQsIHRvQVhFbGVtZW50KHRoaXNPYmplY3Qp
LT5pc0VuYWJsZWQoKSk7CkBAIC0xOTI0LDYgKzE5MjksNyBAQCBKU0NsYXNzUmVmIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmdldEpTQ2xhc3MoKQogICAgICAgICB7ICJjb2x1bW5Db3VudCIsIGNv
bHVtbkNvdW50Q2FsbGJhY2ssIDAsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAiaW5zZXJ0aW9uUG9pbnRM
aW5lTnVtYmVyIiwgZ2V0SW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyQ2FsbGJhY2ssIDAsIGtKU1By
b3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUg
fSwKICAgICAgICAgeyAic2VsZWN0ZWRUZXh0UmFuZ2UiLCBnZXRTZWxlY3RlZFRleHRSYW5nZUNh
bGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRy
aWJ1dGVEb250RGVsZXRlIH0sCisgICAgICAgIHsgImlzQnVzeSIsIGdldElzQnVzeUNhbGxiYWNr
LCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVE
b250RGVsZXRlIH0sCiAgICAgICAgIHsgImlzRW5hYmxlZCIsIGdldElzRW5hYmxlZENhbGxiYWNr
LCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVE
b250RGVsZXRlIH0sCiAgICAgICAgIHsgImlzUmVxdWlyZWQiLCBnZXRJc1JlcXVpcmVkQ2FsbGJh
Y2ssIDAsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAiaXNGb2N1c2VkIiwgZ2V0SXNGb2N1c2VkQ2FsbGJh
Y2ssIDAsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZURvbnREZWxldGUgfSwKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnQuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQuaAppbmRleCBiMmUzMzYxYjg3ZGZkMzQxYmUzZjhhN2JkZTU0NDA4YjVmYWExZTcxLi5j
MTIxNjkwMzNkOTk0NjU5ZmNlZmJlM2RlNzkxNTBmNjkyMTJiMmJjIDEwMDY0NAotLS0gYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCkBAIC0xNDUsNiArMTQ1LDcgQEAg
cHVibGljOgogICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiB2YWx1ZURlc2NyaXB0aW9uKCk7
CiAgICAgaW50IGluc2VydGlvblBvaW50TGluZU51bWJlcigpOwogICAgIEpTUmV0YWluUHRyPEpT
U3RyaW5nUmVmPiBzZWxlY3RlZFRleHRSYW5nZSgpOworICAgIGJvb2wgaXNCdXN5KCkgY29uc3Q7
CiAgICAgYm9vbCBpc0VuYWJsZWQoKTsKICAgICBib29sIGlzUmVxdWlyZWQoKSBjb25zdDsKICAg
ICAKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50SU9TLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRJT1MubW0KaW5kZXggNTcwNWM3Yzk4NGRjM2JlZjY4ZjZmNDE3OWFkNWFlOWM3NTQ1YWQ2
Yy4uOTVhYzc1OTkyNzllMTY0ZmViMzc2N2MwNTYyMzk1MjY1Y2E5ZDJlNyAxMDA2NDQKLS0tIGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0KKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0K
QEAgLTc0LDYgKzc0LDcgQEAgdHlwZWRlZiB2b2lkICgqQVhQb3N0ZWROb3RpZmljYXRpb25DYWxs
YmFjaykoaWQgZWxlbWVudCwgTlNTdHJpbmcqIG5vdGlmaWNhdGlvbiwKIC0gKE5TVUludGVnZXIp
YWNjZXNzaWJpbGl0eUFSSUFDb2x1bW5Db3VudDsKIC0gKE5TVUludGVnZXIpYWNjZXNzaWJpbGl0
eUFSSUFSb3dJbmRleDsKIC0gKE5TVUludGVnZXIpYWNjZXNzaWJpbGl0eUFSSUFDb2x1bW5JbmRl
eDsKKy0gKEJPT0wpYWNjZXNzaWJpbGl0eUFSSUFJc0J1c3k7CiAtIChVSUFjY2Vzc2liaWxpdHlU
cmFpdHMpX2F4Q29udGFpbmVkQnlGaWVsZHNldFRyYWl0OwogLSAoaWQpX2FjY2Vzc2liaWxpdHlG
aWVsZHNldEFuY2VzdG9yOwogLSAoQk9PTClfYWNjZXNzaWJpbGl0eUhhc1RvdWNoRXZlbnRMaXN0
ZW5lcjsKQEAgLTg2MSw2ICs4NjIsMTEgQEAgaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omlu
c2VydGlvblBvaW50TGluZU51bWJlcigpCiAgICAgcmV0dXJuIC0xOwogfQogCitib29sIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmlzQnVzeSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFttX2VsZW1l
bnQgYWNjZXNzaWJpbGl0eUFSSUFJc0J1c3ldOworfQorCiBib29sIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmlzRW5hYmxlZCgpCiB7CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0gYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQppbmRleCA2
NTkzOTAzMTU2Y2M1NWJhODgxN2I0MTFkN2RjMGViMGIyOGRlZTVhLi4xYmQ0ZjMwZmUwMGU3OTI5
NDVkYzUxMjcxNzI5YzkxYzQyZDAxODRkIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQpAQCAtODUyLDYgKzg1MiwxMSBA
QCBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVk
KCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
aXNCdXN5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEAiQVhFbGVt
ZW50QnVzeSIpOworfQorCiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRW5hYmxlZCgp
CiB7CiAgICAgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1ZShOU0FjY2Vzc2liaWxpdHlFbmFibGVk
QXR0cmlidXRlKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50V2luLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50V2luLmNwcAppbmRleCA0MDE2MjMxOWRhNTY4ZTYzYzg3ODI3NmVlODkw
OTE1NmFhNzgyNjhmLi40MWEyYjZmMDQ1YjU4MTRkMDE5NmEzZWU4ZmQ2OWYyNTEwYjE5NzA4IDEw
MDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dFdpbi5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRXaW4uY3BwCkBAIC01NzEsNiArNTcxLDEyIEBAIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6aXNEZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKQogICAgIHJldHVybiBmYWxzZTsKIH0K
IAorYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0J1c3koKSBjb25zdAoreworICAgIC8v
IEZJWE1FOiBJbXBsZW1lbnQuCisgICAgcmV0dXJuIGZhbHNlOworfQorCiBib29sIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmlzRW5hYmxlZCgpCiB7CiAgICAgRFdPUkQgc3RhdGUgPSBhY2Nlc3Np
YmlsaXR5U3RhdGUobV9lbGVtZW50KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKaW5kZXgg
ZmIxYTY0NmY5NDFhNDRlMTg0YzVmMDQzYTVmNjIxNmFkNTFmNGUxYi4uMjI2YTRhNzhiMzU5NzFm
NTViZTNkY2Q4ZjEyMTViODU4YWZiZDM0YiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgK
QEAgLTE2Niw2ICsxNjYsNyBAQCBwdWJsaWM6CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IHZhbHVlRGVzY3JpcHRpb24oKTsKICAgICBpbnQgaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyKCk7
CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHNlbGVjdGVkVGV4dFJhbmdlKCk7CisgICAg
Ym9vbCBpc0J1c3koKSBjb25zdDsKICAgICBib29sIGlzRW5hYmxlZCgpOwogICAgIGJvb2wgaXNS
ZXF1aXJlZCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50LmlkbAppbmRleCA5MDIyNTczYzUzMWFiNzE3Y2Y5ZTA3YjRjYWYwOWVlYmJmYWNmYzY1
Li45YWVkZDViMjk4ZTU4N2FiMDQ4ODY1ZWUyMGFmYWU5NmRjNDJmY2YyIDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxp
dHlVSUVsZW1lbnQuaWRsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5pZGwKQEAgLTgyLDYgKzgyLDcgQEAK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBtaW5WYWx1ZTsKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgbG9uZyBtYXhWYWx1ZTsKICAgICAKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVh
biBpc0J1c3k7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNFbmFibGVkOwogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzUmVxdWlyZWQ7CiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGJvb2xlYW4gaXNGb2N1c2VkOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRzcGkuY3Bw
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50QXRzcGkuY3BwCmluZGV4IDg5NWYyZTY5OTAzNTcyYzY3OGM3YTYyNTcyZDIy
YzcxZWRhODE2NzkuLmNlMWIyODg2MzMzODljZmRiMDQ4MDAzNmY2NmVmMDk3NmQ1M2U2ZGYgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudEF0c3BpLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHAKQEAg
LTEwMjUsNiArMTAyNSwxMiBAQCBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVt
ZW50QWN0aW9uU3VwcG9ydGVkKCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5KCkgY29uc3QKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVt
ZW50LgorICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Ojppc0VuYWJsZWQoKQogewogICAgIG1fZWxlbWVudC0+dXBkYXRlQmFja2luZ1N0b3JlKCk7CmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbQppbmRleCAwYzkzM2I0ZWJh
YTJkZjM2YzdjOWJlYzM0Njk4ZTA5M2FiNDRhNjdmLi4xYmU4OWM5YWYwMThkZTAzNDU1YzZkYjMz
ODViYjI5OTY5Nzk0NDNlIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJ
T1MubW0KQEAgLTgyLDYgKzgyLDcgQEAgdHlwZWRlZiB2b2lkICgqQVhQb3N0ZWROb3RpZmljYXRp
b25DYWxsYmFjaykoaWQgZWxlbWVudCwgTlNTdHJpbmcqIG5vdGlmaWNhdGlvbiwKIC0gKE5TVUlu
dGVnZXIpYWNjZXNzaWJpbGl0eUFSSUFDb2x1bW5Db3VudDsKIC0gKE5TVUludGVnZXIpYWNjZXNz
aWJpbGl0eUFSSUFSb3dJbmRleDsKIC0gKE5TVUludGVnZXIpYWNjZXNzaWJpbGl0eUFSSUFDb2x1
bW5JbmRleDsKKy0gKEJPT0wpYWNjZXNzaWJpbGl0eUFSSUFJc0J1c3k7CiAtIChOU1N0cmluZyAq
KWFjY2Vzc2liaWxpdHlJbnZhbGlkU3RhdHVzOwogLSAoVUlBY2Nlc3NpYmlsaXR5VHJhaXRzKV9h
eENvbnRhaW5lZEJ5RmllbGRzZXRUcmFpdDsKIC0gKGlkKV9hY2Nlc3NpYmlsaXR5RmllbGRzZXRB
bmNlc3RvcjsKQEAgLTYzMSw2ICs2MzIsMTEgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Ojppc0RlY3JlbWVudEFjdGlvblN1cHBvcnRlZCgpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCiti
b29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQnVzeSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUFSSUFJc0J1c3ldOworfQorCiBib29sIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmlzRW5hYmxlZCgpCiB7CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudE1hYy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0KaW5kZXggOTBiNDJmOTYxYjcwZGIz
MzlmN2IzMGZkNmYxMDFjZDk2OTc1ZTYzMS4uYTMwYmJjMDIwMmNjY2Q0N2Q3MjQzZDA2Y2FjODJk
YjlkNDdmNGViNCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1t
CkBAIC05ODIsNiArOTgyLDExIEBAIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNEZWNy
ZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojppc0J1c3koKSBjb25zdAoreworICAgIHJldHVybiBib29sQXR0
cmlidXRlVmFsdWUoQCJBWEVsZW1lbnRCdXN5Iik7Cit9CisKIGJvb2wgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6aXNFbmFibGVkKCkKIHsKICAgICByZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKE5T
QWNjZXNzaWJpbGl0eUVuYWJsZWRBdHRyaWJ1dGUpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5j
cHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dpbi9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50V2luLmNwcAppbmRleCAxNjU1NTdkNDZkNDU3MDI0ZjlmNmZiNzQ0MDgxMDQ2
ZDQ2ZGRmYThkLi4zOTYyNTkzNWY2ODMzM2I4OWFiNTk1OTA1ZmI0ZDcyM2E2MWJiY2NmIDEwMDY0
NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dpbi9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50V2luLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNwcApAQCAtNDAwLDYgKzQw
MCwxMiBAQCBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3Vw
cG9ydGVkKCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6aXNCdXN5KCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVy
biBmYWxzZTsKK30KKwogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0VuYWJsZWQoKQog
ewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2ZkODE2ZGM2NGNlMmZiYzliNGM4MzY4
NDIwY2JmNjliZWNiNTlhMC4uMWI2YWUzMGQ5ODE2ZTY4ZmYxNTBhYzcxYmE1NjQ1NzY4YTg1M2Jj
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIyLTA0LTE3ICBUeWxlciBXaWxjb2NrICA8dHls
ZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFVwZGF0ZSB0aGUgaXNvbGF0ZWQgdHJlZSBp
biByZXNwb25zZSB0byBBWEVsZW1lbnRCdXN5Q2hhbmdlZCBhbmQgQVhUZXh0Q2hhbmdlZCBub3Rp
ZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzk0MzQKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBGbGVpemFjaC4KKworICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS10ZXh0LXVwZGF0ZXMtYWZ0ZXItZHluYW1p
Yy1jaGFuZ2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2Fj
Y2Vzc2liaWxpdHktdGV4dC11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1p
Yy1jaGFuZ2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2Fy
aWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgU2tpcCBhcmlhLWJ1
c3ktdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sLgorICAgICAgICAqIHBsYXRmb3Jt
L2lvcy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICBFbmFibGUgbmV3IHRlc3RzLgorICAgICAg
ICAqIHBsYXRmb3JtL2lvcy9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktdGV4dC11cGRhdGVz
LWFmdGVyLWR5bmFtaWMtY2hhbmdlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgIFNraXAgYXJpYS1idXN5LXVwZGF0
ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbC4KKwogMjAyMi0wNC0xNCAgS2FybCBSYWNrbGVy
ICA8cmFja2xlckBhcHBsZS5jb20+CiAKICAgICAgICAgWyBNYWMgXSBlZGl0aW5nL2V4ZWNDb21t
YW5kL2luc2VydC1vcmRlcmVkLWxpc3QtYW5kLWRlbGV0ZS5odG1sIGlzIGEgZmxha3kgZmFpbHVy
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LXRl
eHQtdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktdGV4dC11cGRhdGVzLWFmdGVyLWR5bmFtaWMt
Y2hhbmdlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZjY5NGU3ODY2YTM0N2YzNjViYmQzMjY1
MjViYTM0MmI3NjRmNWYzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9hY2Nlc3NpYmlsaXR5LXRleHQtdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAorVGhpcyB0ZXN0IGVuc3VyZXMgb2JqZWN0IGFjY2Vz
c2liaWxpdHkgdGV4dCB1cGRhdGVzIGFmdGVyIGEgZHluYW1pYyBjaGFuZ2UgKGUuZy4gdmlhIEph
dmFTY3JpcHQpLgorCitJbml0aWFsIGJ1dHRvbiBkZXNjcmlwdGlvbnM6CisKKyNhcmlhLWxhYmVs
LWJ1dHRvbiBBWERlc2NyaXB0aW9uOgorI2FyaWEtbGFiZWxsZWRieS1idXR0b24gQVhEZXNjcmlw
dGlvbjoKKyN0aXRsZS1idXR0b24gQVhEZXNjcmlwdGlvbjoKKworRmluYWwgYnV0dG9uIGRlc2Ny
aXB0aW9uczoKKworI2FyaWEtbGFiZWwtYnV0dG9uIEFYRGVzY3JpcHRpb246IGFyaWEtbGFiZWwg
cHJvdmlkZWQgZGVzY3JpcHRpb24KKyNhcmlhLWxhYmVsbGVkYnktYnV0dG9uIEFYRGVzY3JpcHRp
b246IGFyaWEtbGFiZWxsZWRieSBwcm92aWRlZCBkZXNjcmlwdGlvbgorI3RpdGxlLWJ1dHRvbiBB
WERlc2NyaXB0aW9uOiB0aXRsZSBwcm92aWRlZCBkZXNjcmlwdGlvbgorCisKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorICBhcmlhLWxhYmVsbGVkYnkg
cHJvdmlkZWQgZGVzY3JpcHRpb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvYWNjZXNzaWJpbGl0eS10ZXh0LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbCBi
L0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS10ZXh0LXVwZGF0ZXMtYWZ0
ZXItZHluYW1pYy1jaGFuZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMWJhM2RiYzE1ZDlhMTNiMzcyNWRi
NTA0M2RlZjU0MmEzNjA2NjAwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNz
aWJpbGl0eS9hY2Nlc3NpYmlsaXR5LXRleHQtdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5o
dG1sCkBAIC0wLDAgKzEsNTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9hY2Nlc3NpYmls
aXR5LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworPGJ1dHRvbiBpZD0i
YXJpYS1sYWJlbC1idXR0b24iPjwvYnV0dG9uPgorPGJ1dHRvbiBpZD0iYXJpYS1sYWJlbGxlZGJ5
LWJ1dHRvbiI+PC9idXR0b24+Cis8c3BhbiBpZD0ibGFiZWwiPmFyaWEtbGFiZWxsZWRieSBwcm92
aWRlZCBkZXNjcmlwdGlvbjwvc3Bhbj4KKzxidXR0b24gaWQ9InRpdGxlLWJ1dHRvbiI+PC9idXR0
b24+CisKKzxzY3JpcHQ+CisgICAgdmFyIHRlc3RPdXRwdXQgPSAiVGhpcyB0ZXN0IGVuc3VyZXMg
b2JqZWN0IGFjY2Vzc2liaWxpdHkgdGV4dCB1cGRhdGVzIGFmdGVyIGEgZHluYW1pYyBjaGFuZ2Ug
KGUuZy4gdmlhIEphdmFTY3JpcHQpLlxuXG4iOworICAgIHZhciBhcmlhTGFiZWxCdXR0b24sIGFy
aWFMYWJlbGxlZEJ5QnV0dG9uLCB0aXRsZUJ1dHRvbjsKKworICAgIGZ1bmN0aW9uIHZlcmlmeUJ1
dHRvbnMoKSB7CisgICAgICAgIHRlc3RPdXRwdXQgKz0gYCNhcmlhLWxhYmVsLWJ1dHRvbiAke2Fy
aWFMYWJlbEJ1dHRvbi5kZXNjcmlwdGlvbn1cbmA7CisgICAgICAgIHRlc3RPdXRwdXQgKz0gYCNh
cmlhLWxhYmVsbGVkYnktYnV0dG9uICR7YXJpYUxhYmVsbGVkQnlCdXR0b24uZGVzY3JpcHRpb259
XG5gOworICAgICAgICB0ZXN0T3V0cHV0ICs9IGAjdGl0bGUtYnV0dG9uICR7dGl0bGVCdXR0b24u
ZGVzY3JpcHRpb259XG5cbmA7CisgICAgfQorCisgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5
Q29udHJvbGxlcikgeworICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAg
ICAgICAgYXJpYUxhYmVsQnV0dG9uID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJs
ZUVsZW1lbnRCeUlkKCJhcmlhLWxhYmVsLWJ1dHRvbiIpOworICAgICAgICBhcmlhTGFiZWxsZWRC
eUJ1dHRvbiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgi
YXJpYS1sYWJlbGxlZGJ5LWJ1dHRvbiIpOworICAgICAgICB0aXRsZUJ1dHRvbiA9IGFjY2Vzc2li
aWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgidGl0bGUtYnV0dG9uIik7Cisg
ICAgICAgIHRlc3RPdXRwdXQgKz0gIkluaXRpYWwgYnV0dG9uIGRlc2NyaXB0aW9uczpcblxuIjsK
KyAgICAgICAgdmVyaWZ5QnV0dG9ucygpOworCisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJhcmlhLWxhYmVsLWJ1dHRvbiIpLmFyaWFMYWJlbCA9ICJhcmlhLWxhYmVsIHByb3ZpZGVk
IGRlc2NyaXB0aW9uIjsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFyaWEtbGFi
ZWxsZWRieS1idXR0b24iKS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWxsZWRieSIsICJsYWJlbCIp
OworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGl0bGUtYnV0dG9uIikudGl0bGUg
PSAidGl0bGUgcHJvdmlkZWQgZGVzY3JpcHRpb24iOworICAgICAgICBzZXRUaW1lb3V0KGFzeW5j
IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7CisgICAgICAg
ICAgICAgICAgcmV0dXJuIGFyaWFMYWJlbEJ1dHRvbi5kZXNjcmlwdGlvbi5pbmNsdWRlcygiYXJp
YS1sYWJlbCIpCisgICAgICAgICAgICAgICAgICAgICYmIGFyaWFMYWJlbGxlZEJ5QnV0dG9uLmRl
c2NyaXB0aW9uLmluY2x1ZGVzKCJhcmlhLWxhYmVsbGVkYnkiKQorICAgICAgICAgICAgICAgICAg
ICAmJiB0aXRsZUJ1dHRvbi5kZXNjcmlwdGlvbi5pbmNsdWRlcygidGl0bGUiKTsKKyAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgdGVzdE91dHB1dCArPSAiRmluYWwgYnV0dG9uIGRlc2NyaXB0
aW9uczpcblxuIjsKKyAgICAgICAgICAgIHZlcmlmeUJ1dHRvbnMoKTsKKworICAgICAgICAgICAg
ZGVidWcodGVzdE91dHB1dCk7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAg
fSwgMCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWJ1c3ktdXBkYXRlcy1hZnRlci1keW5h
bWljLWNoYW5nZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEt
YnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40ZjNjNWVjMWEzYTQzNzczZTEzNTQ1NzdjZDMyY2UzMmZhZjJmMzZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWJ1c3ktdXBkYXRlcy1hZnRlci1k
eW5hbWljLWNoYW5nZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNCBAQAorVGhpcyB0ZXN0IGVu
c3VyZXMgdGhhdCBhbiBlbGVtZW50J3MgYnVzeSBzdGF0ZSB1cGRhdGVzIGFyaWEtYnVzeSBjaGFu
Z2VzLgorCitWZXJpZnlpbmcgaW5pdGlhbCBidXN5IHN0YXRlOgorCisjY2xvY2sgaXMgYnVzeTog
ZmFsc2UKKyNjbG9jay1kaXNwbGF5LWNvbnRlbnRzIGlzIGJ1c3k6IGZhbHNlCisKK1NldHRpbmcg
YXJpYS1idXN5IHRvIHRydWUuCisKKyNjbG9jayBpcyBidXN5OiB0cnVlCisjY2xvY2stZGlzcGxh
eS1jb250ZW50cyBpcyBidXN5OiB0cnVlCisKK1NldHRpbmcgYXJpYS1idXN5IHRvIGZhbHNlLgor
CisjY2xvY2sgaXMgYnVzeTogZmFsc2UKKyNjbG9jay1kaXNwbGF5LWNvbnRlbnRzIGlzIGJ1c3k6
IGZhbHNlCisKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisyOjMwcG0KKzQ6MzBwbQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2FyaWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdl
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMGNmOTE2OGRiNGExYzcxMzViYmVkZWJlMTNiZjJlYTFmMmRkNmEy
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1idXN5
LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbApAQCAtMCwwICsxLDUyIEBACis8IURP
Q1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvYWNjZXNzaWJpbGl0eS1oZWxwZXIuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+CisKKzxkaXYgaWQ9ImNsb2NrIiByb2xlPSJ0aW1lciIgYXJpYS1saXZl
PSJwb2xpdGUiIGFyaWEtYXRvbWljPSJ0cnVlIj4yOjMwcG08L2Rpdj4KKzxkaXYgaWQ9ImNsb2Nr
LWRpc3BsYXktY29udGVudHMiIHN0eWxlPSJkaXNwbGF5OiBjb250ZW50cyIgcm9sZT0idGltZXIi
IGFyaWEtbGl2ZT0icG9saXRlIiBhcmlhLWF0b21pYz0idHJ1ZSI+NDozMHBtPC9kaXY+CisKKzxz
Y3JpcHQ+CisgICAgdmFyIHRlc3RPdXRwdXQgPSAiVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBhbiBl
bGVtZW50J3MgYnVzeSBzdGF0ZSB1cGRhdGVzIGFyaWEtYnVzeSBjaGFuZ2VzLlxuXG4iOworCisg
ICAgdmFyIGF4Q2xvY2ssIGF4Q2xvY2tXaXRoRGlzcGxheUNvbnRlbnRzOworICAgIGZ1bmN0aW9u
IHZlcmlmeUVsZW1lbnRzKCkgeworICAgICAgICB0ZXN0T3V0cHV0ICs9IGAjY2xvY2sgaXMgYnVz
eTogJHtheENsb2NrLmlzQnVzeX1cbmA7CisgICAgICAgIHRlc3RPdXRwdXQgKz0gYCNjbG9jay1k
aXNwbGF5LWNvbnRlbnRzIGlzIGJ1c3k6ICR7YXhDbG9ja1dpdGhEaXNwbGF5Q29udGVudHMuaXNC
dXN5fVxuXG5gOworICAgIH0KKworICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIpIHsKKyAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworICAgICAgICBheENs
b2NrID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJjbG9j
ayIpOworICAgICAgICBheENsb2NrV2l0aERpc3BsYXlDb250ZW50cyA9IGFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiY2xvY2stZGlzcGxheS1jb250ZW50cyIp
OworCisgICAgICAgIHRlc3RPdXRwdXQgKz0gIlZlcmlmeWluZyBpbml0aWFsIGJ1c3kgc3RhdGU6
XG5cbiI7CisgICAgICAgIHZlcmlmeUVsZW1lbnRzKCk7CisKKyAgICAgICAgY29uc3QgY2xvY2sg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2xvY2siKTsKKyAgICAgICAgY29uc3QgY2xvY2tX
aXRoRGlzcGxheUNvbnRlbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNsb2NrLWRpc3Bs
YXktY29udGVudHMiKTsKKworICAgICAgICB0ZXN0T3V0cHV0ICs9ICJTZXR0aW5nIGFyaWEtYnVz
eSB0byB0cnVlLlxuXG4iOworICAgICAgICBjbG9jay5hcmlhQnVzeSA9ICJ0cnVlIjsKKyAgICAg
ICAgY2xvY2tXaXRoRGlzcGxheUNvbnRlbnRzLmFyaWFCdXN5ID0gInRydWUiOworICAgICAgICBz
ZXRUaW1lb3V0KGFzeW5jIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgYXdhaXQgd2FpdEZvcigo
KSA9PiB7IHJldHVybiBheENsb2NrLmlzQnVzeSAmJiBheENsb2NrV2l0aERpc3BsYXlDb250ZW50
cy5pc0J1c3kgfSk7CisgICAgICAgICAgICB2ZXJpZnlFbGVtZW50cygpOworCisgICAgICAgICAg
ICB0ZXN0T3V0cHV0ICs9ICJTZXR0aW5nIGFyaWEtYnVzeSB0byBmYWxzZS5cblxuIjsKKyAgICAg
ICAgICAgIGNsb2NrLmFyaWFCdXN5ID0gImZhbHNlIjsKKyAgICAgICAgICAgIGNsb2NrV2l0aERp
c3BsYXlDb250ZW50cy5hcmlhQnVzeSA9ICJmYWxzZSI7CisgICAgICAgICAgICBhd2FpdCB3YWl0
Rm9yKCgpID0+IHsgcmV0dXJuICFheENsb2NrLmlzQnVzeSAmJiAhYXhDbG9ja1dpdGhEaXNwbGF5
Q29udGVudHMuaXNCdXN5IH0pOworICAgICAgICAgICAgdmVyaWZ5RWxlbWVudHMoKTsKKworICAg
ICAgICAgICAgZGVidWcodGVzdE91dHB1dCk7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsK
KyAgICAgICAgfSwgMCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAxZWIyMWMwMmYz
YjM1YjdhMWMxOTdkNTM2YjM5MjkxNWQ2YzQ3YzExLi5hMmU0ZDUwNWE2YWVjNjQ1ZDFmNDAyOGI5
OGE0ODcwNTI2ZmQyNWJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0
YXRpb25zCkBAIC0zNDEsNiArMzQxLDkgQEAgYWNjZXNzaWJpbGl0eS9hbmNlc3Rvci1jb21wdXRh
dGlvbi5odG1sIFsgU2tpcCBdCiAjIE5lZWQgdG8gaW1wbGVtZW50IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmRvbUlkZW50aWZpZXIoKSBmb3IgdGhpcyB0ZXN0IHRvIHBhc3MgYWZ0ZXIgd2Via2l0
Lm9yZy9iLzIzNDE5OC4KIGFjY2Vzc2liaWxpdHkvZm9jdXNhYmxlLWRpdi5odG1sIFsgU2tpcCBd
CiAKKyMgTWlzc2luZyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0J1c3kgaW1wbGVtZW50YXRp
b24uCithY2Nlc3NpYmlsaXR5L2FyaWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdl
Lmh0bWwgWyBTa2lwIF0KKwogIyBNaXNzaW5nIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVpRWxl
bWVudEZvclNlYXJjaFByZWRpY2F0ZSBpbXBsZW1lbnRhdGlvbi4KIGFjY2Vzc2liaWxpdHkvZGlz
cGxheS1jb250ZW50cy1zZWFyY2gtdHJhdmVyc2FsLmh0bWwgWyBTa2lwIF0KIGFjY2Vzc2liaWxp
dHkvc2VhcmNoLXRyYXZlcnNhbC1hZnRlci1yb2xlLWNoYW5nZS5odG1sIFsgU2tpcCBdCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDNlMGY4ZjZiOTU5YWNi
YzVjYTIzYjRjZjBmNzAyYTIxZGE1MTQ0NzkuLmIzZDU3NzUwYjk5MjNlMjMwNjU4Nzk5MDllODMy
ZmI3MmYzMjMyOTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25z
CkBAIC0yMDkzLDYgKzIwOTMsOCBAQCB3ZWJraXQub3JnL2IvMTQ4ODA2IGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1tdWx0aWNvbC9tdWx0aWNvbC1zcAogIyBFbmFibGUg
InBob25lIG51bWJlciBsaW5raWZ5aW5nIiB0ZXN0IGZvciBpT1MKIGZhc3QvZG9tL2xpbmtpZnkt
cGhvbmUtbnVtYmVycy5odG1sIFsgUGFzcyBdCiAKK2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0
eS10ZXh0LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbCBbIFBhc3MgXQorYWNjZXNz
aWJpbGl0eS9hcmlhLWJ1c3ktdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sIFsgUGFz
cyBdCiBhY2Nlc3NpYmlsaXR5L2FyaWEtaGlkZGVuLWRpc3BsYXktY29udGVudHMtZWxlbWVudC5o
dG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L2FyaWEtcmVhZG9ubHktdXBkYXRlcy1hZnRlci1k
eW5hbWljLWNoYW5nZS5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L2FyaWEtcmVxdWlyZWQt
dXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sIFsgUGFzcyBdCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LXRleHQt
dXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3MvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LXRleHQtdXBkYXRlcy1hZnRl
ci1keW5hbWljLWNoYW5nZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmNmNmVjMWVhOGM1NGYz
ZGRlY2M3Mzk2OWNhYzc1MWQ2OGE1OTA3NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktdGV4dC11cGRhdGVzLWFm
dGVyLWR5bmFtaWMtY2hhbmdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE5IEBACitUaGlzIHRl
c3QgZW5zdXJlcyBvYmplY3QgYWNjZXNzaWJpbGl0eSB0ZXh0IHVwZGF0ZXMgYWZ0ZXIgYSBkeW5h
bWljIGNoYW5nZSAoZS5nLiB2aWEgSmF2YVNjcmlwdCkuCisKK0luaXRpYWwgYnV0dG9uIGRlc2Ny
aXB0aW9uczoKKworI2FyaWEtbGFiZWwtYnV0dG9uIEFYTGFiZWw6CisjYXJpYS1sYWJlbGxlZGJ5
LWJ1dHRvbiBBWExhYmVsOgorI3RpdGxlLWJ1dHRvbiBBWExhYmVsOgorCitGaW5hbCBidXR0b24g
ZGVzY3JpcHRpb25zOgorCisjYXJpYS1sYWJlbC1idXR0b24gQVhMYWJlbDogYXJpYS1sYWJlbCBw
cm92aWRlZCBkZXNjcmlwdGlvbgorI2FyaWEtbGFiZWxsZWRieS1idXR0b24gQVhMYWJlbDogYXJp
YS1sYWJlbGxlZGJ5IHByb3ZpZGVkIGRlc2NyaXB0aW9uCisjdGl0bGUtYnV0dG9uIEFYTGFiZWw6
IHRpdGxlIHByb3ZpZGVkIGRlc2NyaXB0aW9uCisKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisgIGFyaWEtbGFiZWxsZWRieSBwcm92aWRlZCBkZXNj
cmlwdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBh
MzAwMjk2MzQ0YjBhZGY2MGNiNDg5OTJjZGM1MWFmNzA1MzQ5ODJhLi4yZjVmOTE4NDEzMjljMTlj
YmFhY2NiMzdlMzgxMjlhYzQ4ZjZhZDM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVz
dEV4cGVjdGF0aW9ucwpAQCAtNDkyLDYgKzQ5Miw4IEBAIGFjY2Vzc2liaWxpdHkvaWdub3JlLW1v
ZGFscy13aXRob3V0LWFueS1jb250ZW50Lmh0bWwgWyBTa2lwIF0KIGFjY2Vzc2liaWxpdHkvYXJp
YS1yZWFkb25seS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwgWyBTa2lwIF0KICMg
TWlzc2luZyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1JlcXVpcmVkIGltcGxlbWVudGF0aW9u
LgogYWNjZXNzaWJpbGl0eS9hcmlhLXJlcXVpcmVkLXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFu
Z2UuaHRtbCBbIFNraXAgXQorIyBNaXNzaW5nIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQnVz
eSBpbXBsZW1lbnRhdGlvbi4KK2FjY2Vzc2liaWxpdHkvYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXIt
ZHluYW1pYy1jaGFuZ2UuaHRtbCBbIFNraXAgXQogCiAjIFRPRE8gQ29uaWMgZ3JhZGllbnRzCiBo
dHRwL3dwdC9jc3MvY3NzLWltYWdlcy00L2NvbmljLWdyYWRpZW50LXBhcnNpbmcuaHRtbCBbIFNr
aXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457774</attachid>
            <date>2022-04-17 10:41:59 -0700</date>
            <delta_ts>2022-04-18 15:23:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239434-20220417124157.patch</filename>
            <type>text/plain</type>
            <size>30515</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzczODExMjRmZTU4ZDJh
MTc0MDhmOTg5MmUzYjJkYzk5ZmFmMjMxYS4uNTc0NGJlMDc1NGVjNmQwNzM0OTUwYjExZjNiYjcy
NWNiNjg1MDhjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIyLTA0LTE3ICBUeWxl
ciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFVwZGF0ZSB0aGUg
aXNvbGF0ZWQgdHJlZSBpbiByZXNwb25zZSB0byBBWEVsZW1lbnRCdXN5Q2hhbmdlZCBhbmQgQVhU
ZXh0Q2hhbmdlZCBub3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzk0MzQKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBGbGVp
emFjaC4KKworICAgICAgICBXZSBuZWVkIHRvIHVwZGF0ZSB0aGUgaXNvbGF0ZWQgdHJlZSBpbiBy
ZXNwb25zZSB0byB0aGVzZSBub3RpZmljYXRpb25zLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxz
byBtYWtlcyBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdHMgKGUuZy4gZm9yIGRpc3BsYXk6Y29udGVu
dHMgZWxlbWVudHMpCisgICAgICAgIHByb3Blcmx5IHJlcG9ydCBBWENvcmVPYmplY3Q6OmlzQnVz
eSBieSBtb3ZpbmcgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdCdzIGltcGxlbWVudGF0aW9uCisg
ICAgICAgIHRvIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LiBUaGlzIGFsc28gcmVxdWlyZWQgQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6ZWxlbWVudEF0dHJpYnV0ZVZhbHVlCisgICAgICAgIHRv
IG1vdmUgYXMgd2VsbC4KKworICAgICAgICBUZXN0czogYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmls
aXR5LXRleHQtdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sCisgICAgICAgICAgICAg
ICBhY2Nlc3NpYmlsaXR5L2FyaWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0
bWwKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjp1cGRhdGVJc29sYXRlZFRyZWUpOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmlzQnVzeSBjb25zdCk6CisgICAgICAgIE1v
dmVkIGZyb20gQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OkFj
Y2Vzc2liaWxpdHlOb2RlT2JqZWN0OjplbGVtZW50QXR0cmlidXRlVmFsdWUgY29uc3QpOgorICAg
ICAgICBNb3ZlZCBmcm9tIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuCisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5oOgorICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpB
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpzZXRFbGVtZW50QXR0cmlidXRlVmFsdWUpOgorICAg
ICAgICBEZWxldGUgdGhpcyBtZXRob2QgYXMgaXQgd2FzIHVudXNlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmVsZW1lbnRBdHRyaWJ1dGVWYWx1ZSBjb25z
dCk6CisgICAgICAgIE1vdmVkIHRvIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LgorICAgICAgICAo
V2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6aXNCdXN5IGNvbnN0KToKKyAgICAg
ICAgTW92ZWQgdG8gQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuCisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Lmg6CisKIDIwMjItMDQtMTQgIEdhYnJpZWwg
TmF2YSBNYXJpbm8gIDxnbmF2YW1hcmlub0BhcHBsZS5jb20+CiAKICAgICAgICAgU2NyaXB0RGlz
YWxsb3dlZFNjb3BlOjppc0V2ZW50QWxsb3dlZEluTWFpblRocmVhZCBhc3NlcnQgZmFpbHVyZSB3
aGVuIGFjdGl2YXRpbmcgQXVkaW9TZXNzaW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCBmYTFlOTQzYjUyMGU5ZjIxNTU0NzExZjA5Nzcy
ODgxYjRjNWM4MmFiLi5kNDhiNDRlMGIxMmVmZTQzYzE5YWZjMTgyOWE2YWJjMGZhODcyMjZiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKQEAg
LTM0MjIsMTAgKzM0MjIsMTIgQEAgdm9pZCBBWE9iamVjdENhY2hlOjp1cGRhdGVJc29sYXRlZFRy
ZWUoY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxSZWZQdHI8QVhDb3JlT2JqZWMKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBjYXNlIEFYQWN0aXZlRGVzY2VuZGFudENoYW5nZWQ6CiAgICAgICAg
IGNhc2UgQVhBcmlhUm9sZUNoYW5nZWQ6CisgICAgICAgIGNhc2UgQVhFbGVtZW50QnVzeUNoYW5n
ZWQ6CiAgICAgICAgIGNhc2UgQVhJbnZhbGlkU3RhdHVzQ2hhbmdlZDoKICAgICAgICAgY2FzZSBB
WE1lbnVMaXN0VmFsdWVDaGFuZ2VkOgogICAgICAgICBjYXNlIEFYUHJlc3NlZFN0YXRlQ2hhbmdl
ZDoKICAgICAgICAgY2FzZSBBWFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkOgorICAgICAgICBjYXNl
IEFYVGV4dENoYW5nZWQ6CiAgICAgICAgIGNhc2UgQVhWYWx1ZUNoYW5nZWQ6IHsKICAgICAgICAg
ICAgIGJvb2wgbmVlZHNVcGRhdGUgPSBhcHBlbmRJZk5vdENvbnRhaW5zTWF0Y2hpbmcoZmlsdGVy
ZWROb3RpZmljYXRpb25zLCBub3RpZmljYXRpb24sIFsmbm90aWZpY2F0aW9uXSAoY29uc3Qgc3Rk
OjpwYWlyPFJlZlB0cjxBWENvcmVPYmplY3Q+LCBBWE5vdGlmaWNhdGlvbj4mIG5vdGUpIHsKICAg
ICAgICAgICAgICAgICByZXR1cm4gbm90ZS5zZWNvbmQgPT0gbm90aWZpY2F0aW9uLnNlY29uZCAm
JiBub3RlLmZpcnN0LmdldCgpID09IG5vdGlmaWNhdGlvbi5maXJzdC5nZXQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVj
dC5jcHAKaW5kZXggZDY1YjNjNTcxZWJiNGQxMTU3NmU5ZTA3MzAwNDJkNjYxNGVkMTI2NS4uYjI4
ZTk5OTdhZDNlMTA0MzNhOTljMDA4ZGQ5MDNhYmY5MmFlYWQ3ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAK
QEAgLTk5MCw2ICs5OTAsMTEgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6aXNMaW5r
KCkgY29uc3QKICAgICByZXR1cm4gcm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6Oldl
YkNvcmVMaW5rOwogfQogCitib29sIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojppc0J1c3koKSBj
b25zdAoreworICAgIHJldHVybiBlbGVtZW50QXR0cmlidXRlVmFsdWUoYXJpYV9idXN5QXR0cik7
Cit9CisKIGJvb2wgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmlzQ29udHJvbCgpIGNvbnN0CiB7
CiAgICAgTm9kZSogbm9kZSA9IHRoaXMtPm5vZGUoKTsKQEAgLTEyOTQsNiArMTI5OSwxMSBAQCB2
b2lkIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjpjaGFuZ2VWYWx1ZUJ5UGVyY2VudChmbG9hdCBw
ZXJjZW50Q2hhbmdlKQogICAgIHNldE5vZGVWYWx1ZShwZXJjZW50Q2hhbmdlID4gMCwgdmFsdWUp
OwogfQogCitib29sIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjplbGVtZW50QXR0cmlidXRlVmFs
dWUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgY29uc3QKK3sKKyAgICByZXR1
cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5h
bWUpLCAidHJ1ZSIpOworfQorCiBib29sIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojppc0dlbmVy
aWNGb2N1c2FibGVFbGVtZW50KCkgY29uc3QKIHsKICAgICBpZiAoIWNhblNldEZvY3VzQXR0cmli
dXRlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0LmgKaW5kZXggZjU2N2IwM2FjNDY1OWJjZDFlOGFkZTMzN2ZlOTVlMTRi
ZDYzMzJlYy4uZTBiZDg4MjYzZTFiODk4MGJmOTZkMzYwOTZjNzdkNzAwMzhlOGY0NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVj
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVP
YmplY3QuaApAQCAtNTMsNiArNTMsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGNhbnZhc0hhc0Zh
bGxiYWNrQ29udGVudCgpIGNvbnN0IG92ZXJyaWRlOwogCisgICAgYm9vbCBpc0J1c3koKSBjb25z
dCBvdmVycmlkZTsKICAgICBib29sIGlzQ29udHJvbCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJv
b2wgaXNGaWVsZHNldCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgaXNHcm91cCgpIGNvbnN0
IG92ZXJyaWRlOwpAQCAtMTcwLDYgKzE3MSw4IEBAIHByb3RlY3RlZDoKICAgICAvLyBUaGlzIHJl
dHVybnMgdHJ1ZSBpZiBpdCdzIGZvY3VzYWJsZSBidXQgaXQncyBub3QgY29udGVudCBlZGl0YWJs
ZSBhbmQgaXQncyBub3QgYSBjb250cm9sIG9yIEFSSUEgY29udHJvbC4KICAgICBib29sIGlzR2Vu
ZXJpY0ZvY3VzYWJsZUVsZW1lbnQoKSBjb25zdDsKIAorICAgIGJvb2wgZWxlbWVudEF0dHJpYnV0
ZVZhbHVlKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdDsKKwogICAgIGJvb2wgaXNMYWJlbGFi
bGUoKSBjb25zdDsKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JyZXNwb25kaW5nQ29udHJv
bEZvckxhYmVsRWxlbWVudCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIEFjY2Vzc2liaWxpdHlPYmpl
Y3QqIGNvcnJlc3BvbmRpbmdMYWJlbEZvckNvbnRyb2xFbGVtZW50KCkgY29uc3Qgb3ZlcnJpZGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCAwMDUwZGUxNmMwY2JkN2YwNjU3NjliYzU4MjY0YjYx
MTY4ZWRjZDk0Li4yZjFkNjA0MjAwNmRiMGM3ZTc2NTUyYzllZWY3MWViY2UzNTlmYjNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAKQEAgLTE3NzcsMjYgKzE3NzcsNiBAQCBib29sIEFjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3Q6OmlzVmlzaXRlZCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcmVuZGVyZXIt
PnN0eWxlKCkuaXNMaW5rKCkgJiYgbV9yZW5kZXJlci0+c3R5bGUoKS5pbnNpZGVMaW5rKCkgPT0g
SW5zaWRlTGluazo6SW5zaWRlVmlzaXRlZDsKIH0KIAotdm9pZCBBY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0OjpzZXRFbGVtZW50QXR0cmlidXRlVmFsdWUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0
cmlidXRlTmFtZSwgYm9vbCB2YWx1ZSkKLXsKLSAgICBpZiAoIW1fcmVuZGVyZXIpCi0gICAgICAg
IHJldHVybjsKLSAgICAKLSAgICBOb2RlKiBub2RlID0gbV9yZW5kZXJlci0+bm9kZSgpOwotICAg
IGlmICghaXM8RWxlbWVudD4obm9kZSkpCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBkb3du
Y2FzdDxFbGVtZW50Pigqbm9kZSkuc2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUsICh2YWx1ZSkg
PyAidHJ1ZSJfcyA6ICJmYWxzZSJfcyk7Ci19Ci0gICAgCi1ib29sIEFjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3Q6OmVsZW1lbnRBdHRyaWJ1dGVWYWx1ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRy
aWJ1dGVOYW1lKSBjb25zdAotewotICAgIGlmICghbV9yZW5kZXJlcikKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIAotICAgIHJldHVybiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShn
ZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSksICJ0cnVlIik7Ci19Ci0gICAgCiBib29sIEFjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3Q6OmlzU2VsZWN0ZWQoKSBjb25zdAogewogICAgIGlmICghbV9y
ZW5kZXJlcikKQEAgLTMzODcsMTEgKzMzNjcsNiBAQCBib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3Q6OmxpdmVSZWdpb25BdG9taWMoKSBjb25zdAogICAgIH0KIH0KIAotYm9vbCBBY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0Ojppc0J1c3koKSBjb25zdAotewotICAgIHJldHVybiBlbGVtZW50
QXR0cmlidXRlVmFsdWUoYXJpYV9idXN5QXR0cik7Ci19Ci0KIGJvb2wgQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdDo6Y2FuSGF2ZVNlbGVjdGVkQ2hpbGRyZW4oKSBjb25zdAogewogICAgIHN3aXRj
aCAocm9sZVZhbHVlKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgKaW5kZXggMmIwNDVkYTMyYzRmOTc3MWQw
NDI0MDM0MGZlYzkyZGEzZDQwMTgxNi4uNjU0MTU1NDg4YmJkMjUyMzA0Y2E3MjU1ZmQ0MjM4YWUx
MzdkNTRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgKQEAgLTI2NiwxNSArMjY2LDExIEBAIHByaXZhdGU6
CiAgICAgCiAgICAgdm9pZCBhcmlhU2VsZWN0ZWRSb3dzKEFjY2Vzc2liaWxpdHlDaGlsZHJlblZl
Y3RvciYpOwogICAgIAotICAgIGJvb2wgZWxlbWVudEF0dHJpYnV0ZVZhbHVlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmKSBjb25zdDsKLSAgICB2b2lkIHNldEVsZW1lbnRBdHRyaWJ1dGVWYWx1ZShjb25z
dCBRdWFsaWZpZWROYW1lJiwgYm9vbCk7Ci0gICAgCiAgICAgT3B0aW9uU2V0PFNwZWFrQXM+IHNw
ZWFrQXNQcm9wZXJ0eSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIAogICAgIGNvbnN0IFN0cmluZyBs
aXZlUmVnaW9uU3RhdHVzKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgY29uc3QgU3RyaW5nIGxpdmVS
ZWdpb25SZWxldmFudCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgbGl2ZVJlZ2lvbkF0b21p
YygpIGNvbnN0IG92ZXJyaWRlOwotICAgIGJvb2wgaXNCdXN5KCkgY29uc3Qgb3ZlcnJpZGU7CiAK
ICAgICBib29sIGluaGVyaXRzUHJlc2VudGF0aW9uYWxSb2xlKCkgY29uc3Qgb3ZlcnJpZGU7CiAK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwMDhl
MDljMjg1MDYzOWVjMjRlMzk3ZGE3MGY4Zjk3NWQ3NjUzYjkyLi5mYjc4YWUzZWI0NjliYmI3ZTkz
ZDE3YjY5ZDQxYjI2ODY5MzNkYzA5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjItMDQtMTcgIFR5bGVyIFdpbGNv
Y2sgIDx0eWxlcl93QGFwcGxlLmNvbT4KKworICAgICAgICBBWDogVXBkYXRlIHRoZSBpc29sYXRl
ZCB0cmVlIGluIHJlc3BvbnNlIHRvIEFYRWxlbWVudEJ1c3lDaGFuZ2VkIGFuZCBBWFRleHRDaGFu
Z2VkIG5vdGlmaWNhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzOTQzNAorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIEZsZWl6YWNoLgor
CisgICAgICAgIEFkZGVkIG5lY2Vzc2FyeSB0b29saW5nIHRvIGVuYWJsZSBxdWVyeWluZyBBWCBv
YmplY3QgYnVzeSBzdGF0ZSBmb3IKKyAgICAgICAgdGhlIHRlc3QgYWRkZWQgd2l0aCB0aGlzIHBh
dGNoLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5j
cHA6CisgICAgICAgIChnZXRJc0J1c3lDYWxsYmFjayk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpnZXRKU0NsYXNzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Lmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvaW9zL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnRJT1MubW06CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpp
c0J1c3kgY29uc3QpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5
VUlFbGVtZW50TWFjLm1tOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5
IGNvbnN0KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxl
bWVudFdpbi5jcHA6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0J1c3kgY29u
c3QpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudC5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5pZGw6CisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRz
cGkuY3BwOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0J1c3kgY29u
c3QpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRJT1MubW06CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmlzQnVzeSBjb25zdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbToKKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5IGNvbnN0KToKKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNw
cDoKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5IGNvbnN0KToK
KwogMjAyMi0wNC0xNCAgSm9obiBDdW5uaW5naGFtICA8am9obmN1bm5pbmdoYW1AYXBwbGUuY29t
PgogCiAgICAgICAgIFJlcGxhY2UgUGFpbnRDb21wb3NpdGVkUmVzdWx0c1RvTWVkaWFTYW1wbGUg
d2l0aCBQYWludENvbXBvc2l0ZWRSZXN1bHRzVG9WaWRlb0ZyYW1lIGluIGdlbmVyYXRlLWdwdXAt
d2ViZ2wKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5j
cHAKaW5kZXggMzgwZDdiNmE2YWNhN2IyYmNlNTcwMzE5YWYwZjgyYzAzODgzZDliMy4uZTU2OTI2
MDhiNWJhMmNmMWE2YjkwM2FiOGFjYzQ3MmVkNWQyNmQxZiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAKQEAgLTEzMjcsNiArMTMyNywxMSBA
QCBzdGF0aWMgSlNWYWx1ZVJlZiBnZXRTZWxlY3RlZFRleHRSYW5nZUNhbGxiYWNrKEpTQ29udGV4
dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZgogICAgIHJldHVybiBKU1ZhbHVlTWFrZVN0cmluZyhj
b250ZXh0LCBzZWxlY3RlZFRleHRSYW5nZS5nZXQoKSk7CiB9CiAKK3N0YXRpYyBKU1ZhbHVlUmVm
IGdldElzQnVzeUNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB0aGlz
T2JqZWN0LCBKU1N0cmluZ1JlZiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikK
K3sKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VCb29sZWFuKGNvbnRleHQsIHRvQVhFbGVtZW50KHRo
aXNPYmplY3QpLT5pc0J1c3koKSk7Cit9CisKIHN0YXRpYyBKU1ZhbHVlUmVmIGdldElzRW5hYmxl
ZENhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBK
U1N0cmluZ1JlZiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKIHsKICAgICBy
ZXR1cm4gSlNWYWx1ZU1ha2VCb29sZWFuKGNvbnRleHQsIHRvQVhFbGVtZW50KHRoaXNPYmplY3Qp
LT5pc0VuYWJsZWQoKSk7CkBAIC0xOTI0LDYgKzE5MjksNyBAQCBKU0NsYXNzUmVmIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmdldEpTQ2xhc3MoKQogICAgICAgICB7ICJjb2x1bW5Db3VudCIsIGNv
bHVtbkNvdW50Q2FsbGJhY2ssIDAsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAiaW5zZXJ0aW9uUG9pbnRM
aW5lTnVtYmVyIiwgZ2V0SW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyQ2FsbGJhY2ssIDAsIGtKU1By
b3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUg
fSwKICAgICAgICAgeyAic2VsZWN0ZWRUZXh0UmFuZ2UiLCBnZXRTZWxlY3RlZFRleHRSYW5nZUNh
bGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRy
aWJ1dGVEb250RGVsZXRlIH0sCisgICAgICAgIHsgImlzQnVzeSIsIGdldElzQnVzeUNhbGxiYWNr
LCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVE
b250RGVsZXRlIH0sCiAgICAgICAgIHsgImlzRW5hYmxlZCIsIGdldElzRW5hYmxlZENhbGxiYWNr
LCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVE
b250RGVsZXRlIH0sCiAgICAgICAgIHsgImlzUmVxdWlyZWQiLCBnZXRJc1JlcXVpcmVkQ2FsbGJh
Y2ssIDAsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAiaXNGb2N1c2VkIiwgZ2V0SXNGb2N1c2VkQ2FsbGJh
Y2ssIDAsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZURvbnREZWxldGUgfSwKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnQuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQuaAppbmRleCBiMmUzMzYxYjg3ZGZkMzQxYmUzZjhhN2JkZTU0NDA4YjVmYWExZTcxLi5j
MTIxNjkwMzNkOTk0NjU5ZmNlZmJlM2RlNzkxNTBmNjkyMTJiMmJjIDEwMDY0NAotLS0gYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCkBAIC0xNDUsNiArMTQ1LDcgQEAg
cHVibGljOgogICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiB2YWx1ZURlc2NyaXB0aW9uKCk7
CiAgICAgaW50IGluc2VydGlvblBvaW50TGluZU51bWJlcigpOwogICAgIEpTUmV0YWluUHRyPEpT
U3RyaW5nUmVmPiBzZWxlY3RlZFRleHRSYW5nZSgpOworICAgIGJvb2wgaXNCdXN5KCkgY29uc3Q7
CiAgICAgYm9vbCBpc0VuYWJsZWQoKTsKICAgICBib29sIGlzUmVxdWlyZWQoKSBjb25zdDsKICAg
ICAKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50SU9TLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRJT1MubW0KaW5kZXggNTcwNWM3Yzk4NGRjM2JlZjY4ZjZmNDE3OWFkNWFlOWM3NTQ1YWQ2
Yy4uOTVhYzc1OTkyNzllMTY0ZmViMzc2N2MwNTYyMzk1MjY1Y2E5ZDJlNyAxMDA2NDQKLS0tIGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0KKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0K
QEAgLTc0LDYgKzc0LDcgQEAgdHlwZWRlZiB2b2lkICgqQVhQb3N0ZWROb3RpZmljYXRpb25DYWxs
YmFjaykoaWQgZWxlbWVudCwgTlNTdHJpbmcqIG5vdGlmaWNhdGlvbiwKIC0gKE5TVUludGVnZXIp
YWNjZXNzaWJpbGl0eUFSSUFDb2x1bW5Db3VudDsKIC0gKE5TVUludGVnZXIpYWNjZXNzaWJpbGl0
eUFSSUFSb3dJbmRleDsKIC0gKE5TVUludGVnZXIpYWNjZXNzaWJpbGl0eUFSSUFDb2x1bW5JbmRl
eDsKKy0gKEJPT0wpYWNjZXNzaWJpbGl0eUFSSUFJc0J1c3k7CiAtIChVSUFjY2Vzc2liaWxpdHlU
cmFpdHMpX2F4Q29udGFpbmVkQnlGaWVsZHNldFRyYWl0OwogLSAoaWQpX2FjY2Vzc2liaWxpdHlG
aWVsZHNldEFuY2VzdG9yOwogLSAoQk9PTClfYWNjZXNzaWJpbGl0eUhhc1RvdWNoRXZlbnRMaXN0
ZW5lcjsKQEAgLTg2MSw2ICs4NjIsMTEgQEAgaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omlu
c2VydGlvblBvaW50TGluZU51bWJlcigpCiAgICAgcmV0dXJuIC0xOwogfQogCitib29sIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmlzQnVzeSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFttX2VsZW1l
bnQgYWNjZXNzaWJpbGl0eUFSSUFJc0J1c3ldOworfQorCiBib29sIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmlzRW5hYmxlZCgpCiB7CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0gYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQppbmRleCA2
NTkzOTAzMTU2Y2M1NWJhODgxN2I0MTFkN2RjMGViMGIyOGRlZTVhLi4xYmQ0ZjMwZmUwMGU3OTI5
NDVkYzUxMjcxNzI5YzkxYzQyZDAxODRkIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQpAQCAtODUyLDYgKzg1MiwxMSBA
QCBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVk
KCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
aXNCdXN5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEAiQVhFbGVt
ZW50QnVzeSIpOworfQorCiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRW5hYmxlZCgp
CiB7CiAgICAgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1ZShOU0FjY2Vzc2liaWxpdHlFbmFibGVk
QXR0cmlidXRlKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50V2luLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50V2luLmNwcAppbmRleCA0MDE2MjMxOWRhNTY4ZTYzYzg3ODI3NmVlODkw
OTE1NmFhNzgyNjhmLi40MWEyYjZmMDQ1YjU4MTRkMDE5NmEzZWU4ZmQ2OWYyNTEwYjE5NzA4IDEw
MDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dFdpbi5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRXaW4uY3BwCkBAIC01NzEsNiArNTcxLDEyIEBAIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6aXNEZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKQogICAgIHJldHVybiBmYWxzZTsKIH0K
IAorYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0J1c3koKSBjb25zdAoreworICAgIC8v
IEZJWE1FOiBJbXBsZW1lbnQuCisgICAgcmV0dXJuIGZhbHNlOworfQorCiBib29sIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmlzRW5hYmxlZCgpCiB7CiAgICAgRFdPUkQgc3RhdGUgPSBhY2Nlc3Np
YmlsaXR5U3RhdGUobV9lbGVtZW50KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKaW5kZXgg
ZmIxYTY0NmY5NDFhNDRlMTg0YzVmMDQzYTVmNjIxNmFkNTFmNGUxYi4uMjI2YTRhNzhiMzU5NzFm
NTViZTNkY2Q4ZjEyMTViODU4YWZiZDM0YiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgK
QEAgLTE2Niw2ICsxNjYsNyBAQCBwdWJsaWM6CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IHZhbHVlRGVzY3JpcHRpb24oKTsKICAgICBpbnQgaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyKCk7
CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHNlbGVjdGVkVGV4dFJhbmdlKCk7CisgICAg
Ym9vbCBpc0J1c3koKSBjb25zdDsKICAgICBib29sIGlzRW5hYmxlZCgpOwogICAgIGJvb2wgaXNS
ZXF1aXJlZCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50LmlkbAppbmRleCA5MDIyNTczYzUzMWFiNzE3Y2Y5ZTA3YjRjYWYwOWVlYmJmYWNmYzY1
Li45YWVkZDViMjk4ZTU4N2FiMDQ4ODY1ZWUyMGFmYWU5NmRjNDJmY2YyIDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxp
dHlVSUVsZW1lbnQuaWRsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5pZGwKQEAgLTgyLDYgKzgyLDcgQEAK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBtaW5WYWx1ZTsKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgbG9uZyBtYXhWYWx1ZTsKICAgICAKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVh
biBpc0J1c3k7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNFbmFibGVkOwogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzUmVxdWlyZWQ7CiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGJvb2xlYW4gaXNGb2N1c2VkOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRzcGkuY3Bw
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50QXRzcGkuY3BwCmluZGV4IDg5NWYyZTY5OTAzNTcyYzY3OGM3YTYyNTcyZDIy
YzcxZWRhODE2NzkuLmNlMWIyODg2MzMzODljZmRiMDQ4MDAzNmY2NmVmMDk3NmQ1M2U2ZGYgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudEF0c3BpLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHAKQEAg
LTEwMjUsNiArMTAyNSwxMiBAQCBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVt
ZW50QWN0aW9uU3VwcG9ydGVkKCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5KCkgY29uc3QKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVt
ZW50LgorICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Ojppc0VuYWJsZWQoKQogewogICAgIG1fZWxlbWVudC0+dXBkYXRlQmFja2luZ1N0b3JlKCk7CmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbQppbmRleCAwYzkzM2I0ZWJh
YTJkZjM2YzdjOWJlYzM0Njk4ZTA5M2FiNDRhNjdmLi4xYmU4OWM5YWYwMThkZTAzNDU1YzZkYjMz
ODViYjI5OTY5Nzk0NDNlIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJ
T1MubW0KQEAgLTgyLDYgKzgyLDcgQEAgdHlwZWRlZiB2b2lkICgqQVhQb3N0ZWROb3RpZmljYXRp
b25DYWxsYmFjaykoaWQgZWxlbWVudCwgTlNTdHJpbmcqIG5vdGlmaWNhdGlvbiwKIC0gKE5TVUlu
dGVnZXIpYWNjZXNzaWJpbGl0eUFSSUFDb2x1bW5Db3VudDsKIC0gKE5TVUludGVnZXIpYWNjZXNz
aWJpbGl0eUFSSUFSb3dJbmRleDsKIC0gKE5TVUludGVnZXIpYWNjZXNzaWJpbGl0eUFSSUFDb2x1
bW5JbmRleDsKKy0gKEJPT0wpYWNjZXNzaWJpbGl0eUFSSUFJc0J1c3k7CiAtIChOU1N0cmluZyAq
KWFjY2Vzc2liaWxpdHlJbnZhbGlkU3RhdHVzOwogLSAoVUlBY2Nlc3NpYmlsaXR5VHJhaXRzKV9h
eENvbnRhaW5lZEJ5RmllbGRzZXRUcmFpdDsKIC0gKGlkKV9hY2Nlc3NpYmlsaXR5RmllbGRzZXRB
bmNlc3RvcjsKQEAgLTYzMSw2ICs2MzIsMTEgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Ojppc0RlY3JlbWVudEFjdGlvblN1cHBvcnRlZCgpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCiti
b29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQnVzeSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUFSSUFJc0J1c3ldOworfQorCiBib29sIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmlzRW5hYmxlZCgpCiB7CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudE1hYy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0KaW5kZXggOTBiNDJmOTYxYjcwZGIz
MzlmN2IzMGZkNmYxMDFjZDk2OTc1ZTYzMS4uYTMwYmJjMDIwMmNjY2Q0N2Q3MjQzZDA2Y2FjODJk
YjlkNDdmNGViNCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1t
CkBAIC05ODIsNiArOTgyLDExIEBAIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNEZWNy
ZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojppc0J1c3koKSBjb25zdAoreworICAgIHJldHVybiBib29sQXR0
cmlidXRlVmFsdWUoQCJBWEVsZW1lbnRCdXN5Iik7Cit9CisKIGJvb2wgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6aXNFbmFibGVkKCkKIHsKICAgICByZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKE5T
QWNjZXNzaWJpbGl0eUVuYWJsZWRBdHRyaWJ1dGUpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5j
cHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dpbi9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50V2luLmNwcAppbmRleCAxNjU1NTdkNDZkNDU3MDI0ZjlmNmZiNzQ0MDgxMDQ2
ZDQ2ZGRmYThkLi4zOTYyNTkzNWY2ODMzM2I4OWFiNTk1OTA1ZmI0ZDcyM2E2MWJiY2NmIDEwMDY0
NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3dpbi9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50V2luLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNwcApAQCAtNDAwLDYgKzQw
MCwxMiBAQCBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3Vw
cG9ydGVkKCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6aXNCdXN5KCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVy
biBmYWxzZTsKK30KKwogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0VuYWJsZWQoKQog
ewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2ZkODE2ZGM2NGNlMmZiYzliNGM4MzY4
NDIwY2JmNjliZWNiNTlhMC4uNTgwMjk2MjZiYmY5Y2Y4MWMwNWUxNzE2N2UxN2Y2YzkzNGUyNGI4
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIyLTA0LTE3ICBUeWxlciBXaWxjb2NrICA8dHls
ZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFVwZGF0ZSB0aGUgaXNvbGF0ZWQgdHJlZSBp
biByZXNwb25zZSB0byBBWEVsZW1lbnRCdXN5Q2hhbmdlZCBhbmQgQVhUZXh0Q2hhbmdlZCBub3Rp
ZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzk0MzQKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBGbGVpemFjaC4KKworICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS10ZXh0LXVwZGF0ZXMtYWZ0ZXItZHluYW1p
Yy1jaGFuZ2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2Fj
Y2Vzc2liaWxpdHktdGV4dC11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1p
Yy1jaGFuZ2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2Fy
aWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgU2tpcCBuZXcgdGVz
dC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgRW5h
YmxlIG5ldyB0ZXN0cy4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvYWNjZXNzaWJpbGl0eS9hY2Nl
c3NpYmlsaXR5LXRleHQtdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAg
ICBTa2lwIGFyaWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwuCisKIDIw
MjItMDQtMTQgIEthcmwgUmFja2xlciAgPHJhY2tsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFsg
TWFjIF0gZWRpdGluZy9leGVjQ29tbWFuZC9pbnNlcnQtb3JkZXJlZC1saXN0LWFuZC1kZWxldGUu
aHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvYWNjZXNzaWJpbGl0eS10ZXh0LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LXRleHQt
dXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWY2
OTRlNzg2NmEzNDdmMzY1YmJkMzI2NTI1YmEzNDJiNzY0ZjVmMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS10ZXh0LXVwZGF0ZXMtYWZ0
ZXItZHluYW1pYy1jaGFuZ2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTkgQEAKK1RoaXMgdGVz
dCBlbnN1cmVzIG9iamVjdCBhY2Nlc3NpYmlsaXR5IHRleHQgdXBkYXRlcyBhZnRlciBhIGR5bmFt
aWMgY2hhbmdlIChlLmcuIHZpYSBKYXZhU2NyaXB0KS4KKworSW5pdGlhbCBidXR0b24gZGVzY3Jp
cHRpb25zOgorCisjYXJpYS1sYWJlbC1idXR0b24gQVhEZXNjcmlwdGlvbjoKKyNhcmlhLWxhYmVs
bGVkYnktYnV0dG9uIEFYRGVzY3JpcHRpb246CisjdGl0bGUtYnV0dG9uIEFYRGVzY3JpcHRpb246
CisKK0ZpbmFsIGJ1dHRvbiBkZXNjcmlwdGlvbnM6CisKKyNhcmlhLWxhYmVsLWJ1dHRvbiBBWERl
c2NyaXB0aW9uOiBhcmlhLWxhYmVsIHByb3ZpZGVkIGRlc2NyaXB0aW9uCisjYXJpYS1sYWJlbGxl
ZGJ5LWJ1dHRvbiBBWERlc2NyaXB0aW9uOiBhcmlhLWxhYmVsbGVkYnkgcHJvdmlkZWQgZGVzY3Jp
cHRpb24KKyN0aXRsZS1idXR0b24gQVhEZXNjcmlwdGlvbjogdGl0bGUgcHJvdmlkZWQgZGVzY3Jp
cHRpb24KKworCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKyAgYXJpYS1sYWJlbGxlZGJ5IHByb3ZpZGVkIGRlc2NyaXB0aW9uCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktdGV4dC11cGRhdGVzLWFmdGVy
LWR5bmFtaWMtY2hhbmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2li
aWxpdHktdGV4dC11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTFiYTNkYmMxNWQ5YTEzYjM3MjVkYjUwNDNkZWY1NDJhMzYwNjYwMAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS10ZXh0LXVwZGF0ZXMt
YWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbApAQCAtMCwwICsxLDUzIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvYWNjZXNzaWJpbGl0eS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+CisKKzxidXR0b24gaWQ9ImFyaWEtbGFiZWwtYnV0dG9uIj48L2J1dHRvbj4KKzxidXR0
b24gaWQ9ImFyaWEtbGFiZWxsZWRieS1idXR0b24iPjwvYnV0dG9uPgorPHNwYW4gaWQ9ImxhYmVs
Ij5hcmlhLWxhYmVsbGVkYnkgcHJvdmlkZWQgZGVzY3JpcHRpb248L3NwYW4+Cis8YnV0dG9uIGlk
PSJ0aXRsZS1idXR0b24iPjwvYnV0dG9uPgorCis8c2NyaXB0PgorICAgIHZhciB0ZXN0T3V0cHV0
ID0gIlRoaXMgdGVzdCBlbnN1cmVzIG9iamVjdCBhY2Nlc3NpYmlsaXR5IHRleHQgdXBkYXRlcyBh
ZnRlciBhIGR5bmFtaWMgY2hhbmdlIChlLmcuIHZpYSBKYXZhU2NyaXB0KS5cblxuIjsKKyAgICB2
YXIgYXJpYUxhYmVsQnV0dG9uLCBhcmlhTGFiZWxsZWRCeUJ1dHRvbiwgdGl0bGVCdXR0b247CisK
KyAgICBmdW5jdGlvbiB2ZXJpZnlCdXR0b25zKCkgeworICAgICAgICB0ZXN0T3V0cHV0ICs9IGAj
YXJpYS1sYWJlbC1idXR0b24gJHthcmlhTGFiZWxCdXR0b24uZGVzY3JpcHRpb259XG5gOworICAg
ICAgICB0ZXN0T3V0cHV0ICs9IGAjYXJpYS1sYWJlbGxlZGJ5LWJ1dHRvbiAke2FyaWFMYWJlbGxl
ZEJ5QnV0dG9uLmRlc2NyaXB0aW9ufVxuYDsKKyAgICAgICAgdGVzdE91dHB1dCArPSBgI3RpdGxl
LWJ1dHRvbiAke3RpdGxlQnV0dG9uLmRlc2NyaXB0aW9ufVxuXG5gOworICAgIH0KKworICAgIGlm
ICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAgICAgICAgd2luZG93LmpzVGVz
dElzQXN5bmMgPSB0cnVlOworCisgICAgICAgIGFyaWFMYWJlbEJ1dHRvbiA9IGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiYXJpYS1sYWJlbC1idXR0b24iKTsK
KyAgICAgICAgYXJpYUxhYmVsbGVkQnlCdXR0b24gPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5h
Y2Nlc3NpYmxlRWxlbWVudEJ5SWQoImFyaWEtbGFiZWxsZWRieS1idXR0b24iKTsKKyAgICAgICAg
dGl0bGVCdXR0b24gPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5
SWQoInRpdGxlLWJ1dHRvbiIpOworICAgICAgICB0ZXN0T3V0cHV0ICs9ICJJbml0aWFsIGJ1dHRv
biBkZXNjcmlwdGlvbnM6XG5cbiI7CisgICAgICAgIHZlcmlmeUJ1dHRvbnMoKTsKKworICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJpYS1sYWJlbC1idXR0b24iKS5hcmlhTGFiZWwg
PSAiYXJpYS1sYWJlbCBwcm92aWRlZCBkZXNjcmlwdGlvbiI7CisgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJhcmlhLWxhYmVsbGVkYnktYnV0dG9uIikuc2V0QXR0cmlidXRlKCJhcmlh
LWxhYmVsbGVkYnkiLCAibGFiZWwiKTsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InRpdGxlLWJ1dHRvbiIpLnRpdGxlID0gInRpdGxlIHByb3ZpZGVkIGRlc2NyaXB0aW9uIjsKKyAg
ICAgICAgc2V0VGltZW91dChhc3luYyBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGF3YWl0IHdh
aXRGb3IoKCkgPT4geworICAgICAgICAgICAgICAgIHJldHVybiBhcmlhTGFiZWxCdXR0b24uZGVz
Y3JpcHRpb24uaW5jbHVkZXMoImFyaWEtbGFiZWwiKQorICAgICAgICAgICAgICAgICAgICAmJiBh
cmlhTGFiZWxsZWRCeUJ1dHRvbi5kZXNjcmlwdGlvbi5pbmNsdWRlcygiYXJpYS1sYWJlbGxlZGJ5
IikKKyAgICAgICAgICAgICAgICAgICAgJiYgdGl0bGVCdXR0b24uZGVzY3JpcHRpb24uaW5jbHVk
ZXMoInRpdGxlIik7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIHRlc3RPdXRwdXQgKz0g
IkZpbmFsIGJ1dHRvbiBkZXNjcmlwdGlvbnM6XG5cbiI7CisgICAgICAgICAgICB2ZXJpZnlCdXR0
b25zKCk7CisKKyAgICAgICAgICAgIGRlYnVnKHRlc3RPdXRwdXQpOworICAgICAgICAgICAgZmlu
aXNoSlNUZXN0KCk7CisgICAgICAgIH0sIDApOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1i
dXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9hcmlhLWJ1c3ktdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGYzYzVlYzFhM2E0Mzc3M2UxMzU0NTc3Y2QzMmNlMzJm
YWYyZjM2YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJp
YS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMjQgQEAKK1RoaXMgdGVzdCBlbnN1cmVzIHRoYXQgYW4gZWxlbWVudCdzIGJ1c3kgc3RhdGUg
dXBkYXRlcyBhcmlhLWJ1c3kgY2hhbmdlcy4KKworVmVyaWZ5aW5nIGluaXRpYWwgYnVzeSBzdGF0
ZToKKworI2Nsb2NrIGlzIGJ1c3k6IGZhbHNlCisjY2xvY2stZGlzcGxheS1jb250ZW50cyBpcyBi
dXN5OiBmYWxzZQorCitTZXR0aW5nIGFyaWEtYnVzeSB0byB0cnVlLgorCisjY2xvY2sgaXMgYnVz
eTogdHJ1ZQorI2Nsb2NrLWRpc3BsYXktY29udGVudHMgaXMgYnVzeTogdHJ1ZQorCitTZXR0aW5n
IGFyaWEtYnVzeSB0byBmYWxzZS4KKworI2Nsb2NrIGlzIGJ1c3k6IGZhbHNlCisjY2xvY2stZGlz
cGxheS1jb250ZW50cyBpcyBidXN5OiBmYWxzZQorCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorMjozMHBtCis0OjMwcG0KKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWJ1c3ktdXBkYXRlcy1hZnRlci1keW5hbWlj
LWNoYW5nZS5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWJ1c3ktdXBkYXRl
cy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjZjkxNjhkYjRhMWM3MTM1
YmJlZGViZTEzYmYyZWExZjJkZDZhMmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2FyaWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwK
QEAgLTAsMCArMSw1MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2FjY2Vzc2liaWxpdHkt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IGlkPSJjbG9jayIg
cm9sZT0idGltZXIiIGFyaWEtbGl2ZT0icG9saXRlIiBhcmlhLWF0b21pYz0idHJ1ZSI+MjozMHBt
PC9kaXY+Cis8ZGl2IGlkPSJjbG9jay1kaXNwbGF5LWNvbnRlbnRzIiBzdHlsZT0iZGlzcGxheTog
Y29udGVudHMiIHJvbGU9InRpbWVyIiBhcmlhLWxpdmU9InBvbGl0ZSIgYXJpYS1hdG9taWM9InRy
dWUiPjQ6MzBwbTwvZGl2PgorCis8c2NyaXB0PgorICAgIHZhciB0ZXN0T3V0cHV0ID0gIlRoaXMg
dGVzdCBlbnN1cmVzIHRoYXQgYW4gZWxlbWVudCdzIGJ1c3kgc3RhdGUgdXBkYXRlcyBhcmlhLWJ1
c3kgY2hhbmdlcy5cblxuIjsKKworICAgIHZhciBheENsb2NrLCBheENsb2NrV2l0aERpc3BsYXlD
b250ZW50czsKKyAgICBmdW5jdGlvbiB2ZXJpZnlFbGVtZW50cygpIHsKKyAgICAgICAgdGVzdE91
dHB1dCArPSBgI2Nsb2NrIGlzIGJ1c3k6ICR7YXhDbG9jay5pc0J1c3l9XG5gOworICAgICAgICB0
ZXN0T3V0cHV0ICs9IGAjY2xvY2stZGlzcGxheS1jb250ZW50cyBpcyBidXN5OiAke2F4Q2xvY2tX
aXRoRGlzcGxheUNvbnRlbnRzLmlzQnVzeX1cblxuYDsKKyAgICB9CisKKyAgICBpZiAod2luZG93
LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKyAgICAgICAgYXhDbG9jayA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vz
c2libGVFbGVtZW50QnlJZCgiY2xvY2siKTsKKyAgICAgICAgYXhDbG9ja1dpdGhEaXNwbGF5Q29u
dGVudHMgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImNs
b2NrLWRpc3BsYXktY29udGVudHMiKTsKKworICAgICAgICB0ZXN0T3V0cHV0ICs9ICJWZXJpZnlp
bmcgaW5pdGlhbCBidXN5IHN0YXRlOlxuXG4iOworICAgICAgICB2ZXJpZnlFbGVtZW50cygpOwor
CisgICAgICAgIGNvbnN0IGNsb2NrID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNsb2NrIik7
CisgICAgICAgIGNvbnN0IGNsb2NrV2l0aERpc3BsYXlDb250ZW50cyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjbG9jay1kaXNwbGF5LWNvbnRlbnRzIik7CisKKyAgICAgICAgdGVzdE91dHB1
dCArPSAiU2V0dGluZyBhcmlhLWJ1c3kgdG8gdHJ1ZS5cblxuIjsKKyAgICAgICAgY2xvY2suYXJp
YUJ1c3kgPSAidHJ1ZSI7CisgICAgICAgIGNsb2NrV2l0aERpc3BsYXlDb250ZW50cy5hcmlhQnVz
eSA9ICJ0cnVlIjsKKyAgICAgICAgc2V0VGltZW91dChhc3luYyBmdW5jdGlvbigpIHsKKyAgICAg
ICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4geyByZXR1cm4gYXhDbG9jay5pc0J1c3kgJiYgYXhD
bG9ja1dpdGhEaXNwbGF5Q29udGVudHMuaXNCdXN5IH0pOworICAgICAgICAgICAgdmVyaWZ5RWxl
bWVudHMoKTsKKworICAgICAgICAgICAgdGVzdE91dHB1dCArPSAiU2V0dGluZyBhcmlhLWJ1c3kg
dG8gZmFsc2UuXG5cbiI7CisgICAgICAgICAgICBjbG9jay5hcmlhQnVzeSA9ICJmYWxzZSI7Cisg
ICAgICAgICAgICBjbG9ja1dpdGhEaXNwbGF5Q29udGVudHMuYXJpYUJ1c3kgPSAiZmFsc2UiOwor
ICAgICAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7IHJldHVybiAhYXhDbG9jay5pc0J1c3kg
JiYgIWF4Q2xvY2tXaXRoRGlzcGxheUNvbnRlbnRzLmlzQnVzeSB9KTsKKyAgICAgICAgICAgIHZl
cmlmeUVsZW1lbnRzKCk7CisKKyAgICAgICAgICAgIGRlYnVnKHRlc3RPdXRwdXQpOworICAgICAg
ICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0sIDApOworICAgIH0KKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGli
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggMWViMjFjMDJmM2IzNWI3YTFjMTk3ZDUzNmIzOTI5MTVkNmM0N2MxMS4uMjM4
ZTUxMzU1MTRiODhhNGU5MjA2OWZjYWJjOWVmZGVjYWY5NTA5MiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzQxLDYgKzM0MSwxMiBAQCBhY2Nlc3Np
YmlsaXR5L2FuY2VzdG9yLWNvbXB1dGF0aW9uLmh0bWwgWyBTa2lwIF0KICMgTmVlZCB0byBpbXBs
ZW1lbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZG9tSWRlbnRpZmllcigpIGZvciB0aGlzIHRl
c3QgdG8gcGFzcyBhZnRlciB3ZWJraXQub3JnL2IvMjM0MTk4LgogYWNjZXNzaWJpbGl0eS9mb2N1
c2FibGUtZGl2Lmh0bWwgWyBTa2lwIF0KIAorIyBNaXNzaW5nIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmlzQnVzeSBpbXBsZW1lbnRhdGlvbi4KK2FjY2Vzc2liaWxpdHkvYXJpYS1idXN5LXVwZGF0
ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbCBbIFNraXAgXQorCisjIFRpbWluZyBvdXQgc2lu
Y2UgaXQgd2FzIGFkZGVkIGluIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzk0MzQuCithY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHktdGV4dC11cGRhdGVzLWFmdGVy
LWR5bmFtaWMtY2hhbmdlLmh0bWwgWyBTa2lwIF0KKwogIyBNaXNzaW5nIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnVpRWxlbWVudEZvclNlYXJjaFByZWRpY2F0ZSBpbXBsZW1lbnRhdGlvbi4KIGFj
Y2Vzc2liaWxpdHkvZGlzcGxheS1jb250ZW50cy1zZWFyY2gtdHJhdmVyc2FsLmh0bWwgWyBTa2lw
IF0KIGFjY2Vzc2liaWxpdHkvc2VhcmNoLXRyYXZlcnNhbC1hZnRlci1yb2xlLWNoYW5nZS5odG1s
IFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVj
dGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IDNlMGY4ZjZiOTU5YWNiYzVjYTIzYjRjZjBmNzAyYTIxZGE1MTQ0NzkuLmIzZDU3NzUwYjk5MjNl
MjMwNjU4Nzk5MDllODMyZmI3MmYzMjMyOTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9U
ZXN0RXhwZWN0YXRpb25zCkBAIC0yMDkzLDYgKzIwOTMsOCBAQCB3ZWJraXQub3JnL2IvMTQ4ODA2
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1tdWx0aWNvbC9tdWx0aWNv
bC1zcAogIyBFbmFibGUgInBob25lIG51bWJlciBsaW5raWZ5aW5nIiB0ZXN0IGZvciBpT1MKIGZh
c3QvZG9tL2xpbmtpZnktcGhvbmUtbnVtYmVycy5odG1sIFsgUGFzcyBdCiAKK2FjY2Vzc2liaWxp
dHkvYWNjZXNzaWJpbGl0eS10ZXh0LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbCBb
IFBhc3MgXQorYWNjZXNzaWJpbGl0eS9hcmlhLWJ1c3ktdXBkYXRlcy1hZnRlci1keW5hbWljLWNo
YW5nZS5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L2FyaWEtaGlkZGVuLWRpc3BsYXktY29u
dGVudHMtZWxlbWVudC5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L2FyaWEtcmVhZG9ubHkt
dXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5
L2FyaWEtcmVxdWlyZWQtdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sIFsgUGFzcyBd
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvYWNjZXNzaWJpbGl0eS9hY2Nl
c3NpYmlsaXR5LXRleHQtdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LXRl
eHQtdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZmNmNmVjMWVhOGM1NGYzZGRlY2M3Mzk2OWNhYzc1MWQ2OGE1OTA3NAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHkt
dGV4dC11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE5IEBACitUaGlzIHRlc3QgZW5zdXJlcyBvYmplY3QgYWNjZXNzaWJpbGl0eSB0ZXh0IHVwZGF0
ZXMgYWZ0ZXIgYSBkeW5hbWljIGNoYW5nZSAoZS5nLiB2aWEgSmF2YVNjcmlwdCkuCisKK0luaXRp
YWwgYnV0dG9uIGRlc2NyaXB0aW9uczoKKworI2FyaWEtbGFiZWwtYnV0dG9uIEFYTGFiZWw6Cisj
YXJpYS1sYWJlbGxlZGJ5LWJ1dHRvbiBBWExhYmVsOgorI3RpdGxlLWJ1dHRvbiBBWExhYmVsOgor
CitGaW5hbCBidXR0b24gZGVzY3JpcHRpb25zOgorCisjYXJpYS1sYWJlbC1idXR0b24gQVhMYWJl
bDogYXJpYS1sYWJlbCBwcm92aWRlZCBkZXNjcmlwdGlvbgorI2FyaWEtbGFiZWxsZWRieS1idXR0
b24gQVhMYWJlbDogYXJpYS1sYWJlbGxlZGJ5IHByb3ZpZGVkIGRlc2NyaXB0aW9uCisjdGl0bGUt
YnV0dG9uIEFYTGFiZWw6IHRpdGxlIHByb3ZpZGVkIGRlc2NyaXB0aW9uCisKKworUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisgIGFyaWEtbGFiZWxsZWRi
eSBwcm92aWRlZCBkZXNjcmlwdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVj
dGF0aW9ucwppbmRleCBhMzAwMjk2MzQ0YjBhZGY2MGNiNDg5OTJjZGM1MWFmNzA1MzQ5ODJhLi4y
ZjVmOTE4NDEzMjljMTljYmFhY2NiMzdlMzgxMjlhYzQ4ZjZhZDM4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDkyLDYgKzQ5Miw4IEBAIGFjY2Vzc2li
aWxpdHkvaWdub3JlLW1vZGFscy13aXRob3V0LWFueS1jb250ZW50Lmh0bWwgWyBTa2lwIF0KIGFj
Y2Vzc2liaWxpdHkvYXJpYS1yZWFkb25seS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0
bWwgWyBTa2lwIF0KICMgTWlzc2luZyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1JlcXVpcmVk
IGltcGxlbWVudGF0aW9uLgogYWNjZXNzaWJpbGl0eS9hcmlhLXJlcXVpcmVkLXVwZGF0ZXMtYWZ0
ZXItZHluYW1pYy1jaGFuZ2UuaHRtbCBbIFNraXAgXQorIyBNaXNzaW5nIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmlzQnVzeSBpbXBsZW1lbnRhdGlvbi4KK2FjY2Vzc2liaWxpdHkvYXJpYS1idXN5
LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbCBbIFNraXAgXQogCiAjIFRPRE8gQ29u
aWMgZ3JhZGllbnRzCiBodHRwL3dwdC9jc3MvY3NzLWltYWdlcy00L2NvbmljLWdyYWRpZW50LXBh
cnNpbmcuaHRtbCBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457829</attachid>
            <date>2022-04-18 15:23:24 -0700</date>
            <delta_ts>2022-04-18 20:26:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239434-20220418172323.patch</filename>
            <type>text/plain</type>
            <size>30678</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzczODExMjRmZTU4ZDJh
MTc0MDhmOTg5MmUzYjJkYzk5ZmFmMjMxYS4uN2Q4ODJhZTUzNjM4YjVlYmNlNTcyNTE0MGNhOGFk
NTJhMTYyNWUwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIyLTA0LTE3ICBUeWxl
ciBXaWxjb2NrICA8dHlsZXJfd0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFVwZGF0ZSB0aGUg
aXNvbGF0ZWQgdHJlZSBpbiByZXNwb25zZSB0byBBWEVsZW1lbnRCdXN5Q2hhbmdlZCBhbmQgQVhU
ZXh0Q2hhbmdlZCBub3RpZmljYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzk0MzQKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBGbGVp
emFjaC4KKworICAgICAgICBXZSBuZWVkIHRvIHVwZGF0ZSB0aGUgaXNvbGF0ZWQgdHJlZSBpbiBy
ZXNwb25zZSB0byB0aGVzZSBub3RpZmljYXRpb25zLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxz
byBtYWtlcyBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdHMgKGUuZy4gZm9yIGRpc3BsYXk6Y29udGVu
dHMgZWxlbWVudHMpCisgICAgICAgIHByb3Blcmx5IHJlcG9ydCBBWENvcmVPYmplY3Q6OmlzQnVz
eSBieSBtb3ZpbmcgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdCdzIGltcGxlbWVudGF0aW9uCisg
ICAgICAgIHRvIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LiBUaGlzIGFsc28gcmVxdWlyZWQgQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6ZWxlbWVudEF0dHJpYnV0ZVZhbHVlCisgICAgICAgIHRv
IG1vdmUgYXMgd2VsbC4KKworICAgICAgICBUZXN0czogYWNjZXNzaWJpbGl0eS90ZXh0LXVwZGF0
ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbAorICAgICAgICAgICAgICAgYWNjZXNzaWJpbGl0
eS9hcmlhLWJ1c3ktdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sCisKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhP
YmplY3RDYWNoZTo6dXBkYXRlSXNvbGF0ZWRUcmVlKToKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0Ojppc0J1c3kgY29uc3QpOgorICAgICAgICBNb3ZlZCBmcm9tIEFjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3QuCisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9k
ZU9iamVjdDo6ZWxlbWVudEF0dHJpYnV0ZVZhbHVlIGNvbnN0KToKKyAgICAgICAgTW92ZWQgZnJv
bSBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU5vZGVPYmplY3QuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdDo6c2V0RWxlbWVudEF0dHJpYnV0ZVZhbHVlKToKKyAgICAgICAgRGVsZXRlIHRo
aXMgbWV0aG9kIGFzIGl0IHdhcyB1bnVzZWQuCisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0OjplbGVtZW50QXR0cmlidXRlVmFsdWUgY29uc3QpOgorICAgICAgICBN
b3ZlZCB0byBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3Q6OmlzQnVzeSBjb25zdCk6CisgICAgICAgIE1vdmVkIHRvIEFj
Y2Vzc2liaWxpdHlOb2RlT2JqZWN0LgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5oOgorCiAyMDIyLTA0LTE0ICBHYWJyaWVsIE5hdmEgTWFyaW5vICA8
Z25hdmFtYXJpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIFNjcmlwdERpc2FsbG93ZWRTY29wZTo6
aXNFdmVudEFsbG93ZWRJbk1haW5UaHJlYWQgYXNzZXJ0IGZhaWx1cmUgd2hlbiBhY3RpdmF0aW5n
IEF1ZGlvU2Vzc2lvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RD
YWNoZS5jcHAKaW5kZXggZmExZTk0M2I1MjBlOWYyMTU1NDcxMWYwOTc3Mjg4MWI0YzVjODJhYi4u
ZDQ4YjQ0ZTBiMTJlZmU0M2MxOWFmYzE4MjlhNmFiYzBmYTg3MjI2YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCkBAIC0zNDIyLDEwICszNDIy
LDEyIEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6dXBkYXRlSXNvbGF0ZWRUcmVlKGNvbnN0IFZlY3Rv
cjxzdGQ6OnBhaXI8UmVmUHRyPEFYQ29yZU9iamVjCiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgY2FzZSBBWEFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkOgogICAgICAgICBjYXNlIEFYQXJpYVJv
bGVDaGFuZ2VkOgorICAgICAgICBjYXNlIEFYRWxlbWVudEJ1c3lDaGFuZ2VkOgogICAgICAgICBj
YXNlIEFYSW52YWxpZFN0YXR1c0NoYW5nZWQ6CiAgICAgICAgIGNhc2UgQVhNZW51TGlzdFZhbHVl
Q2hhbmdlZDoKICAgICAgICAgY2FzZSBBWFByZXNzZWRTdGF0ZUNoYW5nZWQ6CiAgICAgICAgIGNh
c2UgQVhTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZDoKKyAgICAgICAgY2FzZSBBWFRleHRDaGFuZ2Vk
OgogICAgICAgICBjYXNlIEFYVmFsdWVDaGFuZ2VkOiB7CiAgICAgICAgICAgICBib29sIG5lZWRz
VXBkYXRlID0gYXBwZW5kSWZOb3RDb250YWluc01hdGNoaW5nKGZpbHRlcmVkTm90aWZpY2F0aW9u
cywgbm90aWZpY2F0aW9uLCBbJm5vdGlmaWNhdGlvbl0gKGNvbnN0IHN0ZDo6cGFpcjxSZWZQdHI8
QVhDb3JlT2JqZWN0PiwgQVhOb3RpZmljYXRpb24+JiBub3RlKSB7CiAgICAgICAgICAgICAgICAg
cmV0dXJuIG5vdGUuc2Vjb25kID09IG5vdGlmaWNhdGlvbi5zZWNvbmQgJiYgbm90ZS5maXJzdC5n
ZXQoKSA9PSBub3RpZmljYXRpb24uZmlyc3QuZ2V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCmluZGV4IGQ2
NWIzYzU3MWViYjRkMTE1NzZlOWUwNzMwMDQyZDY2MTRlZDEyNjUuLmIyOGU5OTk3YWQzZTEwNDMz
YTk5YzAwOGRkOTAzYWJmOTJhZWFkN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCkBAIC05OTAsNiArOTkw
LDExIEBAIGJvb2wgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmlzTGluaygpIGNvbnN0CiAgICAg
cmV0dXJuIHJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpXZWJDb3JlTGluazsKIH0K
IAorYm9vbCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6aXNCdXN5KCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gZWxlbWVudEF0dHJpYnV0ZVZhbHVlKGFyaWFfYnVzeUF0dHIpOworfQorCiBib29sIEFj
Y2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojppc0NvbnRyb2woKSBjb25zdAogewogICAgIE5vZGUqIG5v
ZGUgPSB0aGlzLT5ub2RlKCk7CkBAIC0xMjk0LDYgKzEyOTksMTEgQEAgdm9pZCBBY2Nlc3NpYmls
aXR5Tm9kZU9iamVjdDo6Y2hhbmdlVmFsdWVCeVBlcmNlbnQoZmxvYXQgcGVyY2VudENoYW5nZSkK
ICAgICBzZXROb2RlVmFsdWUocGVyY2VudENoYW5nZSA+IDAsIHZhbHVlKTsKIH0KIAorYm9vbCBB
Y2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6ZWxlbWVudEF0dHJpYnV0ZVZhbHVlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIGNvbnN0Cit7CisgICAgcmV0dXJuIGVxdWFsTGV0dGVy
c0lnbm9yaW5nQVNDSUlDYXNlKGdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSwgInRydWUiKTsK
K30KKwogYm9vbCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6aXNHZW5lcmljRm9jdXNhYmxlRWxl
bWVudCgpIGNvbnN0CiB7CiAgICAgaWYgKCFjYW5TZXRGb2N1c0F0dHJpYnV0ZSgpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVj
dC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVj
dC5oCmluZGV4IGY1NjdiMDNhYzQ2NTliY2QxZThhZGUzMzdmZTk1ZTE0YmQ2MzMyZWMuLmUwYmQ4
ODI2M2UxYjg5ODBiZjk2ZDM2MDk2Yzc3ZDcwMDM4ZThmNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmgKQEAgLTUz
LDYgKzUzLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBjYW52YXNIYXNGYWxsYmFja0NvbnRlbnQo
KSBjb25zdCBvdmVycmlkZTsKIAorICAgIGJvb2wgaXNCdXN5KCkgY29uc3Qgb3ZlcnJpZGU7CiAg
ICAgYm9vbCBpc0NvbnRyb2woKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIGlzRmllbGRzZXQo
KSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIGlzR3JvdXAoKSBjb25zdCBvdmVycmlkZTsKQEAg
LTE3MCw2ICsxNzEsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgLy8gVGhpcyByZXR1cm5zIHRydWUgaWYg
aXQncyBmb2N1c2FibGUgYnV0IGl0J3Mgbm90IGNvbnRlbnQgZWRpdGFibGUgYW5kIGl0J3Mgbm90
IGEgY29udHJvbCBvciBBUklBIGNvbnRyb2wuCiAgICAgYm9vbCBpc0dlbmVyaWNGb2N1c2FibGVF
bGVtZW50KCkgY29uc3Q7CiAKKyAgICBib29sIGVsZW1lbnRBdHRyaWJ1dGVWYWx1ZShjb25zdCBR
dWFsaWZpZWROYW1lJikgY29uc3Q7CisKICAgICBib29sIGlzTGFiZWxhYmxlKCkgY29uc3Q7CiAg
ICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY29ycmVzcG9uZGluZ0NvbnRyb2xGb3JMYWJlbEVsZW1l
bnQoKSBjb25zdCBvdmVycmlkZTsKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JyZXNwb25k
aW5nTGFiZWxGb3JDb250cm9sRWxlbWVudCgpIGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dC5jcHAKaW5kZXggMDA1MGRlMTZjMGNiZDdmMDY1NzY5YmM1ODI2NGI2MTE2OGVkY2Q5NC4uMmYx
ZDYwNDIwMDZkYjBjN2U3NjU1MmM5ZWVmNzFlYmNlMzU5ZmIzYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Qu
Y3BwCkBAIC0xNzc3LDI2ICsxNzc3LDYgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0
Ojppc1Zpc2l0ZWQoKSBjb25zdAogICAgIHJldHVybiBtX3JlbmRlcmVyLT5zdHlsZSgpLmlzTGlu
aygpICYmIG1fcmVuZGVyZXItPnN0eWxlKCkuaW5zaWRlTGluaygpID09IEluc2lkZUxpbms6Oklu
c2lkZVZpc2l0ZWQ7CiB9CiAKLXZvaWQgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6c2V0RWxl
bWVudEF0dHJpYnV0ZVZhbHVlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIGJv
b2wgdmFsdWUpCi17Ci0gICAgaWYgKCFtX3JlbmRlcmVyKQotICAgICAgICByZXR1cm47Ci0gICAg
Ci0gICAgTm9kZSogbm9kZSA9IG1fcmVuZGVyZXItPm5vZGUoKTsKLSAgICBpZiAoIWlzPEVsZW1l
bnQ+KG5vZGUpKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgZG93bmNhc3Q8RWxlbWVudD4o
Km5vZGUpLnNldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lLCAodmFsdWUpID8gInRydWUiX3MgOiAi
ZmFsc2UiX3MpOwotfQotICAgIAotYm9vbCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjplbGVt
ZW50QXR0cmlidXRlVmFsdWUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgY29u
c3QKLXsKLSAgICBpZiAoIW1fcmVuZGVyZXIpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAK
LSAgICByZXR1cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZ2V0QXR0cmlidXRlKGF0
dHJpYnV0ZU5hbWUpLCAidHJ1ZSIpOwotfQotICAgIAogYm9vbCBBY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0Ojppc1NlbGVjdGVkKCkgY29uc3QKIHsKICAgICBpZiAoIW1fcmVuZGVyZXIpCkBAIC0z
Mzg3LDExICszMzY3LDYgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpsaXZlUmVn
aW9uQXRvbWljKCkgY29uc3QKICAgICB9CiB9CiAKLWJvb2wgQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdDo6aXNCdXN5KCkgY29uc3QKLXsKLSAgICByZXR1cm4gZWxlbWVudEF0dHJpYnV0ZVZhbHVl
KGFyaWFfYnVzeUF0dHIpOwotfQotCiBib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmNh
bkhhdmVTZWxlY3RlZENoaWxkcmVuKCkgY29uc3QKIHsKICAgICBzd2l0Y2ggKHJvbGVWYWx1ZSgp
KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5oCmluZGV4IDJiMDQ1ZGEzMmM0Zjk3NzFkMDQyNDAzNDBmZWM5MmRh
M2Q0MDE4MTYuLjY1NDE1NTQ4OGJiZDI1MjMwNGNhNzI1NWZkNDIzOGFlMTM3ZDU0YzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdC5oCkBAIC0yNjYsMTUgKzI2NiwxMSBAQCBwcml2YXRlOgogICAgIAogICAgIHZv
aWQgYXJpYVNlbGVjdGVkUm93cyhBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImKTsKICAgICAK
LSAgICBib29sIGVsZW1lbnRBdHRyaWJ1dGVWYWx1ZShjb25zdCBRdWFsaWZpZWROYW1lJikgY29u
c3Q7Ci0gICAgdm9pZCBzZXRFbGVtZW50QXR0cmlidXRlVmFsdWUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIGJvb2wpOwotICAgIAogICAgIE9wdGlvblNldDxTcGVha0FzPiBzcGVha0FzUHJvcGVydHko
KSBjb25zdCBvdmVycmlkZTsKICAgICAKICAgICBjb25zdCBTdHJpbmcgbGl2ZVJlZ2lvblN0YXR1
cygpIGNvbnN0IG92ZXJyaWRlOwogICAgIGNvbnN0IFN0cmluZyBsaXZlUmVnaW9uUmVsZXZhbnQo
KSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIGxpdmVSZWdpb25BdG9taWMoKSBjb25zdCBvdmVy
cmlkZTsKLSAgICBib29sIGlzQnVzeSgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgYm9vbCBpbmhl
cml0c1ByZXNlbnRhdGlvbmFsUm9sZSgpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDA4ZTA5YzI4NTA2MzllYzI0
ZTM5N2RhNzBmOGY5NzVkNzY1M2I5Mi4uZmI3OGFlM2ViNDY5YmJiN2U5M2QxN2I2OWQ0MWIyNjg2
OTMzZGMwOSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDM0IEBACisyMDIyLTA0LTE3ICBUeWxlciBXaWxjb2NrICA8dHlsZXJfd0Bh
cHBsZS5jb20+CisKKyAgICAgICAgQVg6IFVwZGF0ZSB0aGUgaXNvbGF0ZWQgdHJlZSBpbiByZXNw
b25zZSB0byBBWEVsZW1lbnRCdXN5Q2hhbmdlZCBhbmQgQVhUZXh0Q2hhbmdlZCBub3RpZmljYXRp
b25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk0
MzQKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBGbGVpemFjaC4KKworICAgICAgICBBZGRl
ZCBuZWNlc3NhcnkgdG9vbGluZyB0byBlbmFibGUgcXVlcnlpbmcgQVggb2JqZWN0IGJ1c3kgc3Rh
dGUgZm9yCisgICAgICAgIHRoZSB0ZXN0IGFkZGVkIHdpdGggdGhpcyBwYXRjaC4KKworICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwOgorICAgICAgICAo
Z2V0SXNCdXN5Q2FsbGJhY2spOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Z2V0
SlNDbGFzcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dC5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
SU9TLm1tOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5IGNvbnN0KToK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5t
bToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQnVzeSBjb25zdCk6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwOgor
ICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5IGNvbnN0KToKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQu
aDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0c3BpLmNwcDoKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5IGNvbnN0KToKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50SU9TLm1tOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0J1c3kg
Y29uc3QpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW06CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmlzQnVzeSBjb25zdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5jcHA6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQnVzeSBjb25zdCk6CisKIDIwMjItMDQtMTQg
IEpvaG4gQ3VubmluZ2hhbSAgPGpvaG5jdW5uaW5naGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZXBsYWNlIFBhaW50Q29tcG9zaXRlZFJlc3VsdHNUb01lZGlhU2FtcGxlIHdpdGggUGFpbnRDb21w
b3NpdGVkUmVzdWx0c1RvVmlkZW9GcmFtZSBpbiBnZW5lcmF0ZS1ncHVwLXdlYmdsCmRpZmYgLS1n
aXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcCBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCmluZGV4IDM4MGQ3
YjZhNmFjYTdiMmJjZTU3MDMxOWFmMGY4MmMwMzg4M2Q5YjMuLmU1NjkyNjA4YjViYTJjZjFhNmI5
MDNhYjhhY2M0NzJlZDVkMjZkMWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnQuY3BwCkBAIC0xMzI3LDYgKzEzMjcsMTEgQEAgc3RhdGljIEpTVmFs
dWVSZWYgZ2V0U2VsZWN0ZWRUZXh0UmFuZ2VDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwg
SlNPYmplY3RSZWYKICAgICByZXR1cm4gSlNWYWx1ZU1ha2VTdHJpbmcoY29udGV4dCwgc2VsZWN0
ZWRUZXh0UmFuZ2UuZ2V0KCkpOwogfQogCitzdGF0aWMgSlNWYWx1ZVJlZiBnZXRJc0J1c3lDYWxs
YmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgSlNTdHJp
bmdSZWYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit7CisgICAgcmV0dXJu
IEpTVmFsdWVNYWtlQm9vbGVhbihjb250ZXh0LCB0b0FYRWxlbWVudCh0aGlzT2JqZWN0KS0+aXNC
dXN5KCkpOworfQorCiBzdGF0aWMgSlNWYWx1ZVJlZiBnZXRJc0VuYWJsZWRDYWxsYmFjayhKU0Nv
bnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgSlNTdHJpbmdSZWYgcHJv
cGVydHlOYW1lLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCiB7CiAgICAgcmV0dXJuIEpTVmFsdWVN
YWtlQm9vbGVhbihjb250ZXh0LCB0b0FYRWxlbWVudCh0aGlzT2JqZWN0KS0+aXNFbmFibGVkKCkp
OwpAQCAtMTkyNCw2ICsxOTI5LDcgQEAgSlNDbGFzc1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpnZXRKU0NsYXNzKCkKICAgICAgICAgeyAiY29sdW1uQ291bnQiLCBjb2x1bW5Db3VudENhbGxi
YWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1
dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgImluc2VydGlvblBvaW50TGluZU51bWJlciIsIGdl
dEluc2VydGlvblBvaW50TGluZU51bWJlckNhbGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsg
InNlbGVjdGVkVGV4dFJhbmdlIiwgZ2V0U2VsZWN0ZWRUZXh0UmFuZ2VDYWxsYmFjaywgMCwga0pT
UHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0
ZSB9LAorICAgICAgICB7ICJpc0J1c3kiLCBnZXRJc0J1c3lDYWxsYmFjaywgMCwga0pTUHJvcGVy
dHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAog
ICAgICAgICB7ICJpc0VuYWJsZWQiLCBnZXRJc0VuYWJsZWRDYWxsYmFjaywgMCwga0pTUHJvcGVy
dHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAog
ICAgICAgICB7ICJpc1JlcXVpcmVkIiwgZ2V0SXNSZXF1aXJlZENhbGxiYWNrLCAwLCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0s
CiAgICAgICAgIHsgImlzRm9jdXNlZCIsIGdldElzRm9jdXNlZENhbGxiYWNrLCAwLCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0s
CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKaW5kZXgg
YjJlMzM2MWI4N2RmZDM0MWJlM2Y4YTdiZGU1NDQwOGI1ZmFhMWU3MS4uYzEyMTY5MDMzZDk5NDY1
OWZjZWZiZTNkZTc5MTUwZjY5MjEyYjJiYyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQuaApAQCAtMTQ1LDYgKzE0NSw3IEBAIHB1YmxpYzoKICAgICBK
U1JldGFpblB0cjxKU1N0cmluZ1JlZj4gdmFsdWVEZXNjcmlwdGlvbigpOwogICAgIGludCBpbnNl
cnRpb25Qb2ludExpbmVOdW1iZXIoKTsKICAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gc2Vs
ZWN0ZWRUZXh0UmFuZ2UoKTsKKyAgICBib29sIGlzQnVzeSgpIGNvbnN0OwogICAgIGJvb2wgaXNF
bmFibGVkKCk7CiAgICAgYm9vbCBpc1JlcXVpcmVkKCkgY29uc3Q7CiAgICAgCmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbSBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tCmlu
ZGV4IDU3MDVjN2M5ODRkYzNiZWY2OGY2ZjQxNzlhZDVhZTljNzU0NWFkNmMuLjk1YWM3NTk5Mjc5
ZTE2NGZlYjM3NjdjMDU2MjM5NTI2NWNhOWQyZTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tCisrKyBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tCkBAIC03NCw2ICs3NCw3
IEBAIHR5cGVkZWYgdm9pZCAoKkFYUG9zdGVkTm90aWZpY2F0aW9uQ2FsbGJhY2spKGlkIGVsZW1l
bnQsIE5TU3RyaW5nKiBub3RpZmljYXRpb24sCiAtIChOU1VJbnRlZ2VyKWFjY2Vzc2liaWxpdHlB
UklBQ29sdW1uQ291bnQ7CiAtIChOU1VJbnRlZ2VyKWFjY2Vzc2liaWxpdHlBUklBUm93SW5kZXg7
CiAtIChOU1VJbnRlZ2VyKWFjY2Vzc2liaWxpdHlBUklBQ29sdW1uSW5kZXg7CistIChCT09MKWFj
Y2Vzc2liaWxpdHlBUklBSXNCdXN5OwogLSAoVUlBY2Nlc3NpYmlsaXR5VHJhaXRzKV9heENvbnRh
aW5lZEJ5RmllbGRzZXRUcmFpdDsKIC0gKGlkKV9hY2Nlc3NpYmlsaXR5RmllbGRzZXRBbmNlc3Rv
cjsKIC0gKEJPT0wpX2FjY2Vzc2liaWxpdHlIYXNUb3VjaEV2ZW50TGlzdGVuZXI7CkBAIC04NjEs
NiArODYyLDExIEBAIGludCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbnNlcnRpb25Qb2ludExp
bmVOdW1iZXIoKQogICAgIHJldHVybiAtMTsKIH0KIAorYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojppc0J1c3koKSBjb25zdAoreworICAgIHJldHVybiBbbV9lbGVtZW50IGFjY2Vzc2liaWxp
dHlBUklBSXNCdXN5XTsKK30KKwogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0VuYWJs
ZWQoKQogewogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0KaW5kZXggNjU5MzkwMzE1NmNjNTVi
YTg4MTdiNDExZDdkYzBlYjBiMjhkZWU1YS4uMWJkNGYzMGZlMDBlNzkyOTQ1ZGM1MTI3MTcyOWM5
MWM0MmQwMTg0ZCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnRNYWMubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRNYWMubW0KQEAgLTg1Miw2ICs4NTIsMTEgQEAgYm9vbCBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojppc0RlY3JlbWVudEFjdGlvblN1cHBvcnRlZCgpCiAgICAgcmV0dXJu
IGZhbHNlOwogfQogCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQnVzeSgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1ZShAIkFYRWxlbWVudEJ1c3kiKTsKK30K
KwogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0VuYWJsZWQoKQogewogICAgIHJldHVy
biBib29sQXR0cmlidXRlVmFsdWUoTlNBY2Nlc3NpYmlsaXR5RW5hYmxlZEF0dHJpYnV0ZSk7CmRp
ZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dFdpbi5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dFdpbi5jcHAKaW5kZXggNDAxNjIzMTlkYTU2OGU2M2M4NzgyNzZlZTg5MDkxNTZhYTc4MjY4Zi4u
NDFhMmI2ZjA0NWI1ODE0ZDAxOTZhM2VlOGZkNjlmMjUxMGIxOTcwOCAxMDA2NDQKLS0tIGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwCisrKyBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNwcApA
QCAtNTcxLDYgKzU3MSwxMiBAQCBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVt
ZW50QWN0aW9uU3VwcG9ydGVkKCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5KCkgY29uc3QKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVt
ZW50LgorICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Ojppc0VuYWJsZWQoKQogewogICAgIERXT1JEIHN0YXRlID0gYWNjZXNzaWJpbGl0eVN0YXRlKG1f
ZWxlbWVudCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCmluZGV4IGZiMWE2NDZmOTQxYTQ0
ZTE4NGM1ZjA0M2E1ZjYyMTZhZDUxZjRlMWIuLjIyNmE0YTc4YjM1OTcxZjU1YmUzZGNkOGYxMjE1
Yjg1OGFmYmQzNGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCkBAIC0xNjYsNiArMTY2
LDcgQEAgcHVibGljOgogICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiB2YWx1ZURlc2NyaXB0
aW9uKCk7CiAgICAgaW50IGluc2VydGlvblBvaW50TGluZU51bWJlcigpOwogICAgIEpTUmV0YWlu
UHRyPEpTU3RyaW5nUmVmPiBzZWxlY3RlZFRleHRSYW5nZSgpOworICAgIGJvb2wgaXNCdXN5KCkg
Y29uc3Q7CiAgICAgYm9vbCBpc0VuYWJsZWQoKTsKICAgICBib29sIGlzUmVxdWlyZWQoKSBjb25z
dDsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9C
aW5kaW5ncy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmlkbCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5pZGwKaW5k
ZXggOTAyMjU3M2M1MzFhYjcxN2NmOWUwN2I0Y2FmMDllZWJiZmFjZmM2NS4uOWFlZGQ1YjI5OGU1
ODdhYjA0ODg2NWVlMjBhZmFlOTZkYzQyZmNmMiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Lmlk
bAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsCkBAIC04Miw2ICs4Miw3IEBACiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGxvbmcgbWluVmFsdWU7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgbWF4
VmFsdWU7CiAgICAgCisgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNCdXN5OwogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzRW5hYmxlZDsKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgYm9vbGVhbiBpc1JlcXVpcmVkOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFu
IGlzRm9jdXNlZDsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvYXRzcGkvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0c3BpLmNwcCBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0
c3BpLmNwcAppbmRleCA4OTVmMmU2OTkwMzU3MmM2NzhjN2E2MjU3MmQyMmM3MWVkYTgxNjc5Li5j
ZTFiMjg4NjMzMzg5Y2ZkYjA0ODAwMzZmNjZlZjA5NzZkNTNlNmRmIDEwMDY0NAotLS0gYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRBdHNwaS5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9hdHNwaS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRzcGkuY3BwCkBAIC0xMDI1LDYgKzEwMjUs
MTIgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3JlbWVudEFjdGlvblN1cHBv
cnRlZCgpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmlzQnVzeSgpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudC4KKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNFbmFibGVkKCkK
IHsKICAgICBtX2VsZW1lbnQtPnVwZGF0ZUJhY2tpbmdTdG9yZSgpOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxl
bWVudElPUy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0KaW5kZXggMGM5MzNiNGViYWEyZGYzNmM3YzliZWMz
NDY5OGUwOTNhYjQ0YTY3Zi4uMWJlODljOWFmMDE4ZGUwMzQ1NWM2ZGIzMzg1YmIyOTk2OTc5NDQz
ZSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3Mv
QWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tCkBAIC04Miw2
ICs4Miw3IEBAIHR5cGVkZWYgdm9pZCAoKkFYUG9zdGVkTm90aWZpY2F0aW9uQ2FsbGJhY2spKGlk
IGVsZW1lbnQsIE5TU3RyaW5nKiBub3RpZmljYXRpb24sCiAtIChOU1VJbnRlZ2VyKWFjY2Vzc2li
aWxpdHlBUklBQ29sdW1uQ291bnQ7CiAtIChOU1VJbnRlZ2VyKWFjY2Vzc2liaWxpdHlBUklBUm93
SW5kZXg7CiAtIChOU1VJbnRlZ2VyKWFjY2Vzc2liaWxpdHlBUklBQ29sdW1uSW5kZXg7CistIChC
T09MKWFjY2Vzc2liaWxpdHlBUklBSXNCdXN5OwogLSAoTlNTdHJpbmcgKilhY2Nlc3NpYmlsaXR5
SW52YWxpZFN0YXR1czsKIC0gKFVJQWNjZXNzaWJpbGl0eVRyYWl0cylfYXhDb250YWluZWRCeUZp
ZWxkc2V0VHJhaXQ7CiAtIChpZClfYWNjZXNzaWJpbGl0eUZpZWxkc2V0QW5jZXN0b3I7CkBAIC02
MzEsNiArNjMyLDExIEBAIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNEZWNyZW1lbnRB
Y3Rpb25TdXBwb3J0ZWQoKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojppc0J1c3koKSBjb25zdAoreworICAgIHJldHVybiBbbV9lbGVtZW50IGFj
Y2Vzc2liaWxpdHlBUklBSXNCdXN5XTsKK30KKwogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Ojppc0VuYWJsZWQoKQogewogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRN
YWMubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50TWFjLm1tCmluZGV4IDkwYjQyZjk2MWI3MGRiMzM5ZjdiMzBmZDZmMTAx
Y2Q5Njk3NWU2MzEuLmEzMGJiYzAyMDJjY2NkNDdkNzI0M2QwNmNhYzgyZGI5ZDQ3ZjRlYjQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRNYWMubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQpAQCAtOTgyLDYgKzk4
MiwxMSBAQCBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3Vw
cG9ydGVkKCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6aXNCdXN5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEAi
QVhFbGVtZW50QnVzeSIpOworfQorCiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRW5h
YmxlZCgpCiB7CiAgICAgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1ZShOU0FjY2Vzc2liaWxpdHlF
bmFibGVkQXR0cmlidXRlKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdp
bi5jcHAKaW5kZXggMTY1NTU3ZDQ2ZDQ1NzAyNGY5ZjZmYjc0NDA4MTA0NmQ0NmRkZmE4ZC4uMzk2
MjU5MzVmNjgzMzNiODlhYjU5NTkwNWZiNGQ3MjNhNjFiYmNjZiAxMDA2NDQKLS0tIGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dFdpbi5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93aW4v
QWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5jcHAKQEAgLTQwMCw2ICs0MDAsMTIgQEAgYm9vbCBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3JlbWVudEFjdGlvblN1cHBvcnRlZCgpCiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQnVzeSgp
IGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
IGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNFbmFibGVkKCkKIHsKICAgICBub3RJbXBs
ZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGNmZDgxNmRjNjRjZTJmYmM5YjRjODM2ODQyMGNiZjY5YmVjYjU5
YTAuLjhlMDJjNTU5YzA5ZWU2M2ZjODJlMzc4Y2E3NDI2ZmRkZmNkN2U5MTcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAyMi0wNC0xNyAgVHlsZXIgV2lsY29jayAgPHR5bGVyX3dAYXBwbGUuY29t
PgorCisgICAgICAgIEFYOiBVcGRhdGUgdGhlIGlzb2xhdGVkIHRyZWUgaW4gcmVzcG9uc2UgdG8g
QVhFbGVtZW50QnVzeUNoYW5nZWQgYW5kIEFYVGV4dENoYW5nZWQgbm90aWZpY2F0aW9ucworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5NDM0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRmxlaXphY2guCisKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L3RleHQtdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvdGV4dC11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hh
bmdlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXJpYS1idXN5LXVwZGF0
ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L2FyaWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAg
ICAgU2tpcCBuZXcgdGVzdC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9u
czoKKyAgICAgICAgRW5hYmxlIG5ldyB0ZXN0cy4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvYWNj
ZXNzaWJpbGl0eS90ZXh0LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAg
ICAgU2tpcCBhcmlhLWJ1c3ktdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sLgorCiAy
MDIyLTA0LTE0ICBLYXJsIFJhY2tsZXIgIDxyYWNrbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBb
IE1hYyBdIGVkaXRpbmcvZXhlY0NvbW1hbmQvaW5zZXJ0LW9yZGVyZWQtbGlzdC1hbmQtZGVsZXRl
Lmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L2FyaWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHlu
YW1pYy1jaGFuZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmM2M1ZWMxYTNhNDM3NzNlMTM1
NDU3N2NkMzJjZTMyZmFmMmYzNmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L2FyaWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDI0IEBACitUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IGFuIGVsZW1lbnQn
cyBidXN5IHN0YXRlIHVwZGF0ZXMgYXJpYS1idXN5IGNoYW5nZXMuCisKK1ZlcmlmeWluZyBpbml0
aWFsIGJ1c3kgc3RhdGU6CisKKyNjbG9jayBpcyBidXN5OiBmYWxzZQorI2Nsb2NrLWRpc3BsYXkt
Y29udGVudHMgaXMgYnVzeTogZmFsc2UKKworU2V0dGluZyBhcmlhLWJ1c3kgdG8gdHJ1ZS4KKwor
I2Nsb2NrIGlzIGJ1c3k6IHRydWUKKyNjbG9jay1kaXNwbGF5LWNvbnRlbnRzIGlzIGJ1c3k6IHRy
dWUKKworU2V0dGluZyBhcmlhLWJ1c3kgdG8gZmFsc2UuCisKKyNjbG9jayBpcyBidXN5OiBmYWxz
ZQorI2Nsb2NrLWRpc3BsYXktY29udGVudHMgaXMgYnVzeTogZmFsc2UKKworCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKzI6MzBwbQorNDozMHBtCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1idXN5LXVwZGF0ZXMt
YWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJp
YS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wY2Y5
MTY4ZGI0YTFjNzEzNWJiZWRlYmUxM2JmMmVhMWYyZGQ2YTJjCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWJ1c3ktdXBkYXRlcy1hZnRlci1keW5hbWlj
LWNoYW5nZS5odG1sCkBAIC0wLDAgKzEsNTIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9h
Y2Nlc3NpYmlsaXR5LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworPGRp
diBpZD0iY2xvY2siIHJvbGU9InRpbWVyIiBhcmlhLWxpdmU9InBvbGl0ZSIgYXJpYS1hdG9taWM9
InRydWUiPjI6MzBwbTwvZGl2PgorPGRpdiBpZD0iY2xvY2stZGlzcGxheS1jb250ZW50cyIgc3R5
bGU9ImRpc3BsYXk6IGNvbnRlbnRzIiByb2xlPSJ0aW1lciIgYXJpYS1saXZlPSJwb2xpdGUiIGFy
aWEtYXRvbWljPSJ0cnVlIj40OjMwcG08L2Rpdj4KKworPHNjcmlwdD4KKyAgICB2YXIgdGVzdE91
dHB1dCA9ICJUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IGFuIGVsZW1lbnQncyBidXN5IHN0YXRlIHVw
ZGF0ZXMgYXJpYS1idXN5IGNoYW5nZXMuXG5cbiI7CisKKyAgICB2YXIgYXhDbG9jaywgYXhDbG9j
a1dpdGhEaXNwbGF5Q29udGVudHM7CisgICAgZnVuY3Rpb24gdmVyaWZ5RWxlbWVudHMoKSB7Cisg
ICAgICAgIHRlc3RPdXRwdXQgKz0gYCNjbG9jayBpcyBidXN5OiAke2F4Q2xvY2suaXNCdXN5fVxu
YDsKKyAgICAgICAgdGVzdE91dHB1dCArPSBgI2Nsb2NrLWRpc3BsYXktY29udGVudHMgaXMgYnVz
eTogJHtheENsb2NrV2l0aERpc3BsYXlDb250ZW50cy5pc0J1c3l9XG5cbmA7CisgICAgfQorCisg
ICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICB3aW5kb3cu
anNUZXN0SXNBc3luYyA9IHRydWU7CisgICAgICAgIGF4Q2xvY2sgPSBhY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImNsb2NrIik7CisgICAgICAgIGF4Q2xvY2tX
aXRoRGlzcGxheUNvbnRlbnRzID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVs
ZW1lbnRCeUlkKCJjbG9jay1kaXNwbGF5LWNvbnRlbnRzIik7CisKKyAgICAgICAgdGVzdE91dHB1
dCArPSAiVmVyaWZ5aW5nIGluaXRpYWwgYnVzeSBzdGF0ZTpcblxuIjsKKyAgICAgICAgdmVyaWZ5
RWxlbWVudHMoKTsKKworICAgICAgICBjb25zdCBjbG9jayA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjbG9jayIpOworICAgICAgICBjb25zdCBjbG9ja1dpdGhEaXNwbGF5Q29udGVudHMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2xvY2stZGlzcGxheS1jb250ZW50cyIpOworCisgICAg
ICAgIHRlc3RPdXRwdXQgKz0gIlNldHRpbmcgYXJpYS1idXN5IHRvIHRydWUuXG5cbiI7CisgICAg
ICAgIGNsb2NrLmFyaWFCdXN5ID0gInRydWUiOworICAgICAgICBjbG9ja1dpdGhEaXNwbGF5Q29u
dGVudHMuYXJpYUJ1c3kgPSAidHJ1ZSI7CisgICAgICAgIHNldFRpbWVvdXQoYXN5bmMgZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHsgcmV0dXJuIGF4Q2xvY2su
aXNCdXN5ICYmIGF4Q2xvY2tXaXRoRGlzcGxheUNvbnRlbnRzLmlzQnVzeSB9KTsKKyAgICAgICAg
ICAgIHZlcmlmeUVsZW1lbnRzKCk7CisKKyAgICAgICAgICAgIHRlc3RPdXRwdXQgKz0gIlNldHRp
bmcgYXJpYS1idXN5IHRvIGZhbHNlLlxuXG4iOworICAgICAgICAgICAgY2xvY2suYXJpYUJ1c3kg
PSAiZmFsc2UiOworICAgICAgICAgICAgY2xvY2tXaXRoRGlzcGxheUNvbnRlbnRzLmFyaWFCdXN5
ID0gImZhbHNlIjsKKyAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4geyByZXR1cm4gIWF4
Q2xvY2suaXNCdXN5ICYmICFheENsb2NrV2l0aERpc3BsYXlDb250ZW50cy5pc0J1c3kgfSk7Cisg
ICAgICAgICAgICB2ZXJpZnlFbGVtZW50cygpOworCisgICAgICAgICAgICBkZWJ1Zyh0ZXN0T3V0
cHV0KTsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9LCAwKTsKKyAgICB9
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS90ZXh0LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90ZXh0LXVwZGF0ZXMtYWZ0ZXItZHluYW1p
Yy1jaGFuZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmNjk0ZTc4NjZhMzQ3ZjM2NWJiZDMy
NjUyNWJhMzQyYjc2NGY1ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L3RleHQtdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxOSBAQAorVGhpcyB0ZXN0IGVuc3VyZXMgb2JqZWN0IGFjY2Vzc2liaWxpdHkgdGV4
dCB1cGRhdGVzIGFmdGVyIGEgZHluYW1pYyBjaGFuZ2UgKGUuZy4gdmlhIEphdmFTY3JpcHQpLgor
CitJbml0aWFsIGJ1dHRvbiBkZXNjcmlwdGlvbnM6CisKKyNhcmlhLWxhYmVsLWJ1dHRvbiBBWERl
c2NyaXB0aW9uOgorI2FyaWEtbGFiZWxsZWRieS1idXR0b24gQVhEZXNjcmlwdGlvbjoKKyN0aXRs
ZS1idXR0b24gQVhEZXNjcmlwdGlvbjoKKworRmluYWwgYnV0dG9uIGRlc2NyaXB0aW9uczoKKwor
I2FyaWEtbGFiZWwtYnV0dG9uIEFYRGVzY3JpcHRpb246IGFyaWEtbGFiZWwgcHJvdmlkZWQgZGVz
Y3JpcHRpb24KKyNhcmlhLWxhYmVsbGVkYnktYnV0dG9uIEFYRGVzY3JpcHRpb246IGFyaWEtbGFi
ZWxsZWRieSBwcm92aWRlZCBkZXNjcmlwdGlvbgorI3RpdGxlLWJ1dHRvbiBBWERlc2NyaXB0aW9u
OiB0aXRsZSBwcm92aWRlZCBkZXNjcmlwdGlvbgorCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorICBhcmlhLWxhYmVsbGVkYnkgcHJvdmlkZWQgZGVz
Y3JpcHRpb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGV4dC11cGRh
dGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L3RleHQtdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUxYmEz
ZGJjMTVkOWExM2IzNzI1ZGI1MDQzZGVmNTQyYTM2MDY2MDAKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RleHQtdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5n
ZS5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9hY2Nlc3Np
YmlsaXR5LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworPGJ1dHRvbiBp
ZD0iYXJpYS1sYWJlbC1idXR0b24iPjwvYnV0dG9uPgorPGJ1dHRvbiBpZD0iYXJpYS1sYWJlbGxl
ZGJ5LWJ1dHRvbiI+PC9idXR0b24+Cis8c3BhbiBpZD0ibGFiZWwiPmFyaWEtbGFiZWxsZWRieSBw
cm92aWRlZCBkZXNjcmlwdGlvbjwvc3Bhbj4KKzxidXR0b24gaWQ9InRpdGxlLWJ1dHRvbiI+PC9i
dXR0b24+CisKKzxzY3JpcHQ+CisgICAgdmFyIHRlc3RPdXRwdXQgPSAiVGhpcyB0ZXN0IGVuc3Vy
ZXMgb2JqZWN0IGFjY2Vzc2liaWxpdHkgdGV4dCB1cGRhdGVzIGFmdGVyIGEgZHluYW1pYyBjaGFu
Z2UgKGUuZy4gdmlhIEphdmFTY3JpcHQpLlxuXG4iOworICAgIHZhciBhcmlhTGFiZWxCdXR0b24s
IGFyaWFMYWJlbGxlZEJ5QnV0dG9uLCB0aXRsZUJ1dHRvbjsKKworICAgIGZ1bmN0aW9uIHZlcmlm
eUJ1dHRvbnMoKSB7CisgICAgICAgIHRlc3RPdXRwdXQgKz0gYCNhcmlhLWxhYmVsLWJ1dHRvbiAk
e2FyaWFMYWJlbEJ1dHRvbi5kZXNjcmlwdGlvbn1cbmA7CisgICAgICAgIHRlc3RPdXRwdXQgKz0g
YCNhcmlhLWxhYmVsbGVkYnktYnV0dG9uICR7YXJpYUxhYmVsbGVkQnlCdXR0b24uZGVzY3JpcHRp
b259XG5gOworICAgICAgICB0ZXN0T3V0cHV0ICs9IGAjdGl0bGUtYnV0dG9uICR7dGl0bGVCdXR0
b24uZGVzY3JpcHRpb259XG5cbmA7CisgICAgfQorCisgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmls
aXR5Q29udHJvbGxlcikgeworICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisK
KyAgICAgICAgYXJpYUxhYmVsQnV0dG9uID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNz
aWJsZUVsZW1lbnRCeUlkKCJhcmlhLWxhYmVsLWJ1dHRvbiIpOworICAgICAgICBhcmlhTGFiZWxs
ZWRCeUJ1dHRvbiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJ
ZCgiYXJpYS1sYWJlbGxlZGJ5LWJ1dHRvbiIpOworICAgICAgICB0aXRsZUJ1dHRvbiA9IGFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgidGl0bGUtYnV0dG9uIik7
CisgICAgICAgIHRlc3RPdXRwdXQgKz0gIkluaXRpYWwgYnV0dG9uIGRlc2NyaXB0aW9uczpcblxu
IjsKKyAgICAgICAgdmVyaWZ5QnV0dG9ucygpOworCisgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJhcmlhLWxhYmVsLWJ1dHRvbiIpLmFyaWFMYWJlbCA9ICJhcmlhLWxhYmVsIHByb3Zp
ZGVkIGRlc2NyaXB0aW9uIjsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFyaWEt
bGFiZWxsZWRieS1idXR0b24iKS5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWxsZWRieSIsICJsYWJl
bCIpOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGl0bGUtYnV0dG9uIikudGl0
bGUgPSAidGl0bGUgcHJvdmlkZWQgZGVzY3JpcHRpb24iOworICAgICAgICBzZXRUaW1lb3V0KGFz
eW5jIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIGFyaWFMYWJlbEJ1dHRvbi5kZXNjcmlwdGlvbi5pbmNsdWRlcygi
YXJpYS1sYWJlbCIpCisgICAgICAgICAgICAgICAgICAgICYmIGFyaWFMYWJlbGxlZEJ5QnV0dG9u
LmRlc2NyaXB0aW9uLmluY2x1ZGVzKCJhcmlhLWxhYmVsbGVkYnkiKQorICAgICAgICAgICAgICAg
ICAgICAmJiB0aXRsZUJ1dHRvbi5kZXNjcmlwdGlvbi5pbmNsdWRlcygidGl0bGUiKTsKKyAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgdGVzdE91dHB1dCArPSAiRmluYWwgYnV0dG9uIGRlc2Ny
aXB0aW9uczpcblxuIjsKKyAgICAgICAgICAgIHZlcmlmeUJ1dHRvbnMoKTsKKworICAgICAgICAg
ICAgZGVidWcodGVzdE91dHB1dCk7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAg
ICAgfSwgMCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDFlYjIxYzAyZjNiMzVi
N2ExYzE5N2Q1MzZiMzkyOTE1ZDZjNDdjMTEuLjdjN2UyNTM2YTFhNjMxYTQxN2E0MDkzYmIyYWEw
MmI0NTA3ODI2MTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4
cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTM0MSw2ICszNDEsMTIgQEAgYWNjZXNzaWJpbGl0eS9hbmNlc3Rvci1jb21wdXRhdGlv
bi5odG1sIFsgU2tpcCBdCiAjIE5lZWQgdG8gaW1wbGVtZW50IEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmRvbUlkZW50aWZpZXIoKSBmb3IgdGhpcyB0ZXN0IHRvIHBhc3MgYWZ0ZXIgd2Via2l0Lm9y
Zy9iLzIzNDE5OC4KIGFjY2Vzc2liaWxpdHkvZm9jdXNhYmxlLWRpdi5odG1sIFsgU2tpcCBdCiAK
KyMgTWlzc2luZyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0J1c3kgaW1wbGVtZW50YXRpb24u
CithY2Nlc3NpYmlsaXR5L2FyaWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0
bWwgWyBTa2lwIF0KKworIyBUaW1pbmcgb3V0IHNpbmNlIGl0IHdhcyBhZGRlZCBpbiBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5NDM0LgorYWNjZXNzaWJpbGl0eS90
ZXh0LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbCBbIFNraXAgXQorCiAjIE1pc3Np
bmcgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlIGlt
cGxlbWVudGF0aW9uLgogYWNjZXNzaWJpbGl0eS9kaXNwbGF5LWNvbnRlbnRzLXNlYXJjaC10cmF2
ZXJzYWwuaHRtbCBbIFNraXAgXQogYWNjZXNzaWJpbGl0eS9zZWFyY2gtdHJhdmVyc2FsLWFmdGVy
LXJvbGUtY2hhbmdlLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggM2UwZjhmNmI5NTlhY2JjNWNhMjNiNGNmMGY3MDJhMjFkYTUxNDQ3
OS4uNmQzMTExOTU2NzVjNjA2ODNlOTZiZDYwNDJlMjM4OTZiYjdhZDU1MCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTIwOTMsMTIgKzIwOTMsMTQgQEAg
d2Via2l0Lm9yZy9iLzE0ODgwNiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtbXVsdGljb2wvbXVsdGljb2wtc3AKICMgRW5hYmxlICJwaG9uZSBudW1iZXIgbGlua2lmeWlu
ZyIgdGVzdCBmb3IgaU9TCiBmYXN0L2RvbS9saW5raWZ5LXBob25lLW51bWJlcnMuaHRtbCBbIFBh
c3MgXQogCithY2Nlc3NpYmlsaXR5L2FyaWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hh
bmdlLmh0bWwgWyBQYXNzIF0KIGFjY2Vzc2liaWxpdHkvYXJpYS1oaWRkZW4tZGlzcGxheS1jb250
ZW50cy1lbGVtZW50Lmh0bWwgWyBQYXNzIF0KIGFjY2Vzc2liaWxpdHkvYXJpYS1yZWFkb25seS11
cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwgWyBQYXNzIF0KIGFjY2Vzc2liaWxpdHkv
YXJpYS1yZXF1aXJlZC11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwgWyBQYXNzIF0K
IGFjY2Vzc2liaWxpdHkvZGlzcGxheS1jb250ZW50cy1lbGVtZW50LXJvbGVzLmh0bWwgWyBQYXNz
IF0KIGFjY2Vzc2liaWxpdHkvbGlzdC13aXRoLWR5bmFtaWNhbGx5LWNoYW5naW5nLWNvbnRlbnQu
aHRtbCBbIFBhc3MgXQogYWNjZXNzaWJpbGl0eS9ub2RlLW9ubHktb2JqZWN0LWVsZW1lbnQtcmVj
dC5odG1sIFsgUGFzcyBdCithY2Nlc3NpYmlsaXR5L3RleHQtdXBkYXRlcy1hZnRlci1keW5hbWlj
LWNoYW5nZS5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L3ZpZGVvLWVsZW1lbnQtdXJsLWF0
dHJpYnV0ZS5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L3Zpc2libGUtY2hhcmFjdGVyLXJh
bmdlLWJhc2ljLmh0bWwgWyBQYXNzIF0KIGFjY2Vzc2liaWxpdHkvdmlzaWJsZS1jaGFyYWN0ZXIt
cmFuZ2UtaGVpZ2h0LWNoYW5nZXMuaHRtbCBbIFBhc3MgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zL2FjY2Vzc2liaWxpdHkvdGV4dC11cGRhdGVzLWFmdGVyLWR5bmFtaWMt
Y2hhbmdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9hY2Nlc3NpYmls
aXR5L3RleHQtdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZmNmNmVjMWVhOGM1NGYzZGRlY2M3Mzk2OWNhYzc1MWQ2OGE1OTA3NAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9hY2Nlc3NpYmlsaXR5L3RleHQtdXBk
YXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAor
VGhpcyB0ZXN0IGVuc3VyZXMgb2JqZWN0IGFjY2Vzc2liaWxpdHkgdGV4dCB1cGRhdGVzIGFmdGVy
IGEgZHluYW1pYyBjaGFuZ2UgKGUuZy4gdmlhIEphdmFTY3JpcHQpLgorCitJbml0aWFsIGJ1dHRv
biBkZXNjcmlwdGlvbnM6CisKKyNhcmlhLWxhYmVsLWJ1dHRvbiBBWExhYmVsOgorI2FyaWEtbGFi
ZWxsZWRieS1idXR0b24gQVhMYWJlbDoKKyN0aXRsZS1idXR0b24gQVhMYWJlbDoKKworRmluYWwg
YnV0dG9uIGRlc2NyaXB0aW9uczoKKworI2FyaWEtbGFiZWwtYnV0dG9uIEFYTGFiZWw6IGFyaWEt
bGFiZWwgcHJvdmlkZWQgZGVzY3JpcHRpb24KKyNhcmlhLWxhYmVsbGVkYnktYnV0dG9uIEFYTGFi
ZWw6IGFyaWEtbGFiZWxsZWRieSBwcm92aWRlZCBkZXNjcmlwdGlvbgorI3RpdGxlLWJ1dHRvbiBB
WExhYmVsOiB0aXRsZSBwcm92aWRlZCBkZXNjcmlwdGlvbgorCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorICBhcmlhLWxhYmVsbGVkYnkgcHJvdmlk
ZWQgZGVzY3JpcHRpb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0
RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggYTMwMDI5NjM0NGIwYWRmNjBjYjQ4OTkyY2RjNTFhZjcwNTM0OTgyYS4uMmY1ZjkxODQx
MzI5YzE5Y2JhYWNjYjM3ZTM4MTI5YWM0OGY2YWQzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ5Miw2ICs0OTIsOCBAQCBhY2Nlc3NpYmlsaXR5L2ln
bm9yZS1tb2RhbHMtd2l0aG91dC1hbnktY29udGVudC5odG1sIFsgU2tpcCBdCiBhY2Nlc3NpYmls
aXR5L2FyaWEtcmVhZG9ubHktdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sIFsgU2tp
cCBdCiAjIE1pc3NpbmcgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNSZXF1aXJlZCBpbXBsZW1l
bnRhdGlvbi4KIGFjY2Vzc2liaWxpdHkvYXJpYS1yZXF1aXJlZC11cGRhdGVzLWFmdGVyLWR5bmFt
aWMtY2hhbmdlLmh0bWwgWyBTa2lwIF0KKyMgTWlzc2luZyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Ojppc0J1c3kgaW1wbGVtZW50YXRpb24uCithY2Nlc3NpYmlsaXR5L2FyaWEtYnVzeS11cGRhdGVz
LWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwgWyBTa2lwIF0KIAogIyBUT0RPIENvbmljIGdyYWRp
ZW50cwogaHR0cC93cHQvY3NzL2Nzcy1pbWFnZXMtNC9jb25pYy1ncmFkaWVudC1wYXJzaW5nLmh0
bWwgWyBTa2lwIF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>