<?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>241444</bug_id>
          
          <creation_ts>2022-06-08 18:44:40 -0700</creation_ts>
          <short_desc>AX: Update the isolated tree in response to dynamic changes to aria-live, aria-relevant, and aria-atomic</short_desc>
          <delta_ts>2022-06-09 23:25:37 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>1874869</commentid>
    <comment_count>0</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-06-08 18:44:40 -0700</bug_when>
    <thetext>Update the isolated tree in response to dynamic changes to aria-live, aria-relevant, and aria-atomic</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1874870</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-06-08 18:44:49 -0700</bug_when>
    <thetext>&lt;rdar://problem/94682718&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1874871</commentid>
    <comment_count>2</comment_count>
      <attachid>460108</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-06-08 18:47:40 -0700</bug_when>
    <thetext>Created attachment 460108
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1874892</commentid>
    <comment_count>3</comment_count>
      <attachid>460108</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2022-06-08 21:32:24 -0700</bug_when>
    <thetext>Comment on attachment 460108
Patch

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

&gt; Source/WebCore/accessibility/AccessibilityNodeObject.cpp:1309
&gt; +    const AtomString&amp; liveRegionStatus = getAttribute(aria_liveAttr);

this could be auto

&gt; Source/WebCore/accessibility/AccessibilityNodeObject.cpp:1318
&gt; +    const AtomString&amp; relevant = getAttribute(aria_relevantAttr);

this could be auto

&gt; Source/WebCore/accessibility/AccessibilityNodeObject.cpp:1328
&gt; +    const AtomString&amp; atomic = getAttribute(aria_atomicAttr);

this could be auto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1874899</commentid>
    <comment_count>4</comment_count>
      <attachid>460111</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-06-08 21:59:39 -0700</bug_when>
    <thetext>Created attachment 460111
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1875120</commentid>
    <comment_count>5</comment_count>
      <attachid>460147</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-06-09 15:11:43 -0700</bug_when>
    <thetext>Created attachment 460147
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1875183</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-06-09 23:25:35 -0700</bug_when>
    <thetext>Committed r295446 (251452@main): &lt;https://commits.webkit.org/251452@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 460147.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>460108</attachid>
            <date>2022-06-08 18:47:40 -0700</date>
            <delta_ts>2022-06-08 21:59:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-241444-20220608184739.patch</filename>
            <type>text/plain</type>
            <size>39342</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">RnJvbSAwNjllZWE3Y2M4ZmU4Y2EyOTM2ZjE1NTllYWUyMGY1ZmE3MmFmMjE4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUeWxlciBXaWxjb2NrIDx0eWxlcl93QGFwcGxlLmNvbT4KRGF0
