<?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>210917</bug_id>
          
          <creation_ts>2020-04-23 09:32:50 -0700</creation_ts>
          <short_desc>fast/scrolling/scroll-behavior-invalidate-if-disabled.html is a flaky failure</short_desc>
          <delta_ts>2020-04-26 00:38:13 -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>Scrolling</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>
          <dependson>210634</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="cathiechen">cathiechen</reporter>
          <assigned_to name="cathiechen">cathiechen</assigned_to>
          <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1644801</commentid>
    <comment_count>0</comment_count>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-23 09:32:50 -0700</bug_when>
    <thetext>fast/scrolling/scroll-behavior-invalidate-if-disabled.html is a flaky failure.

There are two cases try to test the access of scrollBehavior in CSSStyleDeclaration. If run scroll-behavior-validate-if-enabled.html before scroll-behavior-invalidate-if-disabled.html, the first test would restore the propertyID, then the second one would get the result which is wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644802</commentid>
    <comment_count>1</comment_count>
      <attachid>397349</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-23 09:44:25 -0700</bug_when>
    <thetext>Created attachment 397349
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644827</commentid>
    <comment_count>2</comment_count>
      <attachid>397349</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-23 10:17:43 -0700</bug_when>
    <thetext>Comment on attachment 397349
Patch

Hi,
I think the patch is ready to review, thanks:)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644869</commentid>
    <comment_count>3</comment_count>
      <attachid>397349</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-23 11:08:41 -0700</bug_when>
    <thetext>Comment on attachment 397349
Patch

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

&gt; Source/WebCore/css/CSSStyleDeclaration.cpp:171
&gt; +        // If the property is disabled, should return CSSPropertyInvalid from here.

This comment isn’t valuable. It just says what the code below does. If it said *why* then it might be valuable.

Given that we also do this check *before* putting a property into the cache, it does not seem good that this is needed; not great for performance, basically defeating the cache.

I think the real issue is this:

1) We try to use a single cache, but that results in us caching things that depend on settings, and we could get called later with a different settings object, or nullptr.

2) Even if it was the same settings object, if settings change, the cache needs to be cleared.

&gt; Source/WebCore/css/CSSStyleDeclaration.cpp:172
&gt; +        if (!isEnabledCSSProperty(propertyInfo.propertyID) &amp;&amp; !isCSSPropertyEnabledBySettings(propertyInfo.propertyID, settingsPtr))

I would make a helper function rather than repeating this code twice. But I think the only reason we are repeating it twice is that we don’t know how to make this work with the cache.

&gt; Source/WebCore/css/CSSStyleDeclaration.cpp:173
&gt; +            propertyInfo = { CSSPropertyInvalid, false };

Could just return this, instead of assigning it to the local.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645067</commentid>
    <comment_count>4</comment_count>
      <attachid>397349</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-23 20:47:32 -0700</bug_when>
    <thetext>Comment on attachment 397349
Patch

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

Hi Darin,

Thanks for the review:)

&gt;&gt; Source/WebCore/css/CSSStyleDeclaration.cpp:171
&gt;&gt; +        // If the property is disabled, should return CSSPropertyInvalid from here.
&gt; 
&gt; This comment isn’t valuable. It just says what the code below does. If it said *why* then it might be valuable.
&gt; 
&gt; Given that we also do this check *before* putting a property into the cache, it does not seem good that this is needed; not great for performance, basically defeating the cache.
&gt; 
&gt; I think the real issue is this:
&gt; 
&gt; 1) We try to use a single cache, but that results in us caching things that depend on settings, and we could get called later with a different settings object, or nullptr.
&gt; 
&gt; 2) Even if it was the same settings object, if settings change, the cache needs to be cleared.

I see... Maybe we can cache propertyInfo anyway, because the &quot;enable checking&quot; needs propertyID and cache can reduce the parsing work.

&gt;&gt; Source/WebCore/css/CSSStyleDeclaration.cpp:172
&gt;&gt; +        if (!isEnabledCSSProperty(propertyInfo.propertyID) &amp;&amp; !isCSSPropertyEnabledBySettings(propertyInfo.propertyID, settingsPtr))
&gt; 
&gt; I would make a helper function rather than repeating this code twice. But I think the only reason we are repeating it twice is that we don’t know how to make this work with the cache.

Done. Added isCSSPropertyDisabled().

&gt;&gt; Source/WebCore/css/CSSStyleDeclaration.cpp:173
&gt;&gt; +            propertyInfo = { CSSPropertyInvalid, false };
&gt; 
&gt; Could just return this, instead of assigning it to the local.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645070</commentid>
    <comment_count>5</comment_count>
      <attachid>397420</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-23 20:54:02 -0700</bug_when>
    <thetext>Created attachment 397420
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645122</commentid>
    <comment_count>6</comment_count>
      <attachid>397438</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-24 01:28:06 -0700</bug_when>
    <thetext>Created attachment 397438
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645238</commentid>
    <comment_count>7</comment_count>
      <attachid>397438</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-24 10:03:53 -0700</bug_when>
    <thetext>Comment on attachment 397438
Patch

OK. I think we could refactor this a bit more dividing into one more function that does the disabled check after parsing, so the end of the function was shared between the cached and non-cashed case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645610</commentid>
    <comment_count>8</comment_count>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-25 09:51:42 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #7)
&gt; Comment on attachment 397438 [details]
&gt; Patch
&gt; 
&gt; OK. I think we could refactor this a bit more dividing into one more
&gt; function that does the disabled check after parsing, so the end of the
&gt; function was shared between the cached and non-cashed case.

Done! Thanks:)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645611</commentid>
    <comment_count>9</comment_count>
      <attachid>397568</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-25 09:54:34 -0700</bug_when>
    <thetext>Created attachment 397568
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645618</commentid>
    <comment_count>10</comment_count>
      <attachid>397568</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-25 10:26:02 -0700</bug_when>
    <thetext>Comment on attachment 397568
Patch

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

&gt; Source/WebCore/css/CSSStyleDeclaration.cpp:265
&gt; +static CSSPropertyInfo getCSSPropertyInfoFromJavaScriptCSSPropertyName(const AtomString&amp; propertyName, const Settings* settingsPtr)

Three more tiny things we could do after landing this (or before if not too late), none of which are critical:

- WebKit coding style says we don’t use the word &quot;get&quot; in the name of a function like this one. I would give it a shorter name that doesn’t repeat CSS twice.
- I’d name the settingsPtr arguments just &quot;settings&quot;.
- I’d move the isCSSPropertyDisabled down past the larger parseJavaScriptCSSPropertyName function. Or maybe just collapse it in here again and not leave it as a separate function.

Anyway, looks good even without these changes!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645738</commentid>
    <comment_count>11</comment_count>
      <attachid>397607</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-25 20:21:25 -0700</bug_when>
    <thetext>Created attachment 397607
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645739</commentid>
    <comment_count>12</comment_count>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-25 20:22:04 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #10)
&gt; Comment on attachment 397568 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=397568&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/css/CSSStyleDeclaration.cpp:265
&gt; &gt; +static CSSPropertyInfo getCSSPropertyInfoFromJavaScriptCSSPropertyName(const AtomString&amp; propertyName, const Settings* settingsPtr)
&gt; 
&gt; Three more tiny things we could do after landing this (or before if not too
&gt; late), none of which are critical:
&gt; 
&gt; - WebKit coding style says we don’t use the word &quot;get&quot; in the name of a
&gt; function like this one. I would give it a shorter name that doesn’t repeat
&gt; CSS twice.
&gt; - I’d name the settingsPtr arguments just &quot;settings&quot;.
&gt; - I’d move the isCSSPropertyDisabled down past the larger
&gt; parseJavaScriptCSSPropertyName function. Or maybe just collapse it in here
&gt; again and not leave it as a separate function.
&gt; 
&gt; Anyway, looks good even without these changes!

Done! Thanks for pointing out:)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645761</commentid>
    <comment_count>13</comment_count>
      <attachid>397613</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2020-04-25 23:17:20 -0700</bug_when>
    <thetext>Created attachment 397613
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645762</commentid>
    <comment_count>14</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-26 00:37:29 -0700</bug_when>
    <thetext>Committed r260723: &lt;https://trac.webkit.org/changeset/260723&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 397613.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645763</commentid>
    <comment_count>15</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-26 00:38:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/62383245&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397349</attachid>
            <date>2020-04-23 09:44:25 -0700</date>
            <delta_ts>2020-04-23 20:53:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210917-20200424004424.patch</filename>
            <type>text/plain</type>
            <size>1698</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2I5MTYyOTk5YTgyMzIy
