<?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>237051</bug_id>
          
          <creation_ts>2022-02-22 13:08:37 -0800</creation_ts>
          <short_desc>Make accessibility/aria-hidden-false-works-in-subtrees.html async to pass in isolated tree mode.</short_desc>
          <delta_ts>2022-03-01 13:45:47 -0800</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="Andres Gonzalez">andresg_22</reporter>
          <assigned_to name="Andres Gonzalez">andresg_22</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>tyler_w</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1844842</commentid>
    <comment_count>0</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-02-22 13:08:37 -0800</bug_when>
    <thetext>Make accessibility/aria-hidden-false-works-in-subtrees.html async to pass in isolated tree mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844843</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-22 13:08:51 -0800</bug_when>
    <thetext>&lt;rdar://problem/89312156&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844849</commentid>
    <comment_count>2</comment_count>
      <attachid>452898</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-02-22 13:15:32 -0800</bug_when>
    <thetext>Created attachment 452898
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844913</commentid>
    <comment_count>3</comment_count>
      <attachid>452898</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-02-22 15:49:18 -0800</bug_when>
    <thetext>Comment on attachment 452898
Patch

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

&gt; Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:117
&gt; +    NSString *attributeName = [NSString stringWithJSStringRef:idAttribute];

&gt; Convert the JSString to NSString on the main thread and capture the NSString to be used on the AX secondary thread.
Why is it better to do it this way?