ZTogV2VkLCA4IEp1biAyMDIyIDE4OjQ0OjU2IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gQVg6IFVw
ZGF0ZSB0aGUgaXNvbGF0ZWQgdHJlZSBpbiByZXNwb25zZSB0byBkeW5hbWljIGNoYW5nZXMKIHRv
IGFyaWEtbGl2ZSwgYXJpYS1yZWxldmFudCwgYW5kIGFyaWEtYXRvbWljCiBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQxNDQ0CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KCldpdGggdGhpcyBwYXRjaCwgd2Ugbm93IHVwZGF0ZSB0aGUgaXNvbGF0ZWQgdHJlZSBp
biByZXNwb25zZSB0byBkeW5hbWljCmFyaWEtbGl2ZSwgYXJpYS1yZWxldmFudCwgYW5kIGFyaWEt
YXRvbWljIGNoYW5nZXMuCgpUaGlzIHBhdGNoIGFsc28gbWFrZXMgbGl2ZVJlZ2lvblN0YXR1cywg
bGl2ZVJlZ2lvblJlbGV2YW50LCBhbmQKbGl2ZVJlZ2lvbkF0b21pYyB3b3JrIG9uIG5vZGUtb25s
eSBvYmplY3RzIChsaWtlIHRob3NlIHdpdGggZGlzcGxheTpjb250ZW50cykuCgoqIExheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2Ut
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgoqIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1i
dXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbDogUmVtb3ZlZC4KKiBMYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L2xpdmUtcmVnaW9uLWF0dHJpYnV0ZXMtdXBkYXRlLWFmdGVyLWR5
bmFtaWMtY2hhbmdlLWV4cGVjdGVkLnR4dDogQWRkZWQuCiogTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9saXZlLXJlZ2lvbi1hdHRyaWJ1dGVzLXVwZGF0ZS1hZnRlci1keW5hbWljLWNoYW5nZS5o
dG1sOiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnM6
CiogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnM6CiogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6CiogU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BWExvZ2dlci5jcHA6CihXZWJDb3JlOjpvcGVyYXRvcjw8KToKKiBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgooV2ViQ29yZTo6QVhPYmplY3RD
YWNoZTo6aGFuZGxlQXR0cmlidXRlQ2hhbmdlKToKKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnVw
ZGF0ZUlzb2xhdGVkVHJlZSk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVj
dENhY2hlLmg6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9k
ZU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6bGl2ZVJlZ2lv
blN0YXR1cyBjb25zdCk6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6bGl2ZVJl
Z2lvblJlbGV2YW50IGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojps
aXZlUmVnaW9uQXRvbWljIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlOb2RlT2JqZWN0Lmg6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3Q6OmxpdmVSZWdpb25TdGF0dXMgY29uc3QpOiBEZWxldGVkLgooV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6bGl2ZVJlZ2lvblJlbGV2YW50IGNvbnN0KTogRGVsZXRl
ZC4KKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmxpdmVSZWdpb25BdG9taWMg
Y29uc3QpOiBEZWxldGVkLgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5oOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkv
QVhPYmplY3RDYWNoZUF0c3BpLmNwcDoKKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnBvc3RQbGF0
Zm9ybU5vdGlmaWNhdGlvbik6CiogVG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudC5jcHA6CihnZXRMaXZlUmVnaW9uUmVsZXZhbnRDYWxsYmFjayk6CihnZXRMaXZlUmVn
aW9uU3RhdHVzQ2FsbGJhY2spOgooZ2V0SXNBdG9taWNMaXZlUmVnaW9uQ2FsbGJhY2spOgooQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6Z2V0SlNDbGFzcyk6CiogVG9vbHMvRHVtcFJlbmRlclRyZWUv
QWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oOgoqIFRvb2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tOgooQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGl2ZVJl
Z2lvblJlbGV2YW50IGNvbnN0KToKKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpdmVSZWdpb25T
dGF0dXMgY29uc3QpOgooQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdG9taWNMaXZlUmVnaW9u
IGNvbnN0KToKKiBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dE1hYy5tbToKKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpdmVSZWdpb25SZWxldmFudCBjb25z
dCk6CihBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsaXZlUmVnaW9uU3RhdHVzIGNvbnN0KToKKEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQXRvbWljTGl2ZVJlZ2lvbiBjb25zdCk6CiogVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Lmg6
CiogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50LmlkbDoKKiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tOgooV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpsaXZlUmVnaW9uUmVsZXZhbnQgY29uc3QpOgooV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpsaXZlUmVnaW9uU3RhdHVzIGNvbnN0KToKKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6aXNBdG9taWNMaXZlUmVnaW9uIGNvbnN0KToKKiBUb29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tOgooV1RS
OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsaXZlUmVnaW9uU3RhdHVzIGNvbnN0KToKKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGl2ZVJlZ2lvblJlbGV2YW50IGNvbnN0KToKKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdG9taWNMaXZlUmVnaW9uIGNvbnN0KToKLS0tCiBT
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYTG9nZ2VyLmNwcCAgICAgfCAgOSArKwogLi4u
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcCAgIHwgIDkgKysKIFNvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oICB8ICAzICsKIC4uLi9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcCB8IDM3ICsrKysrKysrCiAuLi4v
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5oICAgfCAgNCArCiAuLi4vQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgICAgICAgICAgICAgfCA0MCAtLS0tLS0tLS0KIC4u
Li9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaCB8ICA0IC0KIC4uLi9h
dHNwaS9BWE9iamVjdENhY2hlQXRzcGkuY3BwICAgICAgICAgICAgICB8ICA2ICsrCiAuLi4vRHVt
cFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAgfCAyMCArKysrKwogVG9vbHMv
RHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oIHwgIDMgKwogLi4uL2lvcy9B
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tICAgICAgICAgIHwgMTggKysrKwogLi4uL21hYy9B
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tICAgICAgICAgIHwgMTUgKysrKwogLi4uL0luamVj
dGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaCAgIHwgIDMgKwogLi4uL0JpbmRpbmdz
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsICAgICAgIHwgIDMgKwogLi4uL2lvcy9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50SU9TLm1tICAgICAgICAgIHwgMTggKysrKwogLi4uL21hYy9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50TWFjLm1tICAgICAgICAgIHwgMTUgKysrKwogLi4uLXVwZGF0ZXMtYWZ0
ZXItZHluYW1pYy1jaGFuZ2UtZXhwZWN0ZWQudHh0IHwgMjQgLS0tLS0tCiAuLi5yaWEtYnVzeS11
cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwgfCA1MiAtLS0tLS0tLS0tLS0KIC4uLnMt
dXBkYXRlLWFmdGVyLWR5bmFtaWMtY2hhbmdlLWV4cGVjdGVkLnR4dCB8IDQ4ICsrKysrKysrKysr
CiAuLi50dHJpYnV0ZXMtdXBkYXRlLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwgfCA4NSArKysr
KysrKysrKysrKysrKysrCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlv
bnMgICAgfCAgNCArLQogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMg
ICAgIHwgIDIgKy0KIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zICAg
ICB8ICA0ICstCiAyMyBmaWxlcyBjaGFuZ2VkLCAzMDEgaW5zZXJ0aW9ucygrKSwgMTI1IGRlbGV0
aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJp
YS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UtZXhwZWN0ZWQudHh0CiBkZWxldGUg
bW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWJ1c3ktdXBkYXRlcy1h
ZnRlci1keW5hbWljLWNoYW5nZS5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9saXZlLXJlZ2lvbi1hdHRyaWJ1dGVzLXVwZGF0ZS1hZnRlci1keW5hbWlj
LWNoYW5nZS1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L2xpdmUtcmVnaW9uLWF0dHJpYnV0ZXMtdXBkYXRlLWFmdGVyLWR5bmFtaWMtY2hh
bmdlLmh0bWwKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYTG9n
Z2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhMb2dnZXIuY3BwCmluZGV4
IDA5OTYyNzI2MjMyZC4uMGUzN2E5NDllYWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYTG9nZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FYTG9nZ2VyLmNwcApAQCAtNDA2LDYgKzQwNiw5IEBAIFRleHRTdHJlYW0mIG9wZXJhdG9y
PDwoVGV4dFN0cmVhbSYgc3RyZWFtLCBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbiBub3Rp
ZmljCiAgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhJbWFnZU92ZXJs
YXlDaGFuZ2VkOgogICAgICAgICBzdHJlYW0gPDwgIkFYSW1hZ2VPdmVybGF5Q2hhbmdlZCI7CiAg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb246OkFY
SXNBdG9taWNDaGFuZ2VkOgorICAgICAgICBzdHJlYW0gPDwgIkFYSXNBdG9taWNDaGFuZ2VkIjsK
KyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6
QVhMYW5ndWFnZUNoYW5nZWQ6CiAgICAgICAgIHN0cmVhbSA8PCAiQVhMYW5ndWFnZUNoYW5nZWQi
OwogICAgICAgICBicmVhazsKQEAgLTQ2MCw2ICs0NjMsMTIgQEAgVGV4dFN0cmVhbSYgb3BlcmF0
b3I8PChUZXh0U3RyZWFtJiBzdHJlYW0sIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uIG5v
dGlmaWMKICAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWExpdmVSZWdp
b25DaGFuZ2VkOgogICAgICAgICBzdHJlYW0gPDwgIkFYTGl2ZVJlZ2lvbkNoYW5nZWQiOwogICAg
ICAgICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWExp
dmVSZWdpb25SZWxldmFudENoYW5nZWQ6CisgICAgICAgIHN0cmVhbSA8PCAiQVhMaXZlUmVnaW9u
UmVsZXZhbnRDaGFuZ2VkIjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBBWE9iamVjdENhY2hl
OjpBWE5vdGlmaWNhdGlvbjo6QVhMaXZlUmVnaW9uU3RhdHVzQ2hhbmdlZDoKKyAgICAgICAgc3Ry
ZWFtIDw8ICJBWExpdmVSZWdpb25TdGF0dXNDaGFuZ2VkIjsKKyAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhNZW51TGlzdEl0ZW1TZWxlY3Rl
ZDoKICAgICAgICAgc3RyZWFtIDw8ICJBWE1lbnVMaXN0SXRlbVNlbGVjdGVkIjsKICAgICAgICAg
YnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNw
cAppbmRleCBhM2E5ODkxYWI1NDYuLjkyOTBjYjQxMjQ1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCkBAIC0xOTQwLDYgKzE5NDAsOCBAQCB2
b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZUF0dHJpYnV0ZUNoYW5nZShjb25zdCBRdWFsaWZpZWRO
YW1lJiBhdHRyTmFtZSwgRWxlbWVudAogCiAgICAgaWYgKGF0dHJOYW1lID09IGFyaWFfYWN0aXZl
ZGVzY2VuZGFudEF0dHIpCiAgICAgICAgIGhhbmRsZUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkKCpl
bGVtZW50KTsKKyAgICBlbHNlIGlmIChhdHRyTmFtZSA9PSBhcmlhX2F0b21pY0F0dHIpCisgICAg
ICAgIHBvc3ROb3RpZmljYXRpb24oZWxlbWVudCwgQVhJc0F0b21pY0NoYW5nZWQpOwogICAgIGVs
c2UgaWYgKGF0dHJOYW1lID09IGFyaWFfYnVzeUF0dHIpCiAgICAgICAgIHBvc3ROb3RpZmljYXRp
b24oZWxlbWVudCwgQVhPYmplY3RDYWNoZTo6QVhFbGVtZW50QnVzeUNoYW5nZWQpOwogICAgIGVs
c2UgaWYgKGF0dHJOYW1lID09IGFyaWFfdmFsdWVub3dBdHRyIHx8IGF0dHJOYW1lID09IGFyaWFf
dmFsdWV0ZXh0QXR0cikKQEAgLTE5NTQsNiArMTk1Niw4IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6
aGFuZGxlQXR0cmlidXRlQ2hhbmdlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lLCBFbGVt
ZW50CiAgICAgICAgIHBvc3ROb3RpZmljYXRpb24oZWxlbWVudCwgQVhHcmFiYmVkU3RhdGVDaGFu
Z2VkKTsKICAgICBlbHNlIGlmIChhdHRyTmFtZSA9PSBhcmlhX2xldmVsQXR0cikKICAgICAgICAg
cG9zdE5vdGlmaWNhdGlvbihlbGVtZW50LCBBWExldmVsQ2hhbmdlZCk7CisgICAgZWxzZSBpZiAo
YXR0ck5hbWUgPT0gYXJpYV9saXZlQXR0cikKKyAgICAgICAgcG9zdE5vdGlmaWNhdGlvbihlbGVt
ZW50LCBBWExpdmVSZWdpb25TdGF0dXNDaGFuZ2VkKTsKICAgICBlbHNlIGlmIChhdHRyTmFtZSA9
PSBhcmlhX3ZhbHVlbWF4QXR0cikKICAgICAgICAgcG9zdE5vdGlmaWNhdGlvbihlbGVtZW50LCBB
WE1heGltdW1WYWx1ZUNoYW5nZWQpOwogICAgIGVsc2UgaWYgKGF0dHJOYW1lID09IGFyaWFfdmFs
dWVtaW5BdHRyKQpAQCAtMTk2Miw2ICsxOTY2LDggQEAgdm9pZCBBWE9iamVjdENhY2hlOjpoYW5k
bGVBdHRyaWJ1dGVDaGFuZ2UoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUsIEVsZW1lbnQK
ICAgICAgICAgcG9zdE5vdGlmaWNhdGlvbihlbGVtZW50LCBBWE11bHRpU2VsZWN0YWJsZVN0YXRl
Q2hhbmdlZCk7CiAgICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gYXJpYV9wb3NpbnNldEF0dHIpCiAg
ICAgICAgIHBvc3ROb3RpZmljYXRpb24oZWxlbWVudCwgQVhQb3NpdGlvbkluU2V0Q2hhbmdlZCk7
CisgICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gYXJpYV9yZWxldmFudEF0dHIpCisgICAgICAgIHBv
c3ROb3RpZmljYXRpb24oZWxlbWVudCwgQVhMaXZlUmVnaW9uUmVsZXZhbnRDaGFuZ2VkKTsKICAg
ICBlbHNlIGlmIChhdHRyTmFtZSA9PSBhcmlhX3NlbGVjdGVkQXR0cikKICAgICAgICAgc2VsZWN0
ZWRTdGF0ZUNoYW5nZWQoZWxlbWVudCk7CiAgICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gYXJpYV9z
ZXRzaXplQXR0cikKQEAgLTM1NTMsNyArMzU1OSwxMCBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnVw
ZGF0ZUlzb2xhdGVkVHJlZShjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFJlZlB0cjxBWENvcmVPYmpl
YwogICAgICAgICBjYXNlIEFYR3JhYmJlZFN0YXRlQ2hhbmdlZDoKICAgICAgICAgY2FzZSBBWEhh
c1BvcHVwQ2hhbmdlZDoKICAgICAgICAgY2FzZSBBWEludmFsaWRTdGF0dXNDaGFuZ2VkOgorICAg
ICAgICBjYXNlIEFYSXNBdG9taWNDaGFuZ2VkOgogICAgICAgICBjYXNlIEFYTGV2ZWxDaGFuZ2Vk
OgorICAgICAgICBjYXNlIEFYTGl2ZVJlZ2lvblN0YXR1c0NoYW5nZWQ6CisgICAgICAgIGNhc2Ug
QVhMaXZlUmVnaW9uUmVsZXZhbnRDaGFuZ2VkOgogICAgICAgICBjYXNlIEFYTWVudUxpc3RWYWx1
ZUNoYW5nZWQ6CiAgICAgICAgIGNhc2UgQVhNdWx0aVNlbGVjdGFibGVTdGF0ZUNoYW5nZWQ6CiAg
ICAgICAgIGNhc2UgQVhQcmVzc2VkU3RhdGVDaGFuZ2VkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCBmOWMzYzg1ZDI4YjguLmQ4MDdjMzJhMGIx
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKQEAg
LTI4OCw2ICsyODgsNyBAQCBwdWJsaWM6CiAgICAgICAgIEFYSGFzUG9wdXBDaGFuZ2VkLAogICAg
ICAgICBBWElkQXR0cmlidXRlQ2hhbmdlZCwKICAgICAgICAgQVhJbWFnZU92ZXJsYXlDaGFuZ2Vk
LAorICAgICAgICBBWElzQXRvbWljQ2hhbmdlZCwKICAgICAgICAgQVhMYW5ndWFnZUNoYW5nZWQs
CiAgICAgICAgIEFYTGF5b3V0Q29tcGxldGUsCiAgICAgICAgIEFYTGV2ZWxDaGFuZ2VkLApAQCAt
MzAzLDYgKzMwNCw4IEBAIHB1YmxpYzoKICAgICAgICAgQVhTY3JvbGxlZFRvQW5jaG9yLAogICAg
ICAgICBBWExpdmVSZWdpb25DcmVhdGVkLAogICAgICAgICBBWExpdmVSZWdpb25DaGFuZ2VkLAor
ICAgICAgICBBWExpdmVSZWdpb25SZWxldmFudENoYW5nZWQsCisgICAgICAgIEFYTGl2ZVJlZ2lv
blN0YXR1c0NoYW5nZWQsCiAgICAgICAgIEFYTWF4aW11bVZhbHVlQ2hhbmdlZCwKICAgICAgICAg
QVhNZW51TGlzdEl0ZW1TZWxlY3RlZCwKICAgICAgICAgQVhNZW51TGlzdFZhbHVlQ2hhbmdlZCwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5v
ZGVPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5jcHAKaW5kZXggZTE5NmYwOGEyOTU5Li5hOWQ4YjVmZTdkOTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVP
YmplY3QuY3BwCkBAIC0xMzA0LDYgKzEzMDQsNDMgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5Tm9kZU9i
amVjdDo6ZWxlbWVudEF0dHJpYnV0ZVZhbHVlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnUK
ICAgICByZXR1cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZ2V0QXR0cmlidXRlKGF0
dHJpYnV0ZU5hbWUpLCAidHJ1ZSJfcyk7CiB9CiAKK2NvbnN0IFN0cmluZyBBY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdDo6bGl2ZVJlZ2lvblN0YXR1cygpIGNvbnN0Cit7CisgICAgY29uc3QgQXRvbVN0
cmluZyYgbGl2ZVJlZ2lvblN0YXR1cyA9IGdldEF0dHJpYnV0ZShhcmlhX2xpdmVBdHRyKTsKKyAg
ICBpZiAobGl2ZVJlZ2lvblN0YXR1cy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBkZWZhdWx0
TGl2ZVJlZ2lvblN0YXR1c0ZvclJvbGUocm9sZVZhbHVlKCkpOworCisgICAgcmV0dXJuIGxpdmVS
ZWdpb25TdGF0dXM7Cit9CisKK2NvbnN0IFN0cmluZyBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6
bGl2ZVJlZ2lvblJlbGV2YW50KCkgY29uc3QKK3sKKyAgICBjb25zdCBBdG9tU3RyaW5nJiByZWxl
dmFudCA9IGdldEF0dHJpYnV0ZShhcmlhX3JlbGV2YW50QXR0cik7CisgICAgLy8gRGVmYXVsdCBh
cmlhLXJlbGV2YW50ID0gImFkZGl0aW9ucyB0ZXh0Ii4KKyAgICBpZiAocmVsZXZhbnQuaXNFbXB0
eSgpKQorICAgICAgICByZXR1cm4gImFkZGl0aW9ucyB0ZXh0Il9zOworCisgICAgcmV0dXJuIHJl
bGV2YW50OworfQorCitib29sIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjpsaXZlUmVnaW9uQXRv
bWljKCkgY29uc3QKK3sKKyAgICBjb25zdCBBdG9tU3RyaW5nJiBhdG9taWMgPSBnZXRBdHRyaWJ1
dGUoYXJpYV9hdG9taWNBdHRyKTsKKyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNh
c2UoYXRvbWljLCAidHJ1ZSJfcykpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIGlmIChlcXVh
bExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhdG9taWMsICJmYWxzZSJfcykpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIC8vIFdBSS1BUklBICJhbGVydCIgYW5kICJzdGF0dXMiIHJvbGVz
IGhhdmUgYW4gaW1wbGljaXQgYXJpYS1hdG9taWMgdmFsdWUgb2YgdHJ1ZS4KKyAgICBzd2l0Y2gg
KHJvbGVWYWx1ZSgpKSB7CisgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6QXBwbGljYXRpb25B
bGVydDoKKyAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpBcHBsaWNhdGlvblN0YXR1czoKKyAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIH0KK30KKwogYm9vbCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6aXNHZW5lcmljRm9jdXNh
YmxlRWxlbWVudCgpIGNvbnN0CiB7CiAgICAgaWYgKCFjYW5TZXRGb2N1c0F0dHJpYnV0ZSgpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9k
ZU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9k
ZU9iamVjdC5oCmluZGV4IDVhZWE5YTA1YTJjOC4uYTNiOTI4NGVmNjZlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5o
CkBAIC0xNzMsNiArMTczLDEwIEBAIHByb3RlY3RlZDoKIAogICAgIGJvb2wgZWxlbWVudEF0dHJp
YnV0ZVZhbHVlKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdDsKIAorICAgIGNvbnN0IFN0cmlu
ZyBsaXZlUmVnaW9uU3RhdHVzKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgY29uc3QgU3RyaW5nIGxp
dmVSZWdpb25SZWxldmFudCgpIGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wgbGl2ZVJlZ2lvbkF0
b21pYygpIGNvbnN0IG92ZXJyaWRlOworCiAgICAgYm9vbCBpc0xhYmVsYWJsZSgpIGNvbnN0Owog
ICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIGNvcnJlc3BvbmRpbmdDb250cm9sRm9yTGFiZWxFbGVt
ZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY29ycmVzcG9u
ZGluZ0xhYmVsRm9yQ29udHJvbEVsZW1lbnQoKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3QuY3BwCmluZGV4IDZmZDA1ODJlZjFmMy4uNTVmMjQ0YmFjNmY3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dC5jcHAKQEAgLTMyNjQsNDYgKzMyNjQsNiBAQCBib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3Q6OmNhbkhhdmVDaGlsZHJlbigpIGNvbnN0CiAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlOb2Rl
T2JqZWN0OjpjYW5IYXZlQ2hpbGRyZW4oKTsKIH0KIAotY29uc3QgU3RyaW5nIEFjY2Vzc2liaWxp
dHlSZW5kZXJPYmplY3Q6OmxpdmVSZWdpb25TdGF0dXMoKSBjb25zdAotewotICAgIGNvbnN0IEF0
b21TdHJpbmcmIGxpdmVSZWdpb25TdGF0dXMgPSBnZXRBdHRyaWJ1dGUoYXJpYV9saXZlQXR0cik7
Ci0gICAgLy8gVGhlc2Ugcm9sZXMgaGF2ZSBpbXBsaWNpdCBsaXZlIHJlZ2lvbiBzdGF0dXMuCi0g
ICAgaWYgKGxpdmVSZWdpb25TdGF0dXMuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gZGVmYXVs
dExpdmVSZWdpb25TdGF0dXNGb3JSb2xlKHJvbGVWYWx1ZSgpKTsKLQotICAgIHJldHVybiBsaXZl
UmVnaW9uU3RhdHVzOwotfQotCi1jb25zdCBTdHJpbmcgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dDo6bGl2ZVJlZ2lvblJlbGV2YW50KCkgY29uc3QKLXsKLSAgICBzdGF0aWMgTWFpblRocmVhZE5l
dmVyRGVzdHJveWVkPGNvbnN0IEF0b21TdHJpbmc+IGRlZmF1bHRMaXZlUmVnaW9uUmVsZXZhbnQo
ImFkZGl0aW9ucyB0ZXh0Il9zKTsKLSAgICBjb25zdCBBdG9tU3RyaW5nJiByZWxldmFudCA9IGdl
dEF0dHJpYnV0ZShhcmlhX3JlbGV2YW50QXR0cik7Ci0KLSAgICAvLyBEZWZhdWx0IGFyaWEtcmVs
ZXZhbnQgPSAiYWRkaXRpb25zIHRleHQiLgotICAgIGlmIChyZWxldmFudC5pc0VtcHR5KCkpCi0g
ICAgICAgIHJldHVybiAiYWRkaXRpb25zIHRleHQiX3M7Ci0gICAgCi0gICAgcmV0dXJuIHJlbGV2
YW50OwotfQotCi1ib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmxpdmVSZWdpb25BdG9t
aWMoKSBjb25zdAotewotICAgIGNvbnN0IEF0b21TdHJpbmcmIGF0b21pYyA9IGdldEF0dHJpYnV0
ZShhcmlhX2F0b21pY0F0dHIpOwotICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2Fz
ZShhdG9taWMsICJ0cnVlIl9zKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgaWYgKGVxdWFs
TGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGF0b21pYywgImZhbHNlIl9zKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotCi0gICAgLy8gV0FJLUFSSUEgImFsZXJ0IiBhbmQgInN0YXR1cyIgcm9sZXMg
aGF2ZSBhbiBpbXBsaWNpdCBhcmlhLWF0b21pYyB2YWx1ZSBvZiB0cnVlLgotICAgIHN3aXRjaCAo
cm9sZVZhbHVlKCkpIHsKLSAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpBcHBsaWNhdGlvbkFs
ZXJ0OgotICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkFwcGxpY2F0aW9uU3RhdHVzOgotICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgfQotfQotCiBib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmNhbkhhdmVTZWxlY3Rl
ZENoaWxkcmVuKCkgY29uc3QKIHsKICAgICBzd2l0Y2ggKHJvbGVWYWx1ZSgpKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdC5oCmluZGV4IDVlMzQzZmRjNzA4Yi4uY2Q1ZjNmZDE1N2MzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Qu
aApAQCAtMjY2LDEwICsyNjYsNiBAQCBwcml2YXRlOgogICAgIAogICAgIE9wdGlvblNldDxTcGVh
a0FzPiBzcGVha0FzUHJvcGVydHkoKSBjb25zdCBvdmVycmlkZTsKICAgICAKLSAgICBjb25zdCBT
dHJpbmcgbGl2ZVJlZ2lvblN0YXR1cygpIGNvbnN0IG92ZXJyaWRlOwotICAgIGNvbnN0IFN0cmlu
ZyBsaXZlUmVnaW9uUmVsZXZhbnQoKSBjb25zdCBvdmVycmlkZTsKLSAgICBib29sIGxpdmVSZWdp
b25BdG9taWMoKSBjb25zdCBvdmVycmlkZTsKLQogICAgIGJvb2wgaW5oZXJpdHNQcmVzZW50YXRp
b25hbFJvbGUoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIGJvb2wgc2hvdWxkR2V0VGV4dEZyb21O
b2RlKEFjY2Vzc2liaWxpdHlUZXh0VW5kZXJFbGVtZW50TW9kZSkgY29uc3Q7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FYT2JqZWN0Q2FjaGVBdHNwaS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FYT2JqZWN0Q2FjaGVBdHNw
aS5jcHAKaW5kZXggZjk4ZGI0MWQ3YTFmLi43ZThiYWJhMmFlOWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkvQVhPYmplY3RDYWNoZUF0c3BpLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FYT2JqZWN0Q2FjaGVBdHNwaS5j
cHAKQEAgLTIxMyw2ICsyMTMsMTIgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0UGxhdGZvcm1O
b3RpZmljYXRpb24oQVhDb3JlT2JqZWN0KiBjb3JlT2JqZWN0LCBBWE5vdGlmaWMKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBBWE11bHRpU2VsZWN0YWJsZVN0YXRlQ2hhbmdlZDoKICAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBBWElzQXRvbWljQ2hhbmdlZDoKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBBWExpdmVSZWdpb25SZWxldmFudENoYW5nZWQ6CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgQVhMaXZlUmVnaW9uU3RhdHVzQ2hhbmdlZDoKKyAgICAgICAgYnJlYWs7CiAgICAgfQogfQog
CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCmlu
ZGV4IGU1NjkyNjA4YjViYS4uZDhmNjI0MzA3MDhlIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcApAQCAtMTI0NCw2ICsxMjQ0LDE4IEBAIHN0
YXRpYyBKU1ZhbHVlUmVmIGdldEhlbHBUZXh0Q2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQs
IEpTT2JqZWN0UmVmIHRoaXNPYmplCiAgICAgcmV0dXJuIEpTVmFsdWVNYWtlU3RyaW5nKGNvbnRl
eHQsIGxhbmd1YWdlLmdldCgpKTsKIH0KIAorc3RhdGljIEpTVmFsdWVSZWYgZ2V0TGl2ZVJlZ2lv
blJlbGV2YW50Q2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHRoaXNP
YmplY3QsIEpTU3RyaW5nUmVmIHByb3BlcnR5TmFtZSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQor
eworICAgIGF1dG8gbGl2ZVJlZ2lvblJlbGV2YW50ID0gdG9BWEVsZW1lbnQodGhpc09iamVjdCkt
PmxpdmVSZWdpb25SZWxldmFudCgpOworICAgIHJldHVybiBKU1ZhbHVlTWFrZVN0cmluZyhjb250
ZXh0LCBsaXZlUmVnaW9uUmVsZXZhbnQuZ2V0KCkpOworfQorCitzdGF0aWMgSlNWYWx1ZVJlZiBn
ZXRMaXZlUmVnaW9uU3RhdHVzQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0
UmVmIHRoaXNPYmplY3QsIEpTU3RyaW5nUmVmIHByb3BlcnR5TmFtZSwgSlNWYWx1ZVJlZiogZXhj
ZXB0aW9uKQoreworICAgIGF1dG8gbGl2ZVJlZ2lvblN0YXR1cyA9IHRvQVhFbGVtZW50KHRoaXNP
YmplY3QpLT5saXZlUmVnaW9uU3RhdHVzKCk7CisgICAgcmV0dXJuIEpTVmFsdWVNYWtlU3RyaW5n
KGNvbnRleHQsIGxpdmVSZWdpb25TdGF0dXMuZ2V0KCkpOworfQorCiBzdGF0aWMgSlNWYWx1ZVJl
ZiBnZXRPcmllbnRhdGlvbkNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJl
ZiB0aGlzT2JqZWN0LCBKU1N0cmluZ1JlZiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWVSZWYqIGV4Y2Vw
dGlvbikKIHsKICAgICBhdXRvIG9yaWVudGF0aW9uID0gdG9BWEVsZW1lbnQodGhpc09iamVjdCkt
Pm9yaWVudGF0aW9uKCk7CkBAIC0xMzI3LDYgKzEzMzksMTEgQEAgc3RhdGljIEpTVmFsdWVSZWYg
Z2V0U2VsZWN0ZWRUZXh0UmFuZ2VDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmpl
Y3RSZWYKICAgICByZXR1cm4gSlNWYWx1ZU1ha2VTdHJpbmcoY29udGV4dCwgc2VsZWN0ZWRUZXh0
UmFuZ2UuZ2V0KCkpOwogfQogCitzdGF0aWMgSlNWYWx1ZVJlZiBnZXRJc0F0b21pY0xpdmVSZWdp
b25DYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwg
SlNTdHJpbmdSZWYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit7CisgICAg
cmV0dXJuIEpTVmFsdWVNYWtlQm9vbGVhbihjb250ZXh0LCB0b0FYRWxlbWVudCh0aGlzT2JqZWN0
KS0+aXNBdG9taWNMaXZlUmVnaW9uKCkpOworfQorCiBzdGF0aWMgSlNWYWx1ZVJlZiBnZXRJc0J1
c3lDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwg
SlNTdHJpbmdSZWYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCiB7CiAgICAg
cmV0dXJuIEpTVmFsdWVNYWtlQm9vbGVhbihjb250ZXh0LCB0b0FYRWxlbWVudCh0aGlzT2JqZWN0
KS0+aXNCdXN5KCkpOwpAQCAtMTkyOSw2ICsxOTQ2LDcgQEAgSlNDbGFzc1JlZiBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpnZXRKU0NsYXNzKCkKICAgICAgICAgeyAiY29sdW1uQ291bnQiLCBjb2x1
bW5Db3VudENhbGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJv
cGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgImluc2VydGlvblBvaW50TGlu
ZU51bWJlciIsIGdldEluc2VydGlvblBvaW50TGluZU51bWJlckNhbGxiYWNrLCAwLCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0s
CiAgICAgICAgIHsgInNlbGVjdGVkVGV4dFJhbmdlIiwgZ2V0U2VsZWN0ZWRUZXh0UmFuZ2VDYWxs
YmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmli
dXRlRG9udERlbGV0ZSB9LAorICAgICAgICB7ICJpc0F0b21pY0xpdmVSZWdpb24iLCBnZXRJc0F0
b21pY0xpdmVSZWdpb25DYWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8
IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJpc0J1c3kiLCBn
ZXRJc0J1c3lDYWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1By
b3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJpc0VuYWJsZWQiLCBnZXRJ
c0VuYWJsZWRDYWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1By
b3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJpc1JlcXVpcmVkIiwgZ2V0
SXNSZXF1aXJlZENhbGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pT
UHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCkBAIC0xOTUzLDYgKzE5NzEsOCBAQCBKU0Ns
YXNzUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmdldEpTQ2xhc3MoKQogICAgICAgICB7ICJk
b2N1bWVudFVSSSIsIGdldERvY3VtZW50VVJJQ2FsbGJhY2ssIDAsIGtKU1Byb3BlcnR5QXR0cmli
dXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAg
eyAidXJsIiwgZ2V0VVJMQ2FsbGJhY2ssIDAsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkg
fCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAiaXNWYWxpZCIs
IGdldElzVmFsaWRDYWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtK
U1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgICAgICB7ICJsaXZlUmVnaW9uUmVs
ZXZhbnQiLCBnZXRMaXZlUmVnaW9uUmVsZXZhbnRDYWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRy
aWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgICAg
ICB7ICJsaXZlUmVnaW9uU3RhdHVzIiwgZ2V0TGl2ZVJlZ2lvblN0YXR1c0NhbGxiYWNrLCAwLCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVs
ZXRlIH0sCiAgICAgICAgIHsgIm9yaWVudGF0aW9uIiwgZ2V0T3JpZW50YXRpb25DYWxsYmFjaywg
MCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9u
dERlbGV0ZSB9LAogICAgICAgICB7ICJhcmlhSXNHcmFiYmVkIiwgZ2V0QVJJQUlzR3JhYmJlZENh
bGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRy
aWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgImFyaWFEcm9wRWZmZWN0cyIsIGdldEFSSUFE
cm9wRWZmZWN0c0NhbGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pT
UHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9B
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKaW5kZXggYzEyMTY5MDMzZDk5Li4wNjBhNTFiYjNiZjUg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQu
aAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKQEAg
LTEzMyw2ICsxMzMsOCBAQCBwdWJsaWM6CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGFj
Y2Vzc2liaWxpdHlWYWx1ZSgpIGNvbnN0OwogICAgIHZvaWQgc2V0VmFsdWUoSlNTdHJpbmdSZWYp
OwogICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBoZWxwVGV4dCgpIGNvbnN0OworICAgIEpT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiBsaXZlUmVnaW9uUmVsZXZhbnQoKSBjb25zdDsKKyAgICBK
U1JldGFpblB0cjxKU1N0cmluZ1JlZj4gbGl2ZVJlZ2lvblN0YXR1cygpIGNvbnN0OwogICAgIEpT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiBvcmllbnRhdGlvbigpIGNvbnN0OwogICAgIGRvdWJsZSB4
KCk7CiAgICAgZG91YmxlIHkoKTsKQEAgLTE0NSw2ICsxNDcsNyBAQCBwdWJsaWM6CiAgICAgSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHZhbHVlRGVzY3JpcHRpb24oKTsKICAgICBpbnQgaW5zZXJ0
aW9uUG9pbnRMaW5lTnVtYmVyKCk7CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHNlbGVj
dGVkVGV4dFJhbmdlKCk7CisgICAgYm9vbCBpc0F0b21pY0xpdmVSZWdpb24oKSBjb25zdDsKICAg
ICBib29sIGlzQnVzeSgpIGNvbnN0OwogICAgIGJvb2wgaXNFbmFibGVkKCk7CiAgICAgYm9vbCBp
c1JlcXVpcmVkKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9pb3Mv
QWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9B
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tCmluZGV4IGUzNjNiNzU4NDc4ZC4uZDdjYzY1Nzcy
MmE3IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9pb3MvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudElPUy5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9pb3MvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudElPUy5tbQpAQCAtNzUsNiArNzUsOSBAQCAtIChOU1VJbnRlZ2VyKWFjY2Vzc2li
aWxpdHlBUklBQ29sdW1uQ291bnQ7CiAtIChOU1VJbnRlZ2VyKWFjY2Vzc2liaWxpdHlBUklBUm93
SW5kZXg7CiAtIChOU1VJbnRlZ2VyKWFjY2Vzc2liaWxpdHlBUklBQ29sdW1uSW5kZXg7CiAtIChC
T09MKWFjY2Vzc2liaWxpdHlBUklBSXNCdXN5OworLSAoQk9PTClhY2Nlc3NpYmlsaXR5QVJJQUxp
dmVSZWdpb25Jc0F0b21pYzsKKy0gKE5TU3RyaW5nICopYWNjZXNzaWJpbGl0eUFSSUFMaXZlUmVn
aW9uU3RhdHVzOworLSAoTlNTdHJpbmcgKilhY2Nlc3NpYmlsaXR5QVJJQVJlbGV2YW50U3RhdHVz
OwogLSAoVUlBY2Nlc3NpYmlsaXR5VHJhaXRzKV9heENvbnRhaW5lZEJ5RmllbGRzZXRUcmFpdDsK
IC0gKGlkKV9hY2Nlc3NpYmlsaXR5RmllbGRzZXRBbmNlc3RvcjsKIC0gKEJPT0wpX2FjY2Vzc2li
aWxpdHlIYXNUb3VjaEV2ZW50TGlzdGVuZXI7CkBAIC04MTIsNiArODE1LDE2IEBAIEpTUmV0YWlu
UHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkZXNjcmlwdGlvbigpCiAg
ICAgcmV0dXJuIGNvbmNhdGVuYXRlQXR0cmlidXRlQW5kVmFsdWUoQCJBWExhYmVsIiwgW21fZWxl
bWVudCBhY2Nlc3NpYmlsaXR5TGFiZWxdKTsKIH0KIAorSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpdmVSZWdpb25SZWxldmFudCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIFtbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlBUklBUmVsZXZhbnRTdGF0dXNdIGNy
ZWF0ZUpTU3RyaW5nUmVmXTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmxpdmVSZWdpb25TdGF0dXMoKSBjb25zdAoreworICAgIHJldHVybiBb
W21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5QVJJQUxpdmVSZWdpb25TdGF0dXNdIGNyZWF0ZUpTU3Ry
aW5nUmVmXTsKK30KKwogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6Om9yaWVudGF0aW9uKCkgY29uc3QKIHsKICAgICByZXR1cm4gV1RSOjpjcmVhdGVKU1N0
cmluZygpOwpAQCAtODYyLDYgKzg3NSwxMSBAQCBpbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
aW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyKCkKICAgICByZXR1cm4gLTE7CiB9CiAKK2Jvb2wgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdG9taWNMaXZlUmVnaW9uKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5QVJJQUxpdmVSZWdpb25Jc0F0b21pY107Cit9
CisKIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5KCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5QVJJQUlzQnVzeV07CmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbSBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCmluZGV4
IDFiZDRmMzBmZTAwZS4uYTdiM2Q4NDNiYmNiIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQorKysgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQpAQCAtNjg0LDYgKzY4NCwx
NiBAQCBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZG9t
SWRlbnRpZmllcigpIGNvbnN0CiAgICAgcmV0dXJuIHN0cmluZ0F0dHJpYnV0ZVZhbHVlKE5TQWNj
ZXNzaWJpbGl0eURPTUlkZW50aWZpZXJBdHRyaWJ1dGUpOwogfQogCitKU1JldGFpblB0cjxKU1N0
cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGl2ZVJlZ2lvblJlbGV2YW50KCkgY29u
c3QKK3sKKyAgICByZXR1cm4gc3RyaW5nQXR0cmlidXRlVmFsdWUoQCJBWEFSSUFSZWxldmFudCIp
OworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
bGl2ZVJlZ2lvblN0YXR1cygpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0cmluZ0F0dHJpYnV0ZVZh
bHVlKEAiQVhBUklBTGl2ZSIpOworfQorCiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6b3JpZW50YXRpb24oKSBjb25zdAogewogICAgIEJFR0lOX0FYX09C
SkNfRVhDRVBUSU9OUwpAQCAtODUyLDYgKzg2MiwxMSBAQCBib29sIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKCkKICAgICByZXR1cm4gZmFsc2U7CiB9
CiAKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdG9taWNMaXZlUmVnaW9uKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEAiQVhBUklBQXRvbWljIik7Cit9
CisKIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5KCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEAiQVhFbGVtZW50QnVzeSIpOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50LmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxp
dHlVSUVsZW1lbnQuaAppbmRleCBiZDk5NDA3MjMwNGMuLjhjYmZhM2M5ZWNmNSAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50LmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50LmgKQEAgLTE1Niw2ICsxNTYsOCBAQCBwdWJsaWM6CiAgICAgSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGFjY2Vzc2liaWxpdHlWYWx1ZSgpIGNvbnN0OwogICAgIEpT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiBoZWxwVGV4dCgpIGNvbnN0OwogICAgIEpTUmV0YWluUHRy
PEpTU3RyaW5nUmVmPiBvcmllbnRhdGlvbigpIGNvbnN0OworICAgIEpTUmV0YWluUHRyPEpTU3Ry
aW5nUmVmPiBsaXZlUmVnaW9uUmVsZXZhbnQoKSBjb25zdDsKKyAgICBKU1JldGFpblB0cjxKU1N0
cmluZ1JlZj4gbGl2ZVJlZ2lvblN0YXR1cygpIGNvbnN0OwogICAgIGRvdWJsZSB4KCk7CiAgICAg
ZG91YmxlIHkoKTsKICAgICBkb3VibGUgd2lkdGgoKTsKQEAgLTE2OCw2ICsxNzAsNyBAQCBwdWJs
aWM6CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHZhbHVlRGVzY3JpcHRpb24oKTsKICAg
ICBpbnQgaW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyKCk7CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJp
bmdSZWY+IHNlbGVjdGVkVGV4dFJhbmdlKCk7CisgICAgYm9vbCBpc0F0b21pY0xpdmVSZWdpb24o
KSBjb25zdDsKICAgICBib29sIGlzQnVzeSgpIGNvbnN0OwogICAgIGJvb2wgaXNFbmFibGVkKCk7
CiAgICAgYm9vbCBpc1JlcXVpcmVkKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQu
aWRsIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50LmlkbAppbmRleCA5YWVkZDViMjk4ZTUuLjc2ODYxYmMwZWYwYSAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5n
cy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmlkbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsCkBAIC01
OCw2ICs1OCw4IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB2YWx1ZURlc2Ny
aXB0aW9uOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdXJsOwogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgc3BlYWtBczsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIGxpdmVSZWdpb25SZWxldmFudDsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIGxpdmVSZWdpb25TdGF0dXM7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyBvcmllbnRhdGlvbjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBpbnNlcnRpb25Qb2lu
dExpbmVOdW1iZXI7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBzZWxlY3RlZFRl
eHRSYW5nZTsKQEAgLTgyLDYgKzg0LDcgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBt
aW5WYWx1ZTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBtYXhWYWx1ZTsKICAgICAKKyAg
ICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc0F0b21pY0xpdmVSZWdpb247CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNCdXN5OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBi
b29sZWFuIGlzRW5hYmxlZDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc1JlcXVp
cmVkOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9p
b3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0KaW5kZXggZDQw
MjYxZjM3NjFhLi4yYWM3OGNiMTQ2NmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0KKysrIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudElPUy5tbQpAQCAtODMsNiArODMsOSBAQCAtIChOU1VJbnRlZ2VyKWFjY2Vzc2liaWxp
dHlBUklBQ29sdW1uQ291bnQ7CiAtIChOU1VJbnRlZ2VyKWFjY2Vzc2liaWxpdHlBUklBUm93SW5k
ZXg7CiAtIChOU1VJbnRlZ2VyKWFjY2Vzc2liaWxpdHlBUklBQ29sdW1uSW5kZXg7CiAtIChCT09M
KWFjY2Vzc2liaWxpdHlBUklBSXNCdXN5OworLSAoQk9PTClhY2Nlc3NpYmlsaXR5QVJJQUxpdmVS
ZWdpb25Jc0F0b21pYzsKKy0gKE5TU3RyaW5nICopYWNjZXNzaWJpbGl0eUFSSUFMaXZlUmVnaW9u
U3RhdHVzOworLSAoTlNTdHJpbmcgKilhY2Nlc3NpYmlsaXR5QVJJQVJlbGV2YW50U3RhdHVzOwog
LSAoTlNTdHJpbmcgKilhY2Nlc3NpYmlsaXR5SW52YWxpZFN0YXR1czsKIC0gKFVJQWNjZXNzaWJp
bGl0eVRyYWl0cylfYXhDb250YWluZWRCeUZpZWxkc2V0VHJhaXQ7CiAtIChpZClfYWNjZXNzaWJp
bGl0eUZpZWxkc2V0QW5jZXN0b3I7CkBAIC01MzIsNiArNTM1LDE2IEBAIEpTUmV0YWluUHRyPEpT
U3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkZXNjcmlwdGlvbigpCiAgICAgcmV0
dXJuIGNvbmNhdGVuYXRlQXR0cmlidXRlQW5kVmFsdWUoQCJBWExhYmVsIiwgW21fZWxlbWVudCBh
Y2Nlc3NpYmlsaXR5TGFiZWxdKTsKIH0KIAorSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmxpdmVSZWdpb25SZWxldmFudCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIFtbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlBUklBUmVsZXZhbnRTdGF0dXNdIGNyZWF0ZUpT
U3RyaW5nUmVmXTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmxpdmVSZWdpb25TdGF0dXMoKSBjb25zdAoreworICAgIHJldHVybiBbW21fZWxl
bWVudCBhY2Nlc3NpYmlsaXR5QVJJQUxpdmVSZWdpb25TdGF0dXNdIGNyZWF0ZUpTU3RyaW5nUmVm
XTsKK30KKwogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
Om9yaWVudGF0aW9uKCkgY29uc3QKIHsKICAgICByZXR1cm4gY3JlYXRlSlNTdHJpbmcoKTsKQEAg
LTYzMiw2ICs2NDUsMTEgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3JlbWVu
dEFjdGlvblN1cHBvcnRlZCgpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmlzQXRvbWljTGl2ZVJlZ2lvbigpIGNvbnN0Cit7CisgICAgcmV0dXJu
IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUFSSUFMaXZlUmVnaW9uSXNBdG9taWNdOworfQorCiBi
b29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQnVzeSgpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUFSSUFJc0J1c3ldOwpkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dE1hYy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRNYWMubW0KaW5kZXggN2ZiYTUxODhiZWE3Li40YjcyZGZhNzlkZjcg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQpAQCAtODA1LDYg
KzgwNSwxNiBAQCBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6ZGVzY3JpcHRpb24oKQogICAgIHJldHVybiBudWxscHRyOwogfQogCitKU1JldGFpblB0cjxK
U1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGl2ZVJlZ2lvblN0YXR1cygpIGNv
bnN0Cit7CisgICAgcmV0dXJuIHN0cmluZ0F0dHJpYnV0ZVZhbHVlKEAiQVhBUklBTGl2ZSIpOwor
fQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGl2
ZVJlZ2lvblJlbGV2YW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gc3RyaW5nQXR0cmlidXRlVmFs
dWUoQCJBWEFSSUFSZWxldmFudCIpOworfQorCiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6b3JpZW50YXRpb24oKSBjb25zdAogewogICAgIEJFR0lOX0FY
X09CSkNfRVhDRVBUSU9OUwpAQCAtOTgzLDYgKzk5MywxMSBAQCBib29sIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKCkKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdG9taWNMaXZlUmVnaW9uKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEAiQVhBUklBQXRvbWljIik7
Cit9CisKIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5KCkgY29uc3QKIHsKICAg
ICByZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEAiQVhFbGVtZW50QnVzeSIpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWJ1c3ktdXBkYXRlcy1hZnRlci1keW5h
bWljLWNoYW5nZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEt
YnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNGYzYzVlYzFhM2E0Li4wMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWJ1c3ktdXBkYXRlcy1hZnRlci1keW5hbWljLWNo
YW5nZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1UaGlzIHRl
c3QgZW5zdXJlcyB0aGF0IGFuIGVsZW1lbnQncyBidXN5IHN0YXRlIHVwZGF0ZXMgYXJpYS1idXN5
IGNoYW5nZXMuCi0KLVZlcmlmeWluZyBpbml0aWFsIGJ1c3kgc3RhdGU6Ci0KLSNjbG9jayBpcyBi
dXN5OiBmYWxzZQotI2Nsb2NrLWRpc3BsYXktY29udGVudHMgaXMgYnVzeTogZmFsc2UKLQotU2V0
dGluZyBhcmlhLWJ1c3kgdG8gdHJ1ZS4KLQotI2Nsb2NrIGlzIGJ1c3k6IHRydWUKLSNjbG9jay1k
aXNwbGF5LWNvbnRlbnRzIGlzIGJ1c3k6IHRydWUKLQotU2V0dGluZyBhcmlhLWJ1c3kgdG8gZmFs
c2UuCi0KLSNjbG9jayBpcyBidXN5OiBmYWxzZQotI2Nsb2NrLWRpc3BsYXktY29udGVudHMgaXMg
YnVzeTogZmFsc2UKLQotCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1Qg
Q09NUExFVEUKLTI6MzBwbQotNDozMHBtCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbCBiL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1j
aGFuZ2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGNmOTE2OGRiNGExLi4w
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWJ1c3ktdXBk
YXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAs
MCBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2FjY2Vzc2liaWxpdHktaGVscGVyLmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotCi08ZGl2IGlkPSJjbG9jayIgcm9sZT0idGltZXIi
IGFyaWEtbGl2ZT0icG9saXRlIiBhcmlhLWF0b21pYz0idHJ1ZSI+MjozMHBtPC9kaXY+Ci08ZGl2
IGlkPSJjbG9jay1kaXNwbGF5LWNvbnRlbnRzIiBzdHlsZT0iZGlzcGxheTogY29udGVudHMiIHJv
bGU9InRpbWVyIiBhcmlhLWxpdmU9InBvbGl0ZSIgYXJpYS1hdG9taWM9InRydWUiPjQ6MzBwbTwv
ZGl2PgotCi08c2NyaXB0PgotICAgIHZhciB0ZXN0T3V0cHV0ID0gIlRoaXMgdGVzdCBlbnN1cmVz
IHRoYXQgYW4gZWxlbWVudCdzIGJ1c3kgc3RhdGUgdXBkYXRlcyBhcmlhLWJ1c3kgY2hhbmdlcy5c
blxuIjsKLQotICAgIHZhciBheENsb2NrLCBheENsb2NrV2l0aERpc3BsYXlDb250ZW50czsKLSAg
ICBmdW5jdGlvbiB2ZXJpZnlFbGVtZW50cygpIHsKLSAgICAgICAgdGVzdE91dHB1dCArPSBgI2Ns
b2NrIGlzIGJ1c3k6ICR7YXhDbG9jay5pc0J1c3l9XG5gOwotICAgICAgICB0ZXN0T3V0cHV0ICs9
IGAjY2xvY2stZGlzcGxheS1jb250ZW50cyBpcyBidXN5OiAke2F4Q2xvY2tXaXRoRGlzcGxheUNv
bnRlbnRzLmlzQnVzeX1cblxuYDsKLSAgICB9Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2liaWxp
dHlDb250cm9sbGVyKSB7Ci0gICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAg
ICAgICAgYXhDbG9jayA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50
QnlJZCgiY2xvY2siKTsKLSAgICAgICAgYXhDbG9ja1dpdGhEaXNwbGF5Q29udGVudHMgPSBhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImNsb2NrLWRpc3BsYXkt
Y29udGVudHMiKTsKLQotICAgICAgICB0ZXN0T3V0cHV0ICs9ICJWZXJpZnlpbmcgaW5pdGlhbCBi
dXN5IHN0YXRlOlxuXG4iOwotICAgICAgICB2ZXJpZnlFbGVtZW50cygpOwotCi0gICAgICAgIGNv
bnN0IGNsb2NrID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNsb2NrIik7Ci0gICAgICAgIGNv
bnN0IGNsb2NrV2l0aERpc3BsYXlDb250ZW50cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
bG9jay1kaXNwbGF5LWNvbnRlbnRzIik7Ci0KLSAgICAgICAgdGVzdE91dHB1dCArPSAiU2V0dGlu
ZyBhcmlhLWJ1c3kgdG8gdHJ1ZS5cblxuIjsKLSAgICAgICAgY2xvY2suYXJpYUJ1c3kgPSAidHJ1
ZSI7Ci0gICAgICAgIGNsb2NrV2l0aERpc3BsYXlDb250ZW50cy5hcmlhQnVzeSA9ICJ0cnVlIjsK
LSAgICAgICAgc2V0VGltZW91dChhc3luYyBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGF3YWl0
IHdhaXRGb3IoKCkgPT4geyByZXR1cm4gYXhDbG9jay5pc0J1c3kgJiYgYXhDbG9ja1dpdGhEaXNw
bGF5Q29udGVudHMuaXNCdXN5IH0pOwotICAgICAgICAgICAgdmVyaWZ5RWxlbWVudHMoKTsKLQot
ICAgICAgICAgICAgdGVzdE91dHB1dCArPSAiU2V0dGluZyBhcmlhLWJ1c3kgdG8gZmFsc2UuXG5c
biI7Ci0gICAgICAgICAgICBjbG9jay5hcmlhQnVzeSA9ICJmYWxzZSI7Ci0gICAgICAgICAgICBj
bG9ja1dpdGhEaXNwbGF5Q29udGVudHMuYXJpYUJ1c3kgPSAiZmFsc2UiOwotICAgICAgICAgICAg
YXdhaXQgd2FpdEZvcigoKSA9PiB7IHJldHVybiAhYXhDbG9jay5pc0J1c3kgJiYgIWF4Q2xvY2tX
aXRoRGlzcGxheUNvbnRlbnRzLmlzQnVzeSB9KTsKLSAgICAgICAgICAgIHZlcmlmeUVsZW1lbnRz
KCk7Ci0KLSAgICAgICAgICAgIGRlYnVnKHRlc3RPdXRwdXQpOwotICAgICAgICAgICAgZmluaXNo
SlNUZXN0KCk7Ci0gICAgICAgIH0sIDApOwotICAgIH0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2xpdmUtcmVnaW9u
LWF0dHJpYnV0ZXMtdXBkYXRlLWFmdGVyLWR5bmFtaWMtY2hhbmdlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbGl2ZS1yZWdpb24tYXR0cmlidXRlcy11cGRhdGUtYWZ0
ZXItZHluYW1pYy1jaGFuZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMC4uN2NkOTJmZGQ4MzcxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9saXZlLXJlZ2lvbi1hdHRyaWJ1dGVzLXVwZGF0ZS1hZnRlci1keW5h
bWljLWNoYW5nZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0OCBAQAorVGhpcyB0ZXN0IGVuc3Vy
ZXMgdGhhdCBhbiBlbGVtZW50J3MgYnVzeSBzdGF0ZSB1cGRhdGVzIGFyaWEtYnVzeSBjaGFuZ2Vz
LgorCitWZXJpZnlpbmcgaW5pdGlhbCBzdGF0ZXM6CisKKyNjbG9jayBpcyBhdG9taWM6IHRydWUK
KyNjbG9jay1kaXNwbGF5LWNvbnRlbnRzIGlzIGF0b21pYzogdHJ1ZQorCisjY2xvY2sgaXMgYnVz
eTogZmFsc2UKKyNjbG9jay1kaXNwbGF5LWNvbnRlbnRzIGlzIGJ1c3k6IGZhbHNlCisKKyNjbG9j
ayByZWxldmFudDogYWRkaXRpb25zIHRleHQKKyNjbG9jay1kaXNwbGF5LWNvbnRlbnRzIHJlbGV2
YW50OiBhZGRpdGlvbnMgdGV4dAorCisjY2xvY2sgbGl2ZSByZWdpb24gc3RhdHVzOiBwb2xpdGUK
KyNjbG9jay1kaXNwbGF5LWNvbnRlbnRzIGxpdmUgcmVnaW9uIHN0YXR1czogcG9saXRlCisKK1Nl
dHRpbmcgYXJpYS1idXN5IHRvIHRydWUuCisKKyNjbG9jayBpcyBidXN5OiB0cnVlCisjY2xvY2st
ZGlzcGxheS1jb250ZW50cyBpcyBidXN5OiB0cnVlCisKK1NldHRpbmcgYXJpYS1idXN5IHRvIGZh
bHNlLgorCisjY2xvY2sgaXMgYnVzeTogZmFsc2UKKyNjbG9jay1kaXNwbGF5LWNvbnRlbnRzIGlz
IGJ1c3k6IGZhbHNlCisKK1NldHRpbmcgYXJpYS1hdG9taWMgdG8gZmFsc2UuCisKKyNjbG9jayBp
cyBhdG9taWM6IGZhbHNlCisjY2xvY2stZGlzcGxheS1jb250ZW50cyBpcyBhdG9taWM6IGZhbHNl
CisKK1NldHRpbmcgYXJpYS1yZWxldmFudCB0byByZW1vdmFscy4KKworI2Nsb2NrIHJlbGV2YW50
OiByZW1vdmFscworI2Nsb2NrLWRpc3BsYXktY29udGVudHMgcmVsZXZhbnQ6IHJlbW92YWxzCisK
K1NldHRpbmcgYXJpYS1saXZlIHRvIGFzc2VydGl2ZS4KKworI2Nsb2NrIGxpdmUgcmVnaW9uIHN0
YXR1czogYXNzZXJ0aXZlCisjY2xvY2stZGlzcGxheS1jb250ZW50cyBsaXZlIHJlZ2lvbiBzdGF0
dXM6IGFzc2VydGl2ZQorCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorMjozMHBtCis0OjMwcG0KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9saXZlLXJlZ2lvbi1hdHRyaWJ1dGVzLXVwZGF0ZS1hZnRlci1keW5hbWljLWNo
YW5nZS5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9saXZlLXJlZ2lvbi1hdHRyaWJ1
dGVzLXVwZGF0ZS1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMC4uNmVlM2UwYzdlZmI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9saXZlLXJlZ2lvbi1hdHRyaWJ1dGVzLXVwZGF0ZS1hZnRl
ci1keW5hbWljLWNoYW5nZS5odG1sCkBAIC0wLDAgKzEsODUgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9hY2Nlc3NpYmlsaXR5LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKworPGRpdiBpZD0iY2xvY2siIHJvbGU9InRpbWVyIiBhcmlhLWxpdmU9InBvbGl0ZSIgYXJp
YS1hdG9taWM9InRydWUiIGFyaWEtcmVsZXZhbnQ9ImFkZGl0aW9ucyB0ZXh0Ij4yOjMwcG08L2Rp
dj4KKzxkaXYgaWQ9ImNsb2NrLWRpc3BsYXktY29udGVudHMiIHN0eWxlPSJkaXNwbGF5OiBjb250
ZW50cyIgcm9sZT0idGltZXIiIGFyaWEtbGl2ZT0icG9saXRlIiBhcmlhLWF0b21pYz0idHJ1ZSIg
YXJpYS1yZWxldmFudD0iYWRkaXRpb25zIHRleHQiPjQ6MzBwbTwvZGl2PgorCis8c2NyaXB0Pgor
ICAgIHZhciB0ZXN0T3V0cHV0ID0gIlRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgYW4gZWxlbWVudCdz
IGJ1c3kgc3RhdGUgdXBkYXRlcyBhcmlhLWJ1c3kgY2hhbmdlcy5cblxuIjsKKworICAgIHZhciBh
eENsb2NrLCBheENsb2NrV2l0aERpc3BsYXlDb250ZW50czsKKyAgICBmdW5jdGlvbiB2ZXJpZnlJ
c0J1c3koKSB7CisgICAgICAgIHRlc3RPdXRwdXQgKz0gYCNjbG9jayBpcyBidXN5OiAke2F4Q2xv
Y2suaXNCdXN5fVxuYDsKKyAgICAgICAgdGVzdE91dHB1dCArPSBgI2Nsb2NrLWRpc3BsYXktY29u
dGVudHMgaXMgYnVzeTogJHtheENsb2NrV2l0aERpc3BsYXlDb250ZW50cy5pc0J1c3l9XG5cbmA7
CisgICAgfQorICAgIGZ1bmN0aW9uIHZlcmlmeUlzQXRvbWljKCkgeworICAgICAgICB0ZXN0T3V0
cHV0ICs9IGAjY2xvY2sgaXMgYXRvbWljOiAke2F4Q2xvY2suaXNBdG9taWNMaXZlUmVnaW9ufVxu
YDsKKyAgICAgICAgdGVzdE91dHB1dCArPSBgI2Nsb2NrLWRpc3BsYXktY29udGVudHMgaXMgYXRv
bWljOiAke2F4Q2xvY2tXaXRoRGlzcGxheUNvbnRlbnRzLmlzQXRvbWljTGl2ZVJlZ2lvbn1cblxu
YDsKKyAgICB9CisgICAgZnVuY3Rpb24gdmVyaWZ5TGl2ZVJlZ2lvblJlbGV2YW50KCkgeworICAg
ICAgICB0ZXN0T3V0cHV0ICs9IGAjY2xvY2sgcmVsZXZhbnQ6ICR7YXhDbG9jay5saXZlUmVnaW9u
UmVsZXZhbnR9XG5gOworICAgICAgICB0ZXN0T3V0cHV0ICs9IGAjY2xvY2stZGlzcGxheS1jb250
ZW50cyByZWxldmFudDogJHtheENsb2NrV2l0aERpc3BsYXlDb250ZW50cy5saXZlUmVnaW9uUmVs
ZXZhbnR9XG5cbmA7CisgICAgfQorICAgIGZ1bmN0aW9uIHZlcmlmeUxpdmVSZWdpb25TdGF0dXMo
KSB7CisgICAgICAgIHRlc3RPdXRwdXQgKz0gYCNjbG9jayBsaXZlIHJlZ2lvbiBzdGF0dXM6ICR7
YXhDbG9jay5saXZlUmVnaW9uU3RhdHVzfVxuYDsKKyAgICAgICAgdGVzdE91dHB1dCArPSBgI2Ns
b2NrLWRpc3BsYXktY29udGVudHMgbGl2ZSByZWdpb24gc3RhdHVzOiAke2F4Q2xvY2tXaXRoRGlz
cGxheUNvbnRlbnRzLmxpdmVSZWdpb25TdGF0dXN9XG5cbmA7CisgICAgfQorCisgICAgaWYgKHdp
bmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICB3aW5kb3cuanNUZXN0SXNB
c3luYyA9IHRydWU7CisgICAgICAgIGF4Q2xvY2sgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5h
Y2Nlc3NpYmxlRWxlbWVudEJ5SWQoImNsb2NrIik7CisgICAgICAgIGF4Q2xvY2tXaXRoRGlzcGxh
eUNvbnRlbnRzID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlk
KCJjbG9jay1kaXNwbGF5LWNvbnRlbnRzIik7CisKKyAgICAgICAgdGVzdE91dHB1dCArPSAiVmVy
aWZ5aW5nIGluaXRpYWwgc3RhdGVzOlxuXG4iOworICAgICAgICB2ZXJpZnlJc0F0b21pYygpOwor
ICAgICAgICB2ZXJpZnlJc0J1c3koKTsKKyAgICAgICAgdmVyaWZ5TGl2ZVJlZ2lvblJlbGV2YW50
KCk7CisgICAgICAgIHZlcmlmeUxpdmVSZWdpb25TdGF0dXMoKTsKKworICAgICAgICBjb25zdCBj
bG9jayA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjbG9jayIpOworICAgICAgICBjb25zdCBj
bG9ja1dpdGhEaXNwbGF5Q29udGVudHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2xvY2st
ZGlzcGxheS1jb250ZW50cyIpOworCisgICAgICAgIHRlc3RPdXRwdXQgKz0gIlNldHRpbmcgYXJp
YS1idXN5IHRvIHRydWUuXG5cbiI7CisgICAgICAgIGNsb2NrLmFyaWFCdXN5ID0gInRydWUiOwor
ICAgICAgICBjbG9ja1dpdGhEaXNwbGF5Q29udGVudHMuYXJpYUJ1c3kgPSAidHJ1ZSI7CisgICAg
ICAgIHNldFRpbWVvdXQoYXN5bmMgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBhd2FpdCB3YWl0
Rm9yKCgpID0+IGF4Q2xvY2suaXNCdXN5ICYmIGF4Q2xvY2tXaXRoRGlzcGxheUNvbnRlbnRzLmlz
QnVzeSk7CisgICAgICAgICAgICB2ZXJpZnlJc0J1c3koKTsKKworICAgICAgICAgICAgdGVzdE91
dHB1dCArPSAiU2V0dGluZyBhcmlhLWJ1c3kgdG8gZmFsc2UuXG5cbiI7CisgICAgICAgICAgICBj
bG9jay5hcmlhQnVzeSA9ICJmYWxzZSI7CisgICAgICAgICAgICBjbG9ja1dpdGhEaXNwbGF5Q29u
dGVudHMuYXJpYUJ1c3kgPSAiZmFsc2UiOworICAgICAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9
PiAhYXhDbG9jay5pc0J1c3kgJiYgIWF4Q2xvY2tXaXRoRGlzcGxheUNvbnRlbnRzLmlzQnVzeSk7
CisgICAgICAgICAgICB2ZXJpZnlJc0J1c3koKTsKKworICAgICAgICAgICAgdGVzdE91dHB1dCAr
PSAiU2V0dGluZyBhcmlhLWF0b21pYyB0byBmYWxzZS5cblxuIjsKKyAgICAgICAgICAgIGNsb2Nr
LmFyaWFBdG9taWMgPSAiZmFsc2UiOworICAgICAgICAgICAgY2xvY2tXaXRoRGlzcGxheUNvbnRl
bnRzLmFyaWFBdG9taWMgPSAiZmFsc2UiOworICAgICAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9
PiAhYXhDbG9jay5pc0F0b21pY0xpdmVSZWdpb24gJiYgIWF4Q2xvY2tXaXRoRGlzcGxheUNvbnRl
bnRzLmlzQXRvbWljTGl2ZVJlZ2lvbik7CisgICAgICAgICAgICB2ZXJpZnlJc0F0b21pYygpOwor
CisgICAgICAgICAgICB0ZXN0T3V0cHV0ICs9ICJTZXR0aW5nIGFyaWEtcmVsZXZhbnQgdG8gcmVt
b3ZhbHMuXG5cbiI7CisgICAgICAgICAgICBjbG9jay5hcmlhUmVsZXZhbnQgPSAicmVtb3ZhbHMi
OworICAgICAgICAgICAgY2xvY2tXaXRoRGlzcGxheUNvbnRlbnRzLmFyaWFSZWxldmFudCA9ICJy
ZW1vdmFscyI7CisgICAgICAgICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IGF4Q2xvY2subGl2ZVJl
Z2lvblJlbGV2YW50LmluY2x1ZGVzKCJyZW1vdmFscyIpICYmIGF4Q2xvY2tXaXRoRGlzcGxheUNv
bnRlbnRzLmxpdmVSZWdpb25SZWxldmFudC5pbmNsdWRlcygicmVtb3ZhbHMiKSk7CisgICAgICAg
ICAgICB2ZXJpZnlMaXZlUmVnaW9uUmVsZXZhbnQoKTsKKworICAgICAgICAgICAgdGVzdE91dHB1
dCArPSAiU2V0dGluZyBhcmlhLWxpdmUgdG8gYXNzZXJ0aXZlLlxuXG4iOworICAgICAgICAgICAg
Y2xvY2suYXJpYUxpdmUgPSAiYXNzZXJ0aXZlIjsKKyAgICAgICAgICAgIGNsb2NrV2l0aERpc3Bs
YXlDb250ZW50cy5hcmlhTGl2ZSA9ICJhc3NlcnRpdmUiOworICAgICAgICAgICAgYXdhaXQgd2Fp
dEZvcigoKSA9PiBheENsb2NrLmxpdmVSZWdpb25TdGF0dXMuaW5jbHVkZXMoImFzc2VydGl2ZSIp
ICYmIGF4Q2xvY2tXaXRoRGlzcGxheUNvbnRlbnRzLmxpdmVSZWdpb25TdGF0dXMuaW5jbHVkZXMo
ImFzc2VydGl2ZSIpKTsKKyAgICAgICAgICAgIHZlcmlmeUxpdmVSZWdpb25TdGF0dXMoKTsKKwor
ICAgICAgICAgICAgZGVidWcodGVzdE91dHB1dCk7CisgICAgICAgICAgICBmaW5pc2hKU1Rlc3Qo
KTsKKyAgICAgICAgfSwgMCk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAyNmVjZTdh
ODc2ZWIuLmQxYzlkNTA2MWFjYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xp
Yi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4
cGVjdGF0aW9ucwpAQCAtMzQ0LDggKzM0NCw4IEBAIGFjY2Vzc2liaWxpdHkvYW5jZXN0b3ItY29t
cHV0YXRpb24uaHRtbCBbIFNraXAgXQogIyBOZWVkIHRvIGltcGxlbWVudCBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojpkb21JZGVudGlmaWVyKCkgZm9yIHRoaXMgdGVzdCB0byBwYXNzIGFmdGVyIHdl
YmtpdC5vcmcvYi8yMzQxOTguCiBhY2Nlc3NpYmlsaXR5L2ZvY3VzYWJsZS1kaXYuaHRtbCBbIFNr
aXAgXQogCi0jIE1pc3NpbmcgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5IGltcGxlbWVu
dGF0aW9uLgotYWNjZXNzaWJpbGl0eS9hcmlhLWJ1c3ktdXBkYXRlcy1hZnRlci1keW5hbWljLWNo
YW5nZS5odG1sIFsgU2tpcCBdCisjIE1pc3NpbmcgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6e2lz
QnVzeSwgaXNBdG9taWNMaXZlUmVnaW9uLCBsaXZlUmVnaW9uU3RhdHVzLCBsaXZlUmVnaW9uUmVs
ZXZhbnR9IGltcGxlbWVudGF0aW9ucy4KK2FjY2Vzc2liaWxpdHkvbGl2ZS1yZWdpb24tYXR0cmli
dXRlcy11cGRhdGUtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbCBbIFNraXAgXQogCiAjIFRpbWlu
ZyBvdXQgc2luY2UgaXQgd2FzIGFkZGVkIGluIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzk0MzQuCiBhY2Nlc3NpYmlsaXR5L3RleHQtdXBkYXRlcy1hZnRlci1keW5h
bWljLWNoYW5nZS5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3MvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IGYyY2UwNTQ0Y2RmYS4uY2UwZDU4YTBiNGU0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjExNSw3ICsyMTE1LDYgQEAgd2Vi
a2l0Lm9yZy9iLzE0ODgwNiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
bXVsdGljb2wvbXVsdGljb2wtc3AKIGZhc3QvZG9tL2xpbmtpZnktcGhvbmUtbnVtYmVycy5odG1s
IFsgUGFzcyBdCiAKIGFjY2Vzc2liaWxpdHkvdGFibGUtZXhwb3N1cmUtdXBkYXRlcy1keW5hbWlj
YWxseS5odG1sIFsgUGFzcyBdCi1hY2Nlc3NpYmlsaXR5L2FyaWEtYnVzeS11cGRhdGVzLWFmdGVy
LWR5bmFtaWMtY2hhbmdlLmh0bWwgWyBQYXNzIF0KIGFjY2Vzc2liaWxpdHkvYXJpYS1kZXNjcmli
ZWRieS1vbi1pbnB1dC5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L2FyaWEtaGlkZGVuLWRp
c3BsYXktY29udGVudHMtZWxlbWVudC5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L2FyaWEt
cmVhZG9ubHktdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sIFsgUGFzcyBdCkBAIC0y
MTI1LDYgKzIxMjQsNyBAQCBhY2Nlc3NpYmlsaXR5L2Rpc3BsYXktY29udGVudHMtZWxlbWVudC1y
b2xlcy5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L2VsZW1lbnQtaGFzcG9wdXAuaHRtbCBb
IFBhc3MgXQogYWNjZXNzaWJpbGl0eS9oZWFkaW5nLWxldmVsLmh0bWwgWyBQYXNzIF0KIGFjY2Vz
c2liaWxpdHkvbGlzdC13aXRoLWR5bmFtaWNhbGx5LWNoYW5naW5nLWNvbnRlbnQuaHRtbCBbIFBh
c3MgXQorYWNjZXNzaWJpbGl0eS9saXZlLXJlZ2lvbi1hdHRyaWJ1dGVzLXVwZGF0ZS1hZnRlci1k
eW5hbWljLWNoYW5nZS5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L25vZGUtb25seS1pbmVy
dC1vYmplY3QuaHRtbCBbIFBhc3MgXQogYWNjZXNzaWJpbGl0eS9ub2RlLW9ubHktb2JqZWN0LWVs
ZW1lbnQtcmVjdC5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L3RleHQtdXBkYXRlcy1hZnRl
ci1keW5hbWljLWNoYW5nZS5odG1sIFsgUGFzcyBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IGI4ZTE5MGIyZmZiMi4uNjczNTI2ZTQ3MWY1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDk4LDggKzQ5OCw4IEBA
IGFjY2Vzc2liaWxpdHkvaWdub3JlLW1vZGFscy13aXRob3V0LWFueS1jb250ZW50Lmh0bWwgWyBT
a2lwIF0KIGFjY2Vzc2liaWxpdHkvYXJpYS1yZWFkb25seS11cGRhdGVzLWFmdGVyLWR5bmFtaWMt
Y2hhbmdlLmh0bWwgWyBTa2lwIF0KICMgTWlzc2luZyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpp
c1JlcXVpcmVkIGltcGxlbWVudGF0aW9uLgogYWNjZXNzaWJpbGl0eS9hcmlhLXJlcXVpcmVkLXVw
ZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbCBbIFNraXAgXQotIyBNaXNzaW5nIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmlzQnVzeSBpbXBsZW1lbnRhdGlvbi4KLWFjY2Vzc2liaWxpdHkv
YXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbCBbIFNraXAgXQorIyBN
aXNzaW5nIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Ontpc0J1c3ksIGlzQXRvbWljTGl2ZVJlZ2lv
biwgbGl2ZVJlZ2lvblN0YXR1cywgbGl2ZVJlZ2lvblJlbGV2YW50fSBpbXBsZW1lbnRhdGlvbnMu
CithY2Nlc3NpYmlsaXR5L2xpdmUtcmVnaW9uLWF0dHJpYnV0ZXMtdXBkYXRlLWFmdGVyLWR5bmFt
aWMtY2hhbmdlLmh0bWwgWyBTa2lwIF0KIAogIyBUT0RPIENvbmljIGdyYWRpZW50cwogaHR0cC93
cHQvY3NzL2Nzcy1pbWFnZXMtNC9jb25pYy1ncmFkaWVudC1wYXJzaW5nLmh0bWwgWyBTa2lwIF0K
LS0gCjIuMzUuMQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>460111</attachid>
            <date>2022-06-08 21:59:39 -0700</date>
            <delta_ts>2022-06-09 15:11:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-241444-20220608215938.patch</filename>
            <type>text/plain</type>
            <size>42466</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">RnJvbSAzMDU1NTUwNjU0OWQyYmEyNTU1NmFmZTAzZjM0MDYyYTlkZWFhZGVjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUeWxlciBXaWxjb2NrIDx0eWxlcl93QGFwcGxlLmNvbT4KRGF0
