<?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>227915</bug_id>
          
          <creation_ts>2021-07-13 12:50:26 -0700</creation_ts>
          <short_desc>Port dialog close event to modern event handling code</short_desc>
          <delta_ts>2021-09-18 15:17:42 -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>DOM</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>227493</dependson>
          <blocked>202843</blocked>
    
    <blocked>84635</blocked>
    
    <blocked>228846</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Nguyen (:ntim)">ntim</reporter>
          <assigned_to name="Tim Nguyen (:ntim)">ntim</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>emilio</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1776727</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-07-13 12:50:26 -0700</bug_when>
    <thetext>Use queueTaskToDispatchEvent()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776728</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-13 12:51:02 -0700</bug_when>
    <thetext>&lt;rdar://problem/80533217&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777820</commentid>
    <comment_count>2</comment_count>
      <attachid>433774</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-07-19 01:02:18 -0700</bug_when>
    <thetext>Created attachment 433774
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777825</commentid>
    <comment_count>3</comment_count>
      <attachid>433774</attachid>
    <who name="Emilio Cobos Álvarez (:emilio)">emilio</who>
    <bug_when>2021-07-19 01:32:19 -0700</bug_when>
    <thetext>Comment on attachment 433774
Patch

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

&gt; Source/WebCore/html/HTMLDialogElement.h:55
&gt; +    const char* activeDOMObjectName() const final { return &quot;HTMLMarqueeElement&quot;; }

