<?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>232013</bug_id>
          
          <creation_ts>2021-10-20 08:09:59 -0700</creation_ts>
          <short_desc>Integer interpolation in animations should be rounded towards positive infinity, not away from zero</short_desc>
          <delta_ts>2024-07-29 10:35:24 -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>Animations</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://github.com/web-platform-tests/wpt/pull/47333</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 name="Joonghun Park">jh718.park</reporter>
          <assigned_to name="Joonghun Park">jh718.park</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>clopez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>ntim</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1806614</commentid>
    <comment_count>0</comment_count>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-20 08:09:59 -0700</bug_when>
    <thetext>According to the spec, https://drafts.csswg.org/css-values-4/#combine-integers,
integer interpolation should be rounded towards positive infinity, not away from zero.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806620</commentid>
    <comment_count>1</comment_count>
      <attachid>441880</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-20 08:17:12 -0700</bug_when>
    <thetext>Created attachment 441880
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806621</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-10-20 08:18:37 -0700</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806632</commentid>
    <comment_count>3</comment_count>
      <attachid>441884</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-20 08:29:04 -0700</bug_when>
    <thetext>Created attachment 441884
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806693</commentid>
    <comment_count>4</comment_count>
      <attachid>441884</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-20 10:46:01 -0700</bug_when>
    <thetext>Comment on attachment 441884
Patch

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

&gt; Source/WTF/wtf/MathExtras.h:147
&gt; +inline double roundHalfTowardsPositiveInfinity(double value)
&gt; +{
&gt; +    return std::floor(value + 0.5);
&gt; +}
&gt; +
&gt; +inline float roundHalfTowardsPositiveInfinity(float value)
&gt; +{
&gt; +    return std::floor(value + 0.5f);
&gt; +}

I don’t think these function names need the word &quot;half&quot; in them. I also suggest using the one-line format that the functions both above and below use.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806941</commentid>
    <comment_count>5</comment_count>
      <attachid>441884</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-20 17:14:19 -0700</bug_when>
    <thetext>Comment on attachment 441884
Patch

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

&gt;&gt; Source/WTF/wtf/MathExtras.h:147
&gt;&gt; +}
&gt; 
&gt; I don’t think these function names need the word &quot;half&quot; in them. I also suggest using the one-line format that the functions both above and below use.

Ok, I will change these functions to one-line format and rename it to not include &apos;half&apos; in the next patch. Thank you for your review:)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806950</commentid>
    <comment_count>6</comment_count>
      <attachid>441963</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-20 17:25:35 -0700</bug_when>
    <thetext>Created attachment 441963
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806970</commentid>
    <comment_count>7</comment_count>
      <attachid>441963</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-20 18:03:35 -0700</bug_when>
    <thetext>Comment on attachment 441963
Patch for landing

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

&gt; Source/WebCore/platform/animation/AnimationUtilities.h:46
&gt; +    return static_cast&lt;int&gt;(roundTowardsPositiveInfinity(static_cast&lt;double&gt;(from) + static_cast&lt;double&gt;(to - from) * context.progress));

Three unimportant thoughts:

1) Not new to this patch, but these two static_cast&lt;double&gt; aren’t needed and have no effect. Multiplying an int by a double in C++ results in a double. And adding an int to a double results in a double. So the fact that context.progress is a double already converts everything to double without any explicit casts.

2) Not new to this patch, but the static_cast&lt;int&gt; also doesn’t have any effect on the value returned. I think it can be omitted too, but maybe it’s quieting some kind of 64-to-32-bit conversion warning, and if so it’s OK to leave it in.

3) It’s unnecessary to call std::floor after adding 0.5 before converting to an int since converting a double to an int performs a floor operation as part of the conversion. It’s more correct and elegant that the roundTowardsPositiveInfinity does a std::floor, and could be important elsewhere when the operation is not immediately followed by conversion to integer. But here, it costs a tiny bit of performance and sadly it seems likely the compiler probably can’t figure that out and compile it out even though everything is inlined, partly because we know that progress is always in the range [0,1], but the compiler does not know that.

No change is needed, but if it was me, I would at least remove the unneeded static_cast&lt;double&gt; when touching this code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806971</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-20 18:05:33 -0700</bug_when>
    <thetext>It also occurs to me that this function won’t give a correct result if `to` is the maximum integer and `from` is the minimum integer. To make that case work correctly, we’d need to convert either `to` or `from` to a double *before* subtracting them. I wonder if that case can be tested in a WPT test, or if there’s some limit on range that prevents it from occurring.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806981</commentid>
    <comment_count>9</comment_count>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-20 19:02:59 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #7)
&gt; Comment on attachment 441963 [details]
&gt; Patch for landing
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=441963&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/animation/AnimationUtilities.h:46
&gt; &gt; +    return static_cast&lt;int&gt;(roundTowardsPositiveInfinity(static_cast&lt;double&gt;(from) + static_cast&lt;double&gt;(to - from) * context.progress));
&gt; 
&gt; Three unimportant thoughts:
&gt; 
&gt; 1) Not new to this patch, but these two static_cast&lt;double&gt; aren’t needed
&gt; and have no effect. Multiplying an int by a double in C++ results in a
&gt; double. And adding an int to a double results in a double. So the fact that
&gt; context.progress is a double already converts everything to double without
&gt; any explicit casts.
&gt; 
Ok, I removed the unnecessary static_cast&lt;double&gt;s.

&gt; 2) Not new to this patch, but the static_cast&lt;int&gt; also doesn’t have any
&gt; effect on the value returned. I think it can be omitted too, but maybe it’s
&gt; quieting some kind of 64-to-32-bit conversion warning, and if so it’s OK to
&gt; leave it in.
&gt; 
As you commented, it seems that explicit conversion would be good to quiet possble implicit bit down conversion warning, so I will leave it in.

&gt; 3) It’s unnecessary to call std::floor after adding 0.5 before converting to
&gt; an int since converting a double to an int performs a floor operation as
&gt; part of the conversion. It’s more correct and elegant that the
&gt; roundTowardsPositiveInfinity does a std::floor, and could be important
&gt; elsewhere when the operation is not immediately followed by conversion to
&gt; integer. But here, it costs a tiny bit of performance and sadly it seems
&gt; likely the compiler probably can’t figure that out and compile it out even
&gt; though everything is inlined, partly because we know that progress is always
&gt; in the range [0,1], but the compiler does not know that.
&gt; 
Reading your concern, I changed the code as below.

inline int blend(int from, int to, const BlendingContext&amp; context)
{  
    // This static_cast&lt;int&gt; followed by adding 0.5 works as same with
    // roundTowardsPositiveInfinity in MathExtras.h,
    // but allows us to omit std::floor step.
    return static_cast&lt;int&gt;((from + (to - from) * context.progress) + 0.5);
}

I originally appended &quot;constexpr&quot; to roundTowardsPositiveInfinity, but it encountered compiler error, so I removed it and it seems that it caused you to concern regarding this.

&gt; No change is needed, but if it was me, I would at least remove the unneeded
&gt; static_cast&lt;double&gt; when touching this code.

Ok, I applied it in the next patch. I only focused on rounding towards positive integer so I missed out the details you pointed out. Thank you for your review, Darin.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806982</commentid>
    <comment_count>10</comment_count>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-20 19:08:19 -0700</bug_when>
    <thetext>Additionally, I left |roundTowardsPositiveInfinity| in MathExtras.h for possible future usage of that function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806985</commentid>
    <comment_count>11</comment_count>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-20 19:24:48 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #8)
&gt; It also occurs to me that this function won’t give a correct result if `to`
&gt; is the maximum integer and `from` is the minimum integer. To make that case
&gt; work correctly, we’d need to convert either `to` or `from` to a double
&gt; *before* subtracting them. I wonder if that case can be tested in a WPT
&gt; test, or if there’s some limit on range that prevents it from occurring.

I was checking if any spec exists specifying how the &lt;integer&gt; range should be,
but it seems that there is no spec for it anymore as described in
https://developer.mozilla.org/en-US/docs/Web/CSS/integer.

So it seems ambiguous to write wpt integer max/min range check,
but I could change the code as below in the next patchset.

inline int blend(int from, int to, const BlendingContext&amp; context)
{  
    // This static_cast&lt;int&gt; followed by adding 0.5 works as same with
    // roundTowardsPositiveInfinity in MathExtras.h,
    // but allows us to omit std::floor step.
    return static_cast&lt;int&gt;((from + (static_cast&lt;double&gt;(to) - from) * context.progress) + 0.5);
}

I will apply this change in the next patchset.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807033</commentid>
    <comment_count>12</comment_count>
      <attachid>441993</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-21 00:26:16 -0700</bug_when>
    <thetext>Created attachment 441993
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807098</commentid>
    <comment_count>13</comment_count>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-21 05:23:35 -0700</bug_when>
    <thetext>3) It’s unnecessary to call std::floor after adding 0.5 before converting to an int since converting a double to an int performs a floor operation as part of the conversion. 

It seems that it would be good to use roundTowardsPositiveInfinity including std::floor, because for positive integer int works same as converting double to an int, but for negative integer its rounding direction is opposite each other.
e.g. std::floor(-0.6) === -1 but static_cast&lt;int&gt;(-0.6) === 0, and it causes some layout test regression. I will use roundTowardsPositiveInfinity in blend in the next patchset and upload it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807141</commentid>
    <comment_count>14</comment_count>
      <attachid>442023</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-21 08:01:27 -0700</bug_when>
    <thetext>Created attachment 442023
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807255</commentid>
    <comment_count>15</comment_count>
      <attachid>442023</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-21 11:03:12 -0700</bug_when>
    <thetext>Comment on attachment 442023
Patch

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

&gt; Source/WebCore/platform/animation/AnimationUtilities.h:49
&gt; +    return static_cast&lt;int&gt;(roundTowardsPositiveInfinity(from + (static_cast&lt;double&gt;(to) - from) * context.progress));

OK to land it like this, but for the longer term, I really don’t like the idea of casting to double here in these functions to make the edge case work, yet not testing those edge cases. I understand that the specification doesn’t tell us what the legal range of values is, but even so we should create test cases, even if they are browser-specific at first. Eventually they should exist in WPT and the specification should be clear on this point. Real world compatibility often depends on edge case tests and stress tests. Edge cases are *accidentally* exercised by website developers, and if not consistent in behavior, they turn into interoperability bugs where something works only on the most-tested browser and not the others.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807683</commentid>
    <comment_count>16</comment_count>
      <attachid>442165</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-22 08:31:28 -0700</bug_when>
    <thetext>Created attachment 442165
Add tests for overflow check</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807684</commentid>
    <comment_count>17</comment_count>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-22 08:35:25 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #15)
&gt; Comment on attachment 442023 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=442023&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/animation/AnimationUtilities.h:49
&gt; &gt; +    return static_cast&lt;int&gt;(roundTowardsPositiveInfinity(from + (static_cast&lt;double&gt;(to) - from) * context.progress));
&gt; 
&gt; OK to land it like this, but for the longer term, I really don’t like the
&gt; idea of casting to double here in these functions to make the edge case
&gt; work, yet not testing those edge cases. I understand that the specification
&gt; doesn’t tell us what the legal range of values is, but even so we should
&gt; create test cases, even if they are browser-specific at first. Eventually
&gt; they should exist in WPT and the specification should be clear on this
&gt; point. Real world compatibility often depends on edge case tests and stress
&gt; tests. Edge cases are *accidentally* exercised by website developers, and if
&gt; not consistent in behavior, they turn into interoperability bugs where
&gt; something works only on the most-tested browser and not the others.

Thank you for your comments. I added 2 overflow check tests in the latest patchset and I confirmed that it overflowed without the static_cast&lt;double&gt;(to) casting.
If the spec regarding &lt;integer&gt; range is settled, then we could add wit tests for it.
Could you please review the tests for overflow check? If it looks ok, then I could land this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807875</commentid>
    <comment_count>18</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-22 14:11:10 -0700</bug_when>
    <thetext>Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807885</commentid>
    <comment_count>19</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-22 14:34:28 -0700</bug_when>
    <thetext>/Volumes/Data/worker/Commit-Queue/build/LayoutTests/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807893</commentid>
    <comment_count>20</comment_count>
      <attachid>442202</attachid>
    <who name="Joonghun Park">jh718.park</who>
    <bug_when>2021-10-22 15:15:36 -0700</bug_when>
    <thetext>Created attachment 442202
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807939</commentid>
    <comment_count>21</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-22 16:22:05 -0700</bug_when>
    <thetext>Committed r284725 (243437@main): &lt;https://commits.webkit.org/243437@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 442202.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807940</commentid>
    <comment_count>22</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-22 16:23:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/84567974&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2049152</commentid>
    <comment_count>23</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2024-07-29 10:35:24 -0700</bug_when>
    <thetext>Submitted web-platform-tests pull request: https://github.com/web-platform-tests/wpt/pull/47333</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441880</attachid>
            <date>2021-10-20 08:17:12 -0700</date>
            <delta_ts>2021-10-20 08:40:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232013-20211021001711.patch</filename>
            <type>text/plain</type>
            <size>10406</size>
            <attacher name="Joonghun Park">jh718.park</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM1M2E5YjI5YWYzYTFhMmM2Zjc1MGJk