ZDZkNjEwNjRmZDk1OGRiYWQwNDRhZWUzZC4uMGI5MTM3YjlmYTM0NjllMzQzZmVhNTg2ZjhhMGQ1
MWVkZjM5NmI2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTA0LTIzICBDYXRo
aWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBmYXN0L3Njcm9sbGlu
Zy9zY3JvbGwtYmVoYXZpb3ItaW52YWxpZGF0ZS1pZi1kaXNhYmxlZC5odG1sIGlzIGEgZmxha3kg
ZmFpbHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjEwOTE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhlIHZhbHVlIGluIHByb3BlcnR5SW5mb0NhY2hlIHNob3VsZG4ndCBiZSByZXVzZWQgaWYgdGhl
IGZsYWcgaXMgZGlzYWJsZWQuCisKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5j
cHA6CisKIDIwMjAtMDQtMjIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+
CiAKICAgICAgICAgTWFrZSBpdCBwb3NzaWJsZSB0byBlYWdlcmx5IGFwcGx5IHNjcm9sbGluZyB0
cmVlIHN0YXRlIGZyb20gdGhlIG1haW4gdGhyZWFkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggY2Q1N2Q3MTM4MGU3OGZlYjZhODBlMmQwNTFkMDMyNTg0
NGJiZDA4OS4uMWFmMDYwYmMwMDExZmUwZThiY2Q2Y2U0MDZlMDg1ZWMwNjg1MjdjMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMTY3LDggKzE2Nywx
MiBAQCBzdGF0aWMgQ1NTUHJvcGVydHlJbmZvIHBhcnNlSmF2YVNjcmlwdENTU1Byb3BlcnR5TmFt
ZShjb25zdCBBdG9tU3RyaW5nJiBwcm9wZXJ0eQogICAgICAgICByZXR1cm4gcHJvcGVydHlJbmZv
OwogCiAgICAgcHJvcGVydHlJbmZvID0gcHJvcGVydHlJbmZvQ2FjaGUuZ2V0KCkuZ2V0KHByb3Bl
cnR5TmFtZVN0cmluZyk7Ci0gICAgaWYgKHByb3BlcnR5SW5mby5wcm9wZXJ0eUlEKQorICAgIGlm
IChwcm9wZXJ0eUluZm8ucHJvcGVydHlJRCkgeworICAgICAgICAvLyBJZiB0aGUgcHJvcGVydHkg
aXMgZGlzYWJsZWQsIHNob3VsZCByZXR1cm4gQ1NTUHJvcGVydHlJbnZhbGlkIGZyb20gaGVyZS4K
KyAgICAgICAgaWYgKCFpc0VuYWJsZWRDU1NQcm9wZXJ0eShwcm9wZXJ0eUluZm8ucHJvcGVydHlJ
RCkgJiYgIWlzQ1NTUHJvcGVydHlFbmFibGVkQnlTZXR0aW5ncyhwcm9wZXJ0eUluZm8ucHJvcGVy
dHlJRCwgc2V0dGluZ3NQdHIpKQorICAgICAgICAgICAgcHJvcGVydHlJbmZvID0geyBDU1NQcm9w
ZXJ0eUludmFsaWQsIGZhbHNlIH07CiAgICAgICAgIHJldHVybiBwcm9wZXJ0eUluZm87CisgICAg
fQogCiAgICAgYm9vbCBoYWRQaXhlbE9yUG9zUHJlZml4ID0gZmFsc2U7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397420</attachid>
            <date>2020-04-23 20:54:02 -0700</date>
            <delta_ts>2020-04-24 01:28:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210917-20200424115401.patch</filename>
            <type>text/plain</type>
            <size>2902</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2I5MTYyOTk5YTgyMzIy
ZDZkNjEwNjRmZDk1OGRiYWQwNDRhZWUzZC4uMGI5MTM3YjlmYTM0NjllMzQzZmVhNTg2ZjhhMGQ1
MWVkZjM5NmI2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTA0LTIzICBDYXRo
aWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBmYXN0L3Njcm9sbGlu
Zy9zY3JvbGwtYmVoYXZpb3ItaW52YWxpZGF0ZS1pZi1kaXNhYmxlZC5odG1sIGlzIGEgZmxha3kg
ZmFpbHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjEwOTE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhlIHZhbHVlIGluIHByb3BlcnR5SW5mb0NhY2hlIHNob3VsZG4ndCBiZSByZXVzZWQgaWYgdGhl
IGZsYWcgaXMgZGlzYWJsZWQuCisKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5j
cHA6CisKIDIwMjAtMDQtMjIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+
CiAKICAgICAgICAgTWFrZSBpdCBwb3NzaWJsZSB0byBlYWdlcmx5IGFwcGx5IHNjcm9sbGluZyB0
cmVlIHN0YXRlIGZyb20gdGhlIG1haW4gdGhyZWFkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggY2Q1N2Q3MTM4MGU3OGZlYjZhODBlMmQwNTFkMDMyNTg0
NGJiZDA4OS4uNGRkNWVkZmNhZTFlOWFmODE0NTg0ODM2ZGU5Y2FmODRmYzUyMzU5ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMTUyLDYgKzE1Miwx
MSBAQCBzdHJ1Y3QgQ1NTUHJvcGVydHlJbmZvIHsKICAgICBib29sIGhhZFBpeGVsT3JQb3NQcmVm
aXg7CiB9OwogCitzdGF0aWMgYm9vbCBpc0NTU1Byb3BlcnR5RGlzYWJsZWQoY29uc3QgQ1NTUHJv
cGVydHlJRCBpZCwgY29uc3QgU2V0dGluZ3MqIHNldHRpbmdzUHRyKQoreworICAgIHJldHVybiAh
KGlzRW5hYmxlZENTU1Byb3BlcnR5KGlkKSAmJiBpc0NTU1Byb3BlcnR5RW5hYmxlZEJ5U2V0dGlu
Z3MoaWQsIHNldHRpbmdzUHRyKSk7Cit9CisKIHN0YXRpYyBDU1NQcm9wZXJ0eUluZm8gcGFyc2VK
YXZhU2NyaXB0Q1NTUHJvcGVydHlOYW1lKGNvbnN0IEF0b21TdHJpbmcmIHByb3BlcnR5TmFtZSwg
Y29uc3QgU2V0dGluZ3MqIHNldHRpbmdzUHRyKQogewogICAgIHVzaW5nIENTU1Byb3BlcnR5SW5m
b01hcCA9IEhhc2hNYXA8U3RyaW5nLCBDU1NQcm9wZXJ0eUluZm8+OwpAQCAtMTY3LDggKzE3Miwx
MSBAQCBzdGF0aWMgQ1NTUHJvcGVydHlJbmZvIHBhcnNlSmF2YVNjcmlwdENTU1Byb3BlcnR5TmFt
ZShjb25zdCBBdG9tU3RyaW5nJiBwcm9wZXJ0eQogICAgICAgICByZXR1cm4gcHJvcGVydHlJbmZv
OwogCiAgICAgcHJvcGVydHlJbmZvID0gcHJvcGVydHlJbmZvQ2FjaGUuZ2V0KCkuZ2V0KHByb3Bl
cnR5TmFtZVN0cmluZyk7Ci0gICAgaWYgKHByb3BlcnR5SW5mby5wcm9wZXJ0eUlEKQorICAgIGlm
IChwcm9wZXJ0eUluZm8ucHJvcGVydHlJRCkgeworICAgICAgICBpZiAoaXNDU1NQcm9wZXJ0eURp
c2FibGVkKHByb3BlcnR5SW5mby5wcm9wZXJ0eUlELCBzZXR0aW5nc1B0cikpCisgICAgICAgICAg
ICByZXR1cm4geyBDU1NQcm9wZXJ0eUludmFsaWQsIGZhbHNlIH07CiAgICAgICAgIHJldHVybiBw
cm9wZXJ0eUluZm87CisgICAgfQogCiAgICAgYm9vbCBoYWRQaXhlbE9yUG9zUHJlZml4ID0gZmFs
c2U7CiAKQEAgLTI1MCwxMSArMjU4LDExIEBAIHN0YXRpYyBDU1NQcm9wZXJ0eUluZm8gcGFyc2VK
YXZhU2NyaXB0Q1NTUHJvcGVydHlOYW1lKGNvbnN0IEF0b21TdHJpbmcmIHByb3BlcnR5CiAgICAg
YXV0byogaGFzaFRhYmxlRW50cnkgPSBmaW5kUHJvcGVydHkobmFtZSwgb3V0cHV0TGVuZ3RoKTsK
ICAgICBpZiAoYXV0byBwcm9wZXJ0eUlEID0gaGFzaFRhYmxlRW50cnkgPyBoYXNoVGFibGVFbnRy
eS0+aWQgOiAwKSB7CiAgICAgICAgIGF1dG8gaWQgPSBzdGF0aWNfY2FzdDxDU1NQcm9wZXJ0eUlE
Pihwcm9wZXJ0eUlEKTsKLSAgICAgICAgaWYgKGlzRW5hYmxlZENTU1Byb3BlcnR5KGlkKSAmJiBp
c0NTU1Byb3BlcnR5RW5hYmxlZEJ5U2V0dGluZ3MoaWQsIHNldHRpbmdzUHRyKSkgewotICAgICAg
ICAgICAgcHJvcGVydHlJbmZvLmhhZFBpeGVsT3JQb3NQcmVmaXggPSBoYWRQaXhlbE9yUG9zUHJl
Zml4OwotICAgICAgICAgICAgcHJvcGVydHlJbmZvLnByb3BlcnR5SUQgPSBpZDsKLSAgICAgICAg
ICAgIHByb3BlcnR5SW5mb0NhY2hlLmdldCgpLmFkZChwcm9wZXJ0eU5hbWVTdHJpbmcsIHByb3Bl
cnR5SW5mbyk7Ci0gICAgICAgIH0KKyAgICAgICAgcHJvcGVydHlJbmZvLmhhZFBpeGVsT3JQb3NQ
cmVmaXggPSBoYWRQaXhlbE9yUG9zUHJlZml4OworICAgICAgICBwcm9wZXJ0eUluZm8ucHJvcGVy
dHlJRCA9IGlkOworICAgICAgICBwcm9wZXJ0eUluZm9DYWNoZS5nZXQoKS5hZGQocHJvcGVydHlO
YW1lU3RyaW5nLCBwcm9wZXJ0eUluZm8pOworICAgICAgICBpZiAoaXNDU1NQcm9wZXJ0eURpc2Fi
bGVkKGlkLCBzZXR0aW5nc1B0cikpCisgICAgICAgICAgICByZXR1cm4geyBDU1NQcm9wZXJ0eUlu
dmFsaWQsIGZhbHNlIH07CiAgICAgfQogICAgIHJldHVybiBwcm9wZXJ0eUluZm87CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397438</attachid>
            <date>2020-04-24 01:28:06 -0700</date>
            <delta_ts>2020-04-25 09:54:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210917-20200424162805.patch</filename>
            <type>text/plain</type>
            <size>3094</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2I5MTYyOTk5YTgyMzIy