Copy-pasta from marquee?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777840</commentid>
    <comment_count>4</comment_count>
      <attachid>433779</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-07-19 02:30:22 -0700</bug_when>
    <thetext>Created attachment 433779
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777841</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-07-19 02:31:11 -0700</bug_when>
    <thetext>(In reply to Emilio Cobos Álvarez (:emilio) from comment #3)
&gt; Comment on attachment 433774 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=433774&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLDialogElement.h:55
&gt; &gt; +    const char* activeDOMObjectName() const final { return &quot;HTMLMarqueeElement&quot;; }
&gt; 
&gt; Copy-pasta from marquee?

Good catch, thanks! I originally did change it, but looks like I accidentally undid the change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777872</commentid>
    <comment_count>6</comment_count>
      <attachid>433779</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-07-19 08:29:08 -0700</bug_when>
    <thetext>Comment on attachment 433779
Patch

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

&gt; Source/WebCore/html/HTMLDialogElement.cpp:100
&gt; +    queueTaskToDispatchEvent(*this, TaskSource::UserInteraction, Event::create(eventNames().closeEvent, Event::CanBubble::No, Event::IsCancelable::No));

I think we should just call:
```
document().eventLoop().queueTask(TaskSource::UserInteraction, [protectedThis = makeRef(*this)] {
    protectedThis-&gt;dispatchEvent(Event::create(eventNames().closeEvent, Event::CanBubble::No, Event::IsCancelable::No));
});
```

&gt; Source/WebCore/html/HTMLDialogElement.h:33
&gt; +class HTMLDialogElement final : public HTMLElement, public ActiveDOMObject {

Subclasses of Node usually do not subclass ActiveDOMObject. ActiveDOMObject is used to manage the lifetime of the JS wrapper but Node has its own wrapper lifetime management in JSNodeCustom.cpp (wrapper stays alive as long as the node is connected + some other conditions).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777897</commentid>
    <comment_count>7</comment_count>
      <attachid>433779</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-07-19 10:42:13 -0700</bug_when>
    <thetext>Comment on attachment 433779
Patch

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

&gt;&gt; Source/WebCore/html/HTMLDialogElement.cpp:100
&gt;&gt; +    queueTaskToDispatchEvent(*this, TaskSource::UserInteraction, Event::create(eventNames().closeEvent, Event::CanBubble::No, Event::IsCancelable::No));
&gt; 
&gt; I think we should just call:
&gt; ```
&gt; document().eventLoop().queueTask(TaskSource::UserInteraction, [protectedThis = makeRef(*this)] {
&gt;     protectedThis-&gt;dispatchEvent(Event::create(eventNames().closeEvent, Event::CanBubble::No, Event::IsCancelable::No));
&gt; });
&gt; ```

We need to use GCReachableRef instead since the JS wrapper will be collected by JS if we just use Ref.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777973</commentid>
    <comment_count>8</comment_count>
      <attachid>433818</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-07-19 13:26:45 -0700</bug_when>
    <thetext>Created attachment 433818
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777975</commentid>
    <comment_count>9</comment_count>
      <attachid>433818</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-07-19 13:30:16 -0700</bug_when>
    <thetext>Comment on attachment 433818
Patch

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

r=me with nit. Please make sure the bots are happy before landing.

&gt; Source/WebCore/html/HTMLDialogElement.cpp:93
&gt; +    document().eventLoop().queueTask(TaskSource::UserInteraction, [protectedThis = GCReachableRef&lt;HTMLDialogElement&gt;(*this)] {

With C++17, you can probably write: `protectedThis = GCReachableRef { *this }`</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777977</commentid>
    <comment_count>10</comment_count>
      <attachid>433819</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-07-19 13:35:29 -0700</bug_when>
    <thetext>Created attachment 433819
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778011</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-19 15:01:10 -0700</bug_when>
    <thetext>Committed r280049 (239784@main): &lt;https://commits.webkit.org/239784@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 433819.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433774</attachid>
            <date>2021-07-19 01:02:18 -0700</date>
            <delta_ts>2021-07-19 02:30:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227915-20210719100217.patch</filename>
            <type>text/plain</type>
            <size>4425</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjBlNTVhNjg3ZDVhNGM2
MDQwNjNiYjUyNDk0MjVhNTYxMDM1ZTJlNi4uNWEwYWU4MWVkYmU0MmUwODRkNzlhOGVmNWUzNWJi
OTNhOGRkZDJlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA3LTE5ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgUG9ydCA8ZGlhbG9nPiBjbG9zZSBl
dmVudCB0byBtb2Rlcm4gZXZlbnQgaGFuZGxpbmcgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3OTE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodG1sL0hUTUxEaWFsb2dFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVtZW50OjpIVE1MRGlhbG9nRWxlbWVudCk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MRGlhbG9nRWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVtZW50OjpjbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpk
aWFsb2dDbG9zZUV2ZW50U2VuZGVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxE
aWFsb2dFbGVtZW50Ojp+SFRNTERpYWxvZ0VsZW1lbnQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTERpYWxvZ0VsZW1lbnQ6OmRpc3BhdGNoUGVuZGluZ0V2ZW50KTogRGVsZXRlZC4K
KyAgICAgICAgKiBodG1sL0hUTUxEaWFsb2dFbGVtZW50Lmg6CisKIDIwMjEtMDctMTcgIEFsYW4g
QnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gTW92ZSBJbmxp
bmVMZXZlbEJveCBjbGFzcyB0byBpdHMgb3duIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
RGlhbG9nRWxlbWVudC5jcHAKaW5kZXggOWNjNWJkYWYwMmRjODE2OWU0ZWM0NmY2YmRiNzBhNGY1
ODkyZGNlYi4uZTAyNzIwNGY1ZWUzOTEzNzEzZGM2NzMyZDIzYTBiY2I4OTgwZmQ0MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAKQEAgLTI2LDcgKzI2LDYgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJIVE1MRGlhbG9nRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkV2ZW50TmFtZXMuaCIKLSNpbmNsdWRlICJFdmVudFNlbmRlci5oIgogCiAjaW5jbHVk
ZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KQEAgLTM3
LDIwICszNiwxNyBAQCBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoSFRNTERpYWxvZ0VsZW1l
bnQpOwogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1zdGF0aWMgRGlhbG9nRXZlbnRT
ZW5kZXImIGRpYWxvZ0Nsb3NlRXZlbnRTZW5kZXIoKQotewotICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxEaWFsb2dFdmVudFNlbmRlcj4gc2hhcmVkQ2xvc2VFdmVudFNlbmRlcihldmVudE5hbWVz
KCkuY2xvc2VFdmVudCk7Ci0gICAgcmV0dXJuIHNoYXJlZENsb3NlRXZlbnRTZW5kZXI7Ci19Ci0K
IEhUTUxEaWFsb2dFbGVtZW50OjpIVE1MRGlhbG9nRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQpCiAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1l
LCBkb2N1bWVudCkKKyAgICAsIEFjdGl2ZURPTU9iamVjdChkb2N1bWVudCkKIHsKIH0KIAotSFRN
TERpYWxvZ0VsZW1lbnQ6On5IVE1MRGlhbG9nRWxlbWVudCgpCitSZWY8SFRNTERpYWxvZ0VsZW1l
bnQ+IEhUTUxEaWFsb2dFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFt
ZSwgRG9jdW1lbnQmIGRvY3VtZW50KQogewotICAgIGRpYWxvZ0Nsb3NlRXZlbnRTZW5kZXIoKS5j
YW5jZWxFdmVudCgqdGhpcyk7CisgICAgYXV0byBkaWFsb2dFbGVtZW50ID0gYWRvcHRSZWYoKm5l
dyBIVE1MRGlhbG9nRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOworICAgIGRpYWxvZ0VsZW1l
bnQtPnN1c3BlbmRJZk5lZWRlZCgpOworICAgIHJldHVybiBkaWFsb2dFbGVtZW50OwogfQogCiB2
b2lkIEhUTUxEaWFsb2dFbGVtZW50OjpzaG93KCkKQEAgLTEwMSwxNCArOTcsNyBAQCB2b2lkIEhU
TUxEaWFsb2dFbGVtZW50OjpjbG9zZShjb25zdCBTdHJpbmcmIHJlc3VsdCkKIAogICAgIC8vIEZJ
WE1FOiBBZGQgc3RlcCA2IGZyb20gc3BlYy4gKHdlYmtpdC5vcmcvYi8yMjc1MzcpCiAKLSAgICBk
aWFsb2dDbG9zZUV2ZW50U2VuZGVyKCkuY2FuY2VsRXZlbnQoKnRoaXMpOwotICAgIGRpYWxvZ0Ns
b3NlRXZlbnRTZW5kZXIoKS5kaXNwYXRjaEV2ZW50U29vbigqdGhpcyk7Ci19Ci0KLXZvaWQgSFRN
TERpYWxvZ0VsZW1lbnQ6OmRpc3BhdGNoUGVuZGluZ0V2ZW50KERpYWxvZ0V2ZW50U2VuZGVyKiBl
dmVudFNlbmRlcikKLXsKLSAgICBBU1NFUlRfVU5VU0VEKGV2ZW50U2VuZGVyLCBldmVudFNlbmRl
ciA9PSAmZGlhbG9nQ2xvc2VFdmVudFNlbmRlcigpKTsKLSAgICBkaXNwYXRjaEV2ZW50KEV2ZW50
OjpjcmVhdGUoZXZlbnROYW1lcygpLmNsb3NlRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBF
dmVudDo6SXNDYW5jZWxhYmxlOjpObykpOworICAgIHF1ZXVlVGFza1RvRGlzcGF0Y2hFdmVudCgq
dGhpcywgVGFza1NvdXJjZTo6VXNlckludGVyYWN0aW9uLCBFdmVudDo6Y3JlYXRlKGV2ZW50TmFt
ZXMoKS5jbG9zZUV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJs
ZTo6Tm8pKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlh
bG9nRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5oCmlu
ZGV4IDc4Mjk4MTM0NTJlZTM5OTZmNTc3NGI2YzA2ZTJhMTFkMmUzMzc4M2EuLmJmZGIxYTFkZTJh
NTU4ZjYzNWQyMmU5NTU1MTBmNzYzNDVlNWE5MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxE
aWFsb2dFbGVtZW50LmgKQEAgLTI1LDE4ICsyNSwxNSBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2lu
Y2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgRXZlbnRTZW5k
ZXI7Ci11c2luZyBEaWFsb2dFdmVudFNlbmRlciA9IEV2ZW50U2VuZGVyPEhUTUxEaWFsb2dFbGVt
ZW50PjsKLQotY2xhc3MgSFRNTERpYWxvZ0VsZW1lbnQgZmluYWwgOiBwdWJsaWMgSFRNTEVsZW1l
bnQgeworY2xhc3MgSFRNTERpYWxvZ0VsZW1lbnQgZmluYWwgOiBwdWJsaWMgSFRNTEVsZW1lbnQs
IHB1YmxpYyBBY3RpdmVET01PYmplY3QgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoSFRN
TERpYWxvZ0VsZW1lbnQpOwogcHVibGljOgotICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3M+
IHN0YXRpYyBSZWY8SFRNTERpYWxvZ0VsZW1lbnQ+IGNyZWF0ZShBcmdzJiYuLi4gYXJncykgeyBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBIVE1MRGlhbG9nRWxlbWVudChzdGQ6OmZvcndhcmQ8QXJncz4o
YXJncykuLi4pKTsgfQotICAgIH5IVE1MRGlhbG9nRWxlbWVudCgpOworICAgIHN0YXRpYyBSZWY8
SFRNTERpYWxvZ0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQm
KTsKIAogICAgIGJvb2wgaXNPcGVuKCkgY29uc3QgeyByZXR1cm4gaGFzQXR0cmlidXRlKEhUTUxO
YW1lczo6b3BlbkF0dHIpOyB9CiAKQEAgLTQ3LDggKzQ0LDYgQEAgcHVibGljOgogICAgIEV4Y2Vw
dGlvbk9yPHZvaWQ+IHNob3dNb2RhbCgpOwogICAgIHZvaWQgY2xvc2UoY29uc3QgU3RyaW5nJik7
CiAKLSAgICB2b2lkIGRpc3BhdGNoUGVuZGluZ0V2ZW50KERpYWxvZ0V2ZW50U2VuZGVyKik7Ci0K
ICAgICBib29sIGlzTW9kYWwoKSBjb25zdCB7IHJldHVybiBtX2lzTW9kYWw7IH07CiAKIHByaXZh
dGU6CkBAIC01Niw2ICs1MSw4IEBAIHByaXZhdGU6CiAKICAgICBTdHJpbmcgbV9yZXR1cm5WYWx1
ZTsKICAgICBib29sIG1faXNNb2RhbCB7IGZhbHNlIH07CisKKyAgICBjb25zdCBjaGFyKiBhY3Rp
dmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIkhUTUxNYXJxdWVlRWxlbWVu
dCI7IH0KIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433779</attachid>
            <date>2021-07-19 02:30:22 -0700</date>
            <delta_ts>2021-07-19 13:26:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227915-20210719113021.patch</filename>
            <type>text/plain</type>
            <size>4424</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjBlNTVhNjg3ZDVhNGM2
MDQwNjNiYjUyNDk0MjVhNTYxMDM1ZTJlNi4uNWEwYWU4MWVkYmU0MmUwODRkNzlhOGVmNWUzNWJi
OTNhOGRkZDJlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA3LTE5ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgUG9ydCA8ZGlhbG9nPiBjbG9zZSBl
dmVudCB0byBtb2Rlcm4gZXZlbnQgaGFuZGxpbmcgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3OTE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodG1sL0hUTUxEaWFsb2dFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVtZW50OjpIVE1MRGlhbG9nRWxlbWVudCk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MRGlhbG9nRWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVtZW50OjpjbG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpk
aWFsb2dDbG9zZUV2ZW50U2VuZGVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxE
aWFsb2dFbGVtZW50Ojp+SFRNTERpYWxvZ0VsZW1lbnQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTERpYWxvZ0VsZW1lbnQ6OmRpc3BhdGNoUGVuZGluZ0V2ZW50KTogRGVsZXRlZC4K
KyAgICAgICAgKiBodG1sL0hUTUxEaWFsb2dFbGVtZW50Lmg6CisKIDIwMjEtMDctMTcgIEFsYW4g
QnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gTW92ZSBJbmxp
bmVMZXZlbEJveCBjbGFzcyB0byBpdHMgb3duIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
RGlhbG9nRWxlbWVudC5jcHAKaW5kZXggOWNjNWJkYWYwMmRjODE2OWU0ZWM0NmY2YmRiNzBhNGY1
ODkyZGNlYi4uZTAyNzIwNGY1ZWUzOTEzNzEzZGM2NzMyZDIzYTBiY2I4OTgwZmQ0MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAKQEAgLTI2LDcgKzI2LDYgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJIVE1MRGlhbG9nRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkV2ZW50TmFtZXMuaCIKLSNpbmNsdWRlICJFdmVudFNlbmRlci5oIgogCiAjaW5jbHVk
ZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KQEAgLTM3
LDIwICszNiwxNyBAQCBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoSFRNTERpYWxvZ0VsZW1l
bnQpOwogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1zdGF0aWMgRGlhbG9nRXZlbnRT
ZW5kZXImIGRpYWxvZ0Nsb3NlRXZlbnRTZW5kZXIoKQotewotICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxEaWFsb2dFdmVudFNlbmRlcj4gc2hhcmVkQ2xvc2VFdmVudFNlbmRlcihldmVudE5hbWVz
KCkuY2xvc2VFdmVudCk7Ci0gICAgcmV0dXJuIHNoYXJlZENsb3NlRXZlbnRTZW5kZXI7Ci19Ci0K
IEhUTUxEaWFsb2dFbGVtZW50OjpIVE1MRGlhbG9nRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQpCiAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1l
LCBkb2N1bWVudCkKKyAgICAsIEFjdGl2ZURPTU9iamVjdChkb2N1bWVudCkKIHsKIH0KIAotSFRN
TERpYWxvZ0VsZW1lbnQ6On5IVE1MRGlhbG9nRWxlbWVudCgpCitSZWY8SFRNTERpYWxvZ0VsZW1l
bnQ+IEhUTUxEaWFsb2dFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFt
ZSwgRG9jdW1lbnQmIGRvY3VtZW50KQogewotICAgIGRpYWxvZ0Nsb3NlRXZlbnRTZW5kZXIoKS5j
YW5jZWxFdmVudCgqdGhpcyk7CisgICAgYXV0byBkaWFsb2dFbGVtZW50ID0gYWRvcHRSZWYoKm5l
dyBIVE1MRGlhbG9nRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOworICAgIGRpYWxvZ0VsZW1l
bnQtPnN1c3BlbmRJZk5lZWRlZCgpOworICAgIHJldHVybiBkaWFsb2dFbGVtZW50OwogfQogCiB2
b2lkIEhUTUxEaWFsb2dFbGVtZW50OjpzaG93KCkKQEAgLTEwMSwxNCArOTcsNyBAQCB2b2lkIEhU
TUxEaWFsb2dFbGVtZW50OjpjbG9zZShjb25zdCBTdHJpbmcmIHJlc3VsdCkKIAogICAgIC8vIEZJ
WE1FOiBBZGQgc3RlcCA2IGZyb20gc3BlYy4gKHdlYmtpdC5vcmcvYi8yMjc1MzcpCiAKLSAgICBk
aWFsb2dDbG9zZUV2ZW50U2VuZGVyKCkuY2FuY2VsRXZlbnQoKnRoaXMpOwotICAgIGRpYWxvZ0Ns
b3NlRXZlbnRTZW5kZXIoKS5kaXNwYXRjaEV2ZW50U29vbigqdGhpcyk7Ci19Ci0KLXZvaWQgSFRN
TERpYWxvZ0VsZW1lbnQ6OmRpc3BhdGNoUGVuZGluZ0V2ZW50KERpYWxvZ0V2ZW50U2VuZGVyKiBl
dmVudFNlbmRlcikKLXsKLSAgICBBU1NFUlRfVU5VU0VEKGV2ZW50U2VuZGVyLCBldmVudFNlbmRl
ciA9PSAmZGlhbG9nQ2xvc2VFdmVudFNlbmRlcigpKTsKLSAgICBkaXNwYXRjaEV2ZW50KEV2ZW50
OjpjcmVhdGUoZXZlbnROYW1lcygpLmNsb3NlRXZlbnQsIEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBF
dmVudDo6SXNDYW5jZWxhYmxlOjpObykpOworICAgIHF1ZXVlVGFza1RvRGlzcGF0Y2hFdmVudCgq
dGhpcywgVGFza1NvdXJjZTo6VXNlckludGVyYWN0aW9uLCBFdmVudDo6Y3JlYXRlKGV2ZW50TmFt
ZXMoKS5jbG9zZUV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6OklzQ2FuY2VsYWJs
ZTo6Tm8pKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlh
bG9nRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5oCmlu
ZGV4IDc4Mjk4MTM0NTJlZTM5OTZmNTc3NGI2YzA2ZTJhMTFkMmUzMzc4M2EuLjY3NWRjYWU1Y2Ux
OTUzNGZlYWExZTQ2MjViYjBiNzFiYjJhYTE4N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxE
aWFsb2dFbGVtZW50LmgKQEAgLTI1LDE4ICsyNSwxNSBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2lu
Y2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgRXZlbnRTZW5k
ZXI7Ci11c2luZyBEaWFsb2dFdmVudFNlbmRlciA9IEV2ZW50U2VuZGVyPEhUTUxEaWFsb2dFbGVt
ZW50PjsKLQotY2xhc3MgSFRNTERpYWxvZ0VsZW1lbnQgZmluYWwgOiBwdWJsaWMgSFRNTEVsZW1l
bnQgeworY2xhc3MgSFRNTERpYWxvZ0VsZW1lbnQgZmluYWwgOiBwdWJsaWMgSFRNTEVsZW1lbnQs
IHB1YmxpYyBBY3RpdmVET01PYmplY3QgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoSFRN
TERpYWxvZ0VsZW1lbnQpOwogcHVibGljOgotICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3M+
IHN0YXRpYyBSZWY8SFRNTERpYWxvZ0VsZW1lbnQ+IGNyZWF0ZShBcmdzJiYuLi4gYXJncykgeyBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBIVE1MRGlhbG9nRWxlbWVudChzdGQ6OmZvcndhcmQ8QXJncz4o
YXJncykuLi4pKTsgfQotICAgIH5IVE1MRGlhbG9nRWxlbWVudCgpOworICAgIHN0YXRpYyBSZWY8
SFRNTERpYWxvZ0VsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQm
KTsKIAogICAgIGJvb2wgaXNPcGVuKCkgY29uc3QgeyByZXR1cm4gaGFzQXR0cmlidXRlKEhUTUxO
YW1lczo6b3BlbkF0dHIpOyB9CiAKQEAgLTQ3LDggKzQ0LDYgQEAgcHVibGljOgogICAgIEV4Y2Vw
dGlvbk9yPHZvaWQ+IHNob3dNb2RhbCgpOwogICAgIHZvaWQgY2xvc2UoY29uc3QgU3RyaW5nJik7
CiAKLSAgICB2b2lkIGRpc3BhdGNoUGVuZGluZ0V2ZW50KERpYWxvZ0V2ZW50U2VuZGVyKik7Ci0K
ICAgICBib29sIGlzTW9kYWwoKSBjb25zdCB7IHJldHVybiBtX2lzTW9kYWw7IH07CiAKIHByaXZh
dGU6CkBAIC01Niw2ICs1MSw4IEBAIHByaXZhdGU6CiAKICAgICBTdHJpbmcgbV9yZXR1cm5WYWx1
ZTsKICAgICBib29sIG1faXNNb2RhbCB7IGZhbHNlIH07CisKKyAgICBjb25zdCBjaGFyKiBhY3Rp
dmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIkhUTUxEaWFsb2dFbGVtZW50
IjsgfQogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433818</attachid>
            <date>2021-07-19 13:26:45 -0700</date>
            <delta_ts>2021-07-19 13:35:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227915-20210719222644.patch</filename>
            <type>text/plain</type>
            <size>3816</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjBlNTVhNjg3ZDVhNGM2
MDQwNjNiYjUyNDk0MjVhNTYxMDM1ZTJlNi4uMjY4N2YwYTNiYjAzOTFmMzkzZGNiMzljOGM3YzUz
NjJkOGU2YjgwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA3LTE5ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgUG9ydCA8ZGlhbG9nPiBjbG9zZSBl
dmVudCB0byBtb2Rlcm4gZXZlbnQgaGFuZGxpbmcgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3OTE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodG1sL0hUTUxEaWFsb2dFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVtZW50OjpjbG9zZSk6CisgICAgICAgIChX
ZWJDb3JlOjpkaWFsb2dDbG9zZUV2ZW50U2VuZGVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxEaWFsb2dFbGVtZW50Ojp+SFRNTERpYWxvZ0VsZW1lbnQpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTERpYWxvZ0VsZW1lbnQ6OmRpc3BhdGNoUGVuZGluZ0V2ZW50KTog
RGVsZXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxEaWFsb2dFbGVtZW50Lmg6CisKIDIwMjEtMDct
MTcgIEFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10g
TW92ZSBJbmxpbmVMZXZlbEJveCBjbGFzcyB0byBpdHMgb3duIGZpbGUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAKaW5kZXggOWNjNWJkYWYwMmRjODE2OWU0ZWM0NmY2
YmRiNzBhNGY1ODkyZGNlYi4uZDI0ZmUxYmVkNTgwYWQyMDI4MzU1MWRhNmIzM2I5MTFjMTZkMzRl
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAKQEAgLTI1LDgg
KzI1LDggQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkhUTUxEaWFsb2dFbGVt
ZW50LmgiCisjaW5jbHVkZSAiRXZlbnRMb29wLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgot
I2luY2x1ZGUgIkV2ZW50U2VuZGVyLmgiCiAKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNs
dWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgpAQCAtMzcsMjIgKzM3LDExIEBAIFdURl9NQUtF
X0lTT19BTExPQ0FURURfSU1QTChIVE1MRGlhbG9nRWxlbWVudCk7CiAKIHVzaW5nIG5hbWVzcGFj
ZSBIVE1MTmFtZXM7CiAKLXN0YXRpYyBEaWFsb2dFdmVudFNlbmRlciYgZGlhbG9nQ2xvc2VFdmVu
dFNlbmRlcigpCi17Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPERpYWxvZ0V2ZW50U2VuZGVy
PiBzaGFyZWRDbG9zZUV2ZW50U2VuZGVyKGV2ZW50TmFtZXMoKS5jbG9zZUV2ZW50KTsKLSAgICBy
ZXR1cm4gc2hhcmVkQ2xvc2VFdmVudFNlbmRlcjsKLX0KLQogSFRNTERpYWxvZ0VsZW1lbnQ6OkhU
TUxEaWFsb2dFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50JiBk
b2N1bWVudCkKICAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogfQogCi1I
VE1MRGlhbG9nRWxlbWVudDo6fkhUTUxEaWFsb2dFbGVtZW50KCkKLXsKLSAgICBkaWFsb2dDbG9z
ZUV2ZW50U2VuZGVyKCkuY2FuY2VsRXZlbnQoKnRoaXMpOwotfQotCiB2b2lkIEhUTUxEaWFsb2dF
bGVtZW50OjpzaG93KCkKIHsKICAgICAvLyBJZiB0aGUgZWxlbWVudCBhbHJlYWR5IGhhcyBhbiBv
cGVuIGF0dHJpYnV0ZSwgdGhlbiByZXR1cm4uCkBAIC0xMDEsMTQgKzkwLDkgQEAgdm9pZCBIVE1M
RGlhbG9nRWxlbWVudDo6Y2xvc2UoY29uc3QgU3RyaW5nJiByZXN1bHQpCiAKICAgICAvLyBGSVhN
RTogQWRkIHN0ZXAgNiBmcm9tIHNwZWMuICh3ZWJraXQub3JnL2IvMjI3NTM3KQogCi0gICAgZGlh
bG9nQ2xvc2VFdmVudFNlbmRlcigpLmNhbmNlbEV2ZW50KCp0aGlzKTsKLSAgICBkaWFsb2dDbG9z
ZUV2ZW50U2VuZGVyKCkuZGlzcGF0Y2hFdmVudFNvb24oKnRoaXMpOwotfQotCi12b2lkIEhUTUxE
aWFsb2dFbGVtZW50OjpkaXNwYXRjaFBlbmRpbmdFdmVudChEaWFsb2dFdmVudFNlbmRlciogZXZl
bnRTZW5kZXIpCi17Ci0gICAgQVNTRVJUX1VOVVNFRChldmVudFNlbmRlciwgZXZlbnRTZW5kZXIg
PT0gJmRpYWxvZ0Nsb3NlRXZlbnRTZW5kZXIoKSk7Ci0gICAgZGlzcGF0Y2hFdmVudChFdmVudDo6
Y3JlYXRlKGV2ZW50TmFtZXMoKS5jbG9zZUV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZl
bnQ6OklzQ2FuY2VsYWJsZTo6Tm8pKTsKKyAgICBkb2N1bWVudCgpLmV2ZW50TG9vcCgpLnF1ZXVl
VGFzayhUYXNrU291cmNlOjpVc2VySW50ZXJhY3Rpb24sIFtwcm90ZWN0ZWRUaGlzID0gR0NSZWFj
aGFibGVSZWY8SFRNTERpYWxvZ0VsZW1lbnQ+KCp0aGlzKV0geworICAgICAgICBwcm90ZWN0ZWRU
aGlzLT5kaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNsb3NlRXZlbnQs
IEV2ZW50OjpDYW5CdWJibGU6Ok5vLCBFdmVudDo6SXNDYW5jZWxhYmxlOjpObykpOworICAgIH0p
OwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmgKaW5kZXggNzgy
OTgxMzQ1MmVlMzk5NmY1Nzc0YjZjMDZlMmExMWQyZTMzNzgzYS4uOTg1OWExZDNiYzZiOGZmNjhj
NDFhNGZmNjhjNWYwZjM5NmJjN2E2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRGlhbG9nRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0Vs
ZW1lbnQuaApAQCAtMjksMTQgKzI5LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgRXZlbnRTZW5kZXI7Ci11c2luZyBEaWFsb2dFdmVudFNl
bmRlciA9IEV2ZW50U2VuZGVyPEhUTUxEaWFsb2dFbGVtZW50PjsKLQogY2xhc3MgSFRNTERpYWxv
Z0VsZW1lbnQgZmluYWwgOiBwdWJsaWMgSFRNTEVsZW1lbnQgewogICAgIFdURl9NQUtFX0lTT19B
TExPQ0FURUQoSFRNTERpYWxvZ0VsZW1lbnQpOwogcHVibGljOgogICAgIHRlbXBsYXRlPHR5cGVu
YW1lLi4uIEFyZ3M+IHN0YXRpYyBSZWY8SFRNTERpYWxvZ0VsZW1lbnQ+IGNyZWF0ZShBcmdzJiYu
Li4gYXJncykgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBIVE1MRGlhbG9nRWxlbWVudChzdGQ6OmZv
cndhcmQ8QXJncz4oYXJncykuLi4pKTsgfQotICAgIH5IVE1MRGlhbG9nRWxlbWVudCgpOwogCiAg
ICAgYm9vbCBpc09wZW4oKSBjb25zdCB7IHJldHVybiBoYXNBdHRyaWJ1dGUoSFRNTE5hbWVzOjpv
cGVuQXR0cik7IH0KIApAQCAtNDcsOCArNDMsNiBAQCBwdWJsaWM6CiAgICAgRXhjZXB0aW9uT3I8
dm9pZD4gc2hvd01vZGFsKCk7CiAgICAgdm9pZCBjbG9zZShjb25zdCBTdHJpbmcmKTsKIAotICAg
IHZvaWQgZGlzcGF0Y2hQZW5kaW5nRXZlbnQoRGlhbG9nRXZlbnRTZW5kZXIqKTsKLQogICAgIGJv
b2wgaXNNb2RhbCgpIGNvbnN0IHsgcmV0dXJuIG1faXNNb2RhbDsgfTsKIAogcHJpdmF0ZToK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433819</attachid>
            <date>2021-07-19 13:35:29 -0700</date>
            <delta_ts>2021-07-19 15:01:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227915-20210719223528.patch</filename>
            <type>text/plain</type>
            <size>3797</size>
            <attacher name="Tim Nguyen (:ntim)">ntim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjBlNTVhNjg3ZDVhNGM2
MDQwNjNiYjUyNDk0MjVhNTYxMDM1ZTJlNi4uOTg0MTM1YjA1M2VhZjczZjg5ZjcyYmI0Y2JkYzYy
ZDllNzhiMjE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA3LTE5ICBUaW0g
Tmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CisKKyAgICAgICAgUG9ydCA8ZGlhbG9nPiBjbG9zZSBl
dmVudCB0byBtb2Rlcm4gZXZlbnQgaGFuZGxpbmcgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3OTE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Q2hyaXMgRHVtZXouCisKKyAgICAgICAgKiBodG1sL0hUTUxEaWFsb2dFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxEaWFsb2dFbGVtZW50OjpjbG9zZSk6CisgICAgICAgIChXZWJD
b3JlOjpkaWFsb2dDbG9zZUV2ZW50U2VuZGVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxEaWFsb2dFbGVtZW50Ojp+SFRNTERpYWxvZ0VsZW1lbnQpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTERpYWxvZ0VsZW1lbnQ6OmRpc3BhdGNoUGVuZGluZ0V2ZW50KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxEaWFsb2dFbGVtZW50Lmg6CisKIDIwMjEtMDctMTcg
IEFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gTW92
ZSBJbmxpbmVMZXZlbEJveCBjbGFzcyB0byBpdHMgb3duIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRGlhbG9nRWxlbWVudC5jcHAKaW5kZXggOWNjNWJkYWYwMmRjODE2OWU0ZWM0NmY2YmRi
NzBhNGY1ODkyZGNlYi4uMmEzYmE1NTgxZTJkOWI2ZWQzNDFjNjgwZDgxMjQxNjdjNGNjNTliOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5jcHAKQEAgLTI1LDggKzI1
LDggQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkhUTUxEaWFsb2dFbGVtZW50
LmgiCisjaW5jbHVkZSAiRXZlbnRMb29wLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgotI2lu
Y2x1ZGUgIkV2ZW50U2VuZGVyLmgiCiAKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRl
IDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgpAQCAtMzcsMjIgKzM3LDExIEBAIFdURl9NQUtFX0lT
T19BTExPQ0FURURfSU1QTChIVE1MRGlhbG9nRWxlbWVudCk7CiAKIHVzaW5nIG5hbWVzcGFjZSBI
VE1MTmFtZXM7CiAKLXN0YXRpYyBEaWFsb2dFdmVudFNlbmRlciYgZGlhbG9nQ2xvc2VFdmVudFNl
bmRlcigpCi17Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPERpYWxvZ0V2ZW50U2VuZGVyPiBz
aGFyZWRDbG9zZUV2ZW50U2VuZGVyKGV2ZW50TmFtZXMoKS5jbG9zZUV2ZW50KTsKLSAgICByZXR1
cm4gc2hhcmVkQ2xvc2VFdmVudFNlbmRlcjsKLX0KLQogSFRNTERpYWxvZ0VsZW1lbnQ6OkhUTUxE
aWFsb2dFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50JiBkb2N1
bWVudCkKICAgICA6IEhUTUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQogewogfQogCi1IVE1M
RGlhbG9nRWxlbWVudDo6fkhUTUxEaWFsb2dFbGVtZW50KCkKLXsKLSAgICBkaWFsb2dDbG9zZUV2
ZW50U2VuZGVyKCkuY2FuY2VsRXZlbnQoKnRoaXMpOwotfQotCiB2b2lkIEhUTUxEaWFsb2dFbGVt
ZW50OjpzaG93KCkKIHsKICAgICAvLyBJZiB0aGUgZWxlbWVudCBhbHJlYWR5IGhhcyBhbiBvcGVu
IGF0dHJpYnV0ZSwgdGhlbiByZXR1cm4uCkBAIC0xMDEsMTQgKzkwLDkgQEAgdm9pZCBIVE1MRGlh
bG9nRWxlbWVudDo6Y2xvc2UoY29uc3QgU3RyaW5nJiByZXN1bHQpCiAKICAgICAvLyBGSVhNRTog
QWRkIHN0ZXAgNiBmcm9tIHNwZWMuICh3ZWJraXQub3JnL2IvMjI3NTM3KQogCi0gICAgZGlhbG9n
Q2xvc2VFdmVudFNlbmRlcigpLmNhbmNlbEV2ZW50KCp0aGlzKTsKLSAgICBkaWFsb2dDbG9zZUV2
ZW50U2VuZGVyKCkuZGlzcGF0Y2hFdmVudFNvb24oKnRoaXMpOwotfQotCi12b2lkIEhUTUxEaWFs
b2dFbGVtZW50OjpkaXNwYXRjaFBlbmRpbmdFdmVudChEaWFsb2dFdmVudFNlbmRlciogZXZlbnRT
ZW5kZXIpCi17Ci0gICAgQVNTRVJUX1VOVVNFRChldmVudFNlbmRlciwgZXZlbnRTZW5kZXIgPT0g
JmRpYWxvZ0Nsb3NlRXZlbnRTZW5kZXIoKSk7Ci0gICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3Jl
YXRlKGV2ZW50TmFtZXMoKS5jbG9zZUV2ZW50LCBFdmVudDo6Q2FuQnViYmxlOjpObywgRXZlbnQ6
OklzQ2FuY2VsYWJsZTo6Tm8pKTsKKyAgICBkb2N1bWVudCgpLmV2ZW50TG9vcCgpLnF1ZXVlVGFz
ayhUYXNrU291cmNlOjpVc2VySW50ZXJhY3Rpb24sIFtwcm90ZWN0ZWRUaGlzID0gR0NSZWFjaGFi
bGVSZWYgeyAqdGhpcyB9XSB7CisgICAgICAgIHByb3RlY3RlZFRoaXMtPmRpc3BhdGNoRXZlbnQo
RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuY2xvc2VFdmVudCwgRXZlbnQ6OkNhbkJ1YmJsZTo6
Tm8sIEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKSk7CisgICAgfSk7CiB9CiAKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTERpYWxvZ0VsZW1lbnQuaAppbmRleCA3ODI5ODEzNDUyZWUzOTk2ZjU3NzRi
NmMwNmUyYTExZDJlMzM3ODNhLi45ODU5YTFkM2JjNmI4ZmY2OGM0MWE0ZmY2OGM1ZjBmMzk2YmM3
YTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5oCkBAIC0yOSwxNCAr
MjksMTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBj
bGFzcyBFdmVudFNlbmRlcjsKLXVzaW5nIERpYWxvZ0V2ZW50U2VuZGVyID0gRXZlbnRTZW5kZXI8
SFRNTERpYWxvZ0VsZW1lbnQ+OwotCiBjbGFzcyBIVE1MRGlhbG9nRWxlbWVudCBmaW5hbCA6IHB1
YmxpYyBIVE1MRWxlbWVudCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChIVE1MRGlhbG9n
RWxlbWVudCk7CiBwdWJsaWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJncz4gc3RhdGlj
IFJlZjxIVE1MRGlhbG9nRWxlbWVudD4gY3JlYXRlKEFyZ3MmJi4uLiBhcmdzKSB7IHJldHVybiBh
ZG9wdFJlZigqbmV3IEhUTUxEaWFsb2dFbGVtZW50KHN0ZDo6Zm9yd2FyZDxBcmdzPihhcmdzKS4u
LikpOyB9Ci0gICAgfkhUTUxEaWFsb2dFbGVtZW50KCk7CiAKICAgICBib29sIGlzT3BlbigpIGNv
bnN0IHsgcmV0dXJuIGhhc0F0dHJpYnV0ZShIVE1MTmFtZXM6Om9wZW5BdHRyKTsgfQogCkBAIC00
Nyw4ICs0Myw2IEBAIHB1YmxpYzoKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzaG93TW9kYWwoKTsK
ICAgICB2b2lkIGNsb3NlKGNvbnN0IFN0cmluZyYpOwogCi0gICAgdm9pZCBkaXNwYXRjaFBlbmRp
bmdFdmVudChEaWFsb2dFdmVudFNlbmRlciopOwotCiAgICAgYm9vbCBpc01vZGFsKCkgY29uc3Qg
eyByZXR1cm4gbV9pc01vZGFsOyB9OwogCiBwcml2YXRlOgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>