<?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>227170</bug_id>
          
          <creation_ts>2021-06-18 08:17:32 -0700</creation_ts>
          <short_desc>Prevent sign-extended casts for 32 bits arch</short_desc>
          <delta_ts>2021-06-28 09:48:45 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mikhail R. Gadelha">mikhail</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>angelos</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1771014</commentid>
    <comment_count>0</comment_count>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2021-06-18 08:17:32 -0700</bug_when>
    <thetext>In a number of places, addresses are reinterpreted as uint64, which can lead to wrong addresses in 32 bits arch. 

For example, in https://bugs.webkit.org/show_bug.cgi?id=226503, asCell() returns a pointer to the payload and using reinterpret_cast will sign extend asNumber to FFFF FFFF + , which will fail the isImpureNaN check in jsNumber.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771015</commentid>
    <comment_count>1</comment_count>
      <attachid>431777</attachid>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2021-06-18 08:24:56 -0700</bug_when>
    <thetext>Created attachment 431777
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771016</commentid>
    <comment_count>2</comment_count>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2021-06-18 08:28:22 -0700</bug_when>
    <thetext>I&apos;ve also added a bitwise_cast there, which is not memory-related but it makes the code slightly more readable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771042</commentid>
    <comment_count>3</comment_count>
      <attachid>431781</attachid>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2021-06-18 11:03:54 -0700</bug_when>
    <thetext>Created attachment 431781
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771073</commentid>
    <comment_count>4</comment_count>
      <attachid>431781</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-06-19 00:03:19 -0700</bug_when>
    <thetext>Comment on attachment 431781
Patch

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

r=me with nits

&gt; Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.h:190
&gt; +        bufferPrintf(&quot;0x%&quot; PRIxPTR, reinterpret_cast&lt;uintptr_t&gt;(pc + immediate));

Using bitwise_cast would be better since it checks whether the start() is the same size to uintptr_t.

&gt; Source/JavaScriptCore/runtime/JSCell.cpp:295
&gt; +        ptrdiff_t cellOffset = cellAddress - reinterpret_cast&lt;uintptr_t&gt;(foundBlockHandle-&gt;start());

Using bitwise_cast would be better since it checks whether the start() is the same size to uintptr_t.

&gt; Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp:2799
&gt; +    append(Move, Arg::bigImm(reinterpret_cast&lt;uintptr_t&gt;(&amp;m_tierUp-&gt;m_counter)), countdownPtr);

Ditto.

&gt; Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp:2851
&gt; +    append(Move, Arg::bigImm(reinterpret_cast&lt;uintptr_t&gt;(&amp;m_tierUp-&gt;m_counter)), countdownPtr);

Ditto.

&gt; Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:2033
&gt; +    Value* countDownLocation = constant(pointerType(), reinterpret_cast&lt;uintptr_t&gt;(&amp;m_tierUp-&gt;m_counter), Origin());

Ditto.

&gt; Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:2083
&gt; +    Value* countDownLocation = constant(pointerType(), reinterpret_cast&lt;uintptr_t&gt;(&amp;m_tierUp-&gt;m_counter), origin);

Ditto.

&gt; Source/WTF/wtf/LoggerHelper.h:79
&gt; +        return reinterpret_cast&lt;const void*&gt;((reinterpret_cast&lt;uintptr_t&gt;(parentIdentifier) &amp; parentMask) | (childIdentifier &amp; maskLowerWord));

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771074</commentid>
    <comment_count>5</comment_count>
      <attachid>431781</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-06-19 00:04:16 -0700</bug_when>
    <thetext>Comment on attachment 431781
Patch

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

&gt;&gt; Source/WTF/wtf/LoggerHelper.h:79
&gt;&gt; +        return reinterpret_cast&lt;const void*&gt;((reinterpret_cast&lt;uintptr_t&gt;(parentIdentifier) &amp; parentMask) | (childIdentifier &amp; maskLowerWord));
&gt; 
&gt; Ditto.

Is this correct? We are using `static constexpr uint64_t`</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771291</commentid>
    <comment_count>6</comment_count>
      <attachid>431863</attachid>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2021-06-21 08:38:19 -0700</bug_when>
    <thetext>Created attachment 431863
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771294</commentid>
    <comment_count>7</comment_count>
      <attachid>431781</attachid>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2021-06-21 08:44:49 -0700</bug_when>
    <thetext>Comment on attachment 431781
Patch

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

&gt;&gt;&gt; Source/WTF/wtf/LoggerHelper.h:79
&gt;&gt;&gt; +        return reinterpret_cast&lt;const void*&gt;((reinterpret_cast&lt;uintptr_t&gt;(parentIdentifier) &amp; parentMask) | (childIdentifier &amp; maskLowerWord));
&gt;&gt; 
&gt;&gt; Ditto.
&gt; 
&gt; Is this correct? We are using `static constexpr uint64_t`