OTJmY2Q3MGI5ZDIyNDllNWUuLjc2ZGZjZTJjNDhjOGZmNTM0N2Y0ZDIxMzMyODQ4ZDBiMWZlODEz
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMTAtMjAgIEpvb25naHVuIFBhcmsgIDxwamgw
NzE4QGdtYWlsLmNvbT4KKworICAgICAgICBJbnRlZ2VyIGludGVycG9sYXRpb24gc2hvdWxkIGJl
IHJvdW5kZWQgdG93YXJkcyBwb3NpdGl2ZSBpbmZpbml0eSwgbm90IGF3YXkgZnJvbSB6ZXJvLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyMDEzCisK
KyAgICAgICAgQ3VycmVudGx5LCBpbnRlcnBvbGF0aW9uIG9mIDxpbnRlZ2VyPiBpcyByb3VuZGlu
ZyBhd2F5IGZyb20gMC4KKyAgICAgICAgVGhlIGludGVycG9sYXRpb24ncyByZXN1bHQgc2hvdWxk
IGJlIHJvdW5kZWQgYWNjb3JkaW5nIHRvIHRoZSBzcGVjLAorICAgICAgICBodHRwczovL2RyYWZ0
cy5jc3N3Zy5vcmcvY3NzLXZhbHVlcy00LyNjb21iaW5lLWludGVnZXJzLCB3aGljaCBpcworCisg
ICAgICAgICJ0aGUgcmVzdWx0IGlzIGNvbnZlcnRlZCB0byBhbiA8aW50ZWdlcj4gYnkgcm91bmRp
bmcKKyAgICAgICAgdG8gdGhlIG5lYXJlc3QgaW50ZWdlciwgd2l0aCB2YWx1ZXMgaGFsZndheSBi
ZXR3ZWVuCisgICAgICAgIGFkamFjZW50IGludGVnZXJzIHJvdW5kZWQgdG93YXJkcyBwb3NpdGl2
ZSBpbmZpbml0eS4iCisKKyAgICAgICAgKiB3dGYvTWF0aEV4dHJhcy5oOgorICAgICAgICAocm91
bmRIYWxmVG93YXJkc1Bvc2l0aXZlSW5maW5pdHkpOgorCiAyMDIxLTEwLTE2ICBSb2JpbiBNb3Jp
c3NldCAgPHJtb3Jpc3NldEBhcHBsZS5jb20+CiAKICAgICAgICAgQWxsb3cgV0FTTSB0byB1c2Ug
dXAgdG8gNEdCCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjdhN2EyOGE5ZjZmZDk3NGIzMjcwNzIzZjBjZTIwMDA4
M2MzM2M3ZC4uN2E0YmQ3ZWIyY2FiODFiZWI2MzE3NzU0ZTA2MGRhOWQ0MDdmMGJmYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTEwLTIwICBKb29uZ2h1biBQYXJrICA8cGpoMDcx
OEBnbWFpbC5jb20+CisKKyAgICAgICAgSW50ZWdlciBpbnRlcnBvbGF0aW9uIHNob3VsZCBiZSBy
b3VuZGVkIHRvd2FyZHMgcG9zaXRpdmUgaW5maW5pdHksIG5vdCBhd2F5IGZyb20gemVyby4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjAxMworCisg
ICAgICAgIEN1cnJlbnRseSwgaW50ZXJwb2xhdGlvbiBvZiA8aW50ZWdlcj4gaXMgcm91bmRpbmcg
YXdheSBmcm9tIDAuCisgICAgICAgIFRoZSBpbnRlcnBvbGF0aW9uJ3MgcmVzdWx0IHNob3VsZCBi
ZSByb3VuZGVkIGFjY29yZGluZyB0byB0aGUgc3BlYywKKyAgICAgICAgaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy12YWx1ZXMtNC8jY29tYmluZS1pbnRlZ2Vycywgd2hpY2ggaXMKKworICAg
ICAgICAidGhlIHJlc3VsdCBpcyBjb252ZXJ0ZWQgdG8gYW4gPGludGVnZXI+IGJ5IHJvdW5kaW5n
CisgICAgICAgIHRvIHRoZSBuZWFyZXN0IGludGVnZXIsIHdpdGggdmFsdWVzIGhhbGZ3YXkgYmV0
d2VlbgorICAgICAgICBhZGphY2VudCBpbnRlZ2VycyByb3VuZGVkIHRvd2FyZHMgcG9zaXRpdmUg
aW5maW5pdHkuIgorCisgICAgICAgIFRlc3RzOiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2Fy
ZHNfcG9zaXRpdmVfaW5maW5pdHlfb3JkZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRp
b25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5X3pfaW5kZXguaHRtbAorCisg
ICAgICAgICogcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5oOgorICAgICAg
ICAoV2ViQ29yZTo6YmxlbmQpOgorCiAyMDIxLTEwLTE2ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIEFkanVzdCB0aGUgbG9naWNhbCByaWdodCBz
aWRlIG9mIHRoZSBsaW5lIHdpdGggbGluZSBzcGFubmluZyBpbmxpbmUgYm94ZXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL01hdGhFeHRyYXMuaCBiL1NvdXJjZS9XVEYvd3RmL01hdGhFeHRy
YXMuaAppbmRleCA3YWRiODc0MmE4ZGU5ODEzNzIzZTU5MjUzMmY0YWEzMDE0NjQ4OWVkLi4xMDIy
YmEwNjI0ZmIzZjVmYzA3ODMxOGMwZDE3ZDQ1NTU2YTExZGUyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9NYXRoRXh0cmFzLmgKKysrIGIvU291cmNlL1dURi93dGYvTWF0aEV4dHJhcy5oCkBA
IC0xMzYsNiArMTM2LDE2IEBAIGNvbnN0ZXhwciBpbmxpbmUgZG91YmxlIGdyYWQycmFkKGRvdWJs
ZSBnKSB7IHJldHVybiBkZWcycmFkKGdyYWQyZGVnKGcpKTsgfQogY29uc3RleHByIGlubGluZSBm
bG9hdCByYWQyZ3JhZChmbG9hdCByKSB7IHJldHVybiBkZWcyZ3JhZChyYWQyZGVnKHIpKTsgfQog
Y29uc3RleHByIGlubGluZSBmbG9hdCBncmFkMnJhZChmbG9hdCBnKSB7IHJldHVybiBkZWcycmFk
KGdyYWQyZGVnKGcpKTsgfQogCitjb25zdGV4cHIgaW5saW5lIGRvdWJsZSByb3VuZEhhbGZUb3dh
cmRzUG9zaXRpdmVJbmZpbml0eShkb3VibGUgdmFsdWUpCit7CisgICAgcmV0dXJuIHN0ZDo6Zmxv
b3IodmFsdWUgKyAwLjUpOworfQorCitjb25zdGV4cHIgaW5saW5lIGZsb2F0IHJvdW5kSGFsZlRv
d2FyZHNQb3NpdGl2ZUluZmluaXR5KGZsb2F0IHZhbHVlKQoreworICAgIHJldHVybiBzdGQ6OmZs
b29yKHZhbHVlICsgMC41Zik7Cit9CisKIC8vIHN0ZDo6bnVtZXJpY19saW1pdHM8VD46Om1pbigp
IHJldHVybnMgdGhlIHNtYWxsZXN0IHBvc2l0aXZlIHZhbHVlIGZvciBmbG9hdGluZyBwb2ludCB0
eXBlcwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gY29uc3RleHByIFQgZGVmYXVsdE1pbmltdW1Gb3JD
bGFtcCgpIHsgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8VD46Om1pbigpOyB9CiB0ZW1wbGF0
ZTw+IGNvbnN0ZXhwciBmbG9hdCBkZWZhdWx0TWluaW11bUZvckNsYW1wKCkgeyByZXR1cm4gLXN0
ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjptYXgoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5oCmluZGV4IDhiYzFj
YmMxNGY0MTQ3NGQyMGM1MmE5MGMzZTZkMWFiMzdkYjA1OTguLjRlMWMxODBkMmRiNWI1ZDExZjFm
NWMyZTQ5NjE5OWQzMGZmMTg0NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2FuaW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uVXRpbGl0aWVzLmgKQEAgLTQzLDcgKzQzLDcgQEAgc3Ry
dWN0IEJsZW5kaW5nQ29udGV4dCB7CiAKIGlubGluZSBpbnQgYmxlbmQoaW50IGZyb20sIGludCB0
bywgY29uc3QgQmxlbmRpbmdDb250ZXh0JiBjb250ZXh0KQogeyAgCi0gICAgcmV0dXJuIHN0YXRp
Y19jYXN0PGludD4obHJvdW5kKHN0YXRpY19jYXN0PGRvdWJsZT4oZnJvbSkgKyBzdGF0aWNfY2Fz
dDxkb3VibGU+KHRvIC0gZnJvbSkgKiBjb250ZXh0LnByb2dyZXNzKSk7CisgICAgcmV0dXJuIHN0
YXRpY19jYXN0PGludD4ocm91bmRIYWxmVG93YXJkc1Bvc2l0aXZlSW5maW5pdHkoc3RhdGljX2Nh
c3Q8ZG91YmxlPihmcm9tKSArIHN0YXRpY19jYXN0PGRvdWJsZT4odG8gLSBmcm9tKSAqIGNvbnRl
eHQucHJvZ3Jlc3MpKTsKIH0KIAogaW5saW5lIHVuc2lnbmVkIGJsZW5kKHVuc2lnbmVkIGZyb20s
IHVuc2lnbmVkIHRvLCBjb25zdCBCbGVuZGluZ0NvbnRleHQmIGNvbnRleHQpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAyNWE4NTkyMWQ1N2M5M2YyMjVhN2UxZWFlM2UzNmU5YThk
M2Q3MWEwLi5jN2E2MjcwYzhiZTZmYzZmNjNmNGNlN2Y1ZWZhOTQ5MTU1NDY4ZTUxIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMS0xMC0yMCAgSm9v
bmdodW4gUGFyayAgPHBqaDA3MThAZ21haWwuY29tPgorCisgICAgICAgIEludGVnZXIgaW50ZXJw
b2xhdGlvbiBzaG91bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5LCBub3Qg
YXdheSBmcm9tIHplcm8uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzIwMTMKKworICAgICAgICBDdXJyZW50bHksIGludGVycG9sYXRpb24gb2YgPGlu
dGVnZXI+IGlzIHJvdW5kaW5nIGF3YXkgZnJvbSAwLgorICAgICAgICBUaGUgaW50ZXJwb2xhdGlv
bidzIHJlc3VsdCBzaG91bGQgYmUgcm91bmRlZCBhY2NvcmRpbmcgdG8gdGhlIHNwZWMsCisgICAg
ICAgIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdmFsdWVzLTQvI2NvbWJpbmUtaW50ZWdl
cnMsIHdoaWNoIGlzCisKKyAgICAgICAgInRoZSByZXN1bHQgaXMgY29udmVydGVkIHRvIGFuIDxp
bnRlZ2VyPiBieSByb3VuZGluZworICAgICAgICB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyLCB3aXRo
IHZhbHVlcyBoYWxmd2F5IGJldHdlZW4KKyAgICAgICAgYWRqYWNlbnQgaW50ZWdlcnMgcm91bmRl
ZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5LiIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVl
cy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmlu
aXR5X29yZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2Fy
ZHNfcG9zaXRpdmVfaW5maW5pdHlfb3JkZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9o
YWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5pdHlfel9pbmRleC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2lu
dGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5X3pfaW5kZXgu
aHRtbDogQWRkZWQuCisKIDIwMjEtMTAtMTUgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgQ1NTIEFuaW1hdGlvbnMgY3JlYXRpb24gYW5kIHNvcnRpbmcgaXMg
aW5jb3JyZWN0IGFuZCBtYXkgbGVhZCB0byBjcmFzaApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2lu
dGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5X29yZGVyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5kX2hhbGZfdG93YXJkc19w
b3NpdGl2ZV9pbmZpbml0eV9vcmRlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTBhZjNlZjE5
ZDAwMDhlYWNjZDg5OTRhNTJlYjMxMmRmMWZmNGQ1MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvaW50
ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5kX2hhbGZfdG93YXJkc19wb3NpdGl2ZV9pbmZpbml0eV9v
cmRlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgSW50ZWdlciBpbnRlcnBv
bGF0aW9uIHNob3VsZCBiZSByb3VuZGVkIHRvd2FyZHMgcG9zaXRpdmUgaW5maW5pdHkKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0
aXZlX2luZmluaXR5X29yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9o
YWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5pdHlfb3JkZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MGM0
MzllYmNmNGNiNWU2ZTdhNDEyMzI2YjQzMzNhMTYzYTZiZDYwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVl
cy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmlu
aXR5X29yZGVyLmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+
VGVzdGluZyBpZiBpbnRlZ2VyIGludGVycG9sYXRpb24gaXMgcm91bmRlZCB0b3dhcmRzIHBvc2l0
aXZlIGluZmluaXR5PC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSm9vbmdodW4g
UGFyayIgaHJlZj0icGpoMDcxOEBnbWFpbC5jb20iPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJo
dHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXZhbHVlcy00LyNjb21iaW5lLWludGVnZXJzIj4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KKworI2ZsZXgtY29udGFpbmVyIHsKKyAgICBkaXNwbGF5OiBmbGV4OworICAgIGFuaW1hdGlv
bjogYW5pbS1vcmRlciA0cyBzdGVwcyg0KSBmb3J3YXJkcyAxOworICAgIGFuaW1hdGlvbi1kZWxh
eTogLTFzOworICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7Cit9CisKK0BrZXlmcmFt
ZXMgYW5pbS1vcmRlciB7CisgIGZyb20geworICAgIG9yZGVyOiAtMjsKKyAgfQorCisgIHRvIHsK
KyAgICBvcmRlcjogMDsKKyAgfQorfQorCis8L3N0eWxlPgorPGRpdiBpZD0iZmxleC1jb250YWlu
ZXIiPjwvZGl2PgorPHNjcmlwdD4KK3ZhciB0ZXN0X2Rlc2NyaXB0aW9uID0gIkludGVnZXIgaW50
ZXJwb2xhdGlvbiBzaG91bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5IjsK
K3Rlc3QoCisgICAgdCA9PiB7CisgICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJmbGV4LWNvbnRhaW5lciIpOworICAgICAgICBjb25zdCBvcmRlcl92YWx1
ZSA9IE51bWJlci5wYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUoY29udGFpbmVyKS5nZXRQcm9w
ZXJ0eVZhbHVlKCdvcmRlcicpKTsKKworICAgICAgICBhc3NlcnRfZXF1YWxzKG9yZGVyX3ZhbHVl
LCAtMSwgIkludGVycG9sYXRpb24gcmVzdWx0IGZvciBvcmRlciBzaG91bGQgYmUgcm91bmRlZCB0
b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5Iik7CisgICAgfSwKKyAgICB0ZXN0X2Rlc2NyaXB0aW9u
CispOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3Vu
ZF9oYWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5pdHlfel9pbmRleC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVz
L2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5p
dHlfel9pbmRleC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTBhZjNlZjE5ZDAwMDhlYWNjZDg5
OTRhNTJlYjMxMmRmMWZmNGQ1MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBv
bGF0aW9uX3JvdW5kX2hhbGZfdG93YXJkc19wb3NpdGl2ZV9pbmZpbml0eV96X2luZGV4LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBJbnRlZ2VyIGludGVycG9sYXRpb24gc2hv
dWxkIGJlIHJvdW5kZWQgdG93YXJkcyBwb3NpdGl2ZSBpbmZpbml0eQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVz
L2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5p
dHlfel9pbmRleC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dh
cmRzX3Bvc2l0aXZlX2luZmluaXR5X3pfaW5kZXguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOWIwNDJjY2I4
ZjJkMDhlMDRkY2E1NmRmOTcxNWI0MDgxYzRkMTlkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pbnRl
Z2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5X3pf
aW5kZXguaHRtbApAQCAtMCwwICsxLDM4IEBACis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5UZXN0
aW5nIGlmIGludGVnZXIgaW50ZXJwb2xhdGlvbiBpcyByb3VuZGVkIHRvd2FyZHMgcG9zaXRpdmUg
aW5maW5pdHk8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJKb29uZ2h1biBQYXJr
IiBocmVmPSJwamgwNzE4QGdtYWlsLmNvbSI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBz
Oi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdmFsdWVzLTQvI2NvbWJpbmUtaW50ZWdlcnMiPgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHN0eWxlPgor
CisjYW5pbS10YXJnZXQgeworICBhbmltYXRpb246IGFuaW0teiA0cyBzdGVwcyg0KSBmb3J3YXJk
cyAxOworICBhbmltYXRpb24tZGVsYXk6IC0xczsKKyAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBh
dXNlZDsKK30KKworQGtleWZyYW1lcyBhbmltLXogeworICBmcm9tIHsKKyAgICB6LWluZGV4OiAt
MjsKKyAgfQorCisgIHRvIHsKKyAgICB6LWluZGV4OiAwOworICB9Cit9CisKKzwvc3R5bGU+Cis8
ZGl2IGlkPSJhbmltLXRhcmdldCI+PC9kaXY+Cis8c2NyaXB0PgordmFyIHRlc3RfZGVzY3JpcHRp
b24gPSAiSW50ZWdlciBpbnRlcnBvbGF0aW9uIHNob3VsZCBiZSByb3VuZGVkIHRvd2FyZHMgcG9z
aXRpdmUgaW5maW5pdHkiOwordGVzdCgKKyAgICB0ID0+IHsKKyAgICAgICAgY29uc3QgdGFyZ2V0
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuaW0tdGFyZ2V0Iik7CisgICAgICAgIGNvbnN0
IHpfaW5kZXhfdmFsdWUgPSBOdW1iZXIucGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKHRhcmdl
dCkuZ2V0UHJvcGVydHlWYWx1ZSgnei1pbmRleCcpKTsKKworICAgICAgICBhc3NlcnRfZXF1YWxz
KHpfaW5kZXhfdmFsdWUsIC0xLCAiSW50ZXJwb2xhdGlvbiByZXN1bHQgZm9yIHotaW5kZXggc2hv
dWxkIGJlIHJvdW5kZWQgdG93YXJkcyBwb3NpdGl2ZSBpbmZpbml0eSIpOworICAgIH0sCisgICAg
dGVzdF9kZXNjcmlwdGlvbgorKTsKKzwvc2NyaXB0Pgo=
</data>
<flag name="commit-queue"
          id="466267"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441884</attachid>
            <date>2021-10-20 08:29:04 -0700</date>
            <delta_ts>2021-10-20 17:25:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232013-20211021002903.patch</filename>
            <type>text/plain</type>
            <size>10386</size>
            <attacher name="Joonghun Park">jh718.park</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM1M2E5YjI5YWYzYTFhMmM2Zjc1MGJk
OTJmY2Q3MGI5ZDIyNDllNWUuLjc2ZGZjZTJjNDhjOGZmNTM0N2Y0ZDIxMzMyODQ4ZDBiMWZlODEz
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMTAtMjAgIEpvb25naHVuIFBhcmsgIDxwamgw
NzE4QGdtYWlsLmNvbT4KKworICAgICAgICBJbnRlZ2VyIGludGVycG9sYXRpb24gc2hvdWxkIGJl
IHJvdW5kZWQgdG93YXJkcyBwb3NpdGl2ZSBpbmZpbml0eSwgbm90IGF3YXkgZnJvbSB6ZXJvLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyMDEzCisK
KyAgICAgICAgQ3VycmVudGx5LCBpbnRlcnBvbGF0aW9uIG9mIDxpbnRlZ2VyPiBpcyByb3VuZGlu
ZyBhd2F5IGZyb20gMC4KKyAgICAgICAgVGhlIGludGVycG9sYXRpb24ncyByZXN1bHQgc2hvdWxk
IGJlIHJvdW5kZWQgYWNjb3JkaW5nIHRvIHRoZSBzcGVjLAorICAgICAgICBodHRwczovL2RyYWZ0
cy5jc3N3Zy5vcmcvY3NzLXZhbHVlcy00LyNjb21iaW5lLWludGVnZXJzLCB3aGljaCBpcworCisg
ICAgICAgICJ0aGUgcmVzdWx0IGlzIGNvbnZlcnRlZCB0byBhbiA8aW50ZWdlcj4gYnkgcm91bmRp
bmcKKyAgICAgICAgdG8gdGhlIG5lYXJlc3QgaW50ZWdlciwgd2l0aCB2YWx1ZXMgaGFsZndheSBi
ZXR3ZWVuCisgICAgICAgIGFkamFjZW50IGludGVnZXJzIHJvdW5kZWQgdG93YXJkcyBwb3NpdGl2
ZSBpbmZpbml0eS4iCisKKyAgICAgICAgKiB3dGYvTWF0aEV4dHJhcy5oOgorICAgICAgICAocm91
bmRIYWxmVG93YXJkc1Bvc2l0aXZlSW5maW5pdHkpOgorCiAyMDIxLTEwLTE2ICBSb2JpbiBNb3Jp
c3NldCAgPHJtb3Jpc3NldEBhcHBsZS5jb20+CiAKICAgICAgICAgQWxsb3cgV0FTTSB0byB1c2Ug
dXAgdG8gNEdCCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjdhN2EyOGE5ZjZmZDk3NGIzMjcwNzIzZjBjZTIwMDA4
M2MzM2M3ZC4uN2E0YmQ3ZWIyY2FiODFiZWI2MzE3NzU0ZTA2MGRhOWQ0MDdmMGJmYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTEwLTIwICBKb29uZ2h1biBQYXJrICA8cGpoMDcx
OEBnbWFpbC5jb20+CisKKyAgICAgICAgSW50ZWdlciBpbnRlcnBvbGF0aW9uIHNob3VsZCBiZSBy
b3VuZGVkIHRvd2FyZHMgcG9zaXRpdmUgaW5maW5pdHksIG5vdCBhd2F5IGZyb20gemVyby4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjAxMworCisg
ICAgICAgIEN1cnJlbnRseSwgaW50ZXJwb2xhdGlvbiBvZiA8aW50ZWdlcj4gaXMgcm91bmRpbmcg
YXdheSBmcm9tIDAuCisgICAgICAgIFRoZSBpbnRlcnBvbGF0aW9uJ3MgcmVzdWx0IHNob3VsZCBi
ZSByb3VuZGVkIGFjY29yZGluZyB0byB0aGUgc3BlYywKKyAgICAgICAgaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy12YWx1ZXMtNC8jY29tYmluZS1pbnRlZ2Vycywgd2hpY2ggaXMKKworICAg
ICAgICAidGhlIHJlc3VsdCBpcyBjb252ZXJ0ZWQgdG8gYW4gPGludGVnZXI+IGJ5IHJvdW5kaW5n
CisgICAgICAgIHRvIHRoZSBuZWFyZXN0IGludGVnZXIsIHdpdGggdmFsdWVzIGhhbGZ3YXkgYmV0
d2VlbgorICAgICAgICBhZGphY2VudCBpbnRlZ2VycyByb3VuZGVkIHRvd2FyZHMgcG9zaXRpdmUg
aW5maW5pdHkuIgorCisgICAgICAgIFRlc3RzOiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2Fy
ZHNfcG9zaXRpdmVfaW5maW5pdHlfb3JkZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRp
b25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5X3pfaW5kZXguaHRtbAorCisg
ICAgICAgICogcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5oOgorICAgICAg
ICAoV2ViQ29yZTo6YmxlbmQpOgorCiAyMDIxLTEwLTE2ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIEFkanVzdCB0aGUgbG9naWNhbCByaWdodCBz
aWRlIG9mIHRoZSBsaW5lIHdpdGggbGluZSBzcGFubmluZyBpbmxpbmUgYm94ZXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL01hdGhFeHRyYXMuaCBiL1NvdXJjZS9XVEYvd3RmL01hdGhFeHRy
YXMuaAppbmRleCA3YWRiODc0MmE4ZGU5ODEzNzIzZTU5MjUzMmY0YWEzMDE0NjQ4OWVkLi44ZmY3
YWNhZTQ2YjE5MWVlN2NmMzQ4ZmU2M2VhNGQyYThlMDFmODVlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9NYXRoRXh0cmFzLmgKKysrIGIvU291cmNlL1dURi93dGYvTWF0aEV4dHJhcy5oCkBA
IC0xMzYsNiArMTM2LDE2IEBAIGNvbnN0ZXhwciBpbmxpbmUgZG91YmxlIGdyYWQycmFkKGRvdWJs
ZSBnKSB7IHJldHVybiBkZWcycmFkKGdyYWQyZGVnKGcpKTsgfQogY29uc3RleHByIGlubGluZSBm
bG9hdCByYWQyZ3JhZChmbG9hdCByKSB7IHJldHVybiBkZWcyZ3JhZChyYWQyZGVnKHIpKTsgfQog
Y29uc3RleHByIGlubGluZSBmbG9hdCBncmFkMnJhZChmbG9hdCBnKSB7IHJldHVybiBkZWcycmFk
KGdyYWQyZGVnKGcpKTsgfQogCitpbmxpbmUgZG91YmxlIHJvdW5kSGFsZlRvd2FyZHNQb3NpdGl2
ZUluZmluaXR5KGRvdWJsZSB2YWx1ZSkKK3sKKyAgICByZXR1cm4gc3RkOjpmbG9vcih2YWx1ZSAr
IDAuNSk7Cit9CisKK2lubGluZSBmbG9hdCByb3VuZEhhbGZUb3dhcmRzUG9zaXRpdmVJbmZpbml0
eShmbG9hdCB2YWx1ZSkKK3sKKyAgICByZXR1cm4gc3RkOjpmbG9vcih2YWx1ZSArIDAuNWYpOwor
fQorCiAvLyBzdGQ6Om51bWVyaWNfbGltaXRzPFQ+OjptaW4oKSByZXR1cm5zIHRoZSBzbWFsbGVz
dCBwb3NpdGl2ZSB2YWx1ZSBmb3IgZmxvYXRpbmcgcG9pbnQgdHlwZXMKIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IGNvbnN0ZXhwciBUIGRlZmF1bHRNaW5pbXVtRm9yQ2xhbXAoKSB7IHJldHVybiBzdGQ6
Om51bWVyaWNfbGltaXRzPFQ+OjptaW4oKTsgfQogdGVtcGxhdGU8PiBjb25zdGV4cHIgZmxvYXQg
ZGVmYXVsdE1pbmltdW1Gb3JDbGFtcCgpIHsgcmV0dXJuIC1zdGQ6Om51bWVyaWNfbGltaXRzPGZs
b2F0Pjo6bWF4KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1h
dGlvbi9BbmltYXRpb25VdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1h
dGlvbi9BbmltYXRpb25VdGlsaXRpZXMuaAppbmRleCA4YmMxY2JjMTRmNDE0NzRkMjBjNTJhOTBj
M2U2ZDFhYjM3ZGIwNTk4Li40ZTFjMTgwZDJkYjViNWQxMWYxZjVjMmU0OTYxOTlkMzBmZjE4NDQx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9u
VXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1h
dGlvblV0aWxpdGllcy5oCkBAIC00Myw3ICs0Myw3IEBAIHN0cnVjdCBCbGVuZGluZ0NvbnRleHQg
ewogCiBpbmxpbmUgaW50IGJsZW5kKGludCBmcm9tLCBpbnQgdG8sIGNvbnN0IEJsZW5kaW5nQ29u
dGV4dCYgY29udGV4dCkKIHsgIAotICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KGxyb3VuZChz
dGF0aWNfY2FzdDxkb3VibGU+KGZyb20pICsgc3RhdGljX2Nhc3Q8ZG91YmxlPih0byAtIGZyb20p
ICogY29udGV4dC5wcm9ncmVzcykpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KHJvdW5k
SGFsZlRvd2FyZHNQb3NpdGl2ZUluZmluaXR5KHN0YXRpY19jYXN0PGRvdWJsZT4oZnJvbSkgKyBz
dGF0aWNfY2FzdDxkb3VibGU+KHRvIC0gZnJvbSkgKiBjb250ZXh0LnByb2dyZXNzKSk7CiB9CiAK
IGlubGluZSB1bnNpZ25lZCBibGVuZCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCB0bywgY29uc3Qg
QmxlbmRpbmdDb250ZXh0JiBjb250ZXh0KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5k
ZXggMjVhODU5MjFkNTdjOTNmMjI1YTdlMWVhZTNlMzZlOWE4ZDNkNzFhMC4uYzdhNjI3MGM4YmU2
ZmM2ZjYzZjRjZTdmNWVmYTk0OTE1NTQ2OGU1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjEtMTAtMjAgIEpvb25naHVuIFBhcmsgIDxwamgwNzE4
QGdtYWlsLmNvbT4KKworICAgICAgICBJbnRlZ2VyIGludGVycG9sYXRpb24gc2hvdWxkIGJlIHJv
dW5kZWQgdG93YXJkcyBwb3NpdGl2ZSBpbmZpbml0eSwgbm90IGF3YXkgZnJvbSB6ZXJvLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyMDEzCisKKyAg
ICAgICAgQ3VycmVudGx5LCBpbnRlcnBvbGF0aW9uIG9mIDxpbnRlZ2VyPiBpcyByb3VuZGluZyBh
d2F5IGZyb20gMC4KKyAgICAgICAgVGhlIGludGVycG9sYXRpb24ncyByZXN1bHQgc2hvdWxkIGJl
IHJvdW5kZWQgYWNjb3JkaW5nIHRvIHRoZSBzcGVjLAorICAgICAgICBodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvY3NzLXZhbHVlcy00LyNjb21iaW5lLWludGVnZXJzLCB3aGljaCBpcworCisgICAg
ICAgICJ0aGUgcmVzdWx0IGlzIGNvbnZlcnRlZCB0byBhbiA8aW50ZWdlcj4gYnkgcm91bmRpbmcK
KyAgICAgICAgdG8gdGhlIG5lYXJlc3QgaW50ZWdlciwgd2l0aCB2YWx1ZXMgaGFsZndheSBiZXR3
ZWVuCisgICAgICAgIGFkamFjZW50IGludGVnZXJzIHJvdW5kZWQgdG93YXJkcyBwb3NpdGl2ZSBp
bmZpbml0eS4iCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0
aW9uX3JvdW5kX2hhbGZfdG93YXJkc19wb3NpdGl2ZV9pbmZpbml0eV9vcmRlci1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9p
bnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5
X29yZGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZl
X2luZmluaXR5X3pfaW5kZXgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5kX2hh
bGZfdG93YXJkc19wb3NpdGl2ZV9pbmZpbml0eV96X2luZGV4Lmh0bWw6IEFkZGVkLgorCiAyMDIx
LTEwLTE1ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIENT
UyBBbmltYXRpb25zIGNyZWF0aW9uIGFuZCBzb3J0aW5nIGlzIGluY29ycmVjdCBhbmQgbWF5IGxl
YWQgdG8gY3Jhc2gKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5kX2hh
bGZfdG93YXJkc19wb3NpdGl2ZV9pbmZpbml0eV9vcmRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVn
ZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5pdHlfb3Jk
ZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUwYWYzZWYxOWQwMDA4ZWFjY2Q4OTk0YTUyZWIz
MTJkZjFmZjRkNTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9y
b3VuZF9oYWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5pdHlfb3JkZXItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMyBAQAorCitQQVNTIEludGVnZXIgaW50ZXJwb2xhdGlvbiBzaG91bGQgYmUgcm91
bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvaW50ZWdlcl9p
bnRlcnBvbGF0aW9uX3JvdW5kX2hhbGZfdG93YXJkc19wb3NpdGl2ZV9pbmZpbml0eV9vcmRlci5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZl
X2luZmluaXR5X29yZGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjBjNDM5ZWJjZjRjYjVlNmU3YTQxMjMy
NmI0MzMzYTE2M2E2YmQ2MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0
aW9uX3JvdW5kX2hhbGZfdG93YXJkc19wb3NpdGl2ZV9pbmZpbml0eV9vcmRlci5odG1sCkBAIC0w
LDAgKzEsMzkgQEAKKzwhZG9jdHlwZSBodG1sPgorPHRpdGxlPlRlc3RpbmcgaWYgaW50ZWdlciBp
bnRlcnBvbGF0aW9uIGlzIHJvdW5kZWQgdG93YXJkcyBwb3NpdGl2ZSBpbmZpbml0eTwvdGl0bGU+
Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikpvb25naHVuIFBhcmsiIGhyZWY9InBqaDA3MThA
Z21haWwuY29tIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cu
b3JnL2Nzcy12YWx1ZXMtNC8jY29tYmluZS1pbnRlZ2VycyI+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisKKyNmbGV4LWNvbnRhaW5l
ciB7CisgICAgZGlzcGxheTogZmxleDsKKyAgICBhbmltYXRpb246IGFuaW0tb3JkZXIgNHMgc3Rl
cHMoNCkgZm9yd2FyZHMgMTsKKyAgICBhbmltYXRpb24tZGVsYXk6IC0xczsKKyAgICBhbmltYXRp
b24tcGxheS1zdGF0ZTogcGF1c2VkOworfQorCitAa2V5ZnJhbWVzIGFuaW0tb3JkZXIgeworICBm
cm9tIHsKKyAgICBvcmRlcjogLTI7CisgIH0KKworICB0byB7CisgICAgb3JkZXI6IDA7CisgIH0K
K30KKworPC9zdHlsZT4KKzxkaXYgaWQ9ImZsZXgtY29udGFpbmVyIj48L2Rpdj4KKzxzY3JpcHQ+
Cit2YXIgdGVzdF9kZXNjcmlwdGlvbiA9ICJJbnRlZ2VyIGludGVycG9sYXRpb24gc2hvdWxkIGJl
IHJvdW5kZWQgdG93YXJkcyBwb3NpdGl2ZSBpbmZpbml0eSI7Cit0ZXN0KAorICAgIHQgPT4gewor
ICAgICAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmxleC1j
b250YWluZXIiKTsKKyAgICAgICAgY29uc3Qgb3JkZXJfdmFsdWUgPSBOdW1iZXIucGFyc2VGbG9h
dChnZXRDb21wdXRlZFN0eWxlKGNvbnRhaW5lcikuZ2V0UHJvcGVydHlWYWx1ZSgnb3JkZXInKSk7
CisKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhvcmRlcl92YWx1ZSwgLTEsICJJbnRlcnBvbGF0aW9u
IHJlc3VsdCBmb3Igb3JkZXIgc2hvdWxkIGJlIHJvdW5kZWQgdG93YXJkcyBwb3NpdGl2ZSBpbmZp
bml0eSIpOworICAgIH0sCisgICAgdGVzdF9kZXNjcmlwdGlvbgorKTsKKzwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0
aXZlX2luZmluaXR5X3pfaW5kZXgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRp
b25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5X3pfaW5kZXgtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmUwYWYzZWYxOWQwMDA4ZWFjY2Q4OTk0YTUyZWIzMTJkZjFmZjRkNTAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rv
d2FyZHNfcG9zaXRpdmVfaW5maW5pdHlfel9pbmRleC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
IEBACisKK1BBU1MgSW50ZWdlciBpbnRlcnBvbGF0aW9uIHNob3VsZCBiZSByb3VuZGVkIHRvd2Fy
ZHMgcG9zaXRpdmUgaW5maW5pdHkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRp
b25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5X3pfaW5kZXguaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMv
aW50ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5kX2hhbGZfdG93YXJkc19wb3NpdGl2ZV9pbmZpbml0
eV96X2luZGV4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzliMDQyY2NiOGYyZDA4ZTA0ZGNhNTZkZjk3MTVi
NDA4MWM0ZDE5ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0aW9uX3Jv
dW5kX2hhbGZfdG93YXJkc19wb3NpdGl2ZV9pbmZpbml0eV96X2luZGV4Lmh0bWwKQEAgLTAsMCAr
MSwzOCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+VGVzdGluZyBpZiBpbnRlZ2VyIGludGVy
cG9sYXRpb24gaXMgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5PC90aXRsZT4KKzxs
aW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSm9vbmdodW4gUGFyayIgaHJlZj0icGpoMDcxOEBnbWFp
bC5jb20iPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcv
Y3NzLXZhbHVlcy00LyNjb21iaW5lLWludGVnZXJzIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKworI2FuaW0tdGFyZ2V0IHsKKyAg
YW5pbWF0aW9uOiBhbmltLXogNHMgc3RlcHMoNCkgZm9yd2FyZHMgMTsKKyAgYW5pbWF0aW9uLWRl
bGF5OiAtMXM7CisgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7Cit9CisKK0BrZXlmcmFt
ZXMgYW5pbS16IHsKKyAgZnJvbSB7CisgICAgei1pbmRleDogLTI7CisgIH0KKworICB0byB7Cisg
ICAgei1pbmRleDogMDsKKyAgfQorfQorCis8L3N0eWxlPgorPGRpdiBpZD0iYW5pbS10YXJnZXQi
PjwvZGl2PgorPHNjcmlwdD4KK3ZhciB0ZXN0X2Rlc2NyaXB0aW9uID0gIkludGVnZXIgaW50ZXJw
b2xhdGlvbiBzaG91bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5IjsKK3Rl
c3QoCisgICAgdCA9PiB7CisgICAgICAgIGNvbnN0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJhbmltLXRhcmdldCIpOworICAgICAgICBjb25zdCB6X2luZGV4X3ZhbHVlID0gTnVt
YmVyLnBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQpLmdldFByb3BlcnR5VmFsdWUo
J3otaW5kZXgnKSk7CisKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh6X2luZGV4X3ZhbHVlLCAtMSwg
IkludGVycG9sYXRpb24gcmVzdWx0IGZvciB6LWluZGV4IHNob3VsZCBiZSByb3VuZGVkIHRvd2Fy
ZHMgcG9zaXRpdmUgaW5maW5pdHkiKTsKKyAgICB9LAorICAgIHRlc3RfZGVzY3JpcHRpb24KKyk7
Cis8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441963</attachid>
            <date>2021-10-20 17:25:35 -0700</date>
            <delta_ts>2021-10-21 00:26:10 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-232013-20211021092315.patch</filename>
            <type>text/plain</type>
            <size>10457</size>
            <attacher name="Joonghun Park">jh718.park</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDlhNTljOTYwMTYyZDhhYWNlOTAyYTky
