<?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>230241</bug_id>
          
          <creation_ts>2021-09-13 17:53:59 -0700</creation_ts>
          <short_desc>Fix crash in 32 bits due to not enough scratch registers available</short_desc>
          <delta_ts>2021-09-16 03:40:16 -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>New Bugs</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>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1793171</commentid>
    <comment_count>0</comment_count>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2021-09-13 17:53:59 -0700</bug_when>
    <thetext>Fix crash in 32 bits due to not enough scratch registers available</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793174</commentid>
    <comment_count>1</comment_count>
      <attachid>438093</attachid>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2021-09-13 18:11:59 -0700</bug_when>
    <thetext>Created attachment 438093
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793175</commentid>
    <comment_count>2</comment_count>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2021-09-13 18:14:22 -0700</bug_when>
    <thetext>The bt:
#0  __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47
#1  0xf5e76ea0 in __libc_signal_restore_set (set=0xfffecc7c) at ../sysdeps/unix/sysv/linux/internal-signals.h:86
#2  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:48
#3  0xf5e677a2 in __GI_abort () at abort.c:79
#4  0xf6cc52ca in JSC::ScratchRegisterAllocator::allocateScratch&lt;JSC::GPRInfo&gt; (this=0xfffecfa0) at ../../Source/JavaScriptCore/jit/ScratchRegisterAllocator.cpp:98
#5  0xf6cbc120 in JSC::ScratchRegisterAllocator::allocateScratchGPR (this=0xfffecfa0) at ../../Source/JavaScriptCore/jit/ScratchRegisterAllocator.cpp:103
#6  0xf62dd070 in JSC::AccessCase::generateImpl (this=0xf36b1cc0, state=...) at ../../Source/JavaScriptCore/bytecode/AccessCase.cpp:2277
#7  0xf62dafda in JSC::AccessCase::generateWithGuard (this=0xf36b1cc0, state=..., fallThrough=...) at ../../Source/JavaScriptCore/bytecode/AccessCase.cpp:1755
#8  0xf63bb07a in JSC::PolymorphicAccess::regenerate (this=0xf36b1ca0, locker=..., vm=..., globalObject=0xf20f9038, codeBlock=0xf1e98000, ecmaMode=..., stubInfo=...)
    at ../../Source/JavaScriptCore/bytecode/PolymorphicAccess.cpp:672
#9  0xf63e30c4 in operator() (__closure=0xfffee5f4) at ../../Source/JavaScriptCore/bytecode/StructureStubInfo.cpp:221
#10 0xf63e321e in JSC::StructureStubInfo::addAccessCase (this=0xf36f6840, locker=..., globalObject=0xf20f9038, codeBlock=0xf1e98000, ecmaMode=..., ident=..., accessCase=...)
    at ../../Source/JavaScriptCore/bytecode/StructureStubInfo.cpp:245
#11 0xf6cb775e in JSC::tryCachePutBy (globalObject=0xf20f9038, codeBlock=0xf1e98000, baseValue=..., oldStructure=0xf1eb4be0, propertyName=..., slot=..., stubInfo=..., putByKind=JSC::PutByKind::ByVal, 
    putKind=JSC::PutKind::NotDirect) at ../../Source/JavaScriptCore/jit/Repatch.cpp:877
#12 0xf6cb791e in JSC::repatchPutBy (globalObject=0xf20f9038, codeBlock=0xf1e98000, baseValue=..., oldStructure=0xf1eb4be0, propertyName=..., slot=..., stubInfo=..., putByKind=JSC::PutByKind::ByVal, 
    putKind=JSC::PutKind::NotDirect) at ../../Source/JavaScriptCore/jit/Repatch.cpp:897
#13 0xf6c5b364 in JSC::putByValOptimize (globalObject=0xf20f9038, codeBlock=0xf1e98000, baseValue=..., subscript=..., value=..., stubInfo=0xf36f6840, profile=0xf36d30d0, ecmaMode=...)
    at ../../Source/JavaScriptCore/jit/JITOperations.cpp:1055
#14 0xf6c5b516 in JSC::operationPutByValNonStrictOptimize (globalObject=0xf20f9038, encodedBaseValue=-17390867880, encodedSubscript=-17415805264, encodedValue=-4294967295, stubInfo=0xf36f6840, 
    profile=0xf36d30d0) at ../../Source/JavaScriptCore/jit/JITOperations.cpp:1087
#15 0xf2600e68 in ?? ()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793177</commentid>
    <comment_count>3</comment_count>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2021-09-13 18:22:27 -0700</bug_when>
    <thetext>I was reading the code in AccessCode.cpp and noticed that there is a check if there are enough registers available in AccessCase::createTransition before calling the code that triggers the error, so maybe the best fix is to improve AccessCase::createTransition so it doesn&apos;t allow the fast path if there isn&apos;t enough registers available?

Current the check is: 

    // Skip optimizing the case where we need a realloc, if we don&apos;t have
    // enough registers to make it happen.
    if (GPRInfo::numberOfRegisters &lt; 6
        &amp;&amp; oldStructure-&gt;outOfLineCapacity() != newStructure-&gt;outOfLineCapacity()
        &amp;&amp; oldStructure-&gt;outOfLineCapacity()) {
        return nullptr;
    }

Maybe change it to allocator.numberOfSetRegisters()? We don&apos;t have any allocator there yet though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793257</commentid>
    <comment_count>4</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2021-09-14 05:29:52 -0700</bug_when>
    <thetext>*** Bug 230215 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793275</commentid>
    <comment_count>5</comment_count>
      <attachid>438093</attachid>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2021-09-14 06:24:35 -0700</bug_when>
    <thetext>Comment on attachment 438093
Patch

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

&gt; Source/JavaScriptCore/bytecode/AccessCase.cpp:2327
&gt; +                slowPath.append(jit.jump());