ZDZkNjEwNjRmZDk1OGRiYWQwNDRhZWUzZC4uNmM4ODcwYmY5NDg5YWM3YWQ3NmJjNGE2OTA1ZWRh
MzNhNmQ0NTg4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTA0LTIzICBDYXRo
aWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBmYXN0L3Njcm9sbGlu
Zy9zY3JvbGwtYmVoYXZpb3ItaW52YWxpZGF0ZS1pZi1kaXNhYmxlZC5odG1sIGlzIGEgZmxha3kg
ZmFpbHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjEwOTE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
SWYgdGhlIHByb3BlcnR5IGlzIGRpc2FibGVkLCBwYXJzZUphdmFTY3JpcHRDU1NQcm9wZXJ0eU5h
bWUgc2hvdWxkIHJldHVybiBhbiBpbnZhbGlkCisgICAgICAgIENTU1Byb3BlcnR5SW5mby4gQmVj
YXVzZSBDU1NQcm9wZXJ0eUlEIGlzIG5lZWRlZCB3aGlsZSBjaGVja2luZyB0aGUgZmxhZyB2YWx1
ZSwgc28KKyAgICAgICAgcHJvcGVydHlJbmZvQ2FjaGUgc2hvdWxkIGNhY2hlIHRoZSBwYXJzaW5n
IHZhbHVlIGV2ZW4gaWYgdGhlIHByb3BlcnR5IGlzIGRpc2FibGVkLgorCisgICAgICAgICogY3Nz
L0NTU1N0eWxlRGVjbGFyYXRpb24uY3BwOgorCiAyMDIwLTA0LTIyICBTaW1vbiBGcmFzZXIgIDxz
aW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgaXQgcG9zc2libGUgdG8gZWFn
ZXJseSBhcHBseSBzY3JvbGxpbmcgdHJlZSBzdGF0ZSBmcm9tIHRoZSBtYWluIHRocmVhZApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IGNkNTdkNzEzODBl
NzhmZWI2YTgwZTJkMDUxZDAzMjU4NDRiYmQwODkuLjE1MmIwZTM2YjM3MDAzZGZjNDJmZTFkY2Fj
N2ZiMDNiYTYyOTk0MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZURl
Y2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlv
bi5jcHAKQEAgLTE1Miw2ICsxNTIsMTEgQEAgc3RydWN0IENTU1Byb3BlcnR5SW5mbyB7CiAgICAg
Ym9vbCBoYWRQaXhlbE9yUG9zUHJlZml4OwogfTsKIAorc3RhdGljIGJvb2wgaXNDU1NQcm9wZXJ0
eURpc2FibGVkKGNvbnN0IENTU1Byb3BlcnR5SUQgaWQsIGNvbnN0IFNldHRpbmdzKiBzZXR0aW5n
c1B0cikKK3sKKyAgICByZXR1cm4gIWlzRW5hYmxlZENTU1Byb3BlcnR5KGlkKSB8fCAhaXNDU1NQ
cm9wZXJ0eUVuYWJsZWRCeVNldHRpbmdzKGlkLCBzZXR0aW5nc1B0cik7Cit9CisKIHN0YXRpYyBD
U1NQcm9wZXJ0eUluZm8gcGFyc2VKYXZhU2NyaXB0Q1NTUHJvcGVydHlOYW1lKGNvbnN0IEF0b21T
dHJpbmcmIHByb3BlcnR5TmFtZSwgY29uc3QgU2V0dGluZ3MqIHNldHRpbmdzUHRyKQogewogICAg
IHVzaW5nIENTU1Byb3BlcnR5SW5mb01hcCA9IEhhc2hNYXA8U3RyaW5nLCBDU1NQcm9wZXJ0eUlu
Zm8+OwpAQCAtMTY3LDggKzE3MiwxMSBAQCBzdGF0aWMgQ1NTUHJvcGVydHlJbmZvIHBhcnNlSmF2
YVNjcmlwdENTU1Byb3BlcnR5TmFtZShjb25zdCBBdG9tU3RyaW5nJiBwcm9wZXJ0eQogICAgICAg
ICByZXR1cm4gcHJvcGVydHlJbmZvOwogCiAgICAgcHJvcGVydHlJbmZvID0gcHJvcGVydHlJbmZv
Q2FjaGUuZ2V0KCkuZ2V0KHByb3BlcnR5TmFtZVN0cmluZyk7Ci0gICAgaWYgKHByb3BlcnR5SW5m
by5wcm9wZXJ0eUlEKQorICAgIGlmIChwcm9wZXJ0eUluZm8ucHJvcGVydHlJRCkgeworICAgICAg
ICBpZiAoaXNDU1NQcm9wZXJ0eURpc2FibGVkKHByb3BlcnR5SW5mby5wcm9wZXJ0eUlELCBzZXR0
aW5nc1B0cikpCisgICAgICAgICAgICByZXR1cm4geyBDU1NQcm9wZXJ0eUludmFsaWQsIGZhbHNl
IH07CiAgICAgICAgIHJldHVybiBwcm9wZXJ0eUluZm87CisgICAgfQogCiAgICAgYm9vbCBoYWRQ
aXhlbE9yUG9zUHJlZml4ID0gZmFsc2U7CiAKQEAgLTI1MCwxMSArMjU4LDExIEBAIHN0YXRpYyBD
U1NQcm9wZXJ0eUluZm8gcGFyc2VKYXZhU2NyaXB0Q1NTUHJvcGVydHlOYW1lKGNvbnN0IEF0b21T
dHJpbmcmIHByb3BlcnR5CiAgICAgYXV0byogaGFzaFRhYmxlRW50cnkgPSBmaW5kUHJvcGVydHko
bmFtZSwgb3V0cHV0TGVuZ3RoKTsKICAgICBpZiAoYXV0byBwcm9wZXJ0eUlEID0gaGFzaFRhYmxl
RW50cnkgPyBoYXNoVGFibGVFbnRyeS0+aWQgOiAwKSB7CiAgICAgICAgIGF1dG8gaWQgPSBzdGF0
aWNfY2FzdDxDU1NQcm9wZXJ0eUlEPihwcm9wZXJ0eUlEKTsKLSAgICAgICAgaWYgKGlzRW5hYmxl
ZENTU1Byb3BlcnR5KGlkKSAmJiBpc0NTU1Byb3BlcnR5RW5hYmxlZEJ5U2V0dGluZ3MoaWQsIHNl
dHRpbmdzUHRyKSkgewotICAgICAgICAgICAgcHJvcGVydHlJbmZvLmhhZFBpeGVsT3JQb3NQcmVm
aXggPSBoYWRQaXhlbE9yUG9zUHJlZml4OwotICAgICAgICAgICAgcHJvcGVydHlJbmZvLnByb3Bl
cnR5SUQgPSBpZDsKLSAgICAgICAgICAgIHByb3BlcnR5SW5mb0NhY2hlLmdldCgpLmFkZChwcm9w
ZXJ0eU5hbWVTdHJpbmcsIHByb3BlcnR5SW5mbyk7Ci0gICAgICAgIH0KKyAgICAgICAgcHJvcGVy
dHlJbmZvLmhhZFBpeGVsT3JQb3NQcmVmaXggPSBoYWRQaXhlbE9yUG9zUHJlZml4OworICAgICAg
ICBwcm9wZXJ0eUluZm8ucHJvcGVydHlJRCA9IGlkOworICAgICAgICBwcm9wZXJ0eUluZm9DYWNo
ZS5nZXQoKS5hZGQocHJvcGVydHlOYW1lU3RyaW5nLCBwcm9wZXJ0eUluZm8pOworICAgICAgICBp
ZiAoaXNDU1NQcm9wZXJ0eURpc2FibGVkKGlkLCBzZXR0aW5nc1B0cikpCisgICAgICAgICAgICBy
ZXR1cm4geyBDU1NQcm9wZXJ0eUludmFsaWQsIGZhbHNlIH07CiAgICAgfQogICAgIHJldHVybiBw
cm9wZXJ0eUluZm87CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397568</attachid>
            <date>2020-04-25 09:54:34 -0700</date>
            <delta_ts>2020-04-25 20:21:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210917-20200426005432.patch</filename>
            <type>text/plain</type>
            <size>4615</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2I5MTYyOTk5YTgyMzIy