NWU2MmE0ZTM0MTJjYTA3Y2YuLjM1Y2RhNzAzYWQ4ZGJkMGEwN2MwMDJhYzBiZjg5OTBhNDE0Zjhm
YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMTAtMjAgIEpvb25naHVuIFBhcmsgIDxwamgw
NzE4QGdtYWlsLmNvbT4KKworICAgICAgICBJbnRlZ2VyIGludGVycG9sYXRpb24gaW4gYW5pbWF0
aW9ucyBzaG91bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5LCBub3QgYXdh
eSBmcm9tIHplcm8uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzIwMTMKKworICAgICAgICBDdXJyZW50bHksIGludGVycG9sYXRpb24gb2YgPGludGVn
ZXI+IGlzIHJvdW5kaW5nIGF3YXkgZnJvbSAwLgorICAgICAgICBUaGUgaW50ZXJwb2xhdGlvbidz
IHJlc3VsdCBzaG91bGQgYmUgcm91bmRlZCBhY2NvcmRpbmcgdG8gdGhlIHNwZWMsCisgICAgICAg
IGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdmFsdWVzLTQvI2NvbWJpbmUtaW50ZWdlcnMs
IHdoaWNoIGlzCisKKyAgICAgICAgInRoZSByZXN1bHQgaXMgY29udmVydGVkIHRvIGFuIDxpbnRl
Z2VyPiBieSByb3VuZGluZworICAgICAgICB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyLCB3aXRoIHZh
bHVlcyBoYWxmd2F5IGJldHdlZW4KKyAgICAgICAgYWRqYWNlbnQgaW50ZWdlcnMgcm91bmRlZCB0
b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5LiIKKworICAgICAgICAqIHd0Zi9NYXRoRXh0cmFzLmg6
CisgICAgICAgIChyb3VuZFRvd2FyZHNQb3NpdGl2ZUluZmluaXR5KToKKwogMjAyMS0xMC0yMCAg
QWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFVS
TFBhcnNlciBzaG91bGQgcmVqZWN0IGhvc3RzIHdpdGggQzAgY29udHJvbCBjaGFyYWN0ZXJzIG9y
IFUrMDA3RgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDU4ZjJlNDY4ZDNlMTdlMDQzZDVlNzNjZDE3MjM2ZjUwMjU3
MTVlZDAuLmQ5MDQzYWZmN2I2OTJlNGM0MzRmMDVjNzc4MzQ2ODRkMDc3OWFhOWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMS0xMC0yMCAgSm9vbmdodW4gUGFyayAgPHBqaDA3MThA
Z21haWwuY29tPgorCisgICAgICAgIEludGVnZXIgaW50ZXJwb2xhdGlvbiBpbiBhbmltYXRpb25z
IHNob3VsZCBiZSByb3VuZGVkIHRvd2FyZHMgcG9zaXRpdmUgaW5maW5pdHksIG5vdCBhd2F5IGZy
b20gemVyby4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzMjAxMworCisgICAgICAgIEN1cnJlbnRseSwgaW50ZXJwb2xhdGlvbiBvZiA8aW50ZWdlcj4g
aXMgcm91bmRpbmcgYXdheSBmcm9tIDAuCisgICAgICAgIFRoZSBpbnRlcnBvbGF0aW9uJ3MgcmVz
dWx0IHNob3VsZCBiZSByb3VuZGVkIGFjY29yZGluZyB0byB0aGUgc3BlYywKKyAgICAgICAgaHR0
cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy12YWx1ZXMtNC8jY29tYmluZS1pbnRlZ2Vycywgd2hp
Y2ggaXMKKworICAgICAgICAidGhlIHJlc3VsdCBpcyBjb252ZXJ0ZWQgdG8gYW4gPGludGVnZXI+
IGJ5IHJvdW5kaW5nCisgICAgICAgIHRvIHRoZSBuZWFyZXN0IGludGVnZXIsIHdpdGggdmFsdWVz
IGhhbGZ3YXkgYmV0d2VlbgorICAgICAgICBhZGphY2VudCBpbnRlZ2VycyByb3VuZGVkIHRvd2Fy
ZHMgcG9zaXRpdmUgaW5maW5pdHkuIgorCisgICAgICAgIFRlc3RzOiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3Vu
ZF9oYWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5pdHlfb3JkZXIuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pbnRlZ2Vy
X2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5X3pfaW5k
ZXguaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGll
cy5oOgorICAgICAgICAoV2ViQ29yZTo6YmxlbmQpOgorCiAyMDIxLTEwLTIwICBCZXRoIERha2lu
ICA8YmRha2luQGFwcGxlLmNvbT4gYW5kIERhbmEgRXN0cmEgPGRlc3RyYUBhcHBsZS5jb20+CiAK
ICAgICAgICAgbWFjT1Mga2V5LWRyaXZlbiBzbW9vdGggc2Nyb2xsaW5nIGRvZXMgbm90IHN0b3Ag
d2hlbiBmb2N1cyBjaGFuZ2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9NYXRoRXh0cmFz
LmggYi9Tb3VyY2UvV1RGL3d0Zi9NYXRoRXh0cmFzLmgKaW5kZXggN2FkYjg3NDJhOGRlOTgxMzcy
M2U1OTI1MzJmNGFhMzAxNDY0ODllZC4uMDhkNGVlZGUzY2U0MjIyYjRlYjg5MWIxOWI4NTdlZWZm
Y2M0MWZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTWF0aEV4dHJhcy5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL01hdGhFeHRyYXMuaApAQCAtMTM2LDYgKzEzNiw5IEBAIGNvbnN0ZXhwciBp
bmxpbmUgZG91YmxlIGdyYWQycmFkKGRvdWJsZSBnKSB7IHJldHVybiBkZWcycmFkKGdyYWQyZGVn
KGcpKTsgfQogY29uc3RleHByIGlubGluZSBmbG9hdCByYWQyZ3JhZChmbG9hdCByKSB7IHJldHVy
biBkZWcyZ3JhZChyYWQyZGVnKHIpKTsgfQogY29uc3RleHByIGlubGluZSBmbG9hdCBncmFkMnJh
ZChmbG9hdCBnKSB7IHJldHVybiBkZWcycmFkKGdyYWQyZGVnKGcpKTsgfQogCitpbmxpbmUgZG91
YmxlIHJvdW5kVG93YXJkc1Bvc2l0aXZlSW5maW5pdHkoZG91YmxlIHZhbHVlKSB7IHJldHVybiBz
dGQ6OmZsb29yKHZhbHVlICsgMC41KTsgfQoraW5saW5lIGZsb2F0IHJvdW5kVG93YXJkc1Bvc2l0
aXZlSW5maW5pdHkoZmxvYXQgdmFsdWUpIHsgcmV0dXJuIHN0ZDo6Zmxvb3IodmFsdWUgKyAwLjVm
KTsgfQorCiAvLyBzdGQ6Om51bWVyaWNfbGltaXRzPFQ+OjptaW4oKSByZXR1cm5zIHRoZSBzbWFs
bGVzdCBwb3NpdGl2ZSB2YWx1ZSBmb3IgZmxvYXRpbmcgcG9pbnQgdHlwZXMKIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNvbnN0ZXhwciBUIGRlZmF1bHRNaW5pbXVtRm9yQ2xhbXAoKSB7IHJldHVybiBz
dGQ6Om51bWVyaWNfbGltaXRzPFQ+OjptaW4oKTsgfQogdGVtcGxhdGU8PiBjb25zdGV4cHIgZmxv
YXQgZGVmYXVsdE1pbmltdW1Gb3JDbGFtcCgpIHsgcmV0dXJuIC1zdGQ6Om51bWVyaWNfbGltaXRz
PGZsb2F0Pjo6bWF4KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Fu
aW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Fu
aW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuaAppbmRleCA4YmMxY2JjMTRmNDE0NzRkMjBjNTJh
OTBjM2U2ZDFhYjM3ZGIwNTk4Li5hN2I2MjA3MTcxYTQ0NjJkMzlmNTRiMTczODA3Mzk1M2U1MWIw
OGM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0
aW9uVXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0Fu
aW1hdGlvblV0aWxpdGllcy5oCkBAIC00Myw3ICs0Myw3IEBAIHN0cnVjdCBCbGVuZGluZ0NvbnRl
eHQgewogCiBpbmxpbmUgaW50IGJsZW5kKGludCBmcm9tLCBpbnQgdG8sIGNvbnN0IEJsZW5kaW5n
Q29udGV4dCYgY29udGV4dCkKIHsgIAotICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KGxyb3Vu
ZChzdGF0aWNfY2FzdDxkb3VibGU+KGZyb20pICsgc3RhdGljX2Nhc3Q8ZG91YmxlPih0byAtIGZy
b20pICogY29udGV4dC5wcm9ncmVzcykpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KHJv
dW5kVG93YXJkc1Bvc2l0aXZlSW5maW5pdHkoc3RhdGljX2Nhc3Q8ZG91YmxlPihmcm9tKSArIHN0
YXRpY19jYXN0PGRvdWJsZT4odG8gLSBmcm9tKSAqIGNvbnRleHQucHJvZ3Jlc3MpKTsKIH0KIAog
aW5saW5lIHVuc2lnbmVkIGJsZW5kKHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIHRvLCBjb25zdCBC
bGVuZGluZ0NvbnRleHQmIGNvbnRleHQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRl
eCAzOGE1NjBhM2RjYWMzMjk0ODljZGQzZjEyMjVlMWM2N2RlMmNiNDg0Li4zZDBhZWYxNDQzM2Zj
M2EzZDAwZjA5ZGMzOWFkYmQwMjQyODc0YTAzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMS0xMC0yMCAgSm9vbmdodW4gUGFyayAgPHBqaDA3MThA
Z21haWwuY29tPgorCisgICAgICAgIEludGVnZXIgaW50ZXJwb2xhdGlvbiBpbiBhbmltYXRpb25z
IHNob3VsZCBiZSByb3VuZGVkIHRvd2FyZHMgcG9zaXRpdmUgaW5maW5pdHksIG5vdCBhd2F5IGZy
b20gemVyby4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzMjAxMworCisgICAgICAgIEN1cnJlbnRseSwgaW50ZXJwb2xhdGlvbiBvZiA8aW50ZWdlcj4g
aXMgcm91bmRpbmcgYXdheSBmcm9tIDAuCisgICAgICAgIFRoZSBpbnRlcnBvbGF0aW9uJ3MgcmVz
dWx0IHNob3VsZCBiZSByb3VuZGVkIGFjY29yZGluZyB0byB0aGUgc3BlYywKKyAgICAgICAgaHR0
cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy12YWx1ZXMtNC8jY29tYmluZS1pbnRlZ2Vycywgd2hp
Y2ggaXMKKworICAgICAgICAidGhlIHJlc3VsdCBpcyBjb252ZXJ0ZWQgdG8gYW4gPGludGVnZXI+
IGJ5IHJvdW5kaW5nCisgICAgICAgIHRvIHRoZSBuZWFyZXN0IGludGVnZXIsIHdpdGggdmFsdWVz
IGhhbGZ3YXkgYmV0d2VlbgorICAgICAgICBhZGphY2VudCBpbnRlZ2VycyByb3VuZGVkIHRvd2Fy
ZHMgcG9zaXRpdmUgaW5maW5pdHkuIgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJf
aW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5pdHlfb3JkZXIt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5kX2hhbGZfdG93YXJkc19wb3NpdGl2
ZV9pbmZpbml0eV9vcmRlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5kX2hhbGZfdG93YXJk
c19wb3NpdGl2ZV9pbmZpbml0eV96X2luZGV4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlv
bl9yb3VuZF9oYWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5pdHlfel9pbmRleC5odG1sOiBBZGRl
ZC4KKwogMjAyMS0xMC0yMCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFVSTFBhcnNlciBzaG91bGQgcmVqZWN0IGhvc3RzIHdpdGggQzAgY29u
dHJvbCBjaGFyYWN0ZXJzIG9yIFUrMDA3RgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9s
YXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5X29yZGVyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5kX2hhbGZfdG93YXJkc19wb3NpdGl2
ZV9pbmZpbml0eV9vcmRlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTBhZjNlZjE5ZDAwMDhl
YWNjZDg5OTRhNTJlYjMxMmRmMWZmNGQ1MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvaW50ZWdlcl9p
bnRlcnBvbGF0aW9uX3JvdW5kX2hhbGZfdG93YXJkc19wb3NpdGl2ZV9pbmZpbml0eV9vcmRlci1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgSW50ZWdlciBpbnRlcnBvbGF0aW9u
IHNob3VsZCBiZSByb3VuZGVkIHRvd2FyZHMgcG9zaXRpdmUgaW5maW5pdHkKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZh
bHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2lu
ZmluaXR5X29yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rv
d2FyZHNfcG9zaXRpdmVfaW5maW5pdHlfb3JkZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MGM0MzllYmNm
NGNiNWU2ZTdhNDEyMzI2YjQzMzNhMTYzYTZiZDYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pbnRl
Z2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5X29y
ZGVyLmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0bGU+VGVzdGlu
ZyBpZiBpbnRlZ2VyIGludGVycG9sYXRpb24gaXMgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGlu
ZmluaXR5PC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSm9vbmdodW4gUGFyayIg
aHJlZj0icGpoMDcxOEBnbWFpbC5jb20iPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczov
L2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXZhbHVlcy00LyNjb21iaW5lLWludGVnZXJzIj4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKwor
I2ZsZXgtY29udGFpbmVyIHsKKyAgICBkaXNwbGF5OiBmbGV4OworICAgIGFuaW1hdGlvbjogYW5p
bS1vcmRlciA0cyBzdGVwcyg0KSBmb3J3YXJkcyAxOworICAgIGFuaW1hdGlvbi1kZWxheTogLTFz
OworICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7Cit9CisKK0BrZXlmcmFtZXMgYW5p
bS1vcmRlciB7CisgIGZyb20geworICAgIG9yZGVyOiAtMjsKKyAgfQorCisgIHRvIHsKKyAgICBv
cmRlcjogMDsKKyAgfQorfQorCis8L3N0eWxlPgorPGRpdiBpZD0iZmxleC1jb250YWluZXIiPjwv
ZGl2PgorPHNjcmlwdD4KK3ZhciB0ZXN0X2Rlc2NyaXB0aW9uID0gIkludGVnZXIgaW50ZXJwb2xh
dGlvbiBzaG91bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5IjsKK3Rlc3Qo
CisgICAgdCA9PiB7CisgICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJmbGV4LWNvbnRhaW5lciIpOworICAgICAgICBjb25zdCBvcmRlcl92YWx1ZSA9IE51
bWJlci5wYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUoY29udGFpbmVyKS5nZXRQcm9wZXJ0eVZh
bHVlKCdvcmRlcicpKTsKKworICAgICAgICBhc3NlcnRfZXF1YWxzKG9yZGVyX3ZhbHVlLCAtMSwg
IkludGVycG9sYXRpb24gcmVzdWx0IGZvciBvcmRlciBzaG91bGQgYmUgcm91bmRlZCB0b3dhcmRz
IHBvc2l0aXZlIGluZmluaXR5Iik7CisgICAgfSwKKyAgICB0ZXN0X2Rlc2NyaXB0aW9uCispOwor
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxm
X3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5pdHlfel9pbmRleC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVn
ZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5pdHlfel9p
bmRleC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTBhZjNlZjE5ZDAwMDhlYWNjZDg5OTRhNTJl
YjMxMmRmMWZmNGQ1MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0aW9u
X3JvdW5kX2hhbGZfdG93YXJkc19wb3NpdGl2ZV9pbmZpbml0eV96X2luZGV4LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBJbnRlZ2VyIGludGVycG9sYXRpb24gc2hvdWxkIGJl
IHJvdW5kZWQgdG93YXJkcyBwb3NpdGl2ZSBpbmZpbml0eQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVn
ZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5pdHlfel9p
bmRleC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bv
c2l0aXZlX2luZmluaXR5X3pfaW5kZXguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOWIwNDJjY2I4ZjJkMDhl
MDRkY2E1NmRmOTcxNWI0MDgxYzRkMTlkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2lu
dGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5X3pfaW5kZXgu
aHRtbApAQCAtMCwwICsxLDM4IEBACis8IWRvY3R5cGUgaHRtbD4KKzx0aXRsZT5UZXN0aW5nIGlm
IGludGVnZXIgaW50ZXJwb2xhdGlvbiBpcyByb3VuZGVkIHRvd2FyZHMgcG9zaXRpdmUgaW5maW5p
dHk8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJKb29uZ2h1biBQYXJrIiBocmVm
PSJwamgwNzE4QGdtYWlsLmNvbSI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3MtdmFsdWVzLTQvI2NvbWJpbmUtaW50ZWdlcnMiPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorCisjYW5p
bS10YXJnZXQgeworICBhbmltYXRpb246IGFuaW0teiA0cyBzdGVwcyg0KSBmb3J3YXJkcyAxOwor
ICBhbmltYXRpb24tZGVsYXk6IC0xczsKKyAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDsK
K30KKworQGtleWZyYW1lcyBhbmltLXogeworICBmcm9tIHsKKyAgICB6LWluZGV4OiAtMjsKKyAg
fQorCisgIHRvIHsKKyAgICB6LWluZGV4OiAwOworICB9Cit9CisKKzwvc3R5bGU+Cis8ZGl2IGlk
PSJhbmltLXRhcmdldCI+PC9kaXY+Cis8c2NyaXB0PgordmFyIHRlc3RfZGVzY3JpcHRpb24gPSAi
SW50ZWdlciBpbnRlcnBvbGF0aW9uIHNob3VsZCBiZSByb3VuZGVkIHRvd2FyZHMgcG9zaXRpdmUg
aW5maW5pdHkiOwordGVzdCgKKyAgICB0ID0+IHsKKyAgICAgICAgY29uc3QgdGFyZ2V0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuaW0tdGFyZ2V0Iik7CisgICAgICAgIGNvbnN0IHpfaW5k
ZXhfdmFsdWUgPSBOdW1iZXIucGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKHRhcmdldCkuZ2V0
UHJvcGVydHlWYWx1ZSgnei1pbmRleCcpKTsKKworICAgICAgICBhc3NlcnRfZXF1YWxzKHpfaW5k
ZXhfdmFsdWUsIC0xLCAiSW50ZXJwb2xhdGlvbiByZXN1bHQgZm9yIHotaW5kZXggc2hvdWxkIGJl
IHJvdW5kZWQgdG93YXJkcyBwb3NpdGl2ZSBpbmZpbml0eSIpOworICAgIH0sCisgICAgdGVzdF9k
ZXNjcmlwdGlvbgorKTsKKzwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441993</attachid>
            <date>2021-10-21 00:26:16 -0700</date>
            <delta_ts>2021-10-21 08:45:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232013-20211021162356.patch</filename>
            <type>text/plain</type>
            <size>11276</size>
            <attacher name="Joonghun Park">jh718.park</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDlhNTljOTYwMTYyZDhhYWNlOTAyYTky