&gt; LayoutTests/accessibility/aria-hidden-false-works-in-subtrees.html:98
&gt; +        setTimeout(async () =&gt; {

Does this entire block need to be wrapped in async in order for the test to pass? It seems like this portion is testing static content, right?

Though maybe there&apos;s enough static content such that this part of the test does need to be async. What do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844919</commentid>
    <comment_count>4</comment_count>
      <attachid>452912</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-02-22 16:19:36 -0800</bug_when>
    <thetext>Created attachment 452912
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844924</commentid>
    <comment_count>5</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-02-22 16:33:39 -0800</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #3)
&gt; Comment on attachment 452898 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=452898&amp;action=review
&gt; 
&gt; &gt; Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:117
&gt; &gt; +    NSString *attributeName = [NSString stringWithJSStringRef:idAttribute];
&gt; 
&gt; &gt; Convert the JSString to NSString on the main thread and capture the NSString to be used on the AX secondary thread.
&gt; Why is it better to do it this way?

I believe JSStringRefs are conceived to be used on the main thread, so I think it may be safer to convert it to NSString on the main thread and then use the NSString off the main thread. Somebody with deeper knowledge of JSStringRef may say that they are just as good off the main thread as NSStrings, in which case this is a mute point, but I feel more comfortable doing it this way without knowing more intimately the threading behavior of JSStringRefs. Hopefully Darin Adler or somebody else may shed more light here.

&gt; 
&gt; &gt; LayoutTests/accessibility/aria-hidden-false-works-in-subtrees.html:98
&gt; &gt; +        setTimeout(async () =&gt; {
&gt; 
&gt; Does this entire block need to be wrapped in async in order for the test to
&gt; pass? It seems like this portion is testing static content, right?
&gt; 
&gt; Though maybe there&apos;s enough static content such that this part of the test
&gt; does need to be async. What do you think?

It is necessary to have the whole thing async because that&apos;s the only way we keep the order in the outputs. In other words, to keep the same sequence of outputs between the main body and the unload function, they both need to be sync or async, but as soon as any part of them doesn&apos;t match the rest, then the outputs get intermingled. I think setTimeout dispatches to some other queue or thread, and if you don&apos;t queue everything that produces an output into the expected.txt in that same queue, the order of the output is undefined.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844927</commentid>
    <comment_count>6</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-02-22 16:40:31 -0800</bug_when>
    <thetext>(In reply to Andres Gonzalez from comment #5)
&gt; (In reply to Tyler Wilcock from comment #3)
&gt; &gt; Comment on attachment 452898 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=452898&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:117
&gt; &gt; &gt; +    NSString *attributeName = [NSString stringWithJSStringRef:idAttribute];
&gt; &gt; 
&gt; &gt; &gt; Convert the JSString to NSString on the main thread and capture the NSString to be used on the AX secondary thread.
&gt; &gt; Why is it better to do it this way?
&gt; 
&gt; I believe JSStringRefs are conceived to be used on the main thread, so I
&gt; think it may be safer to convert it to NSString on the main thread and then
&gt; use the NSString off the main thread. Somebody with deeper knowledge of
&gt; JSStringRef may say that they are just as good off the main thread as
&gt; NSStrings, in which case this is a mute point, but I feel more comfortable
&gt; doing it this way without knowing more intimately the threading behavior of
&gt; JSStringRefs. Hopefully Darin Adler or somebody else may shed more light
&gt; here.
&gt; 
&gt; &gt; 
&gt; &gt; &gt; LayoutTests/accessibility/aria-hidden-false-works-in-subtrees.html:98
&gt; &gt; &gt; +        setTimeout(async () =&gt; {
&gt; &gt; 
&gt; &gt; Does this entire block need to be wrapped in async in order for the test to
&gt; &gt; pass? It seems like this portion is testing static content, right?
&gt; &gt; 
&gt; &gt; Though maybe there&apos;s enough static content such that this part of the test
&gt; &gt; does need to be async. What do you think?
&gt; 
&gt; It is necessary to have the whole thing async because that&apos;s the only way we
&gt; keep the order in the outputs. In other words, to keep the same sequence of
&gt; outputs between the main body and the unload function, they both need to be
&gt; sync or async, but as soon as any part of them doesn&apos;t match the rest, then
&gt; the outputs get intermingled. I think setTimeout dispatches to some other
&gt; queue or thread, and if you don&apos;t queue everything that produces an output
&gt; into the expected.txt in that same queue, the order of the output is
&gt; undefined.

Meant &quot;onload function&quot;, not &quot;unload function&quot;, spell checker playing tricks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844937</commentid>
    <comment_count>7</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-02-22 16:50:04 -0800</bug_when>
    <thetext>(In reply to Andres Gonzalez from comment #5)
&gt; (In reply to Tyler Wilcock from comment #3)
&gt; &gt; Comment on attachment 452898 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=452898&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:117
&gt; &gt; &gt; +    NSString *attributeName = [NSString stringWithJSStringRef:idAttribute];
&gt; &gt; 
&gt; &gt; &gt; Convert the JSString to NSString on the main thread and capture the NSString to be used on the AX secondary thread.
&gt; &gt; Why is it better to do it this way?
&gt; 
&gt; I believe JSStringRefs are conceived to be used on the main thread, so I
&gt; think it may be safer to convert it to NSString on the main thread and then
&gt; use the NSString off the main thread. Somebody with deeper knowledge of
&gt; JSStringRef may say that they are just as good off the main thread as
&gt; NSStrings, in which case this is a mute point, but I feel more comfortable
&gt; doing it this way without knowing more intimately the threading behavior of
&gt; JSStringRefs. Hopefully Darin Adler or somebody else may shed more light
&gt; here.
&gt; 
&gt; &gt; 
&gt; &gt; &gt; LayoutTests/accessibility/aria-hidden-false-works-in-subtrees.html:98
&gt; &gt; &gt; +        setTimeout(async () =&gt; {
&gt; &gt; 
&gt; &gt; Does this entire block need to be wrapped in async in order for the test to
&gt; &gt; pass? It seems like this portion is testing static content, right?
&gt; &gt; 
&gt; &gt; Though maybe there&apos;s enough static content such that this part of the test
&gt; &gt; does need to be async. What do you think?
&gt; 
&gt; It is necessary to have the whole thing async because that&apos;s the only way we
&gt; keep the order in the outputs. In other words, to keep the same sequence of
&gt; outputs between the main body and the unload function, they both need to be
&gt; sync or async, but as soon as any part of them doesn&apos;t match the rest, then
&gt; the outputs get intermingled. I think setTimeout dispatches to some other
&gt; queue or thread, and if you don&apos;t queue everything that produces an output
&gt; into the expected.txt in that same queue, the order of the output is
&gt; undefined.
Thanks for the explanation!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1846856</commentid>
    <comment_count>8</comment_count>
      <attachid>453454</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-02-28 17:51:48 -0800</bug_when>
    <thetext>Created attachment 453454
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847176</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-01 13:45:42 -0800</bug_when>
    <thetext>Committed r290673 (247944@main): &lt;https://commits.webkit.org/247944@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 453454.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452898</attachid>
            <date>2022-02-22 13:15:32 -0800</date>
            <delta_ts>2022-02-22 16:19:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237051-20220222161530.patch</filename>
            <type>text/plain</type>
            <size>11189</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMzA4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNGRmNTZiYWQzZTVlYWQxMmY3ZGM5YjVkMTI0NDk3MDc3
Nzk3NDg3MS4uNDgxZWFiZTI1MTUyN2UzODRhYmJmNGUwYTVlMjU5Mjk5OTFjMDU2ZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDIyLTAyLTIyICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4K
KworICAgICAgICBNYWtlIGFjY2Vzc2liaWxpdHkvYXJpYS1oaWRkZW4tZmFsc2Utd29ya3MtaW4t
c3VidHJlZXMuaHRtbCBhc3luYyB0byBwYXNzIGluIGlzb2xhdGVkIHRyZWUgbW9kZS4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzA1MQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vODkzMTIxNTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21h
Yy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXI6OmFjY2Vzc2libGVFbGVtZW50QnlJZCk6CisgICAgICAgIENvbnZlcnQg
dGhlIEpTU3RyaW5nIHRvIE5TU3RyaW5nIG9uIHRoZSBtYWluIHRocmVhZCBhbmQgY2FwdHVyZSB0
aGUKKyAgICAgICAgTlNTdHJpbmcgdG8gYmUgdXNlZCBvbiB0aGUgQVggc2Vjb25kYXJ5IHRocmVh
ZC4KKwogMjAyMi0wMi0yMiAgQW5nZWxvcyBPaWtvbm9tb3BvdWxvcyAgPGFuZ2Vsb3NAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbSlNDXSBHdWFyZCBhZ2FpbnN0IGRlYWQgcmVtb3RlcyBpbiBudW1i
ZXJPZlByb2Nlc3NvcnMKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyTWFjLm1tIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJNYWMu
bW0KaW5kZXggMDNlN2ZlMTRjODA2YjgwZGI1YWQ4ZjVmM2E5NDdlNTY2OTQzYTYzYi4uNzhjNjlk
MTU1NDA2ZmZlNDMzOGJlZDJiYjc4NTAxNTcwODczMGQ0YSAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJN
YWMubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXJNYWMubW0KQEAgLTExNCw5ICsxMTQsMTAgQEAgUmVmUHRyPEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjphY2Nlc3NpYmxl
RWxlbWVudEJ5SWQoSlMKICAgICBhdXRvIHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9u
KCkucGFnZSgpLT5wYWdlKCk7CiAgICAgUGxhdGZvcm1VSUVsZW1lbnQgcm9vdCA9IHN0YXRpY19j
YXN0PFBsYXRmb3JtVUlFbGVtZW50PihXS0FjY2Vzc2liaWxpdHlSb290T2JqZWN0KHBhZ2UpKTsK
IAorICAgIE5TU3RyaW5nICphdHRyaWJ1dGVOYW1lID0gW05TU3RyaW5nIHN0cmluZ1dpdGhKU1N0
cmluZ1JlZjppZEF0dHJpYnV0ZV07CiAgICAgUmV0YWluUHRyPGlkPiByZXN1bHQ7Ci0gICAgZXhl
Y3V0ZU9uQVhUaHJlYWRBbmRXYWl0KFsmcm9vdCwgJmlkQXR0cmlidXRlLCAmcmVzdWx0XSB7Ci0g
ICAgICAgIHJlc3VsdCA9IGZpbmRBY2Nlc3NpYmxlT2JqZWN0QnlJZChyb290LCBbTlNTdHJpbmcg
c3RyaW5nV2l0aEpTU3RyaW5nUmVmOmlkQXR0cmlidXRlXSk7CisgICAgZXhlY3V0ZU9uQVhUaHJl
YWRBbmRXYWl0KFsmcm9vdCwgJmF0dHJpYnV0ZU5hbWUsICZyZXN1bHRdIHsKKyAgICAgICAgcmVz
dWx0ID0gZmluZEFjY2Vzc2libGVPYmplY3RCeUlkKHJvb3QsIGF0dHJpYnV0ZU5hbWUpOwogICAg
IH0pOwogCiAgICAgaWYgKHJlc3VsdCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzNTRlYzQ5NTFlNDY4NWIyYzkzZDc5ZmU5
MzM4YjkwMDcxNmNiMmQ4Li5mZTMxMmMxYzE2NGM1ZmNjYTQ2MzE5NWUwNmU2OTA0ZmZhNGE5NTUz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjItMDItMjIgIEFuZHJlcyBHb256YWxleiAgPGFu
ZHJlc2dfMjJAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgYWNjZXNzaWJpbGl0eS9hcmlhLWhp
ZGRlbi1mYWxzZS13b3Jrcy1pbi1zdWJ0cmVlcy5odG1sIGFzeW5jIHRvIHBhc3MgaW4gaXNvbGF0
ZWQgdHJlZSBtb2RlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjM3MDUxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84OTMxMjE1Nj4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkv
YXJpYS1oaWRkZW4tZmFsc2Utd29ya3MtaW4tc3VidHJlZXMuaHRtbDoKKyAgICAgICAgTWFkZSBi
b3RoIHRoZSBtYWluIHNjcmlwdCBhbmQgdGhlIGlmcmFtZSBvbmxvYWQgZnVuY3Rpb24gYXN5bmMg
dG8gcGFzcworICAgICAgICBpbiBpc29sYXRlZCB0cmVlIG1vZGUuCisKIDIwMjItMDItMjIgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHAvd3B0L21lZGlh
cmVjb3JkZXIvbXV0ZS10cmFja3MuaHRtbCBmYWlscyB3aXRoIFdlYlJUQ1JlbW90ZVZpZGVvRnJh
bWVFbmFibGVkPXRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJp
YS1oaWRkZW4tZmFsc2Utd29ya3MtaW4tc3VidHJlZXMuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvYXJpYS1oaWRkZW4tZmFsc2Utd29ya3MtaW4tc3VidHJlZXMuaHRtbAppbmRleCAw
YTQ1YmRhNDE0ZTI5YjU4YWRkYTcyZmNlOTMzOWUyNDliM2E5N2U5Li4zMzE1MDNiNWQwZWU4NWY0
MGFjZTE1NzgwNzFkZTE4OGFlN2Q0YTI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L2FyaWEtaGlkZGVuLWZhbHNlLXdvcmtzLWluLXN1YnRyZWVzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9hcmlhLWhpZGRlbi1mYWxzZS13b3Jrcy1pbi1zdWJ0cmVl
cy5odG1sCkBAIC0xLDEyICsxLDEyIEBACiA8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+CiA8aHRtbD4KIDxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pz
LXRlc3QuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9hY2Nlc3NpYmls
aXR5LWhlbHBlci5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+Ci08Ym9keSBpZD0iYm9keSI+Cis8Ym9k
eT4KIAotPGRpdiBpZD0iY29udGVudCI+Cis8ZGl2IGlkPSJjb250ZW50IiByb2xlPSJncm91cCI+
CiAKIDxkaXYgaGlkZGVuIGFyaWEtaGlkZGVuPSJmYWxzZSIgYXJpYS1sYWJlbD0iZ3JvdXAwIj4K
ICAgIDxkaXYgYXJpYS1oaWRkZW49InRydWUiIGFyaWEtbGFiZWw9Imdyb3VwMSI+CkBAIC01OSwy
NCArNTksMjQgQEAgdGV4dDMKIAogPC9kaXY+CiAKLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgot
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KIDxzY3JpcHQ+CiAgICAgZGVzY3JpcHRpb24oIlRo
aXMgdGVzdHMgdGhhdCBhIHN1Yi10cmVlIHdpdGhpbiBhIG5vZGUgbWFya2VkIHdpdGggYXJpYS1o
aWRkZW49ZmFsc2Ugd2lsbCBiZSBleHBvc2VkIGluIHRoZSBBWCB0cmVlLiIpOwogCi0gICAgdmFy
IGlmcmFtZUNoaWxkOwogICAgIGZ1bmN0aW9uIHRlc3RpRnJhbWVDb250ZW50KCkgewotICAgICAg
ICAvLyBUZXN0IHRoYXQgYXJpYS1oaWRkZW49ZmFsc2UgZG9lcyBOT1QgZXhwb3NlIGlmcmFtZSBm
YWxsYmFjayB0ZXh0LgotICAgICAgICB2YXIgaWZyYW1lID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJpZnJhbWUiKS5jaGlsZEF0SW5kZXgoMCkuY2hpbGRB
dEluZGV4KDApOwotCi0gICAgICAgIGRlYnVnKCJOb24tcmVuZGVyZWQgaWZyYW1lIGNvbnRlbnQg
c2hvdWxkIG5vdCBiZSB2aXNpYmxlIHdoZW4gYXJpYS1oaWRkZW49dHJ1ZS4gVGhlIGZpcnN0IGNo
aWxkIHNob3VsZCBiZSBhIGdyb3VwIGFuZCBOT1Qgc3RhdGljIHRleHQuIik7Ci0gICAgICAgIGlm
cmFtZUNoaWxkID0gaWZyYW1lLmNoaWxkQXRJbmRleCgwKTsKLSAgICAgICAgZGVidWcoImlGcmFt
ZSBjaGlsZCByb2xlOiAiICsgaWZyYW1lQ2hpbGQucm9sZSk7Ci0KLSAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRlbnQiKS5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7Ci0K
LSAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4g
eworICAgICAgICAgICAgLy8gVGVzdCB0aGF0IGFyaWEtaGlkZGVuPWZhbHNlIGRvZXMgTk9UIGV4
cG9zZSBpZnJhbWUgZmFsbGJhY2sgdGV4dC4KKyAgICAgICAgICAgIGxldCBpZnJhbWUgPSBhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImlmcmFtZSIpLmNoaWxk
QXRJbmRleCgwKS5jaGlsZEF0SW5kZXgoMCk7CisKKyAgICAgICAgICAgIGRlYnVnKCJOb24tcmVu
ZGVyZWQgaWZyYW1lIGNvbnRlbnQgc2hvdWxkIG5vdCBiZSB2aXNpYmxlIHdoZW4gYXJpYS1oaWRk
ZW49dHJ1ZS4gVGhlIGZpcnN0IGNoaWxkIHNob3VsZCBiZSBhIGdyb3VwIGFuZCBOT1Qgc3RhdGlj
IHRleHQuIik7CisgICAgICAgICAgICBsZXQgaWZyYW1lQ2hpbGQgPSBudWxsOworICAgICAgICAg
ICAgYXdhaXQgd2FpdEZvcigoKSA9PiB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGlmcmFtZUNo
aWxkID0gaWZyYW1lLmNoaWxkQXRJbmRleCgwKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgZGVidWcoImlGcmFtZSBjaGlsZCByb2xlOiAiICsgaWZyYW1lQ2hpbGQucm9sZSk7CisKKyAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250ZW50Iikuc3R5bGUudmlzaWJp
bGl0eSA9ICJoaWRkZW4iOworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0s
IDApOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIGR1bXBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW4oZWxl
bWVudCwgbGV2ZWwpIHsKQEAgLTkxLDYzICs5MSw2MiBAQCB0ZXh0MwogICAgICAgICAgICAgZHVt
cEFjY2Vzc2liaWxpdHlDaGlsZHJlbihlbGVtZW50LmNoaWxkQXRJbmRleChrKSwgbGV2ZWwrMSk7
CiAgICAgICAgIH0KICAgICB9Ci0gCisKICAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250
cm9sbGVyKSB7CiAgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotICAgICAg
ICB2YXIgcm9vdCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLnJvb3RFbGVtZW50LmNoaWxkQXRJ
bmRleCgwKS5jaGlsZEF0SW5kZXgoMCk7IAotICAgICAgICBkdW1wQWNjZXNzaWJpbGl0eUNoaWxk
cmVuKHJvb3QsIDApOwotCi0gICAgICAgIC8vIFRleHQgaW5zaWRlIGFyaWEtaGlkZGVuPWZhbHNl
IGluaGVyaXRzIGZyb20gcGFyZW50LgotICAgICAgICB2YXIgb2JqZWN0OwotICAgICAgICBpZiAo
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucGxhdGZvcm1OYW1lID09ICJhdHNwaSIpIHsKLSAgICAg
ICAgICAgIG9iamVjdCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50
QnlJZCgiZ3JvdXAzIik7Ci0gICAgICAgICAgICBzaG91bGRCZSgib2JqZWN0LnJvbGUiLCAiJ0FY
Um9sZTogQVhTZWN0aW9uJyIpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgb2JqZWN0
ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJncm91cDMi
KS5jaGlsZEF0SW5kZXgoMCk7Ci0gICAgICAgICAgICBzaG91bGRCZSgib2JqZWN0LnJvbGUiLCAi
J0FYUm9sZTogQVhTdGF0aWNUZXh0JyIpOwotICAgICAgICB9Ci0gICAgICAgIHZhciBzdHJpbmdW
YWx1ZSA9IG9iamVjdC5zdHJpbmdWYWx1ZS5yZXBsYWNlKC9cbi9nLCAnJyk7Ci0gICAgICAgIHNo
b3VsZEJlKCJzdHJpbmdWYWx1ZSIsICInQVhWYWx1ZTogdGV4dDMnIik7Ci0KLSAgICAgICAgLy8g
VGV4dCBpbnNpZGUgbmVzdGVkIGFyaWEtaGlkZGVuPWZhbHNlIGluaGVyaXRzIGZyb20gcGFyZW50
LgotICAgICAgICBpZiAoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucGxhdGZvcm1OYW1lID09ICJh
dHNwaSIpIHsKLSAgICAgICAgICAgIG9iamVjdCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFj
Y2Vzc2libGVFbGVtZW50QnlJZCgiZ3JvdXA0IikuY2hpbGRBdEluZGV4KDApOwotICAgICAgICAg
ICAgc2hvdWxkQmUoIm9iamVjdC5yb2xlIiwgIidBWFJvbGU6IEFYR3JvdXAnIik7Ci0gICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICBvYmplY3QgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5h
Y2Nlc3NpYmxlRWxlbWVudEJ5SWQoImdyb3VwNCIpLmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5k
ZXgoMCk7Ci0gICAgICAgICAgICBzaG91bGRCZSgib2JqZWN0LnJvbGUiLCAiJ0FYUm9sZTogQVhT
dGF0aWNUZXh0JyIpOwotICAgICAgICB9Ci0gICAgICAgIHN0cmluZ1ZhbHVlID0gb2JqZWN0LnN0
cmluZ1ZhbHVlLnJlcGxhY2UoL1xuL2csICcnKTsKLSAgICAgICAgaWYgKGFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLnBsYXRmb3JtTmFtZSA9PSAiYXRzcGkiKQotICAgICAgICAgICAgc2hvdWxkQmUo
InN0cmluZ1ZhbHVlIiwgIidBWFZhbHVlOiB0ZXh0NCciKTsKLSAgICAgICAgZWxzZQotICAgICAg
ICAgICAgc2hvdWxkQmUoInN0cmluZ1ZhbHVlIiwgIidBWFZhbHVlOiAgICAgdGV4dDQgICciKTsK
LQotICAgICAgICAvLyBXaGVuIG5vdCBhbGwgdGhlIHBhcmVudHMgaGF2ZSBhcmlhLWhpZGRlbj1m
YWxzZSwgZWxlbWVudCBzaG91bGQgbm90IGJlIHZpc2libGUuCi0gICAgICAgIG9iamVjdCA9IGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiZ3JvdXA1IikuY2hp
bGRBdEluZGV4KDApOwotICAgICAgICBzaG91bGRCZVRydWUoIiFvYmplY3QgfHwgIW9iamVjdC5p
c1ZhbGlkIik7Ci0KLSAgICAgICAgLy8gT2JqZWN0cyB0aGF0IGRvbid0IGhhdmUgYXJpYS1oaWRk
ZW49ZmFsc2UgYXJlIG5vdCB2aXNpYmxlIHdoZW4gdGhlIHBhcmVudHMgaGF2ZSB0aGF0IGF0dHJp
YnV0ZS4KLSAgICAgICAgb2JqZWN0ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJs
ZUVsZW1lbnRCeUlkKCJncm91cDYiKS5jaGlsZEF0SW5kZXgoMCk7Ci0gICAgICAgIGlmIChhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5wbGF0Zm9ybU5hbWUgPT0gImF0c3BpIikKLSAgICAgICAgICAg
IHNob3VsZEJlKCJvYmplY3Qucm9sZSIsICInQVhSb2xlOiBBWFNlY3Rpb24nIik7Ci0gICAgICAg
IGVsc2UKLSAgICAgICAgICAgIHNob3VsZEJlKCJvYmplY3Qucm9sZSIsICInQVhSb2xlOiBBWEdy
b3VwJyIpOwotICAgICAgICBzaG91bGRCZSgib2JqZWN0LmNoaWxkcmVuQ291bnQiLCAiMCIpOwot
Ci0gICAgICAgIC8vIFdoZW4gYWxsIG9iamVjdHMgaGF2ZSBhcmlhLWhpZGRlbj1mYWxzZSwgdGhl
biB0aGUgZWxlbWVudHMgYXJlIHZpc2libGUuCi0gICAgICAgIG9iamVjdCA9IGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiZ3JvdXA3IikuY2hpbGRBdEluZGV4
KDApOwotICAgICAgICBpZiAoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucGxhdGZvcm1OYW1lID09
ICJhdHNwaSIpCi0gICAgICAgICAgICBzaG91bGRCZSgib2JqZWN0LnJvbGUiLCAiJ0FYUm9sZTog
QVhTZWN0aW9uJyIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBzaG91bGRCZSgib2JqZWN0
LnJvbGUiLCAiJ0FYUm9sZTogQVhHcm91cCciKTsKLSAgICAgICAgc2hvdWxkQmUoIm9iamVjdC5j
aGlsZHJlbkNvdW50IiwgIjEiKTsKLSAgICAgICAgc2hvdWxkQmUoIm9iamVjdC5jaGlsZEF0SW5k
ZXgoMCkucm9sZSIsICInQVhSb2xlOiBBWEJ1dHRvbiciKTsKKyAgICAgICAgc2V0VGltZW91dChh
c3luYyAoKSA9PiB7CisgICAgICAgICAgICBsZXQgcm9vdCA9IGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiY29udGVudCIpLmNoaWxkQXRJbmRleCgwKTsKKyAg
ICAgICAgICAgIGR1bXBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW4ocm9vdCwgMCk7CisKKyAgICAgICAg
ICAgIC8vIFRleHQgaW5zaWRlIGFyaWEtaGlkZGVuPWZhbHNlIGluaGVyaXRzIGZyb20gcGFyZW50
LgorICAgICAgICAgICAgd2luZG93Lm9iamVjdCA9IG51bGw7CisgICAgICAgICAgICBpZiAoYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIucGxhdGZvcm1OYW1lID09ICJhdHNwaSIpIHsKKyAgICAgICAg
ICAgICAgICBvYmplY3QgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVu
dEJ5SWQoImdyb3VwMyIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJvYmplY3Qucm9sZSIs
ICInQVhSb2xlOiBBWFNlY3Rpb24nIik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgICAgIG9iamVjdCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50
QnlJZCgiZ3JvdXAzIikuY2hpbGRBdEluZGV4KDApOworICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJvYmplY3Qucm9sZSIsICInQVhSb2xlOiBBWFN0YXRpY1RleHQnIik7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICB3aW5kb3cuc3RyaW5nVmFsdWUgPSBvYmplY3Quc3RyaW5nVmFsdWUucmVw
bGFjZSgvXG4vZywgJycpOworICAgICAgICAgICAgc2hvdWxkQmUoInN0cmluZ1ZhbHVlIiwgIidB
WFZhbHVlOiB0ZXh0MyciKTsKKworICAgICAgICAgICAgLy8gVGV4dCBpbnNpZGUgbmVzdGVkIGFy
aWEtaGlkZGVuPWZhbHNlIGluaGVyaXRzIGZyb20gcGFyZW50LgorICAgICAgICAgICAgaWYgKGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLnBsYXRmb3JtTmFtZSA9PSAiYXRzcGkiKSB7CisgICAgICAg
ICAgICAgICAgb2JqZWN0ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1l
bnRCeUlkKCJncm91cDQiKS5jaGlsZEF0SW5kZXgoMCk7CisgICAgICAgICAgICAgICAgc2hvdWxk
QmUoIm9iamVjdC5yb2xlIiwgIidBWFJvbGU6IEFYR3JvdXAnIik7CisgICAgICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgICAgIG9iamVjdCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFj
Y2Vzc2libGVFbGVtZW50QnlJZCgiZ3JvdXA0IikuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRl
eCgwKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgib2JqZWN0LnJvbGUiLCAiJ0FYUm9sZTog
QVhTdGF0aWNUZXh0JyIpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgc3RyaW5nVmFsdWUg
PSBvYmplY3Quc3RyaW5nVmFsdWUucmVwbGFjZSgvXG4vZywgJycpOworICAgICAgICAgICAgaWYg
KGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLnBsYXRmb3JtTmFtZSA9PSAiYXRzcGkiKQorICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJzdHJpbmdWYWx1ZSIsICInQVhWYWx1ZTogdGV4dDQnIik7Cisg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgc2hvdWxkQmUoInN0cmluZ1ZhbHVlIiwg
IidBWFZhbHVlOiAgICAgdGV4dDQgICciKTsKKworICAgICAgICAgICAgLy8gV2hlbiBub3QgYWxs
IHRoZSBwYXJlbnRzIGhhdmUgYXJpYS1oaWRkZW49ZmFsc2UsIGVsZW1lbnQgc2hvdWxkIG5vdCBi
ZSB2aXNpYmxlLgorICAgICAgICAgICAgb2JqZWN0ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIu
YWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJncm91cDUiKS5jaGlsZEF0SW5kZXgoMCk7CisgICAgICAg
ICAgICBzaG91bGRCZVRydWUoIiFvYmplY3QgfHwgIW9iamVjdC5pc1ZhbGlkIik7CisKKyAgICAg
ICAgICAgIC8vIE9iamVjdHMgdGhhdCBkb24ndCBoYXZlIGFyaWEtaGlkZGVuPWZhbHNlIGFyZSBu
b3QgdmlzaWJsZSB3aGVuIHRoZSBwYXJlbnRzIGhhdmUgdGhhdCBhdHRyaWJ1dGUuCisgICAgICAg
ICAgICBvYmplY3QgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5
SWQoImdyb3VwNiIpLmNoaWxkQXRJbmRleCgwKTsKKyAgICAgICAgICAgIGlmIChhY2Nlc3NpYmls
aXR5Q29udHJvbGxlci5wbGF0Zm9ybU5hbWUgPT0gImF0c3BpIikKKyAgICAgICAgICAgICAgICBz
aG91bGRCZSgib2JqZWN0LnJvbGUiLCAiJ0FYUm9sZTogQVhTZWN0aW9uJyIpOworICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgIHNob3VsZEJlKCJvYmplY3Qucm9sZSIsICInQVhSb2xl
OiBBWEdyb3VwJyIpOworICAgICAgICAgICAgc2hvdWxkQmUoIm9iamVjdC5jaGlsZHJlbkNvdW50
IiwgIjAiKTsKKworICAgICAgICAgICAgLy8gV2hlbiBhbGwgb2JqZWN0cyBoYXZlIGFyaWEtaGlk
ZGVuPWZhbHNlLCB0aGVuIHRoZSBlbGVtZW50cyBhcmUgdmlzaWJsZS4KKyAgICAgICAgICAgIG9i
amVjdCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiZ3Jv
dXA3IikuY2hpbGRBdEluZGV4KDApOworICAgICAgICAgICAgaWYgKGFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLnBsYXRmb3JtTmFtZSA9PSAiYXRzcGkiKQorICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJvYmplY3Qucm9sZSIsICInQVhSb2xlOiBBWFNlY3Rpb24nIik7CisgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoIm9iamVjdC5yb2xlIiwgIidBWFJvbGU6IEFYR3Jv
dXAnIik7CisgICAgICAgICAgICBzaG91bGRCZSgib2JqZWN0LmNoaWxkcmVuQ291bnQiLCAiMSIp
OworICAgICAgICAgICAgc2hvdWxkQmUoIm9iamVjdC5jaGlsZEF0SW5kZXgoMCkucm9sZSIsICIn
QVhSb2xlOiBBWEJ1dHRvbiciKTsKKyAgICAgICAgfSwgMCk7CiAgICAgfQotCiA8L3NjcmlwdD4K
LQotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgog
PC9ib2R5PgogPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452912</attachid>
            <date>2022-02-22 16:19:36 -0800</date>
            <delta_ts>2022-02-28 17:51:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237051-20220222191935.patch</filename>
            <type>text/plain</type>
            <size>11282</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMzA4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNGRmNTZiYWQzZTVlYWQxMmY3ZGM5YjVkMTI0NDk3MDc3
Nzk3NDg3MS4uYWE3YzAxMDM0MGRhMTZmNDMyY2Y0MGIyMDg1ZDczMDdiNDZjYmQyZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDIyLTAyLTIyICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4K
KworICAgICAgICBNYWtlIGFjY2Vzc2liaWxpdHkvYXJpYS1oaWRkZW4tZmFsc2Utd29ya3MtaW4t
c3VidHJlZXMuaHRtbCBhc3luYyB0byBwYXNzIGluIGlzb2xhdGVkIHRyZWUgbW9kZS4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzA1MQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vODkzMTIxNTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21h
Yy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXI6OmFjY2Vzc2libGVFbGVtZW50QnlJZCk6CisgICAgICAgIENvbnZlcnQg
dGhlIEpTU3RyaW5nUmVmIHRvIE5TU3RyaW5nIG9uIHRoZSBtYWluIHRocmVhZCBhbmQgY2FwdHVy
ZSB0aGUKKyAgICAgICAgTlNTdHJpbmcgdG8gYmUgdXNlZCBvbiB0aGUgQVggc2Vjb25kYXJ5IHRo
cmVhZC4gVGhpcyBtYXkgYmUgc2FmZXIgc2luY2UKKyAgICAgICAgSlNTdHJpbmdSZWZzIGFyZSBz
dXBwb3NlZCB0byBiZSB1c2VkIG9uIHRoZSBtYWluIHRocmVhZC4KKwogMjAyMi0wMi0yMiAgQW5n
ZWxvcyBPaWtvbm9tb3BvdWxvcyAgPGFuZ2Vsb3NAaWdhbGlhLmNvbT4KIAogICAgICAgICBbSlND
XSBHdWFyZCBhZ2FpbnN0IGRlYWQgcmVtb3RlcyBpbiBudW1iZXJPZlByb2Nlc3NvcnMKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2li
aWxpdHlDb250cm9sbGVyTWFjLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9tYWMvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJNYWMubW0KaW5kZXggMDNlN2ZlMTRjODA2
YjgwZGI1YWQ4ZjVmM2E5NDdlNTY2OTQzYTYzYi4uNzhjNjlkMTU1NDA2ZmZlNDMzOGJlZDJiYjc4
NTAxNTcwODczMGQ0YSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJNYWMubW0KKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJN
YWMubW0KQEAgLTExNCw5ICsxMTQsMTAgQEAgUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+
IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjphY2Nlc3NpYmxlRWxlbWVudEJ5SWQoSlMKICAgICBh
dXRvIHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkucGFnZSgpLT5wYWdlKCk7CiAg
ICAgUGxhdGZvcm1VSUVsZW1lbnQgcm9vdCA9IHN0YXRpY19jYXN0PFBsYXRmb3JtVUlFbGVtZW50
PihXS0FjY2Vzc2liaWxpdHlSb290T2JqZWN0KHBhZ2UpKTsKIAorICAgIE5TU3RyaW5nICphdHRy
aWJ1dGVOYW1lID0gW05TU3RyaW5nIHN0cmluZ1dpdGhKU1N0cmluZ1JlZjppZEF0dHJpYnV0ZV07
CiAgICAgUmV0YWluUHRyPGlkPiByZXN1bHQ7Ci0gICAgZXhlY3V0ZU9uQVhUaHJlYWRBbmRXYWl0
KFsmcm9vdCwgJmlkQXR0cmlidXRlLCAmcmVzdWx0XSB7Ci0gICAgICAgIHJlc3VsdCA9IGZpbmRB
Y2Nlc3NpYmxlT2JqZWN0QnlJZChyb290LCBbTlNTdHJpbmcgc3RyaW5nV2l0aEpTU3RyaW5nUmVm
OmlkQXR0cmlidXRlXSk7CisgICAgZXhlY3V0ZU9uQVhUaHJlYWRBbmRXYWl0KFsmcm9vdCwgJmF0
dHJpYnV0ZU5hbWUsICZyZXN1bHRdIHsKKyAgICAgICAgcmVzdWx0ID0gZmluZEFjY2Vzc2libGVP
YmplY3RCeUlkKHJvb3QsIGF0dHJpYnV0ZU5hbWUpOwogICAgIH0pOwogCiAgICAgaWYgKHJlc3Vs
dCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCAzNTRlYzQ5NTFlNDY4NWIyYzkzZDc5ZmU5MzM4YjkwMDcxNmNiMmQ4Li5mZTMx
MmMxYzE2NGM1ZmNjYTQ2MzE5NWUwNmU2OTA0ZmZhNGE5NTUzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMjItMDItMjIgIEFuZHJlcyBHb256YWxleiAgPGFuZHJlc2dfMjJAYXBwbGUuY29tPgor
CisgICAgICAgIE1ha2UgYWNjZXNzaWJpbGl0eS9hcmlhLWhpZGRlbi1mYWxzZS13b3Jrcy1pbi1z
dWJ0cmVlcy5odG1sIGFzeW5jIHRvIHBhc3MgaW4gaXNvbGF0ZWQgdHJlZSBtb2RlLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3MDUxCisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS84OTMxMjE1Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXJpYS1oaWRkZW4tZmFsc2Utd29y
a3MtaW4tc3VidHJlZXMuaHRtbDoKKyAgICAgICAgTWFkZSBib3RoIHRoZSBtYWluIHNjcmlwdCBh
bmQgdGhlIGlmcmFtZSBvbmxvYWQgZnVuY3Rpb24gYXN5bmMgdG8gcGFzcworICAgICAgICBpbiBp
c29sYXRlZCB0cmVlIG1vZGUuCisKIDIwMjItMDItMjIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgogCiAgICAgICAgIGh0dHAvd3B0L21lZGlhcmVjb3JkZXIvbXV0ZS10cmFja3Mu
aHRtbCBmYWlscyB3aXRoIFdlYlJUQ1JlbW90ZVZpZGVvRnJhbWVFbmFibGVkPXRydWUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1oaWRkZW4tZmFsc2Utd29ya3Mt
aW4tc3VidHJlZXMuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1oaWRkZW4t
ZmFsc2Utd29ya3MtaW4tc3VidHJlZXMuaHRtbAppbmRleCAwYTQ1YmRhNDE0ZTI5YjU4YWRkYTcy
ZmNlOTMzOWUyNDliM2E5N2U5Li4zMzE1MDNiNWQwZWU4NWY0MGFjZTE1NzgwNzFkZTE4OGFlN2Q0
YTI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtaGlkZGVuLWZh
bHNlLXdvcmtzLWluLXN1YnRyZWVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9hcmlhLWhpZGRlbi1mYWxzZS13b3Jrcy1pbi1zdWJ0cmVlcy5odG1sCkBAIC0xLDEyICsxLDEy
IEBACiA8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+CiA8aHRt
bD4KIDxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9hY2Nlc3NpYmlsaXR5LWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CiA8L2hlYWQ+Ci08Ym9keSBpZD0iYm9keSI+Cis8Ym9keT4KIAotPGRpdiBpZD0iY29udGVu
dCI+Cis8ZGl2IGlkPSJjb250ZW50IiByb2xlPSJncm91cCI+CiAKIDxkaXYgaGlkZGVuIGFyaWEt
aGlkZGVuPSJmYWxzZSIgYXJpYS1sYWJlbD0iZ3JvdXAwIj4KICAgIDxkaXYgYXJpYS1oaWRkZW49
InRydWUiIGFyaWEtbGFiZWw9Imdyb3VwMSI+CkBAIC01OSwyNCArNTksMjQgQEAgdGV4dDMKIAog
PC9kaXY+CiAKLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Ci0KIDxzY3JpcHQ+CiAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBhIHN1Yi10
cmVlIHdpdGhpbiBhIG5vZGUgbWFya2VkIHdpdGggYXJpYS1oaWRkZW49ZmFsc2Ugd2lsbCBiZSBl
eHBvc2VkIGluIHRoZSBBWCB0cmVlLiIpOwogCi0gICAgdmFyIGlmcmFtZUNoaWxkOwogICAgIGZ1
bmN0aW9uIHRlc3RpRnJhbWVDb250ZW50KCkgewotICAgICAgICAvLyBUZXN0IHRoYXQgYXJpYS1o
aWRkZW49ZmFsc2UgZG9lcyBOT1QgZXhwb3NlIGlmcmFtZSBmYWxsYmFjayB0ZXh0LgotICAgICAg
ICB2YXIgaWZyYW1lID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRC
eUlkKCJpZnJhbWUiKS5jaGlsZEF0SW5kZXgoMCkuY2hpbGRBdEluZGV4KDApOwotCi0gICAgICAg
IGRlYnVnKCJOb24tcmVuZGVyZWQgaWZyYW1lIGNvbnRlbnQgc2hvdWxkIG5vdCBiZSB2aXNpYmxl
IHdoZW4gYXJpYS1oaWRkZW49dHJ1ZS4gVGhlIGZpcnN0IGNoaWxkIHNob3VsZCBiZSBhIGdyb3Vw
IGFuZCBOT1Qgc3RhdGljIHRleHQuIik7Ci0gICAgICAgIGlmcmFtZUNoaWxkID0gaWZyYW1lLmNo
aWxkQXRJbmRleCgwKTsKLSAgICAgICAgZGVidWcoImlGcmFtZSBjaGlsZCByb2xlOiAiICsgaWZy
YW1lQ2hpbGQucm9sZSk7Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRl
bnQiKS5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7Ci0KLSAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4geworICAgICAgICAgICAgLy8gVGVz
dCB0aGF0IGFyaWEtaGlkZGVuPWZhbHNlIGRvZXMgTk9UIGV4cG9zZSBpZnJhbWUgZmFsbGJhY2sg
dGV4dC4KKyAgICAgICAgICAgIGxldCBpZnJhbWUgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5h
Y2Nlc3NpYmxlRWxlbWVudEJ5SWQoImlmcmFtZSIpLmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5k
ZXgoMCk7CisKKyAgICAgICAgICAgIGRlYnVnKCJOb24tcmVuZGVyZWQgaWZyYW1lIGNvbnRlbnQg
c2hvdWxkIG5vdCBiZSB2aXNpYmxlIHdoZW4gYXJpYS1oaWRkZW49dHJ1ZS4gVGhlIGZpcnN0IGNo
aWxkIHNob3VsZCBiZSBhIGdyb3VwIGFuZCBOT1Qgc3RhdGljIHRleHQuIik7CisgICAgICAgICAg
ICBsZXQgaWZyYW1lQ2hpbGQgPSBudWxsOworICAgICAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9
PiB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGlmcmFtZUNoaWxkID0gaWZyYW1lLmNoaWxkQXRJ
bmRleCgwKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgZGVidWcoImlGcmFtZSBjaGls
ZCByb2xlOiAiICsgaWZyYW1lQ2hpbGQucm9sZSk7CisKKyAgICAgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250ZW50Iikuc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOworICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0sIDApOwogICAgIH0KIAogICAgIGZ1
bmN0aW9uIGR1bXBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW4oZWxlbWVudCwgbGV2ZWwpIHsKQEAgLTkx
LDYzICs5MSw2MiBAQCB0ZXh0MwogICAgICAgICAgICAgZHVtcEFjY2Vzc2liaWxpdHlDaGlsZHJl
bihlbGVtZW50LmNoaWxkQXRJbmRleChrKSwgbGV2ZWwrMSk7CiAgICAgICAgIH0KICAgICB9Ci0g
CisKICAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CiAgICAgICAgIHdp
bmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotICAgICAgICB2YXIgcm9vdCA9IGFjY2Vzc2li
aWxpdHlDb250cm9sbGVyLnJvb3RFbGVtZW50LmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5kZXgo
MCk7IAotICAgICAgICBkdW1wQWNjZXNzaWJpbGl0eUNoaWxkcmVuKHJvb3QsIDApOwotCi0gICAg
ICAgIC8vIFRleHQgaW5zaWRlIGFyaWEtaGlkZGVuPWZhbHNlIGluaGVyaXRzIGZyb20gcGFyZW50
LgotICAgICAgICB2YXIgb2JqZWN0OwotICAgICAgICBpZiAoYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIucGxhdGZvcm1OYW1lID09ICJhdHNwaSIpIHsKLSAgICAgICAgICAgIG9iamVjdCA9IGFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiZ3JvdXAzIik7Ci0gICAg
ICAgICAgICBzaG91bGRCZSgib2JqZWN0LnJvbGUiLCAiJ0FYUm9sZTogQVhTZWN0aW9uJyIpOwot
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgb2JqZWN0ID0gYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJncm91cDMiKS5jaGlsZEF0SW5kZXgoMCk7Ci0g
ICAgICAgICAgICBzaG91bGRCZSgib2JqZWN0LnJvbGUiLCAiJ0FYUm9sZTogQVhTdGF0aWNUZXh0
JyIpOwotICAgICAgICB9Ci0gICAgICAgIHZhciBzdHJpbmdWYWx1ZSA9IG9iamVjdC5zdHJpbmdW
YWx1ZS5yZXBsYWNlKC9cbi9nLCAnJyk7Ci0gICAgICAgIHNob3VsZEJlKCJzdHJpbmdWYWx1ZSIs
ICInQVhWYWx1ZTogdGV4dDMnIik7Ci0KLSAgICAgICAgLy8gVGV4dCBpbnNpZGUgbmVzdGVkIGFy
aWEtaGlkZGVuPWZhbHNlIGluaGVyaXRzIGZyb20gcGFyZW50LgotICAgICAgICBpZiAoYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIucGxhdGZvcm1OYW1lID09ICJhdHNwaSIpIHsKLSAgICAgICAgICAg
IG9iamVjdCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgi
Z3JvdXA0IikuY2hpbGRBdEluZGV4KDApOwotICAgICAgICAgICAgc2hvdWxkQmUoIm9iamVjdC5y
b2xlIiwgIidBWFJvbGU6IEFYR3JvdXAnIik7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICBvYmplY3QgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQo
Imdyb3VwNCIpLmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5kZXgoMCk7Ci0gICAgICAgICAgICBz
aG91bGRCZSgib2JqZWN0LnJvbGUiLCAiJ0FYUm9sZTogQVhTdGF0aWNUZXh0JyIpOwotICAgICAg
ICB9Ci0gICAgICAgIHN0cmluZ1ZhbHVlID0gb2JqZWN0LnN0cmluZ1ZhbHVlLnJlcGxhY2UoL1xu
L2csICcnKTsKLSAgICAgICAgaWYgKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLnBsYXRmb3JtTmFt
ZSA9PSAiYXRzcGkiKQotICAgICAgICAgICAgc2hvdWxkQmUoInN0cmluZ1ZhbHVlIiwgIidBWFZh
bHVlOiB0ZXh0NCciKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgc2hvdWxkQmUoInN0cmlu
Z1ZhbHVlIiwgIidBWFZhbHVlOiAgICAgdGV4dDQgICciKTsKLQotICAgICAgICAvLyBXaGVuIG5v
dCBhbGwgdGhlIHBhcmVudHMgaGF2ZSBhcmlhLWhpZGRlbj1mYWxzZSwgZWxlbWVudCBzaG91bGQg
bm90IGJlIHZpc2libGUuCi0gICAgICAgIG9iamVjdCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmFjY2Vzc2libGVFbGVtZW50QnlJZCgiZ3JvdXA1IikuY2hpbGRBdEluZGV4KDApOwotICAgICAg
ICBzaG91bGRCZVRydWUoIiFvYmplY3QgfHwgIW9iamVjdC5pc1ZhbGlkIik7Ci0KLSAgICAgICAg
Ly8gT2JqZWN0cyB0aGF0IGRvbid0IGhhdmUgYXJpYS1oaWRkZW49ZmFsc2UgYXJlIG5vdCB2aXNp
YmxlIHdoZW4gdGhlIHBhcmVudHMgaGF2ZSB0aGF0IGF0dHJpYnV0ZS4KLSAgICAgICAgb2JqZWN0
ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJncm91cDYi
KS5jaGlsZEF0SW5kZXgoMCk7Ci0gICAgICAgIGlmIChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5w
bGF0Zm9ybU5hbWUgPT0gImF0c3BpIikKLSAgICAgICAgICAgIHNob3VsZEJlKCJvYmplY3Qucm9s
ZSIsICInQVhSb2xlOiBBWFNlY3Rpb24nIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHNo
b3VsZEJlKCJvYmplY3Qucm9sZSIsICInQVhSb2xlOiBBWEdyb3VwJyIpOwotICAgICAgICBzaG91
bGRCZSgib2JqZWN0LmNoaWxkcmVuQ291bnQiLCAiMCIpOwotCi0gICAgICAgIC8vIFdoZW4gYWxs
IG9iamVjdHMgaGF2ZSBhcmlhLWhpZGRlbj1mYWxzZSwgdGhlbiB0aGUgZWxlbWVudHMgYXJlIHZp
c2libGUuCi0gICAgICAgIG9iamVjdCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2li
bGVFbGVtZW50QnlJZCgiZ3JvdXA3IikuY2hpbGRBdEluZGV4KDApOwotICAgICAgICBpZiAoYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIucGxhdGZvcm1OYW1lID09ICJhdHNwaSIpCi0gICAgICAgICAg
ICBzaG91bGRCZSgib2JqZWN0LnJvbGUiLCAiJ0FYUm9sZTogQVhTZWN0aW9uJyIpOwotICAgICAg
ICBlbHNlCi0gICAgICAgICAgICBzaG91bGRCZSgib2JqZWN0LnJvbGUiLCAiJ0FYUm9sZTogQVhH
cm91cCciKTsKLSAgICAgICAgc2hvdWxkQmUoIm9iamVjdC5jaGlsZHJlbkNvdW50IiwgIjEiKTsK
LSAgICAgICAgc2hvdWxkQmUoIm9iamVjdC5jaGlsZEF0SW5kZXgoMCkucm9sZSIsICInQVhSb2xl
OiBBWEJ1dHRvbiciKTsKKyAgICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICBsZXQgcm9vdCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50
QnlJZCgiY29udGVudCIpLmNoaWxkQXRJbmRleCgwKTsKKyAgICAgICAgICAgIGR1bXBBY2Nlc3Np
YmlsaXR5Q2hpbGRyZW4ocm9vdCwgMCk7CisKKyAgICAgICAgICAgIC8vIFRleHQgaW5zaWRlIGFy
aWEtaGlkZGVuPWZhbHNlIGluaGVyaXRzIGZyb20gcGFyZW50LgorICAgICAgICAgICAgd2luZG93
Lm9iamVjdCA9IG51bGw7CisgICAgICAgICAgICBpZiAoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIu
cGxhdGZvcm1OYW1lID09ICJhdHNwaSIpIHsKKyAgICAgICAgICAgICAgICBvYmplY3QgPSBhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImdyb3VwMyIpOworICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJvYmplY3Qucm9sZSIsICInQVhSb2xlOiBBWFNlY3Rpb24n
Iik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIG9iamVjdCA9IGFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiZ3JvdXAzIikuY2hpbGRB
dEluZGV4KDApOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJvYmplY3Qucm9sZSIsICInQVhS
b2xlOiBBWFN0YXRpY1RleHQnIik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB3aW5kb3cu
c3RyaW5nVmFsdWUgPSBvYmplY3Quc3RyaW5nVmFsdWUucmVwbGFjZSgvXG4vZywgJycpOworICAg
ICAgICAgICAgc2hvdWxkQmUoInN0cmluZ1ZhbHVlIiwgIidBWFZhbHVlOiB0ZXh0MyciKTsKKwor
ICAgICAgICAgICAgLy8gVGV4dCBpbnNpZGUgbmVzdGVkIGFyaWEtaGlkZGVuPWZhbHNlIGluaGVy
aXRzIGZyb20gcGFyZW50LgorICAgICAgICAgICAgaWYgKGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LnBsYXRmb3JtTmFtZSA9PSAiYXRzcGkiKSB7CisgICAgICAgICAgICAgICAgb2JqZWN0ID0gYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJncm91cDQiKS5jaGls
ZEF0SW5kZXgoMCk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoIm9iamVjdC5yb2xlIiwgIidB
WFJvbGU6IEFYR3JvdXAnIik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
IG9iamVjdCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgi
Z3JvdXA0IikuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRleCgwKTsKKyAgICAgICAgICAgICAg
ICBzaG91bGRCZSgib2JqZWN0LnJvbGUiLCAiJ0FYUm9sZTogQVhTdGF0aWNUZXh0JyIpOworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgc3RyaW5nVmFsdWUgPSBvYmplY3Quc3RyaW5nVmFsdWUu
cmVwbGFjZSgvXG4vZywgJycpOworICAgICAgICAgICAgaWYgKGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLnBsYXRmb3JtTmFtZSA9PSAiYXRzcGkiKQorICAgICAgICAgICAgICAgIHNob3VsZEJlKCJz
dHJpbmdWYWx1ZSIsICInQVhWYWx1ZTogdGV4dDQnIik7CisgICAgICAgICAgICBlbHNlCisgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoInN0cmluZ1ZhbHVlIiwgIidBWFZhbHVlOiAgICAgdGV4dDQg
ICciKTsKKworICAgICAgICAgICAgLy8gV2hlbiBub3QgYWxsIHRoZSBwYXJlbnRzIGhhdmUgYXJp
YS1oaWRkZW49ZmFsc2UsIGVsZW1lbnQgc2hvdWxkIG5vdCBiZSB2aXNpYmxlLgorICAgICAgICAg
ICAgb2JqZWN0ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlk
KCJncm91cDUiKS5jaGlsZEF0SW5kZXgoMCk7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIiFv
YmplY3QgfHwgIW9iamVjdC5pc1ZhbGlkIik7CisKKyAgICAgICAgICAgIC8vIE9iamVjdHMgdGhh
dCBkb24ndCBoYXZlIGFyaWEtaGlkZGVuPWZhbHNlIGFyZSBub3QgdmlzaWJsZSB3aGVuIHRoZSBw
YXJlbnRzIGhhdmUgdGhhdCBhdHRyaWJ1dGUuCisgICAgICAgICAgICBvYmplY3QgPSBhY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImdyb3VwNiIpLmNoaWxkQXRJ
bmRleCgwKTsKKyAgICAgICAgICAgIGlmIChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5wbGF0Zm9y
bU5hbWUgPT0gImF0c3BpIikKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgib2JqZWN0LnJvbGUi
LCAiJ0FYUm9sZTogQVhTZWN0aW9uJyIpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJvYmplY3Qucm9sZSIsICInQVhSb2xlOiBBWEdyb3VwJyIpOworICAgICAg
ICAgICAgc2hvdWxkQmUoIm9iamVjdC5jaGlsZHJlbkNvdW50IiwgIjAiKTsKKworICAgICAgICAg
ICAgLy8gV2hlbiBhbGwgb2JqZWN0cyBoYXZlIGFyaWEtaGlkZGVuPWZhbHNlLCB0aGVuIHRoZSBl
bGVtZW50cyBhcmUgdmlzaWJsZS4KKyAgICAgICAgICAgIG9iamVjdCA9IGFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiZ3JvdXA3IikuY2hpbGRBdEluZGV4KDAp
OworICAgICAgICAgICAgaWYgKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLnBsYXRmb3JtTmFtZSA9
PSAiYXRzcGkiKQorICAgICAgICAgICAgICAgIHNob3VsZEJlKCJvYmplY3Qucm9sZSIsICInQVhS
b2xlOiBBWFNlY3Rpb24nIik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIm9iamVjdC5yb2xlIiwgIidBWFJvbGU6IEFYR3JvdXAnIik7CisgICAgICAgICAgICBz
aG91bGRCZSgib2JqZWN0LmNoaWxkcmVuQ291bnQiLCAiMSIpOworICAgICAgICAgICAgc2hvdWxk
QmUoIm9iamVjdC5jaGlsZEF0SW5kZXgoMCkucm9sZSIsICInQVhSb2xlOiBBWEJ1dHRvbiciKTsK
KyAgICAgICAgfSwgMCk7CiAgICAgfQotCiA8L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453454</attachid>
            <date>2022-02-28 17:51:48 -0800</date>
            <delta_ts>2022-03-01 13:45:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237051-20220228205147.patch</filename>
            <type>text/plain</type>
            <size>11282</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMzA4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNGRmNTZiYWQzZTVlYWQxMmY3ZGM5YjVkMTI0NDk3MDc3
Nzk3NDg3MS4uYWE3YzAxMDM0MGRhMTZmNDMyY2Y0MGIyMDg1ZDczMDdiNDZjYmQyZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDIyLTAyLTIyICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4K
KworICAgICAgICBNYWtlIGFjY2Vzc2liaWxpdHkvYXJpYS1oaWRkZW4tZmFsc2Utd29ya3MtaW4t
c3VidHJlZXMuaHRtbCBhc3luYyB0byBwYXNzIGluIGlzb2xhdGVkIHRyZWUgbW9kZS4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzA1MQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vODkzMTIxNTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21h
Yy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXI6OmFjY2Vzc2libGVFbGVtZW50QnlJZCk6CisgICAgICAgIENvbnZlcnQg
dGhlIEpTU3RyaW5nUmVmIHRvIE5TU3RyaW5nIG9uIHRoZSBtYWluIHRocmVhZCBhbmQgY2FwdHVy
ZSB0aGUKKyAgICAgICAgTlNTdHJpbmcgdG8gYmUgdXNlZCBvbiB0aGUgQVggc2Vjb25kYXJ5IHRo
cmVhZC4gVGhpcyBtYXkgYmUgc2FmZXIgc2luY2UKKyAgICAgICAgSlNTdHJpbmdSZWZzIGFyZSBz
dXBwb3NlZCB0byBiZSB1c2VkIG9uIHRoZSBtYWluIHRocmVhZC4KKwogMjAyMi0wMi0yMiAgQW5n
ZWxvcyBPaWtvbm9tb3BvdWxvcyAgPGFuZ2Vsb3NAaWdhbGlhLmNvbT4KIAogICAgICAgICBbSlND
XSBHdWFyZCBhZ2FpbnN0IGRlYWQgcmVtb3RlcyBpbiBudW1iZXJPZlByb2Nlc3NvcnMKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2li
aWxpdHlDb250cm9sbGVyTWFjLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9tYWMvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJNYWMubW0KaW5kZXggMDNlN2ZlMTRjODA2
YjgwZGI1YWQ4ZjVmM2E5NDdlNTY2OTQzYTYzYi4uNzhjNjlkMTU1NDA2ZmZlNDMzOGJlZDJiYjc4
NTAxNTcwODczMGQ0YSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJNYWMubW0KKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJN
YWMubW0KQEAgLTExNCw5ICsxMTQsMTAgQEAgUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+
IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjphY2Nlc3NpYmxlRWxlbWVudEJ5SWQoSlMKICAgICBh
dXRvIHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkucGFnZSgpLT5wYWdlKCk7CiAg
ICAgUGxhdGZvcm1VSUVsZW1lbnQgcm9vdCA9IHN0YXRpY19jYXN0PFBsYXRmb3JtVUlFbGVtZW50
PihXS0FjY2Vzc2liaWxpdHlSb290T2JqZWN0KHBhZ2UpKTsKIAorICAgIE5TU3RyaW5nICphdHRy
aWJ1dGVOYW1lID0gW05TU3RyaW5nIHN0cmluZ1dpdGhKU1N0cmluZ1JlZjppZEF0dHJpYnV0ZV07
CiAgICAgUmV0YWluUHRyPGlkPiByZXN1bHQ7Ci0gICAgZXhlY3V0ZU9uQVhUaHJlYWRBbmRXYWl0
KFsmcm9vdCwgJmlkQXR0cmlidXRlLCAmcmVzdWx0XSB7Ci0gICAgICAgIHJlc3VsdCA9IGZpbmRB
Y2Nlc3NpYmxlT2JqZWN0QnlJZChyb290LCBbTlNTdHJpbmcgc3RyaW5nV2l0aEpTU3RyaW5nUmVm
OmlkQXR0cmlidXRlXSk7CisgICAgZXhlY3V0ZU9uQVhUaHJlYWRBbmRXYWl0KFsmcm9vdCwgJmF0
dHJpYnV0ZU5hbWUsICZyZXN1bHRdIHsKKyAgICAgICAgcmVzdWx0ID0gZmluZEFjY2Vzc2libGVP
YmplY3RCeUlkKHJvb3QsIGF0dHJpYnV0ZU5hbWUpOwogICAgIH0pOwogCiAgICAgaWYgKHJlc3Vs
dCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCAzNTRlYzQ5NTFlNDY4NWIyYzkzZDc5ZmU5MzM4YjkwMDcxNmNiMmQ4Li5mZTMx
MmMxYzE2NGM1ZmNjYTQ2MzE5NWUwNmU2OTA0ZmZhNGE5NTUzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMjItMDItMjIgIEFuZHJlcyBHb256YWxleiAgPGFuZHJlc2dfMjJAYXBwbGUuY29tPgor
CisgICAgICAgIE1ha2UgYWNjZXNzaWJpbGl0eS9hcmlhLWhpZGRlbi1mYWxzZS13b3Jrcy1pbi1z
dWJ0cmVlcy5odG1sIGFzeW5jIHRvIHBhc3MgaW4gaXNvbGF0ZWQgdHJlZSBtb2RlLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3MDUxCisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS84OTMxMjE1Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXJpYS1oaWRkZW4tZmFsc2Utd29y
a3MtaW4tc3VidHJlZXMuaHRtbDoKKyAgICAgICAgTWFkZSBib3RoIHRoZSBtYWluIHNjcmlwdCBh
bmQgdGhlIGlmcmFtZSBvbmxvYWQgZnVuY3Rpb24gYXN5bmMgdG8gcGFzcworICAgICAgICBpbiBp
c29sYXRlZCB0cmVlIG1vZGUuCisKIDIwMjItMDItMjIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgogCiAgICAgICAgIGh0dHAvd3B0L21lZGlhcmVjb3JkZXIvbXV0ZS10cmFja3Mu
aHRtbCBmYWlscyB3aXRoIFdlYlJUQ1JlbW90ZVZpZGVvRnJhbWVFbmFibGVkPXRydWUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1oaWRkZW4tZmFsc2Utd29ya3Mt
aW4tc3VidHJlZXMuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvYXJpYS1oaWRkZW4t
ZmFsc2Utd29ya3MtaW4tc3VidHJlZXMuaHRtbAppbmRleCAwYTQ1YmRhNDE0ZTI5YjU4YWRkYTcy
ZmNlOTMzOWUyNDliM2E5N2U5Li4zMzE1MDNiNWQwZWU4NWY0MGFjZTE1NzgwNzFkZTE4OGFlN2Q0
YTI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2FyaWEtaGlkZGVuLWZh
bHNlLXdvcmtzLWluLXN1YnRyZWVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9hcmlhLWhpZGRlbi1mYWxzZS13b3Jrcy1pbi1zdWJ0cmVlcy5odG1sCkBAIC0xLDEyICsxLDEy
IEBACiA8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+CiA8aHRt
bD4KIDxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9hY2Nlc3NpYmlsaXR5LWhlbHBlci5qcyI+PC9zY3Jp
cHQ+CiA8L2hlYWQ+Ci08Ym9keSBpZD0iYm9keSI+Cis8Ym9keT4KIAotPGRpdiBpZD0iY29udGVu
dCI+Cis8ZGl2IGlkPSJjb250ZW50IiByb2xlPSJncm91cCI+CiAKIDxkaXYgaGlkZGVuIGFyaWEt
aGlkZGVuPSJmYWxzZSIgYXJpYS1sYWJlbD0iZ3JvdXAwIj4KICAgIDxkaXYgYXJpYS1oaWRkZW49
InRydWUiIGFyaWEtbGFiZWw9Imdyb3VwMSI+CkBAIC01OSwyNCArNTksMjQgQEAgdGV4dDMKIAog
PC9kaXY+CiAKLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Ci0KIDxzY3JpcHQ+CiAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBhIHN1Yi10
cmVlIHdpdGhpbiBhIG5vZGUgbWFya2VkIHdpdGggYXJpYS1oaWRkZW49ZmFsc2Ugd2lsbCBiZSBl
eHBvc2VkIGluIHRoZSBBWCB0cmVlLiIpOwogCi0gICAgdmFyIGlmcmFtZUNoaWxkOwogICAgIGZ1
bmN0aW9uIHRlc3RpRnJhbWVDb250ZW50KCkgewotICAgICAgICAvLyBUZXN0IHRoYXQgYXJpYS1o
aWRkZW49ZmFsc2UgZG9lcyBOT1QgZXhwb3NlIGlmcmFtZSBmYWxsYmFjayB0ZXh0LgotICAgICAg
ICB2YXIgaWZyYW1lID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRC
eUlkKCJpZnJhbWUiKS5jaGlsZEF0SW5kZXgoMCkuY2hpbGRBdEluZGV4KDApOwotCi0gICAgICAg
IGRlYnVnKCJOb24tcmVuZGVyZWQgaWZyYW1lIGNvbnRlbnQgc2hvdWxkIG5vdCBiZSB2aXNpYmxl
IHdoZW4gYXJpYS1oaWRkZW49dHJ1ZS4gVGhlIGZpcnN0IGNoaWxkIHNob3VsZCBiZSBhIGdyb3Vw
IGFuZCBOT1Qgc3RhdGljIHRleHQuIik7Ci0gICAgICAgIGlmcmFtZUNoaWxkID0gaWZyYW1lLmNo
aWxkQXRJbmRleCgwKTsKLSAgICAgICAgZGVidWcoImlGcmFtZSBjaGlsZCByb2xlOiAiICsgaWZy
YW1lQ2hpbGQucm9sZSk7Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRl
bnQiKS5zdHlsZS52aXNpYmlsaXR5ID0gImhpZGRlbiI7Ci0KLSAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4geworICAgICAgICAgICAgLy8gVGVz
dCB0aGF0IGFyaWEtaGlkZGVuPWZhbHNlIGRvZXMgTk9UIGV4cG9zZSBpZnJhbWUgZmFsbGJhY2sg
dGV4dC4KKyAgICAgICAgICAgIGxldCBpZnJhbWUgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5h
Y2Nlc3NpYmxlRWxlbWVudEJ5SWQoImlmcmFtZSIpLmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5k
ZXgoMCk7CisKKyAgICAgICAgICAgIGRlYnVnKCJOb24tcmVuZGVyZWQgaWZyYW1lIGNvbnRlbnQg
c2hvdWxkIG5vdCBiZSB2aXNpYmxlIHdoZW4gYXJpYS1oaWRkZW49dHJ1ZS4gVGhlIGZpcnN0IGNo
aWxkIHNob3VsZCBiZSBhIGdyb3VwIGFuZCBOT1Qgc3RhdGljIHRleHQuIik7CisgICAgICAgICAg
ICBsZXQgaWZyYW1lQ2hpbGQgPSBudWxsOworICAgICAgICAgICAgYXdhaXQgd2FpdEZvcigoKSA9
PiB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGlmcmFtZUNoaWxkID0gaWZyYW1lLmNoaWxkQXRJ
bmRleCgwKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgZGVidWcoImlGcmFtZSBjaGls
ZCByb2xlOiAiICsgaWZyYW1lQ2hpbGQucm9sZSk7CisKKyAgICAgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250ZW50Iikuc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOworICAg
ICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0sIDApOwogICAgIH0KIAogICAgIGZ1
bmN0aW9uIGR1bXBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW4oZWxlbWVudCwgbGV2ZWwpIHsKQEAgLTkx
LDYzICs5MSw2MiBAQCB0ZXh0MwogICAgICAgICAgICAgZHVtcEFjY2Vzc2liaWxpdHlDaGlsZHJl
bihlbGVtZW50LmNoaWxkQXRJbmRleChrKSwgbGV2ZWwrMSk7CiAgICAgICAgIH0KICAgICB9Ci0g
CisKICAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CiAgICAgICAgIHdp
bmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotICAgICAgICB2YXIgcm9vdCA9IGFjY2Vzc2li
aWxpdHlDb250cm9sbGVyLnJvb3RFbGVtZW50LmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5kZXgo
MCk7IAotICAgICAgICBkdW1wQWNjZXNzaWJpbGl0eUNoaWxkcmVuKHJvb3QsIDApOwotCi0gICAg
ICAgIC8vIFRleHQgaW5zaWRlIGFyaWEtaGlkZGVuPWZhbHNlIGluaGVyaXRzIGZyb20gcGFyZW50
LgotICAgICAgICB2YXIgb2JqZWN0OwotICAgICAgICBpZiAoYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIucGxhdGZvcm1OYW1lID09ICJhdHNwaSIpIHsKLSAgICAgICAgICAgIG9iamVjdCA9IGFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiZ3JvdXAzIik7Ci0gICAg
ICAgICAgICBzaG91bGRCZSgib2JqZWN0LnJvbGUiLCAiJ0FYUm9sZTogQVhTZWN0aW9uJyIpOwot
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgb2JqZWN0ID0gYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJncm91cDMiKS5jaGlsZEF0SW5kZXgoMCk7Ci0g
ICAgICAgICAgICBzaG91bGRCZSgib2JqZWN0LnJvbGUiLCAiJ0FYUm9sZTogQVhTdGF0aWNUZXh0
JyIpOwotICAgICAgICB9Ci0gICAgICAgIHZhciBzdHJpbmdWYWx1ZSA9IG9iamVjdC5zdHJpbmdW
YWx1ZS5yZXBsYWNlKC9cbi9nLCAnJyk7Ci0gICAgICAgIHNob3VsZEJlKCJzdHJpbmdWYWx1ZSIs
ICInQVhWYWx1ZTogdGV4dDMnIik7Ci0KLSAgICAgICAgLy8gVGV4dCBpbnNpZGUgbmVzdGVkIGFy
aWEtaGlkZGVuPWZhbHNlIGluaGVyaXRzIGZyb20gcGFyZW50LgotICAgICAgICBpZiAoYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIucGxhdGZvcm1OYW1lID09ICJhdHNwaSIpIHsKLSAgICAgICAgICAg
IG9iamVjdCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgi
Z3JvdXA0IikuY2hpbGRBdEluZGV4KDApOwotICAgICAgICAgICAgc2hvdWxkQmUoIm9iamVjdC5y
b2xlIiwgIidBWFJvbGU6IEFYR3JvdXAnIik7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICBvYmplY3QgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQo
Imdyb3VwNCIpLmNoaWxkQXRJbmRleCgwKS5jaGlsZEF0SW5kZXgoMCk7Ci0gICAgICAgICAgICBz
aG91bGRCZSgib2JqZWN0LnJvbGUiLCAiJ0FYUm9sZTogQVhTdGF0aWNUZXh0JyIpOwotICAgICAg
ICB9Ci0gICAgICAgIHN0cmluZ1ZhbHVlID0gb2JqZWN0LnN0cmluZ1ZhbHVlLnJlcGxhY2UoL1xu
L2csICcnKTsKLSAgICAgICAgaWYgKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLnBsYXRmb3JtTmFt
ZSA9PSAiYXRzcGkiKQotICAgICAgICAgICAgc2hvdWxkQmUoInN0cmluZ1ZhbHVlIiwgIidBWFZh
bHVlOiB0ZXh0NCciKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgc2hvdWxkQmUoInN0cmlu
Z1ZhbHVlIiwgIidBWFZhbHVlOiAgICAgdGV4dDQgICciKTsKLQotICAgICAgICAvLyBXaGVuIG5v
dCBhbGwgdGhlIHBhcmVudHMgaGF2ZSBhcmlhLWhpZGRlbj1mYWxzZSwgZWxlbWVudCBzaG91bGQg
bm90IGJlIHZpc2libGUuCi0gICAgICAgIG9iamVjdCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmFjY2Vzc2libGVFbGVtZW50QnlJZCgiZ3JvdXA1IikuY2hpbGRBdEluZGV4KDApOwotICAgICAg
ICBzaG91bGRCZVRydWUoIiFvYmplY3QgfHwgIW9iamVjdC5pc1ZhbGlkIik7Ci0KLSAgICAgICAg
Ly8gT2JqZWN0cyB0aGF0IGRvbid0IGhhdmUgYXJpYS1oaWRkZW49ZmFsc2UgYXJlIG5vdCB2aXNp
YmxlIHdoZW4gdGhlIHBhcmVudHMgaGF2ZSB0aGF0IGF0dHJpYnV0ZS4KLSAgICAgICAgb2JqZWN0
ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJncm91cDYi
KS5jaGlsZEF0SW5kZXgoMCk7Ci0gICAgICAgIGlmIChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5w
bGF0Zm9ybU5hbWUgPT0gImF0c3BpIikKLSAgICAgICAgICAgIHNob3VsZEJlKCJvYmplY3Qucm9s
ZSIsICInQVhSb2xlOiBBWFNlY3Rpb24nIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHNo
b3VsZEJlKCJvYmplY3Qucm9sZSIsICInQVhSb2xlOiBBWEdyb3VwJyIpOwotICAgICAgICBzaG91
bGRCZSgib2JqZWN0LmNoaWxkcmVuQ291bnQiLCAiMCIpOwotCi0gICAgICAgIC8vIFdoZW4gYWxs
IG9iamVjdHMgaGF2ZSBhcmlhLWhpZGRlbj1mYWxzZSwgdGhlbiB0aGUgZWxlbWVudHMgYXJlIHZp
c2libGUuCi0gICAgICAgIG9iamVjdCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2li
bGVFbGVtZW50QnlJZCgiZ3JvdXA3IikuY2hpbGRBdEluZGV4KDApOwotICAgICAgICBpZiAoYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIucGxhdGZvcm1OYW1lID09ICJhdHNwaSIpCi0gICAgICAgICAg
ICBzaG91bGRCZSgib2JqZWN0LnJvbGUiLCAiJ0FYUm9sZTogQVhTZWN0aW9uJyIpOwotICAgICAg
ICBlbHNlCi0gICAgICAgICAgICBzaG91bGRCZSgib2JqZWN0LnJvbGUiLCAiJ0FYUm9sZTogQVhH
cm91cCciKTsKLSAgICAgICAgc2hvdWxkQmUoIm9iamVjdC5jaGlsZHJlbkNvdW50IiwgIjEiKTsK
LSAgICAgICAgc2hvdWxkQmUoIm9iamVjdC5jaGlsZEF0SW5kZXgoMCkucm9sZSIsICInQVhSb2xl
OiBBWEJ1dHRvbiciKTsKKyAgICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7CisgICAgICAg
ICAgICBsZXQgcm9vdCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50
QnlJZCgiY29udGVudCIpLmNoaWxkQXRJbmRleCgwKTsKKyAgICAgICAgICAgIGR1bXBBY2Nlc3Np
YmlsaXR5Q2hpbGRyZW4ocm9vdCwgMCk7CisKKyAgICAgICAgICAgIC8vIFRleHQgaW5zaWRlIGFy
aWEtaGlkZGVuPWZhbHNlIGluaGVyaXRzIGZyb20gcGFyZW50LgorICAgICAgICAgICAgd2luZG93
Lm9iamVjdCA9IG51bGw7CisgICAgICAgICAgICBpZiAoYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIu
cGxhdGZvcm1OYW1lID09ICJhdHNwaSIpIHsKKyAgICAgICAgICAgICAgICBvYmplY3QgPSBhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImdyb3VwMyIpOworICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJvYmplY3Qucm9sZSIsICInQVhSb2xlOiBBWFNlY3Rpb24n
Iik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIG9iamVjdCA9IGFjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiZ3JvdXAzIikuY2hpbGRB
dEluZGV4KDApOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJvYmplY3Qucm9sZSIsICInQVhS
b2xlOiBBWFN0YXRpY1RleHQnIik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB3aW5kb3cu
c3RyaW5nVmFsdWUgPSBvYmplY3Quc3RyaW5nVmFsdWUucmVwbGFjZSgvXG4vZywgJycpOworICAg
ICAgICAgICAgc2hvdWxkQmUoInN0cmluZ1ZhbHVlIiwgIidBWFZhbHVlOiB0ZXh0MyciKTsKKwor
ICAgICAgICAgICAgLy8gVGV4dCBpbnNpZGUgbmVzdGVkIGFyaWEtaGlkZGVuPWZhbHNlIGluaGVy
aXRzIGZyb20gcGFyZW50LgorICAgICAgICAgICAgaWYgKGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LnBsYXRmb3JtTmFtZSA9PSAiYXRzcGkiKSB7CisgICAgICAgICAgICAgICAgb2JqZWN0ID0gYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJncm91cDQiKS5jaGls
ZEF0SW5kZXgoMCk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoIm9iamVjdC5yb2xlIiwgIidB
WFJvbGU6IEFYR3JvdXAnIik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
IG9iamVjdCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgi
Z3JvdXA0IikuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRleCgwKTsKKyAgICAgICAgICAgICAg
ICBzaG91bGRCZSgib2JqZWN0LnJvbGUiLCAiJ0FYUm9sZTogQVhTdGF0aWNUZXh0JyIpOworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgc3RyaW5nVmFsdWUgPSBvYmplY3Quc3RyaW5nVmFsdWUu
cmVwbGFjZSgvXG4vZywgJycpOworICAgICAgICAgICAgaWYgKGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLnBsYXRmb3JtTmFtZSA9PSAiYXRzcGkiKQorICAgICAgICAgICAgICAgIHNob3VsZEJlKCJz
dHJpbmdWYWx1ZSIsICInQVhWYWx1ZTogdGV4dDQnIik7CisgICAgICAgICAgICBlbHNlCisgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoInN0cmluZ1ZhbHVlIiwgIidBWFZhbHVlOiAgICAgdGV4dDQg
ICciKTsKKworICAgICAgICAgICAgLy8gV2hlbiBub3QgYWxsIHRoZSBwYXJlbnRzIGhhdmUgYXJp
YS1oaWRkZW49ZmFsc2UsIGVsZW1lbnQgc2hvdWxkIG5vdCBiZSB2aXNpYmxlLgorICAgICAgICAg
ICAgb2JqZWN0ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlk
KCJncm91cDUiKS5jaGlsZEF0SW5kZXgoMCk7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoIiFv
YmplY3QgfHwgIW9iamVjdC5pc1ZhbGlkIik7CisKKyAgICAgICAgICAgIC8vIE9iamVjdHMgdGhh
dCBkb24ndCBoYXZlIGFyaWEtaGlkZGVuPWZhbHNlIGFyZSBub3QgdmlzaWJsZSB3aGVuIHRoZSBw
YXJlbnRzIGhhdmUgdGhhdCBhdHRyaWJ1dGUuCisgICAgICAgICAgICBvYmplY3QgPSBhY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImdyb3VwNiIpLmNoaWxkQXRJ
bmRleCgwKTsKKyAgICAgICAgICAgIGlmIChhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5wbGF0Zm9y
bU5hbWUgPT0gImF0c3BpIikKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgib2JqZWN0LnJvbGUi
LCAiJ0FYUm9sZTogQVhTZWN0aW9uJyIpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJvYmplY3Qucm9sZSIsICInQVhSb2xlOiBBWEdyb3VwJyIpOworICAgICAg
ICAgICAgc2hvdWxkQmUoIm9iamVjdC5jaGlsZHJlbkNvdW50IiwgIjAiKTsKKworICAgICAgICAg
ICAgLy8gV2hlbiBhbGwgb2JqZWN0cyBoYXZlIGFyaWEtaGlkZGVuPWZhbHNlLCB0aGVuIHRoZSBl
bGVtZW50cyBhcmUgdmlzaWJsZS4KKyAgICAgICAgICAgIG9iamVjdCA9IGFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiZ3JvdXA3IikuY2hpbGRBdEluZGV4KDAp
OworICAgICAgICAgICAgaWYgKGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLnBsYXRmb3JtTmFtZSA9
PSAiYXRzcGkiKQorICAgICAgICAgICAgICAgIHNob3VsZEJlKCJvYmplY3Qucm9sZSIsICInQVhS
b2xlOiBBWFNlY3Rpb24nIik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgc2hv
dWxkQmUoIm9iamVjdC5yb2xlIiwgIidBWFJvbGU6IEFYR3JvdXAnIik7CisgICAgICAgICAgICBz
aG91bGRCZSgib2JqZWN0LmNoaWxkcmVuQ291bnQiLCAiMSIpOworICAgICAgICAgICAgc2hvdWxk
QmUoIm9iamVjdC5jaGlsZEF0SW5kZXgoMCkucm9sZSIsICInQVhSb2xlOiBBWEJ1dHRvbiciKTsK
KyAgICAgICAgfSwgMCk7CiAgICAgfQotCiA8L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>