ZTogV2VkLCA4IEp1biAyMDIyIDE4OjQ0OjU2IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gQVg6IFVw
ZGF0ZSB0aGUgaXNvbGF0ZWQgdHJlZSBpbiByZXNwb25zZSB0byBkeW5hbWljIGNoYW5nZXMKIHRv
IGFyaWEtbGl2ZSwgYXJpYS1yZWxldmFudCwgYW5kIGFyaWEtYXRvbWljCiBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQxNDQ0CgpSZXZpZXdlZCBieSBDaHJpcyBGbGVp
emFjaC4KCldpdGggdGhpcyBwYXRjaCwgd2Ugbm93IHVwZGF0ZSB0aGUgaXNvbGF0ZWQgdHJlZSBp
biByZXNwb25zZSB0byBkeW5hbWljCmFyaWEtbGl2ZSwgYXJpYS1yZWxldmFudCwgYW5kIGFyaWEt
YXRvbWljIGNoYW5nZXMuCgpUaGlzIHBhdGNoIGFsc28gbWFrZXMgbGl2ZVJlZ2lvblN0YXR1cywg
bGl2ZVJlZ2lvblJlbGV2YW50LCBhbmQKbGl2ZVJlZ2lvbkF0b21pYyB3b3JrIG9uIG5vZGUtb25s
eSBvYmplY3RzIChsaWtlIHRob3NlIHdpdGggZGlzcGxheTpjb250ZW50cykuCgoqIExheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2Ut
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgoqIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1i
dXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbDogUmVtb3ZlZC4KKiBMYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L2xpdmUtcmVnaW9uLWF0dHJpYnV0ZXMtdXBkYXRlLWFmdGVyLWR5
bmFtaWMtY2hhbmdlLWV4cGVjdGVkLnR4dDogQWRkZWQuCiogTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9saXZlLXJlZ2lvbi1hdHRyaWJ1dGVzLXVwZGF0ZS1hZnRlci1keW5hbWljLWNoYW5nZS5o
dG1sOiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnM6
CiogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnM6CiogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6CiogU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BWExvZ2dlci5jcHA6CihXZWJDb3JlOjpvcGVyYXRvcjw8KToKKiBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgooV2ViQ29yZTo6QVhPYmplY3RD
YWNoZTo6aGFuZGxlQXR0cmlidXRlQ2hhbmdlKToKKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnVw
ZGF0ZUlzb2xhdGVkVHJlZSk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVj
dENhY2hlLmg6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9k
ZU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6bGl2ZVJlZ2lv
blN0YXR1cyBjb25zdCk6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6bGl2ZVJl
Z2lvblJlbGV2YW50IGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojps
aXZlUmVnaW9uQXRvbWljIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlOb2RlT2JqZWN0Lmg6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3Q6OmxpdmVSZWdpb25TdGF0dXMgY29uc3QpOiBEZWxldGVkLgooV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6bGl2ZVJlZ2lvblJlbGV2YW50IGNvbnN0KTogRGVsZXRl
ZC4KKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmxpdmVSZWdpb25BdG9taWMg
Y29uc3QpOiBEZWxldGVkLgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5oOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkv
QVhPYmplY3RDYWNoZUF0c3BpLmNwcDoKKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnBvc3RQbGF0
Zm9ybU5vdGlmaWNhdGlvbik6CiogVG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudC5jcHA6CihnZXRMaXZlUmVnaW9uUmVsZXZhbnRDYWxsYmFjayk6CihnZXRMaXZlUmVn
aW9uU3RhdHVzQ2FsbGJhY2spOgooZ2V0SXNBdG9taWNMaXZlUmVnaW9uQ2FsbGJhY2spOgooQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6Z2V0SlNDbGFzcyk6CiogVG9vbHMvRHVtcFJlbmRlclRyZWUv
QWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oOgoqIFRvb2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tOgooQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGl2ZVJl
Z2lvblJlbGV2YW50IGNvbnN0KToKKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpdmVSZWdpb25T
dGF0dXMgY29uc3QpOgooQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdG9taWNMaXZlUmVnaW9u
IGNvbnN0KToKKiBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dFdpbi5jcHAKKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpdmVSZWdpb25SZWxldmFudCBjb25z
dCk6CihBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsaXZlUmVnaW9uU3RhdHVzIGNvbnN0KToKKEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQXRvbWljTGl2ZVJlZ2lvbiBjb25zdCk6CiogVG9vbHMv
RHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW06CihBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpsaXZlUmVnaW9uUmVsZXZhbnQgY29uc3QpOgooQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6bGl2ZVJlZ2lvblN0YXR1cyBjb25zdCk6CihBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojppc0F0b21pY0xpdmVSZWdpb24gY29uc3QpOgoqIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oOgoqIFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5p
ZGw6CiogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudElPUy5tbToKKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGl2ZVJl
Z2lvblJlbGV2YW50IGNvbnN0KToKKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGl2ZVJl
Z2lvblN0YXR1cyBjb25zdCk6CihXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQXRvbWlj
TGl2ZVJlZ2lvbiBjb25zdCk6CiogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbToKKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6bGl2ZVJlZ2lvblN0YXR1cyBjb25zdCk6CihXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmxpdmVSZWdpb25SZWxldmFudCBjb25zdCk6CihXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmlzQXRvbWljTGl2ZVJlZ2lvbiBjb25zdCk6CiogVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRzcGkuY3BwCiog
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93aW4vQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudFdpbi5jcHAKLS0tCiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYTG9nZ2Vy
LmNwcCAgICAgfCAgOSArKwogLi4uL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hl
LmNwcCAgIHwgIDkgKysKIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNo
ZS5oICB8ICAzICsKIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNw
cCB8IDM3ICsrKysrKysrCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVj
dC5oICAgfCAgNCArCiAuLi4vQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgICAgICAgICAg
ICAgfCA0MCAtLS0tLS0tLS0KIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuaCB8ICA0IC0KIC4uLi9hdHNwaS9BWE9iamVjdENhY2hlQXRzcGkuY3BwICAgICAgICAg
ICAgICB8ICA2ICsrCiAuLi4vRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5j
cHAgfCAyMCArKysrKwogVG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dC5oIHwgIDMgKwogLi4uL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tICAgICAgICAg
IHwgMTggKysrKwogLi4uL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tICAgICAgICAg
IHwgMTUgKysrKwogLi4uL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNwcCAgICAgICAg
IHwgMTUgKysrKwogLi4uL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaCAg
IHwgIDMgKwogLi4uL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsICAgICAgIHwg
IDMgKwogLi4uL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHAgICAgIHwgMTUg
KysrKwogLi4uL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tICAgICAgICAgIHwgMTgg
KysrKwogLi4uL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tICAgICAgICAgIHwgMTUg
KysrKwogLi4uL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNwcCAgICAgICAgIHwgMTgg
KysrKwogLi4uLXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UtZXhwZWN0ZWQudHh0IHwgMjQg
LS0tLS0tCiAuLi5yaWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwgfCA1
MiAtLS0tLS0tLS0tLS0KIC4uLnMtdXBkYXRlLWFmdGVyLWR5bmFtaWMtY2hhbmdlLWV4cGVjdGVk
LnR4dCB8IDQ4ICsrKysrKysrKysrCiAuLi50dHJpYnV0ZXMtdXBkYXRlLWFmdGVyLWR5bmFtaWMt
Y2hhbmdlLmh0bWwgfCA4NSArKysrKysrKysrKysrKysrKysrCiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMgICAgfCAgNCArLQogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zL1Rlc3RFeHBlY3RhdGlvbnMgICAgIHwgIDIgKy0KIExheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9UZXN0RXhwZWN0YXRpb25zICAgICB8ICA0ICstCiAyNiBmaWxlcyBjaGFuZ2VkLCAzNDkgaW5z
ZXJ0aW9ucygrKSwgMTI1IGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2Ut
ZXhwZWN0ZWQudHh0CiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9hcmlhLWJ1c3ktdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sCiBjcmVhdGUgbW9k
ZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9saXZlLXJlZ2lvbi1hdHRyaWJ1dGVz
LXVwZGF0ZS1hZnRlci1keW5hbWljLWNoYW5nZS1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEw
MDY0NCBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2xpdmUtcmVnaW9uLWF0dHJpYnV0ZXMtdXBk
YXRlLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYTG9nZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhMb2dnZXIuY3BwCmluZGV4IDA5OTYyNzI2MjMyZC4uMGUzN2E5NDllYWZmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYTG9nZ2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYTG9nZ2VyLmNwcApAQCAtNDA2LDYgKzQwNiw5IEBA
IFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgc3RyZWFtLCBBWE9iamVjdENhY2hl
OjpBWE5vdGlmaWNhdGlvbiBub3RpZmljCiAgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlm
aWNhdGlvbjo6QVhJbWFnZU92ZXJsYXlDaGFuZ2VkOgogICAgICAgICBzdHJlYW0gPDwgIkFYSW1h
Z2VPdmVybGF5Q2hhbmdlZCI7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmplY3RDYWNo
ZTo6QVhOb3RpZmljYXRpb246OkFYSXNBdG9taWNDaGFuZ2VkOgorICAgICAgICBzdHJlYW0gPDwg
IkFYSXNBdG9taWNDaGFuZ2VkIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBBWE9iamVjdENh
Y2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhMYW5ndWFnZUNoYW5nZWQ6CiAgICAgICAgIHN0cmVhbSA8
PCAiQVhMYW5ndWFnZUNoYW5nZWQiOwogICAgICAgICBicmVhazsKQEAgLTQ2MCw2ICs0NjMsMTIg
QEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiBzdHJlYW0sIEFYT2JqZWN0Q2Fj
aGU6OkFYTm90aWZpY2F0aW9uIG5vdGlmaWMKICAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90
aWZpY2F0aW9uOjpBWExpdmVSZWdpb25DaGFuZ2VkOgogICAgICAgICBzdHJlYW0gPDwgIkFYTGl2
ZVJlZ2lvbkNoYW5nZWQiOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6
OkFYTm90aWZpY2F0aW9uOjpBWExpdmVSZWdpb25SZWxldmFudENoYW5nZWQ6CisgICAgICAgIHN0
cmVhbSA8PCAiQVhMaXZlUmVnaW9uUmVsZXZhbnRDaGFuZ2VkIjsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhMaXZlUmVnaW9uU3RhdHVz
Q2hhbmdlZDoKKyAgICAgICAgc3RyZWFtIDw8ICJBWExpdmVSZWdpb25TdGF0dXNDaGFuZ2VkIjsK
KyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6
QVhNZW51TGlzdEl0ZW1TZWxlY3RlZDoKICAgICAgICAgc3RyZWFtIDw8ICJBWE1lbnVMaXN0SXRl
bVNlbGVjdGVkIjsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCBhM2E5ODkxYWI1NDYuLjkyOTBjYjQxMjQ1MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCkBA
IC0xOTQwLDYgKzE5NDAsOCBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZUF0dHJpYnV0ZUNo
YW5nZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSwgRWxlbWVudAogCiAgICAgaWYgKGF0
dHJOYW1lID09IGFyaWFfYWN0aXZlZGVzY2VuZGFudEF0dHIpCiAgICAgICAgIGhhbmRsZUFjdGl2
ZURlc2NlbmRhbnRDaGFuZ2VkKCplbGVtZW50KTsKKyAgICBlbHNlIGlmIChhdHRyTmFtZSA9PSBh
cmlhX2F0b21pY0F0dHIpCisgICAgICAgIHBvc3ROb3RpZmljYXRpb24oZWxlbWVudCwgQVhJc0F0
b21pY0NoYW5nZWQpOwogICAgIGVsc2UgaWYgKGF0dHJOYW1lID09IGFyaWFfYnVzeUF0dHIpCiAg
ICAgICAgIHBvc3ROb3RpZmljYXRpb24oZWxlbWVudCwgQVhPYmplY3RDYWNoZTo6QVhFbGVtZW50
QnVzeUNoYW5nZWQpOwogICAgIGVsc2UgaWYgKGF0dHJOYW1lID09IGFyaWFfdmFsdWVub3dBdHRy
IHx8IGF0dHJOYW1lID09IGFyaWFfdmFsdWV0ZXh0QXR0cikKQEAgLTE5NTQsNiArMTk1Niw4IEBA
IHZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlQXR0cmlidXRlQ2hhbmdlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIGF0dHJOYW1lLCBFbGVtZW50CiAgICAgICAgIHBvc3ROb3RpZmljYXRpb24oZWxlbWVu
dCwgQVhHcmFiYmVkU3RhdGVDaGFuZ2VkKTsKICAgICBlbHNlIGlmIChhdHRyTmFtZSA9PSBhcmlh
X2xldmVsQXR0cikKICAgICAgICAgcG9zdE5vdGlmaWNhdGlvbihlbGVtZW50LCBBWExldmVsQ2hh
bmdlZCk7CisgICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gYXJpYV9saXZlQXR0cikKKyAgICAgICAg
cG9zdE5vdGlmaWNhdGlvbihlbGVtZW50LCBBWExpdmVSZWdpb25TdGF0dXNDaGFuZ2VkKTsKICAg
ICBlbHNlIGlmIChhdHRyTmFtZSA9PSBhcmlhX3ZhbHVlbWF4QXR0cikKICAgICAgICAgcG9zdE5v
dGlmaWNhdGlvbihlbGVtZW50LCBBWE1heGltdW1WYWx1ZUNoYW5nZWQpOwogICAgIGVsc2UgaWYg
KGF0dHJOYW1lID09IGFyaWFfdmFsdWVtaW5BdHRyKQpAQCAtMTk2Miw2ICsxOTY2LDggQEAgdm9p
ZCBBWE9iamVjdENhY2hlOjpoYW5kbGVBdHRyaWJ1dGVDaGFuZ2UoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgYXR0ck5hbWUsIEVsZW1lbnQKICAgICAgICAgcG9zdE5vdGlmaWNhdGlvbihlbGVtZW50LCBB
WE11bHRpU2VsZWN0YWJsZVN0YXRlQ2hhbmdlZCk7CiAgICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0g
YXJpYV9wb3NpbnNldEF0dHIpCiAgICAgICAgIHBvc3ROb3RpZmljYXRpb24oZWxlbWVudCwgQVhQ
b3NpdGlvbkluU2V0Q2hhbmdlZCk7CisgICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gYXJpYV9yZWxl
dmFudEF0dHIpCisgICAgICAgIHBvc3ROb3RpZmljYXRpb24oZWxlbWVudCwgQVhMaXZlUmVnaW9u
UmVsZXZhbnRDaGFuZ2VkKTsKICAgICBlbHNlIGlmIChhdHRyTmFtZSA9PSBhcmlhX3NlbGVjdGVk
QXR0cikKICAgICAgICAgc2VsZWN0ZWRTdGF0ZUNoYW5nZWQoZWxlbWVudCk7CiAgICAgZWxzZSBp
ZiAoYXR0ck5hbWUgPT0gYXJpYV9zZXRzaXplQXR0cikKQEAgLTM1NTMsNyArMzU1OSwxMCBAQCB2
b2lkIEFYT2JqZWN0Q2FjaGU6OnVwZGF0ZUlzb2xhdGVkVHJlZShjb25zdCBWZWN0b3I8c3RkOjpw
YWlyPFJlZlB0cjxBWENvcmVPYmplYwogICAgICAgICBjYXNlIEFYR3JhYmJlZFN0YXRlQ2hhbmdl
ZDoKICAgICAgICAgY2FzZSBBWEhhc1BvcHVwQ2hhbmdlZDoKICAgICAgICAgY2FzZSBBWEludmFs
aWRTdGF0dXNDaGFuZ2VkOgorICAgICAgICBjYXNlIEFYSXNBdG9taWNDaGFuZ2VkOgogICAgICAg
ICBjYXNlIEFYTGV2ZWxDaGFuZ2VkOgorICAgICAgICBjYXNlIEFYTGl2ZVJlZ2lvblN0YXR1c0No
YW5nZWQ6CisgICAgICAgIGNhc2UgQVhMaXZlUmVnaW9uUmVsZXZhbnRDaGFuZ2VkOgogICAgICAg
ICBjYXNlIEFYTWVudUxpc3RWYWx1ZUNoYW5nZWQ6CiAgICAgICAgIGNhc2UgQVhNdWx0aVNlbGVj
dGFibGVTdGF0ZUNoYW5nZWQ6CiAgICAgICAgIGNhc2UgQVhQcmVzc2VkU3RhdGVDaGFuZ2VkOgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCBmOWMz
Yzg1ZDI4YjguLmQ4MDdjMzJhMGIxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BWE9iamVjdENhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BWE9iamVjdENhY2hlLmgKQEAgLTI4OCw2ICsyODgsNyBAQCBwdWJsaWM6CiAgICAgICAgIEFY
SGFzUG9wdXBDaGFuZ2VkLAogICAgICAgICBBWElkQXR0cmlidXRlQ2hhbmdlZCwKICAgICAgICAg
QVhJbWFnZU92ZXJsYXlDaGFuZ2VkLAorICAgICAgICBBWElzQXRvbWljQ2hhbmdlZCwKICAgICAg
ICAgQVhMYW5ndWFnZUNoYW5nZWQsCiAgICAgICAgIEFYTGF5b3V0Q29tcGxldGUsCiAgICAgICAg
IEFYTGV2ZWxDaGFuZ2VkLApAQCAtMzAzLDYgKzMwNCw4IEBAIHB1YmxpYzoKICAgICAgICAgQVhT
Y3JvbGxlZFRvQW5jaG9yLAogICAgICAgICBBWExpdmVSZWdpb25DcmVhdGVkLAogICAgICAgICBB
WExpdmVSZWdpb25DaGFuZ2VkLAorICAgICAgICBBWExpdmVSZWdpb25SZWxldmFudENoYW5nZWQs
CisgICAgICAgIEFYTGl2ZVJlZ2lvblN0YXR1c0NoYW5nZWQsCiAgICAgICAgIEFYTWF4aW11bVZh
bHVlQ2hhbmdlZCwKICAgICAgICAgQVhNZW51TGlzdEl0ZW1TZWxlY3RlZCwKICAgICAgICAgQVhN
ZW51TGlzdFZhbHVlQ2hhbmdlZCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKaW5kZXggZTE5NmYwOGEyOTU5Li5h
YWYxMjI0NWQ3NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCkBAIC0xMzA0LDYgKzEzMDQsNDMgQEAgYm9v
bCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6ZWxlbWVudEF0dHJpYnV0ZVZhbHVlKGNvbnN0IFF1
YWxpZmllZE5hbWUmIGF0dHJpYnUKICAgICByZXR1cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UoZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpLCAidHJ1ZSJfcyk7CiB9CiAKK2NvbnN0
IFN0cmluZyBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6bGl2ZVJlZ2lvblN0YXR1cygpIGNvbnN0
Cit7CisgICAgY29uc3QgYXV0byYgbGl2ZVJlZ2lvblN0YXR1cyA9IGdldEF0dHJpYnV0ZShhcmlh
X2xpdmVBdHRyKTsKKyAgICBpZiAobGl2ZVJlZ2lvblN0YXR1cy5pc0VtcHR5KCkpCisgICAgICAg
IHJldHVybiBkZWZhdWx0TGl2ZVJlZ2lvblN0YXR1c0ZvclJvbGUocm9sZVZhbHVlKCkpOworCisg
ICAgcmV0dXJuIGxpdmVSZWdpb25TdGF0dXM7Cit9CisKK2NvbnN0IFN0cmluZyBBY2Nlc3NpYmls
aXR5Tm9kZU9iamVjdDo6bGl2ZVJlZ2lvblJlbGV2YW50KCkgY29uc3QKK3sKKyAgICBjb25zdCBh
dXRvJiByZWxldmFudCA9IGdldEF0dHJpYnV0ZShhcmlhX3JlbGV2YW50QXR0cik7CisgICAgLy8g
RGVmYXVsdCBhcmlhLXJlbGV2YW50ID0gImFkZGl0aW9ucyB0ZXh0Ii4KKyAgICBpZiAocmVsZXZh
bnQuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gImFkZGl0aW9ucyB0ZXh0Il9zOworCisgICAg
cmV0dXJuIHJlbGV2YW50OworfQorCitib29sIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjpsaXZl
UmVnaW9uQXRvbWljKCkgY29uc3QKK3sKKyAgICBjb25zdCBhdXRvJiBhdG9taWMgPSBnZXRBdHRy
aWJ1dGUoYXJpYV9hdG9taWNBdHRyKTsKKyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UoYXRvbWljLCAidHJ1ZSJfcykpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIGlmIChl
cXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhdG9taWMsICJmYWxzZSJfcykpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIC8vIFdBSS1BUklBICJhbGVydCIgYW5kICJzdGF0dXMiIHJv
bGVzIGhhdmUgYW4gaW1wbGljaXQgYXJpYS1hdG9taWMgdmFsdWUgb2YgdHJ1ZS4KKyAgICBzd2l0
Y2ggKHJvbGVWYWx1ZSgpKSB7CisgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6QXBwbGljYXRp
b25BbGVydDoKKyAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpBcHBsaWNhdGlvblN0YXR1czoK
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIH0KK30KKwogYm9vbCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6aXNHZW5lcmljRm9j
dXNhYmxlRWxlbWVudCgpIGNvbnN0CiB7CiAgICAgaWYgKCFjYW5TZXRGb2N1c0F0dHJpYnV0ZSgp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5oCmluZGV4IDVhZWE5YTA1YTJjOC4uYTNiOTI4NGVmNjZlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVj
dC5oCkBAIC0xNzMsNiArMTczLDEwIEBAIHByb3RlY3RlZDoKIAogICAgIGJvb2wgZWxlbWVudEF0
dHJpYnV0ZVZhbHVlKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdDsKIAorICAgIGNvbnN0IFN0
cmluZyBsaXZlUmVnaW9uU3RhdHVzKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgY29uc3QgU3RyaW5n
IGxpdmVSZWdpb25SZWxldmFudCgpIGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wgbGl2ZVJlZ2lv
bkF0b21pYygpIGNvbnN0IG92ZXJyaWRlOworCiAgICAgYm9vbCBpc0xhYmVsYWJsZSgpIGNvbnN0
OwogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIGNvcnJlc3BvbmRpbmdDb250cm9sRm9yTGFiZWxF
bGVtZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY29ycmVz
cG9uZGluZ0xhYmVsRm9yQ29udHJvbEVsZW1lbnQoKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuY3BwCmluZGV4IDZmZDA1ODJlZjFmMy4uNTVmMjQ0YmFjNmY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdC5jcHAKQEAgLTMyNjQsNDYgKzMyNjQsNiBAQCBib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3Q6OmNhbkhhdmVDaGlsZHJlbigpIGNvbnN0CiAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlO
b2RlT2JqZWN0OjpjYW5IYXZlQ2hpbGRyZW4oKTsKIH0KIAotY29uc3QgU3RyaW5nIEFjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3Q6OmxpdmVSZWdpb25TdGF0dXMoKSBjb25zdAotewotICAgIGNvbnN0
IEF0b21TdHJpbmcmIGxpdmVSZWdpb25TdGF0dXMgPSBnZXRBdHRyaWJ1dGUoYXJpYV9saXZlQXR0
cik7Ci0gICAgLy8gVGhlc2Ugcm9sZXMgaGF2ZSBpbXBsaWNpdCBsaXZlIHJlZ2lvbiBzdGF0dXMu
Ci0gICAgaWYgKGxpdmVSZWdpb25TdGF0dXMuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gZGVm
YXVsdExpdmVSZWdpb25TdGF0dXNGb3JSb2xlKHJvbGVWYWx1ZSgpKTsKLQotICAgIHJldHVybiBs
aXZlUmVnaW9uU3RhdHVzOwotfQotCi1jb25zdCBTdHJpbmcgQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdDo6bGl2ZVJlZ2lvblJlbGV2YW50KCkgY29uc3QKLXsKLSAgICBzdGF0aWMgTWFpblRocmVh
ZE5ldmVyRGVzdHJveWVkPGNvbnN0IEF0b21TdHJpbmc+IGRlZmF1bHRMaXZlUmVnaW9uUmVsZXZh
bnQoImFkZGl0aW9ucyB0ZXh0Il9zKTsKLSAgICBjb25zdCBBdG9tU3RyaW5nJiByZWxldmFudCA9
IGdldEF0dHJpYnV0ZShhcmlhX3JlbGV2YW50QXR0cik7Ci0KLSAgICAvLyBEZWZhdWx0IGFyaWEt
cmVsZXZhbnQgPSAiYWRkaXRpb25zIHRleHQiLgotICAgIGlmIChyZWxldmFudC5pc0VtcHR5KCkp
Ci0gICAgICAgIHJldHVybiAiYWRkaXRpb25zIHRleHQiX3M7Ci0gICAgCi0gICAgcmV0dXJuIHJl
bGV2YW50OwotfQotCi1ib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmxpdmVSZWdpb25B
dG9taWMoKSBjb25zdAotewotICAgIGNvbnN0IEF0b21TdHJpbmcmIGF0b21pYyA9IGdldEF0dHJp
YnV0ZShhcmlhX2F0b21pY0F0dHIpOwotICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJ
Q2FzZShhdG9taWMsICJ0cnVlIl9zKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgaWYgKGVx
dWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGF0b21pYywgImZhbHNlIl9zKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgLy8gV0FJLUFSSUEgImFsZXJ0IiBhbmQgInN0YXR1cyIgcm9s
ZXMgaGF2ZSBhbiBpbXBsaWNpdCBhcmlhLWF0b21pYyB2YWx1ZSBvZiB0cnVlLgotICAgIHN3aXRj
aCAocm9sZVZhbHVlKCkpIHsKLSAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpBcHBsaWNhdGlv
bkFsZXJ0OgotICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkFwcGxpY2F0aW9uU3RhdHVzOgot
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgfQotfQotCiBib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmNhbkhhdmVTZWxl
Y3RlZENoaWxkcmVuKCkgY29uc3QKIHsKICAgICBzd2l0Y2ggKHJvbGVWYWx1ZSgpKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdC5oCmluZGV4IDVlMzQzZmRjNzA4Yi4uY2Q1ZjNmZDE1N2MzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3QuaApAQCAtMjY2LDEwICsyNjYsNiBAQCBwcml2YXRlOgogICAgIAogICAgIE9wdGlvblNldDxT
cGVha0FzPiBzcGVha0FzUHJvcGVydHkoKSBjb25zdCBvdmVycmlkZTsKICAgICAKLSAgICBjb25z
dCBTdHJpbmcgbGl2ZVJlZ2lvblN0YXR1cygpIGNvbnN0IG92ZXJyaWRlOwotICAgIGNvbnN0IFN0
cmluZyBsaXZlUmVnaW9uUmVsZXZhbnQoKSBjb25zdCBvdmVycmlkZTsKLSAgICBib29sIGxpdmVS
ZWdpb25BdG9taWMoKSBjb25zdCBvdmVycmlkZTsKLQogICAgIGJvb2wgaW5oZXJpdHNQcmVzZW50
YXRpb25hbFJvbGUoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIGJvb2wgc2hvdWxkR2V0VGV4dEZy
b21Ob2RlKEFjY2Vzc2liaWxpdHlUZXh0VW5kZXJFbGVtZW50TW9kZSkgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FYT2JqZWN0Q2FjaGVBdHNw
aS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FYT2JqZWN0Q2FjaGVB
dHNwaS5jcHAKaW5kZXggZjk4ZGI0MWQ3YTFmLi43ZThiYWJhMmFlOWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkvQVhPYmplY3RDYWNoZUF0c3BpLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FYT2JqZWN0Q2FjaGVBdHNw
aS5jcHAKQEAgLTIxMyw2ICsyMTMsMTIgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0UGxhdGZv
cm1Ob3RpZmljYXRpb24oQVhDb3JlT2JqZWN0KiBjb3JlT2JqZWN0LCBBWE5vdGlmaWMKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBBWE11bHRpU2VsZWN0YWJsZVN0YXRlQ2hhbmdlZDoKICAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBBWElzQXRvbWljQ2hhbmdlZDoKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBBWExpdmVSZWdpb25SZWxldmFudENoYW5nZWQ6CisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgQVhMaXZlUmVnaW9uU3RhdHVzQ2hhbmdlZDoKKyAgICAgICAgYnJlYWs7CiAgICAgfQog
fQogCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3Bw
CmluZGV4IGU1NjkyNjA4YjViYS4uZDhmNjI0MzA3MDhlIDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcAorKysgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcApAQCAtMTI0NCw2ICsxMjQ0LDE4IEBA
IHN0YXRpYyBKU1ZhbHVlUmVmIGdldEhlbHBUZXh0Q2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRl
eHQsIEpTT2JqZWN0UmVmIHRoaXNPYmplCiAgICAgcmV0dXJuIEpTVmFsdWVNYWtlU3RyaW5nKGNv
bnRleHQsIGxhbmd1YWdlLmdldCgpKTsKIH0KIAorc3RhdGljIEpTVmFsdWVSZWYgZ2V0TGl2ZVJl
Z2lvblJlbGV2YW50Q2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHRo
aXNPYmplY3QsIEpTU3RyaW5nUmVmIHByb3BlcnR5TmFtZSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9u
KQoreworICAgIGF1dG8gbGl2ZVJlZ2lvblJlbGV2YW50ID0gdG9BWEVsZW1lbnQodGhpc09iamVj
dCktPmxpdmVSZWdpb25SZWxldmFudCgpOworICAgIHJldHVybiBKU1ZhbHVlTWFrZVN0cmluZyhj
b250ZXh0LCBsaXZlUmVnaW9uUmVsZXZhbnQuZ2V0KCkpOworfQorCitzdGF0aWMgSlNWYWx1ZVJl
ZiBnZXRMaXZlUmVnaW9uU3RhdHVzQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2Jq
ZWN0UmVmIHRoaXNPYmplY3QsIEpTU3RyaW5nUmVmIHByb3BlcnR5TmFtZSwgSlNWYWx1ZVJlZiog
ZXhjZXB0aW9uKQoreworICAgIGF1dG8gbGl2ZVJlZ2lvblN0YXR1cyA9IHRvQVhFbGVtZW50KHRo
aXNPYmplY3QpLT5saXZlUmVnaW9uU3RhdHVzKCk7CisgICAgcmV0dXJuIEpTVmFsdWVNYWtlU3Ry
aW5nKGNvbnRleHQsIGxpdmVSZWdpb25TdGF0dXMuZ2V0KCkpOworfQorCiBzdGF0aWMgSlNWYWx1
ZVJlZiBnZXRPcmllbnRhdGlvbkNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVj
dFJlZiB0aGlzT2JqZWN0LCBKU1N0cmluZ1JlZiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWVSZWYqIGV4
Y2VwdGlvbikKIHsKICAgICBhdXRvIG9yaWVudGF0aW9uID0gdG9BWEVsZW1lbnQodGhpc09iamVj
dCktPm9yaWVudGF0aW9uKCk7CkBAIC0xMzI3LDYgKzEzMzksMTEgQEAgc3RhdGljIEpTVmFsdWVS
ZWYgZ2V0U2VsZWN0ZWRUZXh0UmFuZ2VDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNP
YmplY3RSZWYKICAgICByZXR1cm4gSlNWYWx1ZU1ha2VTdHJpbmcoY29udGV4dCwgc2VsZWN0ZWRU
ZXh0UmFuZ2UuZ2V0KCkpOwogfQogCitzdGF0aWMgSlNWYWx1ZVJlZiBnZXRJc0F0b21pY0xpdmVS
ZWdpb25DYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgdGhpc09iamVj
dCwgSlNTdHJpbmdSZWYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit7Cisg
ICAgcmV0dXJuIEpTVmFsdWVNYWtlQm9vbGVhbihjb250ZXh0LCB0b0FYRWxlbWVudCh0aGlzT2Jq
ZWN0KS0+aXNBdG9taWNMaXZlUmVnaW9uKCkpOworfQorCiBzdGF0aWMgSlNWYWx1ZVJlZiBnZXRJ
c0J1c3lDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgdGhpc09iamVj
dCwgSlNTdHJpbmdSZWYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCiB7CiAg
ICAgcmV0dXJuIEpTVmFsdWVNYWtlQm9vbGVhbihjb250ZXh0LCB0b0FYRWxlbWVudCh0aGlzT2Jq
ZWN0KS0+aXNCdXN5KCkpOwpAQCAtMTkyOSw2ICsxOTQ2LDcgQEAgSlNDbGFzc1JlZiBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpnZXRKU0NsYXNzKCkKICAgICAgICAgeyAiY29sdW1uQ291bnQiLCBj
b2x1bW5Db3VudENhbGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pT
UHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgImluc2VydGlvblBvaW50
TGluZU51bWJlciIsIGdldEluc2VydGlvblBvaW50TGluZU51bWJlckNhbGxiYWNrLCAwLCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRl
IH0sCiAgICAgICAgIHsgInNlbGVjdGVkVGV4dFJhbmdlIiwgZ2V0U2VsZWN0ZWRUZXh0UmFuZ2VD
YWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0
cmlidXRlRG9udERlbGV0ZSB9LAorICAgICAgICB7ICJpc0F0b21pY0xpdmVSZWdpb24iLCBnZXRJ
c0F0b21pY0xpdmVSZWdpb25DYWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25s
eSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJpc0J1c3ki
LCBnZXRJc0J1c3lDYWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtK
U1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJpc0VuYWJsZWQiLCBn
ZXRJc0VuYWJsZWRDYWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtK
U1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJpc1JlcXVpcmVkIiwg
Z2V0SXNSZXF1aXJlZENhbGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwg
a0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCkBAIC0xOTUzLDYgKzE5NzEsOCBAQCBK
U0NsYXNzUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmdldEpTQ2xhc3MoKQogICAgICAgICB7
ICJkb2N1bWVudFVSSSIsIGdldERvY3VtZW50VVJJQ2FsbGJhY2ssIDAsIGtKU1Byb3BlcnR5QXR0
cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAg
ICAgeyAidXJsIiwgZ2V0VVJMQ2FsbGJhY2ssIDAsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9u
bHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAiaXNWYWxp
ZCIsIGdldElzVmFsaWRDYWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8
IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgICAgICB7ICJsaXZlUmVnaW9u
UmVsZXZhbnQiLCBnZXRMaXZlUmVnaW9uUmVsZXZhbnRDYWxsYmFjaywgMCwga0pTUHJvcGVydHlB
dHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAg
ICAgICB7ICJsaXZlUmVnaW9uU3RhdHVzIiwgZ2V0TGl2ZVJlZ2lvblN0YXR1c0NhbGxiYWNrLCAw
LCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250
RGVsZXRlIH0sCiAgICAgICAgIHsgIm9yaWVudGF0aW9uIiwgZ2V0T3JpZW50YXRpb25DYWxsYmFj
aywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRl
RG9udERlbGV0ZSB9LAogICAgICAgICB7ICJhcmlhSXNHcmFiYmVkIiwgZ2V0QVJJQUlzR3JhYmJl
ZENhbGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlB
dHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgImFyaWFEcm9wRWZmZWN0cyIsIGdldEFS
SUFEcm9wRWZmZWN0c0NhbGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwg
a0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmggYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKaW5kZXggYzEyMTY5MDMzZDk5Li4wNjBhNTFiYjNi
ZjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnQuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgK
QEAgLTEzMyw2ICsxMzMsOCBAQCBwdWJsaWM6CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IGFjY2Vzc2liaWxpdHlWYWx1ZSgpIGNvbnN0OwogICAgIHZvaWQgc2V0VmFsdWUoSlNTdHJpbmdS
ZWYpOwogICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBoZWxwVGV4dCgpIGNvbnN0OworICAg
IEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBsaXZlUmVnaW9uUmVsZXZhbnQoKSBjb25zdDsKKyAg
ICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gbGl2ZVJlZ2lvblN0YXR1cygpIGNvbnN0OwogICAg
IEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBvcmllbnRhdGlvbigpIGNvbnN0OwogICAgIGRvdWJs
ZSB4KCk7CiAgICAgZG91YmxlIHkoKTsKQEAgLTE0NSw2ICsxNDcsNyBAQCBwdWJsaWM6CiAgICAg
SlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHZhbHVlRGVzY3JpcHRpb24oKTsKICAgICBpbnQgaW5z
ZXJ0aW9uUG9pbnRMaW5lTnVtYmVyKCk7CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHNl
bGVjdGVkVGV4dFJhbmdlKCk7CisgICAgYm9vbCBpc0F0b21pY0xpdmVSZWdpb24oKSBjb25zdDsK
ICAgICBib29sIGlzQnVzeSgpIGNvbnN0OwogICAgIGJvb2wgaXNFbmFibGVkKCk7CiAgICAgYm9v
bCBpc1JlcXVpcmVkKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9p
b3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2lv
cy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tCmluZGV4IGUzNjNiNzU4NDc4ZC4uZDdjYzY1
NzcyMmE3IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9pb3MvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudElPUy5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9pb3MvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudElPUy5tbQpAQCAtNzUsNiArNzUsOSBAQCAtIChOU1VJbnRlZ2VyKWFjY2Vz
c2liaWxpdHlBUklBQ29sdW1uQ291bnQ7CiAtIChOU1VJbnRlZ2VyKWFjY2Vzc2liaWxpdHlBUklB
Um93SW5kZXg7CiAtIChOU1VJbnRlZ2VyKWFjY2Vzc2liaWxpdHlBUklBQ29sdW1uSW5kZXg7CiAt
IChCT09MKWFjY2Vzc2liaWxpdHlBUklBSXNCdXN5OworLSAoQk9PTClhY2Nlc3NpYmlsaXR5QVJJ
QUxpdmVSZWdpb25Jc0F0b21pYzsKKy0gKE5TU3RyaW5nICopYWNjZXNzaWJpbGl0eUFSSUFMaXZl
UmVnaW9uU3RhdHVzOworLSAoTlNTdHJpbmcgKilhY2Nlc3NpYmlsaXR5QVJJQVJlbGV2YW50U3Rh
dHVzOwogLSAoVUlBY2Nlc3NpYmlsaXR5VHJhaXRzKV9heENvbnRhaW5lZEJ5RmllbGRzZXRUcmFp
dDsKIC0gKGlkKV9hY2Nlc3NpYmlsaXR5RmllbGRzZXRBbmNlc3RvcjsKIC0gKEJPT0wpX2FjY2Vz
c2liaWxpdHlIYXNUb3VjaEV2ZW50TGlzdGVuZXI7CkBAIC04MTIsNiArODE1LDE2IEBAIEpTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkZXNjcmlwdGlvbigp
CiAgICAgcmV0dXJuIGNvbmNhdGVuYXRlQXR0cmlidXRlQW5kVmFsdWUoQCJBWExhYmVsIiwgW21f
ZWxlbWVudCBhY2Nlc3NpYmlsaXR5TGFiZWxdKTsKIH0KIAorSlNSZXRhaW5QdHI8SlNTdHJpbmdS
ZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpdmVSZWdpb25SZWxldmFudCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIFtbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlBUklBUmVsZXZhbnRTdGF0dXNd
IGNyZWF0ZUpTU3RyaW5nUmVmXTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmxpdmVSZWdpb25TdGF0dXMoKSBjb25zdAoreworICAgIHJldHVy
biBbW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5QVJJQUxpdmVSZWdpb25TdGF0dXNdIGNyZWF0ZUpT
U3RyaW5nUmVmXTsKK30KKwogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6Om9yaWVudGF0aW9uKCkgY29uc3QKIHsKICAgICByZXR1cm4gV1RSOjpjcmVhdGVK
U1N0cmluZygpOwpAQCAtODYyLDYgKzg3NSwxMSBAQCBpbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6aW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyKCkKICAgICByZXR1cm4gLTE7CiB9CiAKK2Jvb2wg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdG9taWNMaXZlUmVnaW9uKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5QVJJQUxpdmVSZWdpb25Jc0F0b21pY107
Cit9CisKIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5KCkgY29uc3QKIHsKICAg
ICByZXR1cm4gW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5QVJJQUlzQnVzeV07CmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbSBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCmlu
ZGV4IDFiZDRmMzBmZTAwZS4uYTdiM2Q4NDNiYmNiIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQorKysgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQpAQCAtNjg0LDYgKzY4
NCwxNiBAQCBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
ZG9tSWRlbnRpZmllcigpIGNvbnN0CiAgICAgcmV0dXJuIHN0cmluZ0F0dHJpYnV0ZVZhbHVlKE5T
QWNjZXNzaWJpbGl0eURPTUlkZW50aWZpZXJBdHRyaWJ1dGUpOwogfQogCitKU1JldGFpblB0cjxK
U1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGl2ZVJlZ2lvblJlbGV2YW50KCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gc3RyaW5nQXR0cmlidXRlVmFsdWUoQCJBWEFSSUFSZWxldmFu
dCIpOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6bGl2ZVJlZ2lvblN0YXR1cygpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0cmluZ0F0dHJpYnV0
ZVZhbHVlKEAiQVhBUklBTGl2ZSIpOworfQorCiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6b3JpZW50YXRpb24oKSBjb25zdAogewogICAgIEJFR0lOX0FY
X09CSkNfRVhDRVBUSU9OUwpAQCAtODUyLDYgKzg2MiwxMSBAQCBib29sIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKCkKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdG9taWNMaXZlUmVnaW9uKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEAiQVhBUklBQXRvbWljIik7
Cit9CisKIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5KCkgY29uc3QKIHsKICAg
ICByZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEAiQVhFbGVtZW50QnVzeSIpOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3Bw
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3Bw
CmluZGV4IDQxYTJiNmYwNDViNS4uNjc5OWU1ZjgwMmFmIDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5jcHAKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwCkBAIC01MjMs
NiArNTIzLDIxIEBAIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpvcmllbnRhdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIDA7CiB9CiAKK2Jvb2wgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6aXNBdG9taWNMaXZlUmVnaW9uKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpsaXZlUmVnaW9uUmVsZXZhbnQoKSBjb25zdAoreworICAgIHJldHVybiAwOworfQor
CitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGl2ZVJl
Z2lvblN0YXR1cygpIGNvbnN0Cit7CisgICAgcmV0dXJuIDA7Cit9CisKIGRvdWJsZSBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjppbnRWYWx1ZSgpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2VsZW1lbnQp
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnQuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCmluZGV4IGJkOTk0MDcyMzA0Yy4uOGNiZmEzYzll
Y2Y1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaApAQCAtMTU2LDYgKzE1Niw4IEBAIHB1
YmxpYzoKICAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gYWNjZXNzaWJpbGl0eVZhbHVlKCkg
Y29uc3Q7CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGhlbHBUZXh0KCkgY29uc3Q7CiAg
ICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IG9yaWVudGF0aW9uKCkgY29uc3Q7CisgICAgSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGxpdmVSZWdpb25SZWxldmFudCgpIGNvbnN0OworICAgIEpT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiBsaXZlUmVnaW9uU3RhdHVzKCkgY29uc3Q7CiAgICAgZG91
YmxlIHgoKTsKICAgICBkb3VibGUgeSgpOwogICAgIGRvdWJsZSB3aWR0aCgpOwpAQCAtMTY4LDYg
KzE3MCw3IEBAIHB1YmxpYzoKICAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gdmFsdWVEZXNj
cmlwdGlvbigpOwogICAgIGludCBpbnNlcnRpb25Qb2ludExpbmVOdW1iZXIoKTsKICAgICBKU1Jl
dGFpblB0cjxKU1N0cmluZ1JlZj4gc2VsZWN0ZWRUZXh0UmFuZ2UoKTsKKyAgICBib29sIGlzQXRv
bWljTGl2ZVJlZ2lvbigpIGNvbnN0OwogICAgIGJvb2wgaXNCdXN5KCkgY29uc3Q7CiAgICAgYm9v
bCBpc0VuYWJsZWQoKTsKICAgICBib29sIGlzUmVxdWlyZWQoKSBjb25zdDsKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudC5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsCmluZGV4IDlhZWRkNWIyOThlNS4u
NzY4NjFiYzBlZjBhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxl
bWVudC5pZGwKQEAgLTU4LDYgKzU4LDggQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIHZhbHVlRGVzY3JpcHRpb247CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB1
cmw7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBzcGVha0FzOworICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbGl2ZVJlZ2lvblJlbGV2YW50OworICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01TdHJpbmcgbGl2ZVJlZ2lvblN0YXR1czsKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIG9yaWVudGF0aW9uOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25n
IGluc2VydGlvblBvaW50TGluZU51bWJlcjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIHNlbGVjdGVkVGV4dFJhbmdlOwpAQCAtODIsNiArODQsNyBAQAogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBsb25nIG1pblZhbHVlOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIG1heFZh
bHVlOwogICAgIAorICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzQXRvbWljTGl2ZVJl
Z2lvbjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc0J1c3k7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIGJvb2xlYW4gaXNFbmFibGVkOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBi
b29sZWFuIGlzUmVxdWlyZWQ7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHAgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRBdHNwaS5jcHAKaW5kZXggOTBiM2YxOTU5NTE3Li5kYWQwNWQ1ZTJkODQgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudEF0c3BpLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHAKQEAgLTg4MSw2
ICs4ODEsMjEgQEAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6Om9yaWVudGF0aW9uKCkgY29uc3QKICAgICByZXR1cm4gT3BhcXVlSlNTdHJpbmc6OnRyeUNy
ZWF0ZShvcmllbnRhdGlvblZhbHVlKS5sZWFrUmVmKCk7CiB9CiAKK2Jvb2wgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6aXNBdG9taWNMaXZlUmVnaW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpsaXZlUmVnaW9uUmVsZXZhbnQoKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQor
CitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGl2ZVJl
Z2lvblN0YXR1cygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKIEpTUmV0YWlu
UHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdWYWx1ZSgpCiB7
CiAgICAgbV9lbGVtZW50LT51cGRhdGVCYWNraW5nU3RvcmUoKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnRJT1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tCmluZGV4IGQ0MDI2MWYzNzYxYS4uMmFjNzhjYjE0NjZl
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9B
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0KQEAgLTgzLDYg
KzgzLDkgQEAgLSAoTlNVSW50ZWdlcilhY2Nlc3NpYmlsaXR5QVJJQUNvbHVtbkNvdW50OwogLSAo
TlNVSW50ZWdlcilhY2Nlc3NpYmlsaXR5QVJJQVJvd0luZGV4OwogLSAoTlNVSW50ZWdlcilhY2Nl
c3NpYmlsaXR5QVJJQUNvbHVtbkluZGV4OwogLSAoQk9PTClhY2Nlc3NpYmlsaXR5QVJJQUlzQnVz
eTsKKy0gKEJPT0wpYWNjZXNzaWJpbGl0eUFSSUFMaXZlUmVnaW9uSXNBdG9taWM7CistIChOU1N0
cmluZyAqKWFjY2Vzc2liaWxpdHlBUklBTGl2ZVJlZ2lvblN0YXR1czsKKy0gKE5TU3RyaW5nICop
YWNjZXNzaWJpbGl0eUFSSUFSZWxldmFudFN0YXR1czsKIC0gKE5TU3RyaW5nICopYWNjZXNzaWJp
bGl0eUludmFsaWRTdGF0dXM7CiAtIChVSUFjY2Vzc2liaWxpdHlUcmFpdHMpX2F4Q29udGFpbmVk
QnlGaWVsZHNldFRyYWl0OwogLSAoaWQpX2FjY2Vzc2liaWxpdHlGaWVsZHNldEFuY2VzdG9yOwpA
QCAtNTMyLDYgKzUzNSwxNiBAQCBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6ZGVzY3JpcHRpb24oKQogICAgIHJldHVybiBjb25jYXRlbmF0ZUF0dHJpYnV0
ZUFuZFZhbHVlKEAiQVhMYWJlbCIsIFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUxhYmVsXSk7CiB9
CiAKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsaXZl
UmVnaW9uUmVsZXZhbnQoKSBjb25zdAoreworICAgIHJldHVybiBbW21fZWxlbWVudCBhY2Nlc3Np
YmlsaXR5QVJJQVJlbGV2YW50U3RhdHVzXSBjcmVhdGVKU1N0cmluZ1JlZl07Cit9CisKK0pTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsaXZlUmVnaW9uU3Rh
dHVzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gW1ttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUFSSUFM
aXZlUmVnaW9uU3RhdHVzXSBjcmVhdGVKU1N0cmluZ1JlZl07Cit9CisKIEpTUmV0YWluUHRyPEpT
U3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpvcmllbnRhdGlvbigpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIGNyZWF0ZUpTU3RyaW5nKCk7CkBAIC02MzIsNiArNjQ1LDExIEBAIGJvb2wg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNEZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKQogICAg
IHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0F0b21p
Y0xpdmVSZWdpb24oKSBjb25zdAoreworICAgIHJldHVybiBbbV9lbGVtZW50IGFjY2Vzc2liaWxp
dHlBUklBTGl2ZVJlZ2lvbklzQXRvbWljXTsKK30KKwogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojppc0J1c3koKSBjb25zdAogewogICAgIHJldHVybiBbbV9lbGVtZW50IGFjY2Vzc2liaWxp
dHlBUklBSXNCdXN5XTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0gYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1t
CmluZGV4IDdmYmE1MTg4YmVhNy4uNGI3MmRmYTc5ZGY3IDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFj
Lm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRNYWMubW0KQEAgLTgwNSw2ICs4MDUsMTYgQEAgSlNSZXRhaW5QdHI8
SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRlc2NyaXB0aW9uKCkKICAgICBy
ZXR1cm4gbnVsbHB0cjsKIH0KIAorSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmxpdmVSZWdpb25TdGF0dXMoKSBjb25zdAoreworICAgIHJldHVybiBzdHJp
bmdBdHRyaWJ1dGVWYWx1ZShAIkFYQVJJQUxpdmUiKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJp
bmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpdmVSZWdpb25SZWxldmFudCgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIHN0cmluZ0F0dHJpYnV0ZVZhbHVlKEAiQVhBUklBUmVsZXZhbnQiKTsK
K30KKwogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om9y
aWVudGF0aW9uKCkgY29uc3QKIHsKICAgICBCRUdJTl9BWF9PQkpDX0VYQ0VQVElPTlMKQEAgLTk4
Myw2ICs5OTMsMTEgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3JlbWVudEFj
dGlvblN1cHBvcnRlZCgpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmlzQXRvbWljTGl2ZVJlZ2lvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIGJv
b2xBdHRyaWJ1dGVWYWx1ZShAIkFYQVJJQUF0b21pYyIpOworfQorCiBib29sIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmlzQnVzeSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGJvb2xBdHRyaWJ1dGVW
YWx1ZShAIkFYRWxlbWVudEJ1c3kiKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxl
bWVudFdpbi5jcHAKaW5kZXggNjA1NTFiM2UyY2IwLi44ZDI0ZWRhYWJlMjIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd2luL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnRXaW4uY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwCkBAIC0yOTgsNiArMjk4LDI0IEBA
IEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpvcmllbnRh
dGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKK2Jvb2wgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6aXNBdG9taWNMaXZlUmVnaW9uKCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1l
bnRlZCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpdmVSZWdpb25SZWxldmFudCgpIGNvbnN0Cit7Cisg
ICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNSZXRhaW5Q
dHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpdmVSZWdpb25TdGF0dXMo
KSBjb25zdAoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9
CisKIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJp
bmdWYWx1ZSgpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2Ut
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWJ1c3ktdXBkYXRl
cy1hZnRlci1keW5hbWljLWNoYW5nZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDRmM2M1ZWMxYTNhNC4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UtZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotVGhpcyB0ZXN0IGVuc3VyZXMg
dGhhdCBhbiBlbGVtZW50J3MgYnVzeSBzdGF0ZSB1cGRhdGVzIGFyaWEtYnVzeSBjaGFuZ2VzLgot
Ci1WZXJpZnlpbmcgaW5pdGlhbCBidXN5IHN0YXRlOgotCi0jY2xvY2sgaXMgYnVzeTogZmFsc2UK
LSNjbG9jay1kaXNwbGF5LWNvbnRlbnRzIGlzIGJ1c3k6IGZhbHNlCi0KLVNldHRpbmcgYXJpYS1i
dXN5IHRvIHRydWUuCi0KLSNjbG9jayBpcyBidXN5OiB0cnVlCi0jY2xvY2stZGlzcGxheS1jb250
ZW50cyBpcyBidXN5OiB0cnVlCi0KLVNldHRpbmcgYXJpYS1idXN5IHRvIGZhbHNlLgotCi0jY2xv
Y2sgaXMgYnVzeTogZmFsc2UKLSNjbG9jay1kaXNwbGF5LWNvbnRlbnRzIGlzIGJ1c3k6IGZhbHNl
Ci0KLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0y
OjMwcG0KLTQ6MzBwbQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2Fy
aWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2FyaWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBjZjkxNjhkYjRhMS4uMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXIt
ZHluYW1pYy1jaGFuZ2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLTwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9hY2Nlc3NpYmlsaXR5LWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLQotPGRpdiBpZD0iY2xvY2siIHJvbGU9InRpbWVyIiBhcmlhLWxpdmU9
InBvbGl0ZSIgYXJpYS1hdG9taWM9InRydWUiPjI6MzBwbTwvZGl2PgotPGRpdiBpZD0iY2xvY2st
ZGlzcGxheS1jb250ZW50cyIgc3R5bGU9ImRpc3BsYXk6IGNvbnRlbnRzIiByb2xlPSJ0aW1lciIg
YXJpYS1saXZlPSJwb2xpdGUiIGFyaWEtYXRvbWljPSJ0cnVlIj40OjMwcG08L2Rpdj4KLQotPHNj
cmlwdD4KLSAgICB2YXIgdGVzdE91dHB1dCA9ICJUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IGFuIGVs
ZW1lbnQncyBidXN5IHN0YXRlIHVwZGF0ZXMgYXJpYS1idXN5IGNoYW5nZXMuXG5cbiI7Ci0KLSAg
ICB2YXIgYXhDbG9jaywgYXhDbG9ja1dpdGhEaXNwbGF5Q29udGVudHM7Ci0gICAgZnVuY3Rpb24g
dmVyaWZ5RWxlbWVudHMoKSB7Ci0gICAgICAgIHRlc3RPdXRwdXQgKz0gYCNjbG9jayBpcyBidXN5
OiAke2F4Q2xvY2suaXNCdXN5fVxuYDsKLSAgICAgICAgdGVzdE91dHB1dCArPSBgI2Nsb2NrLWRp
c3BsYXktY29udGVudHMgaXMgYnVzeTogJHtheENsb2NrV2l0aERpc3BsYXlDb250ZW50cy5pc0J1
c3l9XG5cbmA7Ci0gICAgfQotCi0gICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cikgewotICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci0gICAgICAgIGF4Q2xv
Y2sgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImNsb2Nr
Iik7Ci0gICAgICAgIGF4Q2xvY2tXaXRoRGlzcGxheUNvbnRlbnRzID0gYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJjbG9jay1kaXNwbGF5LWNvbnRlbnRzIik7
Ci0KLSAgICAgICAgdGVzdE91dHB1dCArPSAiVmVyaWZ5aW5nIGluaXRpYWwgYnVzeSBzdGF0ZTpc
blxuIjsKLSAgICAgICAgdmVyaWZ5RWxlbWVudHMoKTsKLQotICAgICAgICBjb25zdCBjbG9jayA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjbG9jayIpOwotICAgICAgICBjb25zdCBjbG9ja1dp
dGhEaXNwbGF5Q29udGVudHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2xvY2stZGlzcGxh
eS1jb250ZW50cyIpOwotCi0gICAgICAgIHRlc3RPdXRwdXQgKz0gIlNldHRpbmcgYXJpYS1idXN5
IHRvIHRydWUuXG5cbiI7Ci0gICAgICAgIGNsb2NrLmFyaWFCdXN5ID0gInRydWUiOwotICAgICAg
ICBjbG9ja1dpdGhEaXNwbGF5Q29udGVudHMuYXJpYUJ1c3kgPSAidHJ1ZSI7Ci0gICAgICAgIHNl
dFRpbWVvdXQoYXN5bmMgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBhd2FpdCB3YWl0Rm9yKCgp
ID0+IHsgcmV0dXJuIGF4Q2xvY2suaXNCdXN5ICYmIGF4Q2xvY2tXaXRoRGlzcGxheUNvbnRlbnRz
LmlzQnVzeSB9KTsKLSAgICAgICAgICAgIHZlcmlmeUVsZW1lbnRzKCk7Ci0KLSAgICAgICAgICAg
IHRlc3RPdXRwdXQgKz0gIlNldHRpbmcgYXJpYS1idXN5IHRvIGZhbHNlLlxuXG4iOwotICAgICAg
ICAgICAgY2xvY2suYXJpYUJ1c3kgPSAiZmFsc2UiOwotICAgICAgICAgICAgY2xvY2tXaXRoRGlz
cGxheUNvbnRlbnRzLmFyaWFCdXN5ID0gImZhbHNlIjsKLSAgICAgICAgICAgIGF3YWl0IHdhaXRG
b3IoKCkgPT4geyByZXR1cm4gIWF4Q2xvY2suaXNCdXN5ICYmICFheENsb2NrV2l0aERpc3BsYXlD
b250ZW50cy5pc0J1c3kgfSk7Ci0gICAgICAgICAgICB2ZXJpZnlFbGVtZW50cygpOwotCi0gICAg
ICAgICAgICBkZWJ1Zyh0ZXN0T3V0cHV0KTsKLSAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwot
ICAgICAgICB9LCAwKTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9saXZlLXJlZ2lvbi1hdHRyaWJ1dGVz
LXVwZGF0ZS1hZnRlci1keW5hbWljLWNoYW5nZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2xpdmUtcmVnaW9uLWF0dHJpYnV0ZXMtdXBkYXRlLWFmdGVyLWR5bmFtaWMt
Y2hhbmdlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAuLjdjZDkyZmRkODM3MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvbGl2ZS1yZWdpb24tYXR0cmlidXRlcy11cGRhdGUtYWZ0ZXItZHluYW1pYy1jaGFuZ2Ut
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDggQEAKK1RoaXMgdGVzdCBlbnN1cmVzIHRoYXQgYW4g
ZWxlbWVudCdzIGJ1c3kgc3RhdGUgdXBkYXRlcyBhcmlhLWJ1c3kgY2hhbmdlcy4KKworVmVyaWZ5
aW5nIGluaXRpYWwgc3RhdGVzOgorCisjY2xvY2sgaXMgYXRvbWljOiB0cnVlCisjY2xvY2stZGlz
cGxheS1jb250ZW50cyBpcyBhdG9taWM6IHRydWUKKworI2Nsb2NrIGlzIGJ1c3k6IGZhbHNlCisj
Y2xvY2stZGlzcGxheS1jb250ZW50cyBpcyBidXN5OiBmYWxzZQorCisjY2xvY2sgcmVsZXZhbnQ6
IGFkZGl0aW9ucyB0ZXh0CisjY2xvY2stZGlzcGxheS1jb250ZW50cyByZWxldmFudDogYWRkaXRp
b25zIHRleHQKKworI2Nsb2NrIGxpdmUgcmVnaW9uIHN0YXR1czogcG9saXRlCisjY2xvY2stZGlz
cGxheS1jb250ZW50cyBsaXZlIHJlZ2lvbiBzdGF0dXM6IHBvbGl0ZQorCitTZXR0aW5nIGFyaWEt
YnVzeSB0byB0cnVlLgorCisjY2xvY2sgaXMgYnVzeTogdHJ1ZQorI2Nsb2NrLWRpc3BsYXktY29u
dGVudHMgaXMgYnVzeTogdHJ1ZQorCitTZXR0aW5nIGFyaWEtYnVzeSB0byBmYWxzZS4KKworI2Ns
b2NrIGlzIGJ1c3k6IGZhbHNlCisjY2xvY2stZGlzcGxheS1jb250ZW50cyBpcyBidXN5OiBmYWxz
ZQorCitTZXR0aW5nIGFyaWEtYXRvbWljIHRvIGZhbHNlLgorCisjY2xvY2sgaXMgYXRvbWljOiBm
YWxzZQorI2Nsb2NrLWRpc3BsYXktY29udGVudHMgaXMgYXRvbWljOiBmYWxzZQorCitTZXR0aW5n
IGFyaWEtcmVsZXZhbnQgdG8gcmVtb3ZhbHMuCisKKyNjbG9jayByZWxldmFudDogcmVtb3ZhbHMK
KyNjbG9jay1kaXNwbGF5LWNvbnRlbnRzIHJlbGV2YW50OiByZW1vdmFscworCitTZXR0aW5nIGFy
aWEtbGl2ZSB0byBhc3NlcnRpdmUuCisKKyNjbG9jayBsaXZlIHJlZ2lvbiBzdGF0dXM6IGFzc2Vy
dGl2ZQorI2Nsb2NrLWRpc3BsYXktY29udGVudHMgbGl2ZSByZWdpb24gc3RhdHVzOiBhc3NlcnRp
dmUKKworCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KzI6MzBwbQorNDozMHBtCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
bGl2ZS1yZWdpb24tYXR0cmlidXRlcy11cGRhdGUtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbCBi
L0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbGl2ZS1yZWdpb24tYXR0cmlidXRlcy11cGRhdGUt
YWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAuLjZlZTNlMGM3ZWZiNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvbGl2ZS1yZWdpb24tYXR0cmlidXRlcy11cGRhdGUtYWZ0ZXItZHluYW1pYy1j
aGFuZ2UuaHRtbApAQCAtMCwwICsxLDg1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvYWNj
ZXNzaWJpbGl0eS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisKKzxkaXYg
aWQ9ImNsb2NrIiByb2xlPSJ0aW1lciIgYXJpYS1saXZlPSJwb2xpdGUiIGFyaWEtYXRvbWljPSJ0
cnVlIiBhcmlhLXJlbGV2YW50PSJhZGRpdGlvbnMgdGV4dCI+MjozMHBtPC9kaXY+Cis8ZGl2IGlk
PSJjbG9jay1kaXNwbGF5LWNvbnRlbnRzIiBzdHlsZT0iZGlzcGxheTogY29udGVudHMiIHJvbGU9
InRpbWVyIiBhcmlhLWxpdmU9InBvbGl0ZSIgYXJpYS1hdG9taWM9InRydWUiIGFyaWEtcmVsZXZh
bnQ9ImFkZGl0aW9ucyB0ZXh0Ij40OjMwcG08L2Rpdj4KKworPHNjcmlwdD4KKyAgICB2YXIgdGVz
dE91dHB1dCA9ICJUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IGFuIGVsZW1lbnQncyBidXN5IHN0YXRl
IHVwZGF0ZXMgYXJpYS1idXN5IGNoYW5nZXMuXG5cbiI7CisKKyAgICB2YXIgYXhDbG9jaywgYXhD
bG9ja1dpdGhEaXNwbGF5Q29udGVudHM7CisgICAgZnVuY3Rpb24gdmVyaWZ5SXNCdXN5KCkgewor
ICAgICAgICB0ZXN0T3V0cHV0ICs9IGAjY2xvY2sgaXMgYnVzeTogJHtheENsb2NrLmlzQnVzeX1c
bmA7CisgICAgICAgIHRlc3RPdXRwdXQgKz0gYCNjbG9jay1kaXNwbGF5LWNvbnRlbnRzIGlzIGJ1
c3k6ICR7YXhDbG9ja1dpdGhEaXNwbGF5Q29udGVudHMuaXNCdXN5fVxuXG5gOworICAgIH0KKyAg
ICBmdW5jdGlvbiB2ZXJpZnlJc0F0b21pYygpIHsKKyAgICAgICAgdGVzdE91dHB1dCArPSBgI2Ns
b2NrIGlzIGF0b21pYzogJHtheENsb2NrLmlzQXRvbWljTGl2ZVJlZ2lvbn1cbmA7CisgICAgICAg
IHRlc3RPdXRwdXQgKz0gYCNjbG9jay1kaXNwbGF5LWNvbnRlbnRzIGlzIGF0b21pYzogJHtheENs
b2NrV2l0aERpc3BsYXlDb250ZW50cy5pc0F0b21pY0xpdmVSZWdpb259XG5cbmA7CisgICAgfQor
ICAgIGZ1bmN0aW9uIHZlcmlmeUxpdmVSZWdpb25SZWxldmFudCgpIHsKKyAgICAgICAgdGVzdE91
dHB1dCArPSBgI2Nsb2NrIHJlbGV2YW50OiAke2F4Q2xvY2subGl2ZVJlZ2lvblJlbGV2YW50fVxu
YDsKKyAgICAgICAgdGVzdE91dHB1dCArPSBgI2Nsb2NrLWRpc3BsYXktY29udGVudHMgcmVsZXZh
bnQ6ICR7YXhDbG9ja1dpdGhEaXNwbGF5Q29udGVudHMubGl2ZVJlZ2lvblJlbGV2YW50fVxuXG5g
OworICAgIH0KKyAgICBmdW5jdGlvbiB2ZXJpZnlMaXZlUmVnaW9uU3RhdHVzKCkgeworICAgICAg
ICB0ZXN0T3V0cHV0ICs9IGAjY2xvY2sgbGl2ZSByZWdpb24gc3RhdHVzOiAke2F4Q2xvY2subGl2
ZVJlZ2lvblN0YXR1c31cbmA7CisgICAgICAgIHRlc3RPdXRwdXQgKz0gYCNjbG9jay1kaXNwbGF5
LWNvbnRlbnRzIGxpdmUgcmVnaW9uIHN0YXR1czogJHtheENsb2NrV2l0aERpc3BsYXlDb250ZW50
cy5saXZlUmVnaW9uU3RhdHVzfVxuXG5gOworICAgIH0KKworICAgIGlmICh3aW5kb3cuYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
OworICAgICAgICBheENsb2NrID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVs
ZW1lbnRCeUlkKCJjbG9jayIpOworICAgICAgICBheENsb2NrV2l0aERpc3BsYXlDb250ZW50cyA9
IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiY2xvY2stZGlz
cGxheS1jb250ZW50cyIpOworCisgICAgICAgIHRlc3RPdXRwdXQgKz0gIlZlcmlmeWluZyBpbml0
aWFsIHN0YXRlczpcblxuIjsKKyAgICAgICAgdmVyaWZ5SXNBdG9taWMoKTsKKyAgICAgICAgdmVy
aWZ5SXNCdXN5KCk7CisgICAgICAgIHZlcmlmeUxpdmVSZWdpb25SZWxldmFudCgpOworICAgICAg
ICB2ZXJpZnlMaXZlUmVnaW9uU3RhdHVzKCk7CisKKyAgICAgICAgY29uc3QgY2xvY2sgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY2xvY2siKTsKKyAgICAgICAgY29uc3QgY2xvY2tXaXRoRGlz
cGxheUNvbnRlbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNsb2NrLWRpc3BsYXktY29u
dGVudHMiKTsKKworICAgICAgICB0ZXN0T3V0cHV0ICs9ICJTZXR0aW5nIGFyaWEtYnVzeSB0byB0
cnVlLlxuXG4iOworICAgICAgICBjbG9jay5hcmlhQnVzeSA9ICJ0cnVlIjsKKyAgICAgICAgY2xv
Y2tXaXRoRGlzcGxheUNvbnRlbnRzLmFyaWFCdXN5ID0gInRydWUiOworICAgICAgICBzZXRUaW1l
b3V0KGFzeW5jIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiBh
eENsb2NrLmlzQnVzeSAmJiBheENsb2NrV2l0aERpc3BsYXlDb250ZW50cy5pc0J1c3kpOworICAg
ICAgICAgICAgdmVyaWZ5SXNCdXN5KCk7CisKKyAgICAgICAgICAgIHRlc3RPdXRwdXQgKz0gIlNl
dHRpbmcgYXJpYS1idXN5IHRvIGZhbHNlLlxuXG4iOworICAgICAgICAgICAgY2xvY2suYXJpYUJ1
c3kgPSAiZmFsc2UiOworICAgICAgICAgICAgY2xvY2tXaXRoRGlzcGxheUNvbnRlbnRzLmFyaWFC
dXN5ID0gImZhbHNlIjsKKyAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4gIWF4Q2xvY2su
aXNCdXN5ICYmICFheENsb2NrV2l0aERpc3BsYXlDb250ZW50cy5pc0J1c3kpOworICAgICAgICAg
ICAgdmVyaWZ5SXNCdXN5KCk7CisKKyAgICAgICAgICAgIHRlc3RPdXRwdXQgKz0gIlNldHRpbmcg
YXJpYS1hdG9taWMgdG8gZmFsc2UuXG5cbiI7CisgICAgICAgICAgICBjbG9jay5hcmlhQXRvbWlj
ID0gImZhbHNlIjsKKyAgICAgICAgICAgIGNsb2NrV2l0aERpc3BsYXlDb250ZW50cy5hcmlhQXRv
bWljID0gImZhbHNlIjsKKyAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4gIWF4Q2xvY2su
aXNBdG9taWNMaXZlUmVnaW9uICYmICFheENsb2NrV2l0aERpc3BsYXlDb250ZW50cy5pc0F0b21p
Y0xpdmVSZWdpb24pOworICAgICAgICAgICAgdmVyaWZ5SXNBdG9taWMoKTsKKworICAgICAgICAg
ICAgdGVzdE91dHB1dCArPSAiU2V0dGluZyBhcmlhLXJlbGV2YW50IHRvIHJlbW92YWxzLlxuXG4i
OworICAgICAgICAgICAgY2xvY2suYXJpYVJlbGV2YW50ID0gInJlbW92YWxzIjsKKyAgICAgICAg
ICAgIGNsb2NrV2l0aERpc3BsYXlDb250ZW50cy5hcmlhUmVsZXZhbnQgPSAicmVtb3ZhbHMiOwor
ICAgICAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiBheENsb2NrLmxpdmVSZWdpb25SZWxldmFu
dC5pbmNsdWRlcygicmVtb3ZhbHMiKSAmJiBheENsb2NrV2l0aERpc3BsYXlDb250ZW50cy5saXZl
UmVnaW9uUmVsZXZhbnQuaW5jbHVkZXMoInJlbW92YWxzIikpOworICAgICAgICAgICAgdmVyaWZ5
TGl2ZVJlZ2lvblJlbGV2YW50KCk7CisKKyAgICAgICAgICAgIHRlc3RPdXRwdXQgKz0gIlNldHRp
bmcgYXJpYS1saXZlIHRvIGFzc2VydGl2ZS5cblxuIjsKKyAgICAgICAgICAgIGNsb2NrLmFyaWFM
aXZlID0gImFzc2VydGl2ZSI7CisgICAgICAgICAgICBjbG9ja1dpdGhEaXNwbGF5Q29udGVudHMu
YXJpYUxpdmUgPSAiYXNzZXJ0aXZlIjsKKyAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4g
YXhDbG9jay5saXZlUmVnaW9uU3RhdHVzLmluY2x1ZGVzKCJhc3NlcnRpdmUiKSAmJiBheENsb2Nr
V2l0aERpc3BsYXlDb250ZW50cy5saXZlUmVnaW9uU3RhdHVzLmluY2x1ZGVzKCJhc3NlcnRpdmUi
KSk7CisgICAgICAgICAgICB2ZXJpZnlMaXZlUmVnaW9uU3RhdHVzKCk7CisKKyAgICAgICAgICAg
IGRlYnVnKHRlc3RPdXRwdXQpOworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
IH0sIDApOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMjZlY2U3YTg3NmViLi5kMWM5
ZDUwNjFhY2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTM0NCw4ICszNDQsOCBAQCBhY2Nlc3NpYmlsaXR5L2FuY2VzdG9yLWNvbXB1dGF0aW9uLmh0
bWwgWyBTa2lwIF0KICMgTmVlZCB0byBpbXBsZW1lbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
ZG9tSWRlbnRpZmllcigpIGZvciB0aGlzIHRlc3QgdG8gcGFzcyBhZnRlciB3ZWJraXQub3JnL2Iv
MjM0MTk4LgogYWNjZXNzaWJpbGl0eS9mb2N1c2FibGUtZGl2Lmh0bWwgWyBTa2lwIF0KIAotIyBN
aXNzaW5nIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQnVzeSBpbXBsZW1lbnRhdGlvbi4KLWFj
Y2Vzc2liaWxpdHkvYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbCBb
IFNraXAgXQorIyBNaXNzaW5nIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Ontpc0J1c3ksIGlzQXRv
bWljTGl2ZVJlZ2lvbiwgbGl2ZVJlZ2lvblN0YXR1cywgbGl2ZVJlZ2lvblJlbGV2YW50fSBpbXBs
ZW1lbnRhdGlvbnMuCithY2Nlc3NpYmlsaXR5L2xpdmUtcmVnaW9uLWF0dHJpYnV0ZXMtdXBkYXRl
LWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwgWyBTa2lwIF0KIAogIyBUaW1pbmcgb3V0IHNpbmNl
IGl0IHdhcyBhZGRlZCBpbiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjM5NDM0LgogYWNjZXNzaWJpbGl0eS90ZXh0LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2Uu
aHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RF
eHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucwpp
bmRleCBmMmNlMDU0NGNkZmEuLmNlMGQ1OGEwYjRlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTIxMTUsNyArMjExNSw2IEBAIHdlYmtpdC5vcmcvYi8x
NDg4MDYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLW11bHRpY29sL211
bHRpY29sLXNwCiBmYXN0L2RvbS9saW5raWZ5LXBob25lLW51bWJlcnMuaHRtbCBbIFBhc3MgXQog
CiBhY2Nlc3NpYmlsaXR5L3RhYmxlLWV4cG9zdXJlLXVwZGF0ZXMtZHluYW1pY2FsbHkuaHRtbCBb
IFBhc3MgXQotYWNjZXNzaWJpbGl0eS9hcmlhLWJ1c3ktdXBkYXRlcy1hZnRlci1keW5hbWljLWNo
YW5nZS5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpYmVkYnktb24taW5w
dXQuaHRtbCBbIFBhc3MgXQogYWNjZXNzaWJpbGl0eS9hcmlhLWhpZGRlbi1kaXNwbGF5LWNvbnRl
bnRzLWVsZW1lbnQuaHRtbCBbIFBhc3MgXQogYWNjZXNzaWJpbGl0eS9hcmlhLXJlYWRvbmx5LXVw
ZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbCBbIFBhc3MgXQpAQCAtMjEyNSw2ICsyMTI0
LDcgQEAgYWNjZXNzaWJpbGl0eS9kaXNwbGF5LWNvbnRlbnRzLWVsZW1lbnQtcm9sZXMuaHRtbCBb
IFBhc3MgXQogYWNjZXNzaWJpbGl0eS9lbGVtZW50LWhhc3BvcHVwLmh0bWwgWyBQYXNzIF0KIGFj
Y2Vzc2liaWxpdHkvaGVhZGluZy1sZXZlbC5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L2xp
c3Qtd2l0aC1keW5hbWljYWxseS1jaGFuZ2luZy1jb250ZW50Lmh0bWwgWyBQYXNzIF0KK2FjY2Vz
c2liaWxpdHkvbGl2ZS1yZWdpb24tYXR0cmlidXRlcy11cGRhdGUtYWZ0ZXItZHluYW1pYy1jaGFu
Z2UuaHRtbCBbIFBhc3MgXQogYWNjZXNzaWJpbGl0eS9ub2RlLW9ubHktaW5lcnQtb2JqZWN0Lmh0
bWwgWyBQYXNzIF0KIGFjY2Vzc2liaWxpdHkvbm9kZS1vbmx5LW9iamVjdC1lbGVtZW50LXJlY3Qu
aHRtbCBbIFBhc3MgXQogYWNjZXNzaWJpbGl0eS90ZXh0LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1j
aGFuZ2UuaHRtbCBbIFBhc3MgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0
aW9ucwppbmRleCBiOGUxOTBiMmZmYjIuLjY3MzUyNmU0NzFmNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ5OCw4ICs0OTgsOCBAQCBhY2Nlc3NpYmls
aXR5L2lnbm9yZS1tb2RhbHMtd2l0aG91dC1hbnktY29udGVudC5odG1sIFsgU2tpcCBdCiBhY2Nl
c3NpYmlsaXR5L2FyaWEtcmVhZG9ubHktdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1s
IFsgU2tpcCBdCiAjIE1pc3NpbmcgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNSZXF1aXJlZCBp
bXBsZW1lbnRhdGlvbi4KIGFjY2Vzc2liaWxpdHkvYXJpYS1yZXF1aXJlZC11cGRhdGVzLWFmdGVy
LWR5bmFtaWMtY2hhbmdlLmh0bWwgWyBTa2lwIF0KLSMgTWlzc2luZyBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Ojppc0J1c3kgaW1wbGVtZW50YXRpb24uCi1hY2Nlc3NpYmlsaXR5L2FyaWEtYnVzeS11
cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwgWyBTa2lwIF0KKyMgTWlzc2luZyBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojp7aXNCdXN5LCBpc0F0b21pY0xpdmVSZWdpb24sIGxpdmVSZWdp
b25TdGF0dXMsIGxpdmVSZWdpb25SZWxldmFudH0gaW1wbGVtZW50YXRpb25zLgorYWNjZXNzaWJp
bGl0eS9saXZlLXJlZ2lvbi1hdHRyaWJ1dGVzLXVwZGF0ZS1hZnRlci1keW5hbWljLWNoYW5nZS5o
dG1sIFsgU2tpcCBdCiAKICMgVE9ETyBDb25pYyBncmFkaWVudHMKIGh0dHAvd3B0L2Nzcy9jc3Mt
aW1hZ2VzLTQvY29uaWMtZ3JhZGllbnQtcGFyc2luZy5odG1sIFsgU2tpcCBdCi0tIAoyLjM1LjEK
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>460147</attachid>
            <date>2022-06-09 15:11:43 -0700</date>
            <delta_ts>2022-06-09 23:25:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-241444-20220609151143.patch</filename>
            <type>text/plain</type>
            <size>42438</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">RnJvbSBlYTM0MTQ4NGMwYjA0ZGJlMTkwOTE0ZThhMzJlY2IzNTg2MjY5YzA3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUeWxlciBXaWxjb2NrIDx0eWxlcl93QGFwcGxlLmNvbT4KRGF0