NWU2MmE0ZTM0MTJjYTA3Y2YuLjM1Y2RhNzAzYWQ4ZGJkMGEwN2MwMDJhYzBiZjg5OTBhNDE0Zjhm
YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMTAtMjAgIEpvb25naHVuIFBhcmsgIDxwamgw
NzE4QGdtYWlsLmNvbT4KKworICAgICAgICBJbnRlZ2VyIGludGVycG9sYXRpb24gaW4gYW5pbWF0
aW9ucyBzaG91bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5LCBub3QgYXdh
eSBmcm9tIHplcm8uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzIwMTMKKworICAgICAgICBDdXJyZW50bHksIGludGVycG9sYXRpb24gb2YgPGludGVn
ZXI+IGlzIHJvdW5kaW5nIGF3YXkgZnJvbSAwLgorICAgICAgICBUaGUgaW50ZXJwb2xhdGlvbidz
IHJlc3VsdCBzaG91bGQgYmUgcm91bmRlZCBhY2NvcmRpbmcgdG8gdGhlIHNwZWMsCisgICAgICAg
IGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdmFsdWVzLTQvI2NvbWJpbmUtaW50ZWdlcnMs
IHdoaWNoIGlzCisKKyAgICAgICAgInRoZSByZXN1bHQgaXMgY29udmVydGVkIHRvIGFuIDxpbnRl
Z2VyPiBieSByb3VuZGluZworICAgICAgICB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyLCB3aXRoIHZh
bHVlcyBoYWxmd2F5IGJldHdlZW4KKyAgICAgICAgYWRqYWNlbnQgaW50ZWdlcnMgcm91bmRlZCB0
b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5LiIKKworICAgICAgICAqIHd0Zi9NYXRoRXh0cmFzLmg6
CisgICAgICAgIChyb3VuZFRvd2FyZHNQb3NpdGl2ZUluZmluaXR5KToKKwogMjAyMS0xMC0yMCAg
QWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFVS
TFBhcnNlciBzaG91bGQgcmVqZWN0IGhvc3RzIHdpdGggQzAgY29udHJvbCBjaGFyYWN0ZXJzIG9y
IFUrMDA3RgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDU4ZjJlNDY4ZDNlMTdlMDQzZDVlNzNjZDE3MjM2ZjUwMjU3
MTVlZDAuLmJiYzcxYzFkOTQ4MjlhNmFmNmQzZGQyZWMxZTc5OWI5ZDk4ZDc1ZWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyNiBAQAorMjAyMS0xMC0yMCAgSm9vbmdodW4gUGFyayAgPHBqaDA3MThA
Z21haWwuY29tPgorCisgICAgICAgIEludGVnZXIgaW50ZXJwb2xhdGlvbiBpbiBhbmltYXRpb25z
IHNob3VsZCBiZSByb3VuZGVkIHRvd2FyZHMgcG9zaXRpdmUgaW5maW5pdHksIG5vdCBhd2F5IGZy
b20gemVyby4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzMjAxMworCisgICAgICAgIEN1cnJlbnRseSwgaW50ZXJwb2xhdGlvbiBvZiA8aW50ZWdlcj4g
aXMgcm91bmRpbmcgYXdheSBmcm9tIDAuCisgICAgICAgIFRoZSBpbnRlcnBvbGF0aW9uJ3MgcmVz
dWx0IHNob3VsZCBiZSByb3VuZGVkIGFjY29yZGluZyB0byB0aGUgc3BlYywKKyAgICAgICAgaHR0
cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy12YWx1ZXMtNC8jY29tYmluZS1pbnRlZ2Vycywgd2hp
Y2ggaXMKKworICAgICAgICAidGhlIHJlc3VsdCBpcyBjb252ZXJ0ZWQgdG8gYW4gPGludGVnZXI+
IGJ5IHJvdW5kaW5nCisgICAgICAgIHRvIHRoZSBuZWFyZXN0IGludGVnZXIsIHdpdGggdmFsdWVz
IGhhbGZ3YXkgYmV0d2VlbgorICAgICAgICBhZGphY2VudCBpbnRlZ2VycyByb3VuZGVkIHRvd2Fy
ZHMgcG9zaXRpdmUgaW5maW5pdHkuIgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxzbyByZW1vdmVz
IHJlZHVuZGFudCBzdGF0aWNfY2FzdDxkb3VibGU+cworICAgICAgICBhbmQgcG90ZW50aWFsIG92
ZXJmbG93KGUuZy4ndG8nIGlzIHRoZSBtYXhpbXVtIGludGVnZXIgYW5kICdmcm9tJyBpcworICAg
ICAgICB0aGUgbWluaW11bSBpbnRlZ2VyKSBmcm9tIGJsZW5kIGluIEFuaW1hdGlvblV0aWxpdGll
cy5oLgorCisgICAgICAgIFRlc3RzOiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNfcG9z
aXRpdmVfaW5maW5pdHlfb3JkZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91
bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5X3pfaW5kZXguaHRtbAorCisgICAgICAg
ICogcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5oOgorICAgICAgICAoV2Vi
Q29yZTo6YmxlbmQpOgorCiAyMDIxLTEwLTIwICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNv
bT4gYW5kIERhbmEgRXN0cmEgPGRlc3RyYUBhcHBsZS5jb20+CiAKICAgICAgICAgbWFjT1Mga2V5
LWRyaXZlbiBzbW9vdGggc2Nyb2xsaW5nIGRvZXMgbm90IHN0b3Agd2hlbiBmb2N1cyBjaGFuZ2Vz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9NYXRoRXh0cmFzLmggYi9Tb3VyY2UvV1RGL3d0
Zi9NYXRoRXh0cmFzLmgKaW5kZXggN2FkYjg3NDJhOGRlOTgxMzcyM2U1OTI1MzJmNGFhMzAxNDY0
ODllZC4uMDhkNGVlZGUzY2U0MjIyYjRlYjg5MWIxOWI4NTdlZWZmY2M0MWZhYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvTWF0aEV4dHJhcy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL01hdGhF
eHRyYXMuaApAQCAtMTM2LDYgKzEzNiw5IEBAIGNvbnN0ZXhwciBpbmxpbmUgZG91YmxlIGdyYWQy
cmFkKGRvdWJsZSBnKSB7IHJldHVybiBkZWcycmFkKGdyYWQyZGVnKGcpKTsgfQogY29uc3RleHBy
IGlubGluZSBmbG9hdCByYWQyZ3JhZChmbG9hdCByKSB7IHJldHVybiBkZWcyZ3JhZChyYWQyZGVn
KHIpKTsgfQogY29uc3RleHByIGlubGluZSBmbG9hdCBncmFkMnJhZChmbG9hdCBnKSB7IHJldHVy
biBkZWcycmFkKGdyYWQyZGVnKGcpKTsgfQogCitpbmxpbmUgZG91YmxlIHJvdW5kVG93YXJkc1Bv
c2l0aXZlSW5maW5pdHkoZG91YmxlIHZhbHVlKSB7IHJldHVybiBzdGQ6OmZsb29yKHZhbHVlICsg
MC41KTsgfQoraW5saW5lIGZsb2F0IHJvdW5kVG93YXJkc1Bvc2l0aXZlSW5maW5pdHkoZmxvYXQg
dmFsdWUpIHsgcmV0dXJuIHN0ZDo6Zmxvb3IodmFsdWUgKyAwLjVmKTsgfQorCiAvLyBzdGQ6Om51
bWVyaWNfbGltaXRzPFQ+OjptaW4oKSByZXR1cm5zIHRoZSBzbWFsbGVzdCBwb3NpdGl2ZSB2YWx1
ZSBmb3IgZmxvYXRpbmcgcG9pbnQgdHlwZXMKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNvbnN0ZXhw
ciBUIGRlZmF1bHRNaW5pbXVtRm9yQ2xhbXAoKSB7IHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRz
PFQ+OjptaW4oKTsgfQogdGVtcGxhdGU8PiBjb25zdGV4cHIgZmxvYXQgZGVmYXVsdE1pbmltdW1G
b3JDbGFtcCgpIHsgcmV0dXJuIC1zdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWF4KCk7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25V
dGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25V
dGlsaXRpZXMuaAppbmRleCA4YmMxY2JjMTRmNDE0NzRkMjBjNTJhOTBjM2U2ZDFhYjM3ZGIwNTk4
Li40NGEwNzdkYjQzMGFhOTQ2ZWJjMTg4YWNiNWIxYzQwZmZjYzVhZTIwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uVXRpbGl0aWVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5o
CkBAIC00MywxMiArNDMsMTUgQEAgc3RydWN0IEJsZW5kaW5nQ29udGV4dCB7CiAKIGlubGluZSBp
bnQgYmxlbmQoaW50IGZyb20sIGludCB0bywgY29uc3QgQmxlbmRpbmdDb250ZXh0JiBjb250ZXh0
KQogeyAgCi0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4obHJvdW5kKHN0YXRpY19jYXN0PGRv
dWJsZT4oZnJvbSkgKyBzdGF0aWNfY2FzdDxkb3VibGU+KHRvIC0gZnJvbSkgKiBjb250ZXh0LnBy
b2dyZXNzKSk7CisgICAgLy8gVGhpcyBzdGF0aWNfY2FzdDxpbnQ+IGZvbGxvd2VkIGJ5IGFkZGlu
ZyAwLjUgd29ya3MgYXMgc2FtZSB3aXRoCisgICAgLy8gcm91bmRUb3dhcmRzUG9zaXRpdmVJbmZp
bml0eSBpbiBNYXRoRXh0cmFzLmgsCisgICAgLy8gYnV0IGFsbG93cyB1cyB0byBvbWl0IHN0ZDo6
Zmxvb3Igc3RlcC4KKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50PigoZnJvbSArIChzdGF0aWNf
Y2FzdDxkb3VibGU+KHRvKSAtIGZyb20pICogY29udGV4dC5wcm9ncmVzcykgKyAwLjUpOwogfQog
CiBpbmxpbmUgdW5zaWduZWQgYmxlbmQodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgdG8sIGNvbnN0
IEJsZW5kaW5nQ29udGV4dCYgY29udGV4dCkKIHsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KGxyb3VuZCh0byA+IGZyb20gPyBzdGF0aWNfY2FzdDxkb3VibGU+KGZyb20pICsgc3Rh
dGljX2Nhc3Q8ZG91YmxlPih0byAtIGZyb20pICogY29udGV4dC5wcm9ncmVzcyA6IHN0YXRpY19j
YXN0PGRvdWJsZT4oZnJvbSkgLSBzdGF0aWNfY2FzdDxkb3VibGU+KGZyb20gLSB0bykgKiBjb250
ZXh0LnByb2dyZXNzKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkPihscm91bmQo
dG8gPiBmcm9tID8gZnJvbSArIChzdGF0aWNfY2FzdDxkb3VibGU+KHRvKSAtIGZyb20pICogY29u
dGV4dC5wcm9ncmVzcyA6IGZyb20gLSAoc3RhdGljX2Nhc3Q8ZG91YmxlPihmcm9tKSAtIHRvKSAq
IGNvbnRleHQucHJvZ3Jlc3MpKTsKIH0KIAogaW5saW5lIGRvdWJsZSBibGVuZChkb3VibGUgZnJv
bSwgZG91YmxlIHRvLCBjb25zdCBCbGVuZGluZ0NvbnRleHQmIGNvbnRleHQpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAzOGE1NjBhM2RjYWMzMjk0ODljZGQzZjEyMjVlMWM2N2Rl
MmNiNDg0Li4zZDBhZWYxNDQzM2ZjM2EzZDAwZjA5ZGMzOWFkYmQwMjQyODc0YTAzIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMS0xMC0yMCAgSm9v
bmdodW4gUGFyayAgPHBqaDA3MThAZ21haWwuY29tPgorCisgICAgICAgIEludGVnZXIgaW50ZXJw
b2xhdGlvbiBpbiBhbmltYXRpb25zIHNob3VsZCBiZSByb3VuZGVkIHRvd2FyZHMgcG9zaXRpdmUg
aW5maW5pdHksIG5vdCBhd2F5IGZyb20gemVyby4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjAxMworCisgICAgICAgIEN1cnJlbnRseSwgaW50ZXJw
b2xhdGlvbiBvZiA8aW50ZWdlcj4gaXMgcm91bmRpbmcgYXdheSBmcm9tIDAuCisgICAgICAgIFRo
ZSBpbnRlcnBvbGF0aW9uJ3MgcmVzdWx0IHNob3VsZCBiZSByb3VuZGVkIGFjY29yZGluZyB0byB0
aGUgc3BlYywKKyAgICAgICAgaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy12YWx1ZXMtNC8j
Y29tYmluZS1pbnRlZ2Vycywgd2hpY2ggaXMKKworICAgICAgICAidGhlIHJlc3VsdCBpcyBjb252
ZXJ0ZWQgdG8gYW4gPGludGVnZXI+IGJ5IHJvdW5kaW5nCisgICAgICAgIHRvIHRoZSBuZWFyZXN0
IGludGVnZXIsIHdpdGggdmFsdWVzIGhhbGZ3YXkgYmV0d2VlbgorICAgICAgICBhZGphY2VudCBp
bnRlZ2VycyByb3VuZGVkIHRvd2FyZHMgcG9zaXRpdmUgaW5maW5pdHkuIgorCisgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNfcG9z
aXRpdmVfaW5maW5pdHlfb3JkZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5k
X2hhbGZfdG93YXJkc19wb3NpdGl2ZV9pbmZpbml0eV9vcmRlci5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0
aW9uX3JvdW5kX2hhbGZfdG93YXJkc19wb3NpdGl2ZV9pbmZpbml0eV96X2luZGV4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVz
L2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5p
dHlfel9pbmRleC5odG1sOiBBZGRlZC4KKwogMjAyMS0xMC0yMCAgQWxleCBDaHJpc3RlbnNlbiAg
PGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFVSTFBhcnNlciBzaG91bGQgcmVq
ZWN0IGhvc3RzIHdpdGggQzAgY29udHJvbCBjaGFyYWN0ZXJzIG9yIFUrMDA3RgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZh
bHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2lu
ZmluaXR5X29yZGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5k
X2hhbGZfdG93YXJkc19wb3NpdGl2ZV9pbmZpbml0eV9vcmRlci1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZTBhZjNlZjE5ZDAwMDhlYWNjZDg5OTRhNTJlYjMxMmRmMWZmNGQ1MAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5kX2hhbGZfdG93YXJkc19wb3Np
dGl2ZV9pbmZpbml0eV9vcmRlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1Mg
SW50ZWdlciBpbnRlcnBvbGF0aW9uIHNob3VsZCBiZSByb3VuZGVkIHRvd2FyZHMgcG9zaXRpdmUg
aW5maW5pdHkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFs
Zl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5X29yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJw
b2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5pdHlfb3JkZXIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42MGM0MzllYmNmNGNiNWU2ZTdhNDEyMzI2YjQzMzNhMTYzYTZiZDYwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRz
X3Bvc2l0aXZlX2luZmluaXR5X29yZGVyLmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFkb2N0eXBl
IGh0bWw+Cis8dGl0bGU+VGVzdGluZyBpZiBpbnRlZ2VyIGludGVycG9sYXRpb24gaXMgcm91bmRl
ZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5PC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0
aXRsZT0iSm9vbmdodW4gUGFyayIgaHJlZj0icGpoMDcxOEBnbWFpbC5jb20iPgorPGxpbmsgcmVs
PSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXZhbHVlcy00LyNjb21i
aW5lLWludGVnZXJzIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KKworI2ZsZXgtY29udGFpbmVyIHsKKyAgICBkaXNwbGF5OiBmbGV4
OworICAgIGFuaW1hdGlvbjogYW5pbS1vcmRlciA0cyBzdGVwcyg0KSBmb3J3YXJkcyAxOworICAg
IGFuaW1hdGlvbi1kZWxheTogLTFzOworICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7
Cit9CisKK0BrZXlmcmFtZXMgYW5pbS1vcmRlciB7CisgIGZyb20geworICAgIG9yZGVyOiAtMjsK
KyAgfQorCisgIHRvIHsKKyAgICBvcmRlcjogMDsKKyAgfQorfQorCis8L3N0eWxlPgorPGRpdiBp
ZD0iZmxleC1jb250YWluZXIiPjwvZGl2PgorPHNjcmlwdD4KK3ZhciB0ZXN0X2Rlc2NyaXB0aW9u
ID0gIkludGVnZXIgaW50ZXJwb2xhdGlvbiBzaG91bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBvc2l0
aXZlIGluZmluaXR5IjsKK3Rlc3QoCisgICAgdCA9PiB7CisgICAgICAgIGNvbnN0IGNvbnRhaW5l
ciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmbGV4LWNvbnRhaW5lciIpOworICAgICAgICBj
b25zdCBvcmRlcl92YWx1ZSA9IE51bWJlci5wYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUoY29u
dGFpbmVyKS5nZXRQcm9wZXJ0eVZhbHVlKCdvcmRlcicpKTsKKworICAgICAgICBhc3NlcnRfZXF1
YWxzKG9yZGVyX3ZhbHVlLCAtMSwgIkludGVycG9sYXRpb24gcmVzdWx0IGZvciBvcmRlciBzaG91
bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5Iik7CisgICAgfSwKKyAgICB0
ZXN0X2Rlc2NyaXB0aW9uCispOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50
ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5pdHlfel9pbmRleC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNf
cG9zaXRpdmVfaW5maW5pdHlfel9pbmRleC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTBhZjNl
ZjE5ZDAwMDhlYWNjZDg5OTRhNTJlYjMxMmRmMWZmNGQ1MAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMv
aW50ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5kX2hhbGZfdG93YXJkc19wb3NpdGl2ZV9pbmZpbml0
eV96X2luZGV4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBJbnRlZ2VyIGlu
dGVycG9sYXRpb24gc2hvdWxkIGJlIHJvdW5kZWQgdG93YXJkcyBwb3NpdGl2ZSBpbmZpbml0eQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNf
cG9zaXRpdmVfaW5maW5pdHlfel9pbmRleC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25f
cm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5X3pfaW5kZXguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jOWIwNDJjY2I4ZjJkMDhlMDRkY2E1NmRmOTcxNWI0MDgxYzRkMTlkCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0
aXZlX2luZmluaXR5X3pfaW5kZXguaHRtbApAQCAtMCwwICsxLDM4IEBACis8IWRvY3R5cGUgaHRt
bD4KKzx0aXRsZT5UZXN0aW5nIGlmIGludGVnZXIgaW50ZXJwb2xhdGlvbiBpcyByb3VuZGVkIHRv
d2FyZHMgcG9zaXRpdmUgaW5maW5pdHk8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxl
PSJKb29uZ2h1biBQYXJrIiBocmVmPSJwamgwNzE4QGdtYWlsLmNvbSI+Cis8bGluayByZWw9Imhl
bHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdmFsdWVzLTQvI2NvbWJpbmUt
aW50ZWdlcnMiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorCisjYW5pbS10YXJnZXQgeworICBhbmltYXRpb246IGFuaW0teiA0cyBz
dGVwcyg0KSBmb3J3YXJkcyAxOworICBhbmltYXRpb24tZGVsYXk6IC0xczsKKyAgYW5pbWF0aW9u
LXBsYXktc3RhdGU6IHBhdXNlZDsKK30KKworQGtleWZyYW1lcyBhbmltLXogeworICBmcm9tIHsK
KyAgICB6LWluZGV4OiAtMjsKKyAgfQorCisgIHRvIHsKKyAgICB6LWluZGV4OiAwOworICB9Cit9
CisKKzwvc3R5bGU+Cis8ZGl2IGlkPSJhbmltLXRhcmdldCI+PC9kaXY+Cis8c2NyaXB0PgordmFy
IHRlc3RfZGVzY3JpcHRpb24gPSAiSW50ZWdlciBpbnRlcnBvbGF0aW9uIHNob3VsZCBiZSByb3Vu
ZGVkIHRvd2FyZHMgcG9zaXRpdmUgaW5maW5pdHkiOwordGVzdCgKKyAgICB0ID0+IHsKKyAgICAg
ICAgY29uc3QgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuaW0tdGFyZ2V0Iik7
CisgICAgICAgIGNvbnN0IHpfaW5kZXhfdmFsdWUgPSBOdW1iZXIucGFyc2VGbG9hdChnZXRDb21w
dXRlZFN0eWxlKHRhcmdldCkuZ2V0UHJvcGVydHlWYWx1ZSgnei1pbmRleCcpKTsKKworICAgICAg
ICBhc3NlcnRfZXF1YWxzKHpfaW5kZXhfdmFsdWUsIC0xLCAiSW50ZXJwb2xhdGlvbiByZXN1bHQg
Zm9yIHotaW5kZXggc2hvdWxkIGJlIHJvdW5kZWQgdG93YXJkcyBwb3NpdGl2ZSBpbmZpbml0eSIp
OworICAgIH0sCisgICAgdGVzdF9kZXNjcmlwdGlvbgorKTsKKzwvc2NyaXB0Pgo=
</data>
<flag name="commit-queue"
          id="466427"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442023</attachid>
            <date>2021-10-21 08:01:27 -0700</date>
            <delta_ts>2021-10-22 08:31:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232013-20211022000126.patch</filename>
            <type>text/plain</type>
            <size>11105</size>
            <attacher name="Joonghun Park">jh718.park</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NjAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDRiOWVmOGNmZDZmNmMxZjNhNzg0MTli
