<?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>238570</bug_id>
          
          <creation_ts>2022-03-30 12:39:00 -0700</creation_ts>
          <short_desc>Do not create network process in ~WebsiteDataStore destructor</short_desc>
          <delta_ts>2022-04-05 11:00:22 -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>WebKit2</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="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>cdumez</cc>
    
    <cc>clopez</cc>
    
    <cc>darin</cc>
    
    <cc>dpino</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>sihui_liu</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1856526</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2022-03-30 12:39:00 -0700</bug_when>
    <thetext>Do not create network process in ~WebsiteDataStore destructor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856530</commentid>
    <comment_count>1</comment_count>
      <attachid>456166</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2022-03-30 12:43:36 -0700</bug_when>
    <thetext>Created attachment 456166
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856571</commentid>
    <comment_count>2</comment_count>
      <attachid>456166</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-03-30 14:35:49 -0700</bug_when>
    <thetext>Comment on attachment 456166
Patch

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

Great fix! We really want this.

&gt; Source/WebKit/ChangeLog:13
&gt; +        No new tests.

Can we make a test? Normally the project requires a test for an bug fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856589</commentid>
    <comment_count>3</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2022-03-30 15:33:37 -0700</bug_when>
    <thetext>&gt; Can we make a test? Normally the project requires a test for an bug fix.

The bug manifested itself as WPENetworkProcess running after corresponding WebsiteDataStore has been closed so I don&apos;t think there is a way to test it in a layout test. I tried to come up with a unit test but there is no API for getting currently running network processes. Do you have an advice on how that could be tested via WebKit API?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856595</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-03-30 15:55:08 -0700</bug_when>
    <thetext>In past in such cases we have typically added calls as needed to test such things. Like add something to count network processes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856596</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-03-30 15:55:30 -0700</bug_when>
    <thetext>Chris, do you have suggestions on how to make a test? You’ve fixed many bugs like this one. Or maybe you know someone else we should ask.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856597</commentid>
    <comment_count>6</comment_count>
      <attachid>456166</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-30 16:00:57 -0700</bug_when>
    <thetext>Comment on attachment 456166
Patch

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

&gt;&gt; Source/WebKit/ChangeLog:13
&gt;&gt; +        No new tests.
&gt; 
&gt; Can we make a test? Normally the project requires a test for an bug fix.

I would look at the NetworkProcess.LaunchOnlyWhenNecessary for example. Not sure if this is practical in this particular case. I am in the middle of something but can look into it a bit later if needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856611</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-30 16:39:46 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #6)
&gt; Comment on attachment 456166 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=456166&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit/ChangeLog:13
&gt; &gt;&gt; +        No new tests.
&gt; &gt; 
&gt; &gt; Can we make a test? Normally the project requires a test for an bug fix.
&gt; 
&gt; I would look at the NetworkProcess.LaunchOnlyWhenNecessary for example. Not
&gt; sure if this is practical in this particular case. I am in the middle of
&gt; something but can look into it a bit later if needed.