I’m not comfortable with this generating a bunch of IC code for checks and other things to always jump to slow path. This seems quite suboptimal. Isn’t there a way were we skip a case if we figure out we don’t have enough registers for it? Skipping such case will result in always taking the slow path as well, but we don’t emit any unnecessary code for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793430</commentid>
    <comment_count>6</comment_count>
      <attachid>438168</attachid>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2021-09-14 14:09:07 -0700</bug_when>
    <thetext>Created attachment 438168
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793436</commentid>
    <comment_count>7</comment_count>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2021-09-14 14:16:44 -0700</bug_when>
    <thetext>The following RELEASE_ASSERT doesn&apos;t make too much sense after this patch:

    case Transition: {
        ASSERT(!viaProxy());
        // AccessCase::createTransition() should have returned null if this wasn&apos;t true.
        RELEASE_ASSERT(GPRInfo::numberOfRegisters &gt;= 6 || !structure()-&gt;outOfLineCapacity() || structure()-&gt;outOfLineCapacity() == newStructure()-&gt;outOfLineCapacity());

since the number of required registers depends on the arch, if we are allocating, reallocating, or doing either inline (basically the new logic in AccessCase::createTransition).

Should we keep this RELEASE_ASSERT like that? I think 6 is the bare minimum required registers but it doesn&apos;t say much.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793438</commentid>
    <comment_count>8</comment_count>
      <attachid>438171</attachid>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2021-09-14 14:19:58 -0700</bug_when>
    <thetext>Created attachment 438171
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793677</commentid>
    <comment_count>9</comment_count>
      <attachid>438171</attachid>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2021-09-15 06:03:58 -0700</bug_when>
    <thetext>Comment on attachment 438171
Patch

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

I like this version much more. I’m just a bit afraid we are giving up on cache on cases where we still could do it. Could you run some benchmarks to verify if we are not regressing anything?

&gt; Source/JavaScriptCore/bytecode/AccessCase.cpp:140
&gt; +        requiredRegisters *= 2;

This is a bit conservative, because we can have `baseRegs` be only payload register, since we know somehow it’s a cell. IIRC, such info will be available on stubInfo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793702</commentid>
    <comment_count>10</comment_count>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2021-09-15 08:01:11 -0700</bug_when>
    <thetext>Unfortunately, I couldn&apos;t use JetStream2 to check for performance regression in 32 bits, since jsc crashes due to not having enough registers :/

For x86_64 I got:

a mean = 150.98901
b mean = 149.40733
pValue = 0.8222857950
(Bigger means are better.)
1.011 times worse
Results ARE NOT significant</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793757</commentid>
    <comment_count>11</comment_count>
      <attachid>438260</attachid>
    <who name="Mikhail R. Gadelha">mikhail</who>
    <bug_when>2021-09-15 10:59:21 -0700</bug_when>
    <thetext>Created attachment 438260
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793769</commentid>
    <comment_count>12</comment_count>
      <attachid>438260</attachid>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2021-09-15 11:19:10 -0700</bug_when>
    <thetext>Comment on attachment 438260
Patch

Patch LGTM.  If possible, it would be nice verify if there’s no regression with run-jsc-benchmarks as well. It’s unlikely that this will regress things, but better safe than sorry about performance regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793998</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-16 03:39:18 -0700</bug_when>
    <thetext>Committed r282540 (241742@main): &lt;https://commits.webkit.org/241742@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 438260.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793999</commentid>
    <comment_count>14</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-16 03:40:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/83190749&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438093</attachid>
            <date>2021-09-13 18:11:59 -0700</date>
            <delta_ts>2021-09-14 14:09:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230241-20210914011157.patch</filename>
            <type>text/plain</type>
            <size>3145</size>
            <attacher name="Mikhail R. Gadelha">mikhail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
YzVkMmU2ZGNhYWJlNzJjOGQ5NGJhMWVhMGE1OTUyMDg3YTNjMzkzLi5hOWYzYzZkNDk1ZDQwYjUz
NjY0Yjc0ZDI3MGM5ZTgwZDc5MWQwYjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAyMS0wOS0xMyAgTWlraGFpbCBSLiBHYWRlbGhhICA8bWlraGFpbEBpZ2Fs
aWEuY29tPgorCisgICAgICAgIEZpeCBjcmFzaCBpbiAzMiBiaXRzIGR1ZSB0byBub3QgZW5vdWdo
IHNjcmF0Y2ggcmVnaXN0ZXJzIGF2YWlsYWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMjQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgU2luY2UgcGF0Y2ggMjI5MjI5IChQb2x5bW9ycGhpYyBQdXRC
eVZhbCkgbGFuZGVkLCBqc2MgaXMgbm93IHJlYWNoaW5nCisgICAgICAgIHRoZSBjYXNlIFRyYW5z
aXRpb24gaW4gYEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbGAgd2hpY2ggbmVlZHMgdGhyZWUKKyAg
ICAgICAgc2NyYXRjaCByZWdpc3RlcnMgd2hlbiByZWFsbG9jYXRpbmcsIGJ1dCBpbiBBUk12Ny9N
SVBTLCB0aGVyZSBhcmUgb25seQorICAgICAgICB0d28gcmVnaXN0ZXJzIGF2YWlsYWJsZS4gU28g
aW4gdGhpcyBwYXRjaCwgd2UgYXJlIG9ubHkgZW5hYmxpbmcgdGhlIAorICAgICAgICBwYXRoIHdp
dGggMyByZWdpc3RlcnMgaW4gNjQgYml0cyBhcmNocywgYW5kIGNhbGxpbmcgdGhlIHNsb3cgcGF0
aCBpbiAKKyAgICAgICAgMzIgYml0cy4KKworICAgICAgICAqIGJ5dGVjb2RlL0FjY2Vzc0Nhc2Uu
Y3BwOgorICAgICAgICAoSlNDOjpBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwpOgorCiAyMDIxLTA5
LTEzICBYYW4gTMOzcGV6ICA8eGFuQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0pTQ11bMzJiaXRd
IGluLWJ5LXZhbCBmYWlscyBpbnNpZGUgZm9yLWluIGxvb3AgYWZ0ZXIgZGVsZXRlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAKaW5kZXggMmVkMjQwNWY2
OTRiNTA5MWRhZDEyODc2YmFiYzMwMzQyY2UxZGUxNi4uMDRlM2QzMTJlMjBiYzk5NTNhNDc4MTRl
MTVmOTlhMmZiNjA1NmVlZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0FjY2Vzc0Nhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9B
Y2Nlc3NDYXNlLmNwcApAQCAtMjI2OSwxMiArMjI2OSwxNCBAQCB2b2lkIEFjY2Vzc0Nhc2U6Omdl
bmVyYXRlSW1wbChBY2Nlc3NHZW5lcmF0aW9uU3RhdGUmIHN0YXRlKQogICAgICAgICAgICAgYWxs
b2NhdG9yLmxvY2soc3R1YkluZm8ubV9hcnJheVByb2ZpbGVHUFIpOwogICAgICAgICBhbGxvY2F0
b3IubG9jayhzY3JhdGNoR1BSKTsKIAorI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgICAgIEdQUlJl
ZyBzY3JhdGNoR1BSMiA9IEludmFsaWRHUFJSZWc7CiAgICAgICAgIEdQUlJlZyBzY3JhdGNoR1BS
MyA9IEludmFsaWRHUFJSZWc7CiAgICAgICAgIGlmIChhbGxvY2F0aW5nSW5saW5lKSB7CiAgICAg
ICAgICAgICBzY3JhdGNoR1BSMiA9IGFsbG9jYXRvci5hbGxvY2F0ZVNjcmF0Y2hHUFIoKTsKICAg
ICAgICAgICAgIHNjcmF0Y2hHUFIzID0gYWxsb2NhdG9yLmFsbG9jYXRlU2NyYXRjaEdQUigpOwog
ICAgICAgICB9CisjZW5kaWYKIAogICAgICAgICBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3I6OlBy
ZXNlcnZlZFN0YXRlIHByZXNlcnZlZFN0YXRlID0KICAgICAgICAgICAgIGFsbG9jYXRvci5wcmVz
ZXJ2ZVJldXNlZFJlZ2lzdGVyc0J5UHVzaGluZyhqaXQsIFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRv
cjo6RXh0cmFTdGFja1NwYWNlOjpTcGFjZUZvckNDYWxsKTsKQEAgLTIyODcsNiArMjI4OSw3IEBA
IHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmVyYXRpb25TdGF0ZSYgc3Rh
dGUpCiAgICAgICAgICAgICBzaXplX3QgbmV3U2l6ZSA9IG5ld1N0cnVjdHVyZSgpLT5vdXRPZkxp
bmVDYXBhY2l0eSgpICogc2l6ZW9mKEpTVmFsdWUpOwogCiAgICAgICAgICAgICBpZiAoYWxsb2Nh
dGluZ0lubGluZSkgeworI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgICAgICAgICAgICAgQWxsb2Nh
dG9yIGFsbG9jYXRvciA9IHZtLmpzVmFsdWVHaWdhY2FnZUF1eGlsaWFyeVNwYWNlLmFsbG9jYXRv
ckZvcihuZXdTaXplLCBBbGxvY2F0b3JGb3JNb2RlOjpBbGxvY2F0b3JJZkV4aXN0cyk7CiAKICAg
ICAgICAgICAgICAgICBqaXQuZW1pdEFsbG9jYXRlKHNjcmF0Y2hHUFIsIEpJVEFsbG9jYXRvcjo6
Y29uc3RhbnQoYWxsb2NhdG9yKSwgc2NyYXRjaEdQUjIsIHNjcmF0Y2hHUFIzLCBzbG93UGF0aCk7
CkBAIC0yMzIwLDYgKzIzMjMsOSBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbChBY2Nl
c3NHZW5lcmF0aW9uU3RhdGUmIHN0YXRlKQogCiAgICAgICAgICAgICAgICAgZm9yIChzaXplX3Qg
b2Zmc2V0ID0gb2xkU2l6ZTsgb2Zmc2V0IDwgbmV3U2l6ZTsgb2Zmc2V0ICs9IHNpemVvZih2b2lk
KikpCiAgICAgICAgICAgICAgICAgICAgIGppdC5zdG9yZVB0cihDQ2FsbEhlbHBlcnM6OlRydXN0
ZWRJbW1QdHIobnVsbHB0ciksIENDYWxsSGVscGVyczo6QWRkcmVzcyhzY3JhdGNoR1BSLCAtc3Rh
dGljX2Nhc3Q8cHRyZGlmZl90PihvZmZzZXQgKyBzaXplb2YoSlNWYWx1ZSkgKyBzaXplb2Yodm9p
ZCopKSkpOworI2Vsc2UKKyAgICAgICAgICAgICAgICBzbG93UGF0aC5hcHBlbmQoaml0Lmp1bXAo
KSk7CisjZW5kaWYKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgLy8gSGFu
ZGxlIHRoZSBjYXNlIHdoZXJlIHdlIGFyZSBhbGxvY2F0aW5nIG91dC1vZi1saW5lIHVzaW5nIGFu
IG9wZXJhdGlvbi4KICAgICAgICAgICAgICAgICBSZWdpc3RlclNldCBleHRyYVJlZ2lzdGVyc1Rv
UHJlc2VydmU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438168</attachid>
            <date>2021-09-14 14:09:07 -0700</date>
            <delta_ts>2021-09-14 14:19:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230241-20210914210906.patch</filename>
            <type>text/plain</type>
            <size>6188</size>
            <attacher name="Mikhail R. Gadelha">mikhail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
YWM0Mzg3MGQwNDEzOTkyYjAzODdiYjYzNjVkYmU3MjAyYTgzZDgzLi4zZTg3OWM4NmYxYmZhYmI2
NTU3MDg5YTBhYzUxMjg1MGM0MjAxMmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAyMS0wOS0xMyAgTWlraGFpbCBSLiBHYWRlbGhhICA8bWlraGFpbEBpZ2Fs
aWEuY29tPgorCisgICAgICAgIEZpeCBjcmFzaCBpbiAzMiBiaXRzIGR1ZSB0byBub3QgZW5vdWdo
IHNjcmF0Y2ggcmVnaXN0ZXJzIGF2YWlsYWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMjQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgU2luY2UgcGF0Y2ggMjI5MjI5IChQb2x5bW9ycGhpYyBQdXRC
eVZhbCkgbGFuZGVkLCBqc2MgaXMgbm93IHJlYWNoaW5nCisgICAgICAgIHRoZSBjYXNlIFRyYW5z
aXRpb24gaW4gYEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbGAgd2hpY2ggbmVlZHMgdGhyZWUKKyAg
ICAgICAgc2NyYXRjaCByZWdpc3RlcnMgd2hlbiByZWFsbG9jYXRpbmcsIGJ1dCBpbiBBUk12Ny9N
SVBTLCB0aGVyZSBhcmUgb25seQorICAgICAgICB0d28gcmVnaXN0ZXJzIGF2YWlsYWJsZS4gCisK
KyAgICAgICAgU28gaW4gdGhpcyBwYXRjaCwgYEFjY2Vzc0Nhc2U6OmNyZWF0ZVRyYW5zaXRpb25g
IGlzIGNoYW5nZWQgdG8gYWN0dWFsbHkKKyAgICAgICAgY2hlY2sgaWYgdGhlcmUgYXJlIGVub3Vn
aCByZWdpc3RlcnMgYXZhaWxhYmxlIGJlZm9yZSBjcmVhdGluZyB0aGUgCisgICAgICAgIEFjY2Vz
c0Nhc2Ugb2JqZWN0LgorCisgICAgICAgICogYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHA6CisgICAg
ICAgIChKU0M6OkFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbCk6CisKIDIwMjEtMDktMTQgIFhhbiBM
b3BleiAgPHhhbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtKU0NdIFJlbW92ZSB1bm5lY2Vzc2Fy
eSBleGNlcHRpb24gY2hlY2tzIGluIERGR09wZXJhdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAppbmRleCAyZWQyNDA1ZjY5NGI1MDkxZGFkMTI4
NzZiYWJjMzAzNDJjZTFkZTE2Li4xODI2ZDQwMDYwY2JhNmQ2ZDRlZDNlZGFiOTI3MGY2NTE5OTQy
YmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2Fz
ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3Bw
CkBAIC0xMjMsMTYgKzEyMywzOCBAQCBSZWY8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRl
KFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBDYWNoZQogCiBSZWZQdHI8
QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRlVHJhbnNpdGlvbigKICAgICBWTSYgdm0sIEpT
Q2VsbCogb3duZXIsIENhY2hlYWJsZUlkZW50aWZpZXIgaWRlbnRpZmllciwgUHJvcGVydHlPZmZz
ZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIG9sZFN0cnVjdHVyZSwgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1
cmUsCi0gICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwg
UmVmUHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiYmIHByb3RvdHlwZUFjY2Vzc0NoYWluKQorICAg
IGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIFJlZlB0cjxQ
b2x5UHJvdG9BY2Nlc3NDaGFpbj4mJiBwcm90b3R5cGVBY2Nlc3NDaGFpbiwgY29uc3QgU3RydWN0
dXJlU3R1YkluZm8mIHN0dWJJbmZvKQogewogICAgIFJFTEVBU0VfQVNTRVJUKG9sZFN0cnVjdHVy
ZSA9PSBuZXdTdHJ1Y3R1cmUtPnByZXZpb3VzSUQoKSk7CiAKICAgICAvLyBTa2lwIG9wdGltaXpp
bmcgdGhlIGNhc2Ugd2hlcmUgd2UgbmVlZCBhIHJlYWxsb2MsIGlmIHdlIGRvbid0IGhhdmUKICAg
ICAvLyBlbm91Z2ggcmVnaXN0ZXJzIHRvIG1ha2UgaXQgaGFwcGVuLgotICAgIGlmIChHUFJJbmZv
OjpudW1iZXJPZlJlZ2lzdGVycyA8IDYKLSAgICAgICAgJiYgb2xkU3RydWN0dXJlLT5vdXRPZkxp
bmVDYXBhY2l0eSgpICE9IG5ld1N0cnVjdHVyZS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKQotICAgICAg
ICAmJiBvbGRTdHJ1Y3R1cmUtPm91dE9mTGluZUNhcGFjaXR5KCkpIHsKLSAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisgICAgaWYgKG9sZFN0cnVjdHVyZS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSAhPSBu
ZXdTdHJ1Y3R1cmUtPm91dE9mTGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgLy8gSW4gNjQgYml0
cyBqc2MgdXNlcyAxIHJlZ2lzdGVyIGZvciB0aGUgYmFzZSByZWcsIDEgcmVnaXN0ZXIgZm9yIHZh
bHVlIHJlZyBhbmQgMSByZWdpc3RlciBmb3IgdGhlIHByb3BlcnR5IHJlZworICAgICAgICBzaXpl
X3QgdXNlZFJlZ2lzdGVycyA9IDI7IC8vIHN0dWJJbmZvLmJhc2VSZWdzKCkgKyBzdHViSW5mby52
YWx1ZVJlZ3MoKQorICAgICAgICBpZiAoc3R1YkluZm8ucHJvcGVydHlSZWdzKCkpCisgICAgICAg
ICAgICArK3VzZWRSZWdpc3RlcnM7CisKKyAgICAgICAgICAgIC8vIEluIDMyIGJpdHMsIGpzYyB1
c2VzIHR3aWNlIGFzIG1hbnkgcmVnaXN0ZXJzCisjaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICAg
ICAgdXNlZFJlZ2lzdGVycyAqPSAyOworI2VuZGlmCisKKyAgICAgICAgaWYgKHN0dWJJbmZvLm1f
c3R1YkluZm9HUFIgIT0gSW52YWxpZEdQUlJlZykKKyAgICAgICAgICAgICsrdXNlZFJlZ2lzdGVy
czsKKyAgICAgICAgaWYgKHN0dWJJbmZvLm1fYXJyYXlQcm9maWxlR1BSICE9IEludmFsaWRHUFJS
ZWcpCisgICAgICAgICAgICArK3VzZWRSZWdpc3RlcnM7CisKKyAgICAgICAgLy8gT25lIGV4dHJh
IHJlZ2lzdGVyIGZvciBzY3JhdGNoR1BSCisgICAgICAgICsrdXNlZFJlZ2lzdGVyczsKKworICAg
ICAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGVub3VnaCByZWdpc3RlcnMgd2hlbiByZWFsbG9jYXRp
bmcKKyAgICAgICAgaWYgKG9sZFN0cnVjdHVyZS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSAmJiBHUFJJ
bmZvOjpudW1iZXJPZlJlZ2lzdGVycyA8IHVzZWRSZWdpc3RlcnMpCisgICAgICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKworICAgICAgICAvLyBJZiB3ZSBhcmUgKHJlKWFsbG9jYXRpbmcgaW5saW5l
LCBqc2MgbmVlZHMgdHdvIGV4dHJhIHNjcmF0Y2hHUFJzCisgICAgICAgIGlmICghb2xkU3RydWN0
dXJlLT5jb3VsZEhhdmVJbmRleGluZ0hlYWRlcigpICYmIEdQUkluZm86Om51bWJlck9mUmVnaXN0
ZXJzIDwgKHVzZWRSZWdpc3RlcnMgKyAyKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOwog
ICAgIH0KIAogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFjY2Vzc0Nhc2Uodm0sIG93bmVyLCBU
cmFuc2l0aW9uLCBpZGVudGlmaWVyLCBvZmZzZXQsIG5ld1N0cnVjdHVyZSwgY29uZGl0aW9uU2V0
LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWluKSkpOwpAQCAtMjI0OSw3ICsyMjcxLDcgQEAg
dm9pZCBBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZXJhdGlvblN0YXRlJiBzdGF0
ZSkKIAogICAgIGNhc2UgVHJhbnNpdGlvbjogewogICAgICAgICBBU1NFUlQoIXZpYVByb3h5KCkp
OwotICAgICAgICAvLyBBY2Nlc3NDYXNlOjp0cmFuc2l0aW9uKCkgc2hvdWxkIGhhdmUgcmV0dXJu
ZWQgbnVsbCBpZiB0aGlzIHdhc24ndCB0cnVlLgorICAgICAgICAvLyBBY2Nlc3NDYXNlOjpjcmVh
dGVUcmFuc2l0aW9uKCkgc2hvdWxkIGhhdmUgcmV0dXJuZWQgbnVsbCBpZiB0aGlzIHdhc24ndCB0
cnVlLgogICAgICAgICBSRUxFQVNFX0FTU0VSVChHUFJJbmZvOjpudW1iZXJPZlJlZ2lzdGVycyA+
PSA2IHx8ICFzdHJ1Y3R1cmUoKS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSB8fCBzdHJ1Y3R1cmUoKS0+
b3V0T2ZMaW5lQ2FwYWNpdHkoKSA9PSBuZXdTdHJ1Y3R1cmUoKS0+b3V0T2ZMaW5lQ2FwYWNpdHko
KSk7CiAKICAgICAgICAgLy8gTk9URTogVGhpcyBsb2dpYyBpcyBkdXBsaWNhdGVkIGluIEFjY2Vz
c0Nhc2U6OmRvZXNDYWxscygpLiBJdCdzIGltcG9ydGFudCB0aGF0IGRvZXNDYWxscygpIGtub3dz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAppbmRleCA1NjNh
MTU1MmFlNDIxNjQ0MDQ2ZDBhYTQxZDIzYjZhZGQ1ZGI2NTU5Li5jYjM1Yjg2NGYxOGE0ZmZhNDYy
YzExZTY3MTcyYzViMDZhZDk2ZDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvQWNjZXNzQ2FzZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9BY2Nlc3NDYXNlLmgKQEAgLTE2Nyw3ICsxNjcsNyBAQCBwdWJsaWM6CiAgICAgICAgIFN0cnVj
dHVyZSogPSBudWxscHRyLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgPSBPYmpl
Y3RQcm9wZXJ0eUNvbmRpdGlvblNldCgpLCBSZWZQdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+JiYg
PSBudWxscHRyKTsKIAogICAgIHN0YXRpYyBSZWZQdHI8QWNjZXNzQ2FzZT4gY3JlYXRlVHJhbnNp
dGlvbihWTSYsIEpTQ2VsbCogb3duZXIsIENhY2hlYWJsZUlkZW50aWZpZXIsIFByb3BlcnR5T2Zm
c2V0LCBTdHJ1Y3R1cmUqIG9sZFN0cnVjdHVyZSwKLSAgICAgICAgU3RydWN0dXJlKiBuZXdTdHJ1
Y3R1cmUsIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgUmVmUHRyPFBvbHlQcm90
b0FjY2Vzc0NoYWluPiYmKTsKKyAgICAgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUsIGNvbnN0
IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiwgUmVmUHRyPFBvbHlQcm90b0FjY2Vzc0NoYWlu
PiYmLCBjb25zdCBTdHJ1Y3R1cmVTdHViSW5mbyYpOwogCiAgICAgc3RhdGljIFJlZjxBY2Nlc3ND
YXNlPiBjcmVhdGVEZWxldGUoVk0mLCBKU0NlbGwqIG93bmVyLCBDYWNoZWFibGVJZGVudGlmaWVy
LCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiBvbGRTdHJ1Y3R1cmUsCiAgICAgICAgIFN0cnVj
dHVyZSogbmV3U3RydWN0dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvUmVwYXRjaC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCmlu
ZGV4IDQ3OTJjMWE1MjBjNDZmZWI1ZmVlYWY1Nzk4NTNiZTczYjY4YWRhNTMuLjdmMDAyODkyZGQx
ZWVhMTFiOGE1ZTM2MWY4OTZhNGQzYjM5MDZjZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9S
ZXBhdGNoLmNwcApAQCAtODAxLDcgKzgwMSw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0
cnlDYWNoZVB1dEJ5KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENvZGVCbG9jayoKICAg
ICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwogICAgICAgICAgICAg
ICAgIH0KIAotICAgICAgICAgICAgICAgIG5ld0Nhc2UgPSBBY2Nlc3NDYXNlOjpjcmVhdGVUcmFu
c2l0aW9uKHZtLCBjb2RlQmxvY2ssIHByb3BlcnR5TmFtZSwgb2Zmc2V0LCBvbGRTdHJ1Y3R1cmUs
IG5ld1N0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlwZUFjY2Vzc0NoYWlu
KSk7CisgICAgICAgICAgICAgICAgbmV3Q2FzZSA9IEFjY2Vzc0Nhc2U6OmNyZWF0ZVRyYW5zaXRp
b24odm0sIGNvZGVCbG9jaywgcHJvcGVydHlOYW1lLCBvZmZzZXQsIG9sZFN0cnVjdHVyZSwgbmV3
U3RydWN0dXJlLCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pLCBz
dHViSW5mbyk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSBpZiAoc2xvdC5pc0NhY2hl
YWJsZUN1c3RvbSgpIHx8IHNsb3QuaXNDYWNoZWFibGVTZXR0ZXIoKSkgewogICAgICAgICAgICAg
aWYgKHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438171</attachid>
            <date>2021-09-14 14:19:58 -0700</date>
            <delta_ts>2021-09-15 10:59:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230241-20210914211957.patch</filename>
            <type>text/plain</type>
            <size>6220</size>
            <attacher name="Mikhail R. Gadelha">mikhail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
YWM0Mzg3MGQwNDEzOTkyYjAzODdiYjYzNjVkYmU3MjAyYTgzZDgzLi4zZTg3OWM4NmYxYmZhYmI2
NTU3MDg5YTBhYzUxMjg1MGM0MjAxMmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAyMS0wOS0xMyAgTWlraGFpbCBSLiBHYWRlbGhhICA8bWlraGFpbEBpZ2Fs
aWEuY29tPgorCisgICAgICAgIEZpeCBjcmFzaCBpbiAzMiBiaXRzIGR1ZSB0byBub3QgZW5vdWdo
IHNjcmF0Y2ggcmVnaXN0ZXJzIGF2YWlsYWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMjQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgU2luY2UgcGF0Y2ggMjI5MjI5IChQb2x5bW9ycGhpYyBQdXRC
eVZhbCkgbGFuZGVkLCBqc2MgaXMgbm93IHJlYWNoaW5nCisgICAgICAgIHRoZSBjYXNlIFRyYW5z
aXRpb24gaW4gYEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbGAgd2hpY2ggbmVlZHMgdGhyZWUKKyAg
ICAgICAgc2NyYXRjaCByZWdpc3RlcnMgd2hlbiByZWFsbG9jYXRpbmcsIGJ1dCBpbiBBUk12Ny9N
SVBTLCB0aGVyZSBhcmUgb25seQorICAgICAgICB0d28gcmVnaXN0ZXJzIGF2YWlsYWJsZS4gCisK
KyAgICAgICAgU28gaW4gdGhpcyBwYXRjaCwgYEFjY2Vzc0Nhc2U6OmNyZWF0ZVRyYW5zaXRpb25g
IGlzIGNoYW5nZWQgdG8gYWN0dWFsbHkKKyAgICAgICAgY2hlY2sgaWYgdGhlcmUgYXJlIGVub3Vn
aCByZWdpc3RlcnMgYXZhaWxhYmxlIGJlZm9yZSBjcmVhdGluZyB0aGUgCisgICAgICAgIEFjY2Vz
c0Nhc2Ugb2JqZWN0LgorCisgICAgICAgICogYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHA6CisgICAg
ICAgIChKU0M6OkFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbCk6CisKIDIwMjEtMDktMTQgIFhhbiBM
b3BleiAgPHhhbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtKU0NdIFJlbW92ZSB1bm5lY2Vzc2Fy
eSBleGNlcHRpb24gY2hlY2tzIGluIERGR09wZXJhdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAppbmRleCAyZWQyNDA1ZjY5NGI1MDkxZGFkMTI4
NzZiYWJjMzAzNDJjZTFkZTE2Li5hMjQ2OTQ4NTQyY2E1MmQ5YWU0NzUzMzAzOTE3NTNmN2NmMDdk
M2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2Fz
ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3Bw
CkBAIC0xMjMsMTYgKzEyMywzOCBAQCBSZWY8QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRl
KFZNJiB2bSwgSlNDZWxsKiBvd25lciwgQWNjZXNzVHlwZSB0eXBlLCBDYWNoZQogCiBSZWZQdHI8
QWNjZXNzQ2FzZT4gQWNjZXNzQ2FzZTo6Y3JlYXRlVHJhbnNpdGlvbigKICAgICBWTSYgdm0sIEpT
Q2VsbCogb3duZXIsIENhY2hlYWJsZUlkZW50aWZpZXIgaWRlbnRpZmllciwgUHJvcGVydHlPZmZz
ZXQgb2Zmc2V0LCBTdHJ1Y3R1cmUqIG9sZFN0cnVjdHVyZSwgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1
cmUsCi0gICAgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQmIGNvbmRpdGlvblNldCwg
UmVmUHRyPFBvbHlQcm90b0FjY2Vzc0NoYWluPiYmIHByb3RvdHlwZUFjY2Vzc0NoYWluKQorICAg
IGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIFJlZlB0cjxQ
b2x5UHJvdG9BY2Nlc3NDaGFpbj4mJiBwcm90b3R5cGVBY2Nlc3NDaGFpbiwgY29uc3QgU3RydWN0
dXJlU3R1YkluZm8mIHN0dWJJbmZvKQogewogICAgIFJFTEVBU0VfQVNTRVJUKG9sZFN0cnVjdHVy
ZSA9PSBuZXdTdHJ1Y3R1cmUtPnByZXZpb3VzSUQoKSk7CiAKICAgICAvLyBTa2lwIG9wdGltaXpp
bmcgdGhlIGNhc2Ugd2hlcmUgd2UgbmVlZCBhIHJlYWxsb2MsIGlmIHdlIGRvbid0IGhhdmUKICAg
ICAvLyBlbm91Z2ggcmVnaXN0ZXJzIHRvIG1ha2UgaXQgaGFwcGVuLgotICAgIGlmIChHUFJJbmZv
OjpudW1iZXJPZlJlZ2lzdGVycyA8IDYKLSAgICAgICAgJiYgb2xkU3RydWN0dXJlLT5vdXRPZkxp
bmVDYXBhY2l0eSgpICE9IG5ld1N0cnVjdHVyZS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKQotICAgICAg
ICAmJiBvbGRTdHJ1Y3R1cmUtPm91dE9mTGluZUNhcGFjaXR5KCkpIHsKLSAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisgICAgaWYgKG9sZFN0cnVjdHVyZS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSAhPSBu
ZXdTdHJ1Y3R1cmUtPm91dE9mTGluZUNhcGFjaXR5KCkpIHsKKyAgICAgICAgLy8gSW4gNjQgYml0
cyBqc2MgdXNlcyAxIHJlZ2lzdGVyIGZvciB0aGUgYmFzZSByZWcsIDEgcmVnaXN0ZXIgZm9yIHZh
bHVlIHJlZyBhbmQgMSByZWdpc3RlciBmb3IgdGhlIHByb3BlcnR5IHJlZworICAgICAgICBzaXpl
X3QgcmVxdWlyZWRSZWdpc3RlcnMgPSAyOyAvLyBzdHViSW5mby5iYXNlUmVncygpICsgc3R1Yklu
Zm8udmFsdWVSZWdzKCkKKyAgICAgICAgaWYgKHN0dWJJbmZvLnByb3BlcnR5UmVncygpKQorICAg
ICAgICAgICAgKytyZXF1aXJlZFJlZ2lzdGVyczsKKworICAgICAgICAgICAgLy8gSW4gMzIgYml0
cywganNjIHVzZXMgdHdpY2UgYXMgbWFueSByZWdpc3RlcnMKKyNpZiBVU0UoSlNWQUxVRTMyXzY0
KQorICAgICAgICByZXF1aXJlZFJlZ2lzdGVycyAqPSAyOworI2VuZGlmCisKKyAgICAgICAgaWYg
KHN0dWJJbmZvLm1fc3R1YkluZm9HUFIgIT0gSW52YWxpZEdQUlJlZykKKyAgICAgICAgICAgICsr
cmVxdWlyZWRSZWdpc3RlcnM7CisgICAgICAgIGlmIChzdHViSW5mby5tX2FycmF5UHJvZmlsZUdQ
UiAhPSBJbnZhbGlkR1BSUmVnKQorICAgICAgICAgICAgKytyZXF1aXJlZFJlZ2lzdGVyczsKKwor
ICAgICAgICAvLyBPbmUgZXh0cmEgcmVnaXN0ZXIgZm9yIHNjcmF0Y2hHUFIKKyAgICAgICAgKyty
ZXF1aXJlZFJlZ2lzdGVyczsKKworICAgICAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGVub3VnaCBy
ZWdpc3RlcnMgd2hlbiByZWFsbG9jYXRpbmcKKyAgICAgICAgaWYgKG9sZFN0cnVjdHVyZS0+b3V0
T2ZMaW5lQ2FwYWNpdHkoKSAmJiBHUFJJbmZvOjpudW1iZXJPZlJlZ2lzdGVycyA8IHJlcXVpcmVk
UmVnaXN0ZXJzKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICAgICAgLy8gSWYg
d2UgYXJlIChyZSlhbGxvY2F0aW5nIGlubGluZSwganNjIG5lZWRzIHR3byBleHRyYSBzY3JhdGNo
R1BScworICAgICAgICBpZiAoIW9sZFN0cnVjdHVyZS0+Y291bGRIYXZlSW5kZXhpbmdIZWFkZXIo
KSAmJiBHUFJJbmZvOjpudW1iZXJPZlJlZ2lzdGVycyA8IChyZXF1aXJlZFJlZ2lzdGVycyArIDIp
KQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCiAgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgQWNjZXNzQ2FzZSh2bSwgb3duZXIsIFRyYW5zaXRpb24sIGlkZW50aWZpZXIsIG9m
ZnNldCwgbmV3U3RydWN0dXJlLCBjb25kaXRpb25TZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNz
Q2hhaW4pKSk7CkBAIC0yMjQ5LDcgKzIyNzEsNyBAQCB2b2lkIEFjY2Vzc0Nhc2U6OmdlbmVyYXRl
SW1wbChBY2Nlc3NHZW5lcmF0aW9uU3RhdGUmIHN0YXRlKQogCiAgICAgY2FzZSBUcmFuc2l0aW9u
OiB7CiAgICAgICAgIEFTU0VSVCghdmlhUHJveHkoKSk7Ci0gICAgICAgIC8vIEFjY2Vzc0Nhc2U6
OnRyYW5zaXRpb24oKSBzaG91bGQgaGF2ZSByZXR1cm5lZCBudWxsIGlmIHRoaXMgd2Fzbid0IHRy
dWUuCisgICAgICAgIC8vIEFjY2Vzc0Nhc2U6OmNyZWF0ZVRyYW5zaXRpb24oKSBzaG91bGQgaGF2
ZSByZXR1cm5lZCBudWxsIGlmIHRoaXMgd2Fzbid0IHRydWUuCiAgICAgICAgIFJFTEVBU0VfQVNT
RVJUKEdQUkluZm86Om51bWJlck9mUmVnaXN0ZXJzID49IDYgfHwgIXN0cnVjdHVyZSgpLT5vdXRP
ZkxpbmVDYXBhY2l0eSgpIHx8IHN0cnVjdHVyZSgpLT5vdXRPZkxpbmVDYXBhY2l0eSgpID09IG5l
d1N0cnVjdHVyZSgpLT5vdXRPZkxpbmVDYXBhY2l0eSgpKTsKIAogICAgICAgICAvLyBOT1RFOiBU
aGlzIGxvZ2ljIGlzIGR1cGxpY2F0ZWQgaW4gQWNjZXNzQ2FzZTo6ZG9lc0NhbGxzKCkuIEl0J3Mg
aW1wb3J0YW50IHRoYXQgZG9lc0NhbGxzKCkga25vd3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvQWNjZXNzQ2FzZS5oCmluZGV4IDU2M2ExNTUyYWU0MjE2NDQwNDZkMGFhNDFkMjNi
NmFkZDVkYjY1NTkuLmNiMzViODY0ZjE4YTRmZmE0NjJjMTFlNjcxNzJjNWIwNmFkOTZkNDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaApAQCAtMTY3LDcg
KzE2Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgU3RydWN0dXJlKiA9IG51bGxwdHIsIGNvbnN0IE9i
amVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiA9IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0KCks
IFJlZlB0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4mJiA9IG51bGxwdHIpOwogCiAgICAgc3RhdGlj
IFJlZlB0cjxBY2Nlc3NDYXNlPiBjcmVhdGVUcmFuc2l0aW9uKFZNJiwgSlNDZWxsKiBvd25lciwg
Q2FjaGVhYmxlSWRlbnRpZmllciwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSogb2xkU3RydWN0
dXJlLAotICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVy
dHlDb25kaXRpb25TZXQmLCBSZWZQdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+JiYpOworICAgICAg
ICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb25T
ZXQmLCBSZWZQdHI8UG9seVByb3RvQWNjZXNzQ2hhaW4+JiYsIGNvbnN0IFN0cnVjdHVyZVN0dWJJ
bmZvJik7CiAKICAgICBzdGF0aWMgUmVmPEFjY2Vzc0Nhc2U+IGNyZWF0ZURlbGV0ZShWTSYsIEpT
Q2VsbCogb3duZXIsIENhY2hlYWJsZUlkZW50aWZpZXIsIFByb3BlcnR5T2Zmc2V0LCBTdHJ1Y3R1
cmUqIG9sZFN0cnVjdHVyZSwKICAgICAgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKaW5kZXggNDc5MmMxYTUyMGM0NmZlYjVmZWVh
ZjU3OTg1M2JlNzNiNjhhZGE1My4uN2YwMDI4OTJkZDFlZWExMWI4YTVlMzYxZjg5NmE0ZDNiMzkw
NmNlZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCkBAIC04MDEsNyArODAx
LDcgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlUHV0QnkoSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgQ29kZUJsb2NrKgogICAgICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIEdpdmVVcE9uQ2FjaGU7CiAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAg
bmV3Q2FzZSA9IEFjY2Vzc0Nhc2U6OmNyZWF0ZVRyYW5zaXRpb24odm0sIGNvZGVCbG9jaywgcHJv
cGVydHlOYW1lLCBvZmZzZXQsIG9sZFN0cnVjdHVyZSwgbmV3U3RydWN0dXJlLCBjb25kaXRpb25T
ZXQsIFdURk1vdmUocHJvdG90eXBlQWNjZXNzQ2hhaW4pKTsKKyAgICAgICAgICAgICAgICBuZXdD
YXNlID0gQWNjZXNzQ2FzZTo6Y3JlYXRlVHJhbnNpdGlvbih2bSwgY29kZUJsb2NrLCBwcm9wZXJ0
eU5hbWUsIG9mZnNldCwgb2xkU3RydWN0dXJlLCBuZXdTdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwg
V1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbiksIHN0dWJJbmZvKTsKICAgICAgICAgICAgIH0K
ICAgICAgICAgfSBlbHNlIGlmIChzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkgfHwgc2xvdC5pc0Nh
Y2hlYWJsZVNldHRlcigpKSB7CiAgICAgICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJsZUN1c3Rv
bSgpKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438260</attachid>
            <date>2021-09-15 10:59:21 -0700</date>
            <delta_ts>2021-09-16 03:39:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230241-20210915175920.patch</filename>
            <type>text/plain</type>
            <size>6603</size>
            <attacher name="Mikhail R. Gadelha">mikhail</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
YWM0Mzg3MGQwNDEzOTkyYjAzODdiYjYzNjVkYmU3MjAyYTgzZDgzLi5jZWQzMTdlNDI1YjI5YWY5
MjBkMzcwNWI4OWRjMzcxYjI2NzNmMTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAyMS0wOS0xMyAgTWlraGFpbCBSLiBHYWRlbGhhICA8bWlraGFpbEBpZ2Fs
aWEuY29tPgorCisgICAgICAgIEZpeCBjcmFzaCBpbiAzMiBiaXRzIGR1ZSB0byBub3QgZW5vdWdo
IHNjcmF0Y2ggcmVnaXN0ZXJzIGF2YWlsYWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMjQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgU2luY2UgcGF0Y2ggMjI5MjI5IChQb2x5bW9ycGhpYyBQdXRC
eVZhbCkgbGFuZGVkLCBqc2MgaXMgbm93IHJlYWNoaW5nCisgICAgICAgIHRoZSBjYXNlIFRyYW5z
aXRpb24gaW4gYEFjY2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbGAgd2hpY2ggbmVlZHMgdGhyZWUKKyAg
ICAgICAgc2NyYXRjaCByZWdpc3RlcnMgd2hlbiByZWFsbG9jYXRpbmcsIGJ1dCBpbiBBUk12Ny9N
SVBTLCB0aGVyZSBhcmUgb25seQorICAgICAgICB0d28gcmVnaXN0ZXJzIGF2YWlsYWJsZS4KKwor
ICAgICAgICBTbyBpbiB0aGlzIHBhdGNoLCBgQWNjZXNzQ2FzZTo6Y3JlYXRlVHJhbnNpdGlvbmAg
aXMgY2hhbmdlZCB0byBhY3R1YWxseQorICAgICAgICBjaGVjayBpZiB0aGVyZSBhcmUgZW5vdWdo
IHJlZ2lzdGVycyBhdmFpbGFibGUgYmVmb3JlIGNyZWF0aW5nIHRoZQorICAgICAgICBBY2Nlc3ND
YXNlIG9iamVjdC4KKworICAgICAgICAqIGJ5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwOgorICAgICAg
ICAoSlNDOjpBY2Nlc3NDYXNlOjpnZW5lcmF0ZUltcGwpOgorCiAyMDIxLTA5LTE0ICBYYW4gTG9w
ZXogIDx4YW5AaWdhbGlhLmNvbT4KIAogICAgICAgICBbSlNDXSBSZW1vdmUgdW5uZWNlc3Nhcnkg
ZXhjZXB0aW9uIGNoZWNrcyBpbiBERkdPcGVyYXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAKaW5kZXggMmVkMjQwNWY2OTRiNTA5MWRhZDEyODc2
YmFiYzMwMzQyY2UxZGUxNi4uYWVlYjBjNDYxZjVjZDdjOTY0ZmFlMmJiNTNlZWFiYjBhZGI4YzUw
YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2Uu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcApA
QCAtMTIzLDE2ICsxMjMsNTAgQEAgUmVmPEFjY2Vzc0Nhc2U+IEFjY2Vzc0Nhc2U6OmNyZWF0ZShW
TSYgdm0sIEpTQ2VsbCogb3duZXIsIEFjY2Vzc1R5cGUgdHlwZSwgQ2FjaGUKIAogUmVmUHRyPEFj
Y2Vzc0Nhc2U+IEFjY2Vzc0Nhc2U6OmNyZWF0ZVRyYW5zaXRpb24oCiAgICAgVk0mIHZtLCBKU0Nl
bGwqIG93bmVyLCBDYWNoZWFibGVJZGVudGlmaWVyIGlkZW50aWZpZXIsIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCwgU3RydWN0dXJlKiBvbGRTdHJ1Y3R1cmUsIFN0cnVjdHVyZSogbmV3U3RydWN0dXJl
LAotICAgIGNvbnN0IE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0JiBjb25kaXRpb25TZXQsIFJl
ZlB0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4mJiBwcm90b3R5cGVBY2Nlc3NDaGFpbikKKyAgICBj
b25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYgY29uZGl0aW9uU2V0LCBSZWZQdHI8UG9s
eVByb3RvQWNjZXNzQ2hhaW4+JiYgcHJvdG90eXBlQWNjZXNzQ2hhaW4sIGNvbnN0IFN0cnVjdHVy
ZVN0dWJJbmZvJiBzdHViSW5mbykKIHsKICAgICBSRUxFQVNFX0FTU0VSVChvbGRTdHJ1Y3R1cmUg
PT0gbmV3U3RydWN0dXJlLT5wcmV2aW91c0lEKCkpOwogCiAgICAgLy8gU2tpcCBvcHRpbWl6aW5n
IHRoZSBjYXNlIHdoZXJlIHdlIG5lZWQgYSByZWFsbG9jLCBpZiB3ZSBkb24ndCBoYXZlCiAgICAg
Ly8gZW5vdWdoIHJlZ2lzdGVycyB0byBtYWtlIGl0IGhhcHBlbi4KLSAgICBpZiAoR1BSSW5mbzo6
bnVtYmVyT2ZSZWdpc3RlcnMgPCA2Ci0gICAgICAgICYmIG9sZFN0cnVjdHVyZS0+b3V0T2ZMaW5l
Q2FwYWNpdHkoKSAhPSBuZXdTdHJ1Y3R1cmUtPm91dE9mTGluZUNhcGFjaXR5KCkKLSAgICAgICAg
JiYgb2xkU3RydWN0dXJlLT5vdXRPZkxpbmVDYXBhY2l0eSgpKSB7Ci0gICAgICAgIHJldHVybiBu
dWxscHRyOworICAgIGlmIChvbGRTdHJ1Y3R1cmUtPm91dE9mTGluZUNhcGFjaXR5KCkgIT0gbmV3
U3RydWN0dXJlLT5vdXRPZkxpbmVDYXBhY2l0eSgpKSB7CisgICAgICAgIC8vIEluIDY0IGJpdHMg
anNjIHVzZXMgMSByZWdpc3RlciBmb3IgdmFsdWUsIGFuZCBpdCB1c2VzIDIgcmVnaXN0ZXJzIGlu
IDMyIGJpdHMKKyAgICAgICAgc2l6ZV90IHJlcXVpcmVkUmVnaXN0ZXJzID0gMTsgLy8gc3R1Yklu
Zm8udmFsdWVSZWdzKCkKKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAgICArK3JlcXVpcmVk
UmVnaXN0ZXJzOworI2VuZGlmCisKKyAgICAgICAgLy8gMSByZWdpc3RlciBmb3IgdGhlIHByb3Bl
cnR5IGluIDY0IGJpdHMKKyAgICAgICAgKytyZXF1aXJlZFJlZ2lzdGVyczsKKyNpZiBVU0UoSlNW
QUxVRTMyXzY0KQorICAgICAgICAvLyBJbiAzMiBiaXRzLCBqc2MgdXNlcyBtYXkgdXNlIG9uZSBl
eHRyYSByZWdpc3RlciwgaWYgaXQgaXMgbm90IGEgQ2VsbAorICAgICAgICBpZiAoc3R1YkluZm8u
cHJvcGVydHlSZWdzKCkudGFnR1BSKCkgIT0gSW52YWxpZEdQUlJlZykKKyAgICAgICAgICAgICsr
cmVxdWlyZWRSZWdpc3RlcnM7CisjZW5kaWYKKworICAgICAgICAvLyAxIHJlZ2lzdGVyIGZvciB0
aGUgYmFzZSBpbiA2NCBiaXRzCisgICAgICAgICsrcmVxdWlyZWRSZWdpc3RlcnM7CisjaWYgVVNF
KEpTVkFMVUUzMl82NCkKKyAgICAgICAgLy8gSW4gMzIgYml0cywganNjIHVzZXMgbWF5IHVzZSBv
bmUgZXh0cmEgcmVnaXN0ZXIsIGlmIGl0IGlzIG5vdCBhIENlbGwKKyAgICAgICAgaWYgKHN0dWJJ
bmZvLmJhc2VSZWdzKCkudGFnR1BSKCkgIT0gSW52YWxpZEdQUlJlZykKKyAgICAgICAgICAgICsr
cmVxdWlyZWRSZWdpc3RlcnM7CisjZW5kaWYKKworICAgICAgICBpZiAoc3R1YkluZm8ubV9zdHVi
SW5mb0dQUiAhPSBJbnZhbGlkR1BSUmVnKQorICAgICAgICAgICAgKytyZXF1aXJlZFJlZ2lzdGVy
czsKKyAgICAgICAgaWYgKHN0dWJJbmZvLm1fYXJyYXlQcm9maWxlR1BSICE9IEludmFsaWRHUFJS
ZWcpCisgICAgICAgICAgICArK3JlcXVpcmVkUmVnaXN0ZXJzOworCisgICAgICAgIC8vIE9uZSBl
eHRyYSByZWdpc3RlciBmb3Igc2NyYXRjaEdQUgorICAgICAgICArK3JlcXVpcmVkUmVnaXN0ZXJz
OworCisgICAgICAgIC8vIENoZWNrIGlmIHdlIGhhdmUgZW5vdWdoIHJlZ2lzdGVycyB3aGVuIHJl
YWxsb2NhdGluZworICAgICAgICBpZiAob2xkU3RydWN0dXJlLT5vdXRPZkxpbmVDYXBhY2l0eSgp
ICYmIEdQUkluZm86Om51bWJlck9mUmVnaXN0ZXJzIDwgcmVxdWlyZWRSZWdpc3RlcnMpCisgICAg
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgICAgICAvLyBJZiB3ZSBhcmUgKHJlKWFsbG9j
YXRpbmcgaW5saW5lLCBqc2MgbmVlZHMgdHdvIGV4dHJhIHNjcmF0Y2hHUFJzCisgICAgICAgIGlm
ICghb2xkU3RydWN0dXJlLT5jb3VsZEhhdmVJbmRleGluZ0hlYWRlcigpICYmIEdQUkluZm86Om51
bWJlck9mUmVnaXN0ZXJzIDwgKHJlcXVpcmVkUmVnaXN0ZXJzICsgMikpCisgICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBY2Nlc3ND
YXNlKHZtLCBvd25lciwgVHJhbnNpdGlvbiwgaWRlbnRpZmllciwgb2Zmc2V0LCBuZXdTdHJ1Y3R1
cmUsIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90b3R5cGVBY2Nlc3NDaGFpbikpKTsKQEAgLTIy
NDksNyArMjI4Myw3IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmVy
YXRpb25TdGF0ZSYgc3RhdGUpCiAKICAgICBjYXNlIFRyYW5zaXRpb246IHsKICAgICAgICAgQVNT
RVJUKCF2aWFQcm94eSgpKTsKLSAgICAgICAgLy8gQWNjZXNzQ2FzZTo6dHJhbnNpdGlvbigpIHNo
b3VsZCBoYXZlIHJldHVybmVkIG51bGwgaWYgdGhpcyB3YXNuJ3QgdHJ1ZS4KKyAgICAgICAgLy8g
QWNjZXNzQ2FzZTo6Y3JlYXRlVHJhbnNpdGlvbigpIHNob3VsZCBoYXZlIHJldHVybmVkIG51bGwg
aWYgdGhpcyB3YXNuJ3QgdHJ1ZS4KICAgICAgICAgUkVMRUFTRV9BU1NFUlQoR1BSSW5mbzo6bnVt
YmVyT2ZSZWdpc3RlcnMgPj0gNiB8fCAhc3RydWN0dXJlKCktPm91dE9mTGluZUNhcGFjaXR5KCkg
fHwgc3RydWN0dXJlKCktPm91dE9mTGluZUNhcGFjaXR5KCkgPT0gbmV3U3RydWN0dXJlKCktPm91
dE9mTGluZUNhcGFjaXR5KCkpOwogCiAgICAgICAgIC8vIE5PVEU6IFRoaXMgbG9naWMgaXMgZHVw
bGljYXRlZCBpbiBBY2Nlc3NDYXNlOjpkb2VzQ2FsbHMoKS4gSXQncyBpbXBvcnRhbnQgdGhhdCBk
b2VzQ2FsbHMoKSBrbm93cwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0FjY2Vzc0Nhc2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3ND
YXNlLmgKaW5kZXggNTYzYTE1NTJhZTQyMTY0NDA0NmQwYWE0MWQyM2I2YWRkNWRiNjU1OS4uY2Iz
NWI4NjRmMThhNGZmYTQ2MmMxMWU2NzE3MmM1YjA2YWQ5NmQ0OSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FjY2Vzc0Nhc2UuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5oCkBAIC0xNjcsNyArMTY3LDcgQEAgcHVibGlj
OgogICAgICAgICBTdHJ1Y3R1cmUqID0gbnVsbHB0ciwgY29uc3QgT2JqZWN0UHJvcGVydHlDb25k
aXRpb25TZXQmID0gT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQoKSwgUmVmUHRyPFBvbHlQcm90
b0FjY2Vzc0NoYWluPiYmID0gbnVsbHB0cik7CiAKICAgICBzdGF0aWMgUmVmUHRyPEFjY2Vzc0Nh
c2U+IGNyZWF0ZVRyYW5zaXRpb24oVk0mLCBKU0NlbGwqIG93bmVyLCBDYWNoZWFibGVJZGVudGlm
aWVyLCBQcm9wZXJ0eU9mZnNldCwgU3RydWN0dXJlKiBvbGRTdHJ1Y3R1cmUsCi0gICAgICAgIFN0
cnVjdHVyZSogbmV3U3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYs
IFJlZlB0cjxQb2x5UHJvdG9BY2Nlc3NDaGFpbj4mJik7CisgICAgICAgIFN0cnVjdHVyZSogbmV3
U3RydWN0dXJlLCBjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCYsIFJlZlB0cjxQb2x5
UHJvdG9BY2Nlc3NDaGFpbj4mJiwgY29uc3QgU3RydWN0dXJlU3R1YkluZm8mKTsKIAogICAgIHN0
YXRpYyBSZWY8QWNjZXNzQ2FzZT4gY3JlYXRlRGVsZXRlKFZNJiwgSlNDZWxsKiBvd25lciwgQ2Fj
aGVhYmxlSWRlbnRpZmllciwgUHJvcGVydHlPZmZzZXQsIFN0cnVjdHVyZSogb2xkU3RydWN0dXJl
LAogICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9SZXBhdGNoLmNwcAppbmRleCA0NzkyYzFhNTIwYzQ2ZmViNWZlZWFmNTc5ODUzYmU3M2I2OGFk
YTUzLi43ZjAwMjg5MmRkMWVlYTExYjhhNWUzNjFmODk2YTRkM2IzOTA2Y2VlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKQEAgLTgwMSw3ICs4MDEsNyBAQCBzdGF0aWMgSW5s
aW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVQdXRCeShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBDb2RlQmxvY2sqCiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNo
ZTsKICAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICBuZXdDYXNlID0gQWNjZXNz
Q2FzZTo6Y3JlYXRlVHJhbnNpdGlvbih2bSwgY29kZUJsb2NrLCBwcm9wZXJ0eU5hbWUsIG9mZnNl
dCwgb2xkU3RydWN0dXJlLCBuZXdTdHJ1Y3R1cmUsIGNvbmRpdGlvblNldCwgV1RGTW92ZShwcm90
b3R5cGVBY2Nlc3NDaGFpbikpOworICAgICAgICAgICAgICAgIG5ld0Nhc2UgPSBBY2Nlc3NDYXNl
OjpjcmVhdGVUcmFuc2l0aW9uKHZtLCBjb2RlQmxvY2ssIHByb3BlcnR5TmFtZSwgb2Zmc2V0LCBv
bGRTdHJ1Y3R1cmUsIG5ld1N0cnVjdHVyZSwgY29uZGl0aW9uU2V0LCBXVEZNb3ZlKHByb3RvdHlw
ZUFjY2Vzc0NoYWluKSwgc3R1YkluZm8pOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2Ug
aWYgKHNsb3QuaXNDYWNoZWFibGVDdXN0b20oKSB8fCBzbG90LmlzQ2FjaGVhYmxlU2V0dGVyKCkp
IHsKICAgICAgICAgICAgIGlmIChzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkpIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>