ZTRhMDk2Nzk2MGFkNjE0MzcuLmU3ZTgzYmExMmZjMWE5ZTYxMjY2YmRiZDhjZWRlZDg3ZmE0NGIx
OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMTAtMjEgIEpvb25naHVuIFBhcmsgIDxwamgw
NzE4QGdtYWlsLmNvbT4KKworICAgICAgICBJbnRlZ2VyIGludGVycG9sYXRpb24gaW4gYW5pbWF0
aW9ucyBzaG91bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5LCBub3QgYXdh
eSBmcm9tIHplcm8uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzIwMTMKKworICAgICAgICBDdXJyZW50bHksIGludGVycG9sYXRpb24gb2YgPGludGVn
ZXI+IGlzIHJvdW5kaW5nIGF3YXkgZnJvbSAwLgorICAgICAgICBUaGUgaW50ZXJwb2xhdGlvbidz
IHJlc3VsdCBzaG91bGQgYmUgcm91bmRlZCBhY2NvcmRpbmcgdG8gdGhlIHNwZWMsCisgICAgICAg
IGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdmFsdWVzLTQvI2NvbWJpbmUtaW50ZWdlcnMs
IHdoaWNoIGlzCisKKyAgICAgICAgInRoZSByZXN1bHQgaXMgY29udmVydGVkIHRvIGFuIDxpbnRl
Z2VyPiBieSByb3VuZGluZworICAgICAgICB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyLCB3aXRoIHZh
bHVlcyBoYWxmd2F5IGJldHdlZW4KKyAgICAgICAgYWRqYWNlbnQgaW50ZWdlcnMgcm91bmRlZCB0
b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5LiIKKworICAgICAgICAqIHd0Zi9NYXRoRXh0cmFzLmg6
CisgICAgICAgIChyb3VuZFRvd2FyZHNQb3NpdGl2ZUluZmluaXR5KToKKwogMjAyMS0xMC0yMCAg
QnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViS2l0IE1hbmFn
ZWQgTm90aWZpY2F0aW9uczogU2tlbGV0b24gTm90aWZpY2F0aW9uUHJvdmlkZXIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCA0NDQxNGIxZThhM2MyMTdjOWM5ODdiOWRhNGY1MzhmYTQ0ZjdhMjkzLi5mMjZlZmIxYjM5
OTJkMGRjZTNhNzIwMTlkMDljZjJmMzQ5MWJhMzRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYg
QEAKKzIwMjEtMTAtMjEgIEpvb25naHVuIFBhcmsgIDxwamgwNzE4QGdtYWlsLmNvbT4KKworICAg
ICAgICBJbnRlZ2VyIGludGVycG9sYXRpb24gaW4gYW5pbWF0aW9ucyBzaG91bGQgYmUgcm91bmRl
ZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5LCBub3QgYXdheSBmcm9tIHplcm8uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzIwMTMKKworICAgICAg
ICBDdXJyZW50bHksIGludGVycG9sYXRpb24gb2YgPGludGVnZXI+IGlzIHJvdW5kaW5nIGF3YXkg
ZnJvbSAwLgorICAgICAgICBUaGUgaW50ZXJwb2xhdGlvbidzIHJlc3VsdCBzaG91bGQgYmUgcm91
bmRlZCBhY2NvcmRpbmcgdG8gdGhlIHNwZWMsCisgICAgICAgIGh0dHBzOi8vZHJhZnRzLmNzc3dn
Lm9yZy9jc3MtdmFsdWVzLTQvI2NvbWJpbmUtaW50ZWdlcnMsIHdoaWNoIGlzCisKKyAgICAgICAg
InRoZSByZXN1bHQgaXMgY29udmVydGVkIHRvIGFuIDxpbnRlZ2VyPiBieSByb3VuZGluZworICAg
ICAgICB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyLCB3aXRoIHZhbHVlcyBoYWxmd2F5IGJldHdlZW4K
KyAgICAgICAgYWRqYWNlbnQgaW50ZWdlcnMgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmlu
aXR5LiIKKworICAgICAgICBUaGlzIHBhdGNoIGFsc28gcmVtb3ZlcyByZWR1bmRhbnQgc3RhdGlj
X2Nhc3Q8ZG91YmxlPnMKKyAgICAgICAgYW5kIHBvdGVudGlhbCBvdmVyZmxvdyhlLmcuJ3RvJyBp
cyB0aGUgbWF4aW11bSBpbnRlZ2VyIGFuZCAnZnJvbScgaXMKKyAgICAgICAgdGhlIG1pbmltdW0g
aW50ZWdlcikgZnJvbSBibGVuZCBpbiBBbmltYXRpb25VdGlsaXRpZXMuaC4KKworICAgICAgICBU
ZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pbnRl
Z2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5X29y
ZGVyLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5kX2hhbGZfdG93YXJkc19w
b3NpdGl2ZV9pbmZpbml0eV96X2luZGV4Lmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL2FuaW1h
dGlvbi9BbmltYXRpb25VdGlsaXRpZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OmJsZW5kKToKKwog
MjAyMS0xMC0yMSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBDU1NQcm9wZXJ0eVpvb20gbmVlZHMgd3JhcHBlciB0aGF0IGVuc3VyZXMgaXQncyBhbHdheXMg
YmxlbmRlZCBpbnRvIGEgcG9zaXRpdmUgdmFsdWUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9NYXRoRXh0cmFzLmggYi9Tb3VyY2UvV1RGL3d0Zi9NYXRoRXh0cmFzLmgKaW5kZXggN2FkYjg3
NDJhOGRlOTgxMzcyM2U1OTI1MzJmNGFhMzAxNDY0ODllZC4uMDhkNGVlZGUzY2U0MjIyYjRlYjg5
MWIxOWI4NTdlZWZmY2M0MWZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTWF0aEV4dHJh
cy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL01hdGhFeHRyYXMuaApAQCAtMTM2LDYgKzEzNiw5IEBA
IGNvbnN0ZXhwciBpbmxpbmUgZG91YmxlIGdyYWQycmFkKGRvdWJsZSBnKSB7IHJldHVybiBkZWcy
cmFkKGdyYWQyZGVnKGcpKTsgfQogY29uc3RleHByIGlubGluZSBmbG9hdCByYWQyZ3JhZChmbG9h
dCByKSB7IHJldHVybiBkZWcyZ3JhZChyYWQyZGVnKHIpKTsgfQogY29uc3RleHByIGlubGluZSBm
bG9hdCBncmFkMnJhZChmbG9hdCBnKSB7IHJldHVybiBkZWcycmFkKGdyYWQyZGVnKGcpKTsgfQog
CitpbmxpbmUgZG91YmxlIHJvdW5kVG93YXJkc1Bvc2l0aXZlSW5maW5pdHkoZG91YmxlIHZhbHVl
KSB7IHJldHVybiBzdGQ6OmZsb29yKHZhbHVlICsgMC41KTsgfQoraW5saW5lIGZsb2F0IHJvdW5k
VG93YXJkc1Bvc2l0aXZlSW5maW5pdHkoZmxvYXQgdmFsdWUpIHsgcmV0dXJuIHN0ZDo6Zmxvb3Io
dmFsdWUgKyAwLjVmKTsgfQorCiAvLyBzdGQ6Om51bWVyaWNfbGltaXRzPFQ+OjptaW4oKSByZXR1
cm5zIHRoZSBzbWFsbGVzdCBwb3NpdGl2ZSB2YWx1ZSBmb3IgZmxvYXRpbmcgcG9pbnQgdHlwZXMK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNvbnN0ZXhwciBUIGRlZmF1bHRNaW5pbXVtRm9yQ2xhbXAo
KSB7IHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPFQ+OjptaW4oKTsgfQogdGVtcGxhdGU8PiBj
b25zdGV4cHIgZmxvYXQgZGVmYXVsdE1pbmltdW1Gb3JDbGFtcCgpIHsgcmV0dXJuIC1zdGQ6Om51
bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWF4KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuaAppbmRleCAwZWMyMjQ4Yjlh
ZWFjOGRjOGI3Yjk0NTRjY2EwMDZkYjQ2YWRjZmY2Li5iN2M0M2M2ZTc5NWM4Nzg3ZWU5ZTU5MzQ3
YjY4OWMyOTQwYzYzMjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmlt
YXRpb24vQW5pbWF0aW9uVXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5oCkBAIC00NSwxMyArNDUsMTMgQEAgc3RydWN0
IEJsZW5kaW5nQ29udGV4dCB7CiB9OwogCiBpbmxpbmUgaW50IGJsZW5kKGludCBmcm9tLCBpbnQg
dG8sIGNvbnN0IEJsZW5kaW5nQ29udGV4dCYgY29udGV4dCkKLXsgIAotICAgIHJldHVybiBzdGF0
aWNfY2FzdDxpbnQ+KGxyb3VuZChzdGF0aWNfY2FzdDxkb3VibGU+KGZyb20pICsgc3RhdGljX2Nh
c3Q8ZG91YmxlPih0byAtIGZyb20pICogY29udGV4dC5wcm9ncmVzcykpOworeworICAgIHJldHVy
biBzdGF0aWNfY2FzdDxpbnQ+KHJvdW5kVG93YXJkc1Bvc2l0aXZlSW5maW5pdHkoZnJvbSArIChz
dGF0aWNfY2FzdDxkb3VibGU+KHRvKSAtIGZyb20pICogY29udGV4dC5wcm9ncmVzcykpOwogfQog
CiBpbmxpbmUgdW5zaWduZWQgYmxlbmQodW5zaWduZWQgZnJvbSwgdW5zaWduZWQgdG8sIGNvbnN0
IEJsZW5kaW5nQ29udGV4dCYgY29udGV4dCkKIHsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KGxyb3VuZCh0byA+IGZyb20gPyBzdGF0aWNfY2FzdDxkb3VibGU+KGZyb20pICsgc3Rh
dGljX2Nhc3Q8ZG91YmxlPih0byAtIGZyb20pICogY29udGV4dC5wcm9ncmVzcyA6IHN0YXRpY19j
YXN0PGRvdWJsZT4oZnJvbSkgLSBzdGF0aWNfY2FzdDxkb3VibGU+KGZyb20gLSB0bykgKiBjb250
ZXh0LnByb2dyZXNzKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkPihscm91bmQo
dG8gPiBmcm9tID8gZnJvbSArIChzdGF0aWNfY2FzdDxkb3VibGU+KHRvKSAtIGZyb20pICogY29u
dGV4dC5wcm9ncmVzcyA6IGZyb20gLSAoc3RhdGljX2Nhc3Q8ZG91YmxlPihmcm9tKSAtIHRvKSAq
IGNvbnRleHQucHJvZ3Jlc3MpKTsKIH0KIAogaW5saW5lIGRvdWJsZSBibGVuZChkb3VibGUgZnJv
bSwgZG91YmxlIHRvLCBjb25zdCBCbGVuZGluZ0NvbnRleHQmIGNvbnRleHQpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAzOGE1NjBhM2RjYWMzMjk0ODljZGQzZjEyMjVlMWM2N2Rl
MmNiNDg0Li4yNjYyZTQ4NTc2OTRhMTJiODY5OWVlMTIyMThjZTU4Y2E1NWMxY2YwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMS0xMC0yMSAgSm9v
bmdodW4gUGFyayAgPHBqaDA3MThAZ21haWwuY29tPgorCisgICAgICAgIEludGVnZXIgaW50ZXJw
b2xhdGlvbiBpbiBhbmltYXRpb25zIHNob3VsZCBiZSByb3VuZGVkIHRvd2FyZHMgcG9zaXRpdmUg
aW5maW5pdHksIG5vdCBhd2F5IGZyb20gemVyby4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjAxMworCisgICAgICAgIEN1cnJlbnRseSwgaW50ZXJw
b2xhdGlvbiBvZiA8aW50ZWdlcj4gaXMgcm91bmRpbmcgYXdheSBmcm9tIDAuCisgICAgICAgIFRo
ZSBpbnRlcnBvbGF0aW9uJ3MgcmVzdWx0IHNob3VsZCBiZSByb3VuZGVkIGFjY29yZGluZyB0byB0
aGUgc3BlYywKKyAgICAgICAgaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy12YWx1ZXMtNC8j
Y29tYmluZS1pbnRlZ2Vycywgd2hpY2ggaXMKKworICAgICAgICAidGhlIHJlc3VsdCBpcyBjb252
ZXJ0ZWQgdG8gYW4gPGludGVnZXI+IGJ5IHJvdW5kaW5nCisgICAgICAgIHRvIHRoZSBuZWFyZXN0
IGludGVnZXIsIHdpdGggdmFsdWVzIGhhbGZ3YXkgYmV0d2VlbgorICAgICAgICBhZGphY2VudCBp
bnRlZ2VycyByb3VuZGVkIHRvd2FyZHMgcG9zaXRpdmUgaW5maW5pdHkuIgorCisgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNfcG9z
aXRpdmVfaW5maW5pdHlfb3JkZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5k
X2hhbGZfdG93YXJkc19wb3NpdGl2ZV9pbmZpbml0eV9vcmRlci5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0
aW9uX3JvdW5kX2hhbGZfdG93YXJkc19wb3NpdGl2ZV9pbmZpbml0eV96X2luZGV4LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVz
L2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5p
dHlfel9pbmRleC5odG1sOiBBZGRlZC4KKwogMjAyMS0xMC0yMCAgQWxleCBDaHJpc3RlbnNlbiAg
PGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFVSTFBhcnNlciBzaG91bGQgcmVq
ZWN0IGhvc3RzIHdpdGggQzAgY29udHJvbCBjaGFyYWN0ZXJzIG9yIFUrMDA3RgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZh
bHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2lu
ZmluaXR5X29yZGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5k
X2hhbGZfdG93YXJkc19wb3NpdGl2ZV9pbmZpbml0eV9vcmRlci1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZTBhZjNlZjE5ZDAwMDhlYWNjZDg5OTRhNTJlYjMxMmRmMWZmNGQ1MAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5kX2hhbGZfdG93YXJkc19wb3Np
dGl2ZV9pbmZpbml0eV9vcmRlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1Mg
SW50ZWdlciBpbnRlcnBvbGF0aW9uIHNob3VsZCBiZSByb3VuZGVkIHRvd2FyZHMgcG9zaXRpdmUg
aW5maW5pdHkKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFs
Zl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5X29yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJw
b2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5pdHlfb3JkZXIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42MGM0MzllYmNmNGNiNWU2ZTdhNDEyMzI2YjQzMzNhMTYzYTZiZDYwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRz
X3Bvc2l0aXZlX2luZmluaXR5X29yZGVyLmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFkb2N0eXBl
IGh0bWw+Cis8dGl0bGU+VGVzdGluZyBpZiBpbnRlZ2VyIGludGVycG9sYXRpb24gaXMgcm91bmRl
ZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5PC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0
aXRsZT0iSm9vbmdodW4gUGFyayIgaHJlZj0icGpoMDcxOEBnbWFpbC5jb20iPgorPGxpbmsgcmVs
PSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXZhbHVlcy00LyNjb21i
aW5lLWludGVnZXJzIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KKworI2ZsZXgtY29udGFpbmVyIHsKKyAgICBkaXNwbGF5OiBmbGV4
OworICAgIGFuaW1hdGlvbjogYW5pbS1vcmRlciA0cyBzdGVwcyg0KSBmb3J3YXJkcyAxOworICAg
IGFuaW1hdGlvbi1kZWxheTogLTFzOworICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7
Cit9CisKK0BrZXlmcmFtZXMgYW5pbS1vcmRlciB7CisgIGZyb20geworICAgIG9yZGVyOiAtMjsK
KyAgfQorCisgIHRvIHsKKyAgICBvcmRlcjogMDsKKyAgfQorfQorCis8L3N0eWxlPgorPGRpdiBp
ZD0iZmxleC1jb250YWluZXIiPjwvZGl2PgorPHNjcmlwdD4KK3ZhciB0ZXN0X2Rlc2NyaXB0aW9u
ID0gIkludGVnZXIgaW50ZXJwb2xhdGlvbiBzaG91bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBvc2l0
aXZlIGluZmluaXR5IjsKK3Rlc3QoCisgICAgdCA9PiB7CisgICAgICAgIGNvbnN0IGNvbnRhaW5l
ciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmbGV4LWNvbnRhaW5lciIpOworICAgICAgICBj
b25zdCBvcmRlcl92YWx1ZSA9IE51bWJlci5wYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUoY29u
dGFpbmVyKS5nZXRQcm9wZXJ0eVZhbHVlKCdvcmRlcicpKTsKKworICAgICAgICBhc3NlcnRfZXF1
YWxzKG9yZGVyX3ZhbHVlLCAtMSwgIkludGVycG9sYXRpb24gcmVzdWx0IGZvciBvcmRlciBzaG91
bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5Iik7CisgICAgfSwKKyAgICB0
ZXN0X2Rlc2NyaXB0aW9uCispOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50
ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5pdHlfel9pbmRleC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNf
cG9zaXRpdmVfaW5maW5pdHlfel9pbmRleC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTBhZjNl
ZjE5ZDAwMDhlYWNjZDg5OTRhNTJlYjMxMmRmMWZmNGQ1MAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMv
aW50ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5kX2hhbGZfdG93YXJkc19wb3NpdGl2ZV9pbmZpbml0
eV96X2luZGV4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBJbnRlZ2VyIGlu
dGVycG9sYXRpb24gc2hvdWxkIGJlIHJvdW5kZWQgdG93YXJkcyBwb3NpdGl2ZSBpbmZpbml0eQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNf
cG9zaXRpdmVfaW5maW5pdHlfel9pbmRleC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25f
cm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5X3pfaW5kZXguaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jOWIwNDJjY2I4ZjJkMDhlMDRkY2E1NmRmOTcxNWI0MDgxYzRkMTlkCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0
aXZlX2luZmluaXR5X3pfaW5kZXguaHRtbApAQCAtMCwwICsxLDM4IEBACis8IWRvY3R5cGUgaHRt
bD4KKzx0aXRsZT5UZXN0aW5nIGlmIGludGVnZXIgaW50ZXJwb2xhdGlvbiBpcyByb3VuZGVkIHRv
d2FyZHMgcG9zaXRpdmUgaW5maW5pdHk8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxl
PSJKb29uZ2h1biBQYXJrIiBocmVmPSJwamgwNzE4QGdtYWlsLmNvbSI+Cis8bGluayByZWw9Imhl
bHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdmFsdWVzLTQvI2NvbWJpbmUt
aW50ZWdlcnMiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorCisjYW5pbS10YXJnZXQgeworICBhbmltYXRpb246IGFuaW0teiA0cyBz
dGVwcyg0KSBmb3J3YXJkcyAxOworICBhbmltYXRpb24tZGVsYXk6IC0xczsKKyAgYW5pbWF0aW9u
LXBsYXktc3RhdGU6IHBhdXNlZDsKK30KKworQGtleWZyYW1lcyBhbmltLXogeworICBmcm9tIHsK
KyAgICB6LWluZGV4OiAtMjsKKyAgfQorCisgIHRvIHsKKyAgICB6LWluZGV4OiAwOworICB9Cit9
CisKKzwvc3R5bGU+Cis8ZGl2IGlkPSJhbmltLXRhcmdldCI+PC9kaXY+Cis8c2NyaXB0PgordmFy
IHRlc3RfZGVzY3JpcHRpb24gPSAiSW50ZWdlciBpbnRlcnBvbGF0aW9uIHNob3VsZCBiZSByb3Vu
ZGVkIHRvd2FyZHMgcG9zaXRpdmUgaW5maW5pdHkiOwordGVzdCgKKyAgICB0ID0+IHsKKyAgICAg
ICAgY29uc3QgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuaW0tdGFyZ2V0Iik7
CisgICAgICAgIGNvbnN0IHpfaW5kZXhfdmFsdWUgPSBOdW1iZXIucGFyc2VGbG9hdChnZXRDb21w
dXRlZFN0eWxlKHRhcmdldCkuZ2V0UHJvcGVydHlWYWx1ZSgnei1pbmRleCcpKTsKKworICAgICAg
ICBhc3NlcnRfZXF1YWxzKHpfaW5kZXhfdmFsdWUsIC0xLCAiSW50ZXJwb2xhdGlvbiByZXN1bHQg
Zm9yIHotaW5kZXggc2hvdWxkIGJlIHJvdW5kZWQgdG93YXJkcyBwb3NpdGl2ZSBpbmZpbml0eSIp
OworICAgIH0sCisgICAgdGVzdF9kZXNjcmlwdGlvbgorKTsKKzwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442165</attachid>
            <date>2021-10-22 08:31:28 -0700</date>
            <delta_ts>2021-10-22 15:15:31 -0700</delta_ts>
            <desc>Add tests for overflow check</desc>
            <filename>bug-232013-20211023003127.patch</filename>
            <type>text/plain</type>
            <size>16290</size>
            <attacher name="Joonghun Park">jh718.park</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NjAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDRiOWVmOGNmZDZmNmMxZjNhNzg0MTli