ZTogV2VkLCA4IEp1biAyMDIyIDE4OjQ0OjU2IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gQVg6IFVw
ZGF0ZSB0aGUgaXNvbGF0ZWQgdHJlZSBpbiByZXNwb25zZSB0byBkeW5hbWljIGNoYW5nZXMKIHRv
IGFyaWEtbGl2ZSwgYXJpYS1yZWxldmFudCwgYW5kIGFyaWEtYXRvbWljCiBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQxNDQ0CgpSZXZpZXdlZCBieSBDaHJpcyBGbGVp
emFjaC4KCldpdGggdGhpcyBwYXRjaCwgd2Ugbm93IHVwZGF0ZSB0aGUgaXNvbGF0ZWQgdHJlZSBp
biByZXNwb25zZSB0byBkeW5hbWljCmFyaWEtbGl2ZSwgYXJpYS1yZWxldmFudCwgYW5kIGFyaWEt
YXRvbWljIGNoYW5nZXMuCgpUaGlzIHBhdGNoIGFsc28gbWFrZXMgbGl2ZVJlZ2lvblN0YXR1cywg
bGl2ZVJlZ2lvblJlbGV2YW50LCBhbmQKbGl2ZVJlZ2lvbkF0b21pYyB3b3JrIG9uIG5vZGUtb25s
eSBvYmplY3RzIChsaWtlIHRob3NlIHdpdGggZGlzcGxheTpjb250ZW50cykuCgoqIExheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2Ut
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgoqIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1i
dXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbDogUmVtb3ZlZC4KKiBMYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L2xpdmUtcmVnaW9uLWF0dHJpYnV0ZXMtdXBkYXRlLWFmdGVyLWR5
bmFtaWMtY2hhbmdlLWV4cGVjdGVkLnR4dDogQWRkZWQuCiogTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9saXZlLXJlZ2lvbi1hdHRyaWJ1dGVzLXVwZGF0ZS1hZnRlci1keW5hbWljLWNoYW5nZS5o
dG1sOiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnM6
CiogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnM6CiogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6CiogU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BWExvZ2dlci5jcHA6CihXZWJDb3JlOjpvcGVyYXRvcjw8KToKKiBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgooV2ViQ29yZTo6QVhPYmplY3RD
YWNoZTo6aGFuZGxlQXR0cmlidXRlQ2hhbmdlKToKKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnVw
ZGF0ZUlzb2xhdGVkVHJlZSk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVj
dENhY2hlLmg6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9k
ZU9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6bGl2ZVJlZ2lv
blN0YXR1cyBjb25zdCk6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6bGl2ZVJl
Z2lvblJlbGV2YW50IGNvbnN0KToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojps
aXZlUmVnaW9uQXRvbWljIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlOb2RlT2JqZWN0Lmg6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3Q6OmxpdmVSZWdpb25TdGF0dXMgY29uc3QpOiBEZWxldGVkLgooV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6bGl2ZVJlZ2lvblJlbGV2YW50IGNvbnN0KTogRGVsZXRl
ZC4KKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmxpdmVSZWdpb25BdG9taWMg
Y29uc3QpOiBEZWxldGVkLgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5oOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkv
QVhPYmplY3RDYWNoZUF0c3BpLmNwcDoKKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnBvc3RQbGF0
Zm9ybU5vdGlmaWNhdGlvbik6CiogVG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudC5jcHA6CihnZXRMaXZlUmVnaW9uUmVsZXZhbnRDYWxsYmFjayk6CihnZXRMaXZlUmVn
aW9uU3RhdHVzQ2FsbGJhY2spOgooZ2V0SXNBdG9taWNMaXZlUmVnaW9uQ2FsbGJhY2spOgooQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6Z2V0SlNDbGFzcyk6CiogVG9vbHMvRHVtcFJlbmRlclRyZWUv
QWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oOgoqIFRvb2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tOgooQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGl2ZVJl
Z2lvblJlbGV2YW50IGNvbnN0KToKKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpdmVSZWdpb25T
dGF0dXMgY29uc3QpOgooQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdG9taWNMaXZlUmVnaW9u
IGNvbnN0KToKKiBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dFdpbi5jcHAKKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpdmVSZWdpb25SZWxldmFudCBjb25z
dCk6CihBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsaXZlUmVnaW9uU3RhdHVzIGNvbnN0KToKKEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQXRvbWljTGl2ZVJlZ2lvbiBjb25zdCk6CiogVG9vbHMv
RHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW06CihBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpsaXZlUmVnaW9uUmVsZXZhbnQgY29uc3QpOgooQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6bGl2ZVJlZ2lvblN0YXR1cyBjb25zdCk6CihBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojppc0F0b21pY0xpdmVSZWdpb24gY29uc3QpOgoqIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oOgoqIFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5p
ZGw6CiogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudElPUy5tbToKKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGl2ZVJl
Z2lvblJlbGV2YW50IGNvbnN0KToKKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGl2ZVJl
Z2lvblN0YXR1cyBjb25zdCk6CihXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQXRvbWlj
TGl2ZVJlZ2lvbiBjb25zdCk6CiogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbToKKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6bGl2ZVJlZ2lvblN0YXR1cyBjb25zdCk6CihXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmxpdmVSZWdpb25SZWxldmFudCBjb25zdCk6CihXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmlzQXRvbWljTGl2ZVJlZ2lvbiBjb25zdCk6CiogVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRzcGkuY3BwCiog
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93aW4vQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudFdpbi5jcHAKLS0tCiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYTG9nZ2Vy
LmNwcCAgICAgfCAgOSArKwogLi4uL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hl
LmNwcCAgIHwgIDkgKysKIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNo
ZS5oICB8ICAzICsKIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNw
cCB8IDM3ICsrKysrKysrCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVj
dC5oICAgfCAgNCArCiAuLi4vQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgICAgICAgICAg
ICAgfCA0MCAtLS0tLS0tLS0KIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuaCB8ICA0IC0KIC4uLi9hdHNwaS9BWE9iamVjdENhY2hlQXRzcGkuY3BwICAgICAgICAg
ICAgICB8ICA2ICsrCiAuLi4vRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5j
cHAgfCAyMCArKysrKwogVG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dC5oIHwgIDMgKwogLi4uL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tICAgICAgICAg
IHwgMTggKysrKwogLi4uL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tICAgICAgICAg
IHwgMTUgKysrKwogLi4uL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNwcCAgICAgICAg
IHwgMTUgKysrKwogLi4uL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaCAg
IHwgIDMgKwogLi4uL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsICAgICAgIHwg
IDMgKwogLi4uL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHAgICAgIHwgMTUg
KysrKwogLi4uL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tICAgICAgICAgIHwgMTgg
KysrKwogLi4uL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tICAgICAgICAgIHwgMTUg
KysrKwogLi4uL3dpbi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNwcCAgICAgICAgIHwgMTgg
KysrKwogLi4uLXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UtZXhwZWN0ZWQudHh0IHwgMjQg
LS0tLS0tCiAuLi5yaWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwgfCA1
MiAtLS0tLS0tLS0tLS0KIC4uLnMtdXBkYXRlLWFmdGVyLWR5bmFtaWMtY2hhbmdlLWV4cGVjdGVk
LnR4dCB8IDQ4ICsrKysrKysrKysrCiAuLi50dHJpYnV0ZXMtdXBkYXRlLWFmdGVyLWR5bmFtaWMt
Y2hhbmdlLmh0bWwgfCA4NSArKysrKysrKysrKysrKysrKysrCiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMgICAgfCAgNCArLQogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zL1Rlc3RFeHBlY3RhdGlvbnMgICAgIHwgIDIgKy0KIExheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9UZXN0RXhwZWN0YXRpb25zICAgICB8ICA0ICstCiAyNiBmaWxlcyBjaGFuZ2VkLCAzNDkgaW5z
ZXJ0aW9ucygrKSwgMTI1IGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2Ut
ZXhwZWN0ZWQudHh0CiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9hcmlhLWJ1c3ktdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sCiBjcmVhdGUgbW9k
ZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9saXZlLXJlZ2lvbi1hdHRyaWJ1dGVz
LXVwZGF0ZS1hZnRlci1keW5hbWljLWNoYW5nZS1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEw
MDY0NCBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2xpdmUtcmVnaW9uLWF0dHJpYnV0ZXMtdXBk
YXRlLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYTG9nZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhMb2dnZXIuY3BwCmluZGV4IDA5OTYyNzI2MjMyZC4uMGUzN2E5NDllYWZmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYTG9nZ2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYTG9nZ2VyLmNwcApAQCAtNDA2LDYgKzQwNiw5IEBA
IFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgc3RyZWFtLCBBWE9iamVjdENhY2hl
OjpBWE5vdGlmaWNhdGlvbiBub3RpZmljCiAgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlm
aWNhdGlvbjo6QVhJbWFnZU92ZXJsYXlDaGFuZ2VkOgogICAgICAgICBzdHJlYW0gPDwgIkFYSW1h
Z2VPdmVybGF5Q2hhbmdlZCI7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmplY3RDYWNo
ZTo6QVhOb3RpZmljYXRpb246OkFYSXNBdG9taWNDaGFuZ2VkOgorICAgICAgICBzdHJlYW0gPDwg
IkFYSXNBdG9taWNDaGFuZ2VkIjsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBBWE9iamVjdENh
Y2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhMYW5ndWFnZUNoYW5nZWQ6CiAgICAgICAgIHN0cmVhbSA8
PCAiQVhMYW5ndWFnZUNoYW5nZWQiOwogICAgICAgICBicmVhazsKQEAgLTQ2MCw2ICs0NjMsMTIg
QEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiBzdHJlYW0sIEFYT2JqZWN0Q2Fj
aGU6OkFYTm90aWZpY2F0aW9uIG5vdGlmaWMKICAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6OkFYTm90
aWZpY2F0aW9uOjpBWExpdmVSZWdpb25DaGFuZ2VkOgogICAgICAgICBzdHJlYW0gPDwgIkFYTGl2
ZVJlZ2lvbkNoYW5nZWQiOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIEFYT2JqZWN0Q2FjaGU6
OkFYTm90aWZpY2F0aW9uOjpBWExpdmVSZWdpb25SZWxldmFudENoYW5nZWQ6CisgICAgICAgIHN0
cmVhbSA8PCAiQVhMaXZlUmVnaW9uUmVsZXZhbnRDaGFuZ2VkIjsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6QVhMaXZlUmVnaW9uU3RhdHVz
Q2hhbmdlZDoKKyAgICAgICAgc3RyZWFtIDw8ICJBWExpdmVSZWdpb25TdGF0dXNDaGFuZ2VkIjsK
KyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNhdGlvbjo6
QVhNZW51TGlzdEl0ZW1TZWxlY3RlZDoKICAgICAgICAgc3RyZWFtIDw8ICJBWE1lbnVMaXN0SXRl
bVNlbGVjdGVkIjsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCBhNjJkMzIwMjQzZGMuLmNkNWJjOGY0NzBiZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCkBA
IC0xOTQwLDYgKzE5NDAsOCBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZUF0dHJpYnV0ZUNo
YW5nZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSwgRWxlbWVudAogCiAgICAgaWYgKGF0
dHJOYW1lID09IGFyaWFfYWN0aXZlZGVzY2VuZGFudEF0dHIpCiAgICAgICAgIGhhbmRsZUFjdGl2
ZURlc2NlbmRhbnRDaGFuZ2VkKCplbGVtZW50KTsKKyAgICBlbHNlIGlmIChhdHRyTmFtZSA9PSBh
cmlhX2F0b21pY0F0dHIpCisgICAgICAgIHBvc3ROb3RpZmljYXRpb24oZWxlbWVudCwgQVhJc0F0
b21pY0NoYW5nZWQpOwogICAgIGVsc2UgaWYgKGF0dHJOYW1lID09IGFyaWFfYnVzeUF0dHIpCiAg
ICAgICAgIHBvc3ROb3RpZmljYXRpb24oZWxlbWVudCwgQVhPYmplY3RDYWNoZTo6QVhFbGVtZW50
QnVzeUNoYW5nZWQpOwogICAgIGVsc2UgaWYgKGF0dHJOYW1lID09IGFyaWFfdmFsdWVub3dBdHRy
IHx8IGF0dHJOYW1lID09IGFyaWFfdmFsdWV0ZXh0QXR0cikKQEAgLTE5NTQsNiArMTk1Niw4IEBA
IHZvaWQgQVhPYmplY3RDYWNoZTo6aGFuZGxlQXR0cmlidXRlQ2hhbmdlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIGF0dHJOYW1lLCBFbGVtZW50CiAgICAgICAgIHBvc3ROb3RpZmljYXRpb24oZWxlbWVu
dCwgQVhHcmFiYmVkU3RhdGVDaGFuZ2VkKTsKICAgICBlbHNlIGlmIChhdHRyTmFtZSA9PSBhcmlh
X2xldmVsQXR0cikKICAgICAgICAgcG9zdE5vdGlmaWNhdGlvbihlbGVtZW50LCBBWExldmVsQ2hh
bmdlZCk7CisgICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gYXJpYV9saXZlQXR0cikKKyAgICAgICAg
cG9zdE5vdGlmaWNhdGlvbihlbGVtZW50LCBBWExpdmVSZWdpb25TdGF0dXNDaGFuZ2VkKTsKICAg
ICBlbHNlIGlmIChhdHRyTmFtZSA9PSBhcmlhX3ZhbHVlbWF4QXR0cikKICAgICAgICAgcG9zdE5v
dGlmaWNhdGlvbihlbGVtZW50LCBBWE1heGltdW1WYWx1ZUNoYW5nZWQpOwogICAgIGVsc2UgaWYg
KGF0dHJOYW1lID09IGFyaWFfdmFsdWVtaW5BdHRyKQpAQCAtMTk2OSw2ICsxOTczLDggQEAgdm9p
ZCBBWE9iamVjdENhY2hlOjpoYW5kbGVBdHRyaWJ1dGVDaGFuZ2UoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgYXR0ck5hbWUsIEVsZW1lbnQKICAgICAgICAgcG9zdE5vdGlmaWNhdGlvbihlbGVtZW50LCBB
WE11bHRpU2VsZWN0YWJsZVN0YXRlQ2hhbmdlZCk7CiAgICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0g
YXJpYV9wb3NpbnNldEF0dHIpCiAgICAgICAgIHBvc3ROb3RpZmljYXRpb24oZWxlbWVudCwgQVhQ
b3NpdGlvbkluU2V0Q2hhbmdlZCk7CisgICAgZWxzZSBpZiAoYXR0ck5hbWUgPT0gYXJpYV9yZWxl
dmFudEF0dHIpCisgICAgICAgIHBvc3ROb3RpZmljYXRpb24oZWxlbWVudCwgQVhMaXZlUmVnaW9u
UmVsZXZhbnRDaGFuZ2VkKTsKICAgICBlbHNlIGlmIChhdHRyTmFtZSA9PSBhcmlhX3NlbGVjdGVk
QXR0cikKICAgICAgICAgc2VsZWN0ZWRTdGF0ZUNoYW5nZWQoZWxlbWVudCk7CiAgICAgZWxzZSBp
ZiAoYXR0ck5hbWUgPT0gYXJpYV9zZXRzaXplQXR0cikKQEAgLTM1NjAsNyArMzU2NiwxMCBAQCB2
b2lkIEFYT2JqZWN0Q2FjaGU6OnVwZGF0ZUlzb2xhdGVkVHJlZShjb25zdCBWZWN0b3I8c3RkOjpw
YWlyPFJlZlB0cjxBWENvcmVPYmplYwogICAgICAgICBjYXNlIEFYR3JhYmJlZFN0YXRlQ2hhbmdl
ZDoKICAgICAgICAgY2FzZSBBWEhhc1BvcHVwQ2hhbmdlZDoKICAgICAgICAgY2FzZSBBWEludmFs
aWRTdGF0dXNDaGFuZ2VkOgorICAgICAgICBjYXNlIEFYSXNBdG9taWNDaGFuZ2VkOgogICAgICAg
ICBjYXNlIEFYTGV2ZWxDaGFuZ2VkOgorICAgICAgICBjYXNlIEFYTGl2ZVJlZ2lvblN0YXR1c0No
YW5nZWQ6CisgICAgICAgIGNhc2UgQVhMaXZlUmVnaW9uUmVsZXZhbnRDaGFuZ2VkOgogICAgICAg
ICBjYXNlIEFYTWVudUxpc3RWYWx1ZUNoYW5nZWQ6CiAgICAgICAgIGNhc2UgQVhNdWx0aVNlbGVj
dGFibGVTdGF0ZUNoYW5nZWQ6CiAgICAgICAgIGNhc2UgQVhQcmVzc2VkU3RhdGVDaGFuZ2VkOgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCBmOWMz
Yzg1ZDI4YjguLmQ4MDdjMzJhMGIxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BWE9iamVjdENhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BWE9iamVjdENhY2hlLmgKQEAgLTI4OCw2ICsyODgsNyBAQCBwdWJsaWM6CiAgICAgICAgIEFY
SGFzUG9wdXBDaGFuZ2VkLAogICAgICAgICBBWElkQXR0cmlidXRlQ2hhbmdlZCwKICAgICAgICAg
QVhJbWFnZU92ZXJsYXlDaGFuZ2VkLAorICAgICAgICBBWElzQXRvbWljQ2hhbmdlZCwKICAgICAg
ICAgQVhMYW5ndWFnZUNoYW5nZWQsCiAgICAgICAgIEFYTGF5b3V0Q29tcGxldGUsCiAgICAgICAg
IEFYTGV2ZWxDaGFuZ2VkLApAQCAtMzAzLDYgKzMwNCw4IEBAIHB1YmxpYzoKICAgICAgICAgQVhT
Y3JvbGxlZFRvQW5jaG9yLAogICAgICAgICBBWExpdmVSZWdpb25DcmVhdGVkLAogICAgICAgICBB
WExpdmVSZWdpb25DaGFuZ2VkLAorICAgICAgICBBWExpdmVSZWdpb25SZWxldmFudENoYW5nZWQs
CisgICAgICAgIEFYTGl2ZVJlZ2lvblN0YXR1c0NoYW5nZWQsCiAgICAgICAgIEFYTWF4aW11bVZh
bHVlQ2hhbmdlZCwKICAgICAgICAgQVhNZW51TGlzdEl0ZW1TZWxlY3RlZCwKICAgICAgICAgQVhN
ZW51TGlzdFZhbHVlQ2hhbmdlZCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKaW5kZXggZTE5NmYwOGEyOTU5Li5h
YWYxMjI0NWQ3NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCkBAIC0xMzA0LDYgKzEzMDQsNDMgQEAgYm9v
bCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6ZWxlbWVudEF0dHJpYnV0ZVZhbHVlKGNvbnN0IFF1
YWxpZmllZE5hbWUmIGF0dHJpYnUKICAgICByZXR1cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UoZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpLCAidHJ1ZSJfcyk7CiB9CiAKK2NvbnN0
IFN0cmluZyBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6bGl2ZVJlZ2lvblN0YXR1cygpIGNvbnN0
Cit7CisgICAgY29uc3QgYXV0byYgbGl2ZVJlZ2lvblN0YXR1cyA9IGdldEF0dHJpYnV0ZShhcmlh
X2xpdmVBdHRyKTsKKyAgICBpZiAobGl2ZVJlZ2lvblN0YXR1cy5pc0VtcHR5KCkpCisgICAgICAg
IHJldHVybiBkZWZhdWx0TGl2ZVJlZ2lvblN0YXR1c0ZvclJvbGUocm9sZVZhbHVlKCkpOworCisg
ICAgcmV0dXJuIGxpdmVSZWdpb25TdGF0dXM7Cit9CisKK2NvbnN0IFN0cmluZyBBY2Nlc3NpYmls
aXR5Tm9kZU9iamVjdDo6bGl2ZVJlZ2lvblJlbGV2YW50KCkgY29uc3QKK3sKKyAgICBjb25zdCBh
dXRvJiByZWxldmFudCA9IGdldEF0dHJpYnV0ZShhcmlhX3JlbGV2YW50QXR0cik7CisgICAgLy8g
RGVmYXVsdCBhcmlhLXJlbGV2YW50ID0gImFkZGl0aW9ucyB0ZXh0Ii4KKyAgICBpZiAocmVsZXZh
bnQuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gImFkZGl0aW9ucyB0ZXh0Il9zOworCisgICAg
cmV0dXJuIHJlbGV2YW50OworfQorCitib29sIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjpsaXZl
UmVnaW9uQXRvbWljKCkgY29uc3QKK3sKKyAgICBjb25zdCBhdXRvJiBhdG9taWMgPSBnZXRBdHRy
aWJ1dGUoYXJpYV9hdG9taWNBdHRyKTsKKyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UoYXRvbWljLCAidHJ1ZSJfcykpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIGlmIChl
cXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShhdG9taWMsICJmYWxzZSJfcykpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIC8vIFdBSS1BUklBICJhbGVydCIgYW5kICJzdGF0dXMiIHJv
bGVzIGhhdmUgYW4gaW1wbGljaXQgYXJpYS1hdG9taWMgdmFsdWUgb2YgdHJ1ZS4KKyAgICBzd2l0
Y2ggKHJvbGVWYWx1ZSgpKSB7CisgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6QXBwbGljYXRp
b25BbGVydDoKKyAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpBcHBsaWNhdGlvblN0YXR1czoK
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIH0KK30KKwogYm9vbCBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6aXNHZW5lcmljRm9j
dXNhYmxlRWxlbWVudCgpIGNvbnN0CiB7CiAgICAgaWYgKCFjYW5TZXRGb2N1c0F0dHJpYnV0ZSgp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5oCmluZGV4IDVhZWE5YTA1YTJjOC4uYTNiOTI4NGVmNjZlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVj
dC5oCkBAIC0xNzMsNiArMTczLDEwIEBAIHByb3RlY3RlZDoKIAogICAgIGJvb2wgZWxlbWVudEF0
dHJpYnV0ZVZhbHVlKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdDsKIAorICAgIGNvbnN0IFN0
cmluZyBsaXZlUmVnaW9uU3RhdHVzKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgY29uc3QgU3RyaW5n
IGxpdmVSZWdpb25SZWxldmFudCgpIGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wgbGl2ZVJlZ2lv
bkF0b21pYygpIGNvbnN0IG92ZXJyaWRlOworCiAgICAgYm9vbCBpc0xhYmVsYWJsZSgpIGNvbnN0
OwogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIGNvcnJlc3BvbmRpbmdDb250cm9sRm9yTGFiZWxF
bGVtZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogY29ycmVz
cG9uZGluZ0xhYmVsRm9yQ29udHJvbEVsZW1lbnQoKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVj
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuY3BwCmluZGV4IDZmZDA1ODJlZjFmMy4uNTVmMjQ0YmFjNmY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdC5jcHAKQEAgLTMyNjQsNDYgKzMyNjQsNiBAQCBib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3Q6OmNhbkhhdmVDaGlsZHJlbigpIGNvbnN0CiAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlO
b2RlT2JqZWN0OjpjYW5IYXZlQ2hpbGRyZW4oKTsKIH0KIAotY29uc3QgU3RyaW5nIEFjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3Q6OmxpdmVSZWdpb25TdGF0dXMoKSBjb25zdAotewotICAgIGNvbnN0
IEF0b21TdHJpbmcmIGxpdmVSZWdpb25TdGF0dXMgPSBnZXRBdHRyaWJ1dGUoYXJpYV9saXZlQXR0
cik7Ci0gICAgLy8gVGhlc2Ugcm9sZXMgaGF2ZSBpbXBsaWNpdCBsaXZlIHJlZ2lvbiBzdGF0dXMu
Ci0gICAgaWYgKGxpdmVSZWdpb25TdGF0dXMuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gZGVm
YXVsdExpdmVSZWdpb25TdGF0dXNGb3JSb2xlKHJvbGVWYWx1ZSgpKTsKLQotICAgIHJldHVybiBs
aXZlUmVnaW9uU3RhdHVzOwotfQotCi1jb25zdCBTdHJpbmcgQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdDo6bGl2ZVJlZ2lvblJlbGV2YW50KCkgY29uc3QKLXsKLSAgICBzdGF0aWMgTWFpblRocmVh
ZE5ldmVyRGVzdHJveWVkPGNvbnN0IEF0b21TdHJpbmc+IGRlZmF1bHRMaXZlUmVnaW9uUmVsZXZh
bnQoImFkZGl0aW9ucyB0ZXh0Il9zKTsKLSAgICBjb25zdCBBdG9tU3RyaW5nJiByZWxldmFudCA9
IGdldEF0dHJpYnV0ZShhcmlhX3JlbGV2YW50QXR0cik7Ci0KLSAgICAvLyBEZWZhdWx0IGFyaWEt
cmVsZXZhbnQgPSAiYWRkaXRpb25zIHRleHQiLgotICAgIGlmIChyZWxldmFudC5pc0VtcHR5KCkp
Ci0gICAgICAgIHJldHVybiAiYWRkaXRpb25zIHRleHQiX3M7Ci0gICAgCi0gICAgcmV0dXJuIHJl
bGV2YW50OwotfQotCi1ib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmxpdmVSZWdpb25B
dG9taWMoKSBjb25zdAotewotICAgIGNvbnN0IEF0b21TdHJpbmcmIGF0b21pYyA9IGdldEF0dHJp
YnV0ZShhcmlhX2F0b21pY0F0dHIpOwotICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJ
Q2FzZShhdG9taWMsICJ0cnVlIl9zKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgaWYgKGVx
dWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGF0b21pYywgImZhbHNlIl9zKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgLy8gV0FJLUFSSUEgImFsZXJ0IiBhbmQgInN0YXR1cyIgcm9s
ZXMgaGF2ZSBhbiBpbXBsaWNpdCBhcmlhLWF0b21pYyB2YWx1ZSBvZiB0cnVlLgotICAgIHN3aXRj
aCAocm9sZVZhbHVlKCkpIHsKLSAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpBcHBsaWNhdGlv
bkFsZXJ0OgotICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkFwcGxpY2F0aW9uU3RhdHVzOgot
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgfQotfQotCiBib29sIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmNhbkhhdmVTZWxl
Y3RlZENoaWxkcmVuKCkgY29uc3QKIHsKICAgICBzd2l0Y2ggKHJvbGVWYWx1ZSgpKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdC5oCmluZGV4IDVlMzQzZmRjNzA4Yi4uY2Q1ZjNmZDE1N2MzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3QuaApAQCAtMjY2LDEwICsyNjYsNiBAQCBwcml2YXRlOgogICAgIAogICAgIE9wdGlvblNldDxT
cGVha0FzPiBzcGVha0FzUHJvcGVydHkoKSBjb25zdCBvdmVycmlkZTsKICAgICAKLSAgICBjb25z
dCBTdHJpbmcgbGl2ZVJlZ2lvblN0YXR1cygpIGNvbnN0IG92ZXJyaWRlOwotICAgIGNvbnN0IFN0
cmluZyBsaXZlUmVnaW9uUmVsZXZhbnQoKSBjb25zdCBvdmVycmlkZTsKLSAgICBib29sIGxpdmVS
ZWdpb25BdG9taWMoKSBjb25zdCBvdmVycmlkZTsKLQogICAgIGJvb2wgaW5oZXJpdHNQcmVzZW50
YXRpb25hbFJvbGUoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIGJvb2wgc2hvdWxkR2V0VGV4dEZy
b21Ob2RlKEFjY2Vzc2liaWxpdHlUZXh0VW5kZXJFbGVtZW50TW9kZSkgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FYT2JqZWN0Q2FjaGVBdHNw
aS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FYT2JqZWN0Q2FjaGVB
dHNwaS5jcHAKaW5kZXggZjk4ZGI0MWQ3YTFmLi43ZThiYWJhMmFlOWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkvQVhPYmplY3RDYWNoZUF0c3BpLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FYT2JqZWN0Q2FjaGVBdHNw
aS5jcHAKQEAgLTIxMyw2ICsyMTMsMTIgQEAgdm9pZCBBWE9iamVjdENhY2hlOjpwb3N0UGxhdGZv
cm1Ob3RpZmljYXRpb24oQVhDb3JlT2JqZWN0KiBjb3JlT2JqZWN0LCBBWE5vdGlmaWMKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBBWE11bHRpU2VsZWN0YWJsZVN0YXRlQ2hhbmdlZDoKICAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBBWElzQXRvbWljQ2hhbmdlZDoKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBBWExpdmVSZWdpb25SZWxldmFudENoYW5nZWQ6CisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgQVhMaXZlUmVnaW9uU3RhdHVzQ2hhbmdlZDoKKyAgICAgICAgYnJlYWs7CiAgICAgfQog
fQogCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3Bw
CmluZGV4IGU1NjkyNjA4YjViYS4uZDhmNjI0MzA3MDhlIDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcAorKysgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcApAQCAtMTI0NCw2ICsxMjQ0LDE4IEBA
IHN0YXRpYyBKU1ZhbHVlUmVmIGdldEhlbHBUZXh0Q2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRl
eHQsIEpTT2JqZWN0UmVmIHRoaXNPYmplCiAgICAgcmV0dXJuIEpTVmFsdWVNYWtlU3RyaW5nKGNv
bnRleHQsIGxhbmd1YWdlLmdldCgpKTsKIH0KIAorc3RhdGljIEpTVmFsdWVSZWYgZ2V0TGl2ZVJl
Z2lvblJlbGV2YW50Q2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHRo
aXNPYmplY3QsIEpTU3RyaW5nUmVmIHByb3BlcnR5TmFtZSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9u
KQoreworICAgIGF1dG8gbGl2ZVJlZ2lvblJlbGV2YW50ID0gdG9BWEVsZW1lbnQodGhpc09iamVj
dCktPmxpdmVSZWdpb25SZWxldmFudCgpOworICAgIHJldHVybiBKU1ZhbHVlTWFrZVN0cmluZyhj
b250ZXh0LCBsaXZlUmVnaW9uUmVsZXZhbnQuZ2V0KCkpOworfQorCitzdGF0aWMgSlNWYWx1ZVJl
ZiBnZXRMaXZlUmVnaW9uU3RhdHVzQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2Jq
ZWN0UmVmIHRoaXNPYmplY3QsIEpTU3RyaW5nUmVmIHByb3BlcnR5TmFtZSwgSlNWYWx1ZVJlZiog
ZXhjZXB0aW9uKQoreworICAgIGF1dG8gbGl2ZVJlZ2lvblN0YXR1cyA9IHRvQVhFbGVtZW50KHRo
aXNPYmplY3QpLT5saXZlUmVnaW9uU3RhdHVzKCk7CisgICAgcmV0dXJuIEpTVmFsdWVNYWtlU3Ry
aW5nKGNvbnRleHQsIGxpdmVSZWdpb25TdGF0dXMuZ2V0KCkpOworfQorCiBzdGF0aWMgSlNWYWx1
ZVJlZiBnZXRPcmllbnRhdGlvbkNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVj
dFJlZiB0aGlzT2JqZWN0LCBKU1N0cmluZ1JlZiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWVSZWYqIGV4
Y2VwdGlvbikKIHsKICAgICBhdXRvIG9yaWVudGF0aW9uID0gdG9BWEVsZW1lbnQodGhpc09iamVj
dCktPm9yaWVudGF0aW9uKCk7CkBAIC0xMzI3LDYgKzEzMzksMTEgQEAgc3RhdGljIEpTVmFsdWVS
ZWYgZ2V0U2VsZWN0ZWRUZXh0UmFuZ2VDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNP
YmplY3RSZWYKICAgICByZXR1cm4gSlNWYWx1ZU1ha2VTdHJpbmcoY29udGV4dCwgc2VsZWN0ZWRU
ZXh0UmFuZ2UuZ2V0KCkpOwogfQogCitzdGF0aWMgSlNWYWx1ZVJlZiBnZXRJc0F0b21pY0xpdmVS
ZWdpb25DYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgdGhpc09iamVj
dCwgSlNTdHJpbmdSZWYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit7Cisg
ICAgcmV0dXJuIEpTVmFsdWVNYWtlQm9vbGVhbihjb250ZXh0LCB0b0FYRWxlbWVudCh0aGlzT2Jq
ZWN0KS0+aXNBdG9taWNMaXZlUmVnaW9uKCkpOworfQorCiBzdGF0aWMgSlNWYWx1ZVJlZiBnZXRJ
c0J1c3lDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgdGhpc09iamVj
dCwgSlNTdHJpbmdSZWYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCiB7CiAg
ICAgcmV0dXJuIEpTVmFsdWVNYWtlQm9vbGVhbihjb250ZXh0LCB0b0FYRWxlbWVudCh0aGlzT2Jq
ZWN0KS0+aXNCdXN5KCkpOwpAQCAtMTkyOSw2ICsxOTQ2LDcgQEAgSlNDbGFzc1JlZiBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpnZXRKU0NsYXNzKCkKICAgICAgICAgeyAiY29sdW1uQ291bnQiLCBj
b2x1bW5Db3VudENhbGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pT
UHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgImluc2VydGlvblBvaW50
TGluZU51bWJlciIsIGdldEluc2VydGlvblBvaW50TGluZU51bWJlckNhbGxiYWNrLCAwLCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRl
IH0sCiAgICAgICAgIHsgInNlbGVjdGVkVGV4dFJhbmdlIiwgZ2V0U2VsZWN0ZWRUZXh0UmFuZ2VD
YWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0
cmlidXRlRG9udERlbGV0ZSB9LAorICAgICAgICB7ICJpc0F0b21pY0xpdmVSZWdpb24iLCBnZXRJ
c0F0b21pY0xpdmVSZWdpb25DYWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25s
eSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJpc0J1c3ki
LCBnZXRJc0J1c3lDYWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtK
U1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJpc0VuYWJsZWQiLCBn
ZXRJc0VuYWJsZWRDYWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtK
U1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJpc1JlcXVpcmVkIiwg
Z2V0SXNSZXF1aXJlZENhbGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwg
a0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCkBAIC0xOTUzLDYgKzE5NzEsOCBAQCBK
U0NsYXNzUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmdldEpTQ2xhc3MoKQogICAgICAgICB7
ICJkb2N1bWVudFVSSSIsIGdldERvY3VtZW50VVJJQ2FsbGJhY2ssIDAsIGtKU1Byb3BlcnR5QXR0
cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAg
ICAgeyAidXJsIiwgZ2V0VVJMQ2FsbGJhY2ssIDAsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9u
bHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAiaXNWYWxp
ZCIsIGdldElzVmFsaWRDYWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8
IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgICAgICB7ICJsaXZlUmVnaW9u
UmVsZXZhbnQiLCBnZXRMaXZlUmVnaW9uUmVsZXZhbnRDYWxsYmFjaywgMCwga0pTUHJvcGVydHlB
dHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAg
ICAgICB7ICJsaXZlUmVnaW9uU3RhdHVzIiwgZ2V0TGl2ZVJlZ2lvblN0YXR1c0NhbGxiYWNrLCAw
LCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250
RGVsZXRlIH0sCiAgICAgICAgIHsgIm9yaWVudGF0aW9uIiwgZ2V0T3JpZW50YXRpb25DYWxsYmFj
aywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRl
RG9udERlbGV0ZSB9LAogICAgICAgICB7ICJhcmlhSXNHcmFiYmVkIiwgZ2V0QVJJQUlzR3JhYmJl
ZENhbGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlB
dHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgImFyaWFEcm9wRWZmZWN0cyIsIGdldEFS
SUFEcm9wRWZmZWN0c0NhbGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwg
a0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmggYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKaW5kZXggYzEyMTY5MDMzZDk5Li4wNjBhNTFiYjNi
ZjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnQuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgK
QEAgLTEzMyw2ICsxMzMsOCBAQCBwdWJsaWM6CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IGFjY2Vzc2liaWxpdHlWYWx1ZSgpIGNvbnN0OwogICAgIHZvaWQgc2V0VmFsdWUoSlNTdHJpbmdS
ZWYpOwogICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBoZWxwVGV4dCgpIGNvbnN0OworICAg
IEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBsaXZlUmVnaW9uUmVsZXZhbnQoKSBjb25zdDsKKyAg
ICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gbGl2ZVJlZ2lvblN0YXR1cygpIGNvbnN0OwogICAg
IEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBvcmllbnRhdGlvbigpIGNvbnN0OwogICAgIGRvdWJs
ZSB4KCk7CiAgICAgZG91YmxlIHkoKTsKQEAgLTE0NSw2ICsxNDcsNyBAQCBwdWJsaWM6CiAgICAg
SlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHZhbHVlRGVzY3JpcHRpb24oKTsKICAgICBpbnQgaW5z
ZXJ0aW9uUG9pbnRMaW5lTnVtYmVyKCk7CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHNl
bGVjdGVkVGV4dFJhbmdlKCk7CisgICAgYm9vbCBpc0F0b21pY0xpdmVSZWdpb24oKSBjb25zdDsK
ICAgICBib29sIGlzQnVzeSgpIGNvbnN0OwogICAgIGJvb2wgaXNFbmFibGVkKCk7CiAgICAgYm9v
bCBpc1JlcXVpcmVkKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9p
b3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2lv
cy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tCmluZGV4IGUzNjNiNzU4NDc4ZC4uZDdjYzY1
NzcyMmE3IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9pb3MvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudElPUy5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9pb3MvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudElPUy5tbQpAQCAtNzUsNiArNzUsOSBAQCAtIChOU1VJbnRlZ2VyKWFjY2Vz
c2liaWxpdHlBUklBQ29sdW1uQ291bnQ7CiAtIChOU1VJbnRlZ2VyKWFjY2Vzc2liaWxpdHlBUklB
Um93SW5kZXg7CiAtIChOU1VJbnRlZ2VyKWFjY2Vzc2liaWxpdHlBUklBQ29sdW1uSW5kZXg7CiAt
IChCT09MKWFjY2Vzc2liaWxpdHlBUklBSXNCdXN5OworLSAoQk9PTClhY2Nlc3NpYmlsaXR5QVJJ
QUxpdmVSZWdpb25Jc0F0b21pYzsKKy0gKE5TU3RyaW5nICopYWNjZXNzaWJpbGl0eUFSSUFMaXZl
UmVnaW9uU3RhdHVzOworLSAoTlNTdHJpbmcgKilhY2Nlc3NpYmlsaXR5QVJJQVJlbGV2YW50U3Rh
dHVzOwogLSAoVUlBY2Nlc3NpYmlsaXR5VHJhaXRzKV9heENvbnRhaW5lZEJ5RmllbGRzZXRUcmFp
dDsKIC0gKGlkKV9hY2Nlc3NpYmlsaXR5RmllbGRzZXRBbmNlc3RvcjsKIC0gKEJPT0wpX2FjY2Vz
c2liaWxpdHlIYXNUb3VjaEV2ZW50TGlzdGVuZXI7CkBAIC04MTIsNiArODE1LDE2IEBAIEpTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkZXNjcmlwdGlvbigp
CiAgICAgcmV0dXJuIGNvbmNhdGVuYXRlQXR0cmlidXRlQW5kVmFsdWUoQCJBWExhYmVsIiwgW21f
ZWxlbWVudCBhY2Nlc3NpYmlsaXR5TGFiZWxdKTsKIH0KIAorSlNSZXRhaW5QdHI8SlNTdHJpbmdS
ZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpdmVSZWdpb25SZWxldmFudCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIFtbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlBUklBUmVsZXZhbnRTdGF0dXNd
IGNyZWF0ZUpTU3RyaW5nUmVmXTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmxpdmVSZWdpb25TdGF0dXMoKSBjb25zdAoreworICAgIHJldHVy
biBbW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5QVJJQUxpdmVSZWdpb25TdGF0dXNdIGNyZWF0ZUpT
U3RyaW5nUmVmXTsKK30KKwogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6Om9yaWVudGF0aW9uKCkgY29uc3QKIHsKICAgICByZXR1cm4gV1RSOjpjcmVhdGVK
U1N0cmluZygpOwpAQCAtODYyLDYgKzg3NSwxMSBAQCBpbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6aW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyKCkKICAgICByZXR1cm4gLTE7CiB9CiAKK2Jvb2wg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdG9taWNMaXZlUmVnaW9uKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5QVJJQUxpdmVSZWdpb25Jc0F0b21pY107
Cit9CisKIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5KCkgY29uc3QKIHsKICAg
ICByZXR1cm4gW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5QVJJQUlzQnVzeV07CmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbSBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCmlu
ZGV4IDFiZDRmMzBmZTAwZS4uYTdiM2Q4NDNiYmNiIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQorKysgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQpAQCAtNjg0LDYgKzY4
NCwxNiBAQCBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
ZG9tSWRlbnRpZmllcigpIGNvbnN0CiAgICAgcmV0dXJuIHN0cmluZ0F0dHJpYnV0ZVZhbHVlKE5T
QWNjZXNzaWJpbGl0eURPTUlkZW50aWZpZXJBdHRyaWJ1dGUpOwogfQogCitKU1JldGFpblB0cjxK
U1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGl2ZVJlZ2lvblJlbGV2YW50KCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gc3RyaW5nQXR0cmlidXRlVmFsdWUoQCJBWEFSSUFSZWxldmFu
dCIpOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6bGl2ZVJlZ2lvblN0YXR1cygpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0cmluZ0F0dHJpYnV0
ZVZhbHVlKEAiQVhBUklBTGl2ZSIpOworfQorCiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6b3JpZW50YXRpb24oKSBjb25zdAogewogICAgIEJFR0lOX0FY
X09CSkNfRVhDRVBUSU9OUwpAQCAtODUyLDYgKzg2MiwxMSBAQCBib29sIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKCkKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdG9taWNMaXZlUmVnaW9uKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEAiQVhBUklBQXRvbWljIik7
Cit9CisKIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNCdXN5KCkgY29uc3QKIHsKICAg
ICByZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEAiQVhFbGVtZW50QnVzeSIpOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3Bw
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3Bw
CmluZGV4IDQxYTJiNmYwNDViNS4uNjc5OWU1ZjgwMmFmIDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5jcHAKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwCkBAIC01MjMs
NiArNTIzLDIxIEBAIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpvcmllbnRhdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIDA7CiB9CiAKK2Jvb2wgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6aXNBdG9taWNMaXZlUmVnaW9uKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpsaXZlUmVnaW9uUmVsZXZhbnQoKSBjb25zdAoreworICAgIHJldHVybiAwOworfQor
CitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGl2ZVJl
Z2lvblN0YXR1cygpIGNvbnN0Cit7CisgICAgcmV0dXJuIDA7Cit9CisKIGRvdWJsZSBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjppbnRWYWx1ZSgpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2VsZW1lbnQp
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnQuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCmluZGV4IGJkOTk0MDcyMzA0Yy4uOGNiZmEzYzll
Y2Y1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaApAQCAtMTU2LDYgKzE1Niw4IEBAIHB1
YmxpYzoKICAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gYWNjZXNzaWJpbGl0eVZhbHVlKCkg
Y29uc3Q7CiAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGhlbHBUZXh0KCkgY29uc3Q7CiAg
ICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IG9yaWVudGF0aW9uKCkgY29uc3Q7CisgICAgSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGxpdmVSZWdpb25SZWxldmFudCgpIGNvbnN0OworICAgIEpT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiBsaXZlUmVnaW9uU3RhdHVzKCkgY29uc3Q7CiAgICAgZG91
YmxlIHgoKTsKICAgICBkb3VibGUgeSgpOwogICAgIGRvdWJsZSB3aWR0aCgpOwpAQCAtMTY4LDYg
KzE3MCw3IEBAIHB1YmxpYzoKICAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gdmFsdWVEZXNj
cmlwdGlvbigpOwogICAgIGludCBpbnNlcnRpb25Qb2ludExpbmVOdW1iZXIoKTsKICAgICBKU1Jl
dGFpblB0cjxKU1N0cmluZ1JlZj4gc2VsZWN0ZWRUZXh0UmFuZ2UoKTsKKyAgICBib29sIGlzQXRv
bWljTGl2ZVJlZ2lvbigpIGNvbnN0OwogICAgIGJvb2wgaXNCdXN5KCkgY29uc3Q7CiAgICAgYm9v
bCBpc0VuYWJsZWQoKTsKICAgICBib29sIGlzUmVxdWlyZWQoKSBjb25zdDsKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudC5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsCmluZGV4IDlhZWRkNWIyOThlNS4u
NzY4NjFiYzBlZjBhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0JpbmRpbmdzL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaWRsCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxl
bWVudC5pZGwKQEAgLTU4LDYgKzU4LDggQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIHZhbHVlRGVzY3JpcHRpb247CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB1
cmw7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBzcGVha0FzOworICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbGl2ZVJlZ2lvblJlbGV2YW50OworICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01TdHJpbmcgbGl2ZVJlZ2lvblN0YXR1czsKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIG9yaWVudGF0aW9uOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25n
IGluc2VydGlvblBvaW50TGluZU51bWJlcjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIHNlbGVjdGVkVGV4dFJhbmdlOwpAQCAtODIsNiArODQsNyBAQAogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBsb25nIG1pblZhbHVlOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIG1heFZh
bHVlOwogICAgIAorICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzQXRvbWljTGl2ZVJl
Z2lvbjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc0J1c3k7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIGJvb2xlYW4gaXNFbmFibGVkOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBi
b29sZWFuIGlzUmVxdWlyZWQ7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHAgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRBdHNwaS5jcHAKaW5kZXggOTBiM2YxOTU5NTE3Li5kYWQwNWQ1ZTJkODQgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudEF0c3BpLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHAKQEAgLTg4MSw2
ICs4ODEsMjEgQEAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6Om9yaWVudGF0aW9uKCkgY29uc3QKICAgICByZXR1cm4gT3BhcXVlSlNTdHJpbmc6OnRyeUNy
ZWF0ZShvcmllbnRhdGlvblZhbHVlKS5sZWFrUmVmKCk7CiB9CiAKK2Jvb2wgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6aXNBdG9taWNMaXZlUmVnaW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpsaXZlUmVnaW9uUmVsZXZhbnQoKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQor
CitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGl2ZVJl
Z2lvblN0YXR1cygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKIEpTUmV0YWlu
UHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdWYWx1ZSgpCiB7
CiAgICAgbV9lbGVtZW50LT51cGRhdGVCYWNraW5nU3RvcmUoKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnRJT1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tCmluZGV4IGQ0MDI2MWYzNzYxYS4uMmFjNzhjYjE0NjZl
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9B
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0KQEAgLTgzLDYg
KzgzLDkgQEAgLSAoTlNVSW50ZWdlcilhY2Nlc3NpYmlsaXR5QVJJQUNvbHVtbkNvdW50OwogLSAo
TlNVSW50ZWdlcilhY2Nlc3NpYmlsaXR5QVJJQVJvd0luZGV4OwogLSAoTlNVSW50ZWdlcilhY2Nl
c3NpYmlsaXR5QVJJQUNvbHVtbkluZGV4OwogLSAoQk9PTClhY2Nlc3NpYmlsaXR5QVJJQUlzQnVz
eTsKKy0gKEJPT0wpYWNjZXNzaWJpbGl0eUFSSUFMaXZlUmVnaW9uSXNBdG9taWM7CistIChOU1N0
cmluZyAqKWFjY2Vzc2liaWxpdHlBUklBTGl2ZVJlZ2lvblN0YXR1czsKKy0gKE5TU3RyaW5nICop
YWNjZXNzaWJpbGl0eUFSSUFSZWxldmFudFN0YXR1czsKIC0gKE5TU3RyaW5nICopYWNjZXNzaWJp
bGl0eUludmFsaWRTdGF0dXM7CiAtIChVSUFjY2Vzc2liaWxpdHlUcmFpdHMpX2F4Q29udGFpbmVk
QnlGaWVsZHNldFRyYWl0OwogLSAoaWQpX2FjY2Vzc2liaWxpdHlGaWVsZHNldEFuY2VzdG9yOwpA
QCAtNTMyLDYgKzUzNSwxNiBAQCBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6ZGVzY3JpcHRpb24oKQogICAgIHJldHVybiBjb25jYXRlbmF0ZUF0dHJpYnV0
ZUFuZFZhbHVlKEAiQVhMYWJlbCIsIFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUxhYmVsXSk7CiB9
CiAKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsaXZl
UmVnaW9uUmVsZXZhbnQoKSBjb25zdAoreworICAgIHJldHVybiBbW21fZWxlbWVudCBhY2Nlc3Np
YmlsaXR5QVJJQVJlbGV2YW50U3RhdHVzXSBjcmVhdGVKU1N0cmluZ1JlZl07Cit9CisKK0pTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsaXZlUmVnaW9uU3Rh
dHVzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gW1ttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUFSSUFM
aXZlUmVnaW9uU3RhdHVzXSBjcmVhdGVKU1N0cmluZ1JlZl07Cit9CisKIEpTUmV0YWluUHRyPEpT
U3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpvcmllbnRhdGlvbigpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIGNyZWF0ZUpTU3RyaW5nKCk7CkBAIC02MzIsNiArNjQ1LDExIEBAIGJvb2wg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNEZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKQogICAg
IHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0F0b21p
Y0xpdmVSZWdpb24oKSBjb25zdAoreworICAgIHJldHVybiBbbV9lbGVtZW50IGFjY2Vzc2liaWxp
dHlBUklBTGl2ZVJlZ2lvbklzQXRvbWljXTsKK30KKwogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojppc0J1c3koKSBjb25zdAogewogICAgIHJldHVybiBbbV9lbGVtZW50IGFjY2Vzc2liaWxp
dHlBUklBSXNCdXN5XTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW0gYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1t
CmluZGV4IDdmYmE1MTg4YmVhNy4uNGI3MmRmYTc5ZGY3IDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFj
Lm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRNYWMubW0KQEAgLTgwNSw2ICs4MDUsMTYgQEAgSlNSZXRhaW5QdHI8
SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRlc2NyaXB0aW9uKCkKICAgICBy
ZXR1cm4gbnVsbHB0cjsKIH0KIAorSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmxpdmVSZWdpb25TdGF0dXMoKSBjb25zdAoreworICAgIHJldHVybiBzdHJp
bmdBdHRyaWJ1dGVWYWx1ZShAIkFYQVJJQUxpdmUiKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJp
bmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpdmVSZWdpb25SZWxldmFudCgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIHN0cmluZ0F0dHJpYnV0ZVZhbHVlKEAiQVhBUklBUmVsZXZhbnQiKTsK
K30KKwogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om9y
aWVudGF0aW9uKCkgY29uc3QKIHsKICAgICBCRUdJTl9BWF9PQkpDX0VYQ0VQVElPTlMKQEAgLTk4
Myw2ICs5OTMsMTEgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3JlbWVudEFj
dGlvblN1cHBvcnRlZCgpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmlzQXRvbWljTGl2ZVJlZ2lvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIGJv
b2xBdHRyaWJ1dGVWYWx1ZShAIkFYQVJJQUF0b21pYyIpOworfQorCiBib29sIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmlzQnVzeSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGJvb2xBdHRyaWJ1dGVW
YWx1ZShAIkFYRWxlbWVudEJ1c3kiKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxl
bWVudFdpbi5jcHAKaW5kZXggNjA1NTFiM2UyY2IwLi44ZDI0ZWRhYWJlMjIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvd2luL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnRXaW4uY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvd2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwCkBAIC0yOTgsNiArMjk4LDI0IEBA
IEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpvcmllbnRh
dGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKK2Jvb2wgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6aXNBdG9taWNMaXZlUmVnaW9uKCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1l
bnRlZCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpdmVSZWdpb25SZWxldmFudCgpIGNvbnN0Cit7Cisg
ICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNSZXRhaW5Q
dHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpdmVSZWdpb25TdGF0dXMo
KSBjb25zdAoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9
CisKIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJp
bmdWYWx1ZSgpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2Ut
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWJ1c3ktdXBkYXRl
cy1hZnRlci1keW5hbWljLWNoYW5nZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDRmM2M1ZWMxYTNhNC4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UtZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotVGhpcyB0ZXN0IGVuc3VyZXMg
dGhhdCBhbiBlbGVtZW50J3MgYnVzeSBzdGF0ZSB1cGRhdGVzIGFyaWEtYnVzeSBjaGFuZ2VzLgot
Ci1WZXJpZnlpbmcgaW5pdGlhbCBidXN5IHN0YXRlOgotCi0jY2xvY2sgaXMgYnVzeTogZmFsc2UK
LSNjbG9jay1kaXNwbGF5LWNvbnRlbnRzIGlzIGJ1c3k6IGZhbHNlCi0KLVNldHRpbmcgYXJpYS1i
dXN5IHRvIHRydWUuCi0KLSNjbG9jayBpcyBidXN5OiB0cnVlCi0jY2xvY2stZGlzcGxheS1jb250
ZW50cyBpcyBidXN5OiB0cnVlCi0KLVNldHRpbmcgYXJpYS1idXN5IHRvIGZhbHNlLgotCi0jY2xv
Y2sgaXMgYnVzeTogZmFsc2UKLSNjbG9jay1kaXNwbGF5LWNvbnRlbnRzIGlzIGJ1c3k6IGZhbHNl
Ci0KLQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0y
OjMwcG0KLTQ6MzBwbQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2Fy
aWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2FyaWEtYnVzeS11cGRhdGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBjZjkxNjhkYjRhMS4uMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXIt
ZHluYW1pYy1jaGFuZ2UuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLTwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9hY2Nlc3NpYmlsaXR5LWhlbHBlci5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keT4KLQotPGRpdiBpZD0iY2xvY2siIHJvbGU9InRpbWVyIiBhcmlhLWxpdmU9
InBvbGl0ZSIgYXJpYS1hdG9taWM9InRydWUiPjI6MzBwbTwvZGl2PgotPGRpdiBpZD0iY2xvY2st
ZGlzcGxheS1jb250ZW50cyIgc3R5bGU9ImRpc3BsYXk6IGNvbnRlbnRzIiByb2xlPSJ0aW1lciIg
YXJpYS1saXZlPSJwb2xpdGUiIGFyaWEtYXRvbWljPSJ0cnVlIj40OjMwcG08L2Rpdj4KLQotPHNj
cmlwdD4KLSAgICB2YXIgdGVzdE91dHB1dCA9ICJUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IGFuIGVs
ZW1lbnQncyBidXN5IHN0YXRlIHVwZGF0ZXMgYXJpYS1idXN5IGNoYW5nZXMuXG5cbiI7Ci0KLSAg
ICB2YXIgYXhDbG9jaywgYXhDbG9ja1dpdGhEaXNwbGF5Q29udGVudHM7Ci0gICAgZnVuY3Rpb24g
dmVyaWZ5RWxlbWVudHMoKSB7Ci0gICAgICAgIHRlc3RPdXRwdXQgKz0gYCNjbG9jayBpcyBidXN5
OiAke2F4Q2xvY2suaXNCdXN5fVxuYDsKLSAgICAgICAgdGVzdE91dHB1dCArPSBgI2Nsb2NrLWRp
c3BsYXktY29udGVudHMgaXMgYnVzeTogJHtheENsb2NrV2l0aERpc3BsYXlDb250ZW50cy5pc0J1
c3l9XG5cbmA7Ci0gICAgfQotCi0gICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cikgewotICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci0gICAgICAgIGF4Q2xv
Y2sgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImNsb2Nr
Iik7Ci0gICAgICAgIGF4Q2xvY2tXaXRoRGlzcGxheUNvbnRlbnRzID0gYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJjbG9jay1kaXNwbGF5LWNvbnRlbnRzIik7
Ci0KLSAgICAgICAgdGVzdE91dHB1dCArPSAiVmVyaWZ5aW5nIGluaXRpYWwgYnVzeSBzdGF0ZTpc
blxuIjsKLSAgICAgICAgdmVyaWZ5RWxlbWVudHMoKTsKLQotICAgICAgICBjb25zdCBjbG9jayA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjbG9jayIpOwotICAgICAgICBjb25zdCBjbG9ja1dp
dGhEaXNwbGF5Q29udGVudHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2xvY2stZGlzcGxh
eS1jb250ZW50cyIpOwotCi0gICAgICAgIHRlc3RPdXRwdXQgKz0gIlNldHRpbmcgYXJpYS1idXN5
IHRvIHRydWUuXG5cbiI7Ci0gICAgICAgIGNsb2NrLmFyaWFCdXN5ID0gInRydWUiOwotICAgICAg
ICBjbG9ja1dpdGhEaXNwbGF5Q29udGVudHMuYXJpYUJ1c3kgPSAidHJ1ZSI7Ci0gICAgICAgIHNl
dFRpbWVvdXQoYXN5bmMgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBhd2FpdCB3YWl0Rm9yKCgp
ID0+IHsgcmV0dXJuIGF4Q2xvY2suaXNCdXN5ICYmIGF4Q2xvY2tXaXRoRGlzcGxheUNvbnRlbnRz
LmlzQnVzeSB9KTsKLSAgICAgICAgICAgIHZlcmlmeUVsZW1lbnRzKCk7Ci0KLSAgICAgICAgICAg
IHRlc3RPdXRwdXQgKz0gIlNldHRpbmcgYXJpYS1idXN5IHRvIGZhbHNlLlxuXG4iOwotICAgICAg
ICAgICAgY2xvY2suYXJpYUJ1c3kgPSAiZmFsc2UiOwotICAgICAgICAgICAgY2xvY2tXaXRoRGlz
cGxheUNvbnRlbnRzLmFyaWFCdXN5ID0gImZhbHNlIjsKLSAgICAgICAgICAgIGF3YWl0IHdhaXRG
b3IoKCkgPT4geyByZXR1cm4gIWF4Q2xvY2suaXNCdXN5ICYmICFheENsb2NrV2l0aERpc3BsYXlD
b250ZW50cy5pc0J1c3kgfSk7Ci0gICAgICAgICAgICB2ZXJpZnlFbGVtZW50cygpOwotCi0gICAg
ICAgICAgICBkZWJ1Zyh0ZXN0T3V0cHV0KTsKLSAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwot
ICAgICAgICB9LCAwKTsKLSAgICB9Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9saXZlLXJlZ2lvbi1hdHRyaWJ1dGVz
LXVwZGF0ZS1hZnRlci1keW5hbWljLWNoYW5nZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2xpdmUtcmVnaW9uLWF0dHJpYnV0ZXMtdXBkYXRlLWFmdGVyLWR5bmFtaWMt
Y2hhbmdlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAuLjdjZDkyZmRkODM3MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvbGl2ZS1yZWdpb24tYXR0cmlidXRlcy11cGRhdGUtYWZ0ZXItZHluYW1pYy1jaGFuZ2Ut
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDggQEAKK1RoaXMgdGVzdCBlbnN1cmVzIHRoYXQgYW4g
ZWxlbWVudCdzIGJ1c3kgc3RhdGUgdXBkYXRlcyBhcmlhLWJ1c3kgY2hhbmdlcy4KKworVmVyaWZ5
aW5nIGluaXRpYWwgc3RhdGVzOgorCisjY2xvY2sgaXMgYXRvbWljOiB0cnVlCisjY2xvY2stZGlz
cGxheS1jb250ZW50cyBpcyBhdG9taWM6IHRydWUKKworI2Nsb2NrIGlzIGJ1c3k6IGZhbHNlCisj
Y2xvY2stZGlzcGxheS1jb250ZW50cyBpcyBidXN5OiBmYWxzZQorCisjY2xvY2sgcmVsZXZhbnQ6
IGFkZGl0aW9ucyB0ZXh0CisjY2xvY2stZGlzcGxheS1jb250ZW50cyByZWxldmFudDogYWRkaXRp
b25zIHRleHQKKworI2Nsb2NrIGxpdmUgcmVnaW9uIHN0YXR1czogcG9saXRlCisjY2xvY2stZGlz
cGxheS1jb250ZW50cyBsaXZlIHJlZ2lvbiBzdGF0dXM6IHBvbGl0ZQorCitTZXR0aW5nIGFyaWEt
YnVzeSB0byB0cnVlLgorCisjY2xvY2sgaXMgYnVzeTogdHJ1ZQorI2Nsb2NrLWRpc3BsYXktY29u
dGVudHMgaXMgYnVzeTogdHJ1ZQorCitTZXR0aW5nIGFyaWEtYnVzeSB0byBmYWxzZS4KKworI2Ns
b2NrIGlzIGJ1c3k6IGZhbHNlCisjY2xvY2stZGlzcGxheS1jb250ZW50cyBpcyBidXN5OiBmYWxz
ZQorCitTZXR0aW5nIGFyaWEtYXRvbWljIHRvIGZhbHNlLgorCisjY2xvY2sgaXMgYXRvbWljOiBm
YWxzZQorI2Nsb2NrLWRpc3BsYXktY29udGVudHMgaXMgYXRvbWljOiBmYWxzZQorCitTZXR0aW5n
IGFyaWEtcmVsZXZhbnQgdG8gcmVtb3ZhbHMuCisKKyNjbG9jayByZWxldmFudDogcmVtb3ZhbHMK
KyNjbG9jay1kaXNwbGF5LWNvbnRlbnRzIHJlbGV2YW50OiByZW1vdmFscworCitTZXR0aW5nIGFy
aWEtbGl2ZSB0byBhc3NlcnRpdmUuCisKKyNjbG9jayBsaXZlIHJlZ2lvbiBzdGF0dXM6IGFzc2Vy
dGl2ZQorI2Nsb2NrLWRpc3BsYXktY29udGVudHMgbGl2ZSByZWdpb24gc3RhdHVzOiBhc3NlcnRp
dmUKKworCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KzI6MzBwbQorNDozMHBtCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
bGl2ZS1yZWdpb24tYXR0cmlidXRlcy11cGRhdGUtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbCBi
L0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbGl2ZS1yZWdpb24tYXR0cmlidXRlcy11cGRhdGUt
YWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAuLjZlZTNlMGM3ZWZiNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvbGl2ZS1yZWdpb24tYXR0cmlidXRlcy11cGRhdGUtYWZ0ZXItZHluYW1pYy1j
aGFuZ2UuaHRtbApAQCAtMCwwICsxLDg1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvYWNj
ZXNzaWJpbGl0eS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisKKzxkaXYg
aWQ9ImNsb2NrIiByb2xlPSJ0aW1lciIgYXJpYS1saXZlPSJwb2xpdGUiIGFyaWEtYXRvbWljPSJ0
cnVlIiBhcmlhLXJlbGV2YW50PSJhZGRpdGlvbnMgdGV4dCI+MjozMHBtPC9kaXY+Cis8ZGl2IGlk
PSJjbG9jay1kaXNwbGF5LWNvbnRlbnRzIiBzdHlsZT0iZGlzcGxheTogY29udGVudHMiIHJvbGU9
InRpbWVyIiBhcmlhLWxpdmU9InBvbGl0ZSIgYXJpYS1hdG9taWM9InRydWUiIGFyaWEtcmVsZXZh
bnQ9ImFkZGl0aW9ucyB0ZXh0Ij40OjMwcG08L2Rpdj4KKworPHNjcmlwdD4KKyAgICB2YXIgdGVz
dE91dHB1dCA9ICJUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IGFuIGVsZW1lbnQncyBidXN5IHN0YXRl
IHVwZGF0ZXMgYXJpYS1idXN5IGNoYW5nZXMuXG5cbiI7CisKKyAgICB2YXIgYXhDbG9jaywgYXhD
bG9ja1dpdGhEaXNwbGF5Q29udGVudHM7CisgICAgZnVuY3Rpb24gdmVyaWZ5SXNCdXN5KCkgewor
ICAgICAgICB0ZXN0T3V0cHV0ICs9IGAjY2xvY2sgaXMgYnVzeTogJHtheENsb2NrLmlzQnVzeX1c
bmA7CisgICAgICAgIHRlc3RPdXRwdXQgKz0gYCNjbG9jay1kaXNwbGF5LWNvbnRlbnRzIGlzIGJ1
c3k6ICR7YXhDbG9ja1dpdGhEaXNwbGF5Q29udGVudHMuaXNCdXN5fVxuXG5gOworICAgIH0KKyAg
ICBmdW5jdGlvbiB2ZXJpZnlJc0F0b21pYygpIHsKKyAgICAgICAgdGVzdE91dHB1dCArPSBgI2Ns
b2NrIGlzIGF0b21pYzogJHtheENsb2NrLmlzQXRvbWljTGl2ZVJlZ2lvbn1cbmA7CisgICAgICAg
IHRlc3RPdXRwdXQgKz0gYCNjbG9jay1kaXNwbGF5LWNvbnRlbnRzIGlzIGF0b21pYzogJHtheENs
b2NrV2l0aERpc3BsYXlDb250ZW50cy5pc0F0b21pY0xpdmVSZWdpb259XG5cbmA7CisgICAgfQor
ICAgIGZ1bmN0aW9uIHZlcmlmeUxpdmVSZWdpb25SZWxldmFudCgpIHsKKyAgICAgICAgdGVzdE91
dHB1dCArPSBgI2Nsb2NrIHJlbGV2YW50OiAke2F4Q2xvY2subGl2ZVJlZ2lvblJlbGV2YW50fVxu
YDsKKyAgICAgICAgdGVzdE91dHB1dCArPSBgI2Nsb2NrLWRpc3BsYXktY29udGVudHMgcmVsZXZh
bnQ6ICR7YXhDbG9ja1dpdGhEaXNwbGF5Q29udGVudHMubGl2ZVJlZ2lvblJlbGV2YW50fVxuXG5g
OworICAgIH0KKyAgICBmdW5jdGlvbiB2ZXJpZnlMaXZlUmVnaW9uU3RhdHVzKCkgeworICAgICAg
ICB0ZXN0T3V0cHV0ICs9IGAjY2xvY2sgbGl2ZSByZWdpb24gc3RhdHVzOiAke2F4Q2xvY2subGl2
ZVJlZ2lvblN0YXR1c31cbmA7CisgICAgICAgIHRlc3RPdXRwdXQgKz0gYCNjbG9jay1kaXNwbGF5
LWNvbnRlbnRzIGxpdmUgcmVnaW9uIHN0YXR1czogJHtheENsb2NrV2l0aERpc3BsYXlDb250ZW50
cy5saXZlUmVnaW9uU3RhdHVzfVxuXG5gOworICAgIH0KKworICAgIGlmICh3aW5kb3cuYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
OworICAgICAgICBheENsb2NrID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVs
ZW1lbnRCeUlkKCJjbG9jayIpOworICAgICAgICBheENsb2NrV2l0aERpc3BsYXlDb250ZW50cyA9
IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiY2xvY2stZGlz
cGxheS1jb250ZW50cyIpOworCisgICAgICAgIHRlc3RPdXRwdXQgKz0gIlZlcmlmeWluZyBpbml0
aWFsIHN0YXRlczpcblxuIjsKKyAgICAgICAgdmVyaWZ5SXNBdG9taWMoKTsKKyAgICAgICAgdmVy
aWZ5SXNCdXN5KCk7CisgICAgICAgIHZlcmlmeUxpdmVSZWdpb25SZWxldmFudCgpOworICAgICAg
ICB2ZXJpZnlMaXZlUmVnaW9uU3RhdHVzKCk7CisKKyAgICAgICAgY29uc3QgY2xvY2sgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY2xvY2siKTsKKyAgICAgICAgY29uc3QgY2xvY2tXaXRoRGlz
cGxheUNvbnRlbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNsb2NrLWRpc3BsYXktY29u
dGVudHMiKTsKKworICAgICAgICB0ZXN0T3V0cHV0ICs9ICJTZXR0aW5nIGFyaWEtYnVzeSB0byB0
cnVlLlxuXG4iOworICAgICAgICBjbG9jay5hcmlhQnVzeSA9ICJ0cnVlIjsKKyAgICAgICAgY2xv
Y2tXaXRoRGlzcGxheUNvbnRlbnRzLmFyaWFCdXN5ID0gInRydWUiOworICAgICAgICBzZXRUaW1l
b3V0KGFzeW5jIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiBh
eENsb2NrLmlzQnVzeSAmJiBheENsb2NrV2l0aERpc3BsYXlDb250ZW50cy5pc0J1c3kpOworICAg
ICAgICAgICAgdmVyaWZ5SXNCdXN5KCk7CisKKyAgICAgICAgICAgIHRlc3RPdXRwdXQgKz0gIlNl
dHRpbmcgYXJpYS1idXN5IHRvIGZhbHNlLlxuXG4iOworICAgICAgICAgICAgY2xvY2suYXJpYUJ1
c3kgPSAiZmFsc2UiOworICAgICAgICAgICAgY2xvY2tXaXRoRGlzcGxheUNvbnRlbnRzLmFyaWFC
dXN5ID0gImZhbHNlIjsKKyAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4gIWF4Q2xvY2su
aXNCdXN5ICYmICFheENsb2NrV2l0aERpc3BsYXlDb250ZW50cy5pc0J1c3kpOworICAgICAgICAg
ICAgdmVyaWZ5SXNCdXN5KCk7CisKKyAgICAgICAgICAgIHRlc3RPdXRwdXQgKz0gIlNldHRpbmcg
YXJpYS1hdG9taWMgdG8gZmFsc2UuXG5cbiI7CisgICAgICAgICAgICBjbG9jay5hcmlhQXRvbWlj
ID0gImZhbHNlIjsKKyAgICAgICAgICAgIGNsb2NrV2l0aERpc3BsYXlDb250ZW50cy5hcmlhQXRv
bWljID0gImZhbHNlIjsKKyAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4gIWF4Q2xvY2su
aXNBdG9taWNMaXZlUmVnaW9uICYmICFheENsb2NrV2l0aERpc3BsYXlDb250ZW50cy5pc0F0b21p
Y0xpdmVSZWdpb24pOworICAgICAgICAgICAgdmVyaWZ5SXNBdG9taWMoKTsKKworICAgICAgICAg
ICAgdGVzdE91dHB1dCArPSAiU2V0dGluZyBhcmlhLXJlbGV2YW50IHRvIHJlbW92YWxzLlxuXG4i
OworICAgICAgICAgICAgY2xvY2suYXJpYVJlbGV2YW50ID0gInJlbW92YWxzIjsKKyAgICAgICAg
ICAgIGNsb2NrV2l0aERpc3BsYXlDb250ZW50cy5hcmlhUmVsZXZhbnQgPSAicmVtb3ZhbHMiOwor
ICAgICAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9PiBheENsb2NrLmxpdmVSZWdpb25SZWxldmFu
dC5pbmNsdWRlcygicmVtb3ZhbHMiKSAmJiBheENsb2NrV2l0aERpc3BsYXlDb250ZW50cy5saXZl
UmVnaW9uUmVsZXZhbnQuaW5jbHVkZXMoInJlbW92YWxzIikpOworICAgICAgICAgICAgdmVyaWZ5
TGl2ZVJlZ2lvblJlbGV2YW50KCk7CisKKyAgICAgICAgICAgIHRlc3RPdXRwdXQgKz0gIlNldHRp
bmcgYXJpYS1saXZlIHRvIGFzc2VydGl2ZS5cblxuIjsKKyAgICAgICAgICAgIGNsb2NrLmFyaWFM
aXZlID0gImFzc2VydGl2ZSI7CisgICAgICAgICAgICBjbG9ja1dpdGhEaXNwbGF5Q29udGVudHMu
YXJpYUxpdmUgPSAiYXNzZXJ0aXZlIjsKKyAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4g
YXhDbG9jay5saXZlUmVnaW9uU3RhdHVzLmluY2x1ZGVzKCJhc3NlcnRpdmUiKSAmJiBheENsb2Nr
V2l0aERpc3BsYXlDb250ZW50cy5saXZlUmVnaW9uU3RhdHVzLmluY2x1ZGVzKCJhc3NlcnRpdmUi
KSk7CisgICAgICAgICAgICB2ZXJpZnlMaXZlUmVnaW9uU3RhdHVzKCk7CisKKyAgICAgICAgICAg
IGRlYnVnKHRlc3RPdXRwdXQpOworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAg
IH0sIDApOworICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggODQ2OWNjYWExMzcwLi42ZTVi
MzdiNTQ4M2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTM0NCw4ICszNDQsOCBAQCBhY2Nlc3NpYmlsaXR5L2FuY2VzdG9yLWNvbXB1dGF0aW9uLmh0
bWwgWyBTa2lwIF0KICMgTmVlZCB0byBpbXBsZW1lbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
ZG9tSWRlbnRpZmllcigpIGZvciB0aGlzIHRlc3QgdG8gcGFzcyBhZnRlciB3ZWJraXQub3JnL2Iv
MjM0MTk4LgogYWNjZXNzaWJpbGl0eS9mb2N1c2FibGUtZGl2Lmh0bWwgWyBTa2lwIF0KIAotIyBN
aXNzaW5nIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQnVzeSBpbXBsZW1lbnRhdGlvbi4KLWFj
Y2Vzc2liaWxpdHkvYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbCBb
IFNraXAgXQorIyBNaXNzaW5nIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Ontpc0J1c3ksIGlzQXRv
bWljTGl2ZVJlZ2lvbiwgbGl2ZVJlZ2lvblN0YXR1cywgbGl2ZVJlZ2lvblJlbGV2YW50fSBpbXBs
ZW1lbnRhdGlvbnMuCithY2Nlc3NpYmlsaXR5L2xpdmUtcmVnaW9uLWF0dHJpYnV0ZXMtdXBkYXRl
LWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwgWyBTa2lwIF0KIAogIyBUaW1pbmcgb3V0IHNpbmNl
IGl0IHdhcyBhZGRlZCBpbiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjM5NDM0LgogYWNjZXNzaWJpbGl0eS90ZXh0LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2Uu
aHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RF
eHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucwpp
bmRleCA2YjA5OTczMDEyMzMuLjIxY2EzMTgwOWRhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTIxMTUsNyArMjExNSw2IEBAIHdlYmtpdC5vcmcvYi8x
NDg4MDYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLW11bHRpY29sL211
bHRpY29sLXNwCiBmYXN0L2RvbS9saW5raWZ5LXBob25lLW51bWJlcnMuaHRtbCBbIFBhc3MgXQog
CiBhY2Nlc3NpYmlsaXR5L3RhYmxlLWV4cG9zdXJlLXVwZGF0ZXMtZHluYW1pY2FsbHkuaHRtbCBb
IFBhc3MgXQotYWNjZXNzaWJpbGl0eS9hcmlhLWJ1c3ktdXBkYXRlcy1hZnRlci1keW5hbWljLWNo
YW5nZS5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L2FyaWEtZGVzY3JpYmVkYnktb24taW5w
dXQuaHRtbCBbIFBhc3MgXQogYWNjZXNzaWJpbGl0eS9hcmlhLWhpZGRlbi1kaXNwbGF5LWNvbnRl
bnRzLWVsZW1lbnQuaHRtbCBbIFBhc3MgXQogYWNjZXNzaWJpbGl0eS9hcmlhLW11bHRpbGluZS5o
dG1sIFsgUGFzcyBdCkBAIC0yMTI2LDYgKzIxMjUsNyBAQCBhY2Nlc3NpYmlsaXR5L2Rpc3BsYXkt
Y29udGVudHMtZWxlbWVudC1yb2xlcy5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L2VsZW1l
bnQtaGFzcG9wdXAuaHRtbCBbIFBhc3MgXQogYWNjZXNzaWJpbGl0eS9oZWFkaW5nLWxldmVsLmh0
bWwgWyBQYXNzIF0KIGFjY2Vzc2liaWxpdHkvbGlzdC13aXRoLWR5bmFtaWNhbGx5LWNoYW5naW5n
LWNvbnRlbnQuaHRtbCBbIFBhc3MgXQorYWNjZXNzaWJpbGl0eS9saXZlLXJlZ2lvbi1hdHRyaWJ1
dGVzLXVwZGF0ZS1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmls
aXR5L25vZGUtb25seS1pbmVydC1vYmplY3QuaHRtbCBbIFBhc3MgXQogYWNjZXNzaWJpbGl0eS9u
b2RlLW9ubHktb2JqZWN0LWVsZW1lbnQtcmVjdC5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5
L3RleHQtdXBkYXRlcy1hZnRlci1keW5hbWljLWNoYW5nZS5odG1sIFsgUGFzcyBdCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDhjM2FjNTcwZGFhZC4uNTJl
YTk2ZDdkNWY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpA
QCAtNTAxLDggKzUwMSw4IEBAIGFjY2Vzc2liaWxpdHkvaWdub3JlLW1vZGFscy13aXRob3V0LWFu
eS1jb250ZW50Lmh0bWwgWyBTa2lwIF0KIGFjY2Vzc2liaWxpdHkvYXJpYS1yZWFkb25seS11cGRh
dGVzLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwgWyBTa2lwIF0KICMgTWlzc2luZyBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojppc1JlcXVpcmVkIGltcGxlbWVudGF0aW9uLgogYWNjZXNzaWJpbGl0
eS9hcmlhLXJlcXVpcmVkLXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2UuaHRtbCBbIFNraXAg
XQotIyBNaXNzaW5nIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQnVzeSBpbXBsZW1lbnRhdGlv
bi4KLWFjY2Vzc2liaWxpdHkvYXJpYS1idXN5LXVwZGF0ZXMtYWZ0ZXItZHluYW1pYy1jaGFuZ2Uu
aHRtbCBbIFNraXAgXQorIyBNaXNzaW5nIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Ontpc0J1c3ks
IGlzQXRvbWljTGl2ZVJlZ2lvbiwgbGl2ZVJlZ2lvblN0YXR1cywgbGl2ZVJlZ2lvblJlbGV2YW50
fSBpbXBsZW1lbnRhdGlvbnMuCithY2Nlc3NpYmlsaXR5L2xpdmUtcmVnaW9uLWF0dHJpYnV0ZXMt
dXBkYXRlLWFmdGVyLWR5bmFtaWMtY2hhbmdlLmh0bWwgWyBTa2lwIF0KIAogIyBUT0RPIENvbmlj
IGdyYWRpZW50cwogaHR0cC93cHQvY3NzL2Nzcy1pbWFnZXMtNC9jb25pYy1ncmFkaWVudC1wYXJz
aW5nLmh0bWwgWyBTa2lwIF0KLS0gCjIuMzUuMQoK
</data>

          </attachment>
      

    </bug>

</bugzilla>