ZDZkNjEwNjRmZDk1OGRiYWQwNDRhZWUzZC4uOTUxOWMxNGNiOGMzZTI2ZGVkYzY3ZjUwYWZiNjlk
ZDIxNjc5MjFiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIwLTA0LTIzICBDYXRo
aWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBmYXN0L3Njcm9sbGlu
Zy9zY3JvbGwtYmVoYXZpb3ItaW52YWxpZGF0ZS1pZi1kaXNhYmxlZC5odG1sIGlzIGEgZmxha3kg
ZmFpbHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjEwOTE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgVGhl
IGZsYWt5IGZhaWx1cmUgaXMgY2F1c2VkIGJ5IHJldXNpbmcgdGhlIENTU1Byb3BlcnR5SW5mbyB2
YWx1ZSBjYWNoZWQgcHJvcGVydHlJbmZvQ2FjaGUKKyAgICAgICAgYWZ0ZXIgZXhwZXJpbWVudGFs
IGZsYWdzIGNoYW5nZWQuIEFkZCBnZXRDU1NQcm9wZXJ0eUluZm9Gcm9tSmF2YVNjcmlwdENTU1By
b3BlcnR5TmFtZSAKKyAgICAgICAgdG8gcGVyZm9ybSBkaXNhYmxlZCBjaGVja2luZyBhZnRlciBw
YXJzaW5nLiBJZiB0aGUgcHJvcGVydHkgaXMgZGlzYWJsZWQsIGl0IHdpbGwgcmV0dXJuCisgICAg
ICAgIGFuIGludmFsaWQgQ1NTUHJvcGVydHlJbmZvIGluc3RlYWQuCisKKyAgICAgICAgKiBjc3Mv
Q1NTU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZURlY2xh
cmF0aW9uOjpnZXRDU1NQcm9wZXJ0eUlERnJvbUphdmFTY3JpcHRQcm9wZXJ0eU5hbWUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVEZWNsYXJhdGlvbjo6bmFtZWRJdGVtKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1N0eWxlRGVjbGFyYXRpb246OnNldE5hbWVkSXRlbSk6CisKIDIwMjAtMDQt
MjIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgTWFr
ZSBpdCBwb3NzaWJsZSB0byBlYWdlcmx5IGFwcGx5IHNjcm9sbGluZyB0cmVlIHN0YXRlIGZyb20g
dGhlIG1haW4gdGhyZWFkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVE
ZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5j
cHAKaW5kZXggY2Q1N2Q3MTM4MGU3OGZlYjZhODBlMmQwNTFkMDMyNTg0NGJiZDA4OS4uM2U2MmM0
ZTA0MTZjYjI5ZjU3MjA3MzgwZDI2MjgyZjYyZmUwNTc2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMTUyLDcgKzE1MiwxMiBAQCBzdHJ1Y3QgQ1NT
UHJvcGVydHlJbmZvIHsKICAgICBib29sIGhhZFBpeGVsT3JQb3NQcmVmaXg7CiB9OwogCi1zdGF0
aWMgQ1NTUHJvcGVydHlJbmZvIHBhcnNlSmF2YVNjcmlwdENTU1Byb3BlcnR5TmFtZShjb25zdCBB
dG9tU3RyaW5nJiBwcm9wZXJ0eU5hbWUsIGNvbnN0IFNldHRpbmdzKiBzZXR0aW5nc1B0cikKK3N0
YXRpYyBib29sIGlzQ1NTUHJvcGVydHlEaXNhYmxlZChjb25zdCBDU1NQcm9wZXJ0eUlEIGlkLCBj
b25zdCBTZXR0aW5ncyogc2V0dGluZ3NQdHIpCit7CisgICAgcmV0dXJuICFpc0VuYWJsZWRDU1NQ
cm9wZXJ0eShpZCkgfHwgIWlzQ1NTUHJvcGVydHlFbmFibGVkQnlTZXR0aW5ncyhpZCwgc2V0dGlu
Z3NQdHIpOworfQorCitzdGF0aWMgQ1NTUHJvcGVydHlJbmZvIHBhcnNlSmF2YVNjcmlwdENTU1By
b3BlcnR5TmFtZShjb25zdCBBdG9tU3RyaW5nJiBwcm9wZXJ0eU5hbWUpCiB7CiAgICAgdXNpbmcg
Q1NTUHJvcGVydHlJbmZvTWFwID0gSGFzaE1hcDxTdHJpbmcsIENTU1Byb3BlcnR5SW5mbz47CiAg
ICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPENTU1Byb3BlcnR5SW5mb01hcD4gcHJvcGVydHlJbmZv
Q2FjaGU7CkBAIC0yNTAsMjYgKzI1NSwzMiBAQCBzdGF0aWMgQ1NTUHJvcGVydHlJbmZvIHBhcnNl
SmF2YVNjcmlwdENTU1Byb3BlcnR5TmFtZShjb25zdCBBdG9tU3RyaW5nJiBwcm9wZXJ0eQogICAg
IGF1dG8qIGhhc2hUYWJsZUVudHJ5ID0gZmluZFByb3BlcnR5KG5hbWUsIG91dHB1dExlbmd0aCk7
CiAgICAgaWYgKGF1dG8gcHJvcGVydHlJRCA9IGhhc2hUYWJsZUVudHJ5ID8gaGFzaFRhYmxlRW50
cnktPmlkIDogMCkgewogICAgICAgICBhdXRvIGlkID0gc3RhdGljX2Nhc3Q8Q1NTUHJvcGVydHlJ
RD4ocHJvcGVydHlJRCk7Ci0gICAgICAgIGlmIChpc0VuYWJsZWRDU1NQcm9wZXJ0eShpZCkgJiYg
aXNDU1NQcm9wZXJ0eUVuYWJsZWRCeVNldHRpbmdzKGlkLCBzZXR0aW5nc1B0cikpIHsKLSAgICAg
ICAgICAgIHByb3BlcnR5SW5mby5oYWRQaXhlbE9yUG9zUHJlZml4ID0gaGFkUGl4ZWxPclBvc1By
ZWZpeDsKLSAgICAgICAgICAgIHByb3BlcnR5SW5mby5wcm9wZXJ0eUlEID0gaWQ7Ci0gICAgICAg
ICAgICBwcm9wZXJ0eUluZm9DYWNoZS5nZXQoKS5hZGQocHJvcGVydHlOYW1lU3RyaW5nLCBwcm9w
ZXJ0eUluZm8pOwotICAgICAgICB9CisgICAgICAgIHByb3BlcnR5SW5mby5oYWRQaXhlbE9yUG9z
UHJlZml4ID0gaGFkUGl4ZWxPclBvc1ByZWZpeDsKKyAgICAgICAgcHJvcGVydHlJbmZvLnByb3Bl
cnR5SUQgPSBpZDsKKyAgICAgICAgcHJvcGVydHlJbmZvQ2FjaGUuZ2V0KCkuYWRkKHByb3BlcnR5
TmFtZVN0cmluZywgcHJvcGVydHlJbmZvKTsKICAgICB9CiAgICAgcmV0dXJuIHByb3BlcnR5SW5m
bzsKIH0KIAorc3RhdGljIENTU1Byb3BlcnR5SW5mbyBnZXRDU1NQcm9wZXJ0eUluZm9Gcm9tSmF2
YVNjcmlwdENTU1Byb3BlcnR5TmFtZShjb25zdCBBdG9tU3RyaW5nJiBwcm9wZXJ0eU5hbWUsIGNv
bnN0IFNldHRpbmdzKiBzZXR0aW5nc1B0cikKK3sKKyAgICBhdXRvIHByb3BlcnR5SW5mbyA9IHBh
cnNlSmF2YVNjcmlwdENTU1Byb3BlcnR5TmFtZShwcm9wZXJ0eU5hbWUpOworICAgIGlmIChpc0NT
U1Byb3BlcnR5RGlzYWJsZWQocHJvcGVydHlJbmZvLnByb3BlcnR5SUQsIHNldHRpbmdzUHRyKSkK
KyAgICAgICAgcmV0dXJuIHsgQ1NTUHJvcGVydHlJbnZhbGlkLCBmYWxzZSB9OworICAgIHJldHVy
biBwcm9wZXJ0eUluZm87Cit9CisKIH0KIAogQ1NTUHJvcGVydHlJRCBDU1NTdHlsZURlY2xhcmF0
aW9uOjpnZXRDU1NQcm9wZXJ0eUlERnJvbUphdmFTY3JpcHRQcm9wZXJ0eU5hbWUoY29uc3QgQXRv
bVN0cmluZyYgcHJvcGVydHlOYW1lKQogewotICAgIHJldHVybiBwYXJzZUphdmFTY3JpcHRDU1NQ
cm9wZXJ0eU5hbWUocHJvcGVydHlOYW1lLCBudWxscHRyKS5wcm9wZXJ0eUlEOworICAgIHJldHVy
biBnZXRDU1NQcm9wZXJ0eUluZm9Gcm9tSmF2YVNjcmlwdENTU1Byb3BlcnR5TmFtZShwcm9wZXJ0
eU5hbWUsIG51bGxwdHIpLnByb3BlcnR5SUQ7CiB9CiAKIE9wdGlvbmFsPFZhcmlhbnQ8U3RyaW5n
LCBkb3VibGU+PiBDU1NTdHlsZURlY2xhcmF0aW9uOjpuYW1lZEl0ZW0oY29uc3QgQXRvbVN0cmlu
ZyYgcHJvcGVydHlOYW1lKQogewogICAgIGF1dG8qIHNldHRpbmdzUHRyID0gcGFyZW50RWxlbWVu
dCgpID8gJnBhcmVudEVsZW1lbnQoKS0+ZG9jdW1lbnQoKS5zZXR0aW5ncygpIDogbnVsbHB0cjsK
LSAgICBhdXRvIHByb3BlcnR5SW5mbyA9IHBhcnNlSmF2YVNjcmlwdENTU1Byb3BlcnR5TmFtZShw
cm9wZXJ0eU5hbWUsIHNldHRpbmdzUHRyKTsKKyAgICBhdXRvIHByb3BlcnR5SW5mbyA9IGdldENT
U1Byb3BlcnR5SW5mb0Zyb21KYXZhU2NyaXB0Q1NTUHJvcGVydHlOYW1lKHByb3BlcnR5TmFtZSwg
c2V0dGluZ3NQdHIpOwogICAgIGlmICghcHJvcGVydHlJbmZvLnByb3BlcnR5SUQpCiAgICAgICAg
IHJldHVybiBXVEY6Om51bGxvcHQ7CiAKQEAgLTI5Miw3ICszMDMsNyBAQCBPcHRpb25hbDxWYXJp
YW50PFN0cmluZywgZG91YmxlPj4gQ1NTU3R5bGVEZWNsYXJhdGlvbjo6bmFtZWRJdGVtKGNvbnN0
IEF0b21TdHJpbgogRXhjZXB0aW9uT3I8dm9pZD4gQ1NTU3R5bGVEZWNsYXJhdGlvbjo6c2V0TmFt
ZWRJdGVtKGNvbnN0IEF0b21TdHJpbmcmIHByb3BlcnR5TmFtZSwgU3RyaW5nIHZhbHVlLCBib29s
JiBwcm9wZXJ0eVN1cHBvcnRlZCkKIHsKICAgICBhdXRvKiBzZXR0aW5nc1B0ciA9IHBhcmVudEVs
ZW1lbnQoKSA/ICZwYXJlbnRFbGVtZW50KCktPmRvY3VtZW50KCkuc2V0dGluZ3MoKSA6IG51bGxw
dHI7Ci0gICAgYXV0byBwcm9wZXJ0eUluZm8gPSBwYXJzZUphdmFTY3JpcHRDU1NQcm9wZXJ0eU5h
bWUocHJvcGVydHlOYW1lLCBzZXR0aW5nc1B0cik7CisgICAgYXV0byBwcm9wZXJ0eUluZm8gPSBn
ZXRDU1NQcm9wZXJ0eUluZm9Gcm9tSmF2YVNjcmlwdENTU1Byb3BlcnR5TmFtZShwcm9wZXJ0eU5h
bWUsIHNldHRpbmdzUHRyKTsKICAgICBpZiAoIXByb3BlcnR5SW5mby5wcm9wZXJ0eUlEKSB7CiAg
ICAgICAgIHByb3BlcnR5U3VwcG9ydGVkID0gZmFsc2U7CiAgICAgICAgIHJldHVybiB7IH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397607</attachid>
            <date>2020-04-25 20:21:25 -0700</date>
            <delta_ts>2020-04-25 23:15:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210917-20200426112123.patch</filename>
            <type>text/plain</type>
            <size>4587</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2I5MTYyOTk5YTgyMzIy