ZTRhMDk2Nzk2MGFkNjE0MzcuLmU3ZTgzYmExMmZjMWE5ZTYxMjY2YmRiZDhjZWRlZDg3ZmE0NGIx
OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMTAtMjEgIEpvb25naHVuIFBhcmsgIDxwamgw
NzE4QGdtYWlsLmNvbT4KKworICAgICAgICBJbnRlZ2VyIGludGVycG9sYXRpb24gaW4gYW5pbWF0
aW9ucyBzaG91bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5LCBub3QgYXdh
eSBmcm9tIHplcm8uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzIwMTMKKworICAgICAgICBDdXJyZW50bHksIGludGVycG9sYXRpb24gb2YgPGludGVn
ZXI+IGlzIHJvdW5kaW5nIGF3YXkgZnJvbSAwLgorICAgICAgICBUaGUgaW50ZXJwb2xhdGlvbidz
IHJlc3VsdCBzaG91bGQgYmUgcm91bmRlZCBhY2NvcmRpbmcgdG8gdGhlIHNwZWMsCisgICAgICAg
IGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdmFsdWVzLTQvI2NvbWJpbmUtaW50ZWdlcnMs
IHdoaWNoIGlzCisKKyAgICAgICAgInRoZSByZXN1bHQgaXMgY29udmVydGVkIHRvIGFuIDxpbnRl
Z2VyPiBieSByb3VuZGluZworICAgICAgICB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyLCB3aXRoIHZh
bHVlcyBoYWxmd2F5IGJldHdlZW4KKyAgICAgICAgYWRqYWNlbnQgaW50ZWdlcnMgcm91bmRlZCB0
b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5LiIKKworICAgICAgICAqIHd0Zi9NYXRoRXh0cmFzLmg6
CisgICAgICAgIChyb3VuZFRvd2FyZHNQb3NpdGl2ZUluZmluaXR5KToKKwogMjAyMS0xMC0yMCAg
QnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViS2l0IE1hbmFn
ZWQgTm90aWZpY2F0aW9uczogU2tlbGV0b24gTm90aWZpY2F0aW9uUHJvdmlkZXIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCA0NDQxNGIxZThhM2MyMTdjOWM5ODdiOWRhNGY1MzhmYTQ0ZjdhMjkzLi5mZWRlZGY5ZDBl
NDdlYzNjMjg4ZTg1Mjg3ZjIxY2ExMjRiYzgxZDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjgg
QEAKKzIwMjEtMTAtMjIgIEpvb25naHVuIFBhcmsgIDxwamgwNzE4QGdtYWlsLmNvbT4KKworICAg
ICAgICBJbnRlZ2VyIGludGVycG9sYXRpb24gaW4gYW5pbWF0aW9ucyBzaG91bGQgYmUgcm91bmRl
ZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5LCBub3QgYXdheSBmcm9tIHplcm8uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzIwMTMKKworICAgICAg
ICBDdXJyZW50bHksIGludGVycG9sYXRpb24gb2YgPGludGVnZXI+IGlzIHJvdW5kaW5nIGF3YXkg
ZnJvbSAwLgorICAgICAgICBUaGUgaW50ZXJwb2xhdGlvbidzIHJlc3VsdCBzaG91bGQgYmUgcm91
bmRlZCBhY2NvcmRpbmcgdG8gdGhlIHNwZWMsCisgICAgICAgIGh0dHBzOi8vZHJhZnRzLmNzc3dn
Lm9yZy9jc3MtdmFsdWVzLTQvI2NvbWJpbmUtaW50ZWdlcnMsIHdoaWNoIGlzCisKKyAgICAgICAg
InRoZSByZXN1bHQgaXMgY29udmVydGVkIHRvIGFuIDxpbnRlZ2VyPiBieSByb3VuZGluZworICAg
ICAgICB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyLCB3aXRoIHZhbHVlcyBoYWxmd2F5IGJldHdlZW4K
KyAgICAgICAgYWRqYWNlbnQgaW50ZWdlcnMgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmlu
aXR5LiIKKworICAgICAgICBUaGlzIHBhdGNoIGFsc28gcmVtb3ZlcyByZWR1bmRhbnQgc3RhdGlj
X2Nhc3Q8ZG91YmxlPnMKKyAgICAgICAgYW5kIHBvdGVudGlhbCBvdmVyZmxvdyhlLmcuJ3RvJyBp
cyB0aGUgbWF4aW11bSBpbnRlZ2VyIGFuZCAnZnJvbScgaXMKKyAgICAgICAgdGhlIG1pbmltdW0g
aW50ZWdlcikgZnJvbSBibGVuZCBpbiBBbmltYXRpb25VdGlsaXRpZXMuaC4KKworICAgICAgICBU
ZXN0czogYW5pbWF0aW9ucy9hbmltYXRpb24tb3JkZXItb3ZlcmZsb3cuaHRtbAorICAgICAgICAg
ICAgICAgYW5pbWF0aW9ucy9hbmltYXRpb24tei1vcmRlci1vdmVyZmxvdy5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2lu
dGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5pdHlf
b3JkZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRz
X3Bvc2l0aXZlX2luZmluaXR5X3pfaW5kZXguaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vYW5p
bWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5oOgorICAgICAgICAoV2ViQ29yZTo6YmxlbmQpOgor
CiAyMDIxLTEwLTIxICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAg
ICAgIENTU1Byb3BlcnR5Wm9vbSBuZWVkcyB3cmFwcGVyIHRoYXQgZW5zdXJlcyBpdCdzIGFsd2F5
cyBibGVuZGVkIGludG8gYSBwb3NpdGl2ZSB2YWx1ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL01hdGhFeHRyYXMuaCBiL1NvdXJjZS9XVEYvd3RmL01hdGhFeHRyYXMuaAppbmRleCA3YWRi
ODc0MmE4ZGU5ODEzNzIzZTU5MjUzMmY0YWEzMDE0NjQ4OWVkLi4wOGQ0ZWVkZTNjZTQyMjJiNGVi
ODkxYjE5Yjg1N2VlZmZjYzQxZmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9NYXRoRXh0
cmFzLmgKKysrIGIvU291cmNlL1dURi93dGYvTWF0aEV4dHJhcy5oCkBAIC0xMzYsNiArMTM2LDkg
QEAgY29uc3RleHByIGlubGluZSBkb3VibGUgZ3JhZDJyYWQoZG91YmxlIGcpIHsgcmV0dXJuIGRl
ZzJyYWQoZ3JhZDJkZWcoZykpOyB9CiBjb25zdGV4cHIgaW5saW5lIGZsb2F0IHJhZDJncmFkKGZs
b2F0IHIpIHsgcmV0dXJuIGRlZzJncmFkKHJhZDJkZWcocikpOyB9CiBjb25zdGV4cHIgaW5saW5l
IGZsb2F0IGdyYWQycmFkKGZsb2F0IGcpIHsgcmV0dXJuIGRlZzJyYWQoZ3JhZDJkZWcoZykpOyB9
CiAKK2lubGluZSBkb3VibGUgcm91bmRUb3dhcmRzUG9zaXRpdmVJbmZpbml0eShkb3VibGUgdmFs
dWUpIHsgcmV0dXJuIHN0ZDo6Zmxvb3IodmFsdWUgKyAwLjUpOyB9CitpbmxpbmUgZmxvYXQgcm91
bmRUb3dhcmRzUG9zaXRpdmVJbmZpbml0eShmbG9hdCB2YWx1ZSkgeyByZXR1cm4gc3RkOjpmbG9v
cih2YWx1ZSArIDAuNWYpOyB9CisKIC8vIHN0ZDo6bnVtZXJpY19saW1pdHM8VD46Om1pbigpIHJl
dHVybnMgdGhlIHNtYWxsZXN0IHBvc2l0aXZlIHZhbHVlIGZvciBmbG9hdGluZyBwb2ludCB0eXBl
cwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gY29uc3RleHByIFQgZGVmYXVsdE1pbmltdW1Gb3JDbGFt
cCgpIHsgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8VD46Om1pbigpOyB9CiB0ZW1wbGF0ZTw+
IGNvbnN0ZXhwciBmbG9hdCBkZWZhdWx0TWluaW11bUZvckNsYW1wKCkgeyByZXR1cm4gLXN0ZDo6
bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjptYXgoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5oCmluZGV4IDBlYzIyNDhi
OWFlYWM4ZGM4YjdiOTQ1NGNjYTAwNmRiNDZhZGNmZjYuLmI3YzQzYzZlNzk1Yzg3ODdlZTllNTkz
NDdiNjg5YzI5NDBjNjMyODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Fu
aW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hbmltYXRpb24vQW5pbWF0aW9uVXRpbGl0aWVzLmgKQEAgLTQ1LDEzICs0NSwxMyBAQCBzdHJ1
Y3QgQmxlbmRpbmdDb250ZXh0IHsKIH07CiAKIGlubGluZSBpbnQgYmxlbmQoaW50IGZyb20sIGlu
dCB0bywgY29uc3QgQmxlbmRpbmdDb250ZXh0JiBjb250ZXh0KQoteyAgCi0gICAgcmV0dXJuIHN0
YXRpY19jYXN0PGludD4obHJvdW5kKHN0YXRpY19jYXN0PGRvdWJsZT4oZnJvbSkgKyBzdGF0aWNf
Y2FzdDxkb3VibGU+KHRvIC0gZnJvbSkgKiBjb250ZXh0LnByb2dyZXNzKSk7Cit7CisgICAgcmV0
dXJuIHN0YXRpY19jYXN0PGludD4ocm91bmRUb3dhcmRzUG9zaXRpdmVJbmZpbml0eShmcm9tICsg
KHN0YXRpY19jYXN0PGRvdWJsZT4odG8pIC0gZnJvbSkgKiBjb250ZXh0LnByb2dyZXNzKSk7CiB9
CiAKIGlubGluZSB1bnNpZ25lZCBibGVuZCh1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCB0bywgY29u
c3QgQmxlbmRpbmdDb250ZXh0JiBjb250ZXh0KQogewotICAgIHJldHVybiBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4obHJvdW5kKHRvID4gZnJvbSA/IHN0YXRpY19jYXN0PGRvdWJsZT4oZnJvbSkgKyBz
dGF0aWNfY2FzdDxkb3VibGU+KHRvIC0gZnJvbSkgKiBjb250ZXh0LnByb2dyZXNzIDogc3RhdGlj
X2Nhc3Q8ZG91YmxlPihmcm9tKSAtIHN0YXRpY19jYXN0PGRvdWJsZT4oZnJvbSAtIHRvKSAqIGNv
bnRleHQucHJvZ3Jlc3MpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGxyb3Vu
ZCh0byA+IGZyb20gPyBmcm9tICsgKHN0YXRpY19jYXN0PGRvdWJsZT4odG8pIC0gZnJvbSkgKiBj
b250ZXh0LnByb2dyZXNzIDogZnJvbSAtIChzdGF0aWNfY2FzdDxkb3VibGU+KGZyb20pIC0gdG8p
ICogY29udGV4dC5wcm9ncmVzcykpOwogfQogCiBpbmxpbmUgZG91YmxlIGJsZW5kKGRvdWJsZSBm
cm9tLCBkb3VibGUgdG8sIGNvbnN0IEJsZW5kaW5nQ29udGV4dCYgY29udGV4dCkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBm
ZmZhODczMmFlYzY5NTY1MzkzMzA3ZDMzZTQ3MjQwNDdjZTc0MDNkLi44MWRiYzgzMDdjYjBjMzA1
Y2M0YmUwMDlhYzE2NTkyOTI0ODYyYzA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjEtMTAt
MjIgIEpvb25naHVuIFBhcmsgIDxwamgwNzE4QGdtYWlsLmNvbT4KKworICAgICAgICBJbnRlZ2Vy
IGludGVycG9sYXRpb24gaW4gYW5pbWF0aW9ucyBzaG91bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBv
c2l0aXZlIGluZmluaXR5LCBub3QgYXdheSBmcm9tIHplcm8uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzIwMTMKKworICAgICAgICBDdXJyZW50bHks
IGludGVycG9sYXRpb24gb2YgPGludGVnZXI+IGlzIHJvdW5kaW5nIGF3YXkgZnJvbSAwLgorICAg
ICAgICBUaGUgaW50ZXJwb2xhdGlvbidzIHJlc3VsdCBzaG91bGQgYmUgcm91bmRlZCBhY2NvcmRp
bmcgdG8gdGhlIHNwZWMsCisgICAgICAgIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdmFs
dWVzLTQvI2NvbWJpbmUtaW50ZWdlcnMsIHdoaWNoIGlzCisKKyAgICAgICAgInRoZSByZXN1bHQg
aXMgY29udmVydGVkIHRvIGFuIDxpbnRlZ2VyPiBieSByb3VuZGluZworICAgICAgICB0byB0aGUg
bmVhcmVzdCBpbnRlZ2VyLCB3aXRoIHZhbHVlcyBoYWxmd2F5IGJldHdlZW4KKyAgICAgICAgYWRq
YWNlbnQgaW50ZWdlcnMgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5LiIKKworICAg
ICAgICBUaGlzIHBhdGNoIGFsc28gcmVtb3ZlcyByZWR1bmRhbnQgc3RhdGljX2Nhc3Q8ZG91Ymxl
PnMKKyAgICAgICAgYW5kIHBvdGVudGlhbCBvdmVyZmxvdyhlLmcuJ3RvJyBpcyB0aGUgbWF4aW11
bSBpbnRlZ2VyIGFuZCAnZnJvbScgaXMKKyAgICAgICAgdGhlIG1pbmltdW0gaW50ZWdlcikgZnJv
bSBibGVuZCBpbiBBbmltYXRpb25VdGlsaXRpZXMuaC4KKworICAgICAgICAqIGFuaW1hdGlvbnMv
YW5pbWF0aW9uLW9yZGVyLW92ZXJmbG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
YW5pbWF0aW9ucy9hbmltYXRpb24tb3JkZXItb3ZlcmZsb3cuaHRtbDogQWRkZWQuCisgICAgICAg
ICogYW5pbWF0aW9ucy9hbmltYXRpb24tei1vcmRlci1vdmVyZmxvdy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGFuaW1hdGlvbnMvYW5pbWF0aW9uLXotb3JkZXItb3ZlcmZsb3cuaHRt
bDogQWRkZWQuCisKIDIwMjEtMTAtMjEgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgQ1NTUHJvcGVydHlab29tIG5lZWRzIHdyYXBwZXIgdGhhdCBlbnN1cmVz
IGl0J3MgYWx3YXlzIGJsZW5kZWQgaW50byBhIHBvc2l0aXZlIHZhbHVlLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKaW5kZXggMzhhNTYwYTNkY2FjMzI5NDg5Y2RkM2YxMjI1ZTFjNjdkZTJj
YjQ4NC4uMjY2MmU0ODU3Njk0YTEyYjg2OTllZTEyMjE4Y2U1OGNhNTVjMWNmMCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjEtMTAtMjEgIEpvb25n
aHVuIFBhcmsgIDxwamgwNzE4QGdtYWlsLmNvbT4KKworICAgICAgICBJbnRlZ2VyIGludGVycG9s
YXRpb24gaW4gYW5pbWF0aW9ucyBzaG91bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGlu
ZmluaXR5LCBub3QgYXdheSBmcm9tIHplcm8uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzIwMTMKKworICAgICAgICBDdXJyZW50bHksIGludGVycG9s
YXRpb24gb2YgPGludGVnZXI+IGlzIHJvdW5kaW5nIGF3YXkgZnJvbSAwLgorICAgICAgICBUaGUg
aW50ZXJwb2xhdGlvbidzIHJlc3VsdCBzaG91bGQgYmUgcm91bmRlZCBhY2NvcmRpbmcgdG8gdGhl
IHNwZWMsCisgICAgICAgIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdmFsdWVzLTQvI2Nv
bWJpbmUtaW50ZWdlcnMsIHdoaWNoIGlzCisKKyAgICAgICAgInRoZSByZXN1bHQgaXMgY29udmVy
dGVkIHRvIGFuIDxpbnRlZ2VyPiBieSByb3VuZGluZworICAgICAgICB0byB0aGUgbmVhcmVzdCBp
bnRlZ2VyLCB3aXRoIHZhbHVlcyBoYWxmd2F5IGJldHdlZW4KKyAgICAgICAgYWRqYWNlbnQgaW50
ZWdlcnMgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5LiIKKworICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0
aXZlX2luZmluaXR5X29yZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9o
YWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5pdHlfb3JkZXIuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlv
bl9yb3VuZF9oYWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5pdHlfel9pbmRleC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9p
bnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5
X3pfaW5kZXguaHRtbDogQWRkZWQuCisKIDIwMjEtMTAtMjAgIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBVUkxQYXJzZXIgc2hvdWxkIHJlamVj
dCBob3N0cyB3aXRoIEMwIGNvbnRyb2wgY2hhcmFjdGVycyBvciBVKzAwN0YKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2FuaW1hdGlvbnMvYW5pbWF0aW9uLW9yZGVyLW92ZXJmbG93LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvYW5pbWF0aW9uLW9yZGVyLW92ZXJmbG93LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMGFmM2VmMTlkMDAwOGVhY2NkODk5NGE1MmViMzEyZGYx
ZmY0ZDUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9hbmltYXRp
b24tb3JkZXItb3ZlcmZsb3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIElu
dGVnZXIgaW50ZXJwb2xhdGlvbiBzaG91bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGlu
ZmluaXR5CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvYW5pbWF0aW9uLW9y
ZGVyLW92ZXJmbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL2FuaW1hdGlvbi1vcmRl
ci1vdmVyZmxvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2YWZhOGZiYzVkNjU5NWM5ZDQyZjE4ZTMxZDYw
OThmYzc1NjIyZDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL2Fu
aW1hdGlvbi1vcmRlci1vdmVyZmxvdy5odG1sCkBAIC0wLDAgKzEsMzggQEAKKzwhZG9jdHlwZSBo
dG1sPgorPHRpdGxlPlRlc3RpbmcgaWYgaW50ZWdlciBpbnRlcnBvbGF0aW9uIGlzIG92ZXJmbG93
ZWQgZm9yIDMyYml0IGludGVnZXIgdHlwZSBtaW4vbWF4IHZhbHVlPC90aXRsZT4KKzxsaW5rIHJl
bD0iYXV0aG9yIiB0aXRsZT0iSm9vbmdodW4gUGFyayIgaHJlZj0icGpoMDcxOEBnbWFpbC5jb20i
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KKworI2ZsZXgtY29udGFpbmVyIHsKKyAgICBkaXNwbGF5OiBmbGV4OworICAgIGFu
aW1hdGlvbjogYW5pbS1vcmRlciA0cyBzdGVwcyg0KSBmb3J3YXJkcyAxOworICAgIGFuaW1hdGlv
bi1kZWxheTogLTNzOworICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7Cit9CisKK0Br
ZXlmcmFtZXMgYW5pbS1vcmRlciB7CisgIGZyb20geworICAgIG9yZGVyOiAtMjE0NzQ4MzY0NzsK
KyAgfQorCisgIHRvIHsKKyAgICBvcmRlcjogMjE0NzQ4MzY0NzsKKyAgfQorfQorCis8L3N0eWxl
PgorPGRpdiBpZD0iZmxleC1jb250YWluZXIiPjwvZGl2PgorPHNjcmlwdD4KK3ZhciB0ZXN0X2Rl
c2NyaXB0aW9uID0gIkludGVnZXIgaW50ZXJwb2xhdGlvbiBzaG91bGQgYmUgcm91bmRlZCB0b3dh
cmRzIHBvc2l0aXZlIGluZmluaXR5IjsKK3Rlc3QoCisgICAgdCA9PiB7CisgICAgICAgIGNvbnN0
IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmbGV4LWNvbnRhaW5lciIpOwor
ICAgICAgICBjb25zdCBvcmRlcl92YWx1ZSA9IE51bWJlci5wYXJzZUZsb2F0KGdldENvbXB1dGVk
U3R5bGUoY29udGFpbmVyKS5nZXRQcm9wZXJ0eVZhbHVlKCdvcmRlcicpKTsKKworICAgICAgICBh
c3NlcnRfZ3JlYXRlcl90aGFuKG9yZGVyX3ZhbHVlLCAwLCAiSW50ZXJwb2xhdGlvbiByZXN1bHQg
Zm9yIHotaW5kZXggc2hvdWxkIGJlIHBvc2l0aXZlIGludGVnZXIiKTsKKyAgICB9LAorICAgIHRl
c3RfZGVzY3JpcHRpb24KKyk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Fu
aW1hdGlvbnMvYW5pbWF0aW9uLXotb3JkZXItb3ZlcmZsb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvYW5pbWF0aW9ucy9hbmltYXRpb24tei1vcmRlci1vdmVyZmxvdy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZTBhZjNlZjE5ZDAwMDhlYWNjZDg5OTRhNTJlYjMxMmRmMWZmNGQ1MAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvYW5pbWF0aW9uLXotb3JkZXIt
b3ZlcmZsb3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEludGVnZXIgaW50
ZXJwb2xhdGlvbiBzaG91bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5CisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvYW5pbWF0aW9uLXotb3JkZXItb3Zl
cmZsb3cuaHRtbCBiL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvYW5pbWF0aW9uLXotb3JkZXItb3Zl
cmZsb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNmU1NDdhZDk5OTEwMDU1MjliNDVhNjQzNDQ2MmU1YzQy
MWRmZmIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9hbmltYXRp
b24tei1vcmRlci1vdmVyZmxvdy5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhZG9jdHlwZSBodG1s
PgorPHRpdGxlPlRlc3RpbmcgaWYgaW50ZWdlciBpbnRlcnBvbGF0aW9uIGlzIG92ZXJmbG93ZWQg
Zm9yIDMyYml0IGludGVnZXIgdHlwZSBtaW4vbWF4IHZhbHVlPC90aXRsZT4KKzxsaW5rIHJlbD0i
YXV0aG9yIiB0aXRsZT0iSm9vbmdodW4gUGFyayIgaHJlZj0icGpoMDcxOEBnbWFpbC5jb20iPgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KKworI2FuaW0tdGFyZ2V0IHsKKyAgYW5pbWF0aW9uOiBhbmltLXogNHMgc3RlcHMoNCkg
Zm9yd2FyZHMgMTsKKyAgYW5pbWF0aW9uLWRlbGF5OiAtM3M7CisgIGFuaW1hdGlvbi1wbGF5LXN0
YXRlOiBwYXVzZWQ7Cit9CisKK0BrZXlmcmFtZXMgYW5pbS16IHsKKyAgZnJvbSB7CisgICAgei1p
bmRleDogLTIxNDc0ODM2NDc7CisgIH0KKworICB0byB7CisgICAgei1pbmRleDogMjE0NzQ4MzY0
NzsKKyAgfQorfQorCis8L3N0eWxlPgorPGRpdiBpZD0iYW5pbS10YXJnZXQiPjwvZGl2PgorPHNj
cmlwdD4KK3ZhciB0ZXN0X2Rlc2NyaXB0aW9uID0gIkludGVnZXIgaW50ZXJwb2xhdGlvbiBzaG91
bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5IjsKK3Rlc3QoCisgICAgdCA9
PiB7CisgICAgICAgIGNvbnN0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhbmlt
LXRhcmdldCIpOworICAgICAgICBjb25zdCB6X2luZGV4X3ZhbHVlID0gTnVtYmVyLnBhcnNlRmxv
YXQoZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXQpLmdldFByb3BlcnR5VmFsdWUoJ3otaW5kZXgnKSk7
CisKKyAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbih6X2luZGV4X3ZhbHVlLCAwLCAiSW50ZXJw
b2xhdGlvbiByZXN1bHQgZm9yIHotaW5kZXggc2hvdWxkIGJlIHBvc2l0aXZlIGludGVnZXIiKTsK
KyAgICB9LAorICAgIHRlc3RfZGVzY3JpcHRpb24KKyk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1
ZXMvaW50ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5kX2hhbGZfdG93YXJkc19wb3NpdGl2ZV9pbmZp
bml0eV9vcmRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9o
YWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5pdHlfb3JkZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmUwYWYzZWYxOWQwMDA4ZWFjY2Q4OTk0YTUyZWIzMTJkZjFmZjRkNTAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNfcG9zaXRp
dmVfaW5maW5pdHlfb3JkZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIElu
dGVnZXIgaW50ZXJwb2xhdGlvbiBzaG91bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGlu
ZmluaXR5CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5kX2hhbGZf
dG93YXJkc19wb3NpdGl2ZV9pbmZpbml0eV9vcmRlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9s
YXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5X29yZGVyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjBjNDM5ZWJjZjRjYjVlNmU3YTQxMjMyNmI0MzMzYTE2M2E2YmQ2MAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5kX2hhbGZfdG93YXJkc19w
b3NpdGl2ZV9pbmZpbml0eV9vcmRlci5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzwhZG9jdHlwZSBo
dG1sPgorPHRpdGxlPlRlc3RpbmcgaWYgaW50ZWdlciBpbnRlcnBvbGF0aW9uIGlzIHJvdW5kZWQg
dG93YXJkcyBwb3NpdGl2ZSBpbmZpbml0eTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0
bGU9Ikpvb25naHVuIFBhcmsiIGhyZWY9InBqaDA3MThAZ21haWwuY29tIj4KKzxsaW5rIHJlbD0i
aGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy12YWx1ZXMtNC8jY29tYmlu
ZS1pbnRlZ2VycyI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CisKKyNmbGV4LWNvbnRhaW5lciB7CisgICAgZGlzcGxheTogZmxleDsK
KyAgICBhbmltYXRpb246IGFuaW0tb3JkZXIgNHMgc3RlcHMoNCkgZm9yd2FyZHMgMTsKKyAgICBh
bmltYXRpb24tZGVsYXk6IC0xczsKKyAgICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkOwor
fQorCitAa2V5ZnJhbWVzIGFuaW0tb3JkZXIgeworICBmcm9tIHsKKyAgICBvcmRlcjogLTI7Cisg
IH0KKworICB0byB7CisgICAgb3JkZXI6IDA7CisgIH0KK30KKworPC9zdHlsZT4KKzxkaXYgaWQ9
ImZsZXgtY29udGFpbmVyIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgdGVzdF9kZXNjcmlwdGlvbiA9
ICJJbnRlZ2VyIGludGVycG9sYXRpb24gc2hvdWxkIGJlIHJvdW5kZWQgdG93YXJkcyBwb3NpdGl2
ZSBpbmZpbml0eSI7Cit0ZXN0KAorICAgIHQgPT4geworICAgICAgICBjb25zdCBjb250YWluZXIg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmxleC1jb250YWluZXIiKTsKKyAgICAgICAgY29u
c3Qgb3JkZXJfdmFsdWUgPSBOdW1iZXIucGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKGNvbnRh
aW5lcikuZ2V0UHJvcGVydHlWYWx1ZSgnb3JkZXInKSk7CisKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhvcmRlcl92YWx1ZSwgLTEsICJJbnRlcnBvbGF0aW9uIHJlc3VsdCBmb3Igb3JkZXIgc2hvdWxk
IGJlIHJvdW5kZWQgdG93YXJkcyBwb3NpdGl2ZSBpbmZpbml0eSIpOworICAgIH0sCisgICAgdGVz
dF9kZXNjcmlwdGlvbgorKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVy
cG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5X3pfaW5kZXgtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bv
c2l0aXZlX2luZmluaXR5X3pfaW5kZXgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUwYWYzZWYx
OWQwMDA4ZWFjY2Q4OTk0YTUyZWIzMTJkZjFmZjRkNTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2lu
dGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5pdHlf
el9pbmRleC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgSW50ZWdlciBpbnRl
cnBvbGF0aW9uIHNob3VsZCBiZSByb3VuZGVkIHRvd2FyZHMgcG9zaXRpdmUgaW5maW5pdHkKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bv
c2l0aXZlX2luZmluaXR5X3pfaW5kZXguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0aW9uX3Jv
dW5kX2hhbGZfdG93YXJkc19wb3NpdGl2ZV9pbmZpbml0eV96X2luZGV4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYzliMDQyY2NiOGYyZDA4ZTA0ZGNhNTZkZjk3MTViNDA4MWM0ZDE5ZAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5kX2hhbGZfdG93YXJkc19wb3NpdGl2
ZV9pbmZpbml0eV96X2luZGV4Lmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFkb2N0eXBlIGh0bWw+
Cis8dGl0bGU+VGVzdGluZyBpZiBpbnRlZ2VyIGludGVycG9sYXRpb24gaXMgcm91bmRlZCB0b3dh
cmRzIHBvc2l0aXZlIGluZmluaXR5PC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0i
Sm9vbmdodW4gUGFyayIgaHJlZj0icGpoMDcxOEBnbWFpbC5jb20iPgorPGxpbmsgcmVsPSJoZWxw
IiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXZhbHVlcy00LyNjb21iaW5lLWlu
dGVnZXJzIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzdHlsZT4KKworI2FuaW0tdGFyZ2V0IHsKKyAgYW5pbWF0aW9uOiBhbmltLXogNHMgc3Rl
cHMoNCkgZm9yd2FyZHMgMTsKKyAgYW5pbWF0aW9uLWRlbGF5OiAtMXM7CisgIGFuaW1hdGlvbi1w
bGF5LXN0YXRlOiBwYXVzZWQ7Cit9CisKK0BrZXlmcmFtZXMgYW5pbS16IHsKKyAgZnJvbSB7Cisg
ICAgei1pbmRleDogLTI7CisgIH0KKworICB0byB7CisgICAgei1pbmRleDogMDsKKyAgfQorfQor
Cis8L3N0eWxlPgorPGRpdiBpZD0iYW5pbS10YXJnZXQiPjwvZGl2PgorPHNjcmlwdD4KK3ZhciB0
ZXN0X2Rlc2NyaXB0aW9uID0gIkludGVnZXIgaW50ZXJwb2xhdGlvbiBzaG91bGQgYmUgcm91bmRl
ZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5IjsKK3Rlc3QoCisgICAgdCA9PiB7CisgICAgICAg
IGNvbnN0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhbmltLXRhcmdldCIpOwor
ICAgICAgICBjb25zdCB6X2luZGV4X3ZhbHVlID0gTnVtYmVyLnBhcnNlRmxvYXQoZ2V0Q29tcHV0
ZWRTdHlsZSh0YXJnZXQpLmdldFByb3BlcnR5VmFsdWUoJ3otaW5kZXgnKSk7CisKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyh6X2luZGV4X3ZhbHVlLCAtMSwgIkludGVycG9sYXRpb24gcmVzdWx0IGZv
ciB6LWluZGV4IHNob3VsZCBiZSByb3VuZGVkIHRvd2FyZHMgcG9zaXRpdmUgaW5maW5pdHkiKTsK
KyAgICB9LAorICAgIHRlc3RfZGVzY3JpcHRpb24KKyk7Cis8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442202</attachid>
            <date>2021-10-22 15:15:36 -0700</date>
            <delta_ts>2021-10-22 16:22:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232013-20211023071535.patch</filename>
            <type>text/plain</type>
            <size>16398</size>
            <attacher name="Joonghun Park">jh718.park</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NjAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDRiOWVmOGNmZDZmNmMxZjNhNzg0MTli
