<?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>239070</bug_id>
          
          <creation_ts>2022-04-11 08:23:53 -0700</creation_ts>
          <short_desc>Constructed FormData object should not contain an entry for the submit button that was used to submit the form</short_desc>
          <delta_ts>2024-05-15 15:52:36 -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>Forms</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=274214</see_also>
          <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>zsun</reporter>
          <assigned_to>zsun</assigned_to>
          <cc>andreu</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>mifenton</cc>
    
    <cc>ntim</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1860288</commentid>
    <comment_count>0</comment_count>
    <who name="">zsun</who>
    <bug_when>2022-04-11 08:23:53 -0700</bug_when>
    <thetext>submit() in submit event handler should not contains a value of a submit button.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860294</commentid>
    <comment_count>1</comment_count>
      <attachid>457255</attachid>
    <who name="">zsun</who>
    <bug_when>2022-04-11 08:41:07 -0700</bug_when>
    <thetext>Created attachment 457255
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860297</commentid>
    <comment_count>2</comment_count>
      <attachid>457255</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-04-11 08:50:29 -0700</bug_when>
    <thetext>Comment on attachment 457255
Patch

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

&gt; Source/WebCore/loader/FormSubmission.cpp:174
&gt; -    RefPtr submitter = overrideSubmitter ? overrideSubmitter : form.findSubmitter(event);
&gt; +    HTMLFormControlElement* submitter = overrideSubmitter ? overrideSubmitter : form.findSubmitter(event);

This does not seem like a good change. Why not use RefPtr for this local variable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861065</commentid>
    <comment_count>3</comment_count>
      <attachid>457519</attachid>
    <who name="">zsun</who>
    <bug_when>2022-04-13 02:46:03 -0700</bug_when>
    <thetext>Created attachment 457519
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861114</commentid>
    <comment_count>4</comment_count>
      <attachid>457519</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-04-13 07:36:49 -0700</bug_when>
    <thetext>Comment on attachment 457519
Patch

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