ZDZkNjEwNjRmZDk1OGRiYWQwNDRhZWUzZC4uOWMwNGFiNzIzOTE3MTQ2Y2ViZjdjZTRjOGU2ZTky
YzM4NjI3M2RiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIwLTA0LTIzICBDYXRo
aWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBmYXN0L3Njcm9sbGlu
Zy9zY3JvbGwtYmVoYXZpb3ItaW52YWxpZGF0ZS1pZi1kaXNhYmxlZC5odG1sIGlzIGEgZmxha3kg
ZmFpbHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjEwOTE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgVGhl
IGZsYWt5IGZhaWx1cmUgaXMgY2F1c2VkIGJ5IHJldXNpbmcgdGhlIENTU1Byb3BlcnR5SW5mbyB2
YWx1ZSBjYWNoZWQgcHJvcGVydHlJbmZvQ2FjaGUKKyAgICAgICAgYWZ0ZXIgZXhwZXJpbWVudGFs
IGZsYWdzIGNoYW5nZWQuIEFkZCBwcm9wZXJ0eUluZm9Gcm9tSmF2YVNjcmlwdENTU1Byb3BlcnR5
TmFtZSAKKyAgICAgICAgdG8gcGVyZm9ybSBkaXNhYmxlZCBjaGVja2luZyBhZnRlciBwYXJzaW5n
LiBJZiB0aGUgcHJvcGVydHkgaXMgZGlzYWJsZWQsIGl0IHdpbGwgcmV0dXJuCisgICAgICAgIGFu
IGludmFsaWQgQ1NTUHJvcGVydHlJbmZvIGluc3RlYWQuCisKKyAgICAgICAgKiBjc3MvQ1NTU3R5
bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZURlY2xhcmF0aW9u
OjpnZXRDU1NQcm9wZXJ0eUlERnJvbUphdmFTY3JpcHRQcm9wZXJ0eU5hbWUpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTU3R5bGVEZWNsYXJhdGlvbjo6bmFtZWRJdGVtKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1N0eWxlRGVjbGFyYXRpb246OnNldE5hbWVkSXRlbSk6CisKIDIwMjAtMDQtMjIgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBpdCBw
b3NzaWJsZSB0byBlYWdlcmx5IGFwcGx5IHNjcm9sbGluZyB0cmVlIHN0YXRlIGZyb20gdGhlIG1h
aW4gdGhyZWFkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJh
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5k
ZXggY2Q1N2Q3MTM4MGU3OGZlYjZhODBlMmQwNTFkMDMyNTg0NGJiZDA4OS4uYjQ5ODhkYjEzNGMz
NTQ4NzE4MGYxMmM0Mjg5ZWJiZTZlZjgzM2U3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NT
dHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMTUyLDcgKzE1Miw3IEBAIHN0cnVjdCBDU1NQcm9wZXJ0
eUluZm8gewogICAgIGJvb2wgaGFkUGl4ZWxPclBvc1ByZWZpeDsKIH07CiAKLXN0YXRpYyBDU1NQ
cm9wZXJ0eUluZm8gcGFyc2VKYXZhU2NyaXB0Q1NTUHJvcGVydHlOYW1lKGNvbnN0IEF0b21TdHJp
bmcmIHByb3BlcnR5TmFtZSwgY29uc3QgU2V0dGluZ3MqIHNldHRpbmdzUHRyKQorc3RhdGljIENT
U1Byb3BlcnR5SW5mbyBwYXJzZUphdmFTY3JpcHRDU1NQcm9wZXJ0eU5hbWUoY29uc3QgQXRvbVN0
cmluZyYgcHJvcGVydHlOYW1lKQogewogICAgIHVzaW5nIENTU1Byb3BlcnR5SW5mb01hcCA9IEhh
c2hNYXA8U3RyaW5nLCBDU1NQcm9wZXJ0eUluZm8+OwogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3ll
ZDxDU1NQcm9wZXJ0eUluZm9NYXA+IHByb3BlcnR5SW5mb0NhY2hlOwpAQCAtMjUwLDI2ICsyNTAs
MzIgQEAgc3RhdGljIENTU1Byb3BlcnR5SW5mbyBwYXJzZUphdmFTY3JpcHRDU1NQcm9wZXJ0eU5h
bWUoY29uc3QgQXRvbVN0cmluZyYgcHJvcGVydHkKICAgICBhdXRvKiBoYXNoVGFibGVFbnRyeSA9
IGZpbmRQcm9wZXJ0eShuYW1lLCBvdXRwdXRMZW5ndGgpOwogICAgIGlmIChhdXRvIHByb3BlcnR5
SUQgPSBoYXNoVGFibGVFbnRyeSA/IGhhc2hUYWJsZUVudHJ5LT5pZCA6IDApIHsKICAgICAgICAg
YXV0byBpZCA9IHN0YXRpY19jYXN0PENTU1Byb3BlcnR5SUQ+KHByb3BlcnR5SUQpOwotICAgICAg
ICBpZiAoaXNFbmFibGVkQ1NTUHJvcGVydHkoaWQpICYmIGlzQ1NTUHJvcGVydHlFbmFibGVkQnlT
ZXR0aW5ncyhpZCwgc2V0dGluZ3NQdHIpKSB7Ci0gICAgICAgICAgICBwcm9wZXJ0eUluZm8uaGFk
UGl4ZWxPclBvc1ByZWZpeCA9IGhhZFBpeGVsT3JQb3NQcmVmaXg7Ci0gICAgICAgICAgICBwcm9w
ZXJ0eUluZm8ucHJvcGVydHlJRCA9IGlkOwotICAgICAgICAgICAgcHJvcGVydHlJbmZvQ2FjaGUu
Z2V0KCkuYWRkKHByb3BlcnR5TmFtZVN0cmluZywgcHJvcGVydHlJbmZvKTsKLSAgICAgICAgfQor
ICAgICAgICBwcm9wZXJ0eUluZm8uaGFkUGl4ZWxPclBvc1ByZWZpeCA9IGhhZFBpeGVsT3JQb3NQ
cmVmaXg7CisgICAgICAgIHByb3BlcnR5SW5mby5wcm9wZXJ0eUlEID0gaWQ7CisgICAgICAgIHBy
b3BlcnR5SW5mb0NhY2hlLmdldCgpLmFkZChwcm9wZXJ0eU5hbWVTdHJpbmcsIHByb3BlcnR5SW5m
byk7CiAgICAgfQogICAgIHJldHVybiBwcm9wZXJ0eUluZm87CiB9CiAKK3N0YXRpYyBDU1NQcm9w
ZXJ0eUluZm8gcHJvcGVydHlJbmZvRnJvbUphdmFTY3JpcHRDU1NQcm9wZXJ0eU5hbWUoY29uc3Qg
QXRvbVN0cmluZyYgcHJvcGVydHlOYW1lLCBjb25zdCBTZXR0aW5ncyogc2V0dGluZ3MpCit7Cisg
ICAgYXV0byBwcm9wZXJ0eUluZm8gPSBwYXJzZUphdmFTY3JpcHRDU1NQcm9wZXJ0eU5hbWUocHJv
cGVydHlOYW1lKTsKKyAgICBpZiAoIWlzRW5hYmxlZENTU1Byb3BlcnR5KGlkKSB8fCAhaXNDU1NQ
cm9wZXJ0eUVuYWJsZWRCeVNldHRpbmdzKGlkLCBzZXR0aW5ncykpCisgICAgICAgIHJldHVybiB7
IENTU1Byb3BlcnR5SW52YWxpZCwgZmFsc2UgfTsKKyAgICByZXR1cm4gcHJvcGVydHlJbmZvOwor
fQorCiB9CiAKIENTU1Byb3BlcnR5SUQgQ1NTU3R5bGVEZWNsYXJhdGlvbjo6Z2V0Q1NTUHJvcGVy
dHlJREZyb21KYXZhU2NyaXB0UHJvcGVydHlOYW1lKGNvbnN0IEF0b21TdHJpbmcmIHByb3BlcnR5
TmFtZSkKIHsKLSAgICByZXR1cm4gcGFyc2VKYXZhU2NyaXB0Q1NTUHJvcGVydHlOYW1lKHByb3Bl
cnR5TmFtZSwgbnVsbHB0cikucHJvcGVydHlJRDsKKyAgICByZXR1cm4gcHJvcGVydHlJbmZvRnJv
bUphdmFTY3JpcHRDU1NQcm9wZXJ0eU5hbWUocHJvcGVydHlOYW1lLCBudWxscHRyKS5wcm9wZXJ0
eUlEOwogfQogCiBPcHRpb25hbDxWYXJpYW50PFN0cmluZywgZG91YmxlPj4gQ1NTU3R5bGVEZWNs
YXJhdGlvbjo6bmFtZWRJdGVtKGNvbnN0IEF0b21TdHJpbmcmIHByb3BlcnR5TmFtZSkKIHsKLSAg
ICBhdXRvKiBzZXR0aW5nc1B0ciA9IHBhcmVudEVsZW1lbnQoKSA/ICZwYXJlbnRFbGVtZW50KCkt
PmRvY3VtZW50KCkuc2V0dGluZ3MoKSA6IG51bGxwdHI7Ci0gICAgYXV0byBwcm9wZXJ0eUluZm8g
PSBwYXJzZUphdmFTY3JpcHRDU1NQcm9wZXJ0eU5hbWUocHJvcGVydHlOYW1lLCBzZXR0aW5nc1B0
cik7CisgICAgYXV0byogc2V0dGluZ3MgPSBwYXJlbnRFbGVtZW50KCkgPyAmcGFyZW50RWxlbWVu
dCgpLT5kb2N1bWVudCgpLnNldHRpbmdzKCkgOiBudWxscHRyOworICAgIGF1dG8gcHJvcGVydHlJ
bmZvID0gcHJvcGVydHlJbmZvRnJvbUphdmFTY3JpcHRDU1NQcm9wZXJ0eU5hbWUocHJvcGVydHlO
YW1lLCBzZXR0aW5ncyk7CiAgICAgaWYgKCFwcm9wZXJ0eUluZm8ucHJvcGVydHlJRCkKICAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIApAQCAtMjkxLDggKzI5Nyw4IEBAIE9wdGlvbmFsPFZh
cmlhbnQ8U3RyaW5nLCBkb3VibGU+PiBDU1NTdHlsZURlY2xhcmF0aW9uOjpuYW1lZEl0ZW0oY29u
c3QgQXRvbVN0cmluCiAKIEV4Y2VwdGlvbk9yPHZvaWQ+IENTU1N0eWxlRGVjbGFyYXRpb246OnNl
dE5hbWVkSXRlbShjb25zdCBBdG9tU3RyaW5nJiBwcm9wZXJ0eU5hbWUsIFN0cmluZyB2YWx1ZSwg
Ym9vbCYgcHJvcGVydHlTdXBwb3J0ZWQpCiB7Ci0gICAgYXV0byogc2V0dGluZ3NQdHIgPSBwYXJl
bnRFbGVtZW50KCkgPyAmcGFyZW50RWxlbWVudCgpLT5kb2N1bWVudCgpLnNldHRpbmdzKCkgOiBu
dWxscHRyOwotICAgIGF1dG8gcHJvcGVydHlJbmZvID0gcGFyc2VKYXZhU2NyaXB0Q1NTUHJvcGVy
dHlOYW1lKHByb3BlcnR5TmFtZSwgc2V0dGluZ3NQdHIpOworICAgIGF1dG8qIHNldHRpbmdzID0g
cGFyZW50RWxlbWVudCgpID8gJnBhcmVudEVsZW1lbnQoKS0+ZG9jdW1lbnQoKS5zZXR0aW5ncygp
IDogbnVsbHB0cjsKKyAgICBhdXRvIHByb3BlcnR5SW5mbyA9IHByb3BlcnR5SW5mb0Zyb21KYXZh
U2NyaXB0Q1NTUHJvcGVydHlOYW1lKHByb3BlcnR5TmFtZSwgc2V0dGluZ3MpOwogICAgIGlmICgh
cHJvcGVydHlJbmZvLnByb3BlcnR5SUQpIHsKICAgICAgICAgcHJvcGVydHlTdXBwb3J0ZWQgPSBm
YWxzZTsKICAgICAgICAgcmV0dXJuIHsgfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397613</attachid>
            <date>2020-04-25 23:17:20 -0700</date>
            <delta_ts>2020-04-26 00:37:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210917-20200426141718.patch</filename>
            <type>text/plain</type>
            <size>4627</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2I5MTYyOTk5YTgyMzIy