The compiler will introduce an implicit cast from uintptr_t to uint64_t in 32 bits mode... Here&apos;s the clang ast dump (I actually just copied the function to a separate file but it should generate the same code during compilation):

      | `-BinaryOperator 0x5655a48 &lt;col:47, col:91&gt; &apos;unsigned long long&apos; &apos;&amp;&apos;
HERE-&gt;|   |-ImplicitCastExpr 0x5655a30 &lt;col:47, col:87&gt; &apos;unsigned long long&apos; &lt;IntegralCast&gt;
      |   | `-CallExpr 0x5655998 &lt;col:47, col:87&gt; &apos;unsigned int&apos;:&apos;unsigned int&apos;
      |   |   |-ImplicitCastExpr 0x5655980 &lt;col:47, col:69&gt; &apos;unsigned int (*)(const void *)&apos; &lt;FunctionToPointerDecay&gt;
      |   |   | `-DeclRefExpr 0x56558b8 &lt;col:47, col:69&gt; &apos;unsigned int (const void *)&apos; lvalue Function 0x56557a0 &apos;bitwise_cast&apos; &apos;unsigned int (const void *)&apos; (FunctionTemplate 0x5653770 &apos;bitwise_cast&apos;)
      |   |   `-ImplicitCastExpr 0x56559c0 &lt;col:71&gt; &apos;const void *&apos; &lt;LValueToRValue&gt;
      |   |     `-DeclRefExpr 0x56554e0 &lt;col:71&gt; &apos;const void *&apos; lvalue ParmVar 0x5654f98 &apos;parentIdentifier&apos; &apos;const void *&apos;
      |   `-ImplicitCastExpr 0x5655a18 &lt;col:91&gt; &apos;uint64_t&apos;:&apos;unsigned long long&apos; &lt;LValueToRValue&gt;
      |     `-DeclRefExpr 0x56559f8 &lt;col:91&gt; &apos;const uint64_t&apos;:&apos;const unsigned long long&apos; lvalue Var 0x5655218 &apos;parentMask&apos; &apos;const uint64_t&apos;:&apos;const unsigned long long&apos; non_odr_use_constant

No implicit cast is added in 64 bits mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772660</commentid>
    <comment_count>8</comment_count>
      <attachid>432265</attachid>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2021-06-25 07:12:09 -0700</bug_when>
    <thetext>Created attachment 432265
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1772689</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-25 08:18:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/79779047&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773102</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-28 09:48:42 -0700</bug_when>
    <thetext>Committed r279341 (239209@main): &lt;https://commits.webkit.org/239209@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 432265.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431777</attachid>
            <date>2021-06-18 08:24:56 -0700</date>
            <delta_ts>2021-06-18 11:03:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227170-20210618152455.patch</filename>
            <type>text/plain</type>
            <size>7657</size>
            <attacher name="Mikhail R. Gadelha">mikhail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MDM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
NTMzY2I5OTA3OGJlYmU5MDRkNzBhZmQzODllMmRkYzU1OGEwNmRiLi5kMjA4ZThkYjM4MzRiMzc0
MTBlZDhiNGYyYzRlN2MxYTEzMjNhNzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNiBAQAorMjAyMS0wNi0xOCAgTWlraGFpbCBSLiBHYWRlbGhhICA8bWlraGFpbEBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFByZXZlbnQgc2lnbi1leHRlbmRlZCBjYXN0cyBmb3IgMzIgYml0
cyBhcmNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjcxNzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
biBhIG51bWJlciBvZiBwbGFjZXMsIGFkZHJlc3NlcyBhcmUgcmVpbnRlcnByZXRlZCBhcyB1aW50
NjQsIHdoaWNoIGNhbgorICAgICAgICBsZWFkIHRvIHdyb25nIGFkZHJlc3NlcyBpbiAzMiBiaXRz
IGFyY2guCisKKyAgICAgICAgKiBhc3NlbWJsZXIvdGVzdG1hc20uY3BwOgorICAgICAgICAoSlND
Ojp0ZXN0QnJhbmNoVHJ1bmNhdGVEb3VibGVUb0ludDMyKToKKyAgICAgICAgKiBkaXNhc3NlbWJs
ZXIvQVJNNjQvQTY0RE9wY29kZS5oOgorICAgICAgICAoSlNDOjpBUk02NERpc2Fzc2VtYmxlcjo6
QTY0RE9wY29kZTo6YXBwZW5kUENSZWxhdGl2ZU9mZnNldCk6CisgICAgICAgICogcnVudGltZS9K
U0NlbGwuY3BwOgorICAgICAgICAoSlNDOjpyZXBvcnRaYXBwZWRDZWxsQW5kQ3Jhc2gpOgorICAg
ICAgICAqIHdhc20vV2FzbUFpcklSR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6V2FzbTo6
QWlySVJHZW5lcmF0b3I6OmVtaXRFbnRyeVRpZXJVcENoZWNrKToKKyAgICAgICAgKEpTQzo6V2Fz
bTo6QWlySVJHZW5lcmF0b3I6OmVtaXRMb29wVGllclVwQ2hlY2spOgorICAgICAgICAqIHdhc20v
V2FzbUIzSVJHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpXYXNtOjpCM0lSR2VuZXJhdG9y
OjplbWl0RW50cnlUaWVyVXBDaGVjayk6CisgICAgICAgIChKU0M6Oldhc206OkIzSVJHZW5lcmF0
b3I6OmVtaXRMb29wVGllclVwQ2hlY2spOgorCiAyMDIxLTA2LTE3ICBNYXJrIExhbSAgPG1hcmsu
bGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgbnVtYmVyT2ZQQUNCaXRzIHRvIG1heE51
bWJlck9mQWxsb3dlZFBBQ0JpdHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBi
L1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDdhNTFiNTFkMTA5NWE2NDEwYmZiMDZlOGQ1NzA5
NmQ5NjhjMmJlMjkuLjVlODg0NzViOWY5YWM1NDQ3MDIxYjZkYWI2OGVlODNlN2UzOTZjOWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDYtMTggIE1pa2hhaWwgUi4gR2FkZWxoYSAgPG1pa2hh
aWxAaWdhbGlhLmNvbT4KKworICAgICAgICBQcmV2ZW50IHNpZ24tZXh0ZW5kZWQgY2FzdHMgZm9y
IDMyIGJpdHMgYXJjaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI3MTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSW4gYSBudW1iZXIgb2YgcGxhY2VzLCBhZGRyZXNzZXMgYXJlIHJlaW50ZXJwcmV0ZWQg
YXMgdWludDY0LCB3aGljaCBjYW4KKyAgICAgICAgbGVhZCB0byB3cm9uZyBhZGRyZXNzZXMgaW4g
MzIgYml0cyBhcmNoLgorCisgICAgICAgICogd3RmL0xvZ2dlckhlbHBlci5oOgorICAgICAgICAo
V1RGOjpMb2dnZXJIZWxwZXI6OmNoaWxkTG9nSWRlbnRpZmllcik6CisKIDIwMjEtMDYtMTcgIFNh
aWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBEaXNh
YmxlIGhhcmR3YXJlIGRlY29kaW5nIGluIHRoZSBXZWJQcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL3Rlc3RtYXNtLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvdGVzdG1hc20uY3BwCmluZGV4IDk5NDY1ODljMDI4YWMzZTQxZGZi
ZjlhNWY1YzI4ZDhmMzRmZWI2MzguLjkyMTJhMTkwYWMyYmI3NGExZTFhMDU2YzA4ZWJhZTQ4YjIz
NGRhOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvdGVzdG1h
c20uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvdGVzdG1hc20uY3Bw
CkBAIC0yOTIsNyArMjkyLDcgQEAgdm9pZCB0ZXN0R2V0RWZmZWN0aXZlQWRkcmVzcyhzaXplX3Qg
cG9pbnRlciwgcHRyZGlmZl90IGxlbmd0aCwgaW50MzJfdCBvZmZzZXQsIEMKIC8vIE5hbiwgc2hv
dWxkIGVpdGhlciB5aWVsZCAwIGluIGRlc3Qgb3IgZmFpbC4KIHZvaWQgdGVzdEJyYW5jaFRydW5j
YXRlRG91YmxlVG9JbnQzMihkb3VibGUgdmFsLCBpbnQzMl90IGV4cGVjdGVkKQogewotICAgIGNv
bnN0IHVpbnQ2NF90IHZhbEFzVUludCA9ICpyZWludGVycHJldF9jYXN0PHVpbnQ2NF90Kj4oJnZh
bCk7CisgICAgY29uc3QgdWludDY0X3QgdmFsQXNVSW50ID0gYml0d2lzZV9jYXN0PHVpbnQ2NF90
Pih2YWwpOwogI2lmIENQVShCSUdfRU5ESUFOKQogICAgIGNvbnN0IGJvb2wgaXNCaWdFbmRpYW4g
PSB0cnVlOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3Nl
bWJsZXIvQVJNNjQvQTY0RE9wY29kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2Vt
Ymxlci9BUk02NC9BNjRET3Bjb2RlLmgKaW5kZXggZmQ5ZGI3Y2FlNThlOTlhNWZiY2I2N2QyODBm
M2QyNTNkMmRlNGQ0MS4uZDc0ODEyMDJkYjY0YTAyYTZjODYzOTc1NzM2NzQzMGE1MzY5MThmYyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxlci9BUk02NC9BNjRE
T3Bjb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxlci9BUk02NC9B
NjRET3Bjb2RlLmgKQEAgLTE4Nyw3ICsxODcsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2b2lkIGFw
cGVuZFBDUmVsYXRpdmVPZmZzZXQodWludDMyX3QqIHBjLCBpbnQzMl90IGltbWVkaWF0ZSkKICAg
ICB7Ci0gICAgICAgIGJ1ZmZlclByaW50ZigiMHglIiBQUkl4NjQsIHJlaW50ZXJwcmV0X2Nhc3Q8
dWludDY0X3Q+KHBjICsgaW1tZWRpYXRlKSk7CisgICAgICAgIGJ1ZmZlclByaW50ZigiMHglIiBQ
Ukl4NjQsIHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihwYyArIGltbWVkaWF0ZSkpOwogICAg
IH0KIAogICAgIHZvaWQgYXBwZW5kU2hpZnRBbW91bnQodW5zaWduZWQgYW1vdW50KQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAKaW5kZXggZjIyODZlMTBlMzMwZjlhOTFh
NzI0OTkzM2IzYjQ3YzlkZmY5NDAwMi4uZDZkZWQ0ZmQxM2EyZDA5MzQxYWY2MDNmZjFhYmIyMDhk
YWNlZGEwMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxs
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCkBAIC0y
OTIsNyArMjkyLDcgQEAgTkVWRVJfSU5MSU5FIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0ggTk9UX1RB
SUxfQ0FMTEVEIHZvaWQgcmVwb3J0WmFwcGVkQ2VsbEFuZENyYXMKICAgICAgICAgdmFyaW91c1N0
YXRlIHw9IHN0YXRpY19jYXN0PHVpbnQ2NF90Pihmb3VuZEJsb2NrSGFuZGxlLT5uZWVkc0Rlc3Ry
dWN0aW9uKCkpIDw8IDM7CiAgICAgICAgIHZhcmlvdXNTdGF0ZSB8PSBzdGF0aWNfY2FzdDx1aW50
NjRfdD4oZm91bmRCbG9jay0+aXNOZXdseUFsbG9jYXRlZChjZWxsKSkgPDwgNDsKIAotICAgICAg
ICBwdHJkaWZmX3QgY2VsbE9mZnNldCA9IGNlbGxBZGRyZXNzIC0gcmVpbnRlcnByZXRfY2FzdDx1
aW50NjRfdD4oZm91bmRCbG9ja0hhbmRsZS0+c3RhcnQoKSk7CisgICAgICAgIHB0cmRpZmZfdCBj
ZWxsT2Zmc2V0ID0gY2VsbEFkZHJlc3MgLSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oZm91
bmRCbG9ja0hhbmRsZS0+c3RhcnQoKSk7CiAgICAgICAgIGJvb2wgY2VsbElzUHJvcGVybHlBbGln
bmVkID0gIShjZWxsT2Zmc2V0ICUgY2VsbFNpemUpOwogICAgICAgICB2YXJpb3VzU3RhdGUgfD0g
c3RhdGljX2Nhc3Q8dWludDY0X3Q+KGNlbGxJc1Byb3Blcmx5QWxpZ25lZCkgPDwgNTsKICAgICB9
IGVsc2UgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUFpcklS
R2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21BaXJJUkdlbmVy
YXRvci5jcHAKaW5kZXggOGY0NWIxYWQxZWVkNGJlMTFkOGFmMTE4NDcwOTBiN2Y0MmI3Y2MwZS4u
ZTU2ZWQyODJkYmIzZDQ4NjFiNWJlMGNiNmIwYzI2OTU1NTliNTE4ZiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUFpcklSR2VuZXJhdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQWlySVJHZW5lcmF0b3IuY3BwCkBAIC0yNzk2LDgg
KzI3OTYsNyBAQCB2b2lkIEFpcklSR2VuZXJhdG9yOjplbWl0RW50cnlUaWVyVXBDaGVjaygpCiAg
ICAgICAgIHJldHVybjsKIAogICAgIGF1dG8gY291bnRkb3duUHRyID0gZzY0KCk7Ci0KLSAgICBh
cHBlbmQoTW92ZSwgQXJnOjpiaWdJbW0ocmVpbnRlcnByZXRfY2FzdDx1aW50NjRfdD4oJm1fdGll
clVwLT5tX2NvdW50ZXIpKSwgY291bnRkb3duUHRyKTsKKyAgICBhcHBlbmQoTW92ZSwgQXJnOjpi
aWdJbW0ocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KCZtX3RpZXJVcC0+bV9jb3VudGVyKSks
IGNvdW50ZG93blB0cik7CiAKICAgICBhdXRvKiBwYXRjaCA9IGFkZFBhdGNocG9pbnQoQjM6OlZv
aWQpOwogICAgIEIzOjpFZmZlY3RzIGVmZmVjdHMgPSBCMzo6RWZmZWN0czo6bm9uZSgpOwpAQCAt
Mjg0OSw3ICsyODQ4LDcgQEAgdm9pZCBBaXJJUkdlbmVyYXRvcjo6ZW1pdExvb3BUaWVyVXBDaGVj
ayh1aW50MzJfdCBsb29wSW5kZXgsIGNvbnN0IFN0YWNrJiBlbmNsb3MKIAogICAgIGF1dG8gY291
bnRkb3duUHRyID0gZzY0KCk7CiAKLSAgICBhcHBlbmQoTW92ZSwgQXJnOjpiaWdJbW0ocmVpbnRl
cnByZXRfY2FzdDx1aW50NjRfdD4oJm1fdGllclVwLT5tX2NvdW50ZXIpKSwgY291bnRkb3duUHRy
KTsKKyAgICBhcHBlbmQoTW92ZSwgQXJnOjpiaWdJbW0ocmVpbnRlcnByZXRfY2FzdDx1aW50cHRy
X3Q+KCZtX3RpZXJVcC0+bV9jb3VudGVyKSksIGNvdW50ZG93blB0cik7CiAKICAgICBhdXRvKiBw
YXRjaCA9IGFkZFBhdGNocG9pbnQoQjM6OlZvaWQpOwogICAgIEIzOjpFZmZlY3RzIGVmZmVjdHMg
PSBCMzo6RWZmZWN0czo6bm9uZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vV2FzbUIzSVJHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
V2FzbUIzSVJHZW5lcmF0b3IuY3BwCmluZGV4IDU2ZDI1ZmQ0M2I5ZTkxNzhiYTRkZDM5ZmU2OGEy
MmNkZmJiNDIxMTIuLmFlMjEzZWFlMmI1NTkzNGNkOTVjYmIxOGRlYzc1ZWM1YjMwYzFiNGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CM0lSR2VuZXJhdG9yLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQjNJUkdlbmVyYXRvci5jcHAK
QEAgLTIwMzAsNyArMjAzMCw3IEBAIHZvaWQgQjNJUkdlbmVyYXRvcjo6ZW1pdEVudHJ5VGllclVw
Q2hlY2soKQogICAgICAgICByZXR1cm47CiAKICAgICBBU1NFUlQobV90aWVyVXApOwotICAgIFZh
bHVlKiBjb3VudERvd25Mb2NhdGlvbiA9IGNvbnN0YW50KHBvaW50ZXJUeXBlKCksIHJlaW50ZXJw
cmV0X2Nhc3Q8dWludDY0X3Q+KCZtX3RpZXJVcC0+bV9jb3VudGVyKSwgT3JpZ2luKCkpOworICAg
IFZhbHVlKiBjb3VudERvd25Mb2NhdGlvbiA9IGNvbnN0YW50KHBvaW50ZXJUeXBlKCksIHJlaW50
ZXJwcmV0X2Nhc3Q8dWludHB0cl90PigmbV90aWVyVXAtPm1fY291bnRlciksIE9yaWdpbigpKTsK
IAogICAgIFBhdGNocG9pbnRWYWx1ZSogcGF0Y2ggPSBtX2N1cnJlbnRCbG9jay0+YXBwZW5kTmV3
PFBhdGNocG9pbnRWYWx1ZT4obV9wcm9jLCBCMzo6Vm9pZCwgT3JpZ2luKCkpOwogICAgIEVmZmVj
dHMgZWZmZWN0cyA9IEVmZmVjdHM6Om5vbmUoKTsKQEAgLTIwODAsNyArMjA4MCw3IEBAIHZvaWQg
QjNJUkdlbmVyYXRvcjo6ZW1pdExvb3BUaWVyVXBDaGVjayh1aW50MzJfdCBsb29wSW5kZXgsIGNv
bnN0IFN0YWNrJiBlbmNsb3NpCiAgICAgbV90aWVyVXAtPm9zckVudHJ5VHJpZ2dlcnMoKS5hcHBl
bmQoVGllclVwQ291bnQ6OlRyaWdnZXJSZWFzb246OkRvbnRUcmlnZ2VyKTsKICAgICBtX3RpZXJV
cC0+b3V0ZXJMb29wcygpLmFwcGVuZChvdXRlckxvb3BJbmRleCk7CiAKLSAgICBWYWx1ZSogY291
bnREb3duTG9jYXRpb24gPSBjb25zdGFudChwb2ludGVyVHlwZSgpLCByZWludGVycHJldF9jYXN0
PHVpbnQ2NF90PigmbV90aWVyVXAtPm1fY291bnRlciksIG9yaWdpbik7CisgICAgVmFsdWUqIGNv
dW50RG93bkxvY2F0aW9uID0gY29uc3RhbnQocG9pbnRlclR5cGUoKSwgcmVpbnRlcnByZXRfY2Fz
dDx1aW50cHRyX3Q+KCZtX3RpZXJVcC0+bV9jb3VudGVyKSwgb3JpZ2luKTsKIAogICAgIFZlY3Rv
cjxFeHByZXNzaW9uVHlwZT4gc3RhY2ttYXA7CiAgICAgZm9yIChhdXRvJiBsb2NhbCA6IG1fbG9j
YWxzKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Mb2dnZXJIZWxwZXIuaCBiL1NvdXJj
ZS9XVEYvd3RmL0xvZ2dlckhlbHBlci5oCmluZGV4IDVjODJmZTZiZDlmNjE2YmE2Y2RlZGQ2M2Ex
NmJlMTkwNmM5NTA3MmUuLmZhM2NmZTA0NGI3ZDFkZWE3MGEzOGIxYjA0ZTBkNTNmZGJiMzVhMzgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0xvZ2dlckhlbHBlci5oCisrKyBiL1NvdXJjZS9X
VEYvd3RmL0xvZ2dlckhlbHBlci5oCkBAIC03Niw3ICs3Niw3IEBAIHB1YmxpYzoKICAgICB7CiAg
ICAgICAgIHN0YXRpYyBjb25zdGV4cHIgdWludDY0X3QgcGFyZW50TWFzayA9IDB4ZmZmZmZmZmZm
ZmZmMDAwMHVsbDsKICAgICAgICAgc3RhdGljIGNvbnN0ZXhwciB1aW50NjRfdCBtYXNrTG93ZXJX
b3JkID0gMHhmZmZmdWxsOwotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjb25zdCB2
b2lkKj4oKHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+KHBhcmVudElkZW50aWZpZXIpICYgcGFy
ZW50TWFzaykgfCAoY2hpbGRJZGVudGlmaWVyICYgbWFza0xvd2VyV29yZCkpOworICAgICAgICBy
ZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjb25zdCB2b2lkKj4oKHJlaW50ZXJwcmV0X2Nhc3Q8dWlu
dHB0cl90PihwYXJlbnRJZGVudGlmaWVyKSAmIHBhcmVudE1hc2spIHwgKGNoaWxkSWRlbnRpZmll
ciAmIG1hc2tMb3dlcldvcmQpKTsKICAgICB9CiAKICAgICBzdGF0aWMgY29uc3Qgdm9pZCogdW5p
cXVlTG9nSWRlbnRpZmllcigpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431781</attachid>
            <date>2021-06-18 11:03:54 -0700</date>
            <delta_ts>2021-06-21 08:38:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227170-20210618180353.patch</filename>
            <type>text/plain</type>
            <size>7658</size>
            <attacher name="Mikhail R. Gadelha">mikhail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MDM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
NTMzY2I5OTA3OGJlYmU5MDRkNzBhZmQzODllMmRkYzU1OGEwNmRiLi5kMjA4ZThkYjM4MzRiMzc0
MTBlZDhiNGYyYzRlN2MxYTEzMjNhNzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNiBAQAorMjAyMS0wNi0xOCAgTWlraGFpbCBSLiBHYWRlbGhhICA8bWlraGFpbEBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFByZXZlbnQgc2lnbi1leHRlbmRlZCBjYXN0cyBmb3IgMzIgYml0
cyBhcmNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjcxNzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
biBhIG51bWJlciBvZiBwbGFjZXMsIGFkZHJlc3NlcyBhcmUgcmVpbnRlcnByZXRlZCBhcyB1aW50
NjQsIHdoaWNoIGNhbgorICAgICAgICBsZWFkIHRvIHdyb25nIGFkZHJlc3NlcyBpbiAzMiBiaXRz
IGFyY2guCisKKyAgICAgICAgKiBhc3NlbWJsZXIvdGVzdG1hc20uY3BwOgorICAgICAgICAoSlND
Ojp0ZXN0QnJhbmNoVHJ1bmNhdGVEb3VibGVUb0ludDMyKToKKyAgICAgICAgKiBkaXNhc3NlbWJs
ZXIvQVJNNjQvQTY0RE9wY29kZS5oOgorICAgICAgICAoSlNDOjpBUk02NERpc2Fzc2VtYmxlcjo6
QTY0RE9wY29kZTo6YXBwZW5kUENSZWxhdGl2ZU9mZnNldCk6CisgICAgICAgICogcnVudGltZS9K
U0NlbGwuY3BwOgorICAgICAgICAoSlNDOjpyZXBvcnRaYXBwZWRDZWxsQW5kQ3Jhc2gpOgorICAg
ICAgICAqIHdhc20vV2FzbUFpcklSR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6V2FzbTo6
QWlySVJHZW5lcmF0b3I6OmVtaXRFbnRyeVRpZXJVcENoZWNrKToKKyAgICAgICAgKEpTQzo6V2Fz
bTo6QWlySVJHZW5lcmF0b3I6OmVtaXRMb29wVGllclVwQ2hlY2spOgorICAgICAgICAqIHdhc20v
V2FzbUIzSVJHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpXYXNtOjpCM0lSR2VuZXJhdG9y
OjplbWl0RW50cnlUaWVyVXBDaGVjayk6CisgICAgICAgIChKU0M6Oldhc206OkIzSVJHZW5lcmF0
b3I6OmVtaXRMb29wVGllclVwQ2hlY2spOgorCiAyMDIxLTA2LTE3ICBNYXJrIExhbSAgPG1hcmsu
bGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgbnVtYmVyT2ZQQUNCaXRzIHRvIG1heE51
bWJlck9mQWxsb3dlZFBBQ0JpdHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBi
L1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDdhNTFiNTFkMTA5NWE2NDEwYmZiMDZlOGQ1NzA5
NmQ5NjhjMmJlMjkuLjVlODg0NzViOWY5YWM1NDQ3MDIxYjZkYWI2OGVlODNlN2UzOTZjOWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDYtMTggIE1pa2hhaWwgUi4gR2FkZWxoYSAgPG1pa2hh
aWxAaWdhbGlhLmNvbT4KKworICAgICAgICBQcmV2ZW50IHNpZ24tZXh0ZW5kZWQgY2FzdHMgZm9y
IDMyIGJpdHMgYXJjaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI3MTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSW4gYSBudW1iZXIgb2YgcGxhY2VzLCBhZGRyZXNzZXMgYXJlIHJlaW50ZXJwcmV0ZWQg
YXMgdWludDY0LCB3aGljaCBjYW4KKyAgICAgICAgbGVhZCB0byB3cm9uZyBhZGRyZXNzZXMgaW4g
MzIgYml0cyBhcmNoLgorCisgICAgICAgICogd3RmL0xvZ2dlckhlbHBlci5oOgorICAgICAgICAo
V1RGOjpMb2dnZXJIZWxwZXI6OmNoaWxkTG9nSWRlbnRpZmllcik6CisKIDIwMjEtMDYtMTcgIFNh
aWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBEaXNh
YmxlIGhhcmR3YXJlIGRlY29kaW5nIGluIHRoZSBXZWJQcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL3Rlc3RtYXNtLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvdGVzdG1hc20uY3BwCmluZGV4IDk5NDY1ODljMDI4YWMzZTQxZGZi
ZjlhNWY1YzI4ZDhmMzRmZWI2MzguLjkyMTJhMTkwYWMyYmI3NGExZTFhMDU2YzA4ZWJhZTQ4YjIz
NGRhOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvdGVzdG1h
c20uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvdGVzdG1hc20uY3Bw
CkBAIC0yOTIsNyArMjkyLDcgQEAgdm9pZCB0ZXN0R2V0RWZmZWN0aXZlQWRkcmVzcyhzaXplX3Qg
cG9pbnRlciwgcHRyZGlmZl90IGxlbmd0aCwgaW50MzJfdCBvZmZzZXQsIEMKIC8vIE5hbiwgc2hv
dWxkIGVpdGhlciB5aWVsZCAwIGluIGRlc3Qgb3IgZmFpbC4KIHZvaWQgdGVzdEJyYW5jaFRydW5j
YXRlRG91YmxlVG9JbnQzMihkb3VibGUgdmFsLCBpbnQzMl90IGV4cGVjdGVkKQogewotICAgIGNv
bnN0IHVpbnQ2NF90IHZhbEFzVUludCA9ICpyZWludGVycHJldF9jYXN0PHVpbnQ2NF90Kj4oJnZh
bCk7CisgICAgY29uc3QgdWludDY0X3QgdmFsQXNVSW50ID0gYml0d2lzZV9jYXN0PHVpbnQ2NF90
Pih2YWwpOwogI2lmIENQVShCSUdfRU5ESUFOKQogICAgIGNvbnN0IGJvb2wgaXNCaWdFbmRpYW4g
PSB0cnVlOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3Nl
bWJsZXIvQVJNNjQvQTY0RE9wY29kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2Vt
Ymxlci9BUk02NC9BNjRET3Bjb2RlLmgKaW5kZXggZmQ5ZGI3Y2FlNThlOTlhNWZiY2I2N2QyODBm
M2QyNTNkMmRlNGQ0MS4uZWI1YjMxYzIwY2IxNWY4MWFlYzQyMzQ2NjVlZGFmZDczZjFkMWM4ZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxlci9BUk02NC9BNjRE
T3Bjb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxlci9BUk02NC9B
NjRET3Bjb2RlLmgKQEAgLTE4Nyw3ICsxODcsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2b2lkIGFw
cGVuZFBDUmVsYXRpdmVPZmZzZXQodWludDMyX3QqIHBjLCBpbnQzMl90IGltbWVkaWF0ZSkKICAg
ICB7Ci0gICAgICAgIGJ1ZmZlclByaW50ZigiMHglIiBQUkl4NjQsIHJlaW50ZXJwcmV0X2Nhc3Q8
dWludDY0X3Q+KHBjICsgaW1tZWRpYXRlKSk7CisgICAgICAgIGJ1ZmZlclByaW50ZigiMHglIiBQ
Ukl4UFRSLCByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ocGMgKyBpbW1lZGlhdGUpKTsKICAg
ICB9CiAKICAgICB2b2lkIGFwcGVuZFNoaWZ0QW1vdW50KHVuc2lnbmVkIGFtb3VudCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCmluZGV4IGYyMjg2ZTEwZTMzMGY5YTkx
YTcyNDk5MzNiM2I0N2M5ZGZmOTQwMDIuLmQ2ZGVkNGZkMTNhMmQwOTM0MWFmNjAzZmYxYWJiMjA4
ZGFjZWRhMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2Vs
bC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcApAQCAt
MjkyLDcgKzI5Miw3IEBAIE5FVkVSX0lOTElORSBOT19SRVRVUk5fRFVFX1RPX0NSQVNIIE5PVF9U
QUlMX0NBTExFRCB2b2lkIHJlcG9ydFphcHBlZENlbGxBbmRDcmFzCiAgICAgICAgIHZhcmlvdXNT
dGF0ZSB8PSBzdGF0aWNfY2FzdDx1aW50NjRfdD4oZm91bmRCbG9ja0hhbmRsZS0+bmVlZHNEZXN0
cnVjdGlvbigpKSA8PCAzOwogICAgICAgICB2YXJpb3VzU3RhdGUgfD0gc3RhdGljX2Nhc3Q8dWlu
dDY0X3Q+KGZvdW5kQmxvY2stPmlzTmV3bHlBbGxvY2F0ZWQoY2VsbCkpIDw8IDQ7CiAKLSAgICAg
ICAgcHRyZGlmZl90IGNlbGxPZmZzZXQgPSBjZWxsQWRkcmVzcyAtIHJlaW50ZXJwcmV0X2Nhc3Q8
dWludDY0X3Q+KGZvdW5kQmxvY2tIYW5kbGUtPnN0YXJ0KCkpOworICAgICAgICBwdHJkaWZmX3Qg
Y2VsbE9mZnNldCA9IGNlbGxBZGRyZXNzIC0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGZv
dW5kQmxvY2tIYW5kbGUtPnN0YXJ0KCkpOwogICAgICAgICBib29sIGNlbGxJc1Byb3Blcmx5QWxp
Z25lZCA9ICEoY2VsbE9mZnNldCAlIGNlbGxTaXplKTsKICAgICAgICAgdmFyaW91c1N0YXRlIHw9
IHN0YXRpY19jYXN0PHVpbnQ2NF90PihjZWxsSXNQcm9wZXJseUFsaWduZWQpIDw8IDU7CiAgICAg
fSBlbHNlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21BaXJJ
UkdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQWlySVJHZW5l
cmF0b3IuY3BwCmluZGV4IDhmNDViMWFkMWVlZDRiZTExZDhhZjExODQ3MDkwYjdmNDJiN2NjMGUu
LmU1NmVkMjgyZGJiM2Q0ODYxYjViZTBjYjZiMGMyNjk1NTU5YjUxOGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21BaXJJUkdlbmVyYXRvci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUFpcklSR2VuZXJhdG9yLmNwcApAQCAtMjc5Niw4
ICsyNzk2LDcgQEAgdm9pZCBBaXJJUkdlbmVyYXRvcjo6ZW1pdEVudHJ5VGllclVwQ2hlY2soKQog
ICAgICAgICByZXR1cm47CiAKICAgICBhdXRvIGNvdW50ZG93blB0ciA9IGc2NCgpOwotCi0gICAg
YXBwZW5kKE1vdmUsIEFyZzo6YmlnSW1tKHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+KCZtX3Rp
ZXJVcC0+bV9jb3VudGVyKSksIGNvdW50ZG93blB0cik7CisgICAgYXBwZW5kKE1vdmUsIEFyZzo6
YmlnSW1tKHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PigmbV90aWVyVXAtPm1fY291bnRlcikp
LCBjb3VudGRvd25QdHIpOwogCiAgICAgYXV0byogcGF0Y2ggPSBhZGRQYXRjaHBvaW50KEIzOjpW
b2lkKTsKICAgICBCMzo6RWZmZWN0cyBlZmZlY3RzID0gQjM6OkVmZmVjdHM6Om5vbmUoKTsKQEAg
LTI4NDksNyArMjg0OCw3IEBAIHZvaWQgQWlySVJHZW5lcmF0b3I6OmVtaXRMb29wVGllclVwQ2hl
Y2sodWludDMyX3QgbG9vcEluZGV4LCBjb25zdCBTdGFjayYgZW5jbG9zCiAKICAgICBhdXRvIGNv
dW50ZG93blB0ciA9IGc2NCgpOwogCi0gICAgYXBwZW5kKE1vdmUsIEFyZzo6YmlnSW1tKHJlaW50
ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+KCZtX3RpZXJVcC0+bV9jb3VudGVyKSksIGNvdW50ZG93blB0
cik7CisgICAgYXBwZW5kKE1vdmUsIEFyZzo6YmlnSW1tKHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0
cl90PigmbV90aWVyVXAtPm1fY291bnRlcikpLCBjb3VudGRvd25QdHIpOwogCiAgICAgYXV0byog
cGF0Y2ggPSBhZGRQYXRjaHBvaW50KEIzOjpWb2lkKTsKICAgICBCMzo6RWZmZWN0cyBlZmZlY3Rz
ID0gQjM6OkVmZmVjdHM6Om5vbmUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93YXNtL1dhc21CM0lSR2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L1dhc21CM0lSR2VuZXJhdG9yLmNwcAppbmRleCA1NmQyNWZkNDNiOWU5MTc4YmE0ZGQzOWZlNjhh
MjJjZGZiYjQyMTEyLi5hZTIxM2VhZTJiNTU5MzRjZDk1Y2JiMThkZWM3NWVjNWIzMGMxYjRiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQjNJUkdlbmVyYXRvci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUIzSVJHZW5lcmF0b3IuY3Bw
CkBAIC0yMDMwLDcgKzIwMzAsNyBAQCB2b2lkIEIzSVJHZW5lcmF0b3I6OmVtaXRFbnRyeVRpZXJV
cENoZWNrKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgQVNTRVJUKG1fdGllclVwKTsKLSAgICBW
YWx1ZSogY291bnREb3duTG9jYXRpb24gPSBjb25zdGFudChwb2ludGVyVHlwZSgpLCByZWludGVy
cHJldF9jYXN0PHVpbnQ2NF90PigmbV90aWVyVXAtPm1fY291bnRlciksIE9yaWdpbigpKTsKKyAg
ICBWYWx1ZSogY291bnREb3duTG9jYXRpb24gPSBjb25zdGFudChwb2ludGVyVHlwZSgpLCByZWlu
dGVycHJldF9jYXN0PHVpbnRwdHJfdD4oJm1fdGllclVwLT5tX2NvdW50ZXIpLCBPcmlnaW4oKSk7
CiAKICAgICBQYXRjaHBvaW50VmFsdWUqIHBhdGNoID0gbV9jdXJyZW50QmxvY2stPmFwcGVuZE5l
dzxQYXRjaHBvaW50VmFsdWU+KG1fcHJvYywgQjM6OlZvaWQsIE9yaWdpbigpKTsKICAgICBFZmZl
Y3RzIGVmZmVjdHMgPSBFZmZlY3RzOjpub25lKCk7CkBAIC0yMDgwLDcgKzIwODAsNyBAQCB2b2lk
IEIzSVJHZW5lcmF0b3I6OmVtaXRMb29wVGllclVwQ2hlY2sodWludDMyX3QgbG9vcEluZGV4LCBj
b25zdCBTdGFjayYgZW5jbG9zaQogICAgIG1fdGllclVwLT5vc3JFbnRyeVRyaWdnZXJzKCkuYXBw
ZW5kKFRpZXJVcENvdW50OjpUcmlnZ2VyUmVhc29uOjpEb250VHJpZ2dlcik7CiAgICAgbV90aWVy
VXAtPm91dGVyTG9vcHMoKS5hcHBlbmQob3V0ZXJMb29wSW5kZXgpOwogCi0gICAgVmFsdWUqIGNv
dW50RG93bkxvY2F0aW9uID0gY29uc3RhbnQocG9pbnRlclR5cGUoKSwgcmVpbnRlcnByZXRfY2Fz
dDx1aW50NjRfdD4oJm1fdGllclVwLT5tX2NvdW50ZXIpLCBvcmlnaW4pOworICAgIFZhbHVlKiBj
b3VudERvd25Mb2NhdGlvbiA9IGNvbnN0YW50KHBvaW50ZXJUeXBlKCksIHJlaW50ZXJwcmV0X2Nh
c3Q8dWludHB0cl90PigmbV90aWVyVXAtPm1fY291bnRlciksIG9yaWdpbik7CiAKICAgICBWZWN0
b3I8RXhwcmVzc2lvblR5cGU+IHN0YWNrbWFwOwogICAgIGZvciAoYXV0byYgbG9jYWwgOiBtX2xv
Y2FscykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTG9nZ2VySGVscGVyLmggYi9Tb3Vy
Y2UvV1RGL3d0Zi9Mb2dnZXJIZWxwZXIuaAppbmRleCA1YzgyZmU2YmQ5ZjYxNmJhNmNkZWRkNjNh
MTZiZTE5MDZjOTUwNzJlLi5mYTNjZmUwNDRiN2QxZGVhNzBhMzhiMWIwNGUwZDUzZmRiYjM1YTM4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Mb2dnZXJIZWxwZXIuaAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9Mb2dnZXJIZWxwZXIuaApAQCAtNzYsNyArNzYsNyBAQCBwdWJsaWM6CiAgICAgewog
ICAgICAgICBzdGF0aWMgY29uc3RleHByIHVpbnQ2NF90IHBhcmVudE1hc2sgPSAweGZmZmZmZmZm
ZmZmZjAwMDB1bGw7CiAgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgdWludDY0X3QgbWFza0xvd2Vy
V29yZCA9IDB4ZmZmZnVsbDsKLSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qg
dm9pZCo+KChyZWludGVycHJldF9jYXN0PHVpbnQ2NF90PihwYXJlbnRJZGVudGlmaWVyKSAmIHBh
cmVudE1hc2spIHwgKGNoaWxkSWRlbnRpZmllciAmIG1hc2tMb3dlcldvcmQpKTsKKyAgICAgICAg
cmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qgdm9pZCo+KChyZWludGVycHJldF9jYXN0PHVp
bnRwdHJfdD4ocGFyZW50SWRlbnRpZmllcikgJiBwYXJlbnRNYXNrKSB8IChjaGlsZElkZW50aWZp
ZXIgJiBtYXNrTG93ZXJXb3JkKSk7CiAgICAgfQogCiAgICAgc3RhdGljIGNvbnN0IHZvaWQqIHVu
aXF1ZUxvZ0lkZW50aWZpZXIoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431863</attachid>
            <date>2021-06-21 08:38:19 -0700</date>
            <delta_ts>2021-06-25 07:12:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227170-20210621113817.patch</filename>
            <type>text/plain</type>
            <size>8434</size>
            <attacher name="Mikhail R. Gadelha">mikhail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
YzRkM2I2Y2ZmNjRlZmNlMThjYWRhMjI0YmNmNDE3M2RlYTZlNWM4Li4zMTYzYWYwZDc2OTNlMTg2
ZWEyMzk2ZjFhNmZjZmZmZDIxNzg5NjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNiBAQAorMjAyMS0wNi0xOCAgTWlraGFpbCBSLiBHYWRlbGhhICA8bWlraGFpbEBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFByZXZlbnQgc2lnbi1leHRlbmRlZCBjYXN0cyBmb3IgMzIgYml0
cyBhcmNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjcxNzAKKworICAgICAgICBSZXZpZXdlZCBieSBZdXN1a2UgU3V6dWtpLgorCisgICAgICAgIElu
IGEgbnVtYmVyIG9mIHBsYWNlcywgYWRkcmVzc2VzIGFyZSByZWludGVycHJldGVkIGFzIHVpbnQ2
NCwgd2hpY2ggY2FuCisgICAgICAgIGxlYWQgdG8gd3JvbmcgYWRkcmVzc2VzIGluIDMyIGJpdHMg
YXJjaC4KKworICAgICAgICAqIGFzc2VtYmxlci90ZXN0bWFzbS5jcHA6CisgICAgICAgIChKU0M6
OnRlc3RCcmFuY2hUcnVuY2F0ZURvdWJsZVRvSW50MzIpOgorICAgICAgICAqIGRpc2Fzc2VtYmxl
ci9BUk02NC9BNjRET3Bjb2RlLmg6CisgICAgICAgIChKU0M6OkFSTTY0RGlzYXNzZW1ibGVyOjpB
NjRET3Bjb2RlOjphcHBlbmRQQ1JlbGF0aXZlT2Zmc2V0KToKKyAgICAgICAgKiBydW50aW1lL0pT
Q2VsbC5jcHA6CisgICAgICAgIChKU0M6OnJlcG9ydFphcHBlZENlbGxBbmRDcmFzaCk6CisgICAg
ICAgICogd2FzbS9XYXNtQWlySVJHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpXYXNtOjpB
aXJJUkdlbmVyYXRvcjo6ZW1pdEVudHJ5VGllclVwQ2hlY2spOgorICAgICAgICAoSlNDOjpXYXNt
OjpBaXJJUkdlbmVyYXRvcjo6ZW1pdExvb3BUaWVyVXBDaGVjayk6CisgICAgICAgICogd2FzbS9X
YXNtQjNJUkdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6Oldhc206OkIzSVJHZW5lcmF0b3I6
OmVtaXRFbnRyeVRpZXJVcENoZWNrKToKKyAgICAgICAgKEpTQzo6V2FzbTo6QjNJUkdlbmVyYXRv
cjo6ZW1pdExvb3BUaWVyVXBDaGVjayk6CisKIDIwMjEtMDYtMTggIFlpamlhIEh1YW5nICA8eWlq
aWFfaHVhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIG5ldyBwYXR0ZXJuIHRvIEIzUmVk
dWNlU3RyZW5ndGggYmFzZWQgb24gQnVnIDIyNjk4NApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA3YTUxYjUxZDEwOTVhNjQxMGJm
YjA2ZThkNTcwOTZkOTY4YzJiZTI5Li5jZGM2MzFmODcwMTIyY2U2NWNiYWY2OGQ5MmYyMWE0NGMx
ZjNmZDRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTA2LTE4ICBNaWtoYWlsIFIuIEdhZGVs
aGEgIDxtaWtoYWlsQGlnYWxpYS5jb20+CisKKyAgICAgICAgUHJldmVudCBzaWduLWV4dGVuZGVk
IGNhc3RzIGZvciAzMiBiaXRzIGFyY2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyNzE3MAorCisgICAgICAgIFJldmlld2VkIGJ5IFl1c3VrZSBTdXp1
a2kuCisKKyAgICAgICAgSW4gYSBudW1iZXIgb2YgcGxhY2VzLCBhZGRyZXNzZXMgYXJlIHJlaW50
ZXJwcmV0ZWQgYXMgdWludDY0LCB3aGljaCBjYW4KKyAgICAgICAgbGVhZCB0byB3cm9uZyBhZGRy
ZXNzZXMgaW4gMzIgYml0cyBhcmNoLgorCisgICAgICAgICogd3RmL0xvZ2dlckhlbHBlci5oOgor
ICAgICAgICAoV1RGOjpMb2dnZXJIZWxwZXI6OmNoaWxkTG9nSWRlbnRpZmllcik6CisKIDIwMjEt
MDYtMTcgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CiAKICAgICAgICAgW0Nv
Y29hXSBEaXNhYmxlIGhhcmR3YXJlIGRlY29kaW5nIGluIHRoZSBXZWJQcm9jZXNzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL3Rlc3RtYXNtLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvdGVzdG1hc20uY3BwCmluZGV4IDk5NDY1ODljMDI4
YWMzZTQxZGZiZjlhNWY1YzI4ZDhmMzRmZWI2MzguLjkyMTJhMTkwYWMyYmI3NGExZTFhMDU2YzA4
ZWJhZTQ4YjIzNGRhOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvdGVzdG1hc20uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvdGVz
dG1hc20uY3BwCkBAIC0yOTIsNyArMjkyLDcgQEAgdm9pZCB0ZXN0R2V0RWZmZWN0aXZlQWRkcmVz
cyhzaXplX3QgcG9pbnRlciwgcHRyZGlmZl90IGxlbmd0aCwgaW50MzJfdCBvZmZzZXQsIEMKIC8v
IE5hbiwgc2hvdWxkIGVpdGhlciB5aWVsZCAwIGluIGRlc3Qgb3IgZmFpbC4KIHZvaWQgdGVzdEJy
YW5jaFRydW5jYXRlRG91YmxlVG9JbnQzMihkb3VibGUgdmFsLCBpbnQzMl90IGV4cGVjdGVkKQog
ewotICAgIGNvbnN0IHVpbnQ2NF90IHZhbEFzVUludCA9ICpyZWludGVycHJldF9jYXN0PHVpbnQ2
NF90Kj4oJnZhbCk7CisgICAgY29uc3QgdWludDY0X3QgdmFsQXNVSW50ID0gYml0d2lzZV9jYXN0
PHVpbnQ2NF90Pih2YWwpOwogI2lmIENQVShCSUdfRU5ESUFOKQogICAgIGNvbnN0IGJvb2wgaXNC
aWdFbmRpYW4gPSB0cnVlOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kaXNhc3NlbWJsZXIvQVJNNjQvQTY0RE9wY29kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Rpc2Fzc2VtYmxlci9BUk02NC9BNjRET3Bjb2RlLmgKaW5kZXggZmQ5ZGI3Y2FlNThlOTlhNWZi
Y2I2N2QyODBmM2QyNTNkMmRlNGQ0MS4uZGQ3YTBiY2JkNGIxMTk2M2U4MDA5NzVlMTE0NTc4ZDZh
YzY3M2Y5MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxlci9B
Uk02NC9BNjRET3Bjb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxl
ci9BUk02NC9BNjRET3Bjb2RlLmgKQEAgLTE4Nyw3ICsxODcsNyBAQCBwcm90ZWN0ZWQ6CiAKICAg
ICB2b2lkIGFwcGVuZFBDUmVsYXRpdmVPZmZzZXQodWludDMyX3QqIHBjLCBpbnQzMl90IGltbWVk
aWF0ZSkKICAgICB7Ci0gICAgICAgIGJ1ZmZlclByaW50ZigiMHglIiBQUkl4NjQsIHJlaW50ZXJw
cmV0X2Nhc3Q8dWludDY0X3Q+KHBjICsgaW1tZWRpYXRlKSk7CisgICAgICAgIGJ1ZmZlclByaW50
ZigiMHglIiBQUkl4UFRSLCBiaXR3aXNlX2Nhc3Q8dWludHB0cl90PihwYyArIGltbWVkaWF0ZSkp
OwogICAgIH0KIAogICAgIHZvaWQgYXBwZW5kU2hpZnRBbW91bnQodW5zaWduZWQgYW1vdW50KQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvanNjLmNwcAppbmRleCBlNWJlZmRmZDBhM2RlMmVlYTE5YmExNzc1ZGMzNTMwZmVm
OTI0NTgzLi43Nzc2Y2EyZDFhZjg2Mzk3NjEzMTYzMTk3ZDM0MjQwMmY2ZTI1OTVlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvanNjLmNwcApAQCAtMTQ4MCw3ICsxNDgwLDcgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNU
SU9OKGZ1bmN0aW9uQWRkcmVzc09mLCAoSlNHbG9iYWxPYmplY3QqLCBDYWxsRnJhbWUqIGNhbGxG
cmEKICAgICBpZiAoIXZhbHVlLmlzQ2VsbCgpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGpzVW5kZWZpbmVkKCkpOwogICAgIC8vIE5lZWQgdG8gY2FzdCB0byB1aW50NjRfdCBzbyBi
aXR3aXNlX2Nhc3Qgd2lsbCBwbGF5IGFsb25nLgotICAgIHVpbnQ2NF90IGFzTnVtYmVyID0gcmVp
bnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KHZhbHVlLmFzQ2VsbCgpKTsKKyAgICB1aW50NjRfdCBh
c051bWJlciA9IGJpdHdpc2VfY2FzdDx1aW50cHRyX3Q+KHZhbHVlLmFzQ2VsbCgpKTsKICAgICBF
bmNvZGVkSlNWYWx1ZSByZXR1cm5WYWx1ZSA9IEpTVmFsdWU6OmVuY29kZShqc051bWJlcihiaXR3
aXNlX2Nhc3Q8ZG91YmxlPihhc051bWJlcikpKTsKICAgICByZXR1cm4gcmV0dXJuVmFsdWU7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcAppbmRleCBmMjI4NmUxMGUz
MzBmOWE5MWE3MjQ5OTMzYjNiNDdjOWRmZjk0MDAyLi5iMWNhNjkyNzQzYzZhZmRkYWZmMWVhZDM1
NzY5NGI3NDZmYzA2NGQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0NlbGwuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5j
cHAKQEAgLTI5Miw3ICsyOTIsNyBAQCBORVZFUl9JTkxJTkUgTk9fUkVUVVJOX0RVRV9UT19DUkFT
SCBOT1RfVEFJTF9DQUxMRUQgdm9pZCByZXBvcnRaYXBwZWRDZWxsQW5kQ3JhcwogICAgICAgICB2
YXJpb3VzU3RhdGUgfD0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KGZvdW5kQmxvY2tIYW5kbGUtPm5l
ZWRzRGVzdHJ1Y3Rpb24oKSkgPDwgMzsKICAgICAgICAgdmFyaW91c1N0YXRlIHw9IHN0YXRpY19j
YXN0PHVpbnQ2NF90Pihmb3VuZEJsb2NrLT5pc05ld2x5QWxsb2NhdGVkKGNlbGwpKSA8PCA0Owog
Ci0gICAgICAgIHB0cmRpZmZfdCBjZWxsT2Zmc2V0ID0gY2VsbEFkZHJlc3MgLSByZWludGVycHJl
dF9jYXN0PHVpbnQ2NF90Pihmb3VuZEJsb2NrSGFuZGxlLT5zdGFydCgpKTsKKyAgICAgICAgcHRy
ZGlmZl90IGNlbGxPZmZzZXQgPSBjZWxsQWRkcmVzcyAtIGJpdHdpc2VfY2FzdDx1aW50cHRyX3Q+
KGZvdW5kQmxvY2tIYW5kbGUtPnN0YXJ0KCkpOwogICAgICAgICBib29sIGNlbGxJc1Byb3Blcmx5
QWxpZ25lZCA9ICEoY2VsbE9mZnNldCAlIGNlbGxTaXplKTsKICAgICAgICAgdmFyaW91c1N0YXRl
IHw9IHN0YXRpY19jYXN0PHVpbnQ2NF90PihjZWxsSXNQcm9wZXJseUFsaWduZWQpIDw8IDU7CiAg
ICAgfSBlbHNlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21B
aXJJUkdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQWlySVJH
ZW5lcmF0b3IuY3BwCmluZGV4IDhmNDViMWFkMWVlZDRiZTExZDhhZjExODQ3MDkwYjdmNDJiN2Nj
MGUuLmIwZDVlM2NhZDI1NTgwZmI5Y2MxNDY0NmVhMzc5OWY2OTA5NWExYmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21BaXJJUkdlbmVyYXRvci5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUFpcklSR2VuZXJhdG9yLmNwcApAQCAtMjc5
Niw4ICsyNzk2LDcgQEAgdm9pZCBBaXJJUkdlbmVyYXRvcjo6ZW1pdEVudHJ5VGllclVwQ2hlY2so
KQogICAgICAgICByZXR1cm47CiAKICAgICBhdXRvIGNvdW50ZG93blB0ciA9IGc2NCgpOwotCi0g
ICAgYXBwZW5kKE1vdmUsIEFyZzo6YmlnSW1tKHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+KCZt
X3RpZXJVcC0+bV9jb3VudGVyKSksIGNvdW50ZG93blB0cik7CisgICAgYXBwZW5kKE1vdmUsIEFy
Zzo6YmlnSW1tKGJpdHdpc2VfY2FzdDx1aW50cHRyX3Q+KCZtX3RpZXJVcC0+bV9jb3VudGVyKSks
IGNvdW50ZG93blB0cik7CiAKICAgICBhdXRvKiBwYXRjaCA9IGFkZFBhdGNocG9pbnQoQjM6OlZv
aWQpOwogICAgIEIzOjpFZmZlY3RzIGVmZmVjdHMgPSBCMzo6RWZmZWN0czo6bm9uZSgpOwpAQCAt
Mjg0OCw4ICsyODQ3LDcgQEAgdm9pZCBBaXJJUkdlbmVyYXRvcjo6ZW1pdExvb3BUaWVyVXBDaGVj
ayh1aW50MzJfdCBsb29wSW5kZXgsIGNvbnN0IFN0YWNrJiBlbmNsb3MKICAgICBtX3RpZXJVcC0+
b3V0ZXJMb29wcygpLmFwcGVuZChvdXRlckxvb3BJbmRleCk7CiAKICAgICBhdXRvIGNvdW50ZG93
blB0ciA9IGc2NCgpOwotCi0gICAgYXBwZW5kKE1vdmUsIEFyZzo6YmlnSW1tKHJlaW50ZXJwcmV0
X2Nhc3Q8dWludDY0X3Q+KCZtX3RpZXJVcC0+bV9jb3VudGVyKSksIGNvdW50ZG93blB0cik7Cisg
ICAgYXBwZW5kKE1vdmUsIEFyZzo6YmlnSW1tKGJpdHdpc2VfY2FzdDx1aW50cHRyX3Q+KCZtX3Rp
ZXJVcC0+bV9jb3VudGVyKSksIGNvdW50ZG93blB0cik7CiAKICAgICBhdXRvKiBwYXRjaCA9IGFk
ZFBhdGNocG9pbnQoQjM6OlZvaWQpOwogICAgIEIzOjpFZmZlY3RzIGVmZmVjdHMgPSBCMzo6RWZm
ZWN0czo6bm9uZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2Fz
bUIzSVJHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUIzSVJH
ZW5lcmF0b3IuY3BwCmluZGV4IDU2ZDI1ZmQ0M2I5ZTkxNzhiYTRkZDM5ZmU2OGEyMmNkZmJiNDIx
MTIuLjVlMTk5NTIxYmUxNGRlZDgwYjdkYzgzN2M4YjQwYjI1YjA3MTIxMGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CM0lSR2VuZXJhdG9yLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQjNJUkdlbmVyYXRvci5jcHAKQEAgLTIwMzAs
NyArMjAzMCw3IEBAIHZvaWQgQjNJUkdlbmVyYXRvcjo6ZW1pdEVudHJ5VGllclVwQ2hlY2soKQog
ICAgICAgICByZXR1cm47CiAKICAgICBBU1NFUlQobV90aWVyVXApOwotICAgIFZhbHVlKiBjb3Vu
dERvd25Mb2NhdGlvbiA9IGNvbnN0YW50KHBvaW50ZXJUeXBlKCksIHJlaW50ZXJwcmV0X2Nhc3Q8
dWludDY0X3Q+KCZtX3RpZXJVcC0+bV9jb3VudGVyKSwgT3JpZ2luKCkpOworICAgIFZhbHVlKiBj
b3VudERvd25Mb2NhdGlvbiA9IGNvbnN0YW50KHBvaW50ZXJUeXBlKCksIGJpdHdpc2VfY2FzdDx1
aW50cHRyX3Q+KCZtX3RpZXJVcC0+bV9jb3VudGVyKSwgT3JpZ2luKCkpOwogCiAgICAgUGF0Y2hw
b2ludFZhbHVlKiBwYXRjaCA9IG1fY3VycmVudEJsb2NrLT5hcHBlbmROZXc8UGF0Y2hwb2ludFZh
bHVlPihtX3Byb2MsIEIzOjpWb2lkLCBPcmlnaW4oKSk7CiAgICAgRWZmZWN0cyBlZmZlY3RzID0g
RWZmZWN0czo6bm9uZSgpOwpAQCAtMjA4MCw3ICsyMDgwLDcgQEAgdm9pZCBCM0lSR2VuZXJhdG9y
OjplbWl0TG9vcFRpZXJVcENoZWNrKHVpbnQzMl90IGxvb3BJbmRleCwgY29uc3QgU3RhY2smIGVu
Y2xvc2kKICAgICBtX3RpZXJVcC0+b3NyRW50cnlUcmlnZ2VycygpLmFwcGVuZChUaWVyVXBDb3Vu
dDo6VHJpZ2dlclJlYXNvbjo6RG9udFRyaWdnZXIpOwogICAgIG1fdGllclVwLT5vdXRlckxvb3Bz
KCkuYXBwZW5kKG91dGVyTG9vcEluZGV4KTsKIAotICAgIFZhbHVlKiBjb3VudERvd25Mb2NhdGlv
biA9IGNvbnN0YW50KHBvaW50ZXJUeXBlKCksIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+KCZt
X3RpZXJVcC0+bV9jb3VudGVyKSwgb3JpZ2luKTsKKyAgICBWYWx1ZSogY291bnREb3duTG9jYXRp
b24gPSBjb25zdGFudChwb2ludGVyVHlwZSgpLCBiaXR3aXNlX2Nhc3Q8dWludHB0cl90PigmbV90
aWVyVXAtPm1fY291bnRlciksIG9yaWdpbik7CiAKICAgICBWZWN0b3I8RXhwcmVzc2lvblR5cGU+
IHN0YWNrbWFwOwogICAgIGZvciAoYXV0byYgbG9jYWwgOiBtX2xvY2FscykgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvTG9nZ2VySGVscGVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9Mb2dnZXJI
ZWxwZXIuaAppbmRleCA1YzgyZmU2YmQ5ZjYxNmJhNmNkZWRkNjNhMTZiZTE5MDZjOTUwNzJlLi5i
YTEwM2Y4ZTBhNzc4ZWUxZTgxZDBiYWVmMWU1YzQ0YmYwYjlhYjVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9Mb2dnZXJIZWxwZXIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Mb2dnZXJIZWxw
ZXIuaApAQCAtNzYsNyArNzYsNyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBzdGF0aWMgY29u
c3RleHByIHVpbnQ2NF90IHBhcmVudE1hc2sgPSAweGZmZmZmZmZmZmZmZjAwMDB1bGw7CiAgICAg
ICAgIHN0YXRpYyBjb25zdGV4cHIgdWludDY0X3QgbWFza0xvd2VyV29yZCA9IDB4ZmZmZnVsbDsK
LSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qgdm9pZCo+KChyZWludGVycHJl
dF9jYXN0PHVpbnQ2NF90PihwYXJlbnRJZGVudGlmaWVyKSAmIHBhcmVudE1hc2spIHwgKGNoaWxk
SWRlbnRpZmllciAmIG1hc2tMb3dlcldvcmQpKTsKKyAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0
X2Nhc3Q8Y29uc3Qgdm9pZCo+KChiaXR3aXNlX2Nhc3Q8dWludHB0cl90PihwYXJlbnRJZGVudGlm
aWVyKSAmIHBhcmVudE1hc2spIHwgKGNoaWxkSWRlbnRpZmllciAmIG1hc2tMb3dlcldvcmQpKTsK
ICAgICB9CiAKICAgICBzdGF0aWMgY29uc3Qgdm9pZCogdW5pcXVlTG9nSWRlbnRpZmllcigpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432265</attachid>
            <date>2021-06-25 07:12:09 -0700</date>
            <delta_ts>2021-06-28 09:48:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227170-20210625101207.patch</filename>
            <type>text/plain</type>
            <size>8434</size>
            <attacher name="Mikhail R. Gadelha">mikhail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
YzRkM2I2Y2ZmNjRlZmNlMThjYWRhMjI0YmNmNDE3M2RlYTZlNWM4Li4zMTYzYWYwZDc2OTNlMTg2
ZWEyMzk2ZjFhNmZjZmZmZDIxNzg5NjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNiBAQAorMjAyMS0wNi0xOCAgTWlraGFpbCBSLiBHYWRlbGhhICA8bWlraGFpbEBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFByZXZlbnQgc2lnbi1leHRlbmRlZCBjYXN0cyBmb3IgMzIgYml0
cyBhcmNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjcxNzAKKworICAgICAgICBSZXZpZXdlZCBieSBZdXN1a2UgU3V6dWtpLgorCisgICAgICAgIElu
IGEgbnVtYmVyIG9mIHBsYWNlcywgYWRkcmVzc2VzIGFyZSByZWludGVycHJldGVkIGFzIHVpbnQ2
NCwgd2hpY2ggY2FuCisgICAgICAgIGxlYWQgdG8gd3JvbmcgYWRkcmVzc2VzIGluIDMyIGJpdHMg
YXJjaC4KKworICAgICAgICAqIGFzc2VtYmxlci90ZXN0bWFzbS5jcHA6CisgICAgICAgIChKU0M6
OnRlc3RCcmFuY2hUcnVuY2F0ZURvdWJsZVRvSW50MzIpOgorICAgICAgICAqIGRpc2Fzc2VtYmxl
ci9BUk02NC9BNjRET3Bjb2RlLmg6CisgICAgICAgIChKU0M6OkFSTTY0RGlzYXNzZW1ibGVyOjpB
NjRET3Bjb2RlOjphcHBlbmRQQ1JlbGF0aXZlT2Zmc2V0KToKKyAgICAgICAgKiBydW50aW1lL0pT
Q2VsbC5jcHA6CisgICAgICAgIChKU0M6OnJlcG9ydFphcHBlZENlbGxBbmRDcmFzaCk6CisgICAg
ICAgICogd2FzbS9XYXNtQWlySVJHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpXYXNtOjpB
aXJJUkdlbmVyYXRvcjo6ZW1pdEVudHJ5VGllclVwQ2hlY2spOgorICAgICAgICAoSlNDOjpXYXNt
OjpBaXJJUkdlbmVyYXRvcjo6ZW1pdExvb3BUaWVyVXBDaGVjayk6CisgICAgICAgICogd2FzbS9X
YXNtQjNJUkdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6Oldhc206OkIzSVJHZW5lcmF0b3I6
OmVtaXRFbnRyeVRpZXJVcENoZWNrKToKKyAgICAgICAgKEpTQzo6V2FzbTo6QjNJUkdlbmVyYXRv
cjo6ZW1pdExvb3BUaWVyVXBDaGVjayk6CisKIDIwMjEtMDYtMTggIFlpamlhIEh1YW5nICA8eWlq
aWFfaHVhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIG5ldyBwYXR0ZXJuIHRvIEIzUmVk
dWNlU3RyZW5ndGggYmFzZWQgb24gQnVnIDIyNjk4NApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA3YTUxYjUxZDEwOTVhNjQxMGJm
YjA2ZThkNTcwOTZkOTY4YzJiZTI5Li5jZGM2MzFmODcwMTIyY2U2NWNiYWY2OGQ5MmYyMWE0NGMx
ZjNmZDRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTA2LTE4ICBNaWtoYWlsIFIuIEdhZGVs
aGEgIDxtaWtoYWlsQGlnYWxpYS5jb20+CisKKyAgICAgICAgUHJldmVudCBzaWduLWV4dGVuZGVk
IGNhc3RzIGZvciAzMiBiaXRzIGFyY2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyNzE3MAorCisgICAgICAgIFJldmlld2VkIGJ5IFl1c3VrZSBTdXp1
a2kuCisKKyAgICAgICAgSW4gYSBudW1iZXIgb2YgcGxhY2VzLCBhZGRyZXNzZXMgYXJlIHJlaW50
ZXJwcmV0ZWQgYXMgdWludDY0LCB3aGljaCBjYW4KKyAgICAgICAgbGVhZCB0byB3cm9uZyBhZGRy
ZXNzZXMgaW4gMzIgYml0cyBhcmNoLgorCisgICAgICAgICogd3RmL0xvZ2dlckhlbHBlci5oOgor
ICAgICAgICAoV1RGOjpMb2dnZXJIZWxwZXI6OmNoaWxkTG9nSWRlbnRpZmllcik6CisKIDIwMjEt
MDYtMTcgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CiAKICAgICAgICAgW0Nv
Y29hXSBEaXNhYmxlIGhhcmR3YXJlIGRlY29kaW5nIGluIHRoZSBXZWJQcm9jZXNzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL3Rlc3RtYXNtLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvdGVzdG1hc20uY3BwCmluZGV4IDk5NDY1ODljMDI4
YWMzZTQxZGZiZjlhNWY1YzI4ZDhmMzRmZWI2MzguLjkyMTJhMTkwYWMyYmI3NGExZTFhMDU2YzA4
ZWJhZTQ4YjIzNGRhOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvdGVzdG1hc20uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvdGVz
dG1hc20uY3BwCkBAIC0yOTIsNyArMjkyLDcgQEAgdm9pZCB0ZXN0R2V0RWZmZWN0aXZlQWRkcmVz
cyhzaXplX3QgcG9pbnRlciwgcHRyZGlmZl90IGxlbmd0aCwgaW50MzJfdCBvZmZzZXQsIEMKIC8v
IE5hbiwgc2hvdWxkIGVpdGhlciB5aWVsZCAwIGluIGRlc3Qgb3IgZmFpbC4KIHZvaWQgdGVzdEJy
YW5jaFRydW5jYXRlRG91YmxlVG9JbnQzMihkb3VibGUgdmFsLCBpbnQzMl90IGV4cGVjdGVkKQog
ewotICAgIGNvbnN0IHVpbnQ2NF90IHZhbEFzVUludCA9ICpyZWludGVycHJldF9jYXN0PHVpbnQ2
NF90Kj4oJnZhbCk7CisgICAgY29uc3QgdWludDY0X3QgdmFsQXNVSW50ID0gYml0d2lzZV9jYXN0
PHVpbnQ2NF90Pih2YWwpOwogI2lmIENQVShCSUdfRU5ESUFOKQogICAgIGNvbnN0IGJvb2wgaXNC
aWdFbmRpYW4gPSB0cnVlOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kaXNhc3NlbWJsZXIvQVJNNjQvQTY0RE9wY29kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Rpc2Fzc2VtYmxlci9BUk02NC9BNjRET3Bjb2RlLmgKaW5kZXggZmQ5ZGI3Y2FlNThlOTlhNWZi
Y2I2N2QyODBmM2QyNTNkMmRlNGQ0MS4uZGQ3YTBiY2JkNGIxMTk2M2U4MDA5NzVlMTE0NTc4ZDZh
YzY3M2Y5MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxlci9B
Uk02NC9BNjRET3Bjb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxl
ci9BUk02NC9BNjRET3Bjb2RlLmgKQEAgLTE4Nyw3ICsxODcsNyBAQCBwcm90ZWN0ZWQ6CiAKICAg
ICB2b2lkIGFwcGVuZFBDUmVsYXRpdmVPZmZzZXQodWludDMyX3QqIHBjLCBpbnQzMl90IGltbWVk
aWF0ZSkKICAgICB7Ci0gICAgICAgIGJ1ZmZlclByaW50ZigiMHglIiBQUkl4NjQsIHJlaW50ZXJw
cmV0X2Nhc3Q8dWludDY0X3Q+KHBjICsgaW1tZWRpYXRlKSk7CisgICAgICAgIGJ1ZmZlclByaW50
ZigiMHglIiBQUkl4UFRSLCBiaXR3aXNlX2Nhc3Q8dWludHB0cl90PihwYyArIGltbWVkaWF0ZSkp
OwogICAgIH0KIAogICAgIHZvaWQgYXBwZW5kU2hpZnRBbW91bnQodW5zaWduZWQgYW1vdW50KQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvanNjLmNwcAppbmRleCBlNWJlZmRmZDBhM2RlMmVlYTE5YmExNzc1ZGMzNTMwZmVm
OTI0NTgzLi43Nzc2Y2EyZDFhZjg2Mzk3NjEzMTYzMTk3ZDM0MjQwMmY2ZTI1OTVlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvanNjLmNwcApAQCAtMTQ4MCw3ICsxNDgwLDcgQEAgSlNDX0RFRklORV9IT1NUX0ZVTkNU
SU9OKGZ1bmN0aW9uQWRkcmVzc09mLCAoSlNHbG9iYWxPYmplY3QqLCBDYWxsRnJhbWUqIGNhbGxG
cmEKICAgICBpZiAoIXZhbHVlLmlzQ2VsbCgpKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGpzVW5kZWZpbmVkKCkpOwogICAgIC8vIE5lZWQgdG8gY2FzdCB0byB1aW50NjRfdCBzbyBi
aXR3aXNlX2Nhc3Qgd2lsbCBwbGF5IGFsb25nLgotICAgIHVpbnQ2NF90IGFzTnVtYmVyID0gcmVp
bnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KHZhbHVlLmFzQ2VsbCgpKTsKKyAgICB1aW50NjRfdCBh
c051bWJlciA9IGJpdHdpc2VfY2FzdDx1aW50cHRyX3Q+KHZhbHVlLmFzQ2VsbCgpKTsKICAgICBF
bmNvZGVkSlNWYWx1ZSByZXR1cm5WYWx1ZSA9IEpTVmFsdWU6OmVuY29kZShqc051bWJlcihiaXR3
aXNlX2Nhc3Q8ZG91YmxlPihhc051bWJlcikpKTsKICAgICByZXR1cm4gcmV0dXJuVmFsdWU7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcAppbmRleCBmMjI4NmUxMGUz
MzBmOWE5MWE3MjQ5OTMzYjNiNDdjOWRmZjk0MDAyLi5iMWNhNjkyNzQzYzZhZmRkYWZmMWVhZDM1
NzY5NGI3NDZmYzA2NGQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0NlbGwuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5j
cHAKQEAgLTI5Miw3ICsyOTIsNyBAQCBORVZFUl9JTkxJTkUgTk9fUkVUVVJOX0RVRV9UT19DUkFT
SCBOT1RfVEFJTF9DQUxMRUQgdm9pZCByZXBvcnRaYXBwZWRDZWxsQW5kQ3JhcwogICAgICAgICB2
YXJpb3VzU3RhdGUgfD0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KGZvdW5kQmxvY2tIYW5kbGUtPm5l
ZWRzRGVzdHJ1Y3Rpb24oKSkgPDwgMzsKICAgICAgICAgdmFyaW91c1N0YXRlIHw9IHN0YXRpY19j
YXN0PHVpbnQ2NF90Pihmb3VuZEJsb2NrLT5pc05ld2x5QWxsb2NhdGVkKGNlbGwpKSA8PCA0Owog
Ci0gICAgICAgIHB0cmRpZmZfdCBjZWxsT2Zmc2V0ID0gY2VsbEFkZHJlc3MgLSByZWludGVycHJl
dF9jYXN0PHVpbnQ2NF90Pihmb3VuZEJsb2NrSGFuZGxlLT5zdGFydCgpKTsKKyAgICAgICAgcHRy
ZGlmZl90IGNlbGxPZmZzZXQgPSBjZWxsQWRkcmVzcyAtIGJpdHdpc2VfY2FzdDx1aW50cHRyX3Q+
KGZvdW5kQmxvY2tIYW5kbGUtPnN0YXJ0KCkpOwogICAgICAgICBib29sIGNlbGxJc1Byb3Blcmx5
QWxpZ25lZCA9ICEoY2VsbE9mZnNldCAlIGNlbGxTaXplKTsKICAgICAgICAgdmFyaW91c1N0YXRl
IHw9IHN0YXRpY19jYXN0PHVpbnQ2NF90PihjZWxsSXNQcm9wZXJseUFsaWduZWQpIDw8IDU7CiAg
ICAgfSBlbHNlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21B
aXJJUkdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQWlySVJH
ZW5lcmF0b3IuY3BwCmluZGV4IDhmNDViMWFkMWVlZDRiZTExZDhhZjExODQ3MDkwYjdmNDJiN2Nj
MGUuLmIwZDVlM2NhZDI1NTgwZmI5Y2MxNDY0NmVhMzc5OWY2OTA5NWExYmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21BaXJJUkdlbmVyYXRvci5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUFpcklSR2VuZXJhdG9yLmNwcApAQCAtMjc5
Niw4ICsyNzk2LDcgQEAgdm9pZCBBaXJJUkdlbmVyYXRvcjo6ZW1pdEVudHJ5VGllclVwQ2hlY2so
KQogICAgICAgICByZXR1cm47CiAKICAgICBhdXRvIGNvdW50ZG93blB0ciA9IGc2NCgpOwotCi0g
ICAgYXBwZW5kKE1vdmUsIEFyZzo6YmlnSW1tKHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+KCZt
X3RpZXJVcC0+bV9jb3VudGVyKSksIGNvdW50ZG93blB0cik7CisgICAgYXBwZW5kKE1vdmUsIEFy
Zzo6YmlnSW1tKGJpdHdpc2VfY2FzdDx1aW50cHRyX3Q+KCZtX3RpZXJVcC0+bV9jb3VudGVyKSks
IGNvdW50ZG93blB0cik7CiAKICAgICBhdXRvKiBwYXRjaCA9IGFkZFBhdGNocG9pbnQoQjM6OlZv
aWQpOwogICAgIEIzOjpFZmZlY3RzIGVmZmVjdHMgPSBCMzo6RWZmZWN0czo6bm9uZSgpOwpAQCAt
Mjg0OCw4ICsyODQ3LDcgQEAgdm9pZCBBaXJJUkdlbmVyYXRvcjo6ZW1pdExvb3BUaWVyVXBDaGVj
ayh1aW50MzJfdCBsb29wSW5kZXgsIGNvbnN0IFN0YWNrJiBlbmNsb3MKICAgICBtX3RpZXJVcC0+
b3V0ZXJMb29wcygpLmFwcGVuZChvdXRlckxvb3BJbmRleCk7CiAKICAgICBhdXRvIGNvdW50ZG93
blB0ciA9IGc2NCgpOwotCi0gICAgYXBwZW5kKE1vdmUsIEFyZzo6YmlnSW1tKHJlaW50ZXJwcmV0
X2Nhc3Q8dWludDY0X3Q+KCZtX3RpZXJVcC0+bV9jb3VudGVyKSksIGNvdW50ZG93blB0cik7Cisg
ICAgYXBwZW5kKE1vdmUsIEFyZzo6YmlnSW1tKGJpdHdpc2VfY2FzdDx1aW50cHRyX3Q+KCZtX3Rp
ZXJVcC0+bV9jb3VudGVyKSksIGNvdW50ZG93blB0cik7CiAKICAgICBhdXRvKiBwYXRjaCA9IGFk
ZFBhdGNocG9pbnQoQjM6OlZvaWQpOwogICAgIEIzOjpFZmZlY3RzIGVmZmVjdHMgPSBCMzo6RWZm
ZWN0czo6bm9uZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2Fz
bUIzSVJHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUIzSVJH
ZW5lcmF0b3IuY3BwCmluZGV4IDU2ZDI1ZmQ0M2I5ZTkxNzhiYTRkZDM5ZmU2OGEyMmNkZmJiNDIx
MTIuLjVlMTk5NTIxYmUxNGRlZDgwYjdkYzgzN2M4YjQwYjI1YjA3MTIxMGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CM0lSR2VuZXJhdG9yLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQjNJUkdlbmVyYXRvci5jcHAKQEAgLTIwMzAs
NyArMjAzMCw3IEBAIHZvaWQgQjNJUkdlbmVyYXRvcjo6ZW1pdEVudHJ5VGllclVwQ2hlY2soKQog
ICAgICAgICByZXR1cm47CiAKICAgICBBU1NFUlQobV90aWVyVXApOwotICAgIFZhbHVlKiBjb3Vu
dERvd25Mb2NhdGlvbiA9IGNvbnN0YW50KHBvaW50ZXJUeXBlKCksIHJlaW50ZXJwcmV0X2Nhc3Q8
dWludDY0X3Q+KCZtX3RpZXJVcC0+bV9jb3VudGVyKSwgT3JpZ2luKCkpOworICAgIFZhbHVlKiBj
b3VudERvd25Mb2NhdGlvbiA9IGNvbnN0YW50KHBvaW50ZXJUeXBlKCksIGJpdHdpc2VfY2FzdDx1
aW50cHRyX3Q+KCZtX3RpZXJVcC0+bV9jb3VudGVyKSwgT3JpZ2luKCkpOwogCiAgICAgUGF0Y2hw
b2ludFZhbHVlKiBwYXRjaCA9IG1fY3VycmVudEJsb2NrLT5hcHBlbmROZXc8UGF0Y2hwb2ludFZh
bHVlPihtX3Byb2MsIEIzOjpWb2lkLCBPcmlnaW4oKSk7CiAgICAgRWZmZWN0cyBlZmZlY3RzID0g
RWZmZWN0czo6bm9uZSgpOwpAQCAtMjA4MCw3ICsyMDgwLDcgQEAgdm9pZCBCM0lSR2VuZXJhdG9y
OjplbWl0TG9vcFRpZXJVcENoZWNrKHVpbnQzMl90IGxvb3BJbmRleCwgY29uc3QgU3RhY2smIGVu
Y2xvc2kKICAgICBtX3RpZXJVcC0+b3NyRW50cnlUcmlnZ2VycygpLmFwcGVuZChUaWVyVXBDb3Vu
dDo6VHJpZ2dlclJlYXNvbjo6RG9udFRyaWdnZXIpOwogICAgIG1fdGllclVwLT5vdXRlckxvb3Bz
KCkuYXBwZW5kKG91dGVyTG9vcEluZGV4KTsKIAotICAgIFZhbHVlKiBjb3VudERvd25Mb2NhdGlv
biA9IGNvbnN0YW50KHBvaW50ZXJUeXBlKCksIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+KCZt
X3RpZXJVcC0+bV9jb3VudGVyKSwgb3JpZ2luKTsKKyAgICBWYWx1ZSogY291bnREb3duTG9jYXRp
b24gPSBjb25zdGFudChwb2ludGVyVHlwZSgpLCBiaXR3aXNlX2Nhc3Q8dWludHB0cl90PigmbV90
aWVyVXAtPm1fY291bnRlciksIG9yaWdpbik7CiAKICAgICBWZWN0b3I8RXhwcmVzc2lvblR5cGU+
IHN0YWNrbWFwOwogICAgIGZvciAoYXV0byYgbG9jYWwgOiBtX2xvY2FscykgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvTG9nZ2VySGVscGVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9Mb2dnZXJI
ZWxwZXIuaAppbmRleCA1YzgyZmU2YmQ5ZjYxNmJhNmNkZWRkNjNhMTZiZTE5MDZjOTUwNzJlLi5i
YTEwM2Y4ZTBhNzc4ZWUxZTgxZDBiYWVmMWU1YzQ0YmYwYjlhYjVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9Mb2dnZXJIZWxwZXIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Mb2dnZXJIZWxw
ZXIuaApAQCAtNzYsNyArNzYsNyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBzdGF0aWMgY29u
c3RleHByIHVpbnQ2NF90IHBhcmVudE1hc2sgPSAweGZmZmZmZmZmZmZmZjAwMDB1bGw7CiAgICAg
ICAgIHN0YXRpYyBjb25zdGV4cHIgdWludDY0X3QgbWFza0xvd2VyV29yZCA9IDB4ZmZmZnVsbDsK
LSAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qgdm9pZCo+KChyZWludGVycHJl
dF9jYXN0PHVpbnQ2NF90PihwYXJlbnRJZGVudGlmaWVyKSAmIHBhcmVudE1hc2spIHwgKGNoaWxk
SWRlbnRpZmllciAmIG1hc2tMb3dlcldvcmQpKTsKKyAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0
X2Nhc3Q8Y29uc3Qgdm9pZCo+KChiaXR3aXNlX2Nhc3Q8dWludHB0cl90PihwYXJlbnRJZGVudGlm
aWVyKSAmIHBhcmVudE1hc2spIHwgKGNoaWxkSWRlbnRpZmllciAmIG1hc2tMb3dlcldvcmQpKTsK
ICAgICB9CiAKICAgICBzdGF0aWMgY29uc3Qgdm9pZCogdW5pcXVlTG9nSWRlbnRpZmllcigpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>