ZTRhMDk2Nzk2MGFkNjE0MzcuLmM2NDJiMzFhZWE5OWVhNzEzMzJlMDNlZTRhZTU4YWU2OGJkNjcy
NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjEtMTAtMjIgIEpvb25naHVuIFBhcmsgIDxwamgw
NzE4QGdtYWlsLmNvbT4KKworICAgICAgICBJbnRlZ2VyIGludGVycG9sYXRpb24gaW4gYW5pbWF0
aW9ucyBzaG91bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5LCBub3QgYXdh
eSBmcm9tIHplcm8uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzIwMTMKKworICAgICAgICBDdXJyZW50bHksIGludGVycG9sYXRpb24gb2YgPGludGVn
ZXI+IGlzIHJvdW5kaW5nIGF3YXkgZnJvbSAwLgorICAgICAgICBUaGUgaW50ZXJwb2xhdGlvbidz
IHJlc3VsdCBzaG91bGQgYmUgcm91bmRlZCBhY2NvcmRpbmcgdG8gdGhlIHNwZWMsCisgICAgICAg
IGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdmFsdWVzLTQvI2NvbWJpbmUtaW50ZWdlcnMs
IHdoaWNoIGlzCisKKyAgICAgICAgInRoZSByZXN1bHQgaXMgY29udmVydGVkIHRvIGFuIDxpbnRl
Z2VyPiBieSByb3VuZGluZworICAgICAgICB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyLCB3aXRoIHZh
bHVlcyBoYWxmd2F5IGJldHdlZW4KKyAgICAgICAgYWRqYWNlbnQgaW50ZWdlcnMgcm91bmRlZCB0
b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5LiIKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBB
ZGxlci4KKworICAgICAgICAqIHd0Zi9NYXRoRXh0cmFzLmg6CisgICAgICAgIChyb3VuZFRvd2Fy
ZHNQb3NpdGl2ZUluZmluaXR5KToKKwogMjAyMS0xMC0yMCAgQnJhZHkgRWlkc29uICA8YmVpZHNv
bkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViS2l0IE1hbmFnZWQgTm90aWZpY2F0aW9uczogU2tl
bGV0b24gTm90aWZpY2F0aW9uUHJvdmlkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0NDQxNGIxZThhM2MyMTdj
OWM5ODdiOWRhNGY1MzhmYTQ0ZjdhMjkzLi42YzBmZTU1NjY1ZGExYWJhNzgyZGY1ZDQyZjA4M2Y1
ZjliNmQ0ZmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMjEtMTAtMjIgIEpvb25n
aHVuIFBhcmsgIDxwamgwNzE4QGdtYWlsLmNvbT4KKworICAgICAgICBJbnRlZ2VyIGludGVycG9s
YXRpb24gaW4gYW5pbWF0aW9ucyBzaG91bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGlu
ZmluaXR5LCBub3QgYXdheSBmcm9tIHplcm8uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzIwMTMKKworICAgICAgICBDdXJyZW50bHksIGludGVycG9s
YXRpb24gb2YgPGludGVnZXI+IGlzIHJvdW5kaW5nIGF3YXkgZnJvbSAwLgorICAgICAgICBUaGUg
aW50ZXJwb2xhdGlvbidzIHJlc3VsdCBzaG91bGQgYmUgcm91bmRlZCBhY2NvcmRpbmcgdG8gdGhl
IHNwZWMsCisgICAgICAgIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdmFsdWVzLTQvI2Nv
bWJpbmUtaW50ZWdlcnMsIHdoaWNoIGlzCisKKyAgICAgICAgInRoZSByZXN1bHQgaXMgY29udmVy
dGVkIHRvIGFuIDxpbnRlZ2VyPiBieSByb3VuZGluZworICAgICAgICB0byB0aGUgbmVhcmVzdCBp
bnRlZ2VyLCB3aXRoIHZhbHVlcyBoYWxmd2F5IGJldHdlZW4KKyAgICAgICAgYWRqYWNlbnQgaW50
ZWdlcnMgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5LiIKKworICAgICAgICBUaGlz
IHBhdGNoIGFsc28gcmVtb3ZlcyByZWR1bmRhbnQgc3RhdGljX2Nhc3Q8ZG91YmxlPnMKKyAgICAg
ICAgYW5kIHBvdGVudGlhbCBvdmVyZmxvdyhlLmcuJ3RvJyBpcyB0aGUgbWF4aW11bSBpbnRlZ2Vy
IGFuZCAnZnJvbScgaXMKKyAgICAgICAgdGhlIG1pbmltdW0gaW50ZWdlcikgZnJvbSBibGVuZCBp
biBBbmltYXRpb25VdGlsaXRpZXMuaC4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxl
ci4KKworICAgICAgICBUZXN0czogYW5pbWF0aW9ucy9hbmltYXRpb24tb3JkZXItb3ZlcmZsb3cu
aHRtbAorICAgICAgICAgICAgICAgYW5pbWF0aW9ucy9hbmltYXRpb24tei1vcmRlci1vdmVyZmxv
dy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNfcG9z
aXRpdmVfaW5maW5pdHlfb3JkZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91
bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5X3pfaW5kZXguaHRtbAorCisgICAgICAg
ICogcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5oOgorICAgICAgICAoV2Vi
Q29yZTo6YmxlbmQpOgorCiAyMDIxLTEwLTIxICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJr
aXQub3JnPgogCiAgICAgICAgIENTU1Byb3BlcnR5Wm9vbSBuZWVkcyB3cmFwcGVyIHRoYXQgZW5z
dXJlcyBpdCdzIGFsd2F5cyBibGVuZGVkIGludG8gYSBwb3NpdGl2ZSB2YWx1ZS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL01hdGhFeHRyYXMuaCBiL1NvdXJjZS9XVEYvd3RmL01hdGhFeHRy
YXMuaAppbmRleCA3YWRiODc0MmE4ZGU5ODEzNzIzZTU5MjUzMmY0YWEzMDE0NjQ4OWVkLi4wOGQ0
ZWVkZTNjZTQyMjJiNGViODkxYjE5Yjg1N2VlZmZjYzQxZmFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9NYXRoRXh0cmFzLmgKKysrIGIvU291cmNlL1dURi93dGYvTWF0aEV4dHJhcy5oCkBA
IC0xMzYsNiArMTM2LDkgQEAgY29uc3RleHByIGlubGluZSBkb3VibGUgZ3JhZDJyYWQoZG91Ymxl
IGcpIHsgcmV0dXJuIGRlZzJyYWQoZ3JhZDJkZWcoZykpOyB9CiBjb25zdGV4cHIgaW5saW5lIGZs
b2F0IHJhZDJncmFkKGZsb2F0IHIpIHsgcmV0dXJuIGRlZzJncmFkKHJhZDJkZWcocikpOyB9CiBj
b25zdGV4cHIgaW5saW5lIGZsb2F0IGdyYWQycmFkKGZsb2F0IGcpIHsgcmV0dXJuIGRlZzJyYWQo
Z3JhZDJkZWcoZykpOyB9CiAKK2lubGluZSBkb3VibGUgcm91bmRUb3dhcmRzUG9zaXRpdmVJbmZp
bml0eShkb3VibGUgdmFsdWUpIHsgcmV0dXJuIHN0ZDo6Zmxvb3IodmFsdWUgKyAwLjUpOyB9Citp
bmxpbmUgZmxvYXQgcm91bmRUb3dhcmRzUG9zaXRpdmVJbmZpbml0eShmbG9hdCB2YWx1ZSkgeyBy
ZXR1cm4gc3RkOjpmbG9vcih2YWx1ZSArIDAuNWYpOyB9CisKIC8vIHN0ZDo6bnVtZXJpY19saW1p
dHM8VD46Om1pbigpIHJldHVybnMgdGhlIHNtYWxsZXN0IHBvc2l0aXZlIHZhbHVlIGZvciBmbG9h
dGluZyBwb2ludCB0eXBlcwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gY29uc3RleHByIFQgZGVmYXVs
dE1pbmltdW1Gb3JDbGFtcCgpIHsgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8VD46Om1pbigp
OyB9CiB0ZW1wbGF0ZTw+IGNvbnN0ZXhwciBmbG9hdCBkZWZhdWx0TWluaW11bUZvckNsYW1wKCkg
eyByZXR1cm4gLXN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjptYXgoKTsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5o
CmluZGV4IDBlYzIyNDhiOWFlYWM4ZGM4YjdiOTQ1NGNjYTAwNmRiNDZhZGNmZjYuLmI3YzQzYzZl
Nzk1Yzg3ODdlZTllNTkzNDdiNjg5YzI5NDBjNjMyODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uVXRpbGl0aWVzLmgKQEAgLTQ1LDEz
ICs0NSwxMyBAQCBzdHJ1Y3QgQmxlbmRpbmdDb250ZXh0IHsKIH07CiAKIGlubGluZSBpbnQgYmxl
bmQoaW50IGZyb20sIGludCB0bywgY29uc3QgQmxlbmRpbmdDb250ZXh0JiBjb250ZXh0KQoteyAg
Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4obHJvdW5kKHN0YXRpY19jYXN0PGRvdWJsZT4o
ZnJvbSkgKyBzdGF0aWNfY2FzdDxkb3VibGU+KHRvIC0gZnJvbSkgKiBjb250ZXh0LnByb2dyZXNz
KSk7Cit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4ocm91bmRUb3dhcmRzUG9zaXRpdmVJ
bmZpbml0eShmcm9tICsgKHN0YXRpY19jYXN0PGRvdWJsZT4odG8pIC0gZnJvbSkgKiBjb250ZXh0
LnByb2dyZXNzKSk7CiB9CiAKIGlubGluZSB1bnNpZ25lZCBibGVuZCh1bnNpZ25lZCBmcm9tLCB1
bnNpZ25lZCB0bywgY29uc3QgQmxlbmRpbmdDb250ZXh0JiBjb250ZXh0KQogewotICAgIHJldHVy
biBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obHJvdW5kKHRvID4gZnJvbSA/IHN0YXRpY19jYXN0PGRv
dWJsZT4oZnJvbSkgKyBzdGF0aWNfY2FzdDxkb3VibGU+KHRvIC0gZnJvbSkgKiBjb250ZXh0LnBy
b2dyZXNzIDogc3RhdGljX2Nhc3Q8ZG91YmxlPihmcm9tKSAtIHN0YXRpY19jYXN0PGRvdWJsZT4o
ZnJvbSAtIHRvKSAqIGNvbnRleHQucHJvZ3Jlc3MpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KGxyb3VuZCh0byA+IGZyb20gPyBmcm9tICsgKHN0YXRpY19jYXN0PGRvdWJsZT4o
dG8pIC0gZnJvbSkgKiBjb250ZXh0LnByb2dyZXNzIDogZnJvbSAtIChzdGF0aWNfY2FzdDxkb3Vi
bGU+KGZyb20pIC0gdG8pICogY29udGV4dC5wcm9ncmVzcykpOwogfQogCiBpbmxpbmUgZG91Ymxl
IGJsZW5kKGRvdWJsZSBmcm9tLCBkb3VibGUgdG8sIGNvbnN0IEJsZW5kaW5nQ29udGV4dCYgY29u
dGV4dCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCBmZmZhODczMmFlYzY5NTY1MzkzMzA3ZDMzZTQ3MjQwNDdjZTc0MDNkLi43
MGY1NTFiMzhkMDRhYmU4NDQ2ZTk2ODY4YzJlNDhjZjg0MTc2NDNjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjcgQEAKKzIwMjEtMTAtMjIgIEpvb25naHVuIFBhcmsgIDxwamgwNzE4QGdtYWlsLmNvbT4KKwor
ICAgICAgICBJbnRlZ2VyIGludGVycG9sYXRpb24gaW4gYW5pbWF0aW9ucyBzaG91bGQgYmUgcm91
bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5LCBub3QgYXdheSBmcm9tIHplcm8uCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzIwMTMKKworICAg
ICAgICBDdXJyZW50bHksIGludGVycG9sYXRpb24gb2YgPGludGVnZXI+IGlzIHJvdW5kaW5nIGF3
YXkgZnJvbSAwLgorICAgICAgICBUaGUgaW50ZXJwb2xhdGlvbidzIHJlc3VsdCBzaG91bGQgYmUg
cm91bmRlZCBhY2NvcmRpbmcgdG8gdGhlIHNwZWMsCisgICAgICAgIGh0dHBzOi8vZHJhZnRzLmNz
c3dnLm9yZy9jc3MtdmFsdWVzLTQvI2NvbWJpbmUtaW50ZWdlcnMsIHdoaWNoIGlzCisKKyAgICAg
ICAgInRoZSByZXN1bHQgaXMgY29udmVydGVkIHRvIGFuIDxpbnRlZ2VyPiBieSByb3VuZGluZwor
ICAgICAgICB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyLCB3aXRoIHZhbHVlcyBoYWxmd2F5IGJldHdl
ZW4KKyAgICAgICAgYWRqYWNlbnQgaW50ZWdlcnMgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGlu
ZmluaXR5LiIKKworICAgICAgICBUaGlzIHBhdGNoIGFsc28gcmVtb3ZlcyByZWR1bmRhbnQgc3Rh
dGljX2Nhc3Q8ZG91YmxlPnMKKyAgICAgICAgYW5kIHBvdGVudGlhbCBvdmVyZmxvdyhlLmcuJ3Rv
JyBpcyB0aGUgbWF4aW11bSBpbnRlZ2VyIGFuZCAnZnJvbScgaXMKKyAgICAgICAgdGhlIG1pbmlt
dW0gaW50ZWdlcikgZnJvbSBibGVuZCBpbiBBbmltYXRpb25VdGlsaXRpZXMuaC4KKworICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIGFuaW1hdGlvbnMvYW5pbWF0
aW9uLW9yZGVyLW92ZXJmbG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogYW5pbWF0
aW9ucy9hbmltYXRpb24tb3JkZXItb3ZlcmZsb3cuaHRtbDogQWRkZWQuCisgICAgICAgICogYW5p
bWF0aW9ucy9hbmltYXRpb24tei1vcmRlci1vdmVyZmxvdy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGFuaW1hdGlvbnMvYW5pbWF0aW9uLXotb3JkZXItb3ZlcmZsb3cuaHRtbDogQWRk
ZWQuCisKIDIwMjEtMTAtMjEgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgQ1NTUHJvcGVydHlab29tIG5lZWRzIHdyYXBwZXIgdGhhdCBlbnN1cmVzIGl0J3Mg
YWx3YXlzIGJsZW5kZWQgaW50byBhIHBvc2l0aXZlIHZhbHVlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKaW5kZXggMzhhNTYwYTNkY2FjMzI5NDg5Y2RkM2YxMjI1ZTFjNjdkZTJjYjQ4NC4u
NGIzNTEwZjFlMzVmZGIxZTNmMTE0OGQ4MDc4MjY5NzQ1MGZiOWVmOCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjEtMTAtMjIgIEpvb25naHVuIFBh
cmsgIDxwamgwNzE4QGdtYWlsLmNvbT4KKworICAgICAgICBJbnRlZ2VyIGludGVycG9sYXRpb24g
aW4gYW5pbWF0aW9ucyBzaG91bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5
LCBub3QgYXdheSBmcm9tIHplcm8uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzIwMTMKKworICAgICAgICBDdXJyZW50bHksIGludGVycG9sYXRpb24g
b2YgPGludGVnZXI+IGlzIHJvdW5kaW5nIGF3YXkgZnJvbSAwLgorICAgICAgICBUaGUgaW50ZXJw
b2xhdGlvbidzIHJlc3VsdCBzaG91bGQgYmUgcm91bmRlZCBhY2NvcmRpbmcgdG8gdGhlIHNwZWMs
CisgICAgICAgIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdmFsdWVzLTQvI2NvbWJpbmUt
aW50ZWdlcnMsIHdoaWNoIGlzCisKKyAgICAgICAgInRoZSByZXN1bHQgaXMgY29udmVydGVkIHRv
IGFuIDxpbnRlZ2VyPiBieSByb3VuZGluZworICAgICAgICB0byB0aGUgbmVhcmVzdCBpbnRlZ2Vy
LCB3aXRoIHZhbHVlcyBoYWxmd2F5IGJldHdlZW4KKyAgICAgICAgYWRqYWNlbnQgaW50ZWdlcnMg
cm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5LiIKKworICAgICAgICBSZXZpZXdlZCBi
eSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZh
bHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2lu
ZmluaXR5X29yZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rv
d2FyZHNfcG9zaXRpdmVfaW5maW5pdHlfb3JkZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3Vu
ZF9oYWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5pdHlfel9pbmRleC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pbnRlZ2Vy
X2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5X3pfaW5k
ZXguaHRtbDogQWRkZWQuCisKIDIwMjEtMTAtMjAgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0
ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBVUkxQYXJzZXIgc2hvdWxkIHJlamVjdCBob3N0
cyB3aXRoIEMwIGNvbnRyb2wgY2hhcmFjdGVycyBvciBVKzAwN0YKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2FuaW1hdGlvbnMvYW5pbWF0aW9uLW9yZGVyLW92ZXJmbG93LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2FuaW1hdGlvbnMvYW5pbWF0aW9uLW9yZGVyLW92ZXJmbG93LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lMGFmM2VmMTlkMDAwOGVhY2NkODk5NGE1MmViMzEyZGYxZmY0ZDUw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9hbmltYXRpb24tb3Jk
ZXItb3ZlcmZsb3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEludGVnZXIg
aW50ZXJwb2xhdGlvbiBzaG91bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvYW5pbWF0aW9uLW9yZGVyLW92
ZXJmbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL2FuaW1hdGlvbi1vcmRlci1vdmVy
Zmxvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2YWZhOGZiYzVkNjU5NWM5ZDQyZjE4ZTMxZDYwOThmYzc1
NjIyZDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL2FuaW1hdGlv
bi1vcmRlci1vdmVyZmxvdy5odG1sCkBAIC0wLDAgKzEsMzggQEAKKzwhZG9jdHlwZSBodG1sPgor
PHRpdGxlPlRlc3RpbmcgaWYgaW50ZWdlciBpbnRlcnBvbGF0aW9uIGlzIG92ZXJmbG93ZWQgZm9y
IDMyYml0IGludGVnZXIgdHlwZSBtaW4vbWF4IHZhbHVlPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0
aG9yIiB0aXRsZT0iSm9vbmdodW4gUGFyayIgaHJlZj0icGpoMDcxOEBnbWFpbC5jb20iPgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KKworI2ZsZXgtY29udGFpbmVyIHsKKyAgICBkaXNwbGF5OiBmbGV4OworICAgIGFuaW1hdGlv
bjogYW5pbS1vcmRlciA0cyBzdGVwcyg0KSBmb3J3YXJkcyAxOworICAgIGFuaW1hdGlvbi1kZWxh
eTogLTNzOworICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7Cit9CisKK0BrZXlmcmFt
ZXMgYW5pbS1vcmRlciB7CisgIGZyb20geworICAgIG9yZGVyOiAtMjE0NzQ4MzY0NzsKKyAgfQor
CisgIHRvIHsKKyAgICBvcmRlcjogMjE0NzQ4MzY0NzsKKyAgfQorfQorCis8L3N0eWxlPgorPGRp
diBpZD0iZmxleC1jb250YWluZXIiPjwvZGl2PgorPHNjcmlwdD4KK3ZhciB0ZXN0X2Rlc2NyaXB0
aW9uID0gIkludGVnZXIgaW50ZXJwb2xhdGlvbiBzaG91bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBv
c2l0aXZlIGluZmluaXR5IjsKK3Rlc3QoCisgICAgdCA9PiB7CisgICAgICAgIGNvbnN0IGNvbnRh
aW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmbGV4LWNvbnRhaW5lciIpOworICAgICAg
ICBjb25zdCBvcmRlcl92YWx1ZSA9IE51bWJlci5wYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUo
Y29udGFpbmVyKS5nZXRQcm9wZXJ0eVZhbHVlKCdvcmRlcicpKTsKKworICAgICAgICBhc3NlcnRf
Z3JlYXRlcl90aGFuKG9yZGVyX3ZhbHVlLCAwLCAiSW50ZXJwb2xhdGlvbiByZXN1bHQgZm9yIHot
aW5kZXggc2hvdWxkIGJlIHBvc2l0aXZlIGludGVnZXIiKTsKKyAgICB9LAorICAgIHRlc3RfZGVz
Y3JpcHRpb24KKyk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FuaW1hdGlv
bnMvYW5pbWF0aW9uLXotb3JkZXItb3ZlcmZsb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
YW5pbWF0aW9ucy9hbmltYXRpb24tei1vcmRlci1vdmVyZmxvdy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZTBhZjNlZjE5ZDAwMDhlYWNjZDg5OTRhNTJlYjMxMmRmMWZmNGQ1MAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvYW5pbWF0aW9uLXotb3JkZXItb3ZlcmZs
b3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEludGVnZXIgaW50ZXJwb2xh
dGlvbiBzaG91bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5CisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvYW5pbWF0aW9uLXotb3JkZXItb3ZlcmZsb3cu
aHRtbCBiL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvYW5pbWF0aW9uLXotb3JkZXItb3ZlcmZsb3cu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zNmU1NDdhZDk5OTEwMDU1MjliNDVhNjQzNDQ2MmU1YzQyMWRmZmIw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9hbmltYXRpb24tei1v
cmRlci1vdmVyZmxvdy5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhZG9jdHlwZSBodG1sPgorPHRp
dGxlPlRlc3RpbmcgaWYgaW50ZWdlciBpbnRlcnBvbGF0aW9uIGlzIG92ZXJmbG93ZWQgZm9yIDMy
Yml0IGludGVnZXIgdHlwZSBtaW4vbWF4IHZhbHVlPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9y
IiB0aXRsZT0iSm9vbmdodW4gUGFyayIgaHJlZj0icGpoMDcxOEBnbWFpbC5jb20iPgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
KworI2FuaW0tdGFyZ2V0IHsKKyAgYW5pbWF0aW9uOiBhbmltLXogNHMgc3RlcHMoNCkgZm9yd2Fy
ZHMgMTsKKyAgYW5pbWF0aW9uLWRlbGF5OiAtM3M7CisgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBw
YXVzZWQ7Cit9CisKK0BrZXlmcmFtZXMgYW5pbS16IHsKKyAgZnJvbSB7CisgICAgei1pbmRleDog
LTIxNDc0ODM2NDc7CisgIH0KKworICB0byB7CisgICAgei1pbmRleDogMjE0NzQ4MzY0NzsKKyAg
fQorfQorCis8L3N0eWxlPgorPGRpdiBpZD0iYW5pbS10YXJnZXQiPjwvZGl2PgorPHNjcmlwdD4K
K3ZhciB0ZXN0X2Rlc2NyaXB0aW9uID0gIkludGVnZXIgaW50ZXJwb2xhdGlvbiBzaG91bGQgYmUg
cm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5IjsKK3Rlc3QoCisgICAgdCA9PiB7Cisg
ICAgICAgIGNvbnN0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhbmltLXRhcmdl
dCIpOworICAgICAgICBjb25zdCB6X2luZGV4X3ZhbHVlID0gTnVtYmVyLnBhcnNlRmxvYXQoZ2V0
Q29tcHV0ZWRTdHlsZSh0YXJnZXQpLmdldFByb3BlcnR5VmFsdWUoJ3otaW5kZXgnKSk7CisKKyAg
ICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbih6X2luZGV4X3ZhbHVlLCAwLCAiSW50ZXJwb2xhdGlv
biByZXN1bHQgZm9yIHotaW5kZXggc2hvdWxkIGJlIHBvc2l0aXZlIGludGVnZXIiKTsKKyAgICB9
LAorICAgIHRlc3RfZGVzY3JpcHRpb24KKyk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvaW50
ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5kX2hhbGZfdG93YXJkc19wb3NpdGl2ZV9pbmZpbml0eV9v
cmRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rv
d2FyZHNfcG9zaXRpdmVfaW5maW5pdHlfb3JkZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUw
YWYzZWYxOWQwMDA4ZWFjY2Q4OTk0YTUyZWIzMTJkZjFmZjRkNTAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFs
dWVzL2ludGVnZXJfaW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5m
aW5pdHlfb3JkZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEludGVnZXIg
aW50ZXJwb2xhdGlvbiBzaG91bGQgYmUgcm91bmRlZCB0b3dhcmRzIHBvc2l0aXZlIGluZmluaXR5
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5kX2hhbGZfdG93YXJk
c19wb3NpdGl2ZV9pbmZpbml0eV9vcmRlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25f
cm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5X29yZGVyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjBjNDM5ZWJjZjRjYjVlNmU3YTQxMjMyNmI0MzMzYTE2M2E2YmQ2MAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5kX2hhbGZfdG93YXJkc19wb3NpdGl2
ZV9pbmZpbml0eV9vcmRlci5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzwhZG9jdHlwZSBodG1sPgor
PHRpdGxlPlRlc3RpbmcgaWYgaW50ZWdlciBpbnRlcnBvbGF0aW9uIGlzIHJvdW5kZWQgdG93YXJk
cyBwb3NpdGl2ZSBpbmZpbml0eTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikpv
b25naHVuIFBhcmsiIGhyZWY9InBqaDA3MThAZ21haWwuY29tIj4KKzxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy12YWx1ZXMtNC8jY29tYmluZS1pbnRl
Z2VycyI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CisKKyNmbGV4LWNvbnRhaW5lciB7CisgICAgZGlzcGxheTogZmxleDsKKyAgICBh
bmltYXRpb246IGFuaW0tb3JkZXIgNHMgc3RlcHMoNCkgZm9yd2FyZHMgMTsKKyAgICBhbmltYXRp
b24tZGVsYXk6IC0xczsKKyAgICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkOworfQorCitA
a2V5ZnJhbWVzIGFuaW0tb3JkZXIgeworICBmcm9tIHsKKyAgICBvcmRlcjogLTI7CisgIH0KKwor
ICB0byB7CisgICAgb3JkZXI6IDA7CisgIH0KK30KKworPC9zdHlsZT4KKzxkaXYgaWQ9ImZsZXgt
Y29udGFpbmVyIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgdGVzdF9kZXNjcmlwdGlvbiA9ICJJbnRl
Z2VyIGludGVycG9sYXRpb24gc2hvdWxkIGJlIHJvdW5kZWQgdG93YXJkcyBwb3NpdGl2ZSBpbmZp
bml0eSI7Cit0ZXN0KAorICAgIHQgPT4geworICAgICAgICBjb25zdCBjb250YWluZXIgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZmxleC1jb250YWluZXIiKTsKKyAgICAgICAgY29uc3Qgb3Jk
ZXJfdmFsdWUgPSBOdW1iZXIucGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKGNvbnRhaW5lciku
Z2V0UHJvcGVydHlWYWx1ZSgnb3JkZXInKSk7CisKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhvcmRl
cl92YWx1ZSwgLTEsICJJbnRlcnBvbGF0aW9uIHJlc3VsdCBmb3Igb3JkZXIgc2hvdWxkIGJlIHJv
dW5kZWQgdG93YXJkcyBwb3NpdGl2ZSBpbmZpbml0eSIpOworICAgIH0sCisgICAgdGVzdF9kZXNj
cmlwdGlvbgorKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRp
b25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZlX2luZmluaXR5X3pfaW5kZXgtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZl
X2luZmluaXR5X3pfaW5kZXgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUwYWYzZWYxOWQwMDA4
ZWFjY2Q4OTk0YTUyZWIzMTJkZjFmZjRkNTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdmFsdWVzL2ludGVnZXJf
aW50ZXJwb2xhdGlvbl9yb3VuZF9oYWxmX3Rvd2FyZHNfcG9zaXRpdmVfaW5maW5pdHlfel9pbmRl
eC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgSW50ZWdlciBpbnRlcnBvbGF0
aW9uIHNob3VsZCBiZSByb3VuZGVkIHRvd2FyZHMgcG9zaXRpdmUgaW5maW5pdHkKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXZhbHVlcy9pbnRlZ2VyX2ludGVycG9sYXRpb25fcm91bmRfaGFsZl90b3dhcmRzX3Bvc2l0aXZl
X2luZmluaXR5X3pfaW5kZXguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1ZXMvaW50ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5kX2hh
bGZfdG93YXJkc19wb3NpdGl2ZV9pbmZpbml0eV96X2luZGV4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzli
MDQyY2NiOGYyZDA4ZTA0ZGNhNTZkZjk3MTViNDA4MWM0ZDE5ZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy12YWx1
ZXMvaW50ZWdlcl9pbnRlcnBvbGF0aW9uX3JvdW5kX2hhbGZfdG93YXJkc19wb3NpdGl2ZV9pbmZp
bml0eV96X2luZGV4Lmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8dGl0
bGU+VGVzdGluZyBpZiBpbnRlZ2VyIGludGVycG9sYXRpb24gaXMgcm91bmRlZCB0b3dhcmRzIHBv
c2l0aXZlIGluZmluaXR5PC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSm9vbmdo
dW4gUGFyayIgaHJlZj0icGpoMDcxOEBnbWFpbC5jb20iPgorPGxpbmsgcmVsPSJoZWxwIiBocmVm
PSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXZhbHVlcy00LyNjb21iaW5lLWludGVnZXJz
Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KKworI2FuaW0tdGFyZ2V0IHsKKyAgYW5pbWF0aW9uOiBhbmltLXogNHMgc3RlcHMoNCkg
Zm9yd2FyZHMgMTsKKyAgYW5pbWF0aW9uLWRlbGF5OiAtMXM7CisgIGFuaW1hdGlvbi1wbGF5LXN0
YXRlOiBwYXVzZWQ7Cit9CisKK0BrZXlmcmFtZXMgYW5pbS16IHsKKyAgZnJvbSB7CisgICAgei1p
bmRleDogLTI7CisgIH0KKworICB0byB7CisgICAgei1pbmRleDogMDsKKyAgfQorfQorCis8L3N0
eWxlPgorPGRpdiBpZD0iYW5pbS10YXJnZXQiPjwvZGl2PgorPHNjcmlwdD4KK3ZhciB0ZXN0X2Rl
c2NyaXB0aW9uID0gIkludGVnZXIgaW50ZXJwb2xhdGlvbiBzaG91bGQgYmUgcm91bmRlZCB0b3dh
cmRzIHBvc2l0aXZlIGluZmluaXR5IjsKK3Rlc3QoCisgICAgdCA9PiB7CisgICAgICAgIGNvbnN0
IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhbmltLXRhcmdldCIpOworICAgICAg
ICBjb25zdCB6X2luZGV4X3ZhbHVlID0gTnVtYmVyLnBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHls
ZSh0YXJnZXQpLmdldFByb3BlcnR5VmFsdWUoJ3otaW5kZXgnKSk7CisKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyh6X2luZGV4X3ZhbHVlLCAtMSwgIkludGVycG9sYXRpb24gcmVzdWx0IGZvciB6LWlu
ZGV4IHNob3VsZCBiZSByb3VuZGVkIHRvd2FyZHMgcG9zaXRpdmUgaW5maW5pdHkiKTsKKyAgICB9
LAorICAgIHRlc3RfZGVzY3JpcHRpb24KKyk7Cis8L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>