ZDZkNjEwNjRmZDk1OGRiYWQwNDRhZWUzZC4uOWMwNGFiNzIzOTE3MTQ2Y2ViZjdjZTRjOGU2ZTky
YzM4NjI3M2RiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIwLTA0LTIzICBDYXRo
aWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBmYXN0L3Njcm9sbGlu
Zy9zY3JvbGwtYmVoYXZpb3ItaW52YWxpZGF0ZS1pZi1kaXNhYmxlZC5odG1sIGlzIGEgZmxha3kg
ZmFpbHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjEwOTE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgVGhl
IGZsYWt5IGZhaWx1cmUgaXMgY2F1c2VkIGJ5IHJldXNpbmcgdGhlIENTU1Byb3BlcnR5SW5mbyB2
YWx1ZSBjYWNoZWQgcHJvcGVydHlJbmZvQ2FjaGUKKyAgICAgICAgYWZ0ZXIgZXhwZXJpbWVudGFs
IGZsYWdzIGNoYW5nZWQuIEFkZCBwcm9wZXJ0eUluZm9Gcm9tSmF2YVNjcmlwdENTU1Byb3BlcnR5
TmFtZSAKKyAgICAgICAgdG8gcGVyZm9ybSBkaXNhYmxlZCBjaGVja2luZyBhZnRlciBwYXJzaW5n
LiBJZiB0aGUgcHJvcGVydHkgaXMgZGlzYWJsZWQsIGl0IHdpbGwgcmV0dXJuCisgICAgICAgIGFu
IGludmFsaWQgQ1NTUHJvcGVydHlJbmZvIGluc3RlYWQuCisKKyAgICAgICAgKiBjc3MvQ1NTU3R5
bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZURlY2xhcmF0aW9u
OjpnZXRDU1NQcm9wZXJ0eUlERnJvbUphdmFTY3JpcHRQcm9wZXJ0eU5hbWUpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTU3R5bGVEZWNsYXJhdGlvbjo6bmFtZWRJdGVtKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1N0eWxlRGVjbGFyYXRpb246OnNldE5hbWVkSXRlbSk6CisKIDIwMjAtMDQtMjIgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBpdCBw
b3NzaWJsZSB0byBlYWdlcmx5IGFwcGx5IHNjcm9sbGluZyB0cmVlIHN0YXRlIGZyb20gdGhlIG1h
aW4gdGhyZWFkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJh
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5k
ZXggY2Q1N2Q3MTM4MGU3OGZlYjZhODBlMmQwNTFkMDMyNTg0NGJiZDA4OS4uM2QxOGVmZGZiM2M5
ZTFmNzNjMWEzZWQ5MDNiOTM5ODc5NzVlNDE4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NT
dHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMTUyLDcgKzE1Miw3IEBAIHN0cnVjdCBDU1NQcm9wZXJ0
eUluZm8gewogICAgIGJvb2wgaGFkUGl4ZWxPclBvc1ByZWZpeDsKIH07CiAKLXN0YXRpYyBDU1NQ
cm9wZXJ0eUluZm8gcGFyc2VKYXZhU2NyaXB0Q1NTUHJvcGVydHlOYW1lKGNvbnN0IEF0b21TdHJp
bmcmIHByb3BlcnR5TmFtZSwgY29uc3QgU2V0dGluZ3MqIHNldHRpbmdzUHRyKQorc3RhdGljIENT
U1Byb3BlcnR5SW5mbyBwYXJzZUphdmFTY3JpcHRDU1NQcm9wZXJ0eU5hbWUoY29uc3QgQXRvbVN0
cmluZyYgcHJvcGVydHlOYW1lKQogewogICAgIHVzaW5nIENTU1Byb3BlcnR5SW5mb01hcCA9IEhh
c2hNYXA8U3RyaW5nLCBDU1NQcm9wZXJ0eUluZm8+OwogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3ll
ZDxDU1NQcm9wZXJ0eUluZm9NYXA+IHByb3BlcnR5SW5mb0NhY2hlOwpAQCAtMjUwLDI2ICsyNTAs
MzMgQEAgc3RhdGljIENTU1Byb3BlcnR5SW5mbyBwYXJzZUphdmFTY3JpcHRDU1NQcm9wZXJ0eU5h
bWUoY29uc3QgQXRvbVN0cmluZyYgcHJvcGVydHkKICAgICBhdXRvKiBoYXNoVGFibGVFbnRyeSA9
IGZpbmRQcm9wZXJ0eShuYW1lLCBvdXRwdXRMZW5ndGgpOwogICAgIGlmIChhdXRvIHByb3BlcnR5
SUQgPSBoYXNoVGFibGVFbnRyeSA/IGhhc2hUYWJsZUVudHJ5LT5pZCA6IDApIHsKICAgICAgICAg
YXV0byBpZCA9IHN0YXRpY19jYXN0PENTU1Byb3BlcnR5SUQ+KHByb3BlcnR5SUQpOwotICAgICAg
ICBpZiAoaXNFbmFibGVkQ1NTUHJvcGVydHkoaWQpICYmIGlzQ1NTUHJvcGVydHlFbmFibGVkQnlT
ZXR0aW5ncyhpZCwgc2V0dGluZ3NQdHIpKSB7Ci0gICAgICAgICAgICBwcm9wZXJ0eUluZm8uaGFk
UGl4ZWxPclBvc1ByZWZpeCA9IGhhZFBpeGVsT3JQb3NQcmVmaXg7Ci0gICAgICAgICAgICBwcm9w
ZXJ0eUluZm8ucHJvcGVydHlJRCA9IGlkOwotICAgICAgICAgICAgcHJvcGVydHlJbmZvQ2FjaGUu
Z2V0KCkuYWRkKHByb3BlcnR5TmFtZVN0cmluZywgcHJvcGVydHlJbmZvKTsKLSAgICAgICAgfQor
ICAgICAgICBwcm9wZXJ0eUluZm8uaGFkUGl4ZWxPclBvc1ByZWZpeCA9IGhhZFBpeGVsT3JQb3NQ
cmVmaXg7CisgICAgICAgIHByb3BlcnR5SW5mby5wcm9wZXJ0eUlEID0gaWQ7CisgICAgICAgIHBy
b3BlcnR5SW5mb0NhY2hlLmdldCgpLmFkZChwcm9wZXJ0eU5hbWVTdHJpbmcsIHByb3BlcnR5SW5m
byk7CiAgICAgfQogICAgIHJldHVybiBwcm9wZXJ0eUluZm87CiB9CiAKK3N0YXRpYyBDU1NQcm9w
ZXJ0eUluZm8gcHJvcGVydHlJbmZvRnJvbUphdmFTY3JpcHRDU1NQcm9wZXJ0eU5hbWUoY29uc3Qg
QXRvbVN0cmluZyYgcHJvcGVydHlOYW1lLCBjb25zdCBTZXR0aW5ncyogc2V0dGluZ3MpCit7Cisg
ICAgYXV0byBwcm9wZXJ0eUluZm8gPSBwYXJzZUphdmFTY3JpcHRDU1NQcm9wZXJ0eU5hbWUocHJv
cGVydHlOYW1lKTsKKyAgICBhdXRvIGlkID0gcHJvcGVydHlJbmZvLnByb3BlcnR5SUQ7CisgICAg
aWYgKCFpc0VuYWJsZWRDU1NQcm9wZXJ0eShpZCkgfHwgIWlzQ1NTUHJvcGVydHlFbmFibGVkQnlT
ZXR0aW5ncyhpZCwgc2V0dGluZ3MpKQorICAgICAgICByZXR1cm4geyBDU1NQcm9wZXJ0eUludmFs
aWQsIGZhbHNlIH07CisgICAgcmV0dXJuIHByb3BlcnR5SW5mbzsKK30KKwogfQogCiBDU1NQcm9w
ZXJ0eUlEIENTU1N0eWxlRGVjbGFyYXRpb246OmdldENTU1Byb3BlcnR5SURGcm9tSmF2YVNjcmlw
dFByb3BlcnR5TmFtZShjb25zdCBBdG9tU3RyaW5nJiBwcm9wZXJ0eU5hbWUpCiB7Ci0gICAgcmV0
dXJuIHBhcnNlSmF2YVNjcmlwdENTU1Byb3BlcnR5TmFtZShwcm9wZXJ0eU5hbWUsIG51bGxwdHIp
LnByb3BlcnR5SUQ7CisgICAgcmV0dXJuIHByb3BlcnR5SW5mb0Zyb21KYXZhU2NyaXB0Q1NTUHJv
cGVydHlOYW1lKHByb3BlcnR5TmFtZSwgbnVsbHB0cikucHJvcGVydHlJRDsKIH0KIAogT3B0aW9u
YWw8VmFyaWFudDxTdHJpbmcsIGRvdWJsZT4+IENTU1N0eWxlRGVjbGFyYXRpb246Om5hbWVkSXRl
bShjb25zdCBBdG9tU3RyaW5nJiBwcm9wZXJ0eU5hbWUpCiB7Ci0gICAgYXV0byogc2V0dGluZ3NQ
dHIgPSBwYXJlbnRFbGVtZW50KCkgPyAmcGFyZW50RWxlbWVudCgpLT5kb2N1bWVudCgpLnNldHRp
bmdzKCkgOiBudWxscHRyOwotICAgIGF1dG8gcHJvcGVydHlJbmZvID0gcGFyc2VKYXZhU2NyaXB0
Q1NTUHJvcGVydHlOYW1lKHByb3BlcnR5TmFtZSwgc2V0dGluZ3NQdHIpOworICAgIGF1dG8qIHNl
dHRpbmdzID0gcGFyZW50RWxlbWVudCgpID8gJnBhcmVudEVsZW1lbnQoKS0+ZG9jdW1lbnQoKS5z
ZXR0aW5ncygpIDogbnVsbHB0cjsKKyAgICBhdXRvIHByb3BlcnR5SW5mbyA9IHByb3BlcnR5SW5m
b0Zyb21KYXZhU2NyaXB0Q1NTUHJvcGVydHlOYW1lKHByb3BlcnR5TmFtZSwgc2V0dGluZ3MpOwog
ICAgIGlmICghcHJvcGVydHlJbmZvLnByb3BlcnR5SUQpCiAgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7CiAKQEAgLTI5MSw4ICsyOTgsOCBAQCBPcHRpb25hbDxWYXJpYW50PFN0cmluZywgZG91
YmxlPj4gQ1NTU3R5bGVEZWNsYXJhdGlvbjo6bmFtZWRJdGVtKGNvbnN0IEF0b21TdHJpbgogCiBF
eGNlcHRpb25Pcjx2b2lkPiBDU1NTdHlsZURlY2xhcmF0aW9uOjpzZXROYW1lZEl0ZW0oY29uc3Qg
QXRvbVN0cmluZyYgcHJvcGVydHlOYW1lLCBTdHJpbmcgdmFsdWUsIGJvb2wmIHByb3BlcnR5U3Vw
cG9ydGVkKQogewotICAgIGF1dG8qIHNldHRpbmdzUHRyID0gcGFyZW50RWxlbWVudCgpID8gJnBh
cmVudEVsZW1lbnQoKS0+ZG9jdW1lbnQoKS5zZXR0aW5ncygpIDogbnVsbHB0cjsKLSAgICBhdXRv
IHByb3BlcnR5SW5mbyA9IHBhcnNlSmF2YVNjcmlwdENTU1Byb3BlcnR5TmFtZShwcm9wZXJ0eU5h
bWUsIHNldHRpbmdzUHRyKTsKKyAgICBhdXRvKiBzZXR0aW5ncyA9IHBhcmVudEVsZW1lbnQoKSA/
ICZwYXJlbnRFbGVtZW50KCktPmRvY3VtZW50KCkuc2V0dGluZ3MoKSA6IG51bGxwdHI7CisgICAg
YXV0byBwcm9wZXJ0eUluZm8gPSBwcm9wZXJ0eUluZm9Gcm9tSmF2YVNjcmlwdENTU1Byb3BlcnR5
TmFtZShwcm9wZXJ0eU5hbWUsIHNldHRpbmdzKTsKICAgICBpZiAoIXByb3BlcnR5SW5mby5wcm9w
ZXJ0eUlEKSB7CiAgICAgICAgIHByb3BlcnR5U3VwcG9ydGVkID0gZmFsc2U7CiAgICAgICAgIHJl
dHVybiB7IH07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>