I think something like this might do the trick (but please verify):
```
TEST(NetworkProcess, DoNotLaunchOnDataStoreDestruction)
{
    EXPECT_FALSE([WKWebsiteDataStore _defaultDataStoreExists]);
    @autoreleasepool {
        auto storeConfiguration = adoptNS([[_WKWebsiteDataStoreConfiguration alloc] initNonPersistentConfiguration]);
        auto websiteDataStore = adoptNS([[WKWebsiteDataStore alloc] _initWithConfiguration: storeConfiguration.get()]);
    }

    TestWebKitAPI::Util::spinRunLoop(10);
    EXPECT_FALSE([WKWebsiteDataStore _defaultDataStoreExists]);
}
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856615</commentid>
    <comment_count>8</comment_count>
      <attachid>456166</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2022-03-30 16:55:20 -0700</bug_when>
    <thetext>Comment on attachment 456166
Patch

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

&gt;&gt;&gt;&gt; Source/WebKit/ChangeLog:13
&gt;&gt;&gt;&gt; +        No new tests.
&gt;&gt;&gt; 
&gt;&gt;&gt; Can we make a test? Normally the project requires a test for an bug fix.
&gt;&gt; 
&gt;&gt; I would look at the NetworkProcess.LaunchOnlyWhenNecessary for example. Not sure if this is practical in this particular case. I am in the middle of something but can look into it a bit later if needed.
&gt; 
&gt; I think something like this might do the trick (but please verify):
&gt; ```
&gt; TEST(NetworkProcess, DoNotLaunchOnDataStoreDestruction)
&gt; {
&gt;     EXPECT_FALSE([WKWebsiteDataStore _defaultDataStoreExists]);
&gt;     @autoreleasepool {
&gt;         auto storeConfiguration = adoptNS([[_WKWebsiteDataStoreConfiguration alloc] initNonPersistentConfiguration]);
&gt;         auto websiteDataStore = adoptNS([[WKWebsiteDataStore alloc] _initWithConfiguration: storeConfiguration.get()]);
&gt;     }
&gt; 
&gt;     TestWebKitAPI::Util::spinRunLoop(10);
&gt;     EXPECT_FALSE([WKWebsiteDataStore _defaultDataStoreExists]);
&gt; }
&gt; ```

How about creating a custom persistent WKWebsiteDataStore, destroying it, and checking if default network process exists?
@autoreleasepool {
    auto websiteDataStoreConfiguration = adoptNS([[_WKWebsiteDataStoreConfiguration alloc] init]);
    auto websiteDataStore = adoptNS([[WKWebsiteDataStore alloc] _initWithConfiguration:websiteDataStoreConfiguration.get()]).get();
}
TestWebKitAPI::Util::spinRunLoop(10); // Is this needed?
EXPECT_FALSE([WKWebsiteDataStore _defaultNetworkProcessExists]);

(please check if the test fails without fix)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856617</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-30 16:58:54 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #7)
&gt; (In reply to Chris Dumez from comment #6)
&gt; &gt; Comment on attachment 456166 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=456166&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt; Source/WebKit/ChangeLog:13
&gt; &gt; &gt;&gt; +        No new tests.
&gt; &gt; &gt; 
&gt; &gt; &gt; Can we make a test? Normally the project requires a test for an bug fix.
&gt; &gt; 
&gt; &gt; I would look at the NetworkProcess.LaunchOnlyWhenNecessary for example. Not
&gt; &gt; sure if this is practical in this particular case. I am in the middle of
&gt; &gt; something but can look into it a bit later if needed.
&gt; 
&gt; I think something like this might do the trick (but please verify):
&gt; ```
&gt; TEST(NetworkProcess, DoNotLaunchOnDataStoreDestruction)
&gt; {
&gt;     EXPECT_FALSE([WKWebsiteDataStore _defaultDataStoreExists]);
&gt;     @autoreleasepool {
&gt;         auto storeConfiguration = adoptNS([[_WKWebsiteDataStoreConfiguration
&gt; alloc] initNonPersistentConfiguration]);
&gt;         auto websiteDataStore = adoptNS([[WKWebsiteDataStore alloc]
&gt; _initWithConfiguration: storeConfiguration.get()]);
&gt;     }
&gt; 
&gt;     TestWebKitAPI::Util::spinRunLoop(10);
&gt;     EXPECT_FALSE([WKWebsiteDataStore _defaultDataStoreExists]);
&gt; }
&gt; ```

Sihui pointed out I have a typo. I mean to check _defaultNetworkProcessExists above, not _defaultDataStoreExists.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856620</commentid>
    <comment_count>10</comment_count>
      <attachid>456166</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-30 17:21:04 -0700</bug_when>
    <thetext>Comment on attachment 456166
Patch

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

&gt; Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:154
&gt; +        m_networkProcess-&gt;removeSession(*this);

So the API test I wrote (and likely Sihui&apos;s) seems to pass without this fix. I believe the reason is that we launch the network process and then destroy it right away (unlike what the changelog claims).

We looked at it with Sihui and `networkProcess()` would indeed allocate a NetworkProcessProxy. However, the call to `removeSession()` would null out the default NetworkProcessProxy, which would cause the newly launched (likely still launching) process to exist right away.

Yury, I think it is good to fix either way but are you still the network process is indeed hanging around unnecessarily?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856621</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-30 17:24:28 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #10)
&gt; Comment on attachment 456166 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=456166&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:154
&gt; &gt; +        m_networkProcess-&gt;removeSession(*this);
&gt; 
&gt; So the API test I wrote (and likely Sihui&apos;s) seems to pass without this fix.
&gt; I believe the reason is that we launch the network process and then destroy
&gt; it right away (unlike what the changelog claims).
&gt; 
&gt; We looked at it with Sihui and `networkProcess()` would indeed allocate a
&gt; NetworkProcessProxy. However, the call to `removeSession()` would null out
&gt; the default NetworkProcessProxy, which would cause the newly launched
&gt; (likely still launching) process to exist right away.

typo again: exist -&gt; exit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856623</commentid>
    <comment_count>12</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-30 17:28:39 -0700</bug_when>
    <thetext>Never mind, I was able to write an API test to cover this change:
```
TEST(NetworkProcess, DoNotLaunchOnDataStoreDestruction)
{
    auto storeConfiguration1 = adoptNS([[_WKWebsiteDataStoreConfiguration alloc] initNonPersistentConfiguration]);
    auto websiteDataStore1 = adoptNS([[WKWebsiteDataStore alloc] _initWithConfiguration: storeConfiguration1.get()]);

    EXPECT_FALSE([WKWebsiteDataStore _defaultNetworkProcessExists]);
    @autoreleasepool {
        auto storeConfiguration2 = adoptNS([[_WKWebsiteDataStoreConfiguration alloc] initNonPersistentConfiguration]);
        auto websiteDataStore2 = adoptNS([[WKWebsiteDataStore alloc] _initWithConfiguration: storeConfiguration2.get()]);
    }

    TestWebKitAPI::Util::spinRunLoop(10);
    EXPECT_FALSE([WKWebsiteDataStore _defaultNetworkProcessExists]);
}
```

Yury, do you mind incorporating it in your patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857177</commentid>
    <comment_count>13</comment_count>
      <attachid>456166</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2022-04-01 00:29:11 -0700</bug_when>
    <thetext>Comment on attachment 456166
Patch

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

&gt; Yury, do you mind incorporating it in your patch?

Neat! I was looking for a hook that would give access to those in the linux ports but didn&apos;t find any, didn&apos;t consider the default network process accessor. In any case, I&apos;ve added the test to the patch.

&gt; Yury, I think it is good to fix either way but are you still the network process is indeed hanging around unnecessarily?

Originally I discovered the problem on linux where a new network process is launched for each ephemeral data store. The problem in GTK/WPE is that NetworkProxyProxy launches a new process
and gets destroyed immediately (as the only reference from WebsiteDataStore is removed), but the process itself keeps running until the browser is closed. Admittedly the process is properly killed
if at least one page was created with that WebsiteDataStore instance. I&apos;d expect a network process to be terminated if its NetworkProcessProxy has been destroyed. Perhaps it&apos;s worth adding some logic
that would terminate the network process once its NetworkProcessProxy is destroyed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857178</commentid>
    <comment_count>14</comment_count>
      <attachid>456330</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2022-04-01 00:30:17 -0700</bug_when>
    <thetext>Created attachment 456330
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1858409</commentid>
    <comment_count>15</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2022-04-05 09:42:57 -0700</bug_when>
    <thetext>Darin, Chris, I&apos;ve incorporated the test in the patch. Can you have another look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1858410</commentid>
    <comment_count>16</comment_count>
      <attachid>456330</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-04-05 09:44:38 -0700</bug_when>
    <thetext>Comment on attachment 456330
Patch

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

r=me

&gt; Source/WebKit/ChangeLog:13
&gt; +        No new tests.

This is now a lie :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1858418</commentid>
    <comment_count>17</comment_count>
      <attachid>456710</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2022-04-05 09:54:55 -0700</bug_when>
    <thetext>Created attachment 456710
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1858419</commentid>
    <comment_count>18</comment_count>
      <attachid>456330</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2022-04-05 09:55:17 -0700</bug_when>
    <thetext>Comment on attachment 456330
Patch

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

&gt;&gt; Source/WebKit/ChangeLog:13
&gt;&gt; +        No new tests.
&gt; 
&gt; This is now a lie :)

Oops, fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1858461</commentid>
    <comment_count>19</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-04-05 10:59:57 -0700</bug_when>
    <thetext>Committed r292403 (249266@main): &lt;https://commits.webkit.org/249266@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 456710.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1858463</commentid>
    <comment_count>20</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-04-05 11:00:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/91304176&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456166</attachid>
            <date>2022-03-30 12:43:36 -0700</date>
            <delta_ts>2022-04-01 00:30:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238570-20220330124335.patch</filename>
            <type>text/plain</type>
            <size>1758</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMTEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDVjMTgzMjE0OWEwMmVhNTAy
NzE2MWNjZDFhNmI3ODkwNDlkNDVlMWQuLjdhNTU2MTNiMDVhNTZhZWQ4ODE3MTljOGE0OWIxMzdk
MTExMWU1NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjItMDMtMzAgIFl1cnkgU2Vt
aWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRG8gbm90IGNyZWF0ZSBu
ZXR3b3JrIHByb2Nlc3MgaW4gfldlYnNpdGVEYXRhU3RvcmUgZGVzdHJ1Y3RvcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4NTcwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hlY2sgaWYgbV9uZXR3b3Jr
UHJvY2VzcyBpcyBpbml0aWFsaXplZCBiZWZvcmUgcmVtb3Zpbmcgc2Vzc2lvbgorICAgICAgICBm
cm9tIGl0IGluc3RlYWQsIG90aGVyd2lzZSBXZWJzaXRlRGF0YVN0b3JlOjpuZXR3b3JrUHJvY2Vz
cygpIGxhemlseQorICAgICAgICBjcmVhdGVzIHRoZSBwcm9jZXNzIGFuZCBpdCB3aWxsIGtlZXAg
cnVubmluZyBhZnRlciBXZWJzaXRlRGF0YVN0b3JlCisgICAgICAgIGlzIGRlc3Ryb3llZC4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEv
V2Vic2l0ZURhdGFTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6
On5XZWJzaXRlRGF0YVN0b3JlKToKKwogMjAyMi0wMy0zMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IHBlcnNpc3RlbnQgbm90aWZpY2F0aW9u
IGhhbmRsaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0
YS9XZWJzaXRlRGF0YVN0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVE
YXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCmluZGV4IDExYmJmNTRmMGI0MGZmMTIzYTI0MWJhY2Yz
NjZiYjkyYmJmMDM5MTcuLmM3MjI5OTU3YTIwNWNhNmNlODU2YzNkNmRlNTM4YzNjZjRjZjBhN2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVE
YXRhU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dl
YnNpdGVEYXRhU3RvcmUuY3BwCkBAIC0xNTAsNyArMTUwLDggQEAgV2Vic2l0ZURhdGFTdG9yZTo6
fldlYnNpdGVEYXRhU3RvcmUoKQogCiAgICAgQVNTRVJUKGFsbERhdGFTdG9yZXMoKS5nZXQobV9z
ZXNzaW9uSUQpID09IHRoaXMpOwogICAgIGFsbERhdGFTdG9yZXMoKS5yZW1vdmUobV9zZXNzaW9u
SUQpOwotICAgIG5ldHdvcmtQcm9jZXNzKCkucmVtb3ZlU2Vzc2lvbigqdGhpcyk7CisgICAgaWYg
KG1fbmV0d29ya1Byb2Nlc3MpCisgICAgICAgIG1fbmV0d29ya1Byb2Nlc3MtPnJlbW92ZVNlc3Np
b24oKnRoaXMpOwogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKICAgICBpZiAoYXV0byogZ3B1UHJv
Y2Vzc1Byb3h5ID0gR1BVUHJvY2Vzc1Byb3h5OjpzaW5nbGV0b25JZkNyZWF0ZWQoKSkKICAgICAg
ICAgZ3B1UHJvY2Vzc1Byb3h5LT5yZW1vdmVTZXNzaW9uKG1fc2Vzc2lvbklEKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456330</attachid>
            <date>2022-04-01 00:30:17 -0700</date>
            <delta_ts>2022-04-05 09:54:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238570-20220401003017.patch</filename>
            <type>text/plain</type>
            <size>3907</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMTEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDVjMTgzMjE0OWEwMmVhNTAy
NzE2MWNjZDFhNmI3ODkwNDlkNDVlMWQuLjdhNTU2MTNiMDVhNTZhZWQ4ODE3MTljOGE0OWIxMzdk
MTExMWU1NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjItMDMtMzAgIFl1cnkgU2Vt
aWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRG8gbm90IGNyZWF0ZSBu
ZXR3b3JrIHByb2Nlc3MgaW4gfldlYnNpdGVEYXRhU3RvcmUgZGVzdHJ1Y3RvcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4NTcwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hlY2sgaWYgbV9uZXR3b3Jr
UHJvY2VzcyBpcyBpbml0aWFsaXplZCBiZWZvcmUgcmVtb3Zpbmcgc2Vzc2lvbgorICAgICAgICBm
cm9tIGl0IGluc3RlYWQsIG90aGVyd2lzZSBXZWJzaXRlRGF0YVN0b3JlOjpuZXR3b3JrUHJvY2Vz
cygpIGxhemlseQorICAgICAgICBjcmVhdGVzIHRoZSBwcm9jZXNzIGFuZCBpdCB3aWxsIGtlZXAg
cnVubmluZyBhZnRlciBXZWJzaXRlRGF0YVN0b3JlCisgICAgICAgIGlzIGRlc3Ryb3llZC4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEv
V2Vic2l0ZURhdGFTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6
On5XZWJzaXRlRGF0YVN0b3JlKToKKwogMjAyMi0wMy0zMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IHBlcnNpc3RlbnQgbm90aWZpY2F0aW9u
IGhhbmRsaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0
YS9XZWJzaXRlRGF0YVN0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVE
YXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCmluZGV4IDExYmJmNTRmMGI0MGZmMTIzYTI0MWJhY2Yz
NjZiYjkyYmJmMDM5MTcuLmM3MjI5OTU3YTIwNWNhNmNlODU2YzNkNmRlNTM4YzNjZjRjZjBhN2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVE
YXRhU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dl
YnNpdGVEYXRhU3RvcmUuY3BwCkBAIC0xNTAsNyArMTUwLDggQEAgV2Vic2l0ZURhdGFTdG9yZTo6
fldlYnNpdGVEYXRhU3RvcmUoKQogCiAgICAgQVNTRVJUKGFsbERhdGFTdG9yZXMoKS5nZXQobV9z
ZXNzaW9uSUQpID09IHRoaXMpOwogICAgIGFsbERhdGFTdG9yZXMoKS5yZW1vdmUobV9zZXNzaW9u
SUQpOwotICAgIG5ldHdvcmtQcm9jZXNzKCkucmVtb3ZlU2Vzc2lvbigqdGhpcyk7CisgICAgaWYg
KG1fbmV0d29ya1Byb2Nlc3MpCisgICAgICAgIG1fbmV0d29ya1Byb2Nlc3MtPnJlbW92ZVNlc3Np
b24oKnRoaXMpOwogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKICAgICBpZiAoYXV0byogZ3B1UHJv
Y2Vzc1Byb3h5ID0gR1BVUHJvY2Vzc1Byb3h5OjpzaW5nbGV0b25JZkNyZWF0ZWQoKSkKICAgICAg
ICAgZ3B1UHJvY2Vzc1Byb3h5LT5yZW1vdmVTZXNzaW9uKG1fc2Vzc2lvbklEKTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlZTk4MDBiMDEzYTYy
OTM4M2ViODI3NjdjZWJjZDY1OGZjMWNjMjc3Li4zNjdiNDJmMGIzNjM2NWQwN2IwZjc3YmVmNDJk
OGNhNWFlZjE3YjVmIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjItMDQtMDEgIFl1cnkgU2VtaWtoYXRza3kgIDx5
dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRG8gbm90IGNyZWF0ZSBuZXR3b3JrIHByb2Nl
c3MgaW4gfldlYnNpdGVEYXRhU3RvcmUgZGVzdHJ1Y3RvcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4NTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHRlc3QgaXMgd3JpdHRlbiBieSBDaHJpcyBE
dW1lei4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvTmV0d29y
a1Byb2Nlc3MubW06CisgICAgICAgIChURVNUKTogVGVzdCB0aGF0IGNyZWF0aW5nIGFuZCBkZXN0
cm95aW5nIGVwaGVtZXIgV2Vic2l0ZURhdGFTdG9yZSBkb2Vzbid0IGluaXRpYWxpemUKKyAgICAg
ICAgZGVmYXVsdCBuZXR3b3JrIHByb2Nlc3MuCisKIDIwMjItMDMtMzAgIENhcmxvcyBBbGJlcnRv
IExvcGV6IFBlcmV6ICA8Y2xvcGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS11bV1BFXSBn
ZW5lcmF0ZS1idW5kbGU6IHNlbGYtY29udGFpbmVkIGJ1bmRsZSBmb3IgdGhlIE1pbmlCcm93c2Vy
IHRoYXQgY2FuIHdvcmsgb24gYW55IGRpc3RybwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9OZXR3b3JrUHJvY2Vzcy5tbSBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvTmV0d29ya1Byb2Nlc3MubW0KaW5kZXggMWM1ZWYxYjc2
ZTVlMDE2NDU0M2Y0ZjE0OWJkY2JkOGEwZTVlNjc4YS4uNTBmYzcyYmU2Zjg2Njc1ZTFlNTljNWZi
YjcxYTk0NzQ1MTI2MmI5MCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9OZXR3b3JrUHJvY2Vzcy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL05ldHdvcmtQcm9jZXNzLm1tCkBAIC0xNTgsNiArMTU4LDIxIEBAIFRF
U1QoTmV0d29ya1Byb2Nlc3MsIFRlcm1pbmF0ZVdoZW5VbnVzZWQpCiAgICAgICAgIFRlc3RXZWJL
aXRBUEk6OlV0aWw6OnNwaW5SdW5Mb29wKCk7CiB9CiAKK1RFU1QoTmV0d29ya1Byb2Nlc3MsIERv
Tm90TGF1bmNoT25EYXRhU3RvcmVEZXN0cnVjdGlvbikKK3sKKyAgICBhdXRvIHN0b3JlQ29uZmln
dXJhdGlvbjEgPSBhZG9wdE5TKFtbX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24gYWxs
b2NdIGluaXROb25QZXJzaXN0ZW50Q29uZmlndXJhdGlvbl0pOworICAgIGF1dG8gd2Vic2l0ZURh
dGFTdG9yZTEgPSBhZG9wdE5TKFtbV0tXZWJzaXRlRGF0YVN0b3JlIGFsbG9jXSBfaW5pdFdpdGhD
b25maWd1cmF0aW9uOiBzdG9yZUNvbmZpZ3VyYXRpb24xLmdldCgpXSk7CisKKyAgICBFWFBFQ1Rf
RkFMU0UoW1dLV2Vic2l0ZURhdGFTdG9yZSBfZGVmYXVsdE5ldHdvcmtQcm9jZXNzRXhpc3RzXSk7
CisgICAgQGF1dG9yZWxlYXNlcG9vbCB7CisgICAgICAgIGF1dG8gc3RvcmVDb25maWd1cmF0aW9u
MiA9IGFkb3B0TlMoW1tfV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbiBhbGxvY10gaW5p
dE5vblBlcnNpc3RlbnRDb25maWd1cmF0aW9uXSk7CisgICAgICAgIGF1dG8gd2Vic2l0ZURhdGFT
dG9yZTIgPSBhZG9wdE5TKFtbV0tXZWJzaXRlRGF0YVN0b3JlIGFsbG9jXSBfaW5pdFdpdGhDb25m
aWd1cmF0aW9uOiBzdG9yZUNvbmZpZ3VyYXRpb24yLmdldCgpXSk7CisgICAgfQorCisgICAgVGVz
dFdlYktpdEFQSTo6VXRpbDo6c3BpblJ1bkxvb3AoMTApOworICAgIEVYUEVDVF9GQUxTRShbV0tX
ZWJzaXRlRGF0YVN0b3JlIF9kZWZhdWx0TmV0d29ya1Byb2Nlc3NFeGlzdHNdKTsKK30KKwogVEVT
VChOZXR3b3JrUHJvY2VzcywgQ09SU1ByZWZsaWdodENhY2hlUGFydGl0aW9uZWQpCiB7CiAgICAg
dXNpbmcgbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456710</attachid>
            <date>2022-04-05 09:54:55 -0700</date>
            <delta_ts>2022-04-05 10:59:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238570-20220405095454.patch</filename>
            <type>text/plain</type>
            <size>3882</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMTEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDVjMTgzMjE0OWEwMmVhNTAy
NzE2MWNjZDFhNmI3ODkwNDlkNDVlMWQuLmU2ZjIxNzFjZTc3YzQzMTIyNzhhZGIxNDUzOWY0YmI1
Yzg4YzkzMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjItMDMtMzAgIFl1cnkgU2Vt
aWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRG8gbm90IGNyZWF0ZSBu
ZXR3b3JrIHByb2Nlc3MgaW4gfldlYnNpdGVEYXRhU3RvcmUgZGVzdHJ1Y3RvcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4NTcwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hlY2sgaWYgbV9uZXR3b3Jr
UHJvY2VzcyBpcyBpbml0aWFsaXplZCBiZWZvcmUgcmVtb3Zpbmcgc2Vzc2lvbgorICAgICAgICBm
cm9tIGl0IGluc3RlYWQsIG90aGVyd2lzZSBXZWJzaXRlRGF0YVN0b3JlOjpuZXR3b3JrUHJvY2Vz
cygpIGxhemlseQorICAgICAgICBjcmVhdGVzIHRoZSBwcm9jZXNzIGFuZCBpdCB3aWxsIGtlZXAg
cnVubmluZyBhZnRlciBXZWJzaXRlRGF0YVN0b3JlCisgICAgICAgIGlzIGRlc3Ryb3llZC4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6fldlYnNpdGVEYXRhU3RvcmUpOgorCiAy
MDIyLTAzLTMwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBJ
bXBsZW1lbnQgcGVyc2lzdGVudCBub3RpZmljYXRpb24gaGFuZGxpbmcKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAK
aW5kZXggMTFiYmY1NGYwYjQwZmYxMjNhMjQxYmFjZjM2NmJiOTJiYmYwMzkxNy4uYzcyMjk5NTdh
MjA1Y2E2Y2U4NTZjM2Q2ZGU1MzhjM2NmNGNmMGE3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKQEAgLTE1
MCw3ICsxNTAsOCBAQCBXZWJzaXRlRGF0YVN0b3JlOjp+V2Vic2l0ZURhdGFTdG9yZSgpCiAKICAg
ICBBU1NFUlQoYWxsRGF0YVN0b3JlcygpLmdldChtX3Nlc3Npb25JRCkgPT0gdGhpcyk7CiAgICAg
YWxsRGF0YVN0b3JlcygpLnJlbW92ZShtX3Nlc3Npb25JRCk7Ci0gICAgbmV0d29ya1Byb2Nlc3Mo
KS5yZW1vdmVTZXNzaW9uKCp0aGlzKTsKKyAgICBpZiAobV9uZXR3b3JrUHJvY2VzcykKKyAgICAg
ICAgbV9uZXR3b3JrUHJvY2Vzcy0+cmVtb3ZlU2Vzc2lvbigqdGhpcyk7CiAjaWYgRU5BQkxFKEdQ
VV9QUk9DRVNTKQogICAgIGlmIChhdXRvKiBncHVQcm9jZXNzUHJveHkgPSBHUFVQcm9jZXNzUHJv
eHk6OnNpbmdsZXRvbklmQ3JlYXRlZCgpKQogICAgICAgICBncHVQcm9jZXNzUHJveHktPnJlbW92
ZVNlc3Npb24obV9zZXNzaW9uSUQpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IGVlOTgwMGIwMTNhNjI5MzgzZWI4Mjc2N2NlYmNkNjU4ZmMxY2My
NzcuLjM2N2I0MmYwYjM2MzY1ZDA3YjBmNzdiZWY0MmQ4Y2E1YWVmMTdiNWYgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAor
MjAyMi0wNC0wMSAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBEbyBub3QgY3JlYXRlIG5ldHdvcmsgcHJvY2VzcyBpbiB+V2Vic2l0ZURhdGFTdG9yZSBk
ZXN0cnVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzg1NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGUgdGVzdCBpcyB3cml0dGVuIGJ5IENocmlzIER1bWV6LgorCisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9OZXR3b3JrUHJvY2Vzcy5tbToKKyAgICAgICAgKFRF
U1QpOiBUZXN0IHRoYXQgY3JlYXRpbmcgYW5kIGRlc3Ryb3lpbmcgZXBoZW1lciBXZWJzaXRlRGF0
YVN0b3JlIGRvZXNuJ3QgaW5pdGlhbGl6ZQorICAgICAgICBkZWZhdWx0IG5ldHdvcmsgcHJvY2Vz
cy4KKwogMjAyMi0wMy0zMCAgQ2FybG9zIEFsYmVydG8gTG9wZXogUGVyZXogIDxjbG9wZXpAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1RLXVtXUEVdIGdlbmVyYXRlLWJ1bmRsZTogc2VsZi1jb250
YWluZWQgYnVuZGxlIGZvciB0aGUgTWluaUJyb3dzZXIgdGhhdCBjYW4gd29yayBvbiBhbnkgZGlz
dHJvCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL05l
dHdvcmtQcm9jZXNzLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9O
ZXR3b3JrUHJvY2Vzcy5tbQppbmRleCAxYzVlZjFiNzZlNWUwMTY0NTQzZjRmMTQ5YmRjYmQ4YTBl
NWU2NzhhLi41MGZjNzJiZTZmODY2NzVlMWU1OWM1ZmJiNzFhOTQ3NDUxMjYyYjkwIDEwMDY0NAot
LS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL05ldHdvcmtQcm9jZXNz
Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvTmV0d29ya1By
b2Nlc3MubW0KQEAgLTE1OCw2ICsxNTgsMjEgQEAgVEVTVChOZXR3b3JrUHJvY2VzcywgVGVybWlu
YXRlV2hlblVudXNlZCkKICAgICAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6c3BpblJ1bkxvb3Ao
KTsKIH0KIAorVEVTVChOZXR3b3JrUHJvY2VzcywgRG9Ob3RMYXVuY2hPbkRhdGFTdG9yZURlc3Ry
dWN0aW9uKQoreworICAgIGF1dG8gc3RvcmVDb25maWd1cmF0aW9uMSA9IGFkb3B0TlMoW1tfV0tX
ZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbiBhbGxvY10gaW5pdE5vblBlcnNpc3RlbnRDb25m
aWd1cmF0aW9uXSk7CisgICAgYXV0byB3ZWJzaXRlRGF0YVN0b3JlMSA9IGFkb3B0TlMoW1tXS1dl
YnNpdGVEYXRhU3RvcmUgYWxsb2NdIF9pbml0V2l0aENvbmZpZ3VyYXRpb246IHN0b3JlQ29uZmln
dXJhdGlvbjEuZ2V0KCldKTsKKworICAgIEVYUEVDVF9GQUxTRShbV0tXZWJzaXRlRGF0YVN0b3Jl
IF9kZWZhdWx0TmV0d29ya1Byb2Nlc3NFeGlzdHNdKTsKKyAgICBAYXV0b3JlbGVhc2Vwb29sIHsK
KyAgICAgICAgYXV0byBzdG9yZUNvbmZpZ3VyYXRpb24yID0gYWRvcHROUyhbW19XS1dlYnNpdGVE
YXRhU3RvcmVDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0Tm9uUGVyc2lzdGVudENvbmZpZ3VyYXRp
b25dKTsKKyAgICAgICAgYXV0byB3ZWJzaXRlRGF0YVN0b3JlMiA9IGFkb3B0TlMoW1tXS1dlYnNp
dGVEYXRhU3RvcmUgYWxsb2NdIF9pbml0V2l0aENvbmZpZ3VyYXRpb246IHN0b3JlQ29uZmlndXJh
dGlvbjIuZ2V0KCldKTsKKyAgICB9CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpzcGluUnVu
TG9vcCgxMCk7CisgICAgRVhQRUNUX0ZBTFNFKFtXS1dlYnNpdGVEYXRhU3RvcmUgX2RlZmF1bHRO
ZXR3b3JrUHJvY2Vzc0V4aXN0c10pOworfQorCiBURVNUKE5ldHdvcmtQcm9jZXNzLCBDT1JTUHJl
ZmxpZ2h0Q2FjaGVQYXJ0aXRpb25lZCkKIHsKICAgICB1c2luZyBuYW1lc3BhY2UgVGVzdFdlYktp
dEFQSTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>