&gt; Source/WebCore/html/HTMLFormElement.cpp:422
&gt; +            if (element-&gt;form() == this &amp;&amp; is&lt;HTMLFormControlElement&gt;(element)) {

Is the form check really useful? Doesn&apos;t a form associated element have this form as form by definition?

&gt; Source/WebCore/html/HTMLFormElement.cpp:423
&gt; +                HTMLFormControlElement&amp; control = downcast&lt;HTMLFormControlElement&gt;(element.get());

auto&amp;

&gt; Source/WebCore/html/HTMLFormElement.cpp:432
&gt;      auto firstSuccessfulSubmitButton = findSubmitButton(submitter, activateSubmitButton);

This looks unused now? or am I missing something?

&gt; Source/WebCore/html/HTMLFormElement.cpp:1027
&gt; +RefPtr&lt;DOMFormData&gt; HTMLFormElement::constructEntryList(HTMLFormControlElement* submitter, Ref&lt;DOMFormData&gt;&amp;&amp; domFormData, StringPairVector* formValues)

I would feel better if the submitter parameter was a RefPtr&lt;&gt;&amp;&amp;, given that you use it at the beginning of the function, then again at the end while running script in between.
I am particularly worried the submitter could get destroyed while running this function.

&gt; Source/WebCore/loader/FormSubmission.cpp:215
&gt; +    auto result = form.constructEntryList(submitter.get(), WTFMove(domFormData), &amp;formValues);

submitter.copyRef()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861423</commentid>
    <comment_count>5</comment_count>
      <attachid>457604</attachid>
    <who name="">zsun</who>
    <bug_when>2022-04-14 01:58:36 -0700</bug_when>
    <thetext>Created attachment 457604
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861432</commentid>
    <comment_count>6</comment_count>
      <attachid>457608</attachid>
    <who name="">zsun</who>
    <bug_when>2022-04-14 03:05:54 -0700</bug_when>
    <thetext>Created attachment 457608
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861442</commentid>
    <comment_count>7</comment_count>
      <attachid>457610</attachid>
    <who name="">zsun</who>
    <bug_when>2022-04-14 04:42:04 -0700</bug_when>
    <thetext>Created attachment 457610
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861484</commentid>
    <comment_count>8</comment_count>
      <attachid>457610</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-04-14 07:23:22 -0700</bug_when>
    <thetext>Comment on attachment 457610
Patch

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

r=me with improvement suggestion.

&gt; Source/WebCore/html/HTMLFormElement.cpp:422
&gt; +            if (is&lt;HTMLFormControlElement&gt;(element)) {

if (auto* control = dynamicDowncast&lt;HTMLFormControlElement&gt;(element); control.isSuccessfulSubmitButton()) {
     submitter = control;
     break;
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862233</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-04-18 08:24:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/91892715&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864054</commentid>
    <comment_count>10</comment_count>
      <attachid>458255</attachid>
    <who name="">zsun</who>
    <bug_when>2022-04-25 02:54:34 -0700</bug_when>
    <thetext>Created attachment 458255
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864055</commentid>
    <comment_count>11</comment_count>
    <who name="">zsun</who>
    <bug_when>2022-04-25 02:56:02 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #8)
&gt; Comment on attachment 457610 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=457610&amp;action=review
&gt; 
&gt; r=me with improvement suggestion.
&gt; 
&gt; &gt; Source/WebCore/html/HTMLFormElement.cpp:422
&gt; &gt; +            if (is&lt;HTMLFormControlElement&gt;(element)) {
&gt; 
&gt; if (auto* control = dynamicDowncast&lt;HTMLFormControlElement&gt;(element);
&gt; control.isSuccessfulSubmitButton()) {
&gt;      submitter = control;
&gt;      break;
&gt; }

Thanks for the review! I updated the lines but not exactly as you suggested. Please take another look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864074</commentid>
    <comment_count>12</comment_count>
      <attachid>458255</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-04-25 06:09:10 -0700</bug_when>
    <thetext>Comment on attachment 458255
Patch

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

&gt; Source/WebCore/html/HTMLFormElement.cpp:422
&gt; +            if (auto control = dynamicDowncast&lt;HTMLFormControlElement&gt;(element.get()); control-&gt;isSuccessfulSubmitButton()) {

auto* control = dynamicDowncast&lt;HTMLFormControlElement&gt;

dynamicDowncast always gives a pointer.

Chris, do we need `[...]; control &amp;&amp; control-&gt;isSuccessfulSubmitButton()` ? or is `[...]; control-&gt;isSuccessfulSubmitButton()` enough?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864078</commentid>
    <comment_count>13</comment_count>
      <attachid>458265</attachid>
    <who name="">zsun</who>
    <bug_when>2022-04-25 06:43:59 -0700</bug_when>
    <thetext>Created attachment 458265
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864090</commentid>
    <comment_count>14</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-04-25 07:19:49 -0700</bug_when>
    <thetext>(In reply to Tim Nguyen (:ntim) from comment #12)
&gt; Comment on attachment 458255 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=458255&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLFormElement.cpp:422
&gt; &gt; +            if (auto control = dynamicDowncast&lt;HTMLFormControlElement&gt;(element.get()); control-&gt;isSuccessfulSubmitButton()) {
&gt; 
&gt; auto* control = dynamicDowncast&lt;HTMLFormControlElement&gt;
&gt; 
&gt; dynamicDowncast always gives a pointer.
&gt; 
&gt; Chris, do we need `[...]; control &amp;&amp; control-&gt;isSuccessfulSubmitButton()` ?
&gt; or is `[...]; control-&gt;isSuccessfulSubmitButton()` enough?

Definitely `control &amp;&amp; control-&gt;isSuccessfulSubmitButton()`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864091</commentid>
    <comment_count>15</comment_count>
      <attachid>458265</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-04-25 07:20:48 -0700</bug_when>
    <thetext>Comment on attachment 458265
Patch

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

&gt; Source/WebCore/html/HTMLFormElement.cpp:422
&gt; +            if (auto* control = dynamicDowncast&lt;HTMLFormControlElement&gt;(element.get()); control-&gt;isSuccessfulSubmitButton()) {

Please add missing control null check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864119</commentid>
    <comment_count>16</comment_count>
      <attachid>458265</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-04-25 09:13:11 -0700</bug_when>
    <thetext>Comment on attachment 458265
Patch

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

&gt;&gt; Source/WebCore/html/HTMLFormElement.cpp:422
&gt;&gt; +            if (auto* control = dynamicDowncast&lt;HTMLFormControlElement&gt;(element.get()); control-&gt;isSuccessfulSubmitButton()) {
&gt; 
&gt; Please add missing control null check.

Maybe it’s obvious, but Chris means:

...; control &amp;&amp; control-&gt;isSuccessfulSubmitButton()) {</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864125</commentid>
    <comment_count>17</comment_count>
      <attachid>458279</attachid>
    <who name="">zsun</who>
    <bug_when>2022-04-25 09:32:40 -0700</bug_when>
    <thetext>Created attachment 458279
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864127</commentid>
    <comment_count>18</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-04-25 09:38:02 -0700</bug_when>
    <thetext>I see now I just said the same thing Chris had already said!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864548</commentid>
    <comment_count>19</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-04-26 11:45:42 -0700</bug_when>
    <thetext>Is this ready to land? If it is, please set commit-queue+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864569</commentid>
    <comment_count>20</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-04-26 12:32:54 -0700</bug_when>
    <thetext>Committed r293444 (249999@main): &lt;https://commits.webkit.org/249999@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 458279.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1873366</commentid>
    <comment_count>21</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-06-01 13:33:39 -0700</bug_when>
    <thetext>*** Bug 234069 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457255</attachid>
            <date>2022-04-11 08:41:07 -0700</date>
            <delta_ts>2022-04-13 02:45:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239070-20220411164105.patch</filename>
            <type>text/plain</type>
            <size>12729</size>
            <attacher>zsun</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMzA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjk1N2FiODViNWEyYjVi
MDc1M2YxMWU4OTRjZTkzNWE5NTljYzUyYi4uNThiNzFiMTdiYjZlZmVjYzIzNjFlOWEwZDQyMTFh
YzZlNTFjMThjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIyLTA0LTExICBaaXJh
biBTdW4gIDx6c3VuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQ29uc3RydWN0ZWQgRm9ybURhdGEg
b2JqZWN0IHNob3VsZCBub3QgY29udGFpbiBhbiBlbnRyeSBmb3IgdGhlIHN1Ym1pdCBidXR0b24g
dGhhdCB3YXMgdXNlZCB0byBzdWJtaXQgdGhlIGZvcm0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTA3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gdGhlIGFjdGl2ZWRTdWJtaXQgZmxhZyBpcyBz
ZXQgZm9yIGEgc3VibWl0IGJ1dHRvbiwgaXRzIHZhbHVlIGlzIGFwcGVuZGVkIHRvIGEgRm9ybURh
dGEuIEluIHRoZSBjYXNlIG9mIGZvcm0KKyAgICAgICAgc3VibWlzc2lvbiBjYWxsZWQgaW4gc3Vi
bWl0IGV2ZW50IGhhbmRsZXIsIHdlIGluY2x1ZGUgc3VibWl0IGJ1dHRvbiB3aGVuIGJ1aWxkIEZv
cm1EYXRhLiBUaGUgc3VibWl0IGJ1dHRvbiBzaG91bGQKKyAgICAgICAgbm90IGJlIGluY2x1ZGVk
IHRob3VnaC4gVGhpcyBwYXRjaCBjb3JyZWN0IGl0IGJ5IGNhbGxpbmcgc2V0IHRoZSBhY3RpdmF0
ZWRTdWJtaXQgZmxhZyBqdXN0IGJlZm9yZSBvciBhZnRlciBidWlsZGluZworICAgICAgICBGb3Jt
RGF0YS4KKyAgICAgICAgCisgICAgICAgIFBhcnQgb2YgdGhlIHBhdGNoIGlzIGFuIGltcG9ydCBv
ZiBDaHJvbWl1bSBDTCBhdAorICAgICAgICBodHRwczovL2NvZGVyZXZpZXcuY2hyb21pdW0ub3Jn
LzIzNDAyMTMwMDIKKworICAgICAgICAqIGh0bWwvRE9NRm9ybURhdGEuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RE9NRm9ybURhdGE6OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9IVE1MQnV0dG9u
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQnV0dG9uRWxlbWVudDo6ZGVmYXVs
dEV2ZW50SGFuZGxlcik6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTEZvcm1FbGVtZW50OjpzdWJtaXQpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEZvcm1FbGVtZW50Ojpjb25zdHJ1Y3RFbnRyeUxpc3QpOgorICAgICAgICAqIGh0bWwv
SFRNTEZvcm1FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9TdWJtaXRJbnB1dFR5cGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U3VibWl0SW5wdXRUeXBlOjpoYW5kbGVET01BY3RpdmF0ZUV2ZW50
KToKKyAgICAgICAgKiBsb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9ybVN1Ym1pc3Npb246OmNyZWF0ZSk6CisKIDIwMjItMDQtMDQgIFRpbSBOZ3V5ZW4gIDxu
dGltQGFwcGxlLmNvbT4KIAogICAgICAgICBDb25kaXRpb25hbGx5IGluamVjdCA8YXR0YWNobWVu
dD4gc3R5bGVzIGJhc2VkIG9uIHJ1bnRpbWUgZmxhZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9ET01Gb3JtRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTUZvcm1EYXRh
LmNwcAppbmRleCA2ZjQ1ZTFjYzRmYmIyNmNkOWM3YzJkZjE2MzJiNjUyYmYxNjY1ZjgxLi4zN2Uy
MWVmYWQ1YTFmNmZmMWRkOTUzNzUyMzNlYjcyMDQ1M2RkNzI5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0RPTUZvcm1EYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RP
TUZvcm1EYXRhLmNwcApAQCAtNDgsNyArNDgsNyBAQCBFeGNlcHRpb25PcjxSZWY8RE9NRm9ybURh
dGE+PiBET01Gb3JtRGF0YTo6Y3JlYXRlKEhUTUxGb3JtRWxlbWVudCogZm9ybSkKICAgICBpZiAo
IWZvcm0pCiAgICAgICAgIHJldHVybiBmb3JtRGF0YTsKICAgICAKLSAgICBhdXRvIHJlc3VsdCA9
IGZvcm0tPmNvbnN0cnVjdEVudHJ5TGlzdChXVEZNb3ZlKGZvcm1EYXRhKSwgbnVsbHB0cik7Cisg
ICAgYXV0byByZXN1bHQgPSBmb3JtLT5jb25zdHJ1Y3RFbnRyeUxpc3QobnVsbHB0ciwgV1RGTW92
ZShmb3JtRGF0YSksIG51bGxwdHIpOwogICAgIAogICAgIGlmICghcmVzdWx0KQogICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJBbHJlYWR5IGNvbnN0cnVjdGlu
ZyBGb3JtIGVudHJ5IGxpc3QuIl9zIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxCdXR0b25FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVs
ZW1lbnQuY3BwCmluZGV4IGYzN2M2ZmNiZjM5MDA3NjIwYWUxZDk2M2JjZGYzMGYwMThjOTZkZTEu
LjNlZWNjMmRmZDhhOTYxZmZhZjk2MzY3ZWYyMGEyMzE4NzlmOTQ1MzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuY3BwCkBAIC0xNDUsMTAgKzE0NSw4IEBAIHZvaWQg
SFRNTEJ1dHRvbkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQmIGV2ZW50KQogICAg
ICAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMo
KTsKIAogICAgICAgICAgICAgaWYgKGF1dG8gY3VycmVudEZvcm0gPSBmb3JtKCkpIHsKLSAgICAg
ICAgICAgICAgICBpZiAobV90eXBlID09IFNVQk1JVCkgewotICAgICAgICAgICAgICAgICAgICBT
ZXRGb3JTY29wZSBhY3RpdmF0ZWRTdWJtaXRTdGF0ZShtX2lzQWN0aXZhdGVkU3VibWl0LCB0cnVl
KTsKKyAgICAgICAgICAgICAgICBpZiAobV90eXBlID09IFNVQk1JVCkKICAgICAgICAgICAgICAg
ICAgICAgY3VycmVudEZvcm0tPnN1Ym1pdElmUG9zc2libGUoJmV2ZW50LCB0aGlzKTsKLSAgICAg
ICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBpZiAobV90eXBlID09IFJFU0VUKQogICAg
ICAgICAgICAgICAgICAgICBjdXJyZW50Rm9ybS0+cmVzZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEZvcm1FbGVtZW50LmNwcAppbmRleCBkNGY1NmFkMTU5ZTQ3M2ZlOTNkMzYxNDE4ODM3NmU3
ZWFiY2FjZTkyLi5kMTViM2RlNDI3NDUwNzZmZjI5MjczMzVlZjE4ODk2YWM3MWFiOTE4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBAIC00MTUsOSArNDE1LDIxIEBA
IHZvaWQgSFRNTEZvcm1FbGVtZW50OjpzdWJtaXQoRXZlbnQqIGV2ZW50LCBib29sIGFjdGl2YXRl
U3VibWl0QnV0dG9uLCBib29sIHByb2NlCiAgICAgbV9pc1N1Ym1pdHRpbmdPclByZXBhcmluZ0Zv
clN1Ym1pc3Npb24gPSB0cnVlOwogICAgIG1fd2FzVXNlclN1Ym1pdHRlZCA9IHByb2Nlc3NpbmdV
c2VyR2VzdHVyZTsKIAorICAgIGlmIChldmVudCAmJiAhc3VibWl0dGVyKSB7CisgICAgICAgIC8v
IEluIGEgY2FzZSBvZiBpbXBsaWNpdCBzdWJtaXNzaW9uIHdpdGhvdXQgYSBzdWJtaXQgYnV0dG9u
LCAnc3VibWl0JyBldmVudCBoYW5kbGVyIG1pZ2h0IGFkZCBhIHN1Ym1pdCBidXR0b24uIFdlIHNl
YXJjaCBmb3IgYSBzdWJtaXQgYnV0dG9uIGFnYWluLgorICAgICAgICBhdXRvIGFzc29jaWF0ZWRF
bGVtZW50cyA9IGNvcHlBc3NvY2lhdGVkRWxlbWVudHNWZWN0b3IoKTsKKyAgICAgICAgZm9yIChh
dXRvJiBlbGVtZW50IDogYXNzb2NpYXRlZEVsZW1lbnRzKSB7CisgICAgICAgICAgICBpZiAoZWxl
bWVudC0+Zm9ybSgpID09IHRoaXMgJiYgaXM8SFRNTEZvcm1Db250cm9sRWxlbWVudD4oZWxlbWVu
dCkpIHsKKyAgICAgICAgICAgICAgICBIVE1MRm9ybUNvbnRyb2xFbGVtZW50JiBjb250cm9sID0g
ZG93bmNhc3Q8SFRNTEZvcm1Db250cm9sRWxlbWVudD4oZWxlbWVudC5nZXQoKSk7CisgICAgICAg
ICAgICAgICAgaWYgKGNvbnRyb2wuaXNTdWNjZXNzZnVsU3VibWl0QnV0dG9uKCkpIHsKKyAgICAg
ICAgICAgICAgICAgICAgc3VibWl0dGVyID0gJmNvbnRyb2w7CisgICAgICAgICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
IH0KKwogICAgIGF1dG8gZmlyc3RTdWNjZXNzZnVsU3VibWl0QnV0dG9uID0gZmluZFN1Ym1pdEJ1
dHRvbihzdWJtaXR0ZXIsIGFjdGl2YXRlU3VibWl0QnV0dG9uKTsKLSAgICBpZiAoZmlyc3RTdWNj
ZXNzZnVsU3VibWl0QnV0dG9uKQotICAgICAgICBmaXJzdFN1Y2Nlc3NmdWxTdWJtaXRCdXR0b24t
PnNldEFjdGl2YXRlZFN1Ym1pdCh0cnVlKTsKIAogICAgIFJlZiBwcm90ZWN0ZWRUaGlzIHsgKnRo
aXMgfTsgLy8gRm9ybSBzdWJtaXNzaW9uIGNhbiBleGVjdXRlIGFyYml0YXJ5IEphdmFTY3JpcHQu
CiAKQEAgLTQ0Myw5ICs0NTUsNiBAQCB2b2lkIEhUTUxGb3JtRWxlbWVudDo6c3VibWl0KEV2ZW50
KiBldmVudCwgYm9vbCBhY3RpdmF0ZVN1Ym1pdEJ1dHRvbiwgYm9vbCBwcm9jZQogICAgIGVsc2UK
ICAgICAgICAgZnJhbWUtPmxvYWRlcigpLnN1Ym1pdEZvcm0oV1RGTW92ZShmb3JtU3VibWlzc2lv
bikpOwogCi0gICAgaWYgKGZpcnN0U3VjY2Vzc2Z1bFN1Ym1pdEJ1dHRvbikKLSAgICAgICAgZmly
c3RTdWNjZXNzZnVsU3VibWl0QnV0dG9uLT5zZXRBY3RpdmF0ZWRTdWJtaXQoZmFsc2UpOwotCiAg
ICAgbV9zaG91bGRTdWJtaXQgPSBmYWxzZTsKICAgICBtX2lzU3VibWl0dGluZ09yUHJlcGFyaW5n
Rm9yU3VibWlzc2lvbiA9IGZhbHNlOwogfQpAQCAtMTAxNSw3ICsxMDI0LDcgQEAgY29uc3QgQXRv
bVN0cmluZyYgSFRNTEZvcm1FbGVtZW50OjphdXRvY29tcGxldGUoKSBjb25zdAogICAgIHJldHVy
biBlcXVhbElnbm9yaW5nQVNDSUlDYXNlKGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24o
YXV0b2NvbXBsZXRlQXR0ciksICJvZmYiKSA/IG9mZiA6IG9uOwogfQogCi1SZWZQdHI8RE9NRm9y
bURhdGE+IEhUTUxGb3JtRWxlbWVudDo6Y29uc3RydWN0RW50cnlMaXN0KFJlZjxET01Gb3JtRGF0
YT4mJiBkb21Gb3JtRGF0YSwgU3RyaW5nUGFpclZlY3RvciogZm9ybVZhbHVlcykKK1JlZlB0cjxE
T01Gb3JtRGF0YT4gSFRNTEZvcm1FbGVtZW50Ojpjb25zdHJ1Y3RFbnRyeUxpc3QoSFRNTEZvcm1D
b250cm9sRWxlbWVudCogc3VibWl0dGVyLCBSZWY8RE9NRm9ybURhdGE+JiYgZG9tRm9ybURhdGEs
IFN0cmluZ1BhaXJWZWN0b3IqIGZvcm1WYWx1ZXMpCiB7CiAgICAgLy8gaHR0cHM6Ly9odG1sLnNw
ZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvZm9ybS1jb250cm9sLWluZnJhc3RydWN0dXJlLmh0bWwj
Y29uc3RydWN0aW5nLWZvcm0tZGF0YS1zZXQKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwpA
QCAtMTAyNCw2ICsxMDMzLDkgQEAgUmVmUHRyPERPTUZvcm1EYXRhPiBIVE1MRm9ybUVsZW1lbnQ6
OmNvbnN0cnVjdEVudHJ5TGlzdChSZWY8RE9NRm9ybURhdGE+JiYgZG9tRm8KICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CiAgICAgCiAgICAgU2V0Rm9yU2NvcGUgaXNDb25zdHJ1Y3RpbmdFbnRyeUxp
c3RTY29wZShtX2lzQ29uc3RydWN0aW5nRW50cnlMaXN0LCB0cnVlKTsKKworICAgIGlmIChzdWJt
aXR0ZXIpCisgICAgICAgIHN1Ym1pdHRlci0+c2V0QWN0aXZhdGVkU3VibWl0KHRydWUpOwogICAg
IAogICAgIGZvciAoYXV0byYgY29udHJvbCA6IHRoaXMtPmNvcHlBc3NvY2lhdGVkRWxlbWVudHNW
ZWN0b3IoKSkgewogICAgICAgICBhdXRvJiBlbGVtZW50ID0gY29udHJvbC0+YXNIVE1MRWxlbWVu
dCgpOwpAQCAtMTAzOSw2ICsxMDUxLDkgQEAgUmVmUHRyPERPTUZvcm1EYXRhPiBIVE1MRm9ybUVs
ZW1lbnQ6OmNvbnN0cnVjdEVudHJ5TGlzdChSZWY8RE9NRm9ybURhdGE+JiYgZG9tRm8KICAgICB9
CiAgICAgCiAgICAgZGlzcGF0Y2hFdmVudChGb3JtRGF0YUV2ZW50OjpjcmVhdGUoZXZlbnROYW1l
cygpLmZvcm1kYXRhRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6OlllcywgRXZlbnQ6OklzQ2FuY2Vs
YWJsZTo6Tm8sIEV2ZW50OjpJc0NvbXBvc2VkOjpObywgZG9tRm9ybURhdGEuY29weVJlZigpKSk7
CisKKyAgICBpZiAoc3VibWl0dGVyKQorICAgICAgICBzdWJtaXR0ZXItPnNldEFjdGl2YXRlZFN1
Ym1pdChmYWxzZSk7CiAgICAgCiAgICAgcmV0dXJuIGRvbUZvcm1EYXRhLT5jbG9uZSgpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKaW5kZXggZTlhNDJjZmEzZDQxYTFjZjdk
OGFmYmEwZjVhZDhhODQzYWZiMzJhZS4uNGFkMjFjOGJlM2UxMDJjNzJlZThlOTJiZWNlZWJhMGVm
ZGEwNWYwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oCkBAIC0xMjcsNyAr
MTI3LDcgQEAgcHVibGljOgogCiAgICAgc3RhdGljIEhUTUxGb3JtRWxlbWVudCogZmluZENsb3Nl
c3RGb3JtQW5jZXN0b3IoY29uc3QgRWxlbWVudCYpOwogICAgIAotICAgIFJlZlB0cjxET01Gb3Jt
RGF0YT4gY29uc3RydWN0RW50cnlMaXN0KFJlZjxET01Gb3JtRGF0YT4mJiwgU3RyaW5nUGFpclZl
Y3RvciopOworICAgIFJlZlB0cjxET01Gb3JtRGF0YT4gY29uc3RydWN0RW50cnlMaXN0KEhUTUxG
b3JtQ29udHJvbEVsZW1lbnQqLCBSZWY8RE9NRm9ybURhdGE+JiYsIFN0cmluZ1BhaXJWZWN0b3Iq
KTsKICAgICAKIHByaXZhdGU6CiAgICAgSFRNTEZvcm1FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBEb2N1bWVudCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9TdWJtaXRJ
bnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TdWJtaXRJbnB1dFR5cGUuY3BwCmlu
ZGV4IGRjYTc1YzgyMzdmZDE5ZDgxNmYyN2JhY2UwNmQ0M2EwZWJhMTE1MmUuLjhjNjQ2OWZmZTM0
M2VlMDhhN2RmZjBhNDg3NGJkZGU3MWZhZTg1MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvU3VibWl0SW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1N1Ym1p
dElucHV0VHlwZS5jcHAKQEAgLTc0LDEwICs3NCw4IEBAIHZvaWQgU3VibWl0SW5wdXRUeXBlOjpo
YW5kbGVET01BY3RpdmF0ZUV2ZW50KEV2ZW50JiBldmVudCkKICAgICAvLyB0aGUgRm9ybSBvciBi
dXR0b24gcmVsYXRpb25zaGlwcy4KICAgICBwcm90ZWN0ZWRFbGVtZW50LT5kb2N1bWVudCgpLnVw
ZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogCi0gICAgcHJvdGVjdGVkRWxl
bWVudC0+c2V0QWN0aXZhdGVkU3VibWl0KHRydWUpOwogICAgIGlmIChSZWZQdHIgY3VycmVudEZv
cm0gPSBwcm90ZWN0ZWRFbGVtZW50LT5mb3JtKCkpCiAgICAgICAgIGN1cnJlbnRGb3JtLT5zdWJt
aXRJZlBvc3NpYmxlKCZldmVudCwgZWxlbWVudCgpKTsgLy8gRXZlbnQgaGFuZGxlcnMgY2FuIHJ1
bi4KLSAgICBwcm90ZWN0ZWRFbGVtZW50LT5zZXRBY3RpdmF0ZWRTdWJtaXQoZmFsc2UpOwogICAg
IGV2ZW50LnNldERlZmF1bHRIYW5kbGVkKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9y
bVN1Ym1pc3Npb24uY3BwCmluZGV4IGU2NGQ5YmJhOGYxNDEyMzg0ZTAwNjkwMTBhMjljY2NmMTk5
OTFhMTIuLjMzNGYyY2ExZTllMGFkZWRiNjJiMWZlM2YwMGFiZDgwMzlhNDczMWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmNwcApAQCAtMTcxLDcgKzE3MSw3IEBAIFJl
ZjxGb3JtU3VibWlzc2lvbj4gRm9ybVN1Ym1pc3Npb246OmNyZWF0ZShIVE1MRm9ybUVsZW1lbnQm
IGZvcm0sIEhUTUxGb3JtQ29udHJvCiB7CiAgICAgYXV0byBjb3BpZWRBdHRyaWJ1dGVzID0gYXR0
cmlidXRlczsKIAotICAgIFJlZlB0ciBzdWJtaXR0ZXIgPSBvdmVycmlkZVN1Ym1pdHRlciA/IG92
ZXJyaWRlU3VibWl0dGVyIDogZm9ybS5maW5kU3VibWl0dGVyKGV2ZW50KTsKKyAgICBIVE1MRm9y
bUNvbnRyb2xFbGVtZW50KiBzdWJtaXR0ZXIgPSBvdmVycmlkZVN1Ym1pdHRlciA/IG92ZXJyaWRl
U3VibWl0dGVyIDogZm9ybS5maW5kU3VibWl0dGVyKGV2ZW50KTsKICAgICBpZiAoc3VibWl0dGVy
KSB7CiAgICAgICAgIEF0b21TdHJpbmcgYXR0cmlidXRlVmFsdWU7CiAgICAgICAgIGlmICghKGF0
dHJpYnV0ZVZhbHVlID0gc3VibWl0dGVyLT5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9u
KGZvcm1hY3Rpb25BdHRyKSkuaXNOdWxsKCkpCkBAIC0xOTAsNyArMTkwLDcgQEAgUmVmPEZvcm1T
dWJtaXNzaW9uPiBGb3JtU3VibWlzc2lvbjo6Y3JlYXRlKEhUTUxGb3JtRWxlbWVudCYgZm9ybSwg
SFRNTEZvcm1Db250cm8KIAogICAgIGlmIChkb2N1bWVudC5zZXR0aW5ncygpLmRpYWxvZ0VsZW1l
bnRFbmFibGVkKCkgJiYgY29waWVkQXR0cmlidXRlcy5tZXRob2QoKSA9PSBNZXRob2Q6OkRpYWxv
ZykgewogICAgICAgICBTdHJpbmcgcmV0dXJuVmFsdWUgPSBzdWJtaXR0ZXIgPyBzdWJtaXR0ZXIt
PnJlc3VsdEZvckRpYWxvZ1N1Ym1pdCgpIDogZW1wdHlTdHJpbmcoKTsKLSAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgRm9ybVN1Ym1pc3Npb24oY29waWVkQXR0cmlidXRlcy5tZXRob2QoKSwg
cmV0dXJuVmFsdWUsIGFjdGlvblVSTCwgZm9ybS5lZmZlY3RpdmVUYXJnZXQoZXZlbnQsIHN1Ym1p
dHRlci5nZXQoKSksIGVuY29kaW5nVHlwZSwgbG9ja0hpc3RvcnksIGV2ZW50KSk7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IEZvcm1TdWJtaXNzaW9uKGNvcGllZEF0dHJpYnV0ZXMubWV0
aG9kKCksIHJldHVyblZhbHVlLCBhY3Rpb25VUkwsIGZvcm0uZWZmZWN0aXZlVGFyZ2V0KGV2ZW50
LCBzdWJtaXR0ZXIpLCBlbmNvZGluZ1R5cGUsIGxvY2tIaXN0b3J5LCBldmVudCkpOwogICAgIH0K
IAogICAgIEFTU0VSVChjb3BpZWRBdHRyaWJ1dGVzLm1ldGhvZCgpID09IE1ldGhvZDo6UG9zdCB8
fCBjb3BpZWRBdHRyaWJ1dGVzLm1ldGhvZCgpID09IE1ldGhvZDo6R2V0KTsKQEAgLTIxMiw3ICsy
MTIsNyBAQCBSZWY8Rm9ybVN1Ym1pc3Npb24+IEZvcm1TdWJtaXNzaW9uOjpjcmVhdGUoSFRNTEZv
cm1FbGVtZW50JiBmb3JtLCBIVE1MRm9ybUNvbnRybwogICAgIGF1dG8gZG9tRm9ybURhdGEgPSBE
T01Gb3JtRGF0YTo6Y3JlYXRlKGRhdGFFbmNvZGluZy5lbmNvZGluZ0ZvckZvcm1TdWJtaXNzaW9u
T3JVUkxQYXJzaW5nKCkpOwogICAgIFN0cmluZ1BhaXJWZWN0b3IgZm9ybVZhbHVlczsKIAotICAg
IGF1dG8gcmVzdWx0ID0gZm9ybS5jb25zdHJ1Y3RFbnRyeUxpc3QoV1RGTW92ZShkb21Gb3JtRGF0
YSksICZmb3JtVmFsdWVzKTsKKyAgICBhdXRvIHJlc3VsdCA9IGZvcm0uY29uc3RydWN0RW50cnlM
aXN0KHN1Ym1pdHRlciwgV1RGTW92ZShkb21Gb3JtRGF0YSksICZmb3JtVmFsdWVzKTsKICAgICBS
RUxFQVNFX0FTU0VSVChyZXN1bHQpOwogICAgIGRvbUZvcm1EYXRhID0gcmVzdWx0LnJlbGVhc2VO
b25OdWxsKCk7CiAKQEAgLTIzNSw3ICsyMzUsNyBAQCBSZWY8Rm9ybVN1Ym1pc3Npb24+IEZvcm1T
dWJtaXNzaW9uOjpjcmVhdGUoSFRNTEZvcm1FbGVtZW50JiBmb3JtLCBIVE1MRm9ybUNvbnRybwog
CiAgICAgYXV0byBmb3JtU3RhdGUgPSBGb3JtU3RhdGU6OmNyZWF0ZShmb3JtLCBXVEZNb3ZlKGZv
cm1WYWx1ZXMpLCBkb2N1bWVudCwgdHJpZ2dlcik7CiAKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBGb3JtU3VibWlzc2lvbihjb3BpZWRBdHRyaWJ1dGVzLm1ldGhvZCgpLCBhY3Rpb25VUkwsIGZv
cm0uZWZmZWN0aXZlVGFyZ2V0KGV2ZW50LCBzdWJtaXR0ZXIuZ2V0KCkpLCBlbmNvZGluZ1R5cGUs
IFdURk1vdmUoZm9ybVN0YXRlKSwgZm9ybURhdGEucmVsZWFzZU5vbk51bGwoKSwgYm91bmRhcnks
IGxvY2tIaXN0b3J5LCBldmVudCkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEZvcm1TdWJt
aXNzaW9uKGNvcGllZEF0dHJpYnV0ZXMubWV0aG9kKCksIGFjdGlvblVSTCwgZm9ybS5lZmZlY3Rp
dmVUYXJnZXQoZXZlbnQsIHN1Ym1pdHRlciksIGVuY29kaW5nVHlwZSwgV1RGTW92ZShmb3JtU3Rh
dGUpLCBmb3JtRGF0YS5yZWxlYXNlTm9uTnVsbCgpLCBib3VuZGFyeSwgbG9ja0hpc3RvcnksIGV2
ZW50KSk7CiB9CiAKIFVSTCBGb3JtU3VibWlzc2lvbjo6cmVxdWVzdFVSTCgpIGNvbnN0CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBhZTgwZDU0ZGI5YjM2NDU3ZTZjNWMzZWVmNTJh
ODU1ZmU4YjBjNDJlLi4zYTY2ZmNkMjRiMmIyZjFlZjc3ODMxYTgxMjNiZWI1YTNlMTg0MjFkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMi0wNC0x
MSAgWmlyYW4gU3VuICA8enN1bkBpZ2FsaWEuY29tPgorCisgICAgICAgIENvbnN0cnVjdGVkIEZv
cm1EYXRhIG9iamVjdCBzaG91bGQgbm90IGNvbnRhaW4gYW4gZW50cnkgZm9yIHRoZSBzdWJtaXQg
YnV0dG9uIHRoYXQgd2FzIHVzZWQgdG8gc3VibWl0IHRoZSBmb3JtCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzkwNzAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGVzdCBleHBlY3RhdGlvbiBh
cyB0aGUgc3ViLXRlc3QgaXMgbm93IHBhc3NpbmcuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL2Zvcm0tc3VibWlzc2lvbi0wL2NvbnN0cnVjdGluZy1m
b3JtLWRhdGEtc2V0LWV4cGVjdGVkLnR4dDoKKwogMjAyMi0wNC0wNCAgSiBQYXNjb2UgIDxqX3Bh
c2NvZUBhcHBsZS5jb20+CiAKICAgICAgICAgWyBpT1MgMTUgXSBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9kZXJpdmVfYml0c19rZXlzL3Bia2RmMi5odHRwcy5h
bnkud29ya2VyLmh0bWwgaXMgZmxha3kgdGltaW5nIG91dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy9m
b3JtLXN1Ym1pc3Npb24tMC9jb25zdHJ1Y3RpbmctZm9ybS1kYXRhLXNldC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2Zvcm1zL2Zvcm0tc3VibWlzc2lvbi0wL2NvbnN0cnVjdGluZy1mb3JtLWRhdGEtc2V0LWV4
cGVjdGVkLnR4dAppbmRleCBkOWQ5YzliNGUzMTBmNzQwZTkxYmQ5ZDQxYzhiNzA0ZWM5YmMyZDZm
Li5mZGM3Y2VmMGEwMmMxODExNGFmNTE0ZDE3MTY1MWIzYjYyZGQxMzBlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L2Zvcm1zL2Zvcm0tc3VibWlzc2lvbi0wL2NvbnN0cnVjdGluZy1mb3JtLWRhdGEtc2V0LWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2Zvcm1zL2Zvcm0tc3VibWlzc2lvbi0wL2NvbnN0cnVjdGluZy1mb3Jt
LWRhdGEtc2V0LWV4cGVjdGVkLnR4dApAQCAtMjEsNSArMjEsNSBAQCBQQVNTIEZpbGVzIGluIGEg
dGV4dC9wbGFpbiBmb3JtIHNob3cgdXAgYXMgRmlsZSBvYmplY3RzIGluIHRoZSAiZm9ybURhdGEi
IElETCBhdAogUEFTUyAiZm9ybURhdGEiIElETCBhdHRyaWJ1dGUgc2hvdWxkIGhhdmUgZW50cmll
cyBmb3IgZm9ybS1hc3NvY2lhdGVkIGVsZW1lbnRzIGluIHRoZSBmaXJzdCBldmVudCBoYW5kbGVy
LCBhbmQgdGhlIHNlY29uZCBoYW5kbGVyIGNhbiByZWFkIGVudHJpZXMgc2V0IGJ5IHRoZSBmaXJz
dCBoYW5kbGVyLgogUEFTUyBFbnRyaWVzIGFkZGVkIHRvICJmb3JtRGF0YSIgSURMIGF0dHJpYnV0
ZSBzaG91bGQgYmUgc3VibWl0dGVkLgogUEFTUyBFbnRyaWVzIGFkZGVkIHRvIHRoZSAiZm9ybWRh
dGEiIElETCBhdHRyaWJ1dGUgc2hvdWxkbid0IGJlIG5ld2xpbmUgbm9ybWFsaXplZCBpbiB0aGUg
cmVzdWx0aW5nIEZvcm1EYXRhCi1GQUlMIFRoZSBjb25zdHJ1Y3RlZCBGb3JtRGF0YSBvYmplY3Qg
c2hvdWxkIG5vdCBjb250YWluIGFuIGVudHJ5IGZvciB0aGUgc3VibWl0IGJ1dHRvbiB0aGF0IHdh
cyB1c2VkIHRvIHN1Ym1pdCB0aGUgZm9ybS4gYXNzZXJ0X2ZhbHNlOiBleHBlY3RlZCBmYWxzZSBn
b3QgdHJ1ZQorUEFTUyBUaGUgY29uc3RydWN0ZWQgRm9ybURhdGEgb2JqZWN0IHNob3VsZCBub3Qg
Y29udGFpbiBhbiBlbnRyeSBmb3IgdGhlIHN1Ym1pdCBidXR0b24gdGhhdCB3YXMgdXNlZCB0byBz
dWJtaXQgdGhlIGZvcm0uCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457519</attachid>
            <date>2022-04-13 02:46:03 -0700</date>
            <delta_ts>2022-04-14 01:58:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239070-20220413104602.patch</filename>
            <type>text/plain</type>
            <size>10804</size>
            <attacher>zsun</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMzA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjk1N2FiODViNWEyYjVi
MDc1M2YxMWU4OTRjZTkzNWE5NTljYzUyYi4uNThiNzFiMTdiYjZlZmVjYzIzNjFlOWEwZDQyMTFh
YzZlNTFjMThjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIyLTA0LTExICBaaXJh
biBTdW4gIDx6c3VuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQ29uc3RydWN0ZWQgRm9ybURhdGEg
b2JqZWN0IHNob3VsZCBub3QgY29udGFpbiBhbiBlbnRyeSBmb3IgdGhlIHN1Ym1pdCBidXR0b24g
dGhhdCB3YXMgdXNlZCB0byBzdWJtaXQgdGhlIGZvcm0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTA3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gdGhlIGFjdGl2ZWRTdWJtaXQgZmxhZyBpcyBz
ZXQgZm9yIGEgc3VibWl0IGJ1dHRvbiwgaXRzIHZhbHVlIGlzIGFwcGVuZGVkIHRvIGEgRm9ybURh
dGEuIEluIHRoZSBjYXNlIG9mIGZvcm0KKyAgICAgICAgc3VibWlzc2lvbiBjYWxsZWQgaW4gc3Vi
bWl0IGV2ZW50IGhhbmRsZXIsIHdlIGluY2x1ZGUgc3VibWl0IGJ1dHRvbiB3aGVuIGJ1aWxkIEZv
cm1EYXRhLiBUaGUgc3VibWl0IGJ1dHRvbiBzaG91bGQKKyAgICAgICAgbm90IGJlIGluY2x1ZGVk
IHRob3VnaC4gVGhpcyBwYXRjaCBjb3JyZWN0IGl0IGJ5IGNhbGxpbmcgc2V0IHRoZSBhY3RpdmF0
ZWRTdWJtaXQgZmxhZyBqdXN0IGJlZm9yZSBvciBhZnRlciBidWlsZGluZworICAgICAgICBGb3Jt
RGF0YS4KKyAgICAgICAgCisgICAgICAgIFBhcnQgb2YgdGhlIHBhdGNoIGlzIGFuIGltcG9ydCBv
ZiBDaHJvbWl1bSBDTCBhdAorICAgICAgICBodHRwczovL2NvZGVyZXZpZXcuY2hyb21pdW0ub3Jn
LzIzNDAyMTMwMDIKKworICAgICAgICAqIGh0bWwvRE9NRm9ybURhdGEuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RE9NRm9ybURhdGE6OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9IVE1MQnV0dG9u
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQnV0dG9uRWxlbWVudDo6ZGVmYXVs
dEV2ZW50SGFuZGxlcik6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTEZvcm1FbGVtZW50OjpzdWJtaXQpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEZvcm1FbGVtZW50Ojpjb25zdHJ1Y3RFbnRyeUxpc3QpOgorICAgICAgICAqIGh0bWwv
SFRNTEZvcm1FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9TdWJtaXRJbnB1dFR5cGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U3VibWl0SW5wdXRUeXBlOjpoYW5kbGVET01BY3RpdmF0ZUV2ZW50
KToKKyAgICAgICAgKiBsb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9ybVN1Ym1pc3Npb246OmNyZWF0ZSk6CisKIDIwMjItMDQtMDQgIFRpbSBOZ3V5ZW4gIDxu
dGltQGFwcGxlLmNvbT4KIAogICAgICAgICBDb25kaXRpb25hbGx5IGluamVjdCA8YXR0YWNobWVu
dD4gc3R5bGVzIGJhc2VkIG9uIHJ1bnRpbWUgZmxhZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9ET01Gb3JtRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTUZvcm1EYXRh
LmNwcAppbmRleCA2ZjQ1ZTFjYzRmYmIyNmNkOWM3YzJkZjE2MzJiNjUyYmYxNjY1ZjgxLi4zN2Uy
MWVmYWQ1YTFmNmZmMWRkOTUzNzUyMzNlYjcyMDQ1M2RkNzI5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0RPTUZvcm1EYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RP
TUZvcm1EYXRhLmNwcApAQCAtNDgsNyArNDgsNyBAQCBFeGNlcHRpb25PcjxSZWY8RE9NRm9ybURh
dGE+PiBET01Gb3JtRGF0YTo6Y3JlYXRlKEhUTUxGb3JtRWxlbWVudCogZm9ybSkKICAgICBpZiAo
IWZvcm0pCiAgICAgICAgIHJldHVybiBmb3JtRGF0YTsKICAgICAKLSAgICBhdXRvIHJlc3VsdCA9
IGZvcm0tPmNvbnN0cnVjdEVudHJ5TGlzdChXVEZNb3ZlKGZvcm1EYXRhKSwgbnVsbHB0cik7Cisg
ICAgYXV0byByZXN1bHQgPSBmb3JtLT5jb25zdHJ1Y3RFbnRyeUxpc3QobnVsbHB0ciwgV1RGTW92
ZShmb3JtRGF0YSksIG51bGxwdHIpOwogICAgIAogICAgIGlmICghcmVzdWx0KQogICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJBbHJlYWR5IGNvbnN0cnVjdGlu
ZyBGb3JtIGVudHJ5IGxpc3QuIl9zIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxCdXR0b25FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVs
ZW1lbnQuY3BwCmluZGV4IGYzN2M2ZmNiZjM5MDA3NjIwYWUxZDk2M2JjZGYzMGYwMThjOTZkZTEu
LjNlZWNjMmRmZDhhOTYxZmZhZjk2MzY3ZWYyMGEyMzE4NzlmOTQ1MzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuY3BwCkBAIC0xNDUsMTAgKzE0NSw4IEBAIHZvaWQg
SFRNTEJ1dHRvbkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQmIGV2ZW50KQogICAg
ICAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMo
KTsKIAogICAgICAgICAgICAgaWYgKGF1dG8gY3VycmVudEZvcm0gPSBmb3JtKCkpIHsKLSAgICAg
ICAgICAgICAgICBpZiAobV90eXBlID09IFNVQk1JVCkgewotICAgICAgICAgICAgICAgICAgICBT
ZXRGb3JTY29wZSBhY3RpdmF0ZWRTdWJtaXRTdGF0ZShtX2lzQWN0aXZhdGVkU3VibWl0LCB0cnVl
KTsKKyAgICAgICAgICAgICAgICBpZiAobV90eXBlID09IFNVQk1JVCkKICAgICAgICAgICAgICAg
ICAgICAgY3VycmVudEZvcm0tPnN1Ym1pdElmUG9zc2libGUoJmV2ZW50LCB0aGlzKTsKLSAgICAg
ICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBpZiAobV90eXBlID09IFJFU0VUKQogICAg
ICAgICAgICAgICAgICAgICBjdXJyZW50Rm9ybS0+cmVzZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEZvcm1FbGVtZW50LmNwcAppbmRleCBkNGY1NmFkMTU5ZTQ3M2ZlOTNkMzYxNDE4ODM3NmU3
ZWFiY2FjZTkyLi5kMTViM2RlNDI3NDUwNzZmZjI5MjczMzVlZjE4ODk2YWM3MWFiOTE4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBAIC00MTUsOSArNDE1LDIxIEBA
IHZvaWQgSFRNTEZvcm1FbGVtZW50OjpzdWJtaXQoRXZlbnQqIGV2ZW50LCBib29sIGFjdGl2YXRl
U3VibWl0QnV0dG9uLCBib29sIHByb2NlCiAgICAgbV9pc1N1Ym1pdHRpbmdPclByZXBhcmluZ0Zv
clN1Ym1pc3Npb24gPSB0cnVlOwogICAgIG1fd2FzVXNlclN1Ym1pdHRlZCA9IHByb2Nlc3NpbmdV
c2VyR2VzdHVyZTsKIAorICAgIGlmIChldmVudCAmJiAhc3VibWl0dGVyKSB7CisgICAgICAgIC8v
IEluIGEgY2FzZSBvZiBpbXBsaWNpdCBzdWJtaXNzaW9uIHdpdGhvdXQgYSBzdWJtaXQgYnV0dG9u
LCAnc3VibWl0JyBldmVudCBoYW5kbGVyIG1pZ2h0IGFkZCBhIHN1Ym1pdCBidXR0b24uIFdlIHNl
YXJjaCBmb3IgYSBzdWJtaXQgYnV0dG9uIGFnYWluLgorICAgICAgICBhdXRvIGFzc29jaWF0ZWRF
bGVtZW50cyA9IGNvcHlBc3NvY2lhdGVkRWxlbWVudHNWZWN0b3IoKTsKKyAgICAgICAgZm9yIChh
dXRvJiBlbGVtZW50IDogYXNzb2NpYXRlZEVsZW1lbnRzKSB7CisgICAgICAgICAgICBpZiAoZWxl
bWVudC0+Zm9ybSgpID09IHRoaXMgJiYgaXM8SFRNTEZvcm1Db250cm9sRWxlbWVudD4oZWxlbWVu
dCkpIHsKKyAgICAgICAgICAgICAgICBIVE1MRm9ybUNvbnRyb2xFbGVtZW50JiBjb250cm9sID0g
ZG93bmNhc3Q8SFRNTEZvcm1Db250cm9sRWxlbWVudD4oZWxlbWVudC5nZXQoKSk7CisgICAgICAg
ICAgICAgICAgaWYgKGNvbnRyb2wuaXNTdWNjZXNzZnVsU3VibWl0QnV0dG9uKCkpIHsKKyAgICAg
ICAgICAgICAgICAgICAgc3VibWl0dGVyID0gJmNvbnRyb2w7CisgICAgICAgICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
IH0KKwogICAgIGF1dG8gZmlyc3RTdWNjZXNzZnVsU3VibWl0QnV0dG9uID0gZmluZFN1Ym1pdEJ1
dHRvbihzdWJtaXR0ZXIsIGFjdGl2YXRlU3VibWl0QnV0dG9uKTsKLSAgICBpZiAoZmlyc3RTdWNj
ZXNzZnVsU3VibWl0QnV0dG9uKQotICAgICAgICBmaXJzdFN1Y2Nlc3NmdWxTdWJtaXRCdXR0b24t
PnNldEFjdGl2YXRlZFN1Ym1pdCh0cnVlKTsKIAogICAgIFJlZiBwcm90ZWN0ZWRUaGlzIHsgKnRo
aXMgfTsgLy8gRm9ybSBzdWJtaXNzaW9uIGNhbiBleGVjdXRlIGFyYml0YXJ5IEphdmFTY3JpcHQu
CiAKQEAgLTQ0Myw5ICs0NTUsNiBAQCB2b2lkIEhUTUxGb3JtRWxlbWVudDo6c3VibWl0KEV2ZW50
KiBldmVudCwgYm9vbCBhY3RpdmF0ZVN1Ym1pdEJ1dHRvbiwgYm9vbCBwcm9jZQogICAgIGVsc2UK
ICAgICAgICAgZnJhbWUtPmxvYWRlcigpLnN1Ym1pdEZvcm0oV1RGTW92ZShmb3JtU3VibWlzc2lv
bikpOwogCi0gICAgaWYgKGZpcnN0U3VjY2Vzc2Z1bFN1Ym1pdEJ1dHRvbikKLSAgICAgICAgZmly
c3RTdWNjZXNzZnVsU3VibWl0QnV0dG9uLT5zZXRBY3RpdmF0ZWRTdWJtaXQoZmFsc2UpOwotCiAg
ICAgbV9zaG91bGRTdWJtaXQgPSBmYWxzZTsKICAgICBtX2lzU3VibWl0dGluZ09yUHJlcGFyaW5n
Rm9yU3VibWlzc2lvbiA9IGZhbHNlOwogfQpAQCAtMTAxNSw3ICsxMDI0LDcgQEAgY29uc3QgQXRv
bVN0cmluZyYgSFRNTEZvcm1FbGVtZW50OjphdXRvY29tcGxldGUoKSBjb25zdAogICAgIHJldHVy
biBlcXVhbElnbm9yaW5nQVNDSUlDYXNlKGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24o
YXV0b2NvbXBsZXRlQXR0ciksICJvZmYiKSA/IG9mZiA6IG9uOwogfQogCi1SZWZQdHI8RE9NRm9y
bURhdGE+IEhUTUxGb3JtRWxlbWVudDo6Y29uc3RydWN0RW50cnlMaXN0KFJlZjxET01Gb3JtRGF0
YT4mJiBkb21Gb3JtRGF0YSwgU3RyaW5nUGFpclZlY3RvciogZm9ybVZhbHVlcykKK1JlZlB0cjxE
T01Gb3JtRGF0YT4gSFRNTEZvcm1FbGVtZW50Ojpjb25zdHJ1Y3RFbnRyeUxpc3QoSFRNTEZvcm1D
b250cm9sRWxlbWVudCogc3VibWl0dGVyLCBSZWY8RE9NRm9ybURhdGE+JiYgZG9tRm9ybURhdGEs
IFN0cmluZ1BhaXJWZWN0b3IqIGZvcm1WYWx1ZXMpCiB7CiAgICAgLy8gaHR0cHM6Ly9odG1sLnNw
ZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvZm9ybS1jb250cm9sLWluZnJhc3RydWN0dXJlLmh0bWwj
Y29uc3RydWN0aW5nLWZvcm0tZGF0YS1zZXQKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwpA
QCAtMTAyNCw2ICsxMDMzLDkgQEAgUmVmUHRyPERPTUZvcm1EYXRhPiBIVE1MRm9ybUVsZW1lbnQ6
OmNvbnN0cnVjdEVudHJ5TGlzdChSZWY8RE9NRm9ybURhdGE+JiYgZG9tRm8KICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CiAgICAgCiAgICAgU2V0Rm9yU2NvcGUgaXNDb25zdHJ1Y3RpbmdFbnRyeUxp
c3RTY29wZShtX2lzQ29uc3RydWN0aW5nRW50cnlMaXN0LCB0cnVlKTsKKworICAgIGlmIChzdWJt
aXR0ZXIpCisgICAgICAgIHN1Ym1pdHRlci0+c2V0QWN0aXZhdGVkU3VibWl0KHRydWUpOwogICAg
IAogICAgIGZvciAoYXV0byYgY29udHJvbCA6IHRoaXMtPmNvcHlBc3NvY2lhdGVkRWxlbWVudHNW
ZWN0b3IoKSkgewogICAgICAgICBhdXRvJiBlbGVtZW50ID0gY29udHJvbC0+YXNIVE1MRWxlbWVu
dCgpOwpAQCAtMTAzOSw2ICsxMDUxLDkgQEAgUmVmUHRyPERPTUZvcm1EYXRhPiBIVE1MRm9ybUVs
ZW1lbnQ6OmNvbnN0cnVjdEVudHJ5TGlzdChSZWY8RE9NRm9ybURhdGE+JiYgZG9tRm8KICAgICB9
CiAgICAgCiAgICAgZGlzcGF0Y2hFdmVudChGb3JtRGF0YUV2ZW50OjpjcmVhdGUoZXZlbnROYW1l
cygpLmZvcm1kYXRhRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6OlllcywgRXZlbnQ6OklzQ2FuY2Vs
YWJsZTo6Tm8sIEV2ZW50OjpJc0NvbXBvc2VkOjpObywgZG9tRm9ybURhdGEuY29weVJlZigpKSk7
CisKKyAgICBpZiAoc3VibWl0dGVyKQorICAgICAgICBzdWJtaXR0ZXItPnNldEFjdGl2YXRlZFN1
Ym1pdChmYWxzZSk7CiAgICAgCiAgICAgcmV0dXJuIGRvbUZvcm1EYXRhLT5jbG9uZSgpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKaW5kZXggZTlhNDJjZmEzZDQxYTFjZjdk
OGFmYmEwZjVhZDhhODQzYWZiMzJhZS4uNGFkMjFjOGJlM2UxMDJjNzJlZThlOTJiZWNlZWJhMGVm
ZGEwNWYwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oCkBAIC0xMjcsNyAr
MTI3LDcgQEAgcHVibGljOgogCiAgICAgc3RhdGljIEhUTUxGb3JtRWxlbWVudCogZmluZENsb3Nl
c3RGb3JtQW5jZXN0b3IoY29uc3QgRWxlbWVudCYpOwogICAgIAotICAgIFJlZlB0cjxET01Gb3Jt
RGF0YT4gY29uc3RydWN0RW50cnlMaXN0KFJlZjxET01Gb3JtRGF0YT4mJiwgU3RyaW5nUGFpclZl
Y3RvciopOworICAgIFJlZlB0cjxET01Gb3JtRGF0YT4gY29uc3RydWN0RW50cnlMaXN0KEhUTUxG
b3JtQ29udHJvbEVsZW1lbnQqLCBSZWY8RE9NRm9ybURhdGE+JiYsIFN0cmluZ1BhaXJWZWN0b3Iq
KTsKICAgICAKIHByaXZhdGU6CiAgICAgSFRNTEZvcm1FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBEb2N1bWVudCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9TdWJtaXRJ
bnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TdWJtaXRJbnB1dFR5cGUuY3BwCmlu
ZGV4IGRjYTc1YzgyMzdmZDE5ZDgxNmYyN2JhY2UwNmQ0M2EwZWJhMTE1MmUuLjhjNjQ2OWZmZTM0
M2VlMDhhN2RmZjBhNDg3NGJkZGU3MWZhZTg1MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvU3VibWl0SW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1N1Ym1p
dElucHV0VHlwZS5jcHAKQEAgLTc0LDEwICs3NCw4IEBAIHZvaWQgU3VibWl0SW5wdXRUeXBlOjpo
YW5kbGVET01BY3RpdmF0ZUV2ZW50KEV2ZW50JiBldmVudCkKICAgICAvLyB0aGUgRm9ybSBvciBi
dXR0b24gcmVsYXRpb25zaGlwcy4KICAgICBwcm90ZWN0ZWRFbGVtZW50LT5kb2N1bWVudCgpLnVw
ZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogCi0gICAgcHJvdGVjdGVkRWxl
bWVudC0+c2V0QWN0aXZhdGVkU3VibWl0KHRydWUpOwogICAgIGlmIChSZWZQdHIgY3VycmVudEZv
cm0gPSBwcm90ZWN0ZWRFbGVtZW50LT5mb3JtKCkpCiAgICAgICAgIGN1cnJlbnRGb3JtLT5zdWJt
aXRJZlBvc3NpYmxlKCZldmVudCwgZWxlbWVudCgpKTsgLy8gRXZlbnQgaGFuZGxlcnMgY2FuIHJ1
bi4KLSAgICBwcm90ZWN0ZWRFbGVtZW50LT5zZXRBY3RpdmF0ZWRTdWJtaXQoZmFsc2UpOwogICAg
IGV2ZW50LnNldERlZmF1bHRIYW5kbGVkKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9y
bVN1Ym1pc3Npb24uY3BwCmluZGV4IGU2NGQ5YmJhOGYxNDEyMzg0ZTAwNjkwMTBhMjljY2NmMTk5
OTFhMTIuLjZkNWE2YjI5MmI3Nzc3MTNmMmU0NDBjYzhiYzgxZjI2MjI1ZDY2MmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmNwcApAQCAtMjEyLDcgKzIxMiw3IEBAIFJl
ZjxGb3JtU3VibWlzc2lvbj4gRm9ybVN1Ym1pc3Npb246OmNyZWF0ZShIVE1MRm9ybUVsZW1lbnQm
IGZvcm0sIEhUTUxGb3JtQ29udHJvCiAgICAgYXV0byBkb21Gb3JtRGF0YSA9IERPTUZvcm1EYXRh
OjpjcmVhdGUoZGF0YUVuY29kaW5nLmVuY29kaW5nRm9yRm9ybVN1Ym1pc3Npb25PclVSTFBhcnNp
bmcoKSk7CiAgICAgU3RyaW5nUGFpclZlY3RvciBmb3JtVmFsdWVzOwogCi0gICAgYXV0byByZXN1
bHQgPSBmb3JtLmNvbnN0cnVjdEVudHJ5TGlzdChXVEZNb3ZlKGRvbUZvcm1EYXRhKSwgJmZvcm1W
YWx1ZXMpOworICAgIGF1dG8gcmVzdWx0ID0gZm9ybS5jb25zdHJ1Y3RFbnRyeUxpc3Qoc3VibWl0
dGVyLmdldCgpLCBXVEZNb3ZlKGRvbUZvcm1EYXRhKSwgJmZvcm1WYWx1ZXMpOwogICAgIFJFTEVB
U0VfQVNTRVJUKHJlc3VsdCk7CiAgICAgZG9tRm9ybURhdGEgPSByZXN1bHQucmVsZWFzZU5vbk51
bGwoKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYWU4MGQ1NGRiOWIzNjQ1
N2U2YzVjM2VlZjUyYTg1NWZlOGIwYzQyZS4uM2E2NmZjZDI0YjJiMmYxZWY3NzgzMWE4MTIzYmVi
NWEzZTE4NDIxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMjItMDQtMTEgIFppcmFuIFN1biAgPHpzdW5AaWdhbGlhLmNvbT4KKworICAgICAgICBD
b25zdHJ1Y3RlZCBGb3JtRGF0YSBvYmplY3Qgc2hvdWxkIG5vdCBjb250YWluIGFuIGVudHJ5IGZv
ciB0aGUgc3VibWl0IGJ1dHRvbiB0aGF0IHdhcyB1c2VkIHRvIHN1Ym1pdCB0aGUgZm9ybQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MDcwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIHRlc3Qg
ZXhwZWN0YXRpb24gYXMgdGhlIHN1Yi10ZXN0IGlzIG5vdyBwYXNzaW5nLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy9mb3JtLXN1Ym1pc3Npb24tMC9j
b25zdHJ1Y3RpbmctZm9ybS1kYXRhLXNldC1leHBlY3RlZC50eHQ6CisKIDIwMjItMDQtMDQgIEog
UGFzY29lICA8al9wYXNjb2VAYXBwbGUuY29tPgogCiAgICAgICAgIFsgaU9TIDE1IF0gaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9XZWJDcnlwdG9BUEkvZGVyaXZlX2JpdHNfa2V5cy9w
YmtkZjIuaHR0cHMuYW55Lndvcmtlci5odG1sIGlzIGZsYWt5IHRpbWluZyBvdXQKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZm9ybXMvZm9ybS1zdWJtaXNzaW9uLTAvY29uc3RydWN0aW5nLWZvcm0tZGF0YS1zZXQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9mb3Jtcy9mb3JtLXN1Ym1pc3Npb24tMC9jb25zdHJ1Y3RpbmctZm9y
bS1kYXRhLXNldC1leHBlY3RlZC50eHQKaW5kZXggZDlkOWM5YjRlMzEwZjc0MGU5MWJkOWQ0MWM4
YjcwNGVjOWJjMmQ2Zi4uZmRjN2NlZjBhMDJjMTgxMTRhZjUxNGQxNzE2NTFiM2I2MmRkMTMwZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9mb3Jtcy9mb3JtLXN1Ym1pc3Npb24tMC9jb25zdHJ1Y3RpbmctZm9ybS1k
YXRhLXNldC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy9mb3JtLXN1Ym1pc3Npb24tMC9jb25z
dHJ1Y3RpbmctZm9ybS1kYXRhLXNldC1leHBlY3RlZC50eHQKQEAgLTIxLDUgKzIxLDUgQEAgUEFT
UyBGaWxlcyBpbiBhIHRleHQvcGxhaW4gZm9ybSBzaG93IHVwIGFzIEZpbGUgb2JqZWN0cyBpbiB0
aGUgImZvcm1EYXRhIiBJREwgYXQKIFBBU1MgImZvcm1EYXRhIiBJREwgYXR0cmlidXRlIHNob3Vs
ZCBoYXZlIGVudHJpZXMgZm9yIGZvcm0tYXNzb2NpYXRlZCBlbGVtZW50cyBpbiB0aGUgZmlyc3Qg
ZXZlbnQgaGFuZGxlciwgYW5kIHRoZSBzZWNvbmQgaGFuZGxlciBjYW4gcmVhZCBlbnRyaWVzIHNl
dCBieSB0aGUgZmlyc3QgaGFuZGxlci4KIFBBU1MgRW50cmllcyBhZGRlZCB0byAiZm9ybURhdGEi
IElETCBhdHRyaWJ1dGUgc2hvdWxkIGJlIHN1Ym1pdHRlZC4KIFBBU1MgRW50cmllcyBhZGRlZCB0
byB0aGUgImZvcm1kYXRhIiBJREwgYXR0cmlidXRlIHNob3VsZG4ndCBiZSBuZXdsaW5lIG5vcm1h
bGl6ZWQgaW4gdGhlIHJlc3VsdGluZyBGb3JtRGF0YQotRkFJTCBUaGUgY29uc3RydWN0ZWQgRm9y
bURhdGEgb2JqZWN0IHNob3VsZCBub3QgY29udGFpbiBhbiBlbnRyeSBmb3IgdGhlIHN1Ym1pdCBi
dXR0b24gdGhhdCB3YXMgdXNlZCB0byBzdWJtaXQgdGhlIGZvcm0uIGFzc2VydF9mYWxzZTogZXhw
ZWN0ZWQgZmFsc2UgZ290IHRydWUKK1BBU1MgVGhlIGNvbnN0cnVjdGVkIEZvcm1EYXRhIG9iamVj
dCBzaG91bGQgbm90IGNvbnRhaW4gYW4gZW50cnkgZm9yIHRoZSBzdWJtaXQgYnV0dG9uIHRoYXQg
d2FzIHVzZWQgdG8gc3VibWl0IHRoZSBmb3JtLgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457604</attachid>
            <date>2022-04-14 01:58:36 -0700</date>
            <delta_ts>2022-04-14 03:26:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239070-20220414095835.patch</filename>
            <type>text/plain</type>
            <size>10779</size>
            <attacher>zsun</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMzA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjk1N2FiODViNWEyYjVi
MDc1M2YxMWU4OTRjZTkzNWE5NTljYzUyYi4uNThiNzFiMTdiYjZlZmVjYzIzNjFlOWEwZDQyMTFh
YzZlNTFjMThjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIyLTA0LTExICBaaXJh
biBTdW4gIDx6c3VuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQ29uc3RydWN0ZWQgRm9ybURhdGEg
b2JqZWN0IHNob3VsZCBub3QgY29udGFpbiBhbiBlbnRyeSBmb3IgdGhlIHN1Ym1pdCBidXR0b24g
dGhhdCB3YXMgdXNlZCB0byBzdWJtaXQgdGhlIGZvcm0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTA3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gdGhlIGFjdGl2ZWRTdWJtaXQgZmxhZyBpcyBz
ZXQgZm9yIGEgc3VibWl0IGJ1dHRvbiwgaXRzIHZhbHVlIGlzIGFwcGVuZGVkIHRvIGEgRm9ybURh
dGEuIEluIHRoZSBjYXNlIG9mIGZvcm0KKyAgICAgICAgc3VibWlzc2lvbiBjYWxsZWQgaW4gc3Vi
bWl0IGV2ZW50IGhhbmRsZXIsIHdlIGluY2x1ZGUgc3VibWl0IGJ1dHRvbiB3aGVuIGJ1aWxkIEZv
cm1EYXRhLiBUaGUgc3VibWl0IGJ1dHRvbiBzaG91bGQKKyAgICAgICAgbm90IGJlIGluY2x1ZGVk
IHRob3VnaC4gVGhpcyBwYXRjaCBjb3JyZWN0IGl0IGJ5IGNhbGxpbmcgc2V0IHRoZSBhY3RpdmF0
ZWRTdWJtaXQgZmxhZyBqdXN0IGJlZm9yZSBvciBhZnRlciBidWlsZGluZworICAgICAgICBGb3Jt
RGF0YS4KKyAgICAgICAgCisgICAgICAgIFBhcnQgb2YgdGhlIHBhdGNoIGlzIGFuIGltcG9ydCBv
ZiBDaHJvbWl1bSBDTCBhdAorICAgICAgICBodHRwczovL2NvZGVyZXZpZXcuY2hyb21pdW0ub3Jn
LzIzNDAyMTMwMDIKKworICAgICAgICAqIGh0bWwvRE9NRm9ybURhdGEuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RE9NRm9ybURhdGE6OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9IVE1MQnV0dG9u
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQnV0dG9uRWxlbWVudDo6ZGVmYXVs
dEV2ZW50SGFuZGxlcik6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTEZvcm1FbGVtZW50OjpzdWJtaXQpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEZvcm1FbGVtZW50Ojpjb25zdHJ1Y3RFbnRyeUxpc3QpOgorICAgICAgICAqIGh0bWwv
SFRNTEZvcm1FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9TdWJtaXRJbnB1dFR5cGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U3VibWl0SW5wdXRUeXBlOjpoYW5kbGVET01BY3RpdmF0ZUV2ZW50
KToKKyAgICAgICAgKiBsb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9ybVN1Ym1pc3Npb246OmNyZWF0ZSk6CisKIDIwMjItMDQtMDQgIFRpbSBOZ3V5ZW4gIDxu
dGltQGFwcGxlLmNvbT4KIAogICAgICAgICBDb25kaXRpb25hbGx5IGluamVjdCA8YXR0YWNobWVu
dD4gc3R5bGVzIGJhc2VkIG9uIHJ1bnRpbWUgZmxhZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9ET01Gb3JtRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTUZvcm1EYXRh
LmNwcAppbmRleCA2ZjQ1ZTFjYzRmYmIyNmNkOWM3YzJkZjE2MzJiNjUyYmYxNjY1ZjgxLi4zN2Uy
MWVmYWQ1YTFmNmZmMWRkOTUzNzUyMzNlYjcyMDQ1M2RkNzI5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0RPTUZvcm1EYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RP
TUZvcm1EYXRhLmNwcApAQCAtNDgsNyArNDgsNyBAQCBFeGNlcHRpb25PcjxSZWY8RE9NRm9ybURh
dGE+PiBET01Gb3JtRGF0YTo6Y3JlYXRlKEhUTUxGb3JtRWxlbWVudCogZm9ybSkKICAgICBpZiAo
IWZvcm0pCiAgICAgICAgIHJldHVybiBmb3JtRGF0YTsKICAgICAKLSAgICBhdXRvIHJlc3VsdCA9
IGZvcm0tPmNvbnN0cnVjdEVudHJ5TGlzdChXVEZNb3ZlKGZvcm1EYXRhKSwgbnVsbHB0cik7Cisg
ICAgYXV0byByZXN1bHQgPSBmb3JtLT5jb25zdHJ1Y3RFbnRyeUxpc3QobnVsbHB0ciwgV1RGTW92
ZShmb3JtRGF0YSksIG51bGxwdHIpOwogICAgIAogICAgIGlmICghcmVzdWx0KQogICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJBbHJlYWR5IGNvbnN0cnVjdGlu
ZyBGb3JtIGVudHJ5IGxpc3QuIl9zIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxCdXR0b25FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVs
ZW1lbnQuY3BwCmluZGV4IGYzN2M2ZmNiZjM5MDA3NjIwYWUxZDk2M2JjZGYzMGYwMThjOTZkZTEu
LjNlZWNjMmRmZDhhOTYxZmZhZjk2MzY3ZWYyMGEyMzE4NzlmOTQ1MzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuY3BwCkBAIC0xNDUsMTAgKzE0NSw4IEBAIHZvaWQg
SFRNTEJ1dHRvbkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQmIGV2ZW50KQogICAg
ICAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMo
KTsKIAogICAgICAgICAgICAgaWYgKGF1dG8gY3VycmVudEZvcm0gPSBmb3JtKCkpIHsKLSAgICAg
ICAgICAgICAgICBpZiAobV90eXBlID09IFNVQk1JVCkgewotICAgICAgICAgICAgICAgICAgICBT
ZXRGb3JTY29wZSBhY3RpdmF0ZWRTdWJtaXRTdGF0ZShtX2lzQWN0aXZhdGVkU3VibWl0LCB0cnVl
KTsKKyAgICAgICAgICAgICAgICBpZiAobV90eXBlID09IFNVQk1JVCkKICAgICAgICAgICAgICAg
ICAgICAgY3VycmVudEZvcm0tPnN1Ym1pdElmUG9zc2libGUoJmV2ZW50LCB0aGlzKTsKLSAgICAg
ICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBpZiAobV90eXBlID09IFJFU0VUKQogICAg
ICAgICAgICAgICAgICAgICBjdXJyZW50Rm9ybS0+cmVzZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEZvcm1FbGVtZW50LmNwcAppbmRleCBkNGY1NmFkMTU5ZTQ3M2ZlOTNkMzYxNDE4ODM3NmU3
ZWFiY2FjZTkyLi44ZTk2YWM4MGE0MWZlNDdhY2FiZjQ4NDkzMTEyYTY0OTE3OTA4NWNkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBAIC00MTUsOSArNDE1LDE5IEBA
IHZvaWQgSFRNTEZvcm1FbGVtZW50OjpzdWJtaXQoRXZlbnQqIGV2ZW50LCBib29sIGFjdGl2YXRl
U3VibWl0QnV0dG9uLCBib29sIHByb2NlCiAgICAgbV9pc1N1Ym1pdHRpbmdPclByZXBhcmluZ0Zv
clN1Ym1pc3Npb24gPSB0cnVlOwogICAgIG1fd2FzVXNlclN1Ym1pdHRlZCA9IHByb2Nlc3NpbmdV
c2VyR2VzdHVyZTsKIAotICAgIGF1dG8gZmlyc3RTdWNjZXNzZnVsU3VibWl0QnV0dG9uID0gZmlu
ZFN1Ym1pdEJ1dHRvbihzdWJtaXR0ZXIsIGFjdGl2YXRlU3VibWl0QnV0dG9uKTsKLSAgICBpZiAo
Zmlyc3RTdWNjZXNzZnVsU3VibWl0QnV0dG9uKQotICAgICAgICBmaXJzdFN1Y2Nlc3NmdWxTdWJt
aXRCdXR0b24tPnNldEFjdGl2YXRlZFN1Ym1pdCh0cnVlKTsKKyAgICBpZiAoZXZlbnQgJiYgIXN1
Ym1pdHRlcikgeworICAgICAgICAvLyBJbiBhIGNhc2Ugb2YgaW1wbGljaXQgc3VibWlzc2lvbiB3
aXRob3V0IGEgc3VibWl0IGJ1dHRvbiwgJ3N1Ym1pdCcgZXZlbnQgaGFuZGxlciBtaWdodCBhZGQg
YSBzdWJtaXQgYnV0dG9uLiBXZSBzZWFyY2ggZm9yIGEgc3VibWl0IGJ1dHRvbiBhZ2Fpbi4KKyAg
ICAgICAgYXV0byBhc3NvY2lhdGVkRWxlbWVudHMgPSBjb3B5QXNzb2NpYXRlZEVsZW1lbnRzVmVj
dG9yKCk7CisgICAgICAgIGZvciAoYXV0byYgZWxlbWVudCA6IGFzc29jaWF0ZWRFbGVtZW50cykg
eworICAgICAgICAgICAgaWYgKGlzPEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ+KGVsZW1lbnQpKSB7
CisgICAgICAgICAgICAgICAgYXV0byYgY29udHJvbCA9IGRvd25jYXN0PEhUTUxGb3JtQ29udHJv
bEVsZW1lbnQ+KGVsZW1lbnQuZ2V0KCkpOworICAgICAgICAgICAgICAgIGlmIChjb250cm9sLmlz
U3VjY2Vzc2Z1bFN1Ym1pdEJ1dHRvbigpKSB7CisgICAgICAgICAgICAgICAgICAgIHN1Ym1pdHRl
ciA9ICZjb250cm9sOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CiAKICAgICBSZWYgcHJvdGVjdGVk
VGhpcyB7ICp0aGlzIH07IC8vIEZvcm0gc3VibWlzc2lvbiBjYW4gZXhlY3V0ZSBhcmJpdGFyeSBK
YXZhU2NyaXB0LgogCkBAIC00NDMsOSArNDUzLDYgQEAgdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OnN1
Ym1pdChFdmVudCogZXZlbnQsIGJvb2wgYWN0aXZhdGVTdWJtaXRCdXR0b24sIGJvb2wgcHJvY2UK
ICAgICBlbHNlCiAgICAgICAgIGZyYW1lLT5sb2FkZXIoKS5zdWJtaXRGb3JtKFdURk1vdmUoZm9y
bVN1Ym1pc3Npb24pKTsKIAotICAgIGlmIChmaXJzdFN1Y2Nlc3NmdWxTdWJtaXRCdXR0b24pCi0g
ICAgICAgIGZpcnN0U3VjY2Vzc2Z1bFN1Ym1pdEJ1dHRvbi0+c2V0QWN0aXZhdGVkU3VibWl0KGZh
bHNlKTsKLQogICAgIG1fc2hvdWxkU3VibWl0ID0gZmFsc2U7CiAgICAgbV9pc1N1Ym1pdHRpbmdP
clByZXBhcmluZ0ZvclN1Ym1pc3Npb24gPSBmYWxzZTsKIH0KQEAgLTEwMTUsNyArMTAyMiw3IEBA
IGNvbnN0IEF0b21TdHJpbmcmIEhUTUxGb3JtRWxlbWVudDo6YXV0b2NvbXBsZXRlKCkgY29uc3QK
ICAgICByZXR1cm4gZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShhdHRyaWJ1dGVXaXRob3V0U3luY2hy
b25pemF0aW9uKGF1dG9jb21wbGV0ZUF0dHIpLCAib2ZmIikgPyBvZmYgOiBvbjsKIH0KIAotUmVm
UHRyPERPTUZvcm1EYXRhPiBIVE1MRm9ybUVsZW1lbnQ6OmNvbnN0cnVjdEVudHJ5TGlzdChSZWY8
RE9NRm9ybURhdGE+JiYgZG9tRm9ybURhdGEsIFN0cmluZ1BhaXJWZWN0b3IqIGZvcm1WYWx1ZXMp
CitSZWZQdHI8RE9NRm9ybURhdGE+IEhUTUxGb3JtRWxlbWVudDo6Y29uc3RydWN0RW50cnlMaXN0
KFJlZlB0cjxIVE1MRm9ybUNvbnRyb2xFbGVtZW50PiYmIHN1Ym1pdHRlciwgUmVmPERPTUZvcm1E
YXRhPiYmIGRvbUZvcm1EYXRhLCBTdHJpbmdQYWlyVmVjdG9yKiBmb3JtVmFsdWVzKQogewogICAg
IC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2Zvcm0tY29udHJvbC1p
bmZyYXN0cnVjdHVyZS5odG1sI2NvbnN0cnVjdGluZy1mb3JtLWRhdGEtc2V0CiAgICAgQVNTRVJU
KGlzTWFpblRocmVhZCgpKTsKQEAgLTEwMjQsNiArMTAzMSw5IEBAIFJlZlB0cjxET01Gb3JtRGF0
YT4gSFRNTEZvcm1FbGVtZW50Ojpjb25zdHJ1Y3RFbnRyeUxpc3QoUmVmPERPTUZvcm1EYXRhPiYm
IGRvbUZvCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIAogICAgIFNldEZvclNjb3BlIGlz
Q29uc3RydWN0aW5nRW50cnlMaXN0U2NvcGUobV9pc0NvbnN0cnVjdGluZ0VudHJ5TGlzdCwgdHJ1
ZSk7CisKKyAgICBpZiAoc3VibWl0dGVyKQorICAgICAgICBzdWJtaXR0ZXItPnNldEFjdGl2YXRl
ZFN1Ym1pdCh0cnVlKTsKICAgICAKICAgICBmb3IgKGF1dG8mIGNvbnRyb2wgOiB0aGlzLT5jb3B5
QXNzb2NpYXRlZEVsZW1lbnRzVmVjdG9yKCkpIHsKICAgICAgICAgYXV0byYgZWxlbWVudCA9IGNv
bnRyb2wtPmFzSFRNTEVsZW1lbnQoKTsKQEAgLTEwMzksNiArMTA0OSw5IEBAIFJlZlB0cjxET01G
b3JtRGF0YT4gSFRNTEZvcm1FbGVtZW50Ojpjb25zdHJ1Y3RFbnRyeUxpc3QoUmVmPERPTUZvcm1E
YXRhPiYmIGRvbUZvCiAgICAgfQogICAgIAogICAgIGRpc3BhdGNoRXZlbnQoRm9ybURhdGFFdmVu
dDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5mb3JtZGF0YUV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpZ
ZXMsIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vLCBFdmVudDo6SXNDb21wb3NlZDo6Tm8sIGRvbUZv
cm1EYXRhLmNvcHlSZWYoKSkpOworCisgICAgaWYgKHN1Ym1pdHRlcikKKyAgICAgICAgc3VibWl0
dGVyLT5zZXRBY3RpdmF0ZWRTdWJtaXQoZmFsc2UpOwogICAgIAogICAgIHJldHVybiBkb21Gb3Jt
RGF0YS0+Y2xvbmUoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oCmluZGV4
IGU5YTQyY2ZhM2Q0MWExY2Y3ZDhhZmJhMGY1YWQ4YTg0M2FmYjMyYWUuLjEwNjU4MmMxNjVhMTli
ZjhiMGM3MjY0YWU5YmVkNTkxMzdkNGMwZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZvcm1FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVs
ZW1lbnQuaApAQCAtMTI3LDcgKzEyNyw3IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBIVE1MRm9y
bUVsZW1lbnQqIGZpbmRDbG9zZXN0Rm9ybUFuY2VzdG9yKGNvbnN0IEVsZW1lbnQmKTsKICAgICAK
LSAgICBSZWZQdHI8RE9NRm9ybURhdGE+IGNvbnN0cnVjdEVudHJ5TGlzdChSZWY8RE9NRm9ybURh
dGE+JiYsIFN0cmluZ1BhaXJWZWN0b3IqKTsKKyAgICBSZWZQdHI8RE9NRm9ybURhdGE+IGNvbnN0
cnVjdEVudHJ5TGlzdChSZWZQdHI8SFRNTEZvcm1Db250cm9sRWxlbWVudD4mJiwgUmVmPERPTUZv
cm1EYXRhPiYmLCBTdHJpbmdQYWlyVmVjdG9yKik7CiAgICAgCiBwcml2YXRlOgogICAgIEhUTUxG
b3JtRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvU3VibWl0SW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvU3VibWl0SW5wdXRUeXBlLmNwcAppbmRleCBkY2E3NWM4MjM3ZmQxOWQ4MTZmMjdiYWNl
MDZkNDNhMGViYTExNTJlLi44YzY0NjlmZmUzNDNlZTA4YTdkZmYwYTQ4NzRiZGRlNzFmYWU4NTEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N1Ym1pdElucHV0VHlwZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9TdWJtaXRJbnB1dFR5cGUuY3BwCkBAIC03NCwxMCArNzQs
OCBAQCB2b2lkIFN1Ym1pdElucHV0VHlwZTo6aGFuZGxlRE9NQWN0aXZhdGVFdmVudChFdmVudCYg
ZXZlbnQpCiAgICAgLy8gdGhlIEZvcm0gb3IgYnV0dG9uIHJlbGF0aW9uc2hpcHMuCiAgICAgcHJv
dGVjdGVkRWxlbWVudC0+ZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVz
aGVldHMoKTsKIAotICAgIHByb3RlY3RlZEVsZW1lbnQtPnNldEFjdGl2YXRlZFN1Ym1pdCh0cnVl
KTsKICAgICBpZiAoUmVmUHRyIGN1cnJlbnRGb3JtID0gcHJvdGVjdGVkRWxlbWVudC0+Zm9ybSgp
KQogICAgICAgICBjdXJyZW50Rm9ybS0+c3VibWl0SWZQb3NzaWJsZSgmZXZlbnQsIGVsZW1lbnQo
KSk7IC8vIEV2ZW50IGhhbmRsZXJzIGNhbiBydW4uCi0gICAgcHJvdGVjdGVkRWxlbWVudC0+c2V0
QWN0aXZhdGVkU3VibWl0KGZhbHNlKTsKICAgICBldmVudC5zZXREZWZhdWx0SGFuZGxlZCgpOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmNwcAppbmRleCBlNjRkOWJi
YThmMTQxMjM4NGUwMDY5MDEwYTI5Y2NjZjE5OTkxYTEyLi43YmE4MzYyYTkwMmI1YTgwOTI3NGM5
YzY2Yjg3NDVmZThiMTlkZWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9y
bVN1Ym1pc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lv
bi5jcHAKQEAgLTIxMiw3ICsyMTIsNyBAQCBSZWY8Rm9ybVN1Ym1pc3Npb24+IEZvcm1TdWJtaXNz
aW9uOjpjcmVhdGUoSFRNTEZvcm1FbGVtZW50JiBmb3JtLCBIVE1MRm9ybUNvbnRybwogICAgIGF1
dG8gZG9tRm9ybURhdGEgPSBET01Gb3JtRGF0YTo6Y3JlYXRlKGRhdGFFbmNvZGluZy5lbmNvZGlu
Z0ZvckZvcm1TdWJtaXNzaW9uT3JVUkxQYXJzaW5nKCkpOwogICAgIFN0cmluZ1BhaXJWZWN0b3Ig
Zm9ybVZhbHVlczsKIAotICAgIGF1dG8gcmVzdWx0ID0gZm9ybS5jb25zdHJ1Y3RFbnRyeUxpc3Qo
V1RGTW92ZShkb21Gb3JtRGF0YSksICZmb3JtVmFsdWVzKTsKKyAgICBhdXRvIHJlc3VsdCA9IGZv
cm0uY29uc3RydWN0RW50cnlMaXN0KHN1Ym1pdHRlci5jb3B5UmVmKCksIFdURk1vdmUoZG9tRm9y
bURhdGEpLCAmZm9ybVZhbHVlcyk7CiAgICAgUkVMRUFTRV9BU1NFUlQocmVzdWx0KTsKICAgICBk
b21Gb3JtRGF0YSA9IHJlc3VsdC5yZWxlYXNlTm9uTnVsbCgpOwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwppbmRleCBhZTgwZDU0ZGI5YjM2NDU3ZTZjNWMzZWVmNTJhODU1ZmU4YjBjNDJl
Li4zYTY2ZmNkMjRiMmIyZjFlZjc3ODMxYTgxMjNiZWI1YTNlMTg0MjFkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMi0wNC0xMSAgWmlyYW4gU3Vu
ICA8enN1bkBpZ2FsaWEuY29tPgorCisgICAgICAgIENvbnN0cnVjdGVkIEZvcm1EYXRhIG9iamVj
dCBzaG91bGQgbm90IGNvbnRhaW4gYW4gZW50cnkgZm9yIHRoZSBzdWJtaXQgYnV0dG9uIHRoYXQg
d2FzIHVzZWQgdG8gc3VibWl0IHRoZSBmb3JtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzkwNzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGVzdCBleHBlY3RhdGlvbiBhcyB0aGUgc3ViLXRl
c3QgaXMgbm93IHBhc3NpbmcuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2Zvcm1zL2Zvcm0tc3VibWlzc2lvbi0wL2NvbnN0cnVjdGluZy1mb3JtLWRhdGEtc2V0
LWV4cGVjdGVkLnR4dDoKKwogMjAyMi0wNC0wNCAgSiBQYXNjb2UgIDxqX3Bhc2NvZUBhcHBsZS5j
b20+CiAKICAgICAgICAgWyBpT1MgMTUgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L1dlYkNyeXB0b0FQSS9kZXJpdmVfYml0c19rZXlzL3Bia2RmMi5odHRwcy5hbnkud29ya2VyLmh0
bWwgaXMgZmxha3kgdGltaW5nIG91dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy9mb3JtLXN1Ym1pc3Np
b24tMC9jb25zdHJ1Y3RpbmctZm9ybS1kYXRhLXNldC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL2Zv
cm0tc3VibWlzc2lvbi0wL2NvbnN0cnVjdGluZy1mb3JtLWRhdGEtc2V0LWV4cGVjdGVkLnR4dApp
bmRleCBkOWQ5YzliNGUzMTBmNzQwZTkxYmQ5ZDQxYzhiNzA0ZWM5YmMyZDZmLi5mZGM3Y2VmMGEw
MmMxODExNGFmNTE0ZDE3MTY1MWIzYjYyZGQxMzBlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL2Zvcm0t
c3VibWlzc2lvbi0wL2NvbnN0cnVjdGluZy1mb3JtLWRhdGEtc2V0LWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2Zvcm1zL2Zvcm0tc3VibWlzc2lvbi0wL2NvbnN0cnVjdGluZy1mb3JtLWRhdGEtc2V0LWV4
cGVjdGVkLnR4dApAQCAtMjEsNSArMjEsNSBAQCBQQVNTIEZpbGVzIGluIGEgdGV4dC9wbGFpbiBm
b3JtIHNob3cgdXAgYXMgRmlsZSBvYmplY3RzIGluIHRoZSAiZm9ybURhdGEiIElETCBhdAogUEFT
UyAiZm9ybURhdGEiIElETCBhdHRyaWJ1dGUgc2hvdWxkIGhhdmUgZW50cmllcyBmb3IgZm9ybS1h
c3NvY2lhdGVkIGVsZW1lbnRzIGluIHRoZSBmaXJzdCBldmVudCBoYW5kbGVyLCBhbmQgdGhlIHNl
Y29uZCBoYW5kbGVyIGNhbiByZWFkIGVudHJpZXMgc2V0IGJ5IHRoZSBmaXJzdCBoYW5kbGVyLgog
UEFTUyBFbnRyaWVzIGFkZGVkIHRvICJmb3JtRGF0YSIgSURMIGF0dHJpYnV0ZSBzaG91bGQgYmUg
c3VibWl0dGVkLgogUEFTUyBFbnRyaWVzIGFkZGVkIHRvIHRoZSAiZm9ybWRhdGEiIElETCBhdHRy
aWJ1dGUgc2hvdWxkbid0IGJlIG5ld2xpbmUgbm9ybWFsaXplZCBpbiB0aGUgcmVzdWx0aW5nIEZv
cm1EYXRhCi1GQUlMIFRoZSBjb25zdHJ1Y3RlZCBGb3JtRGF0YSBvYmplY3Qgc2hvdWxkIG5vdCBj
b250YWluIGFuIGVudHJ5IGZvciB0aGUgc3VibWl0IGJ1dHRvbiB0aGF0IHdhcyB1c2VkIHRvIHN1
Ym1pdCB0aGUgZm9ybS4gYXNzZXJ0X2ZhbHNlOiBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQorUEFT
UyBUaGUgY29uc3RydWN0ZWQgRm9ybURhdGEgb2JqZWN0IHNob3VsZCBub3QgY29udGFpbiBhbiBl
bnRyeSBmb3IgdGhlIHN1Ym1pdCBidXR0b24gdGhhdCB3YXMgdXNlZCB0byBzdWJtaXQgdGhlIGZv
cm0uCiAK
</data>
<flag name="commit-queue"
          id="486264"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457608</attachid>
            <date>2022-04-14 03:05:54 -0700</date>
            <delta_ts>2022-04-14 05:04:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239070-20220414110552.patch</filename>
            <type>text/plain</type>
            <size>10779</size>
            <attacher>zsun</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMzA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjk1N2FiODViNWEyYjVi
MDc1M2YxMWU4OTRjZTkzNWE5NTljYzUyYi4uNThiNzFiMTdiYjZlZmVjYzIzNjFlOWEwZDQyMTFh
YzZlNTFjMThjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIyLTA0LTExICBaaXJh
biBTdW4gIDx6c3VuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQ29uc3RydWN0ZWQgRm9ybURhdGEg
b2JqZWN0IHNob3VsZCBub3QgY29udGFpbiBhbiBlbnRyeSBmb3IgdGhlIHN1Ym1pdCBidXR0b24g
dGhhdCB3YXMgdXNlZCB0byBzdWJtaXQgdGhlIGZvcm0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTA3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gdGhlIGFjdGl2ZWRTdWJtaXQgZmxhZyBpcyBz
ZXQgZm9yIGEgc3VibWl0IGJ1dHRvbiwgaXRzIHZhbHVlIGlzIGFwcGVuZGVkIHRvIGEgRm9ybURh
dGEuIEluIHRoZSBjYXNlIG9mIGZvcm0KKyAgICAgICAgc3VibWlzc2lvbiBjYWxsZWQgaW4gc3Vi
bWl0IGV2ZW50IGhhbmRsZXIsIHdlIGluY2x1ZGUgc3VibWl0IGJ1dHRvbiB3aGVuIGJ1aWxkIEZv
cm1EYXRhLiBUaGUgc3VibWl0IGJ1dHRvbiBzaG91bGQKKyAgICAgICAgbm90IGJlIGluY2x1ZGVk
IHRob3VnaC4gVGhpcyBwYXRjaCBjb3JyZWN0IGl0IGJ5IGNhbGxpbmcgc2V0IHRoZSBhY3RpdmF0
ZWRTdWJtaXQgZmxhZyBqdXN0IGJlZm9yZSBvciBhZnRlciBidWlsZGluZworICAgICAgICBGb3Jt
RGF0YS4KKyAgICAgICAgCisgICAgICAgIFBhcnQgb2YgdGhlIHBhdGNoIGlzIGFuIGltcG9ydCBv
ZiBDaHJvbWl1bSBDTCBhdAorICAgICAgICBodHRwczovL2NvZGVyZXZpZXcuY2hyb21pdW0ub3Jn
LzIzNDAyMTMwMDIKKworICAgICAgICAqIGh0bWwvRE9NRm9ybURhdGEuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RE9NRm9ybURhdGE6OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9IVE1MQnV0dG9u
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQnV0dG9uRWxlbWVudDo6ZGVmYXVs
dEV2ZW50SGFuZGxlcik6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTEZvcm1FbGVtZW50OjpzdWJtaXQpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEZvcm1FbGVtZW50Ojpjb25zdHJ1Y3RFbnRyeUxpc3QpOgorICAgICAgICAqIGh0bWwv
SFRNTEZvcm1FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9TdWJtaXRJbnB1dFR5cGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U3VibWl0SW5wdXRUeXBlOjpoYW5kbGVET01BY3RpdmF0ZUV2ZW50
KToKKyAgICAgICAgKiBsb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9ybVN1Ym1pc3Npb246OmNyZWF0ZSk6CisKIDIwMjItMDQtMDQgIFRpbSBOZ3V5ZW4gIDxu
dGltQGFwcGxlLmNvbT4KIAogICAgICAgICBDb25kaXRpb25hbGx5IGluamVjdCA8YXR0YWNobWVu
dD4gc3R5bGVzIGJhc2VkIG9uIHJ1bnRpbWUgZmxhZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9ET01Gb3JtRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTUZvcm1EYXRh
LmNwcAppbmRleCA2ZjQ1ZTFjYzRmYmIyNmNkOWM3YzJkZjE2MzJiNjUyYmYxNjY1ZjgxLi4zN2Uy
MWVmYWQ1YTFmNmZmMWRkOTUzNzUyMzNlYjcyMDQ1M2RkNzI5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0RPTUZvcm1EYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RP
TUZvcm1EYXRhLmNwcApAQCAtNDgsNyArNDgsNyBAQCBFeGNlcHRpb25PcjxSZWY8RE9NRm9ybURh
dGE+PiBET01Gb3JtRGF0YTo6Y3JlYXRlKEhUTUxGb3JtRWxlbWVudCogZm9ybSkKICAgICBpZiAo
IWZvcm0pCiAgICAgICAgIHJldHVybiBmb3JtRGF0YTsKICAgICAKLSAgICBhdXRvIHJlc3VsdCA9
IGZvcm0tPmNvbnN0cnVjdEVudHJ5TGlzdChXVEZNb3ZlKGZvcm1EYXRhKSwgbnVsbHB0cik7Cisg
ICAgYXV0byByZXN1bHQgPSBmb3JtLT5jb25zdHJ1Y3RFbnRyeUxpc3QobnVsbHB0ciwgV1RGTW92
ZShmb3JtRGF0YSksIG51bGxwdHIpOwogICAgIAogICAgIGlmICghcmVzdWx0KQogICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJBbHJlYWR5IGNvbnN0cnVjdGlu
ZyBGb3JtIGVudHJ5IGxpc3QuIl9zIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxCdXR0b25FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVs
ZW1lbnQuY3BwCmluZGV4IGYzN2M2ZmNiZjM5MDA3NjIwYWUxZDk2M2JjZGYzMGYwMThjOTZkZTEu
LjNlZWNjMmRmZDhhOTYxZmZhZjk2MzY3ZWYyMGEyMzE4NzlmOTQ1MzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuY3BwCkBAIC0xNDUsMTAgKzE0NSw4IEBAIHZvaWQg
SFRNTEJ1dHRvbkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQmIGV2ZW50KQogICAg
ICAgICAgICAgZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMo
KTsKIAogICAgICAgICAgICAgaWYgKGF1dG8gY3VycmVudEZvcm0gPSBmb3JtKCkpIHsKLSAgICAg
ICAgICAgICAgICBpZiAobV90eXBlID09IFNVQk1JVCkgewotICAgICAgICAgICAgICAgICAgICBT
ZXRGb3JTY29wZSBhY3RpdmF0ZWRTdWJtaXRTdGF0ZShtX2lzQWN0aXZhdGVkU3VibWl0LCB0cnVl
KTsKKyAgICAgICAgICAgICAgICBpZiAobV90eXBlID09IFNVQk1JVCkKICAgICAgICAgICAgICAg
ICAgICAgY3VycmVudEZvcm0tPnN1Ym1pdElmUG9zc2libGUoJmV2ZW50LCB0aGlzKTsKLSAgICAg
ICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBpZiAobV90eXBlID09IFJFU0VUKQogICAg
ICAgICAgICAgICAgICAgICBjdXJyZW50Rm9ybS0+cmVzZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEZvcm1FbGVtZW50LmNwcAppbmRleCBkNGY1NmFkMTU5ZTQ3M2ZlOTNkMzYxNDE4ODM3NmU3
ZWFiY2FjZTkyLi44ZTk2YWM4MGE0MWZlNDdhY2FiZjQ4NDkzMTEyYTY0OTE3OTA4NWNkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwCkBAIC00MTUsOSArNDE1LDE5IEBA
IHZvaWQgSFRNTEZvcm1FbGVtZW50OjpzdWJtaXQoRXZlbnQqIGV2ZW50LCBib29sIGFjdGl2YXRl
U3VibWl0QnV0dG9uLCBib29sIHByb2NlCiAgICAgbV9pc1N1Ym1pdHRpbmdPclByZXBhcmluZ0Zv
clN1Ym1pc3Npb24gPSB0cnVlOwogICAgIG1fd2FzVXNlclN1Ym1pdHRlZCA9IHByb2Nlc3NpbmdV
c2VyR2VzdHVyZTsKIAotICAgIGF1dG8gZmlyc3RTdWNjZXNzZnVsU3VibWl0QnV0dG9uID0gZmlu
ZFN1Ym1pdEJ1dHRvbihzdWJtaXR0ZXIsIGFjdGl2YXRlU3VibWl0QnV0dG9uKTsKLSAgICBpZiAo
Zmlyc3RTdWNjZXNzZnVsU3VibWl0QnV0dG9uKQotICAgICAgICBmaXJzdFN1Y2Nlc3NmdWxTdWJt
aXRCdXR0b24tPnNldEFjdGl2YXRlZFN1Ym1pdCh0cnVlKTsKKyAgICBpZiAoZXZlbnQgJiYgIXN1
Ym1pdHRlcikgeworICAgICAgICAvLyBJbiBhIGNhc2Ugb2YgaW1wbGljaXQgc3VibWlzc2lvbiB3
aXRob3V0IGEgc3VibWl0IGJ1dHRvbiwgJ3N1Ym1pdCcgZXZlbnQgaGFuZGxlciBtaWdodCBhZGQg
YSBzdWJtaXQgYnV0dG9uLiBXZSBzZWFyY2ggZm9yIGEgc3VibWl0IGJ1dHRvbiBhZ2Fpbi4KKyAg
ICAgICAgYXV0byBhc3NvY2lhdGVkRWxlbWVudHMgPSBjb3B5QXNzb2NpYXRlZEVsZW1lbnRzVmVj
dG9yKCk7CisgICAgICAgIGZvciAoYXV0byYgZWxlbWVudCA6IGFzc29jaWF0ZWRFbGVtZW50cykg
eworICAgICAgICAgICAgaWYgKGlzPEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ+KGVsZW1lbnQpKSB7
CisgICAgICAgICAgICAgICAgYXV0byYgY29udHJvbCA9IGRvd25jYXN0PEhUTUxGb3JtQ29udHJv
bEVsZW1lbnQ+KGVsZW1lbnQuZ2V0KCkpOworICAgICAgICAgICAgICAgIGlmIChjb250cm9sLmlz
U3VjY2Vzc2Z1bFN1Ym1pdEJ1dHRvbigpKSB7CisgICAgICAgICAgICAgICAgICAgIHN1Ym1pdHRl
ciA9ICZjb250cm9sOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CiAKICAgICBSZWYgcHJvdGVjdGVk
VGhpcyB7ICp0aGlzIH07IC8vIEZvcm0gc3VibWlzc2lvbiBjYW4gZXhlY3V0ZSBhcmJpdGFyeSBK
YXZhU2NyaXB0LgogCkBAIC00NDMsOSArNDUzLDYgQEAgdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OnN1
Ym1pdChFdmVudCogZXZlbnQsIGJvb2wgYWN0aXZhdGVTdWJtaXRCdXR0b24sIGJvb2wgcHJvY2UK
ICAgICBlbHNlCiAgICAgICAgIGZyYW1lLT5sb2FkZXIoKS5zdWJtaXRGb3JtKFdURk1vdmUoZm9y
bVN1Ym1pc3Npb24pKTsKIAotICAgIGlmIChmaXJzdFN1Y2Nlc3NmdWxTdWJtaXRCdXR0b24pCi0g
ICAgICAgIGZpcnN0U3VjY2Vzc2Z1bFN1Ym1pdEJ1dHRvbi0+c2V0QWN0aXZhdGVkU3VibWl0KGZh
bHNlKTsKLQogICAgIG1fc2hvdWxkU3VibWl0ID0gZmFsc2U7CiAgICAgbV9pc1N1Ym1pdHRpbmdP
clByZXBhcmluZ0ZvclN1Ym1pc3Npb24gPSBmYWxzZTsKIH0KQEAgLTEwMTUsNyArMTAyMiw3IEBA
IGNvbnN0IEF0b21TdHJpbmcmIEhUTUxGb3JtRWxlbWVudDo6YXV0b2NvbXBsZXRlKCkgY29uc3QK
ICAgICByZXR1cm4gZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShhdHRyaWJ1dGVXaXRob3V0U3luY2hy
b25pemF0aW9uKGF1dG9jb21wbGV0ZUF0dHIpLCAib2ZmIikgPyBvZmYgOiBvbjsKIH0KIAotUmVm
UHRyPERPTUZvcm1EYXRhPiBIVE1MRm9ybUVsZW1lbnQ6OmNvbnN0cnVjdEVudHJ5TGlzdChSZWY8
RE9NRm9ybURhdGE+JiYgZG9tRm9ybURhdGEsIFN0cmluZ1BhaXJWZWN0b3IqIGZvcm1WYWx1ZXMp
CitSZWZQdHI8RE9NRm9ybURhdGE+IEhUTUxGb3JtRWxlbWVudDo6Y29uc3RydWN0RW50cnlMaXN0
KFJlZlB0cjxIVE1MRm9ybUNvbnRyb2xFbGVtZW50PiYmIHN1Ym1pdHRlciwgUmVmPERPTUZvcm1E
YXRhPiYmIGRvbUZvcm1EYXRhLCBTdHJpbmdQYWlyVmVjdG9yKiBmb3JtVmFsdWVzKQogewogICAg
IC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2Zvcm0tY29udHJvbC1p
bmZyYXN0cnVjdHVyZS5odG1sI2NvbnN0cnVjdGluZy1mb3JtLWRhdGEtc2V0CiAgICAgQVNTRVJU
KGlzTWFpblRocmVhZCgpKTsKQEAgLTEwMjQsNiArMTAzMSw5IEBAIFJlZlB0cjxET01Gb3JtRGF0
YT4gSFRNTEZvcm1FbGVtZW50Ojpjb25zdHJ1Y3RFbnRyeUxpc3QoUmVmPERPTUZvcm1EYXRhPiYm
IGRvbUZvCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIAogICAgIFNldEZvclNjb3BlIGlz
Q29uc3RydWN0aW5nRW50cnlMaXN0U2NvcGUobV9pc0NvbnN0cnVjdGluZ0VudHJ5TGlzdCwgdHJ1
ZSk7CisKKyAgICBpZiAoc3VibWl0dGVyKQorICAgICAgICBzdWJtaXR0ZXItPnNldEFjdGl2YXRl
ZFN1Ym1pdCh0cnVlKTsKICAgICAKICAgICBmb3IgKGF1dG8mIGNvbnRyb2wgOiB0aGlzLT5jb3B5
QXNzb2NpYXRlZEVsZW1lbnRzVmVjdG9yKCkpIHsKICAgICAgICAgYXV0byYgZWxlbWVudCA9IGNv
bnRyb2wtPmFzSFRNTEVsZW1lbnQoKTsKQEAgLTEwMzksNiArMTA0OSw5IEBAIFJlZlB0cjxET01G
b3JtRGF0YT4gSFRNTEZvcm1FbGVtZW50Ojpjb25zdHJ1Y3RFbnRyeUxpc3QoUmVmPERPTUZvcm1E
YXRhPiYmIGRvbUZvCiAgICAgfQogICAgIAogICAgIGRpc3BhdGNoRXZlbnQoRm9ybURhdGFFdmVu
dDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5mb3JtZGF0YUV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpZ
ZXMsIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vLCBFdmVudDo6SXNDb21wb3NlZDo6Tm8sIGRvbUZv
cm1EYXRhLmNvcHlSZWYoKSkpOworCisgICAgaWYgKHN1Ym1pdHRlcikKKyAgICAgICAgc3VibWl0
dGVyLT5zZXRBY3RpdmF0ZWRTdWJtaXQoZmFsc2UpOwogICAgIAogICAgIHJldHVybiBkb21Gb3Jt
RGF0YS0+Y2xvbmUoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oCmluZGV4
IGU5YTQyY2ZhM2Q0MWExY2Y3ZDhhZmJhMGY1YWQ4YTg0M2FmYjMyYWUuLjEwNjU4MmMxNjVhMTli
ZjhiMGM3MjY0YWU5YmVkNTkxMzdkNGMwZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZvcm1FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVs
ZW1lbnQuaApAQCAtMTI3LDcgKzEyNyw3IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBIVE1MRm9y
bUVsZW1lbnQqIGZpbmRDbG9zZXN0Rm9ybUFuY2VzdG9yKGNvbnN0IEVsZW1lbnQmKTsKICAgICAK
LSAgICBSZWZQdHI8RE9NRm9ybURhdGE+IGNvbnN0cnVjdEVudHJ5TGlzdChSZWY8RE9NRm9ybURh
dGE+JiYsIFN0cmluZ1BhaXJWZWN0b3IqKTsKKyAgICBSZWZQdHI8RE9NRm9ybURhdGE+IGNvbnN0
cnVjdEVudHJ5TGlzdChSZWZQdHI8SFRNTEZvcm1Db250cm9sRWxlbWVudD4mJiwgUmVmPERPTUZv
cm1EYXRhPiYmLCBTdHJpbmdQYWlyVmVjdG9yKik7CiAgICAgCiBwcml2YXRlOgogICAgIEhUTUxG
b3JtRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvU3VibWl0SW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvU3VibWl0SW5wdXRUeXBlLmNwcAppbmRleCBkY2E3NWM4MjM3ZmQxOWQ4MTZmMjdiYWNl
MDZkNDNhMGViYTExNTJlLi44YzY0NjlmZmUzNDNlZTA4YTdkZmYwYTQ4NzRiZGRlNzFmYWU4NTEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N1Ym1pdElucHV0VHlwZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9TdWJtaXRJbnB1dFR5cGUuY3BwCkBAIC03NCwxMCArNzQs
OCBAQCB2b2lkIFN1Ym1pdElucHV0VHlwZTo6aGFuZGxlRE9NQWN0aXZhdGVFdmVudChFdmVudCYg
ZXZlbnQpCiAgICAgLy8gdGhlIEZvcm0gb3IgYnV0dG9uIHJlbGF0aW9uc2hpcHMuCiAgICAgcHJv
dGVjdGVkRWxlbWVudC0+ZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVz
aGVldHMoKTsKIAotICAgIHByb3RlY3RlZEVsZW1lbnQtPnNldEFjdGl2YXRlZFN1Ym1pdCh0cnVl
KTsKICAgICBpZiAoUmVmUHRyIGN1cnJlbnRGb3JtID0gcHJvdGVjdGVkRWxlbWVudC0+Zm9ybSgp
KQogICAgICAgICBjdXJyZW50Rm9ybS0+c3VibWl0SWZQb3NzaWJsZSgmZXZlbnQsIGVsZW1lbnQo
KSk7IC8vIEV2ZW50IGhhbmRsZXJzIGNhbiBydW4uCi0gICAgcHJvdGVjdGVkRWxlbWVudC0+c2V0
QWN0aXZhdGVkU3VibWl0KGZhbHNlKTsKICAgICBldmVudC5zZXREZWZhdWx0SGFuZGxlZCgpOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmNwcAppbmRleCBlNjRkOWJi
YThmMTQxMjM4NGUwMDY5MDEwYTI5Y2NjZjE5OTkxYTEyLi43YmE4MzYyYTkwMmI1YTgwOTI3NGM5
YzY2Yjg3NDVmZThiMTlkZWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9y
bVN1Ym1pc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lv
bi5jcHAKQEAgLTIxMiw3ICsyMTIsNyBAQCBSZWY8Rm9ybVN1Ym1pc3Npb24+IEZvcm1TdWJtaXNz
aW9uOjpjcmVhdGUoSFRNTEZvcm1FbGVtZW50JiBmb3JtLCBIVE1MRm9ybUNvbnRybwogICAgIGF1
dG8gZG9tRm9ybURhdGEgPSBET01Gb3JtRGF0YTo6Y3JlYXRlKGRhdGFFbmNvZGluZy5lbmNvZGlu
Z0ZvckZvcm1TdWJtaXNzaW9uT3JVUkxQYXJzaW5nKCkpOwogICAgIFN0cmluZ1BhaXJWZWN0b3Ig
Zm9ybVZhbHVlczsKIAotICAgIGF1dG8gcmVzdWx0ID0gZm9ybS5jb25zdHJ1Y3RFbnRyeUxpc3Qo
V1RGTW92ZShkb21Gb3JtRGF0YSksICZmb3JtVmFsdWVzKTsKKyAgICBhdXRvIHJlc3VsdCA9IGZv
cm0uY29uc3RydWN0RW50cnlMaXN0KHN1Ym1pdHRlci5jb3B5UmVmKCksIFdURk1vdmUoZG9tRm9y
bURhdGEpLCAmZm9ybVZhbHVlcyk7CiAgICAgUkVMRUFTRV9BU1NFUlQocmVzdWx0KTsKICAgICBk
b21Gb3JtRGF0YSA9IHJlc3VsdC5yZWxlYXNlTm9uTnVsbCgpOwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwppbmRleCBhZTgwZDU0ZGI5YjM2NDU3ZTZjNWMzZWVmNTJhODU1ZmU4YjBjNDJl
Li4zYTY2ZmNkMjRiMmIyZjFlZjc3ODMxYTgxMjNiZWI1YTNlMTg0MjFkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMi0wNC0xMSAgWmlyYW4gU3Vu
ICA8enN1bkBpZ2FsaWEuY29tPgorCisgICAgICAgIENvbnN0cnVjdGVkIEZvcm1EYXRhIG9iamVj
dCBzaG91bGQgbm90IGNvbnRhaW4gYW4gZW50cnkgZm9yIHRoZSBzdWJtaXQgYnV0dG9uIHRoYXQg
d2FzIHVzZWQgdG8gc3VibWl0IHRoZSBmb3JtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzkwNzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGVzdCBleHBlY3RhdGlvbiBhcyB0aGUgc3ViLXRl
c3QgaXMgbm93IHBhc3NpbmcuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2Vt
YW50aWNzL2Zvcm1zL2Zvcm0tc3VibWlzc2lvbi0wL2NvbnN0cnVjdGluZy1mb3JtLWRhdGEtc2V0
LWV4cGVjdGVkLnR4dDoKKwogMjAyMi0wNC0wNCAgSiBQYXNjb2UgIDxqX3Bhc2NvZUBhcHBsZS5j
b20+CiAKICAgICAgICAgWyBpT1MgMTUgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L1dlYkNyeXB0b0FQSS9kZXJpdmVfYml0c19rZXlzL3Bia2RmMi5odHRwcy5hbnkud29ya2VyLmh0
bWwgaXMgZmxha3kgdGltaW5nIG91dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy9mb3JtLXN1Ym1pc3Np
b24tMC9jb25zdHJ1Y3RpbmctZm9ybS1kYXRhLXNldC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL2Zv
cm0tc3VibWlzc2lvbi0wL2NvbnN0cnVjdGluZy1mb3JtLWRhdGEtc2V0LWV4cGVjdGVkLnR4dApp
bmRleCBkOWQ5YzliNGUzMTBmNzQwZTkxYmQ5ZDQxYzhiNzA0ZWM5YmMyZDZmLi5mZGM3Y2VmMGEw
MmMxODExNGFmNTE0ZDE3MTY1MWIzYjYyZGQxMzBlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL2Zvcm0t
c3VibWlzc2lvbi0wL2NvbnN0cnVjdGluZy1mb3JtLWRhdGEtc2V0LWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2Zvcm1zL2Zvcm0tc3VibWlzc2lvbi0wL2NvbnN0cnVjdGluZy1mb3JtLWRhdGEtc2V0LWV4
cGVjdGVkLnR4dApAQCAtMjEsNSArMjEsNSBAQCBQQVNTIEZpbGVzIGluIGEgdGV4dC9wbGFpbiBm
b3JtIHNob3cgdXAgYXMgRmlsZSBvYmplY3RzIGluIHRoZSAiZm9ybURhdGEiIElETCBhdAogUEFT
UyAiZm9ybURhdGEiIElETCBhdHRyaWJ1dGUgc2hvdWxkIGhhdmUgZW50cmllcyBmb3IgZm9ybS1h
c3NvY2lhdGVkIGVsZW1lbnRzIGluIHRoZSBmaXJzdCBldmVudCBoYW5kbGVyLCBhbmQgdGhlIHNl
Y29uZCBoYW5kbGVyIGNhbiByZWFkIGVudHJpZXMgc2V0IGJ5IHRoZSBmaXJzdCBoYW5kbGVyLgog
UEFTUyBFbnRyaWVzIGFkZGVkIHRvICJmb3JtRGF0YSIgSURMIGF0dHJpYnV0ZSBzaG91bGQgYmUg
c3VibWl0dGVkLgogUEFTUyBFbnRyaWVzIGFkZGVkIHRvIHRoZSAiZm9ybWRhdGEiIElETCBhdHRy
aWJ1dGUgc2hvdWxkbid0IGJlIG5ld2xpbmUgbm9ybWFsaXplZCBpbiB0aGUgcmVzdWx0aW5nIEZv
cm1EYXRhCi1GQUlMIFRoZSBjb25zdHJ1Y3RlZCBGb3JtRGF0YSBvYmplY3Qgc2hvdWxkIG5vdCBj
b250YWluIGFuIGVudHJ5IGZvciB0aGUgc3VibWl0IGJ1dHRvbiB0aGF0IHdhcyB1c2VkIHRvIHN1
Ym1pdCB0aGUgZm9ybS4gYXNzZXJ0X2ZhbHNlOiBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQorUEFT
UyBUaGUgY29uc3RydWN0ZWQgRm9ybURhdGEgb2JqZWN0IHNob3VsZCBub3QgY29udGFpbiBhbiBl
bnRyeSBmb3IgdGhlIHN1Ym1pdCBidXR0b24gdGhhdCB3YXMgdXNlZCB0byBzdWJtaXQgdGhlIGZv
cm0uCiAK
</data>
<flag name="commit-queue"
          id="486268"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457610</attachid>
            <date>2022-04-14 04:42:04 -0700</date>
            <delta_ts>2022-04-25 02:54:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239070-20220414124203.patch</filename>
            <type>text/plain</type>
            <size>12617</size>
            <attacher>zsun</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2ZlNGE5ZjdlZjJiNjYy
MzdmYjdkNTQ0NDEyNTI5MDhlMmI3NTViYS4uNWZiMjNkNjZhNmJlM2YyODdjZTY2ODEzNTMzYmQw
ZDM0OGY5YzYzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIyLTA0LTE0ICBaaXJh
biBTdW4gIDx6c3VuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQ29uc3RydWN0ZWQgRm9ybURhdGEg
b2JqZWN0IHNob3VsZCBub3QgY29udGFpbiBhbiBlbnRyeSBmb3IgdGhlIHN1Ym1pdCBidXR0b24g
dGhhdCB3YXMgdXNlZCB0byBzdWJtaXQgdGhlIGZvcm0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTA3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gdGhlIGFjdGl2ZWRTdWJtaXQgZmxhZyBpcyBz
ZXQgZm9yIGEgc3VibWl0IGJ1dHRvbiwgaXRzIHZhbHVlIGlzIGFwcGVuZGVkIHRvIGEgRm9ybURh
dGEuIEluIHRoZSBjYXNlIG9mIGZvcm0KKyAgICAgICAgc3VibWlzc2lvbiBjYWxsZWQgaW4gc3Vi
bWl0IGV2ZW50IGhhbmRsZXIsIHdlIGluY2x1ZGUgc3VibWl0IGJ1dHRvbiB3aGVuIGJ1aWxkIEZv
cm1EYXRhLiBUaGUgc3VibWl0IGJ1dHRvbiBzaG91bGQKKyAgICAgICAgbm90IGJlIGluY2x1ZGVk
IHRob3VnaC4gVGhpcyBwYXRjaCBjb3JyZWN0IGl0IGJ5IGNhbGxpbmcgc2V0IHRoZSBhY3RpdmF0
ZWRTdWJtaXQgZmxhZyBqdXN0IGJlZm9yZSBvciBhZnRlciBidWlsZGluZworICAgICAgICBGb3Jt
RGF0YS4KKyAgICAgICAgCisgICAgICAgIFBhcnQgb2YgdGhlIHBhdGNoIGlzIGFuIGltcG9ydCBv
ZiBDaHJvbWl1bSBDTCBhdAorICAgICAgICBodHRwczovL2NvZGVyZXZpZXcuY2hyb21pdW0ub3Jn
LzIzNDAyMTMwMDIKKworICAgICAgICAqIGh0bWwvRE9NRm9ybURhdGEuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RE9NRm9ybURhdGE6OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9IVE1MQnV0dG9u
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQnV0dG9uRWxlbWVudDo6ZGVmYXVs
dEV2ZW50SGFuZGxlcik6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTEZvcm1FbGVtZW50OjpzdWJtaXQpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEZvcm1FbGVtZW50Ojpjb25zdHJ1Y3RFbnRyeUxpc3QpOgorICAgICAgICAqIGh0bWwv
SFRNTEZvcm1FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9TdWJtaXRJbnB1dFR5cGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U3VibWl0SW5wdXRUeXBlOjpoYW5kbGVET01BY3RpdmF0ZUV2ZW50
KToKKyAgICAgICAgKiBsb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9ybVN1Ym1pc3Npb246OmNyZWF0ZSk6CisKIDIwMjItMDQtMTQgIFlvdWVubiBGYWJsZXQg
IDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEV4cG9zZSB3b3JrZXJzIGFzIHNlcnZpY2Ug
d29ya2VyIGNsaWVudHMgYW5kIGltcGxlbWVudCByZWdpc3RyYXRpb24gbWF0Y2hpbmcgZm9yIGRl
ZGljYXRlZCB3b3JrZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTUZvcm1E
YXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NRm9ybURhdGEuY3BwCmluZGV4IDZmNDVl
MWNjNGZiYjI2Y2Q5YzdjMmRmMTYzMmI2NTJiZjE2NjVmODEuLjM3ZTIxZWZhZDVhMWY2ZmYxZGQ5
NTM3NTIzM2ViNzIwNDUzZGQ3MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9N
Rm9ybURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NRm9ybURhdGEuY3BwCkBA
IC00OCw3ICs0OCw3IEBAIEV4Y2VwdGlvbk9yPFJlZjxET01Gb3JtRGF0YT4+IERPTUZvcm1EYXRh
OjpjcmVhdGUoSFRNTEZvcm1FbGVtZW50KiBmb3JtKQogICAgIGlmICghZm9ybSkKICAgICAgICAg
cmV0dXJuIGZvcm1EYXRhOwogICAgIAotICAgIGF1dG8gcmVzdWx0ID0gZm9ybS0+Y29uc3RydWN0
RW50cnlMaXN0KFdURk1vdmUoZm9ybURhdGEpLCBudWxscHRyKTsKKyAgICBhdXRvIHJlc3VsdCA9
IGZvcm0tPmNvbnN0cnVjdEVudHJ5TGlzdChudWxscHRyLCBXVEZNb3ZlKGZvcm1EYXRhKSwgbnVs
bHB0cik7CiAgICAgCiAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24g
eyBJbnZhbGlkU3RhdGVFcnJvciwgIkFscmVhZHkgY29uc3RydWN0aW5nIEZvcm0gZW50cnkgbGlz
dC4iX3MgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5jcHAKaW5kZXgg
YzhjYmQxODUwZjFhYzI4ZDFiMzVhYmIxNTM4MmIwMDc1Y2UxNmE0OC4uOTRjM2YyN2NkZjU3ZmZh
OWRmOTA1MzIzY2JlZWIyNGZkMGFkZTg2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQnV0dG9uRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0
dG9uRWxlbWVudC5jcHAKQEAgLTE0NiwxMCArMTQ2LDggQEAgdm9pZCBIVE1MQnV0dG9uRWxlbWVu
dDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCYgZXZlbnQpCiAgICAgICAgICAgICBkb2N1bWVu
dCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogCiAgICAgICAgICAg
ICBpZiAoYXV0byBjdXJyZW50Rm9ybSA9IGZvcm0oKSkgewotICAgICAgICAgICAgICAgIGlmICht
X3R5cGUgPT0gU1VCTUlUKSB7Ci0gICAgICAgICAgICAgICAgICAgIFNldEZvclNjb3BlIGFjdGl2
YXRlZFN1Ym1pdFN0YXRlKG1faXNBY3RpdmF0ZWRTdWJtaXQsIHRydWUpOworICAgICAgICAgICAg
ICAgIGlmIChtX3R5cGUgPT0gU1VCTUlUKQogICAgICAgICAgICAgICAgICAgICBjdXJyZW50Rm9y
bS0+c3VibWl0SWZQb3NzaWJsZSgmZXZlbnQsIHRoaXMpOwotICAgICAgICAgICAgICAgIH0KIAog
ICAgICAgICAgICAgICAgIGlmIChtX3R5cGUgPT0gUkVTRVQpCiAgICAgICAgICAgICAgICAgICAg
IGN1cnJlbnRGb3JtLT5yZXNldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQu
Y3BwCmluZGV4IGQ0ZjU2YWQxNTllNDczZmU5M2QzNjE0MTg4Mzc2ZTdlYWJjYWNlOTIuLjM0MTUy
MDFiMWMyOGE4MGVlMWJlNWQ2NzJmZDMwNjE0MjdjYmVjNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxGb3JtRWxlbWVudC5jcHAKQEAgLTMyMiwxNyArMzIyLDE3IEBAIHZvaWQgSFRNTEZvcm1F
bGVtZW50OjpzdWJtaXRJZlBvc3NpYmxlKEV2ZW50KiBldmVudCwgSFRNTEZvcm1Db250cm9sRWxl
bWVudCogc3ViCiAgICAgbV9pc1N1Ym1pdHRpbmdPclByZXBhcmluZ0ZvclN1Ym1pc3Npb24gPSBm
YWxzZTsKIAogICAgIGlmIChtX3Nob3VsZFN1Ym1pdCkKLSAgICAgICAgc3VibWl0KGV2ZW50LCB0
cnVlLCAhc3VibWl0dGVyLCB0cmlnZ2VyLCBzdWJtaXR0ZXIpOworICAgICAgICBzdWJtaXQoZXZl
bnQsICFzdWJtaXR0ZXIsIHRyaWdnZXIsIHN1Ym1pdHRlcik7CiB9CiAKIHZvaWQgSFRNTEZvcm1F
bGVtZW50OjpzdWJtaXQoKQogewotICAgIHN1Ym1pdChudWxscHRyLCBmYWxzZSwgdHJ1ZSwgTm90
U3VibWl0dGVkQnlKYXZhU2NyaXB0KTsKKyAgICBzdWJtaXQobnVsbHB0ciwgdHJ1ZSwgTm90U3Vi
bWl0dGVkQnlKYXZhU2NyaXB0KTsKIH0KIAogdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OnN1Ym1pdEZy
b21KYXZhU2NyaXB0KCkKIHsKLSAgICBzdWJtaXQobnVsbHB0ciwgZmFsc2UsIFVzZXJHZXN0dXJl
SW5kaWNhdG9yOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSwgU3VibWl0dGVkQnlKYXZhU2NyaXB0
KTsKKyAgICBzdWJtaXQobnVsbHB0ciwgVXNlckdlc3R1cmVJbmRpY2F0b3I6OnByb2Nlc3NpbmdV
c2VyR2VzdHVyZSgpLCBTdWJtaXR0ZWRCeUphdmFTY3JpcHQpOwogfQogCiBFeGNlcHRpb25Pcjx2
b2lkPiBIVE1MRm9ybUVsZW1lbnQ6OnJlcXVlc3RTdWJtaXQoSFRNTEVsZW1lbnQqIHN1Ym1pdHRl
cikKQEAgLTM5Miw3ICszOTIsNyBAQCBSZWZQdHI8SFRNTEZvcm1Db250cm9sRWxlbWVudD4gSFRN
TEZvcm1FbGVtZW50OjpmaW5kU3VibWl0QnV0dG9uKEhUTUxGb3JtQ29udHJvbAogICAgIHJldHVy
biBmaXJzdFN1Y2Nlc3NmdWxTdWJtaXRCdXR0b247CiB9CiAKLXZvaWQgSFRNTEZvcm1FbGVtZW50
OjpzdWJtaXQoRXZlbnQqIGV2ZW50LCBib29sIGFjdGl2YXRlU3VibWl0QnV0dG9uLCBib29sIHBy
b2Nlc3NpbmdVc2VyR2VzdHVyZSwgRm9ybVN1Ym1pc3Npb25UcmlnZ2VyIHRyaWdnZXIsIEhUTUxG
b3JtQ29udHJvbEVsZW1lbnQqIHN1Ym1pdHRlcikKK3ZvaWQgSFRNTEZvcm1FbGVtZW50OjpzdWJt
aXQoRXZlbnQqIGV2ZW50LCBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSwgRm9ybVN1Ym1pc3Np
b25UcmlnZ2VyIHRyaWdnZXIsIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIHN1Ym1pdHRlcikKIHsK
ICAgICAvLyBUaGUgc3VibWl0SWZQb3NzaWJsZSBmdW5jdGlvbiBhbHNvIGRvZXMgdGhpcyBjaGVj
aywgYnV0IHdlIG5lZWQgdG8gZG8gaXQgaGVyZQogICAgIC8vIHRvbywgc2luY2UgdGhlcmUgYXJl
IHNvbWUgY29kZSBwYXRocyB0aGF0IGJ5cGFzcyB0aGF0IGZ1bmN0aW9uLgpAQCAtNDE1LDkgKzQx
NSwxOSBAQCB2b2lkIEhUTUxGb3JtRWxlbWVudDo6c3VibWl0KEV2ZW50KiBldmVudCwgYm9vbCBh
Y3RpdmF0ZVN1Ym1pdEJ1dHRvbiwgYm9vbCBwcm9jZQogICAgIG1faXNTdWJtaXR0aW5nT3JQcmVw
YXJpbmdGb3JTdWJtaXNzaW9uID0gdHJ1ZTsKICAgICBtX3dhc1VzZXJTdWJtaXR0ZWQgPSBwcm9j
ZXNzaW5nVXNlckdlc3R1cmU7CiAKLSAgICBhdXRvIGZpcnN0U3VjY2Vzc2Z1bFN1Ym1pdEJ1dHRv
biA9IGZpbmRTdWJtaXRCdXR0b24oc3VibWl0dGVyLCBhY3RpdmF0ZVN1Ym1pdEJ1dHRvbik7Ci0g
ICAgaWYgKGZpcnN0U3VjY2Vzc2Z1bFN1Ym1pdEJ1dHRvbikKLSAgICAgICAgZmlyc3RTdWNjZXNz
ZnVsU3VibWl0QnV0dG9uLT5zZXRBY3RpdmF0ZWRTdWJtaXQodHJ1ZSk7CisgICAgaWYgKGV2ZW50
ICYmICFzdWJtaXR0ZXIpIHsKKyAgICAgICAgLy8gSW4gYSBjYXNlIG9mIGltcGxpY2l0IHN1Ym1p
c3Npb24gd2l0aG91dCBhIHN1Ym1pdCBidXR0b24sICdzdWJtaXQnIGV2ZW50IGhhbmRsZXIgbWln
aHQgYWRkIGEgc3VibWl0IGJ1dHRvbi4gV2Ugc2VhcmNoIGZvciBhIHN1Ym1pdCBidXR0b24gYWdh
aW4uCisgICAgICAgIGF1dG8gYXNzb2NpYXRlZEVsZW1lbnRzID0gY29weUFzc29jaWF0ZWRFbGVt
ZW50c1ZlY3RvcigpOworICAgICAgICBmb3IgKGF1dG8mIGVsZW1lbnQgOiBhc3NvY2lhdGVkRWxl
bWVudHMpIHsKKyAgICAgICAgICAgIGlmIChpczxIVE1MRm9ybUNvbnRyb2xFbGVtZW50PihlbGVt
ZW50KSkgeworICAgICAgICAgICAgICAgIGF1dG8mIGNvbnRyb2wgPSBkb3duY2FzdDxIVE1MRm9y
bUNvbnRyb2xFbGVtZW50PihlbGVtZW50LmdldCgpKTsKKyAgICAgICAgICAgICAgICBpZiAoY29u
dHJvbC5pc1N1Y2Nlc3NmdWxTdWJtaXRCdXR0b24oKSkgeworICAgICAgICAgICAgICAgICAgICBz
dWJtaXR0ZXIgPSAmY29udHJvbDsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQogCiAgICAgUmVmIHBy
b3RlY3RlZFRoaXMgeyAqdGhpcyB9OyAvLyBGb3JtIHN1Ym1pc3Npb24gY2FuIGV4ZWN1dGUgYXJi
aXRhcnkgSmF2YVNjcmlwdC4KIApAQCAtNDQzLDkgKzQ1Myw2IEBAIHZvaWQgSFRNTEZvcm1FbGVt
ZW50OjpzdWJtaXQoRXZlbnQqIGV2ZW50LCBib29sIGFjdGl2YXRlU3VibWl0QnV0dG9uLCBib29s
IHByb2NlCiAgICAgZWxzZQogICAgICAgICBmcmFtZS0+bG9hZGVyKCkuc3VibWl0Rm9ybShXVEZN
b3ZlKGZvcm1TdWJtaXNzaW9uKSk7CiAKLSAgICBpZiAoZmlyc3RTdWNjZXNzZnVsU3VibWl0QnV0
dG9uKQotICAgICAgICBmaXJzdFN1Y2Nlc3NmdWxTdWJtaXRCdXR0b24tPnNldEFjdGl2YXRlZFN1
Ym1pdChmYWxzZSk7Ci0KICAgICBtX3Nob3VsZFN1Ym1pdCA9IGZhbHNlOwogICAgIG1faXNTdWJt
aXR0aW5nT3JQcmVwYXJpbmdGb3JTdWJtaXNzaW9uID0gZmFsc2U7CiB9CkBAIC0xMDE1LDcgKzEw
MjIsNyBAQCBjb25zdCBBdG9tU3RyaW5nJiBIVE1MRm9ybUVsZW1lbnQ6OmF1dG9jb21wbGV0ZSgp
IGNvbnN0CiAgICAgcmV0dXJuIGVxdWFsSWdub3JpbmdBU0NJSUNhc2UoYXR0cmlidXRlV2l0aG91
dFN5bmNocm9uaXphdGlvbihhdXRvY29tcGxldGVBdHRyKSwgIm9mZiIpID8gb2ZmIDogb247CiB9
CiAKLVJlZlB0cjxET01Gb3JtRGF0YT4gSFRNTEZvcm1FbGVtZW50Ojpjb25zdHJ1Y3RFbnRyeUxp
c3QoUmVmPERPTUZvcm1EYXRhPiYmIGRvbUZvcm1EYXRhLCBTdHJpbmdQYWlyVmVjdG9yKiBmb3Jt
VmFsdWVzKQorUmVmUHRyPERPTUZvcm1EYXRhPiBIVE1MRm9ybUVsZW1lbnQ6OmNvbnN0cnVjdEVu
dHJ5TGlzdChSZWZQdHI8SFRNTEZvcm1Db250cm9sRWxlbWVudD4mJiBzdWJtaXR0ZXIsIFJlZjxE
T01Gb3JtRGF0YT4mJiBkb21Gb3JtRGF0YSwgU3RyaW5nUGFpclZlY3RvciogZm9ybVZhbHVlcykK
IHsKICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9mb3JtLWNv
bnRyb2wtaW5mcmFzdHJ1Y3R1cmUuaHRtbCNjb25zdHJ1Y3RpbmctZm9ybS1kYXRhLXNldAogICAg
IEFTU0VSVChpc01haW5UaHJlYWQoKSk7CkBAIC0xMDI0LDYgKzEwMzEsOSBAQCBSZWZQdHI8RE9N
Rm9ybURhdGE+IEhUTUxGb3JtRWxlbWVudDo6Y29uc3RydWN0RW50cnlMaXN0KFJlZjxET01Gb3Jt
RGF0YT4mJiBkb21GbwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAKICAgICBTZXRGb3JT
Y29wZSBpc0NvbnN0cnVjdGluZ0VudHJ5TGlzdFNjb3BlKG1faXNDb25zdHJ1Y3RpbmdFbnRyeUxp
c3QsIHRydWUpOworCisgICAgaWYgKHN1Ym1pdHRlcikKKyAgICAgICAgc3VibWl0dGVyLT5zZXRB
Y3RpdmF0ZWRTdWJtaXQodHJ1ZSk7CiAgICAgCiAgICAgZm9yIChhdXRvJiBjb250cm9sIDogdGhp
cy0+Y29weUFzc29jaWF0ZWRFbGVtZW50c1ZlY3RvcigpKSB7CiAgICAgICAgIGF1dG8mIGVsZW1l
bnQgPSBjb250cm9sLT5hc0hUTUxFbGVtZW50KCk7CkBAIC0xMDM5LDYgKzEwNDksOSBAQCBSZWZQ
dHI8RE9NRm9ybURhdGE+IEhUTUxGb3JtRWxlbWVudDo6Y29uc3RydWN0RW50cnlMaXN0KFJlZjxE
T01Gb3JtRGF0YT4mJiBkb21GbwogICAgIH0KICAgICAKICAgICBkaXNwYXRjaEV2ZW50KEZvcm1E
YXRhRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZm9ybWRhdGFFdmVudCwgRXZlbnQ6OkNhbkJ1
YmJsZTo6WWVzLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObywgRXZlbnQ6OklzQ29tcG9zZWQ6Ok5v
LCBkb21Gb3JtRGF0YS5jb3B5UmVmKCkpKTsKKworICAgIGlmIChzdWJtaXR0ZXIpCisgICAgICAg
IHN1Ym1pdHRlci0+c2V0QWN0aXZhdGVkU3VibWl0KGZhbHNlKTsKICAgICAKICAgICByZXR1cm4g
ZG9tRm9ybURhdGEtPmNsb25lKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxGb3JtRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQu
aAppbmRleCBlOWE0MmNmYTNkNDFhMWNmN2Q4YWZiYTBmNWFkOGE4NDNhZmIzMmFlLi41MzE0YjAy
YzNmMjUwNTk3Y2ExNGY1ODUyZTc4YmI3YjMwZWIwNTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEZvcm1FbGVtZW50LmgKQEAgLTEyNyw3ICsxMjcsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMg
SFRNTEZvcm1FbGVtZW50KiBmaW5kQ2xvc2VzdEZvcm1BbmNlc3Rvcihjb25zdCBFbGVtZW50Jik7
CiAgICAgCi0gICAgUmVmUHRyPERPTUZvcm1EYXRhPiBjb25zdHJ1Y3RFbnRyeUxpc3QoUmVmPERP
TUZvcm1EYXRhPiYmLCBTdHJpbmdQYWlyVmVjdG9yKik7CisgICAgUmVmUHRyPERPTUZvcm1EYXRh
PiBjb25zdHJ1Y3RFbnRyeUxpc3QoUmVmUHRyPEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ+JiYsIFJl
ZjxET01Gb3JtRGF0YT4mJiwgU3RyaW5nUGFpclZlY3RvciopOwogICAgIAogcHJpdmF0ZToKICAg
ICBIVE1MRm9ybUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CkBAIC0x
NDYsNyArMTQ2LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgY29weU5vbkF0dHJpYnV0ZVByb3Bl
cnRpZXNGcm9tRWxlbWVudChjb25zdCBFbGVtZW50JikgZmluYWw7CiAKLSAgICB2b2lkIHN1Ym1p
dChFdmVudCosIGJvb2wgYWN0aXZhdGVTdWJtaXRCdXR0b24sIGJvb2wgcHJvY2Vzc2luZ1VzZXJH
ZXN0dXJlLCBGb3JtU3VibWlzc2lvblRyaWdnZXIsIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIHN1
Ym1pdHRlciA9IG51bGxwdHIpOworICAgIHZvaWQgc3VibWl0KEV2ZW50KiwgYm9vbCBwcm9jZXNz
aW5nVXNlckdlc3R1cmUsIEZvcm1TdWJtaXNzaW9uVHJpZ2dlciwgSFRNTEZvcm1Db250cm9sRWxl
bWVudCogc3VibWl0dGVyID0gbnVsbHB0cik7CiAKICAgICB2b2lkIHN1Ym1pdERpYWxvZyhSZWY8
Rm9ybVN1Ym1pc3Npb24+JiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N1
Ym1pdElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1N1Ym1pdElucHV0VHlwZS5j
cHAKaW5kZXggZGNhNzVjODIzN2ZkMTlkODE2ZjI3YmFjZTA2ZDQzYTBlYmExMTUyZS4uOGM2NDY5
ZmZlMzQzZWUwOGE3ZGZmMGE0ODc0YmRkZTcxZmFlODUxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9TdWJtaXRJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
U3VibWl0SW5wdXRUeXBlLmNwcApAQCAtNzQsMTAgKzc0LDggQEAgdm9pZCBTdWJtaXRJbnB1dFR5
cGU6OmhhbmRsZURPTUFjdGl2YXRlRXZlbnQoRXZlbnQmIGV2ZW50KQogICAgIC8vIHRoZSBGb3Jt
IG9yIGJ1dHRvbiByZWxhdGlvbnNoaXBzLgogICAgIHByb3RlY3RlZEVsZW1lbnQtPmRvY3VtZW50
KCkudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAKLSAgICBwcm90ZWN0
ZWRFbGVtZW50LT5zZXRBY3RpdmF0ZWRTdWJtaXQodHJ1ZSk7CiAgICAgaWYgKFJlZlB0ciBjdXJy
ZW50Rm9ybSA9IHByb3RlY3RlZEVsZW1lbnQtPmZvcm0oKSkKICAgICAgICAgY3VycmVudEZvcm0t
PnN1Ym1pdElmUG9zc2libGUoJmV2ZW50LCBlbGVtZW50KCkpOyAvLyBFdmVudCBoYW5kbGVycyBj
YW4gcnVuLgotICAgIHByb3RlY3RlZEVsZW1lbnQtPnNldEFjdGl2YXRlZFN1Ym1pdChmYWxzZSk7
CiAgICAgZXZlbnQuc2V0RGVmYXVsdEhhbmRsZWQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Gb3JtU3VibWlzc2lvbi5jcHAKaW5kZXggNmU2MjZmODQ0OWM1NTBkMjhlZjRlNjQ3ZjE3NjAx
MDFiY2ExM2M0MC4uNzk5NjA0YmYzMTM1MzA2YmQ4NTc0YTZkMTFhN2ZiYzYzN2Y3ZDQ3MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwCkBAIC0yMTIsNyArMjEyLDcg
QEAgUmVmPEZvcm1TdWJtaXNzaW9uPiBGb3JtU3VibWlzc2lvbjo6Y3JlYXRlKEhUTUxGb3JtRWxl
bWVudCYgZm9ybSwgSFRNTEZvcm1Db250cm8KICAgICBhdXRvIGRvbUZvcm1EYXRhID0gRE9NRm9y
bURhdGE6OmNyZWF0ZShkYXRhRW5jb2RpbmcuZW5jb2RpbmdGb3JGb3JtU3VibWlzc2lvbk9yVVJM
UGFyc2luZygpKTsKICAgICBTdHJpbmdQYWlyVmVjdG9yIGZvcm1WYWx1ZXM7CiAKLSAgICBhdXRv
IHJlc3VsdCA9IGZvcm0uY29uc3RydWN0RW50cnlMaXN0KFdURk1vdmUoZG9tRm9ybURhdGEpLCAm
Zm9ybVZhbHVlcyk7CisgICAgYXV0byByZXN1bHQgPSBmb3JtLmNvbnN0cnVjdEVudHJ5TGlzdChz
dWJtaXR0ZXIuY29weVJlZigpLCBXVEZNb3ZlKGRvbUZvcm1EYXRhKSwgJmZvcm1WYWx1ZXMpOwog
ICAgIFJFTEVBU0VfQVNTRVJUKHJlc3VsdCk7CiAgICAgZG9tRm9ybURhdGEgPSByZXN1bHQucmVs
ZWFzZU5vbk51bGwoKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNTRiOTM2
NDBlMjc4NGNkMzEzZGYzODllNWVkYjNmNzZkYjE1MmVhOS4uYzlhZmVkYzVhMzFkMjY1ZWJhNGNm
YmI4ODljMzgzZGVhYTJjMjQzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTMgQEAKKzIwMjItMDQtMTQgIFppcmFuIFN1biAgPHpzdW5AaWdhbGlhLmNvbT4KKwor
ICAgICAgICBDb25zdHJ1Y3RlZCBGb3JtRGF0YSBvYmplY3Qgc2hvdWxkIG5vdCBjb250YWluIGFu
IGVudHJ5IGZvciB0aGUgc3VibWl0IGJ1dHRvbiB0aGF0IHdhcyB1c2VkIHRvIHN1Ym1pdCB0aGUg
Zm9ybQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5
MDcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBk
YXRlIHRlc3QgZXhwZWN0YXRpb24gYXMgdGhlIHN1Yi10ZXN0IGlzIG5vdyBwYXNzaW5nLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy9mb3JtLXN1Ym1p
c3Npb24tMC9jb25zdHJ1Y3RpbmctZm9ybS1kYXRhLXNldC1leHBlY3RlZC50eHQ6CisKIDIwMjIt
MDQtMTQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEV4cG9z
ZSB3b3JrZXJzIGFzIHNlcnZpY2Ugd29ya2VyIGNsaWVudHMgYW5kIGltcGxlbWVudCByZWdpc3Ry
YXRpb24gbWF0Y2hpbmcgZm9yIGRlZGljYXRlZCB3b3JrZXJzCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1z
L2Zvcm0tc3VibWlzc2lvbi0wL2NvbnN0cnVjdGluZy1mb3JtLWRhdGEtc2V0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZm9ybXMvZm9ybS1zdWJtaXNzaW9uLTAvY29uc3RydWN0aW5nLWZvcm0tZGF0YS1zZXQt
ZXhwZWN0ZWQudHh0CmluZGV4IGQ5ZDljOWI0ZTMxMGY3NDBlOTFiZDlkNDFjOGI3MDRlYzliYzJk
NmYuLmZkYzdjZWYwYTAyYzE4MTE0YWY1MTRkMTcxNjUxYjNiNjJkZDEzMGUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvZm9ybXMvZm9ybS1zdWJtaXNzaW9uLTAvY29uc3RydWN0aW5nLWZvcm0tZGF0YS1zZXQtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvZm9ybS1zdWJtaXNzaW9uLTAvY29uc3RydWN0aW5nLWZv
cm0tZGF0YS1zZXQtZXhwZWN0ZWQudHh0CkBAIC0yMSw1ICsyMSw1IEBAIFBBU1MgRmlsZXMgaW4g
YSB0ZXh0L3BsYWluIGZvcm0gc2hvdyB1cCBhcyBGaWxlIG9iamVjdHMgaW4gdGhlICJmb3JtRGF0
YSIgSURMIGF0CiBQQVNTICJmb3JtRGF0YSIgSURMIGF0dHJpYnV0ZSBzaG91bGQgaGF2ZSBlbnRy
aWVzIGZvciBmb3JtLWFzc29jaWF0ZWQgZWxlbWVudHMgaW4gdGhlIGZpcnN0IGV2ZW50IGhhbmRs
ZXIsIGFuZCB0aGUgc2Vjb25kIGhhbmRsZXIgY2FuIHJlYWQgZW50cmllcyBzZXQgYnkgdGhlIGZp
cnN0IGhhbmRsZXIuCiBQQVNTIEVudHJpZXMgYWRkZWQgdG8gImZvcm1EYXRhIiBJREwgYXR0cmli
dXRlIHNob3VsZCBiZSBzdWJtaXR0ZWQuCiBQQVNTIEVudHJpZXMgYWRkZWQgdG8gdGhlICJmb3Jt
ZGF0YSIgSURMIGF0dHJpYnV0ZSBzaG91bGRuJ3QgYmUgbmV3bGluZSBub3JtYWxpemVkIGluIHRo
ZSByZXN1bHRpbmcgRm9ybURhdGEKLUZBSUwgVGhlIGNvbnN0cnVjdGVkIEZvcm1EYXRhIG9iamVj
dCBzaG91bGQgbm90IGNvbnRhaW4gYW4gZW50cnkgZm9yIHRoZSBzdWJtaXQgYnV0dG9uIHRoYXQg
d2FzIHVzZWQgdG8gc3VibWl0IHRoZSBmb3JtLiBhc3NlcnRfZmFsc2U6IGV4cGVjdGVkIGZhbHNl
IGdvdCB0cnVlCitQQVNTIFRoZSBjb25zdHJ1Y3RlZCBGb3JtRGF0YSBvYmplY3Qgc2hvdWxkIG5v
dCBjb250YWluIGFuIGVudHJ5IGZvciB0aGUgc3VibWl0IGJ1dHRvbiB0aGF0IHdhcyB1c2VkIHRv
IHN1Ym1pdCB0aGUgZm9ybS4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458255</attachid>
            <date>2022-04-25 02:54:34 -0700</date>
            <delta_ts>2022-04-25 06:43:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239070-20220425105433.patch</filename>
            <type>text/plain</type>
            <size>12513</size>
            <attacher>zsun</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2ZlNGE5ZjdlZjJiNjYy
MzdmYjdkNTQ0NDEyNTI5MDhlMmI3NTViYS4uMzQxYWRiY2RiOThiZWU4MWM2MmZjYjc4NDVlNzg2
ZDY1MmM5YWY4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIyLTA0LTE0ICBaaXJh
biBTdW4gIDx6c3VuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQ29uc3RydWN0ZWQgRm9ybURhdGEg
b2JqZWN0IHNob3VsZCBub3QgY29udGFpbiBhbiBlbnRyeSBmb3IgdGhlIHN1Ym1pdCBidXR0b24g
dGhhdCB3YXMgdXNlZCB0byBzdWJtaXQgdGhlIGZvcm0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTA3MAorCisgICAgICAgIFJldmlld2VkIGJ5IENo
cmlzIER1bWV6LgorCisgICAgICAgIFdoZW4gdGhlIGFjdGl2ZWRTdWJtaXQgZmxhZyBpcyBzZXQg
Zm9yIGEgc3VibWl0IGJ1dHRvbiwgaXRzIHZhbHVlIGlzIGFwcGVuZGVkIHRvIGEgRm9ybURhdGEu
IEluIHRoZSBjYXNlIG9mIGZvcm0KKyAgICAgICAgc3VibWlzc2lvbiBjYWxsZWQgaW4gc3VibWl0
IGV2ZW50IGhhbmRsZXIsIHdlIGluY2x1ZGUgc3VibWl0IGJ1dHRvbiB3aGVuIGJ1aWxkIEZvcm1E
YXRhLiBUaGUgc3VibWl0IGJ1dHRvbiBzaG91bGQKKyAgICAgICAgbm90IGJlIGluY2x1ZGVkIHRo
b3VnaC4gVGhpcyBwYXRjaCBjb3JyZWN0IGl0IGJ5IGNhbGxpbmcgc2V0IHRoZSBhY3RpdmF0ZWRT
dWJtaXQgZmxhZyBqdXN0IGJlZm9yZSBvciBhZnRlciBidWlsZGluZworICAgICAgICBGb3JtRGF0
YS4KKyAgICAgICAgCisgICAgICAgIFBhcnQgb2YgdGhlIHBhdGNoIGlzIGFuIGltcG9ydCBvZiBD
aHJvbWl1bSBDTCBhdAorICAgICAgICBodHRwczovL2NvZGVyZXZpZXcuY2hyb21pdW0ub3JnLzIz
NDAyMTMwMDIKKworICAgICAgICAqIGh0bWwvRE9NRm9ybURhdGEuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NRm9ybURhdGE6OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9IVE1MQnV0dG9uRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2
ZW50SGFuZGxlcik6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTEZvcm1FbGVtZW50OjpzdWJtaXQpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTEZvcm1FbGVtZW50Ojpjb25zdHJ1Y3RFbnRyeUxpc3QpOgorICAgICAgICAqIGh0bWwvSFRN
TEZvcm1FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9TdWJtaXRJbnB1dFR5cGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3VibWl0SW5wdXRUeXBlOjpoYW5kbGVET01BY3RpdmF0ZUV2ZW50KToK
KyAgICAgICAgKiBsb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Rm9ybVN1Ym1pc3Npb246OmNyZWF0ZSk6CisKIDIwMjItMDQtMTQgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEV4cG9zZSB3b3JrZXJzIGFzIHNlcnZpY2Ugd29y
a2VyIGNsaWVudHMgYW5kIGltcGxlbWVudCByZWdpc3RyYXRpb24gbWF0Y2hpbmcgZm9yIGRlZGlj
YXRlZCB3b3JrZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTUZvcm1EYXRh
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NRm9ybURhdGEuY3BwCmluZGV4IDZmNDVlMWNj
NGZiYjI2Y2Q5YzdjMmRmMTYzMmI2NTJiZjE2NjVmODEuLjM3ZTIxZWZhZDVhMWY2ZmYxZGQ5NTM3
NTIzM2ViNzIwNDUzZGQ3MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NRm9y
bURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NRm9ybURhdGEuY3BwCkBAIC00
OCw3ICs0OCw3IEBAIEV4Y2VwdGlvbk9yPFJlZjxET01Gb3JtRGF0YT4+IERPTUZvcm1EYXRhOjpj
cmVhdGUoSFRNTEZvcm1FbGVtZW50KiBmb3JtKQogICAgIGlmICghZm9ybSkKICAgICAgICAgcmV0
dXJuIGZvcm1EYXRhOwogICAgIAotICAgIGF1dG8gcmVzdWx0ID0gZm9ybS0+Y29uc3RydWN0RW50
cnlMaXN0KFdURk1vdmUoZm9ybURhdGEpLCBudWxscHRyKTsKKyAgICBhdXRvIHJlc3VsdCA9IGZv
cm0tPmNvbnN0cnVjdEVudHJ5TGlzdChudWxscHRyLCBXVEZNb3ZlKGZvcm1EYXRhKSwgbnVsbHB0
cik7CiAgICAgCiAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJ
bnZhbGlkU3RhdGVFcnJvciwgIkFscmVhZHkgY29uc3RydWN0aW5nIEZvcm0gZW50cnkgbGlzdC4i
X3MgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5jcHAKaW5kZXggYzhj
YmQxODUwZjFhYzI4ZDFiMzVhYmIxNTM4MmIwMDc1Y2UxNmE0OC4uOTRjM2YyN2NkZjU3ZmZhOWRm
OTA1MzIzY2JlZWIyNGZkMGFkZTg2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQnV0dG9uRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9u
RWxlbWVudC5jcHAKQEAgLTE0NiwxMCArMTQ2LDggQEAgdm9pZCBIVE1MQnV0dG9uRWxlbWVudDo6
ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCYgZXZlbnQpCiAgICAgICAgICAgICBkb2N1bWVudCgp
LnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogCiAgICAgICAgICAgICBp
ZiAoYXV0byBjdXJyZW50Rm9ybSA9IGZvcm0oKSkgewotICAgICAgICAgICAgICAgIGlmIChtX3R5
cGUgPT0gU1VCTUlUKSB7Ci0gICAgICAgICAgICAgICAgICAgIFNldEZvclNjb3BlIGFjdGl2YXRl
ZFN1Ym1pdFN0YXRlKG1faXNBY3RpdmF0ZWRTdWJtaXQsIHRydWUpOworICAgICAgICAgICAgICAg
IGlmIChtX3R5cGUgPT0gU1VCTUlUKQogICAgICAgICAgICAgICAgICAgICBjdXJyZW50Rm9ybS0+
c3VibWl0SWZQb3NzaWJsZSgmZXZlbnQsIHRoaXMpOwotICAgICAgICAgICAgICAgIH0KIAogICAg
ICAgICAgICAgICAgIGlmIChtX3R5cGUgPT0gUkVTRVQpCiAgICAgICAgICAgICAgICAgICAgIGN1
cnJlbnRGb3JtLT5yZXNldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3Bw
CmluZGV4IGQ0ZjU2YWQxNTllNDczZmU5M2QzNjE0MTg4Mzc2ZTdlYWJjYWNlOTIuLjRlOWY5Zjc5
NTRjMTlkMDA1YTNiNGYzNTU1MGViMzcxYzczN2IwMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxGb3JtRWxlbWVudC5jcHAKQEAgLTMyMiwxNyArMzIyLDE3IEBAIHZvaWQgSFRNTEZvcm1FbGVt
ZW50OjpzdWJtaXRJZlBvc3NpYmxlKEV2ZW50KiBldmVudCwgSFRNTEZvcm1Db250cm9sRWxlbWVu
dCogc3ViCiAgICAgbV9pc1N1Ym1pdHRpbmdPclByZXBhcmluZ0ZvclN1Ym1pc3Npb24gPSBmYWxz
ZTsKIAogICAgIGlmIChtX3Nob3VsZFN1Ym1pdCkKLSAgICAgICAgc3VibWl0KGV2ZW50LCB0cnVl
LCAhc3VibWl0dGVyLCB0cmlnZ2VyLCBzdWJtaXR0ZXIpOworICAgICAgICBzdWJtaXQoZXZlbnQs
ICFzdWJtaXR0ZXIsIHRyaWdnZXIsIHN1Ym1pdHRlcik7CiB9CiAKIHZvaWQgSFRNTEZvcm1FbGVt
ZW50OjpzdWJtaXQoKQogewotICAgIHN1Ym1pdChudWxscHRyLCBmYWxzZSwgdHJ1ZSwgTm90U3Vi
bWl0dGVkQnlKYXZhU2NyaXB0KTsKKyAgICBzdWJtaXQobnVsbHB0ciwgdHJ1ZSwgTm90U3VibWl0
dGVkQnlKYXZhU2NyaXB0KTsKIH0KIAogdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OnN1Ym1pdEZyb21K
YXZhU2NyaXB0KCkKIHsKLSAgICBzdWJtaXQobnVsbHB0ciwgZmFsc2UsIFVzZXJHZXN0dXJlSW5k
aWNhdG9yOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSwgU3VibWl0dGVkQnlKYXZhU2NyaXB0KTsK
KyAgICBzdWJtaXQobnVsbHB0ciwgVXNlckdlc3R1cmVJbmRpY2F0b3I6OnByb2Nlc3NpbmdVc2Vy
R2VzdHVyZSgpLCBTdWJtaXR0ZWRCeUphdmFTY3JpcHQpOwogfQogCiBFeGNlcHRpb25Pcjx2b2lk
PiBIVE1MRm9ybUVsZW1lbnQ6OnJlcXVlc3RTdWJtaXQoSFRNTEVsZW1lbnQqIHN1Ym1pdHRlcikK
QEAgLTM5Miw3ICszOTIsNyBAQCBSZWZQdHI8SFRNTEZvcm1Db250cm9sRWxlbWVudD4gSFRNTEZv
cm1FbGVtZW50OjpmaW5kU3VibWl0QnV0dG9uKEhUTUxGb3JtQ29udHJvbAogICAgIHJldHVybiBm
aXJzdFN1Y2Nlc3NmdWxTdWJtaXRCdXR0b247CiB9CiAKLXZvaWQgSFRNTEZvcm1FbGVtZW50Ojpz
dWJtaXQoRXZlbnQqIGV2ZW50LCBib29sIGFjdGl2YXRlU3VibWl0QnV0dG9uLCBib29sIHByb2Nl
c3NpbmdVc2VyR2VzdHVyZSwgRm9ybVN1Ym1pc3Npb25UcmlnZ2VyIHRyaWdnZXIsIEhUTUxGb3Jt
Q29udHJvbEVsZW1lbnQqIHN1Ym1pdHRlcikKK3ZvaWQgSFRNTEZvcm1FbGVtZW50OjpzdWJtaXQo
RXZlbnQqIGV2ZW50LCBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSwgRm9ybVN1Ym1pc3Npb25U
cmlnZ2VyIHRyaWdnZXIsIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIHN1Ym1pdHRlcikKIHsKICAg
ICAvLyBUaGUgc3VibWl0SWZQb3NzaWJsZSBmdW5jdGlvbiBhbHNvIGRvZXMgdGhpcyBjaGVjaywg
YnV0IHdlIG5lZWQgdG8gZG8gaXQgaGVyZQogICAgIC8vIHRvbywgc2luY2UgdGhlcmUgYXJlIHNv
bWUgY29kZSBwYXRocyB0aGF0IGJ5cGFzcyB0aGF0IGZ1bmN0aW9uLgpAQCAtNDE1LDkgKzQxNSwx
NiBAQCB2b2lkIEhUTUxGb3JtRWxlbWVudDo6c3VibWl0KEV2ZW50KiBldmVudCwgYm9vbCBhY3Rp
dmF0ZVN1Ym1pdEJ1dHRvbiwgYm9vbCBwcm9jZQogICAgIG1faXNTdWJtaXR0aW5nT3JQcmVwYXJp
bmdGb3JTdWJtaXNzaW9uID0gdHJ1ZTsKICAgICBtX3dhc1VzZXJTdWJtaXR0ZWQgPSBwcm9jZXNz
aW5nVXNlckdlc3R1cmU7CiAKLSAgICBhdXRvIGZpcnN0U3VjY2Vzc2Z1bFN1Ym1pdEJ1dHRvbiA9
IGZpbmRTdWJtaXRCdXR0b24oc3VibWl0dGVyLCBhY3RpdmF0ZVN1Ym1pdEJ1dHRvbik7Ci0gICAg
aWYgKGZpcnN0U3VjY2Vzc2Z1bFN1Ym1pdEJ1dHRvbikKLSAgICAgICAgZmlyc3RTdWNjZXNzZnVs
U3VibWl0QnV0dG9uLT5zZXRBY3RpdmF0ZWRTdWJtaXQodHJ1ZSk7CisgICAgaWYgKGV2ZW50ICYm
ICFzdWJtaXR0ZXIpIHsKKyAgICAgICAgLy8gSW4gYSBjYXNlIG9mIGltcGxpY2l0IHN1Ym1pc3Np
b24gd2l0aG91dCBhIHN1Ym1pdCBidXR0b24sICdzdWJtaXQnIGV2ZW50IGhhbmRsZXIgbWlnaHQg
YWRkIGEgc3VibWl0IGJ1dHRvbi4gV2Ugc2VhcmNoIGZvciBhIHN1Ym1pdCBidXR0b24gYWdhaW4u
CisgICAgICAgIGF1dG8gYXNzb2NpYXRlZEVsZW1lbnRzID0gY29weUFzc29jaWF0ZWRFbGVtZW50
c1ZlY3RvcigpOworICAgICAgICBmb3IgKGF1dG8mIGVsZW1lbnQgOiBhc3NvY2lhdGVkRWxlbWVu
dHMpIHsKKyAgICAgICAgICAgIGlmIChhdXRvIGNvbnRyb2wgPSBkeW5hbWljRG93bmNhc3Q8SFRN
TEZvcm1Db250cm9sRWxlbWVudD4oZWxlbWVudC5nZXQoKSk7IGNvbnRyb2wtPmlzU3VjY2Vzc2Z1
bFN1Ym1pdEJ1dHRvbigpKSB7CisgICAgICAgICAgICAgICAgc3VibWl0dGVyID0gY29udHJvbDsK
KyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0K
IAogICAgIFJlZiBwcm90ZWN0ZWRUaGlzIHsgKnRoaXMgfTsgLy8gRm9ybSBzdWJtaXNzaW9uIGNh
biBleGVjdXRlIGFyYml0YXJ5IEphdmFTY3JpcHQuCiAKQEAgLTQ0Myw5ICs0NTAsNiBAQCB2b2lk
IEhUTUxGb3JtRWxlbWVudDo6c3VibWl0KEV2ZW50KiBldmVudCwgYm9vbCBhY3RpdmF0ZVN1Ym1p
dEJ1dHRvbiwgYm9vbCBwcm9jZQogICAgIGVsc2UKICAgICAgICAgZnJhbWUtPmxvYWRlcigpLnN1
Ym1pdEZvcm0oV1RGTW92ZShmb3JtU3VibWlzc2lvbikpOwogCi0gICAgaWYgKGZpcnN0U3VjY2Vz
c2Z1bFN1Ym1pdEJ1dHRvbikKLSAgICAgICAgZmlyc3RTdWNjZXNzZnVsU3VibWl0QnV0dG9uLT5z
ZXRBY3RpdmF0ZWRTdWJtaXQoZmFsc2UpOwotCiAgICAgbV9zaG91bGRTdWJtaXQgPSBmYWxzZTsK
ICAgICBtX2lzU3VibWl0dGluZ09yUHJlcGFyaW5nRm9yU3VibWlzc2lvbiA9IGZhbHNlOwogfQpA
QCAtMTAxNSw3ICsxMDE5LDcgQEAgY29uc3QgQXRvbVN0cmluZyYgSFRNTEZvcm1FbGVtZW50Ojph
dXRvY29tcGxldGUoKSBjb25zdAogICAgIHJldHVybiBlcXVhbElnbm9yaW5nQVNDSUlDYXNlKGF0
dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oYXV0b2NvbXBsZXRlQXR0ciksICJvZmYiKSA/
IG9mZiA6IG9uOwogfQogCi1SZWZQdHI8RE9NRm9ybURhdGE+IEhUTUxGb3JtRWxlbWVudDo6Y29u
c3RydWN0RW50cnlMaXN0KFJlZjxET01Gb3JtRGF0YT4mJiBkb21Gb3JtRGF0YSwgU3RyaW5nUGFp
clZlY3RvciogZm9ybVZhbHVlcykKK1JlZlB0cjxET01Gb3JtRGF0YT4gSFRNTEZvcm1FbGVtZW50
Ojpjb25zdHJ1Y3RFbnRyeUxpc3QoUmVmUHRyPEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ+JiYgc3Vi
bWl0dGVyLCBSZWY8RE9NRm9ybURhdGE+JiYgZG9tRm9ybURhdGEsIFN0cmluZ1BhaXJWZWN0b3Iq
IGZvcm1WYWx1ZXMpCiB7CiAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0
aXBhZ2UvZm9ybS1jb250cm9sLWluZnJhc3RydWN0dXJlLmh0bWwjY29uc3RydWN0aW5nLWZvcm0t
ZGF0YS1zZXQKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwpAQCAtMTAyNCw2ICsxMDI4LDkg
QEAgUmVmUHRyPERPTUZvcm1EYXRhPiBIVE1MRm9ybUVsZW1lbnQ6OmNvbnN0cnVjdEVudHJ5TGlz
dChSZWY8RE9NRm9ybURhdGE+JiYgZG9tRm8KICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAg
CiAgICAgU2V0Rm9yU2NvcGUgaXNDb25zdHJ1Y3RpbmdFbnRyeUxpc3RTY29wZShtX2lzQ29uc3Ry
dWN0aW5nRW50cnlMaXN0LCB0cnVlKTsKKworICAgIGlmIChzdWJtaXR0ZXIpCisgICAgICAgIHN1
Ym1pdHRlci0+c2V0QWN0aXZhdGVkU3VibWl0KHRydWUpOwogICAgIAogICAgIGZvciAoYXV0byYg
Y29udHJvbCA6IHRoaXMtPmNvcHlBc3NvY2lhdGVkRWxlbWVudHNWZWN0b3IoKSkgewogICAgICAg
ICBhdXRvJiBlbGVtZW50ID0gY29udHJvbC0+YXNIVE1MRWxlbWVudCgpOwpAQCAtMTAzOSw2ICsx
MDQ2LDkgQEAgUmVmUHRyPERPTUZvcm1EYXRhPiBIVE1MRm9ybUVsZW1lbnQ6OmNvbnN0cnVjdEVu
dHJ5TGlzdChSZWY8RE9NRm9ybURhdGE+JiYgZG9tRm8KICAgICB9CiAgICAgCiAgICAgZGlzcGF0
Y2hFdmVudChGb3JtRGF0YUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmZvcm1kYXRhRXZlbnQs
IEV2ZW50OjpDYW5CdWJibGU6OlllcywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6Tm8sIEV2ZW50OjpJ
c0NvbXBvc2VkOjpObywgZG9tRm9ybURhdGEuY29weVJlZigpKSk7CisKKyAgICBpZiAoc3VibWl0
dGVyKQorICAgICAgICBzdWJtaXR0ZXItPnNldEFjdGl2YXRlZFN1Ym1pdChmYWxzZSk7CiAgICAg
CiAgICAgcmV0dXJuIGRvbUZvcm1EYXRhLT5jbG9uZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEZvcm1FbGVtZW50LmgKaW5kZXggZTlhNDJjZmEzZDQxYTFjZjdkOGFmYmEwZjVhZDhhODQzYWZi
MzJhZS4uNTMxNGIwMmMzZjI1MDU5N2NhMTRmNTg1MmU3OGJiN2IzMGViMDU1NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oCkBAIC0xMjcsNyArMTI3LDcgQEAgcHVibGljOgog
CiAgICAgc3RhdGljIEhUTUxGb3JtRWxlbWVudCogZmluZENsb3Nlc3RGb3JtQW5jZXN0b3IoY29u
c3QgRWxlbWVudCYpOwogICAgIAotICAgIFJlZlB0cjxET01Gb3JtRGF0YT4gY29uc3RydWN0RW50
cnlMaXN0KFJlZjxET01Gb3JtRGF0YT4mJiwgU3RyaW5nUGFpclZlY3RvciopOworICAgIFJlZlB0
cjxET01Gb3JtRGF0YT4gY29uc3RydWN0RW50cnlMaXN0KFJlZlB0cjxIVE1MRm9ybUNvbnRyb2xF
bGVtZW50PiYmLCBSZWY8RE9NRm9ybURhdGE+JiYsIFN0cmluZ1BhaXJWZWN0b3IqKTsKICAgICAK
IHByaXZhdGU6CiAgICAgSFRNTEZvcm1FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1
bWVudCYpOwpAQCAtMTQ2LDcgKzE0Niw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGNvcHlOb25B
dHRyaWJ1dGVQcm9wZXJ0aWVzRnJvbUVsZW1lbnQoY29uc3QgRWxlbWVudCYpIGZpbmFsOwogCi0g
ICAgdm9pZCBzdWJtaXQoRXZlbnQqLCBib29sIGFjdGl2YXRlU3VibWl0QnV0dG9uLCBib29sIHBy
b2Nlc3NpbmdVc2VyR2VzdHVyZSwgRm9ybVN1Ym1pc3Npb25UcmlnZ2VyLCBIVE1MRm9ybUNvbnRy
b2xFbGVtZW50KiBzdWJtaXR0ZXIgPSBudWxscHRyKTsKKyAgICB2b2lkIHN1Ym1pdChFdmVudCos
IGJvb2wgcHJvY2Vzc2luZ1VzZXJHZXN0dXJlLCBGb3JtU3VibWlzc2lvblRyaWdnZXIsIEhUTUxG
b3JtQ29udHJvbEVsZW1lbnQqIHN1Ym1pdHRlciA9IG51bGxwdHIpOwogCiAgICAgdm9pZCBzdWJt
aXREaWFsb2coUmVmPEZvcm1TdWJtaXNzaW9uPiYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9TdWJtaXRJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TdWJt
aXRJbnB1dFR5cGUuY3BwCmluZGV4IGRjYTc1YzgyMzdmZDE5ZDgxNmYyN2JhY2UwNmQ0M2EwZWJh
MTE1MmUuLjhjNjQ2OWZmZTM0M2VlMDhhN2RmZjBhNDg3NGJkZGU3MWZhZTg1MTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3VibWl0SW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1N1Ym1pdElucHV0VHlwZS5jcHAKQEAgLTc0LDEwICs3NCw4IEBAIHZvaWQg
U3VibWl0SW5wdXRUeXBlOjpoYW5kbGVET01BY3RpdmF0ZUV2ZW50KEV2ZW50JiBldmVudCkKICAg
ICAvLyB0aGUgRm9ybSBvciBidXR0b24gcmVsYXRpb25zaGlwcy4KICAgICBwcm90ZWN0ZWRFbGVt
ZW50LT5kb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwog
Ci0gICAgcHJvdGVjdGVkRWxlbWVudC0+c2V0QWN0aXZhdGVkU3VibWl0KHRydWUpOwogICAgIGlm
IChSZWZQdHIgY3VycmVudEZvcm0gPSBwcm90ZWN0ZWRFbGVtZW50LT5mb3JtKCkpCiAgICAgICAg
IGN1cnJlbnRGb3JtLT5zdWJtaXRJZlBvc3NpYmxlKCZldmVudCwgZWxlbWVudCgpKTsgLy8gRXZl
bnQgaGFuZGxlcnMgY2FuIHJ1bi4KLSAgICBwcm90ZWN0ZWRFbGVtZW50LT5zZXRBY3RpdmF0ZWRT
dWJtaXQoZmFsc2UpOwogICAgIGV2ZW50LnNldERlZmF1bHRIYW5kbGVkKCk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwCmluZGV4IDZlNjI2Zjg0NDljNTUwZDI4
ZWY0ZTY0N2YxNzYwMTAxYmNhMTNjNDAuLjc5OTYwNGJmMzEzNTMwNmJkODU3NGE2ZDExYTdmYmM2
MzdmN2Q0NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lv
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmNwcApAQCAt
MjEyLDcgKzIxMiw3IEBAIFJlZjxGb3JtU3VibWlzc2lvbj4gRm9ybVN1Ym1pc3Npb246OmNyZWF0
ZShIVE1MRm9ybUVsZW1lbnQmIGZvcm0sIEhUTUxGb3JtQ29udHJvCiAgICAgYXV0byBkb21Gb3Jt
RGF0YSA9IERPTUZvcm1EYXRhOjpjcmVhdGUoZGF0YUVuY29kaW5nLmVuY29kaW5nRm9yRm9ybVN1
Ym1pc3Npb25PclVSTFBhcnNpbmcoKSk7CiAgICAgU3RyaW5nUGFpclZlY3RvciBmb3JtVmFsdWVz
OwogCi0gICAgYXV0byByZXN1bHQgPSBmb3JtLmNvbnN0cnVjdEVudHJ5TGlzdChXVEZNb3ZlKGRv
bUZvcm1EYXRhKSwgJmZvcm1WYWx1ZXMpOworICAgIGF1dG8gcmVzdWx0ID0gZm9ybS5jb25zdHJ1
Y3RFbnRyeUxpc3Qoc3VibWl0dGVyLmNvcHlSZWYoKSwgV1RGTW92ZShkb21Gb3JtRGF0YSksICZm
b3JtVmFsdWVzKTsKICAgICBSRUxFQVNFX0FTU0VSVChyZXN1bHQpOwogICAgIGRvbUZvcm1EYXRh
ID0gcmVzdWx0LnJlbGVhc2VOb25OdWxsKCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CmluZGV4IDU0YjkzNjQwZTI3ODRjZDMxM2RmMzg5ZTVlZGIzZjc2ZGIxNTJlYTkuLmNlZmMyODU1
N2Q1ODJjNjMyYTQ0ZTQzNGQ0ZmIxOGZjOTRmNzk3ZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIyLTA0LTE0ICBaaXJhbiBTdW4gIDx6c3VuQGln
YWxpYS5jb20+CisKKyAgICAgICAgQ29uc3RydWN0ZWQgRm9ybURhdGEgb2JqZWN0IHNob3VsZCBu
b3QgY29udGFpbiBhbiBlbnRyeSBmb3IgdGhlIHN1Ym1pdCBidXR0b24gdGhhdCB3YXMgdXNlZCB0
byBzdWJtaXQgdGhlIGZvcm0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzOTA3MAorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisg
ICAgICAgIFVwZGF0ZSB0ZXN0IGV4cGVjdGF0aW9uIGFzIHRoZSBzdWItdGVzdCBpcyBub3cgcGFz
c2luZy4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMv
Zm9ybS1zdWJtaXNzaW9uLTAvY29uc3RydWN0aW5nLWZvcm0tZGF0YS1zZXQtZXhwZWN0ZWQudHh0
OgorCiAyMDIyLTA0LTE0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBFeHBvc2Ugd29ya2VycyBhcyBzZXJ2aWNlIHdvcmtlciBjbGllbnRzIGFuZCBpbXBsZW1l
bnQgcmVnaXN0cmF0aW9uIG1hdGNoaW5nIGZvciBkZWRpY2F0ZWQgd29ya2VycwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9mb3Jtcy9mb3JtLXN1Ym1pc3Npb24tMC9jb25zdHJ1Y3RpbmctZm9ybS1kYXRhLXNldC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2Zvcm1zL2Zvcm0tc3VibWlzc2lvbi0wL2NvbnN0cnVjdGluZy1mb3Jt
LWRhdGEtc2V0LWV4cGVjdGVkLnR4dAppbmRleCBkOWQ5YzliNGUzMTBmNzQwZTkxYmQ5ZDQxYzhi
NzA0ZWM5YmMyZDZmLi5mZGM3Y2VmMGEwMmMxODExNGFmNTE0ZDE3MTY1MWIzYjYyZGQxMzBlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2Zvcm1zL2Zvcm0tc3VibWlzc2lvbi0wL2NvbnN0cnVjdGluZy1mb3JtLWRh
dGEtc2V0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL2Zvcm0tc3VibWlzc2lvbi0wL2NvbnN0
cnVjdGluZy1mb3JtLWRhdGEtc2V0LWV4cGVjdGVkLnR4dApAQCAtMjEsNSArMjEsNSBAQCBQQVNT
IEZpbGVzIGluIGEgdGV4dC9wbGFpbiBmb3JtIHNob3cgdXAgYXMgRmlsZSBvYmplY3RzIGluIHRo
ZSAiZm9ybURhdGEiIElETCBhdAogUEFTUyAiZm9ybURhdGEiIElETCBhdHRyaWJ1dGUgc2hvdWxk
IGhhdmUgZW50cmllcyBmb3IgZm9ybS1hc3NvY2lhdGVkIGVsZW1lbnRzIGluIHRoZSBmaXJzdCBl
dmVudCBoYW5kbGVyLCBhbmQgdGhlIHNlY29uZCBoYW5kbGVyIGNhbiByZWFkIGVudHJpZXMgc2V0
IGJ5IHRoZSBmaXJzdCBoYW5kbGVyLgogUEFTUyBFbnRyaWVzIGFkZGVkIHRvICJmb3JtRGF0YSIg
SURMIGF0dHJpYnV0ZSBzaG91bGQgYmUgc3VibWl0dGVkLgogUEFTUyBFbnRyaWVzIGFkZGVkIHRv
IHRoZSAiZm9ybWRhdGEiIElETCBhdHRyaWJ1dGUgc2hvdWxkbid0IGJlIG5ld2xpbmUgbm9ybWFs
aXplZCBpbiB0aGUgcmVzdWx0aW5nIEZvcm1EYXRhCi1GQUlMIFRoZSBjb25zdHJ1Y3RlZCBGb3Jt
RGF0YSBvYmplY3Qgc2hvdWxkIG5vdCBjb250YWluIGFuIGVudHJ5IGZvciB0aGUgc3VibWl0IGJ1
dHRvbiB0aGF0IHdhcyB1c2VkIHRvIHN1Ym1pdCB0aGUgZm9ybS4gYXNzZXJ0X2ZhbHNlOiBleHBl
Y3RlZCBmYWxzZSBnb3QgdHJ1ZQorUEFTUyBUaGUgY29uc3RydWN0ZWQgRm9ybURhdGEgb2JqZWN0
IHNob3VsZCBub3QgY29udGFpbiBhbiBlbnRyeSBmb3IgdGhlIHN1Ym1pdCBidXR0b24gdGhhdCB3
YXMgdXNlZCB0byBzdWJtaXQgdGhlIGZvcm0uCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458265</attachid>
            <date>2022-04-25 06:43:59 -0700</date>
            <delta_ts>2022-04-25 09:32:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239070-20220425144357.patch</filename>
            <type>text/plain</type>
            <size>12514</size>
            <attacher>zsun</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2ZlNGE5ZjdlZjJiNjYy
MzdmYjdkNTQ0NDEyNTI5MDhlMmI3NTViYS4uMzQxYWRiY2RiOThiZWU4MWM2MmZjYjc4NDVlNzg2
ZDY1MmM5YWY4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIyLTA0LTE0ICBaaXJh
biBTdW4gIDx6c3VuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQ29uc3RydWN0ZWQgRm9ybURhdGEg
b2JqZWN0IHNob3VsZCBub3QgY29udGFpbiBhbiBlbnRyeSBmb3IgdGhlIHN1Ym1pdCBidXR0b24g
dGhhdCB3YXMgdXNlZCB0byBzdWJtaXQgdGhlIGZvcm0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTA3MAorCisgICAgICAgIFJldmlld2VkIGJ5IENo
cmlzIER1bWV6LgorCisgICAgICAgIFdoZW4gdGhlIGFjdGl2ZWRTdWJtaXQgZmxhZyBpcyBzZXQg
Zm9yIGEgc3VibWl0IGJ1dHRvbiwgaXRzIHZhbHVlIGlzIGFwcGVuZGVkIHRvIGEgRm9ybURhdGEu
IEluIHRoZSBjYXNlIG9mIGZvcm0KKyAgICAgICAgc3VibWlzc2lvbiBjYWxsZWQgaW4gc3VibWl0
IGV2ZW50IGhhbmRsZXIsIHdlIGluY2x1ZGUgc3VibWl0IGJ1dHRvbiB3aGVuIGJ1aWxkIEZvcm1E
YXRhLiBUaGUgc3VibWl0IGJ1dHRvbiBzaG91bGQKKyAgICAgICAgbm90IGJlIGluY2x1ZGVkIHRo
b3VnaC4gVGhpcyBwYXRjaCBjb3JyZWN0IGl0IGJ5IGNhbGxpbmcgc2V0IHRoZSBhY3RpdmF0ZWRT
dWJtaXQgZmxhZyBqdXN0IGJlZm9yZSBvciBhZnRlciBidWlsZGluZworICAgICAgICBGb3JtRGF0
YS4KKyAgICAgICAgCisgICAgICAgIFBhcnQgb2YgdGhlIHBhdGNoIGlzIGFuIGltcG9ydCBvZiBD
aHJvbWl1bSBDTCBhdAorICAgICAgICBodHRwczovL2NvZGVyZXZpZXcuY2hyb21pdW0ub3JnLzIz
NDAyMTMwMDIKKworICAgICAgICAqIGh0bWwvRE9NRm9ybURhdGEuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NRm9ybURhdGE6OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9IVE1MQnV0dG9uRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2
ZW50SGFuZGxlcik6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTEZvcm1FbGVtZW50OjpzdWJtaXQpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTEZvcm1FbGVtZW50Ojpjb25zdHJ1Y3RFbnRyeUxpc3QpOgorICAgICAgICAqIGh0bWwvSFRN
TEZvcm1FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9TdWJtaXRJbnB1dFR5cGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3VibWl0SW5wdXRUeXBlOjpoYW5kbGVET01BY3RpdmF0ZUV2ZW50KToK
KyAgICAgICAgKiBsb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Rm9ybVN1Ym1pc3Npb246OmNyZWF0ZSk6CisKIDIwMjItMDQtMTQgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEV4cG9zZSB3b3JrZXJzIGFzIHNlcnZpY2Ugd29y
a2VyIGNsaWVudHMgYW5kIGltcGxlbWVudCByZWdpc3RyYXRpb24gbWF0Y2hpbmcgZm9yIGRlZGlj
YXRlZCB3b3JrZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTUZvcm1EYXRh
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NRm9ybURhdGEuY3BwCmluZGV4IDZmNDVlMWNj
NGZiYjI2Y2Q5YzdjMmRmMTYzMmI2NTJiZjE2NjVmODEuLjM3ZTIxZWZhZDVhMWY2ZmYxZGQ5NTM3
NTIzM2ViNzIwNDUzZGQ3MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NRm9y
bURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NRm9ybURhdGEuY3BwCkBAIC00
OCw3ICs0OCw3IEBAIEV4Y2VwdGlvbk9yPFJlZjxET01Gb3JtRGF0YT4+IERPTUZvcm1EYXRhOjpj
cmVhdGUoSFRNTEZvcm1FbGVtZW50KiBmb3JtKQogICAgIGlmICghZm9ybSkKICAgICAgICAgcmV0
dXJuIGZvcm1EYXRhOwogICAgIAotICAgIGF1dG8gcmVzdWx0ID0gZm9ybS0+Y29uc3RydWN0RW50
cnlMaXN0KFdURk1vdmUoZm9ybURhdGEpLCBudWxscHRyKTsKKyAgICBhdXRvIHJlc3VsdCA9IGZv
cm0tPmNvbnN0cnVjdEVudHJ5TGlzdChudWxscHRyLCBXVEZNb3ZlKGZvcm1EYXRhKSwgbnVsbHB0
cik7CiAgICAgCiAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJ
bnZhbGlkU3RhdGVFcnJvciwgIkFscmVhZHkgY29uc3RydWN0aW5nIEZvcm0gZW50cnkgbGlzdC4i
X3MgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5jcHAKaW5kZXggYzhj
YmQxODUwZjFhYzI4ZDFiMzVhYmIxNTM4MmIwMDc1Y2UxNmE0OC4uOTRjM2YyN2NkZjU3ZmZhOWRm
OTA1MzIzY2JlZWIyNGZkMGFkZTg2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQnV0dG9uRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9u
RWxlbWVudC5jcHAKQEAgLTE0NiwxMCArMTQ2LDggQEAgdm9pZCBIVE1MQnV0dG9uRWxlbWVudDo6
ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCYgZXZlbnQpCiAgICAgICAgICAgICBkb2N1bWVudCgp
LnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogCiAgICAgICAgICAgICBp
ZiAoYXV0byBjdXJyZW50Rm9ybSA9IGZvcm0oKSkgewotICAgICAgICAgICAgICAgIGlmIChtX3R5
cGUgPT0gU1VCTUlUKSB7Ci0gICAgICAgICAgICAgICAgICAgIFNldEZvclNjb3BlIGFjdGl2YXRl
ZFN1Ym1pdFN0YXRlKG1faXNBY3RpdmF0ZWRTdWJtaXQsIHRydWUpOworICAgICAgICAgICAgICAg
IGlmIChtX3R5cGUgPT0gU1VCTUlUKQogICAgICAgICAgICAgICAgICAgICBjdXJyZW50Rm9ybS0+
c3VibWl0SWZQb3NzaWJsZSgmZXZlbnQsIHRoaXMpOwotICAgICAgICAgICAgICAgIH0KIAogICAg
ICAgICAgICAgICAgIGlmIChtX3R5cGUgPT0gUkVTRVQpCiAgICAgICAgICAgICAgICAgICAgIGN1
cnJlbnRGb3JtLT5yZXNldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3Bw
CmluZGV4IGQ0ZjU2YWQxNTllNDczZmU5M2QzNjE0MTg4Mzc2ZTdlYWJjYWNlOTIuLjFmNGMwOTk3
NGQyOTdjMzk2M2QwNjQ1YmQzNjc1NGI0YTQ2N2RmM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxGb3JtRWxlbWVudC5jcHAKQEAgLTMyMiwxNyArMzIyLDE3IEBAIHZvaWQgSFRNTEZvcm1FbGVt
ZW50OjpzdWJtaXRJZlBvc3NpYmxlKEV2ZW50KiBldmVudCwgSFRNTEZvcm1Db250cm9sRWxlbWVu
dCogc3ViCiAgICAgbV9pc1N1Ym1pdHRpbmdPclByZXBhcmluZ0ZvclN1Ym1pc3Npb24gPSBmYWxz
ZTsKIAogICAgIGlmIChtX3Nob3VsZFN1Ym1pdCkKLSAgICAgICAgc3VibWl0KGV2ZW50LCB0cnVl
LCAhc3VibWl0dGVyLCB0cmlnZ2VyLCBzdWJtaXR0ZXIpOworICAgICAgICBzdWJtaXQoZXZlbnQs
ICFzdWJtaXR0ZXIsIHRyaWdnZXIsIHN1Ym1pdHRlcik7CiB9CiAKIHZvaWQgSFRNTEZvcm1FbGVt
ZW50OjpzdWJtaXQoKQogewotICAgIHN1Ym1pdChudWxscHRyLCBmYWxzZSwgdHJ1ZSwgTm90U3Vi
bWl0dGVkQnlKYXZhU2NyaXB0KTsKKyAgICBzdWJtaXQobnVsbHB0ciwgdHJ1ZSwgTm90U3VibWl0
dGVkQnlKYXZhU2NyaXB0KTsKIH0KIAogdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OnN1Ym1pdEZyb21K
YXZhU2NyaXB0KCkKIHsKLSAgICBzdWJtaXQobnVsbHB0ciwgZmFsc2UsIFVzZXJHZXN0dXJlSW5k
aWNhdG9yOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSwgU3VibWl0dGVkQnlKYXZhU2NyaXB0KTsK
KyAgICBzdWJtaXQobnVsbHB0ciwgVXNlckdlc3R1cmVJbmRpY2F0b3I6OnByb2Nlc3NpbmdVc2Vy
R2VzdHVyZSgpLCBTdWJtaXR0ZWRCeUphdmFTY3JpcHQpOwogfQogCiBFeGNlcHRpb25Pcjx2b2lk
PiBIVE1MRm9ybUVsZW1lbnQ6OnJlcXVlc3RTdWJtaXQoSFRNTEVsZW1lbnQqIHN1Ym1pdHRlcikK
QEAgLTM5Miw3ICszOTIsNyBAQCBSZWZQdHI8SFRNTEZvcm1Db250cm9sRWxlbWVudD4gSFRNTEZv
cm1FbGVtZW50OjpmaW5kU3VibWl0QnV0dG9uKEhUTUxGb3JtQ29udHJvbAogICAgIHJldHVybiBm
aXJzdFN1Y2Nlc3NmdWxTdWJtaXRCdXR0b247CiB9CiAKLXZvaWQgSFRNTEZvcm1FbGVtZW50Ojpz
dWJtaXQoRXZlbnQqIGV2ZW50LCBib29sIGFjdGl2YXRlU3VibWl0QnV0dG9uLCBib29sIHByb2Nl
c3NpbmdVc2VyR2VzdHVyZSwgRm9ybVN1Ym1pc3Npb25UcmlnZ2VyIHRyaWdnZXIsIEhUTUxGb3Jt
Q29udHJvbEVsZW1lbnQqIHN1Ym1pdHRlcikKK3ZvaWQgSFRNTEZvcm1FbGVtZW50OjpzdWJtaXQo
RXZlbnQqIGV2ZW50LCBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSwgRm9ybVN1Ym1pc3Npb25U
cmlnZ2VyIHRyaWdnZXIsIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIHN1Ym1pdHRlcikKIHsKICAg
ICAvLyBUaGUgc3VibWl0SWZQb3NzaWJsZSBmdW5jdGlvbiBhbHNvIGRvZXMgdGhpcyBjaGVjaywg
YnV0IHdlIG5lZWQgdG8gZG8gaXQgaGVyZQogICAgIC8vIHRvbywgc2luY2UgdGhlcmUgYXJlIHNv
bWUgY29kZSBwYXRocyB0aGF0IGJ5cGFzcyB0aGF0IGZ1bmN0aW9uLgpAQCAtNDE1LDkgKzQxNSwx
NiBAQCB2b2lkIEhUTUxGb3JtRWxlbWVudDo6c3VibWl0KEV2ZW50KiBldmVudCwgYm9vbCBhY3Rp
dmF0ZVN1Ym1pdEJ1dHRvbiwgYm9vbCBwcm9jZQogICAgIG1faXNTdWJtaXR0aW5nT3JQcmVwYXJp
bmdGb3JTdWJtaXNzaW9uID0gdHJ1ZTsKICAgICBtX3dhc1VzZXJTdWJtaXR0ZWQgPSBwcm9jZXNz
aW5nVXNlckdlc3R1cmU7CiAKLSAgICBhdXRvIGZpcnN0U3VjY2Vzc2Z1bFN1Ym1pdEJ1dHRvbiA9
IGZpbmRTdWJtaXRCdXR0b24oc3VibWl0dGVyLCBhY3RpdmF0ZVN1Ym1pdEJ1dHRvbik7Ci0gICAg
aWYgKGZpcnN0U3VjY2Vzc2Z1bFN1Ym1pdEJ1dHRvbikKLSAgICAgICAgZmlyc3RTdWNjZXNzZnVs
U3VibWl0QnV0dG9uLT5zZXRBY3RpdmF0ZWRTdWJtaXQodHJ1ZSk7CisgICAgaWYgKGV2ZW50ICYm
ICFzdWJtaXR0ZXIpIHsKKyAgICAgICAgLy8gSW4gYSBjYXNlIG9mIGltcGxpY2l0IHN1Ym1pc3Np
b24gd2l0aG91dCBhIHN1Ym1pdCBidXR0b24sICdzdWJtaXQnIGV2ZW50IGhhbmRsZXIgbWlnaHQg
YWRkIGEgc3VibWl0IGJ1dHRvbi4gV2Ugc2VhcmNoIGZvciBhIHN1Ym1pdCBidXR0b24gYWdhaW4u
CisgICAgICAgIGF1dG8gYXNzb2NpYXRlZEVsZW1lbnRzID0gY29weUFzc29jaWF0ZWRFbGVtZW50
c1ZlY3RvcigpOworICAgICAgICBmb3IgKGF1dG8mIGVsZW1lbnQgOiBhc3NvY2lhdGVkRWxlbWVu
dHMpIHsKKyAgICAgICAgICAgIGlmIChhdXRvKiBjb250cm9sID0gZHluYW1pY0Rvd25jYXN0PEhU
TUxGb3JtQ29udHJvbEVsZW1lbnQ+KGVsZW1lbnQuZ2V0KCkpOyBjb250cm9sLT5pc1N1Y2Nlc3Nm
dWxTdWJtaXRCdXR0b24oKSkgeworICAgICAgICAgICAgICAgIHN1Ym1pdHRlciA9IGNvbnRyb2w7
CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9
CiAKICAgICBSZWYgcHJvdGVjdGVkVGhpcyB7ICp0aGlzIH07IC8vIEZvcm0gc3VibWlzc2lvbiBj
YW4gZXhlY3V0ZSBhcmJpdGFyeSBKYXZhU2NyaXB0LgogCkBAIC00NDMsOSArNDUwLDYgQEAgdm9p
ZCBIVE1MRm9ybUVsZW1lbnQ6OnN1Ym1pdChFdmVudCogZXZlbnQsIGJvb2wgYWN0aXZhdGVTdWJt
aXRCdXR0b24sIGJvb2wgcHJvY2UKICAgICBlbHNlCiAgICAgICAgIGZyYW1lLT5sb2FkZXIoKS5z
dWJtaXRGb3JtKFdURk1vdmUoZm9ybVN1Ym1pc3Npb24pKTsKIAotICAgIGlmIChmaXJzdFN1Y2Nl
c3NmdWxTdWJtaXRCdXR0b24pCi0gICAgICAgIGZpcnN0U3VjY2Vzc2Z1bFN1Ym1pdEJ1dHRvbi0+
c2V0QWN0aXZhdGVkU3VibWl0KGZhbHNlKTsKLQogICAgIG1fc2hvdWxkU3VibWl0ID0gZmFsc2U7
CiAgICAgbV9pc1N1Ym1pdHRpbmdPclByZXBhcmluZ0ZvclN1Ym1pc3Npb24gPSBmYWxzZTsKIH0K
QEAgLTEwMTUsNyArMTAxOSw3IEBAIGNvbnN0IEF0b21TdHJpbmcmIEhUTUxGb3JtRWxlbWVudDo6
YXV0b2NvbXBsZXRlKCkgY29uc3QKICAgICByZXR1cm4gZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShh
dHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKGF1dG9jb21wbGV0ZUF0dHIpLCAib2ZmIikg
PyBvZmYgOiBvbjsKIH0KIAotUmVmUHRyPERPTUZvcm1EYXRhPiBIVE1MRm9ybUVsZW1lbnQ6OmNv
bnN0cnVjdEVudHJ5TGlzdChSZWY8RE9NRm9ybURhdGE+JiYgZG9tRm9ybURhdGEsIFN0cmluZ1Bh
aXJWZWN0b3IqIGZvcm1WYWx1ZXMpCitSZWZQdHI8RE9NRm9ybURhdGE+IEhUTUxGb3JtRWxlbWVu
dDo6Y29uc3RydWN0RW50cnlMaXN0KFJlZlB0cjxIVE1MRm9ybUNvbnRyb2xFbGVtZW50PiYmIHN1
Ym1pdHRlciwgUmVmPERPTUZvcm1EYXRhPiYmIGRvbUZvcm1EYXRhLCBTdHJpbmdQYWlyVmVjdG9y
KiBmb3JtVmFsdWVzKQogewogICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVs
dGlwYWdlL2Zvcm0tY29udHJvbC1pbmZyYXN0cnVjdHVyZS5odG1sI2NvbnN0cnVjdGluZy1mb3Jt
LWRhdGEtc2V0CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKQEAgLTEwMjQsNiArMTAyOCw5
IEBAIFJlZlB0cjxET01Gb3JtRGF0YT4gSFRNTEZvcm1FbGVtZW50Ojpjb25zdHJ1Y3RFbnRyeUxp
c3QoUmVmPERPTUZvcm1EYXRhPiYmIGRvbUZvCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAg
IAogICAgIFNldEZvclNjb3BlIGlzQ29uc3RydWN0aW5nRW50cnlMaXN0U2NvcGUobV9pc0NvbnN0
cnVjdGluZ0VudHJ5TGlzdCwgdHJ1ZSk7CisKKyAgICBpZiAoc3VibWl0dGVyKQorICAgICAgICBz
dWJtaXR0ZXItPnNldEFjdGl2YXRlZFN1Ym1pdCh0cnVlKTsKICAgICAKICAgICBmb3IgKGF1dG8m
IGNvbnRyb2wgOiB0aGlzLT5jb3B5QXNzb2NpYXRlZEVsZW1lbnRzVmVjdG9yKCkpIHsKICAgICAg
ICAgYXV0byYgZWxlbWVudCA9IGNvbnRyb2wtPmFzSFRNTEVsZW1lbnQoKTsKQEAgLTEwMzksNiAr
MTA0Niw5IEBAIFJlZlB0cjxET01Gb3JtRGF0YT4gSFRNTEZvcm1FbGVtZW50Ojpjb25zdHJ1Y3RF
bnRyeUxpc3QoUmVmPERPTUZvcm1EYXRhPiYmIGRvbUZvCiAgICAgfQogICAgIAogICAgIGRpc3Bh
dGNoRXZlbnQoRm9ybURhdGFFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5mb3JtZGF0YUV2ZW50
LCBFdmVudDo6Q2FuQnViYmxlOjpZZXMsIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vLCBFdmVudDo6
SXNDb21wb3NlZDo6Tm8sIGRvbUZvcm1EYXRhLmNvcHlSZWYoKSkpOworCisgICAgaWYgKHN1Ym1p
dHRlcikKKyAgICAgICAgc3VibWl0dGVyLT5zZXRBY3RpdmF0ZWRTdWJtaXQoZmFsc2UpOwogICAg
IAogICAgIHJldHVybiBkb21Gb3JtRGF0YS0+Y2xvbmUoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxGb3JtRWxlbWVudC5oCmluZGV4IGU5YTQyY2ZhM2Q0MWExY2Y3ZDhhZmJhMGY1YWQ4YTg0M2Fm
YjMyYWUuLjUzMTRiMDJjM2YyNTA1OTdjYTE0ZjU4NTJlNzhiYjdiMzBlYjA1NTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaApAQCAtMTI3LDcgKzEyNyw3IEBAIHB1YmxpYzoK
IAogICAgIHN0YXRpYyBIVE1MRm9ybUVsZW1lbnQqIGZpbmRDbG9zZXN0Rm9ybUFuY2VzdG9yKGNv
bnN0IEVsZW1lbnQmKTsKICAgICAKLSAgICBSZWZQdHI8RE9NRm9ybURhdGE+IGNvbnN0cnVjdEVu
dHJ5TGlzdChSZWY8RE9NRm9ybURhdGE+JiYsIFN0cmluZ1BhaXJWZWN0b3IqKTsKKyAgICBSZWZQ
dHI8RE9NRm9ybURhdGE+IGNvbnN0cnVjdEVudHJ5TGlzdChSZWZQdHI8SFRNTEZvcm1Db250cm9s
RWxlbWVudD4mJiwgUmVmPERPTUZvcm1EYXRhPiYmLCBTdHJpbmdQYWlyVmVjdG9yKik7CiAgICAg
CiBwcml2YXRlOgogICAgIEhUTUxGb3JtRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9j
dW1lbnQmKTsKQEAgLTE0Niw3ICsxNDYsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBjb3B5Tm9u
QXR0cmlidXRlUHJvcGVydGllc0Zyb21FbGVtZW50KGNvbnN0IEVsZW1lbnQmKSBmaW5hbDsKIAot
ICAgIHZvaWQgc3VibWl0KEV2ZW50KiwgYm9vbCBhY3RpdmF0ZVN1Ym1pdEJ1dHRvbiwgYm9vbCBw
cm9jZXNzaW5nVXNlckdlc3R1cmUsIEZvcm1TdWJtaXNzaW9uVHJpZ2dlciwgSFRNTEZvcm1Db250
cm9sRWxlbWVudCogc3VibWl0dGVyID0gbnVsbHB0cik7CisgICAgdm9pZCBzdWJtaXQoRXZlbnQq
LCBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSwgRm9ybVN1Ym1pc3Npb25UcmlnZ2VyLCBIVE1M
Rm9ybUNvbnRyb2xFbGVtZW50KiBzdWJtaXR0ZXIgPSBudWxscHRyKTsKIAogICAgIHZvaWQgc3Vi
bWl0RGlhbG9nKFJlZjxGb3JtU3VibWlzc2lvbj4mJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvU3VibWl0SW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3Vi
bWl0SW5wdXRUeXBlLmNwcAppbmRleCBkY2E3NWM4MjM3ZmQxOWQ4MTZmMjdiYWNlMDZkNDNhMGVi
YTExNTJlLi44YzY0NjlmZmUzNDNlZTA4YTdkZmYwYTQ4NzRiZGRlNzFmYWU4NTEyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N1Ym1pdElucHV0VHlwZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9TdWJtaXRJbnB1dFR5cGUuY3BwCkBAIC03NCwxMCArNzQsOCBAQCB2b2lk
IFN1Ym1pdElucHV0VHlwZTo6aGFuZGxlRE9NQWN0aXZhdGVFdmVudChFdmVudCYgZXZlbnQpCiAg
ICAgLy8gdGhlIEZvcm0gb3IgYnV0dG9uIHJlbGF0aW9uc2hpcHMuCiAgICAgcHJvdGVjdGVkRWxl
bWVudC0+ZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsK
IAotICAgIHByb3RlY3RlZEVsZW1lbnQtPnNldEFjdGl2YXRlZFN1Ym1pdCh0cnVlKTsKICAgICBp
ZiAoUmVmUHRyIGN1cnJlbnRGb3JtID0gcHJvdGVjdGVkRWxlbWVudC0+Zm9ybSgpKQogICAgICAg
ICBjdXJyZW50Rm9ybS0+c3VibWl0SWZQb3NzaWJsZSgmZXZlbnQsIGVsZW1lbnQoKSk7IC8vIEV2
ZW50IGhhbmRsZXJzIGNhbiBydW4uCi0gICAgcHJvdGVjdGVkRWxlbWVudC0+c2V0QWN0aXZhdGVk
U3VibWl0KGZhbHNlKTsKICAgICBldmVudC5zZXREZWZhdWx0SGFuZGxlZCgpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmNwcAppbmRleCA2ZTYyNmY4NDQ5YzU1MGQy
OGVmNGU2NDdmMTc2MDEwMWJjYTEzYzQwLi43OTk2MDRiZjMxMzUzMDZiZDg1NzRhNmQxMWE3ZmJj
NjM3ZjdkNDcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Np
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5jcHAKQEAg
LTIxMiw3ICsyMTIsNyBAQCBSZWY8Rm9ybVN1Ym1pc3Npb24+IEZvcm1TdWJtaXNzaW9uOjpjcmVh
dGUoSFRNTEZvcm1FbGVtZW50JiBmb3JtLCBIVE1MRm9ybUNvbnRybwogICAgIGF1dG8gZG9tRm9y
bURhdGEgPSBET01Gb3JtRGF0YTo6Y3JlYXRlKGRhdGFFbmNvZGluZy5lbmNvZGluZ0ZvckZvcm1T
dWJtaXNzaW9uT3JVUkxQYXJzaW5nKCkpOwogICAgIFN0cmluZ1BhaXJWZWN0b3IgZm9ybVZhbHVl
czsKIAotICAgIGF1dG8gcmVzdWx0ID0gZm9ybS5jb25zdHJ1Y3RFbnRyeUxpc3QoV1RGTW92ZShk
b21Gb3JtRGF0YSksICZmb3JtVmFsdWVzKTsKKyAgICBhdXRvIHJlc3VsdCA9IGZvcm0uY29uc3Ry
dWN0RW50cnlMaXN0KHN1Ym1pdHRlci5jb3B5UmVmKCksIFdURk1vdmUoZG9tRm9ybURhdGEpLCAm
Zm9ybVZhbHVlcyk7CiAgICAgUkVMRUFTRV9BU1NFUlQocmVzdWx0KTsKICAgICBkb21Gb3JtRGF0
YSA9IHJlc3VsdC5yZWxlYXNlTm9uTnVsbCgpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwppbmRleCA1NGI5MzY0MGUyNzg0Y2QzMTNkZjM4OWU1ZWRiM2Y3NmRiMTUyZWE5Li5jZWZjMjg1
NTdkNTgyYzYzMmE0NGU0MzRkNGZiMThmYzk0Zjc5N2UwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMi0wNC0xNCAgWmlyYW4gU3VuICA8enN1bkBp
Z2FsaWEuY29tPgorCisgICAgICAgIENvbnN0cnVjdGVkIEZvcm1EYXRhIG9iamVjdCBzaG91bGQg
bm90IGNvbnRhaW4gYW4gZW50cnkgZm9yIHRoZSBzdWJtaXQgYnV0dG9uIHRoYXQgd2FzIHVzZWQg
dG8gc3VibWl0IHRoZSBmb3JtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzkwNzAKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKwor
ICAgICAgICBVcGRhdGUgdGVzdCBleHBlY3RhdGlvbiBhcyB0aGUgc3ViLXRlc3QgaXMgbm93IHBh
c3NpbmcuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1z
L2Zvcm0tc3VibWlzc2lvbi0wL2NvbnN0cnVjdGluZy1mb3JtLWRhdGEtc2V0LWV4cGVjdGVkLnR4
dDoKKwogMjAyMi0wNC0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAg
ICAgICAgRXhwb3NlIHdvcmtlcnMgYXMgc2VydmljZSB3b3JrZXIgY2xpZW50cyBhbmQgaW1wbGVt
ZW50IHJlZ2lzdHJhdGlvbiBtYXRjaGluZyBmb3IgZGVkaWNhdGVkIHdvcmtlcnMKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZm9ybXMvZm9ybS1zdWJtaXNzaW9uLTAvY29uc3RydWN0aW5nLWZvcm0tZGF0YS1zZXQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9mb3Jtcy9mb3JtLXN1Ym1pc3Npb24tMC9jb25zdHJ1Y3RpbmctZm9y
bS1kYXRhLXNldC1leHBlY3RlZC50eHQKaW5kZXggZDlkOWM5YjRlMzEwZjc0MGU5MWJkOWQ0MWM4
YjcwNGVjOWJjMmQ2Zi4uZmRjN2NlZjBhMDJjMTgxMTRhZjUxNGQxNzE2NTFiM2I2MmRkMTMwZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9mb3Jtcy9mb3JtLXN1Ym1pc3Npb24tMC9jb25zdHJ1Y3RpbmctZm9ybS1k
YXRhLXNldC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy9mb3JtLXN1Ym1pc3Npb24tMC9jb25z
dHJ1Y3RpbmctZm9ybS1kYXRhLXNldC1leHBlY3RlZC50eHQKQEAgLTIxLDUgKzIxLDUgQEAgUEFT
UyBGaWxlcyBpbiBhIHRleHQvcGxhaW4gZm9ybSBzaG93IHVwIGFzIEZpbGUgb2JqZWN0cyBpbiB0
aGUgImZvcm1EYXRhIiBJREwgYXQKIFBBU1MgImZvcm1EYXRhIiBJREwgYXR0cmlidXRlIHNob3Vs
ZCBoYXZlIGVudHJpZXMgZm9yIGZvcm0tYXNzb2NpYXRlZCBlbGVtZW50cyBpbiB0aGUgZmlyc3Qg
ZXZlbnQgaGFuZGxlciwgYW5kIHRoZSBzZWNvbmQgaGFuZGxlciBjYW4gcmVhZCBlbnRyaWVzIHNl
dCBieSB0aGUgZmlyc3QgaGFuZGxlci4KIFBBU1MgRW50cmllcyBhZGRlZCB0byAiZm9ybURhdGEi
IElETCBhdHRyaWJ1dGUgc2hvdWxkIGJlIHN1Ym1pdHRlZC4KIFBBU1MgRW50cmllcyBhZGRlZCB0
byB0aGUgImZvcm1kYXRhIiBJREwgYXR0cmlidXRlIHNob3VsZG4ndCBiZSBuZXdsaW5lIG5vcm1h
bGl6ZWQgaW4gdGhlIHJlc3VsdGluZyBGb3JtRGF0YQotRkFJTCBUaGUgY29uc3RydWN0ZWQgRm9y
bURhdGEgb2JqZWN0IHNob3VsZCBub3QgY29udGFpbiBhbiBlbnRyeSBmb3IgdGhlIHN1Ym1pdCBi
dXR0b24gdGhhdCB3YXMgdXNlZCB0byBzdWJtaXQgdGhlIGZvcm0uIGFzc2VydF9mYWxzZTogZXhw
ZWN0ZWQgZmFsc2UgZ290IHRydWUKK1BBU1MgVGhlIGNvbnN0cnVjdGVkIEZvcm1EYXRhIG9iamVj
dCBzaG91bGQgbm90IGNvbnRhaW4gYW4gZW50cnkgZm9yIHRoZSBzdWJtaXQgYnV0dG9uIHRoYXQg
d2FzIHVzZWQgdG8gc3VibWl0IHRoZSBmb3JtLgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458279</attachid>
            <date>2022-04-25 09:32:40 -0700</date>
            <delta_ts>2022-04-26 12:32:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239070-20220425173239.patch</filename>
            <type>text/plain</type>
            <size>12525</size>
            <attacher>zsun</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2ZlNGE5ZjdlZjJiNjYy
MzdmYjdkNTQ0NDEyNTI5MDhlMmI3NTViYS4uMzQxYWRiY2RiOThiZWU4MWM2MmZjYjc4NDVlNzg2
ZDY1MmM5YWY4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIyLTA0LTE0ICBaaXJh
biBTdW4gIDx6c3VuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQ29uc3RydWN0ZWQgRm9ybURhdGEg
b2JqZWN0IHNob3VsZCBub3QgY29udGFpbiBhbiBlbnRyeSBmb3IgdGhlIHN1Ym1pdCBidXR0b24g
dGhhdCB3YXMgdXNlZCB0byBzdWJtaXQgdGhlIGZvcm0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTA3MAorCisgICAgICAgIFJldmlld2VkIGJ5IENo
cmlzIER1bWV6LgorCisgICAgICAgIFdoZW4gdGhlIGFjdGl2ZWRTdWJtaXQgZmxhZyBpcyBzZXQg
Zm9yIGEgc3VibWl0IGJ1dHRvbiwgaXRzIHZhbHVlIGlzIGFwcGVuZGVkIHRvIGEgRm9ybURhdGEu
IEluIHRoZSBjYXNlIG9mIGZvcm0KKyAgICAgICAgc3VibWlzc2lvbiBjYWxsZWQgaW4gc3VibWl0
IGV2ZW50IGhhbmRsZXIsIHdlIGluY2x1ZGUgc3VibWl0IGJ1dHRvbiB3aGVuIGJ1aWxkIEZvcm1E
YXRhLiBUaGUgc3VibWl0IGJ1dHRvbiBzaG91bGQKKyAgICAgICAgbm90IGJlIGluY2x1ZGVkIHRo
b3VnaC4gVGhpcyBwYXRjaCBjb3JyZWN0IGl0IGJ5IGNhbGxpbmcgc2V0IHRoZSBhY3RpdmF0ZWRT
dWJtaXQgZmxhZyBqdXN0IGJlZm9yZSBvciBhZnRlciBidWlsZGluZworICAgICAgICBGb3JtRGF0
YS4KKyAgICAgICAgCisgICAgICAgIFBhcnQgb2YgdGhlIHBhdGNoIGlzIGFuIGltcG9ydCBvZiBD
aHJvbWl1bSBDTCBhdAorICAgICAgICBodHRwczovL2NvZGVyZXZpZXcuY2hyb21pdW0ub3JnLzIz
NDAyMTMwMDIKKworICAgICAgICAqIGh0bWwvRE9NRm9ybURhdGEuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NRm9ybURhdGE6OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9IVE1MQnV0dG9uRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2
ZW50SGFuZGxlcik6CisgICAgICAgICogaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTEZvcm1FbGVtZW50OjpzdWJtaXQpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTEZvcm1FbGVtZW50Ojpjb25zdHJ1Y3RFbnRyeUxpc3QpOgorICAgICAgICAqIGh0bWwvSFRN
TEZvcm1FbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9TdWJtaXRJbnB1dFR5cGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3VibWl0SW5wdXRUeXBlOjpoYW5kbGVET01BY3RpdmF0ZUV2ZW50KToK
KyAgICAgICAgKiBsb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Rm9ybVN1Ym1pc3Npb246OmNyZWF0ZSk6CisKIDIwMjItMDQtMTQgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEV4cG9zZSB3b3JrZXJzIGFzIHNlcnZpY2Ugd29y
a2VyIGNsaWVudHMgYW5kIGltcGxlbWVudCByZWdpc3RyYXRpb24gbWF0Y2hpbmcgZm9yIGRlZGlj
YXRlZCB3b3JrZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTUZvcm1EYXRh
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NRm9ybURhdGEuY3BwCmluZGV4IDZmNDVlMWNj
NGZiYjI2Y2Q5YzdjMmRmMTYzMmI2NTJiZjE2NjVmODEuLjM3ZTIxZWZhZDVhMWY2ZmYxZGQ5NTM3
NTIzM2ViNzIwNDUzZGQ3MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NRm9y
bURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NRm9ybURhdGEuY3BwCkBAIC00
OCw3ICs0OCw3IEBAIEV4Y2VwdGlvbk9yPFJlZjxET01Gb3JtRGF0YT4+IERPTUZvcm1EYXRhOjpj
cmVhdGUoSFRNTEZvcm1FbGVtZW50KiBmb3JtKQogICAgIGlmICghZm9ybSkKICAgICAgICAgcmV0
dXJuIGZvcm1EYXRhOwogICAgIAotICAgIGF1dG8gcmVzdWx0ID0gZm9ybS0+Y29uc3RydWN0RW50
cnlMaXN0KFdURk1vdmUoZm9ybURhdGEpLCBudWxscHRyKTsKKyAgICBhdXRvIHJlc3VsdCA9IGZv
cm0tPmNvbnN0cnVjdEVudHJ5TGlzdChudWxscHRyLCBXVEZNb3ZlKGZvcm1EYXRhKSwgbnVsbHB0
cik7CiAgICAgCiAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJ
bnZhbGlkU3RhdGVFcnJvciwgIkFscmVhZHkgY29uc3RydWN0aW5nIEZvcm0gZW50cnkgbGlzdC4i
X3MgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5jcHAKaW5kZXggYzhj
YmQxODUwZjFhYzI4ZDFiMzVhYmIxNTM4MmIwMDc1Y2UxNmE0OC4uOTRjM2YyN2NkZjU3ZmZhOWRm
OTA1MzIzY2JlZWIyNGZkMGFkZTg2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQnV0dG9uRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9u
RWxlbWVudC5jcHAKQEAgLTE0NiwxMCArMTQ2LDggQEAgdm9pZCBIVE1MQnV0dG9uRWxlbWVudDo6
ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCYgZXZlbnQpCiAgICAgICAgICAgICBkb2N1bWVudCgp
LnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogCiAgICAgICAgICAgICBp
ZiAoYXV0byBjdXJyZW50Rm9ybSA9IGZvcm0oKSkgewotICAgICAgICAgICAgICAgIGlmIChtX3R5
cGUgPT0gU1VCTUlUKSB7Ci0gICAgICAgICAgICAgICAgICAgIFNldEZvclNjb3BlIGFjdGl2YXRl
ZFN1Ym1pdFN0YXRlKG1faXNBY3RpdmF0ZWRTdWJtaXQsIHRydWUpOworICAgICAgICAgICAgICAg
IGlmIChtX3R5cGUgPT0gU1VCTUlUKQogICAgICAgICAgICAgICAgICAgICBjdXJyZW50Rm9ybS0+
c3VibWl0SWZQb3NzaWJsZSgmZXZlbnQsIHRoaXMpOwotICAgICAgICAgICAgICAgIH0KIAogICAg
ICAgICAgICAgICAgIGlmIChtX3R5cGUgPT0gUkVTRVQpCiAgICAgICAgICAgICAgICAgICAgIGN1
cnJlbnRGb3JtLT5yZXNldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Rm9ybUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuY3Bw
CmluZGV4IGQ0ZjU2YWQxNTllNDczZmU5M2QzNjE0MTg4Mzc2ZTdlYWJjYWNlOTIuLmI5ZTg4NjIy
NTU2MjViNmEzOTlkMTg5N2M1ZWY1M2Y2MGE1OWM0NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxGb3JtRWxlbWVudC5jcHAKQEAgLTMyMiwxNyArMzIyLDE3IEBAIHZvaWQgSFRNTEZvcm1FbGVt
ZW50OjpzdWJtaXRJZlBvc3NpYmxlKEV2ZW50KiBldmVudCwgSFRNTEZvcm1Db250cm9sRWxlbWVu
dCogc3ViCiAgICAgbV9pc1N1Ym1pdHRpbmdPclByZXBhcmluZ0ZvclN1Ym1pc3Npb24gPSBmYWxz
ZTsKIAogICAgIGlmIChtX3Nob3VsZFN1Ym1pdCkKLSAgICAgICAgc3VibWl0KGV2ZW50LCB0cnVl
LCAhc3VibWl0dGVyLCB0cmlnZ2VyLCBzdWJtaXR0ZXIpOworICAgICAgICBzdWJtaXQoZXZlbnQs
ICFzdWJtaXR0ZXIsIHRyaWdnZXIsIHN1Ym1pdHRlcik7CiB9CiAKIHZvaWQgSFRNTEZvcm1FbGVt
ZW50OjpzdWJtaXQoKQogewotICAgIHN1Ym1pdChudWxscHRyLCBmYWxzZSwgdHJ1ZSwgTm90U3Vi
bWl0dGVkQnlKYXZhU2NyaXB0KTsKKyAgICBzdWJtaXQobnVsbHB0ciwgdHJ1ZSwgTm90U3VibWl0
dGVkQnlKYXZhU2NyaXB0KTsKIH0KIAogdm9pZCBIVE1MRm9ybUVsZW1lbnQ6OnN1Ym1pdEZyb21K
YXZhU2NyaXB0KCkKIHsKLSAgICBzdWJtaXQobnVsbHB0ciwgZmFsc2UsIFVzZXJHZXN0dXJlSW5k
aWNhdG9yOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSwgU3VibWl0dGVkQnlKYXZhU2NyaXB0KTsK
KyAgICBzdWJtaXQobnVsbHB0ciwgVXNlckdlc3R1cmVJbmRpY2F0b3I6OnByb2Nlc3NpbmdVc2Vy
R2VzdHVyZSgpLCBTdWJtaXR0ZWRCeUphdmFTY3JpcHQpOwogfQogCiBFeGNlcHRpb25Pcjx2b2lk
PiBIVE1MRm9ybUVsZW1lbnQ6OnJlcXVlc3RTdWJtaXQoSFRNTEVsZW1lbnQqIHN1Ym1pdHRlcikK
QEAgLTM5Miw3ICszOTIsNyBAQCBSZWZQdHI8SFRNTEZvcm1Db250cm9sRWxlbWVudD4gSFRNTEZv
cm1FbGVtZW50OjpmaW5kU3VibWl0QnV0dG9uKEhUTUxGb3JtQ29udHJvbAogICAgIHJldHVybiBm
aXJzdFN1Y2Nlc3NmdWxTdWJtaXRCdXR0b247CiB9CiAKLXZvaWQgSFRNTEZvcm1FbGVtZW50Ojpz
dWJtaXQoRXZlbnQqIGV2ZW50LCBib29sIGFjdGl2YXRlU3VibWl0QnV0dG9uLCBib29sIHByb2Nl
c3NpbmdVc2VyR2VzdHVyZSwgRm9ybVN1Ym1pc3Npb25UcmlnZ2VyIHRyaWdnZXIsIEhUTUxGb3Jt
Q29udHJvbEVsZW1lbnQqIHN1Ym1pdHRlcikKK3ZvaWQgSFRNTEZvcm1FbGVtZW50OjpzdWJtaXQo
RXZlbnQqIGV2ZW50LCBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSwgRm9ybVN1Ym1pc3Npb25U
cmlnZ2VyIHRyaWdnZXIsIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIHN1Ym1pdHRlcikKIHsKICAg
ICAvLyBUaGUgc3VibWl0SWZQb3NzaWJsZSBmdW5jdGlvbiBhbHNvIGRvZXMgdGhpcyBjaGVjaywg
YnV0IHdlIG5lZWQgdG8gZG8gaXQgaGVyZQogICAgIC8vIHRvbywgc2luY2UgdGhlcmUgYXJlIHNv
bWUgY29kZSBwYXRocyB0aGF0IGJ5cGFzcyB0aGF0IGZ1bmN0aW9uLgpAQCAtNDE1LDkgKzQxNSwx
NiBAQCB2b2lkIEhUTUxGb3JtRWxlbWVudDo6c3VibWl0KEV2ZW50KiBldmVudCwgYm9vbCBhY3Rp
dmF0ZVN1Ym1pdEJ1dHRvbiwgYm9vbCBwcm9jZQogICAgIG1faXNTdWJtaXR0aW5nT3JQcmVwYXJp
bmdGb3JTdWJtaXNzaW9uID0gdHJ1ZTsKICAgICBtX3dhc1VzZXJTdWJtaXR0ZWQgPSBwcm9jZXNz
aW5nVXNlckdlc3R1cmU7CiAKLSAgICBhdXRvIGZpcnN0U3VjY2Vzc2Z1bFN1Ym1pdEJ1dHRvbiA9
IGZpbmRTdWJtaXRCdXR0b24oc3VibWl0dGVyLCBhY3RpdmF0ZVN1Ym1pdEJ1dHRvbik7Ci0gICAg
aWYgKGZpcnN0U3VjY2Vzc2Z1bFN1Ym1pdEJ1dHRvbikKLSAgICAgICAgZmlyc3RTdWNjZXNzZnVs
U3VibWl0QnV0dG9uLT5zZXRBY3RpdmF0ZWRTdWJtaXQodHJ1ZSk7CisgICAgaWYgKGV2ZW50ICYm
ICFzdWJtaXR0ZXIpIHsKKyAgICAgICAgLy8gSW4gYSBjYXNlIG9mIGltcGxpY2l0IHN1Ym1pc3Np
b24gd2l0aG91dCBhIHN1Ym1pdCBidXR0b24sICdzdWJtaXQnIGV2ZW50IGhhbmRsZXIgbWlnaHQg
YWRkIGEgc3VibWl0IGJ1dHRvbi4gV2Ugc2VhcmNoIGZvciBhIHN1Ym1pdCBidXR0b24gYWdhaW4u
CisgICAgICAgIGF1dG8gYXNzb2NpYXRlZEVsZW1lbnRzID0gY29weUFzc29jaWF0ZWRFbGVtZW50
c1ZlY3RvcigpOworICAgICAgICBmb3IgKGF1dG8mIGVsZW1lbnQgOiBhc3NvY2lhdGVkRWxlbWVu
dHMpIHsKKyAgICAgICAgICAgIGlmIChhdXRvKiBjb250cm9sID0gZHluYW1pY0Rvd25jYXN0PEhU
TUxGb3JtQ29udHJvbEVsZW1lbnQ+KGVsZW1lbnQuZ2V0KCkpOyBjb250cm9sICYmIGNvbnRyb2wt
PmlzU3VjY2Vzc2Z1bFN1Ym1pdEJ1dHRvbigpKSB7CisgICAgICAgICAgICAgICAgc3VibWl0dGVy
ID0gY29udHJvbDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgIH0KIAogICAgIFJlZiBwcm90ZWN0ZWRUaGlzIHsgKnRoaXMgfTsgLy8gRm9ybSBz
dWJtaXNzaW9uIGNhbiBleGVjdXRlIGFyYml0YXJ5IEphdmFTY3JpcHQuCiAKQEAgLTQ0Myw5ICs0
NTAsNiBAQCB2b2lkIEhUTUxGb3JtRWxlbWVudDo6c3VibWl0KEV2ZW50KiBldmVudCwgYm9vbCBh
Y3RpdmF0ZVN1Ym1pdEJ1dHRvbiwgYm9vbCBwcm9jZQogICAgIGVsc2UKICAgICAgICAgZnJhbWUt
PmxvYWRlcigpLnN1Ym1pdEZvcm0oV1RGTW92ZShmb3JtU3VibWlzc2lvbikpOwogCi0gICAgaWYg
KGZpcnN0U3VjY2Vzc2Z1bFN1Ym1pdEJ1dHRvbikKLSAgICAgICAgZmlyc3RTdWNjZXNzZnVsU3Vi
bWl0QnV0dG9uLT5zZXRBY3RpdmF0ZWRTdWJtaXQoZmFsc2UpOwotCiAgICAgbV9zaG91bGRTdWJt
aXQgPSBmYWxzZTsKICAgICBtX2lzU3VibWl0dGluZ09yUHJlcGFyaW5nRm9yU3VibWlzc2lvbiA9
IGZhbHNlOwogfQpAQCAtMTAxNSw3ICsxMDE5LDcgQEAgY29uc3QgQXRvbVN0cmluZyYgSFRNTEZv
cm1FbGVtZW50OjphdXRvY29tcGxldGUoKSBjb25zdAogICAgIHJldHVybiBlcXVhbElnbm9yaW5n
QVNDSUlDYXNlKGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oYXV0b2NvbXBsZXRlQXR0
ciksICJvZmYiKSA/IG9mZiA6IG9uOwogfQogCi1SZWZQdHI8RE9NRm9ybURhdGE+IEhUTUxGb3Jt
RWxlbWVudDo6Y29uc3RydWN0RW50cnlMaXN0KFJlZjxET01Gb3JtRGF0YT4mJiBkb21Gb3JtRGF0
YSwgU3RyaW5nUGFpclZlY3RvciogZm9ybVZhbHVlcykKK1JlZlB0cjxET01Gb3JtRGF0YT4gSFRN
TEZvcm1FbGVtZW50Ojpjb25zdHJ1Y3RFbnRyeUxpc3QoUmVmUHRyPEhUTUxGb3JtQ29udHJvbEVs
ZW1lbnQ+JiYgc3VibWl0dGVyLCBSZWY8RE9NRm9ybURhdGE+JiYgZG9tRm9ybURhdGEsIFN0cmlu
Z1BhaXJWZWN0b3IqIGZvcm1WYWx1ZXMpCiB7CiAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hh
dHdnLm9yZy9tdWx0aXBhZ2UvZm9ybS1jb250cm9sLWluZnJhc3RydWN0dXJlLmh0bWwjY29uc3Ry
dWN0aW5nLWZvcm0tZGF0YS1zZXQKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwpAQCAtMTAy
NCw2ICsxMDI4LDkgQEAgUmVmUHRyPERPTUZvcm1EYXRhPiBIVE1MRm9ybUVsZW1lbnQ6OmNvbnN0
cnVjdEVudHJ5TGlzdChSZWY8RE9NRm9ybURhdGE+JiYgZG9tRm8KICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAgICAgCiAgICAgU2V0Rm9yU2NvcGUgaXNDb25zdHJ1Y3RpbmdFbnRyeUxpc3RTY29w
ZShtX2lzQ29uc3RydWN0aW5nRW50cnlMaXN0LCB0cnVlKTsKKworICAgIGlmIChzdWJtaXR0ZXIp
CisgICAgICAgIHN1Ym1pdHRlci0+c2V0QWN0aXZhdGVkU3VibWl0KHRydWUpOwogICAgIAogICAg
IGZvciAoYXV0byYgY29udHJvbCA6IHRoaXMtPmNvcHlBc3NvY2lhdGVkRWxlbWVudHNWZWN0b3Io
KSkgewogICAgICAgICBhdXRvJiBlbGVtZW50ID0gY29udHJvbC0+YXNIVE1MRWxlbWVudCgpOwpA
QCAtMTAzOSw2ICsxMDQ2LDkgQEAgUmVmUHRyPERPTUZvcm1EYXRhPiBIVE1MRm9ybUVsZW1lbnQ6
OmNvbnN0cnVjdEVudHJ5TGlzdChSZWY8RE9NRm9ybURhdGE+JiYgZG9tRm8KICAgICB9CiAgICAg
CiAgICAgZGlzcGF0Y2hFdmVudChGb3JtRGF0YUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmZv
cm1kYXRhRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6OlllcywgRXZlbnQ6OklzQ2FuY2VsYWJsZTo6
Tm8sIEV2ZW50OjpJc0NvbXBvc2VkOjpObywgZG9tRm9ybURhdGEuY29weVJlZigpKSk7CisKKyAg
ICBpZiAoc3VibWl0dGVyKQorICAgICAgICBzdWJtaXR0ZXItPnNldEFjdGl2YXRlZFN1Ym1pdChm
YWxzZSk7CiAgICAgCiAgICAgcmV0dXJuIGRvbUZvcm1EYXRhLT5jbG9uZSgpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKaW5kZXggZTlhNDJjZmEzZDQxYTFjZjdkOGFmYmEw
ZjVhZDhhODQzYWZiMzJhZS4uNTMxNGIwMmMzZjI1MDU5N2NhMTRmNTg1MmU3OGJiN2IzMGViMDU1
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oCkBAIC0xMjcsNyArMTI3LDcg
QEAgcHVibGljOgogCiAgICAgc3RhdGljIEhUTUxGb3JtRWxlbWVudCogZmluZENsb3Nlc3RGb3Jt
QW5jZXN0b3IoY29uc3QgRWxlbWVudCYpOwogICAgIAotICAgIFJlZlB0cjxET01Gb3JtRGF0YT4g
Y29uc3RydWN0RW50cnlMaXN0KFJlZjxET01Gb3JtRGF0YT4mJiwgU3RyaW5nUGFpclZlY3Rvciop
OworICAgIFJlZlB0cjxET01Gb3JtRGF0YT4gY29uc3RydWN0RW50cnlMaXN0KFJlZlB0cjxIVE1M
Rm9ybUNvbnRyb2xFbGVtZW50PiYmLCBSZWY8RE9NRm9ybURhdGE+JiYsIFN0cmluZ1BhaXJWZWN0
b3IqKTsKICAgICAKIHByaXZhdGU6CiAgICAgSFRNTEZvcm1FbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBEb2N1bWVudCYpOwpAQCAtMTQ2LDcgKzE0Niw3IEBAIHByaXZhdGU6CiAKICAgICB2
b2lkIGNvcHlOb25BdHRyaWJ1dGVQcm9wZXJ0aWVzRnJvbUVsZW1lbnQoY29uc3QgRWxlbWVudCYp
IGZpbmFsOwogCi0gICAgdm9pZCBzdWJtaXQoRXZlbnQqLCBib29sIGFjdGl2YXRlU3VibWl0QnV0
dG9uLCBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSwgRm9ybVN1Ym1pc3Npb25UcmlnZ2VyLCBI
VE1MRm9ybUNvbnRyb2xFbGVtZW50KiBzdWJtaXR0ZXIgPSBudWxscHRyKTsKKyAgICB2b2lkIHN1
Ym1pdChFdmVudCosIGJvb2wgcHJvY2Vzc2luZ1VzZXJHZXN0dXJlLCBGb3JtU3VibWlzc2lvblRy
aWdnZXIsIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIHN1Ym1pdHRlciA9IG51bGxwdHIpOwogCiAg
ICAgdm9pZCBzdWJtaXREaWFsb2coUmVmPEZvcm1TdWJtaXNzaW9uPiYmKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9TdWJtaXRJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9TdWJtaXRJbnB1dFR5cGUuY3BwCmluZGV4IGRjYTc1YzgyMzdmZDE5ZDgxNmYyN2Jh
Y2UwNmQ0M2EwZWJhMTE1MmUuLjhjNjQ2OWZmZTM0M2VlMDhhN2RmZjBhNDg3NGJkZGU3MWZhZTg1
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3VibWl0SW5wdXRUeXBlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1N1Ym1pdElucHV0VHlwZS5jcHAKQEAgLTc0LDEwICs3
NCw4IEBAIHZvaWQgU3VibWl0SW5wdXRUeXBlOjpoYW5kbGVET01BY3RpdmF0ZUV2ZW50KEV2ZW50
JiBldmVudCkKICAgICAvLyB0aGUgRm9ybSBvciBidXR0b24gcmVsYXRpb25zaGlwcy4KICAgICBw
cm90ZWN0ZWRFbGVtZW50LT5kb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHls
ZXNoZWV0cygpOwogCi0gICAgcHJvdGVjdGVkRWxlbWVudC0+c2V0QWN0aXZhdGVkU3VibWl0KHRy
dWUpOwogICAgIGlmIChSZWZQdHIgY3VycmVudEZvcm0gPSBwcm90ZWN0ZWRFbGVtZW50LT5mb3Jt
KCkpCiAgICAgICAgIGN1cnJlbnRGb3JtLT5zdWJtaXRJZlBvc3NpYmxlKCZldmVudCwgZWxlbWVu
dCgpKTsgLy8gRXZlbnQgaGFuZGxlcnMgY2FuIHJ1bi4KLSAgICBwcm90ZWN0ZWRFbGVtZW50LT5z
ZXRBY3RpdmF0ZWRTdWJtaXQoZmFsc2UpOwogICAgIGV2ZW50LnNldERlZmF1bHRIYW5kbGVkKCk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uY3BwCmluZGV4IDZlNjI2
Zjg0NDljNTUwZDI4ZWY0ZTY0N2YxNzYwMTAxYmNhMTNjNDAuLjc5OTYwNGJmMzEzNTMwNmJkODU3
NGE2ZDExYTdmYmM2MzdmN2Q0NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
b3JtU3VibWlzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNz
aW9uLmNwcApAQCAtMjEyLDcgKzIxMiw3IEBAIFJlZjxGb3JtU3VibWlzc2lvbj4gRm9ybVN1Ym1p
c3Npb246OmNyZWF0ZShIVE1MRm9ybUVsZW1lbnQmIGZvcm0sIEhUTUxGb3JtQ29udHJvCiAgICAg
YXV0byBkb21Gb3JtRGF0YSA9IERPTUZvcm1EYXRhOjpjcmVhdGUoZGF0YUVuY29kaW5nLmVuY29k
aW5nRm9yRm9ybVN1Ym1pc3Npb25PclVSTFBhcnNpbmcoKSk7CiAgICAgU3RyaW5nUGFpclZlY3Rv
ciBmb3JtVmFsdWVzOwogCi0gICAgYXV0byByZXN1bHQgPSBmb3JtLmNvbnN0cnVjdEVudHJ5TGlz
dChXVEZNb3ZlKGRvbUZvcm1EYXRhKSwgJmZvcm1WYWx1ZXMpOworICAgIGF1dG8gcmVzdWx0ID0g
Zm9ybS5jb25zdHJ1Y3RFbnRyeUxpc3Qoc3VibWl0dGVyLmNvcHlSZWYoKSwgV1RGTW92ZShkb21G
b3JtRGF0YSksICZmb3JtVmFsdWVzKTsKICAgICBSRUxFQVNFX0FTU0VSVChyZXN1bHQpOwogICAg
IGRvbUZvcm1EYXRhID0gcmVzdWx0LnJlbGVhc2VOb25OdWxsKCk7CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCmluZGV4IDU0YjkzNjQwZTI3ODRjZDMxM2RmMzg5ZTVlZGIzZjc2ZGIxNTJl
YTkuLmNlZmMyODU1N2Q1ODJjNjMyYTQ0ZTQzNGQ0ZmIxOGZjOTRmNzk3ZTAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIyLTA0LTE0ICBaaXJhbiBT
dW4gIDx6c3VuQGlnYWxpYS5jb20+CisKKyAgICAgICAgQ29uc3RydWN0ZWQgRm9ybURhdGEgb2Jq
ZWN0IHNob3VsZCBub3QgY29udGFpbiBhbiBlbnRyeSBmb3IgdGhlIHN1Ym1pdCBidXR0b24gdGhh
dCB3YXMgdXNlZCB0byBzdWJtaXQgdGhlIGZvcm0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTA3MAorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlz
IER1bWV6LgorCisgICAgICAgIFVwZGF0ZSB0ZXN0IGV4cGVjdGF0aW9uIGFzIHRoZSBzdWItdGVz
dCBpcyBub3cgcGFzc2luZy4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZm9ybXMvZm9ybS1zdWJtaXNzaW9uLTAvY29uc3RydWN0aW5nLWZvcm0tZGF0YS1zZXQt
ZXhwZWN0ZWQudHh0OgorCiAyMDIyLTA0LTE0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KIAogICAgICAgICBFeHBvc2Ugd29ya2VycyBhcyBzZXJ2aWNlIHdvcmtlciBjbGllbnRz
IGFuZCBpbXBsZW1lbnQgcmVnaXN0cmF0aW9uIG1hdGNoaW5nIGZvciBkZWRpY2F0ZWQgd29ya2Vy
cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9mb3Jtcy9mb3JtLXN1Ym1pc3Npb24tMC9jb25zdHJ1Y3RpbmctZm9y
bS1kYXRhLXNldC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL2Zvcm0tc3VibWlzc2lvbi0wL2NvbnN0
cnVjdGluZy1mb3JtLWRhdGEtc2V0LWV4cGVjdGVkLnR4dAppbmRleCBkOWQ5YzliNGUzMTBmNzQw
ZTkxYmQ5ZDQxYzhiNzA0ZWM5YmMyZDZmLi5mZGM3Y2VmMGEwMmMxODExNGFmNTE0ZDE3MTY1MWIz
YjYyZGQxMzBlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL2Zvcm0tc3VibWlzc2lvbi0wL2NvbnN0cnVj
dGluZy1mb3JtLWRhdGEtc2V0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL2Zvcm0tc3VibWlz
c2lvbi0wL2NvbnN0cnVjdGluZy1mb3JtLWRhdGEtc2V0LWV4cGVjdGVkLnR4dApAQCAtMjEsNSAr
MjEsNSBAQCBQQVNTIEZpbGVzIGluIGEgdGV4dC9wbGFpbiBmb3JtIHNob3cgdXAgYXMgRmlsZSBv
YmplY3RzIGluIHRoZSAiZm9ybURhdGEiIElETCBhdAogUEFTUyAiZm9ybURhdGEiIElETCBhdHRy
aWJ1dGUgc2hvdWxkIGhhdmUgZW50cmllcyBmb3IgZm9ybS1hc3NvY2lhdGVkIGVsZW1lbnRzIGlu
IHRoZSBmaXJzdCBldmVudCBoYW5kbGVyLCBhbmQgdGhlIHNlY29uZCBoYW5kbGVyIGNhbiByZWFk
IGVudHJpZXMgc2V0IGJ5IHRoZSBmaXJzdCBoYW5kbGVyLgogUEFTUyBFbnRyaWVzIGFkZGVkIHRv
ICJmb3JtRGF0YSIgSURMIGF0dHJpYnV0ZSBzaG91bGQgYmUgc3VibWl0dGVkLgogUEFTUyBFbnRy
aWVzIGFkZGVkIHRvIHRoZSAiZm9ybWRhdGEiIElETCBhdHRyaWJ1dGUgc2hvdWxkbid0IGJlIG5l
d2xpbmUgbm9ybWFsaXplZCBpbiB0aGUgcmVzdWx0aW5nIEZvcm1EYXRhCi1GQUlMIFRoZSBjb25z
dHJ1Y3RlZCBGb3JtRGF0YSBvYmplY3Qgc2hvdWxkIG5vdCBjb250YWluIGFuIGVudHJ5IGZvciB0
aGUgc3VibWl0IGJ1dHRvbiB0aGF0IHdhcyB1c2VkIHRvIHN1Ym1pdCB0aGUgZm9ybS4gYXNzZXJ0
X2ZhbHNlOiBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQorUEFTUyBUaGUgY29uc3RydWN0ZWQgRm9y
bURhdGEgb2JqZWN0IHNob3VsZCBub3QgY29udGFpbiBhbiBlbnRyeSBmb3IgdGhlIHN1Ym1pdCBi
dXR0b24gdGhhdCB3YXMgdXNlZCB0byBzdWJtaXQgdGhlIGZvcm0uCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>