<?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>209016</bug_id>
          
          <creation_ts>2020-03-12 13:44:38 -0700</creation_ts>
          <short_desc>[ iOS and Mac wk2 ] http/tests/in-app-browser-privacy/ tests failing.</short_desc>
          <delta_ts>2020-03-13 14:58:17 -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>WebKit Misc.</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="Kate Cheney">katherine_cheney</reporter>
          <assigned_to name="Kate Cheney">katherine_cheney</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1629340</commentid>
    <comment_count>0</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-03-12 13:44:38 -0700</bug_when>
    <thetext>These started failing again after fixing &lt;rdar://problem/60250973&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629341</commentid>
    <comment_count>1</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-03-12 13:45:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/60329530&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629364</commentid>
    <comment_count>2</comment_count>
      <attachid>393414</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-03-12 14:32:21 -0700</bug_when>
    <thetext>Created attachment 393414
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629377</commentid>
    <comment_count>3</comment_count>
      <attachid>393417</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-03-12 14:55:19 -0700</bug_when>
    <thetext>Created attachment 393417
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629694</commentid>
    <comment_count>4</comment_count>
      <attachid>393417</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-03-13 10:46:39 -0700</bug_when>
    <thetext>Comment on attachment 393417
Patch

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

&gt; Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h:168
&gt; +WK_EXPORT void WKWebsiteDataStoreReinitializeAppBoundDomains(WKWebsiteDataStoreRef dataStoreRef, void* context, WKWebsiteDataStoreReinitializeAppBoundDomainsFunction completionHandler);

This does not seem to need to completion handler since it is sync.

&gt; Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:515
&gt; +void WebsiteDataStore::reinitializeAppBoundDomains(CompletionHandler&lt;void()&gt;&amp;&amp; completionHandler)

This does not seem to need to completion handler since it is sync.

&gt; Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:518
&gt; +    initializeAppBoundDomains();

What clears existing app bound domains? It seems initializeAppBoundDomains() will just keep adding more but I do not think anything doing the clearing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629696</commentid>
    <comment_count>5</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-03-13 10:48:48 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #4)
&gt; Comment on attachment 393417 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=393417&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/C/WKWebsiteDataStoreRef.h:168
&gt; &gt; +WK_EXPORT void WKWebsiteDataStoreReinitializeAppBoundDomains(WKWebsiteDataStoreRef dataStoreRef, void* context, WKWebsiteDataStoreReinitializeAppBoundDomainsFunction completionHandler);
&gt; 
&gt; This does not seem to need to completion handler since it is sync.
&gt; 
&gt; &gt; Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:515
&gt; &gt; +void WebsiteDataStore::reinitializeAppBoundDomains(CompletionHandler&lt;void()&gt;&amp;&amp; completionHandler)
&gt; 
&gt; This does not seem to need to completion handler since it is sync.
&gt; 

Great! I will remove this.

&gt; &gt; Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:518
&gt; &gt; +    initializeAppBoundDomains();
&gt; 
&gt; What clears existing app bound domains? It seems initializeAppBoundDomains()
&gt; will just keep adding more but I do not think anything doing the clearing.

Good point, I will change this to clear before re-initializing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629777</commentid>
    <comment_count>6</comment_count>
      <attachid>393519</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-03-13 12:43:44 -0700</bug_when>
    <thetext>Created attachment 393519
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629792</commentid>
    <comment_count>7</comment_count>
      <attachid>393519</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-03-13 13:05:19 -0700</bug_when>
    <thetext>Comment on attachment 393519
Patch

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

&gt; Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:527
&gt; +    hasInitializedAppBoundDomains = false;

I think that for this code to actually be correct, you&apos;d have to reset hasInitializedAppBoundDomains to false in the lambda inside clearAppBoundDomains(), after clearing the domains. That said, I think we can simplify this code a lot like by tweaking existing code like so:

enum class ForceReinitialization : bool { No, Yes };
void WebsiteDataStore::initializeAppBoundDomains(ForceReinitialization forceReinitialization)
{
    ASSERT(RunLoop::isMain());

    if (hasInitializedAppBoundDomains &amp;&amp; forceReinitialization != ForceReinitialization::Yes) // Updated
        return;
    
    static const auto maxAppBoundDomainCount = 10;
    
    appBoundDomainQueue().dispatch([forceReinitialization] () mutable {
        if (hasInitializedAppBoundDomains &amp;&amp; forceReinitialization != ForceReinitialization::Yes) // Updated
            return;
        
        NSArray&lt;NSString *&gt; *domains = [[NSBundle mainBundle] objectForInfoDictionaryKey:@&quot;WKAppBoundDomains&quot;];
        
        RunLoop::main().dispatch([forceReinitialization , domains = retainPtr(domains)] {
            if ( forceReinitialization == ForceReinitialization::Yes) // New
                appBoundDomains().clear(); // New

            for (NSString *domain in domains.get()) {
                URL url { URL(), domain };
                if (!url.isValid())
                    continue;
                WebCore::RegistrableDomain appBoundDomain { url };
                if (appBoundDomain.isEmpty())
                    continue;
                appBoundDomains().add(appBoundDomain);
                if (appBoundDomains().size() &gt;= maxAppBoundDomainCount)
                    break;
            }
            WEBSITE_DATA_STORE_ADDITIONS
            hasInitializedAppBoundDomains = true;
        });
    });
}

Then you only have to call initializeAppBoundDomains(ForceReinitialization::Yes) in your new reinitializeAppBoundDomains() method.

What do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629795</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-03-13 13:13:50 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #7)
&gt; Comment on attachment 393519 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=393519&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:527
&gt; &gt; +    hasInitializedAppBoundDomains = false;
&gt; 
&gt; I think that for this code to actually be correct, you&apos;d have to reset
&gt; hasInitializedAppBoundDomains to false in the lambda inside
&gt; clearAppBoundDomains(), after clearing the domains. That said, I think we
&gt; can simplify this code a lot like by tweaking existing code like so:
&gt; 
&gt; enum class ForceReinitialization : bool { No, Yes };
&gt; void WebsiteDataStore::initializeAppBoundDomains(ForceReinitialization
&gt; forceReinitialization)
&gt; {
&gt;     ASSERT(RunLoop::isMain());
&gt; 
&gt;     if (hasInitializedAppBoundDomains &amp;&amp; forceReinitialization !=
&gt; ForceReinitialization::Yes) // Updated
&gt;         return;
&gt;     
&gt;     static const auto maxAppBoundDomainCount = 10;
&gt;     
&gt;     appBoundDomainQueue().dispatch([forceReinitialization] () mutable {
&gt;         if (hasInitializedAppBoundDomains &amp;&amp; forceReinitialization !=
&gt; ForceReinitialization::Yes) // Updated
&gt;             return;
&gt;         
&gt;         NSArray&lt;NSString *&gt; *domains = [[NSBundle mainBundle]
&gt; objectForInfoDictionaryKey:@&quot;WKAppBoundDomains&quot;];
&gt;         
&gt;         RunLoop::main().dispatch([forceReinitialization , domains =
&gt; retainPtr(domains)] {
&gt;             if ( forceReinitialization == ForceReinitialization::Yes) // New
&gt;                 appBoundDomains().clear(); // New
&gt; 
&gt;             for (NSString *domain in domains.get()) {
&gt;                 URL url { URL(), domain };
&gt;                 if (!url.isValid())
&gt;                     continue;
&gt;                 WebCore::RegistrableDomain appBoundDomain { url };
&gt;                 if (appBoundDomain.isEmpty())
&gt;                     continue;
&gt;                 appBoundDomains().add(appBoundDomain);
&gt;                 if (appBoundDomains().size() &gt;= maxAppBoundDomainCount)
&gt;                     break;
&gt;             }
&gt;             WEBSITE_DATA_STORE_ADDITIONS
&gt;             hasInitializedAppBoundDomains = true;
&gt;         });
&gt;     });
&gt; }
&gt; 
&gt; Then you only have to call
&gt; initializeAppBoundDomains(ForceReinitialization::Yes) in your new
&gt; reinitializeAppBoundDomains() method.
&gt; 
&gt; What do you think?

Actually, I think you have to reset hasInitializedAppBoundDomains synchronously to false on the main thread to avoid flakiness. Here is a counter proposal then:

void WebsiteDataStore::reinitializeAppBoundDomains()
{
    if (!hasInitializedAppBoundDomains)
        return;

    appBoundDomains().clear();
    hasInitializedAppBoundDomains = false;
    initializeAppBoundDomains();
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629802</commentid>
    <comment_count>9</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-03-13 13:32:47 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #7)
&gt; Comment on attachment 393519 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=393519&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:527
&gt; &gt; +    hasInitializedAppBoundDomains = false;
&gt; 
&gt; I think that for this code to actually be correct, you&apos;d have to reset
&gt; hasInitializedAppBoundDomains to false in the lambda inside
&gt; clearAppBoundDomains(), after clearing the domains. That said, I think we
&gt; can simplify this code a lot like by tweaking existing code like so:
&gt; 
&gt; enum class ForceReinitialization : bool { No, Yes };
&gt; void WebsiteDataStore::initializeAppBoundDomains(ForceReinitialization
&gt; forceReinitialization)
&gt; {
&gt;     ASSERT(RunLoop::isMain());
&gt; 
&gt;     if (hasInitializedAppBoundDomains &amp;&amp; forceReinitialization !=
&gt; ForceReinitialization::Yes) // Updated
&gt;         return;
&gt;     
&gt;     static const auto maxAppBoundDomainCount = 10;
&gt;     
&gt;     appBoundDomainQueue().dispatch([forceReinitialization] () mutable {
&gt;         if (hasInitializedAppBoundDomains &amp;&amp; forceReinitialization !=
&gt; ForceReinitialization::Yes) // Updated
&gt;             return;
&gt;         
&gt;         NSArray&lt;NSString *&gt; *domains = [[NSBundle mainBundle]
&gt; objectForInfoDictionaryKey:@&quot;WKAppBoundDomains&quot;];
&gt;         
&gt;         RunLoop::main().dispatch([forceReinitialization , domains =
&gt; retainPtr(domains)] {
&gt;             if ( forceReinitialization == ForceReinitialization::Yes) // New
&gt;                 appBoundDomains().clear(); // New
&gt; 
&gt;             for (NSString *domain in domains.get()) {
&gt;                 URL url { URL(), domain };
&gt;                 if (!url.isValid())
&gt;                     continue;
&gt;                 WebCore::RegistrableDomain appBoundDomain { url };
&gt;                 if (appBoundDomain.isEmpty())
&gt;                     continue;
&gt;                 appBoundDomains().add(appBoundDomain);
&gt;                 if (appBoundDomains().size() &gt;= maxAppBoundDomainCount)
&gt;                     break;
&gt;             }
&gt;             WEBSITE_DATA_STORE_ADDITIONS
&gt;             hasInitializedAppBoundDomains = true;
&gt;         });
&gt;     });
&gt; }
&gt; 
&gt; Then you only have to call
&gt; initializeAppBoundDomains(ForceReinitialization::Yes) in your new
&gt; reinitializeAppBoundDomains() method.
&gt; 
&gt; What do you think?

This looks good! With the addition of setting hasInitializedAppBoundDomains = false before calling this in reinitializeAppBoundDomains</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629817</commentid>
    <comment_count>10</comment_count>
      <attachid>393525</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2020-03-13 13:53:43 -0700</bug_when>
    <thetext>Created attachment 393525
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629855</commentid>
    <comment_count>11</comment_count>
      <attachid>393525</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-13 14:57:01 -0700</bug_when>
    <thetext>Comment on attachment 393525
Patch

Clearing flags on attachment: 393525

Committed r258436: &lt;https://trac.webkit.org/changeset/258436&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629856</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-13 14:57:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629858</commentid>
    <comment_count>13</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-13 14:58:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/60435282&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393414</attachid>
            <date>2020-03-12 14:32:21 -0700</date>
            <delta_ts>2020-03-12 14:55:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209016-20200312143220.patch</filename>
            <type>text/plain</type>
            <size>10170</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQzNDgwMWZlMTBmNTJhNDAz
NTExMGUwYjU5MDdjMDcwMjU5NmI0NzAuLjhmMjk3OWZjN2JmYWEwM2EyNjhjMzBlZDRkNmQwZGVh
MGQxMzIwOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMDMtMTIgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgWyBpT1MgYW5kIE1h
YyB3azIgXSBodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvIHRlc3RzIGZhaWxpbmcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTAxNgor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjAzMjk1MzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIGEgZnVuY3Rpb24gdG8g
cmUtaW5pdGlhbGl6ZSBhcHAgYm91bmQgZG9tYWlucyBmb3IKKyAgICAgICAgaW4tYXBwLWJyb3dz
ZXItcHJpdmFjeSB0ZXN0cywgc2luY2UgdGhleSBhcmUgb25seSBpbml0aWFsaXplZCBvbmNlCisg
ICAgICAgIHdoZW4gdGhlIFdlYnNpdGVEYXRhU3RvcmUgaXMgY3JlYXRlZC4gVGhpcyBjYXVzZXMg
aXNzdWVzIGlmIHRoZSB0ZXN0cworICAgICAgICBhcmUgcnVuIGluIHBhcmFsbGVsIHdpdGggb3Ro
ZXIgdGVzdHMgd2l0aCBkaWZmZXJlbnQgYXBwLWJvdW5kIGRvbWFpbnMuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcDoKKyAgICAgICAgKFdLV2Vi
c2l0ZURhdGFTdG9yZVJlaW5pdGlhbGl6ZUFwcEJvdW5kRG9tYWlucyk6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJzaXRlRGF0YS9Db2NvYS9XZWJzaXRlRGF0YVN0b3JlQ29jb2EubW06CisgICAgICAgIChX
ZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OnJlaW50aWFsaXplQXBwQm91bmREb21haW5zKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oOgorCiAyMDIw
LTAzLTEyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBQcm92
aWRlIG9yaWVudGF0aW9uIHRvIEdQVVByb2Nlc3Mgd2hlbiBpdCB3aWxsIHN0YXJ0IHRvIGNhcHR1
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURh
dGFTdG9yZVJlZi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVE
YXRhU3RvcmVSZWYuY3BwCmluZGV4IDk1MGQyZWY1YjRlNTFjY2ExOGU2MWIwNDAzNThlOWJjY2Fi
YWQzYTMuLmFlOWRjMmFkNWY2YjU2OTA2OGM2ZGUzMWFiNWY1MzdiZDVlMzhkMDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3Jl
UmVmLmNwcApAQCAtNzI1LDMgKzcyNSwxMCBAQCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldElu
QXBwQnJvd3NlclByaXZhY3lFbmFibGVkKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhUwogICAg
ICAgICBjb21wbGV0aW9uSGFuZGxlcihjb250ZXh0KTsKICAgICB9KTsKIH0KKwordm9pZCBXS1dl
YnNpdGVEYXRhU3RvcmVSZWluaXRpYWxpemVBcHBCb3VuZERvbWFpbnMoV0tXZWJzaXRlRGF0YVN0
b3JlUmVmIGRhdGFTdG9yZVJlZiwgdm9pZCogY29udGV4dCwgV0tXZWJzaXRlRGF0YVN0b3JlUmVp
bml0aWFsaXplQXBwQm91bmREb21haW5zRnVuY3Rpb24gY29tcGxldGlvbkhhbmRsZXIpCit7Cisg
ICAgV2ViS2l0Ojp0b0ltcGwoZGF0YVN0b3JlUmVmKS0+cmVpbml0aWFsaXplQXBwQm91bmREb21h
aW5zKFtjb250ZXh0LCBjb21wbGV0aW9uSGFuZGxlcl0geworICAgICAgICBjb21wbGV0aW9uSGFu
ZGxlcihjb250ZXh0KTsKKyAgICB9KTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmgKaW5kZXggZDJhNWU3YTE2MzI4ZGJj
MmZjMzNhZTZlZjIzNjI2ZGFkZDA1NWQ4Yi4uMGU1ZmIyYWFlY2Y4MjQxMzUyNDIyNTcxMmU3OGVm
MmEwOTU5MzQ1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tX
ZWJzaXRlRGF0YVN0b3JlUmVmLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tXZWJzaXRlRGF0YVN0b3JlUmVmLmgKQEAgLTE2NCw2ICsxNjQsOSBAQCBXS19FWFBPUlQgdm9p
ZCBXS1dlYnNpdGVEYXRhU3RvcmVSZXNldFF1b3RhKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRh
U3RvcmVSZWYsCiB0eXBlZGVmIHZvaWQgKCpXS1dlYnNpdGVEYXRhU3RvcmVTZXRJbkFwcEJyb3dz
ZXJQcml2YWN5RW5hYmxlZEZ1bmN0aW9uKSh2b2lkKiBmdW5jdGlvbkNvbnRleHQpOwogV0tfRVhQ
T1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlU2V0SW5BcHBCcm93c2VyUHJpdmFjeUVuYWJsZWQo
V0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgYm9vbCBlbmFibGVkLCB2b2lkKiBj
b250ZXh0LCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZEZ1
bmN0aW9uIGNvbXBsZXRpb25IYW5kbGVyKTsKIAordHlwZWRlZiB2b2lkICgqV0tXZWJzaXRlRGF0
YVN0b3JlUmVpbml0aWFsaXplQXBwQm91bmREb21haW5zRnVuY3Rpb24pKHZvaWQqIGZ1bmN0aW9u
Q29udGV4dCk7CitXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVSZWluaXRpYWxpemVB
cHBCb3VuZERvbWFpbnMoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgdm9pZCog
Y29udGV4dCwgV0tXZWJzaXRlRGF0YVN0b3JlUmVpbml0aWFsaXplQXBwQm91bmREb21haW5zRnVu
Y3Rpb24gY29tcGxldGlvbkhhbmRsZXIpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2Ev
V2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0
ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tCmluZGV4IGY2ZjE5NDgyNTc1NTBi
NjI1MTZiZjIwMTgxNDVkY2M0YmE5Y2E4N2YuLmNlMDljNjRjMjgwNDExN2I3ZTcyZDUxOTJlMDI3
OWY0ZjM0MTQyOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVE
YXRhL0NvY29hL1dlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJzaXRlRGF0YS9Db2NvYS9XZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0KQEAgLTUx
Miw0ICs1MTIsMTEgQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjphcHBCb3VuZERvbWFpbnNGb3JU
ZXN0aW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgSGEKICAgICB9KTsKIH0KIAordm9p
ZCBXZWJzaXRlRGF0YVN0b3JlOjpyZWluaXRpYWxpemVBcHBCb3VuZERvbWFpbnMoQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGhhc0luaXRpYWxp
emVkQXBwQm91bmREb21haW5zID0gZmFsc2U7CisgICAgaW5pdGlhbGl6ZUFwcEJvdW5kRG9tYWlu
cygpOworICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAppbmRleCBh
ZjJhOWVjYWI3M2Y0M2E5YjQyZDQxOGE3YTRmNDUzZWNlMDY2MzMxLi5jYmJkY2E2NTc2NDlmMWM1
MTExNTFiZDI2Mjc4NmY5ZWZiODBjOTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCkBAIC0yODYsNiArMjg2LDcg
QEAgcHVibGljOgogICAgIHZvaWQgYmVnaW5BcHBCb3VuZERvbWFpbkNoZWNrKFdlYkNvcmU6OlJl
Z2lzdHJhYmxlRG9tYWluJiYsIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eSYpOwogICAgIHZv
aWQgYXBwQm91bmREb21haW5zRm9yVGVzdGluZyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0
IEhhc2hTZXQ8V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4+Jik+JiYpIGNvbnN0OwogICAgIHZv
aWQgZW5zdXJlQXBwQm91bmREb21haW5zKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgSGFz
aFNldDxXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbj4mKT4mJikgY29uc3Q7CisgICAgdm9pZCBy
ZWluaXRpYWxpemVBcHBCb3VuZERvbWFpbnMoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsK
IAogcHJpdmF0ZToKICAgICB2b2lkIGluaXRpYWxpemVBcHBCb3VuZERvbWFpbnMoKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzNjRkMzQ0MmNk
ZWY2ZTE1NGZjNjRkYTFiMTI3M2FmNTBiYjkyNjBhLi5jZTlhN2RhN2NjMTMwZDQ4OWFkNDYxM2I3
Y2IzNDM0OWIwYzRjYzlmIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDMtMTIgIEthdGUgQ2hlbmV5ICA8a2F0
aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgWyBpT1MgYW5kIE1hYyB3azIgXSBo
dHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvIHRlc3RzIGZhaWxpbmcKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTAxNgorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNjAzMjk1MzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUmUtaW5pdGlhbGl6ZSB0aGUgYXBwLWJvdW5kIGRvbWFpbnMgd2hl
biB0aGUgY29ycmVjdAorICAgICAgICBUZXN0T3B0aW9ucyBwYXJhbWV0ZXIgaXMgc2V0LgorCisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChX
VFI6OlRlc3RDb250cm9sbGVyOjpjcmVhdGVXZWJWaWV3V2l0aE9wdGlvbnMpOgorICAgICAgICAo
V1RSOjpUZXN0Q29udHJvbGxlcjo6cmVpbml0aWFsaXplQXBwQm91bmREb21haW5zKToKKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmg6CisKIDIwMjAtMDMtMTIgIERh
bmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIEZvY3VzQ29udHJvbGxl
cjo6c2V0Rm9jdXNlZEVsZW1lbnQoKSBzaG91bGQgdGVsbCBjbGllbnQgb2YgcmVmb2N1c2VkIGVs
ZW1lbnQKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggNzFj
MzU4YTI3ZGUyNmM4ZmM5ZTY4ZTcyZmM2NzUzYTUyYTZhOTI3ZS4uOGU0Mjk1YTIzMjBmNTNlNjk3
OGY0ZDIwYWVjODJjY2Y0MGZiMDUzMSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5jcHAKQEAgLTc5MSw2ICs3OTEsOSBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpjcmVh
dGVXZWJWaWV3V2l0aE9wdGlvbnMoY29uc3QgVGVzdE9wdGlvbnMmIG9wdGlvbnMpCiAgICAgLy8g
R2VuZXJhbGx5LCB0aGUgdGVzdHMgc2hvdWxkIGRlZmF1bHQgdG8gcnVubmluZyBhdCAxeC4gdXBk
YXRlV2luZG93U2NhbGVGb3JUZXN0KCkgd2lsbCBhZGp1c3QgdGhlIHNjYWxlIHRvCiAgICAgLy8g
c29tZXRoaW5nIGVsc2UgZm9yIHNwZWNpZmljIHRlc3RzIHRoYXQgbmVlZCB0byBydW4gYXQgYSBk
aWZmZXJlbnQgd2luZG93IHNjYWxlLgogICAgIG1fbWFpbldlYlZpZXctPmNoYW5nZVdpbmRvd1Nj
YWxlSWZOZWVkZWQoMSk7CisgICAgCisgICAgaWYgKCFvcHRpb25zLmFwcGxpY2F0aW9uQnVuZGxl
SWRlbnRpZmllci5pc0VtcHR5KCkpCisgICAgICAgIHJlaW5pdGlhbGl6ZUFwcEJvdW5kRG9tYWlu
cygpOwogfQogCiB2b2lkIFRlc3RDb250cm9sbGVyOjplbnN1cmVWaWV3U3VwcG9ydHNPcHRpb25z
Rm9yVGVzdChjb25zdCBUZXN0SW52b2NhdGlvbiYgdGVzdCkKQEAgLTM3ODIsNiArMzc4NSwxMyBA
QCB2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZChib29s
IHZhbHVlKQogICAgIG1fY3VycmVudEludm9jYXRpb24tPmRpZFNldEluQXBwQnJvd3NlclByaXZh
Y3lFbmFibGVkKCk7CiB9CiAKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnJlaW5pdGlhbGl6ZUFwcEJv
dW5kRG9tYWlucygpCit7CisgICAgSW5BcHBCcm93c2VyUHJpdmFjeUNhbGxiYWNrQ29udGV4dCBj
b250ZXh0KCp0aGlzKTsKKyAgICBXS1dlYnNpdGVEYXRhU3RvcmVSZWluaXRpYWxpemVBcHBCb3Vu
ZERvbWFpbnMoVGVzdENvbnRyb2xsZXI6OndlYnNpdGVEYXRhU3RvcmUoKSwgJmNvbnRleHQsIGlu
QXBwQnJvd3NlclByaXZhY3lWb2lkUmVzdWx0Q2FsbGJhY2spOworICAgIHJ1blVudGlsKGNvbnRl
eHQuZG9uZSwgbm9UaW1lb3V0KTsKK30KKwogI2lmICFQTEFURk9STShDT0NPQSkKIHZvaWQgVGVz
dENvbnRyb2xsZXI6OnBsYXRmb3JtQWRkVGVzdE9wdGlvbnMoVGVzdE9wdGlvbnMmKSBjb25zdAog
ewpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCmluZGV4IGE4YWQ1OGZlMWE3
ODkwMWYzNWI5ZTgzZjZkMmM1NWY3YjEzNjA1YjYuLjM4NDVkNTJlOTA0NjJkM2FmYWU3NWE3NDli
ZTNkODllNzI1YmRjMmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgK
QEAgLTI2OSw2ICsyNjksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbGVhclByZXZhbGVudERvbWFp
bnMoKTsKICAgICB2b2lkIGdldFdlYlZpZXdDYXRlZ29yeSgpOwogICAgIHZvaWQgc2V0SW5BcHBC
cm93c2VyUHJpdmFjeUVuYWJsZWQoYm9vbCk7CisgICAgdm9pZCByZWluaXRpYWxpemVBcHBCb3Vu
ZERvbWFpbnMoKTsKIAogICAgIFdLQXJyYXlSZWYgb3BlblBhbmVsRmlsZVVSTHMoKSBjb25zdCB7
IHJldHVybiBtX29wZW5QYW5lbEZpbGVVUkxzLmdldCgpOyB9CiAgICAgdm9pZCBzZXRPcGVuUGFu
ZWxGaWxlVVJMcyhXS0FycmF5UmVmIGZpbGVVUkxzKSB7IG1fb3BlblBhbmVsRmlsZVVSTHMgPSBm
aWxlVVJMczsgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDgxN2U3OTE3OGVmZDk2YmM0YzdhMzRkZDNjYjNiN2VkMWM2YzJm
ODYuLjJjYzFjZTg0NzZjYzgwMzUyZTE4Nzc2NjliOTQ4YWI1MTQ4Yzc1ZWMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAyMC0wMy0xMiAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFw
cGxlLmNvbT4KKworICAgICAgICBbIGlPUyBhbmQgTWFjIHdrMiBdIGh0dHAvdGVzdHMvaW4tYXBw
LWJyb3dzZXItcHJpdmFjeS8gdGVzdHMgZmFpbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDE2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82
MDMyOTUzMD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBVc2UgVGVzdE9wdGlvbnMgdG8gdHJpZ2dlciB0aGUgcmUtaW5pdGlhbGl6YXRpb24gb2YgYXBw
LWJvdW5kIGRvbWFpbnMuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXBy
aXZhY3kvYXBwLWJvdW5kLWRvbWFpbi5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvaW4tYXBw
LWJyb3dzZXItcHJpdmFjeS9zd2l0Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLWFwcC1ib3Vu
ZC1kb21haW4uaHRtbDoKKwogMjAyMC0wMy0xMiAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBs
ZS5jb20+CiAKICAgICAgICAgQWNjdXJhdGUgc3R5bGUgaW52YWxpZGF0aW9uIGZvciB1c2VyIGFj
dGlvbiBwc2V1ZG8gY2xhc3NlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1kb21haW4uaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtZG9tYWluLmh0bWwK
aW5kZXggNTIyNWM1ZjQ1OTFmYTBlMmI3ODQwZjQyYTI0MzZjYjE2OTYwZjE2Ni4uM2FmZWU5YjRl
ODdlOWRkMDQ2NDIyOTZiMWZmOGNiNTcxMmIyMDNiOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1kb21haW4uaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJv
dW5kLWRvbWFpbi5odG1sCkBAIC0xLDQgKzEsNCBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBpbnRlcm5hbDpJc0luQXBwQnJvd3NlclByaXZhY3lFbmFibGVkPXRy
dWUgYXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyPXRlc3RpZGVudGlmaWVyIF0gLS0+Cis8IURP
Q1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGludGVybmFsOklzSW5BcHBCcm93
c2VyUHJpdmFjeUVuYWJsZWQ9dHJ1ZSBhcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI9aW5BcHBC
cm93c2VyUHJpdmFjeVRlc3RJZGVudGlmaWVyIF0gLS0+CiA8aHRtbD4KIDxoZWFkPgogICAgIDxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5
L3N3aXRjaC1zZXNzaW9uLW9uLW5hdmlnYXRpb24tdG8tYXBwLWJvdW5kLWRvbWFpbi5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L3N3aXRjaC1zZXNz
aW9uLW9uLW5hdmlnYXRpb24tdG8tYXBwLWJvdW5kLWRvbWFpbi5odG1sCmluZGV4IDQ0YzY2MWE5
OTczZTJiMDVlZjkxOWQ5NGFjYWZlZWU0MmVjN2I1ODguLjNlYjdjZjQ1MDZlNGRiMTM4ZGJhOWQ2
ZWE4NmZiNzE4MDMzYmMyNGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW4t
YXBwLWJyb3dzZXItcHJpdmFjeS9zd2l0Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLWFwcC1i
b3VuZC1kb21haW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93
c2VyLXByaXZhY3kvc3dpdGNoLXNlc3Npb24tb24tbmF2aWdhdGlvbi10by1hcHAtYm91bmQtZG9t
YWluLmh0bWwKQEAgLTEsNCArMSw0IEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIGludGVybmFsOklzSW5BcHBCcm93c2VyUHJpdmFjeUVuYWJsZWQ9dHJ1ZSBhcHBs
aWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI9dGVzdGlkZW50aWZpZXIgXSAtLT4KKzwhRE9DVFlQRSBo
dG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgaW50ZXJuYWw6SXNJbkFwcEJyb3dzZXJQcml2
YWN5RW5hYmxlZD10cnVlIGFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcj1pbkFwcEJyb3dzZXJQ
cml2YWN5VGVzdElkZW50aWZpZXIgXSAtLT4KIDxodG1sIGxhbmc9ImVuIj4KIDxoZWFkPgogICAg
IDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393417</attachid>
            <date>2020-03-12 14:55:19 -0700</date>
            <delta_ts>2020-03-13 12:43:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209016-20200312145518.patch</filename>
            <type>text/plain</type>
            <size>10239</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQzNDgwMWZlMTBmNTJhNDAz
NTExMGUwYjU5MDdjMDcwMjU5NmI0NzAuLjhmMjk3OWZjN2JmYWEwM2EyNjhjMzBlZDRkNmQwZGVh
MGQxMzIwOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMDMtMTIgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgWyBpT1MgYW5kIE1h
YyB3azIgXSBodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvIHRlc3RzIGZhaWxpbmcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTAxNgor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjAzMjk1MzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIGEgZnVuY3Rpb24gdG8g
cmUtaW5pdGlhbGl6ZSBhcHAgYm91bmQgZG9tYWlucyBmb3IKKyAgICAgICAgaW4tYXBwLWJyb3dz
ZXItcHJpdmFjeSB0ZXN0cywgc2luY2UgdGhleSBhcmUgb25seSBpbml0aWFsaXplZCBvbmNlCisg
ICAgICAgIHdoZW4gdGhlIFdlYnNpdGVEYXRhU3RvcmUgaXMgY3JlYXRlZC4gVGhpcyBjYXVzZXMg
aXNzdWVzIGlmIHRoZSB0ZXN0cworICAgICAgICBhcmUgcnVuIGluIHBhcmFsbGVsIHdpdGggb3Ro
ZXIgdGVzdHMgd2l0aCBkaWZmZXJlbnQgYXBwLWJvdW5kIGRvbWFpbnMuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcDoKKyAgICAgICAgKFdLV2Vi
c2l0ZURhdGFTdG9yZVJlaW5pdGlhbGl6ZUFwcEJvdW5kRG9tYWlucyk6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJzaXRlRGF0YS9Db2NvYS9XZWJzaXRlRGF0YVN0b3JlQ29jb2EubW06CisgICAgICAgIChX
ZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OnJlaW50aWFsaXplQXBwQm91bmREb21haW5zKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oOgorCiAyMDIw
LTAzLTEyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBQcm92
aWRlIG9yaWVudGF0aW9uIHRvIEdQVVByb2Nlc3Mgd2hlbiBpdCB3aWxsIHN0YXJ0IHRvIGNhcHR1
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURh
dGFTdG9yZVJlZi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVE
YXRhU3RvcmVSZWYuY3BwCmluZGV4IDk1MGQyZWY1YjRlNTFjY2ExOGU2MWIwNDAzNThlOWJjY2Fi
YWQzYTMuLjQ4NjdjMDYyOTM1ZmJmNGMyNDFiOWNlZjcxYmI3OTAxNjBhYjU0MTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3Jl
UmVmLmNwcApAQCAtNzI1LDMgKzcyNSwxNCBAQCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVNldElu
QXBwQnJvd3NlclByaXZhY3lFbmFibGVkKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhUwogICAg
ICAgICBjb21wbGV0aW9uSGFuZGxlcihjb250ZXh0KTsKICAgICB9KTsKIH0KKwordm9pZCBXS1dl
YnNpdGVEYXRhU3RvcmVSZWluaXRpYWxpemVBcHBCb3VuZERvbWFpbnMoV0tXZWJzaXRlRGF0YVN0
b3JlUmVmIGRhdGFTdG9yZVJlZiwgdm9pZCogY29udGV4dCwgV0tXZWJzaXRlRGF0YVN0b3JlUmVp
bml0aWFsaXplQXBwQm91bmREb21haW5zRnVuY3Rpb24gY29tcGxldGlvbkhhbmRsZXIpCit7Cisj
aWYgUExBVEZPUk0oQ09DT0EpCisgICAgV2ViS2l0Ojp0b0ltcGwoZGF0YVN0b3JlUmVmKS0+cmVp
bml0aWFsaXplQXBwQm91bmREb21haW5zKFtjb250ZXh0LCBjb21wbGV0aW9uSGFuZGxlcl0gewor
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihjb250ZXh0KTsKKyAgICB9KTsKKyNlbHNlCisgICAg
Y29tcGxldGlvbkhhbmRsZXIoY29udGV4dCk7CisjZW5kaWYKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmgKaW5kZXggZDJh
NWU3YTE2MzI4ZGJjMmZjMzNhZTZlZjIzNjI2ZGFkZDA1NWQ4Yi4uMGU1ZmIyYWFlY2Y4MjQxMzUy
NDIyNTcxMmU3OGVmMmEwOTU5MzQ1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmgKQEAgLTE2NCw2ICsxNjQsOSBAQCBX
S19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVSZXNldFF1b3RhKFdLV2Vic2l0ZURhdGFT
dG9yZVJlZiBkYXRhU3RvcmVSZWYsCiB0eXBlZGVmIHZvaWQgKCpXS1dlYnNpdGVEYXRhU3RvcmVT
ZXRJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZEZ1bmN0aW9uKSh2b2lkKiBmdW5jdGlvbkNvbnRl
eHQpOwogV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlU2V0SW5BcHBCcm93c2VyUHJp
dmFjeUVuYWJsZWQoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgYm9vbCBlbmFi
bGVkLCB2b2lkKiBjb250ZXh0LCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRJbkFwcEJyb3dzZXJQcml2
YWN5RW5hYmxlZEZ1bmN0aW9uIGNvbXBsZXRpb25IYW5kbGVyKTsKIAordHlwZWRlZiB2b2lkICgq
V0tXZWJzaXRlRGF0YVN0b3JlUmVpbml0aWFsaXplQXBwQm91bmREb21haW5zRnVuY3Rpb24pKHZv
aWQqIGZ1bmN0aW9uQ29udGV4dCk7CitXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVS
ZWluaXRpYWxpemVBcHBCb3VuZERvbWFpbnMoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9y
ZVJlZiwgdm9pZCogY29udGV4dCwgV0tXZWJzaXRlRGF0YVN0b3JlUmVpbml0aWFsaXplQXBwQm91
bmREb21haW5zRnVuY3Rpb24gY29tcGxldGlvbkhhbmRsZXIpOworCiAjaWZkZWYgX19jcGx1c3Bs
dXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0
ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tCmluZGV4IGY2
ZjE5NDgyNTc1NTBiNjI1MTZiZjIwMTgxNDVkY2M0YmE5Y2E4N2YuLmNlMDljNjRjMjgwNDExN2I3
ZTcyZDUxOTJlMDI3OWY0ZjM0MTQyOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYnNpdGVEYXRhL0NvY29hL1dlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9Db2NvYS9XZWJzaXRlRGF0YVN0b3JlQ29j
b2EubW0KQEAgLTUxMiw0ICs1MTIsMTEgQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjphcHBCb3Vu
ZERvbWFpbnNGb3JUZXN0aW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgSGEKICAgICB9
KTsKIH0KIAordm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpyZWluaXRpYWxpemVBcHBCb3VuZERvbWFp
bnMoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAg
IGhhc0luaXRpYWxpemVkQXBwQm91bmREb21haW5zID0gZmFsc2U7CisgICAgaW5pdGlhbGl6ZUFw
cEJvdW5kRG9tYWlucygpOworICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7Cit9CisKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3Rv
cmUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3Rv
cmUuaAppbmRleCBhZjJhOWVjYWI3M2Y0M2E5YjQyZDQxOGE3YTRmNDUzZWNlMDY2MzMxLi5jYmJk
Y2E2NTc2NDlmMWM1MTExNTFiZDI2Mjc4NmY5ZWZiODBjOTBhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCkBAIC0y
ODYsNiArMjg2LDcgQEAgcHVibGljOgogICAgIHZvaWQgYmVnaW5BcHBCb3VuZERvbWFpbkNoZWNr
KFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiYsIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94
eSYpOwogICAgIHZvaWQgYXBwQm91bmREb21haW5zRm9yVGVzdGluZyhDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKGNvbnN0IEhhc2hTZXQ8V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4+Jik+JiYpIGNv
bnN0OwogICAgIHZvaWQgZW5zdXJlQXBwQm91bmREb21haW5zKENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoY29uc3QgSGFzaFNldDxXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbj4mKT4mJikgY29uc3Q7
CisgICAgdm9pZCByZWluaXRpYWxpemVBcHBCb3VuZERvbWFpbnMoQ29tcGxldGlvbkhhbmRsZXI8
dm9pZCgpPiYmKTsKIAogcHJpdmF0ZToKICAgICB2b2lkIGluaXRpYWxpemVBcHBCb3VuZERvbWFp
bnMoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRl
eCAzNjRkMzQ0MmNkZWY2ZTE1NGZjNjRkYTFiMTI3M2FmNTBiYjkyNjBhLi5jZTlhN2RhN2NjMTMw
ZDQ4OWFkNDYxM2I3Y2IzNDM0OWIwYzRjYzlmIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cK
KysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDMtMTIgIEthdGUg
Q2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgWyBpT1MgYW5k
IE1hYyB3azIgXSBodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvIHRlc3RzIGZhaWxp
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTAx
NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjAzMjk1MzA+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmUtaW5pdGlhbGl6ZSB0aGUgYXBwLWJvdW5k
IGRvbWFpbnMgd2hlbiB0aGUgY29ycmVjdAorICAgICAgICBUZXN0T3B0aW9ucyBwYXJhbWV0ZXIg
aXMgc2V0LgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6
CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpjcmVhdGVXZWJWaWV3V2l0aE9wdGlvbnMp
OgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cmVpbml0aWFsaXplQXBwQm91bmREb21h
aW5zKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmg6CisKIDIw
MjAtMDMtMTIgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIEZv
Y3VzQ29udHJvbGxlcjo6c2V0Rm9jdXNlZEVsZW1lbnQoKSBzaG91bGQgdGVsbCBjbGllbnQgb2Yg
cmVmb2N1c2VkIGVsZW1lbnQKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5j
cHAKaW5kZXggNzFjMzU4YTI3ZGUyNmM4ZmM5ZTY4ZTcyZmM2NzUzYTUyYTZhOTI3ZS4uOGU0Mjk1
YTIzMjBmNTNlNjk3OGY0ZDIwYWVjODJjY2Y0MGZiMDUzMSAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0Q29udHJvbGxlci5jcHAKQEAgLTc5MSw2ICs3OTEsOSBAQCB2b2lkIFRlc3RDb250
cm9sbGVyOjpjcmVhdGVXZWJWaWV3V2l0aE9wdGlvbnMoY29uc3QgVGVzdE9wdGlvbnMmIG9wdGlv
bnMpCiAgICAgLy8gR2VuZXJhbGx5LCB0aGUgdGVzdHMgc2hvdWxkIGRlZmF1bHQgdG8gcnVubmlu
ZyBhdCAxeC4gdXBkYXRlV2luZG93U2NhbGVGb3JUZXN0KCkgd2lsbCBhZGp1c3QgdGhlIHNjYWxl
IHRvCiAgICAgLy8gc29tZXRoaW5nIGVsc2UgZm9yIHNwZWNpZmljIHRlc3RzIHRoYXQgbmVlZCB0
byBydW4gYXQgYSBkaWZmZXJlbnQgd2luZG93IHNjYWxlLgogICAgIG1fbWFpbldlYlZpZXctPmNo
YW5nZVdpbmRvd1NjYWxlSWZOZWVkZWQoMSk7CisgICAgCisgICAgaWYgKCFvcHRpb25zLmFwcGxp
Y2F0aW9uQnVuZGxlSWRlbnRpZmllci5pc0VtcHR5KCkpCisgICAgICAgIHJlaW5pdGlhbGl6ZUFw
cEJvdW5kRG9tYWlucygpOwogfQogCiB2b2lkIFRlc3RDb250cm9sbGVyOjplbnN1cmVWaWV3U3Vw
cG9ydHNPcHRpb25zRm9yVGVzdChjb25zdCBUZXN0SW52b2NhdGlvbiYgdGVzdCkKQEAgLTM3ODIs
NiArMzc4NSwxMyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRJbkFwcEJyb3dzZXJQcml2YWN5
RW5hYmxlZChib29sIHZhbHVlKQogICAgIG1fY3VycmVudEludm9jYXRpb24tPmRpZFNldEluQXBw
QnJvd3NlclByaXZhY3lFbmFibGVkKCk7CiB9CiAKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnJlaW5p
dGlhbGl6ZUFwcEJvdW5kRG9tYWlucygpCit7CisgICAgSW5BcHBCcm93c2VyUHJpdmFjeUNhbGxi
YWNrQ29udGV4dCBjb250ZXh0KCp0aGlzKTsKKyAgICBXS1dlYnNpdGVEYXRhU3RvcmVSZWluaXRp
YWxpemVBcHBCb3VuZERvbWFpbnMoVGVzdENvbnRyb2xsZXI6OndlYnNpdGVEYXRhU3RvcmUoKSwg
JmNvbnRleHQsIGluQXBwQnJvd3NlclByaXZhY3lWb2lkUmVzdWx0Q2FsbGJhY2spOworICAgIHJ1
blVudGlsKGNvbnRleHQuZG9uZSwgbm9UaW1lb3V0KTsKK30KKwogI2lmICFQTEFURk9STShDT0NP
QSkKIHZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtQWRkVGVzdE9wdGlvbnMoVGVzdE9wdGlv
bnMmKSBjb25zdAogewpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCmluZGV4
IGE4YWQ1OGZlMWE3ODkwMWYzNWI5ZTgzZjZkMmM1NWY3YjEzNjA1YjYuLjM4NDVkNTJlOTA0NjJk
M2FmYWU3NWE3NDliZTNkODllNzI1YmRjMmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvVGVzdENvbnRyb2xsZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmgKQEAgLTI2OSw2ICsyNjksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbGVhclBy
ZXZhbGVudERvbWFpbnMoKTsKICAgICB2b2lkIGdldFdlYlZpZXdDYXRlZ29yeSgpOwogICAgIHZv
aWQgc2V0SW5BcHBCcm93c2VyUHJpdmFjeUVuYWJsZWQoYm9vbCk7CisgICAgdm9pZCByZWluaXRp
YWxpemVBcHBCb3VuZERvbWFpbnMoKTsKIAogICAgIFdLQXJyYXlSZWYgb3BlblBhbmVsRmlsZVVS
THMoKSBjb25zdCB7IHJldHVybiBtX29wZW5QYW5lbEZpbGVVUkxzLmdldCgpOyB9CiAgICAgdm9p
ZCBzZXRPcGVuUGFuZWxGaWxlVVJMcyhXS0FycmF5UmVmIGZpbGVVUkxzKSB7IG1fb3BlblBhbmVs
RmlsZVVSTHMgPSBmaWxlVVJMczsgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDgxN2U3OTE3OGVmZDk2YmM0YzdhMzRkZDNj
YjNiN2VkMWM2YzJmODYuLjJjYzFjZTg0NzZjYzgwMzUyZTE4Nzc2NjliOTQ4YWI1MTQ4Yzc1ZWMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMC0wMy0xMiAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJp
bmVfY2hlbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBbIGlPUyBhbmQgTWFjIHdrMiBdIGh0dHAv
dGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS8gdGVzdHMgZmFpbGluZworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDE2CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS82MDMyOTUzMD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBVc2UgVGVzdE9wdGlvbnMgdG8gdHJpZ2dlciB0aGUgcmUtaW5pdGlhbGl6
YXRpb24gb2YgYXBwLWJvdW5kIGRvbWFpbnMuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luLWFw
cC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWRvbWFpbi5odG1sOgorICAgICAgICAqIGh0dHAv
dGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9zd2l0Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9u
LXRvLWFwcC1ib3VuZC1kb21haW4uaHRtbDoKKwogMjAyMC0wMy0xMiAgQW50dGkgS29pdmlzdG8g
IDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgQWNjdXJhdGUgc3R5bGUgaW52YWxpZGF0aW9u
IGZvciB1c2VyIGFjdGlvbiBwc2V1ZG8gY2xhc3NlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1kb21haW4uaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQt
ZG9tYWluLmh0bWwKaW5kZXggNTIyNWM1ZjQ1OTFmYTBlMmI3ODQwZjQyYTI0MzZjYjE2OTYwZjE2
Ni4uM2FmZWU5YjRlODdlOWRkMDQ2NDIyOTZiMWZmOGNiNTcxMmIyMDNiOSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2FwcC1ib3VuZC1k
b21haW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXBy
aXZhY3kvYXBwLWJvdW5kLWRvbWFpbi5odG1sCkBAIC0xLDQgKzEsNCBAQAotPCFET0NUWVBFIGh0
bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBpbnRlcm5hbDpJc0luQXBwQnJvd3NlclByaXZh
Y3lFbmFibGVkPXRydWUgYXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyPXRlc3RpZGVudGlmaWVy
IF0gLS0+Cis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGludGVybmFs
OklzSW5BcHBCcm93c2VyUHJpdmFjeUVuYWJsZWQ9dHJ1ZSBhcHBsaWNhdGlvbkJ1bmRsZUlkZW50
aWZpZXI9aW5BcHBCcm93c2VyUHJpdmFjeVRlc3RJZGVudGlmaWVyIF0gLS0+CiA8aHRtbD4KIDxo
ZWFkPgogICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJv
d3Nlci1wcml2YWN5L3N3aXRjaC1zZXNzaW9uLW9uLW5hdmlnYXRpb24tdG8tYXBwLWJvdW5kLWRv
bWFpbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5
L3N3aXRjaC1zZXNzaW9uLW9uLW5hdmlnYXRpb24tdG8tYXBwLWJvdW5kLWRvbWFpbi5odG1sCmlu
ZGV4IDQ0YzY2MWE5OTczZTJiMDVlZjkxOWQ5NGFjYWZlZWU0MmVjN2I1ODguLjNlYjdjZjQ1MDZl
NGRiMTM4ZGJhOWQ2ZWE4NmZiNzE4MDMzYmMyNGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9zd2l0Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0
aW9uLXRvLWFwcC1ib3VuZC1kb21haW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luLWFwcC1icm93c2VyLXByaXZhY3kvc3dpdGNoLXNlc3Npb24tb24tbmF2aWdhdGlvbi10by1h
cHAtYm91bmQtZG9tYWluLmh0bWwKQEAgLTEsNCArMSw0IEBACi08IURPQ1RZUEUgaHRtbD48IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIGludGVybmFsOklzSW5BcHBCcm93c2VyUHJpdmFjeUVuYWJs
ZWQ9dHJ1ZSBhcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI9dGVzdGlkZW50aWZpZXIgXSAtLT4K
KzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgaW50ZXJuYWw6SXNJbkFw
cEJyb3dzZXJQcml2YWN5RW5hYmxlZD10cnVlIGFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcj1p
bkFwcEJyb3dzZXJQcml2YWN5VGVzdElkZW50aWZpZXIgXSAtLT4KIDxodG1sIGxhbmc9ImVuIj4K
IDxoZWFkPgogICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393519</attachid>
            <date>2020-03-13 12:43:44 -0700</date>
            <delta_ts>2020-03-13 13:53:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209016-20200313124343.patch</filename>
            <type>text/plain</type>
            <size>10304</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NDA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYwYTA2ZjhkZTRiNTM3ODQx
MGM1ODVlNWYyNjg1MTc2OWZlM2RjNGEuLjYwY2RlNzBkMjc3MmYxYjFkYjllZmRkZjE2MjI3YWJh
NTVlNTNlODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjAtMDMtMTMgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgWyBpT1MgYW5kIE1h
YyB3azIgXSBodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvIHRlc3RzIGZhaWxpbmcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTAxNgor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjAzMjk1MzA+IAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBhIGZ1bmN0aW9uIHRv
IHJlLWluaXRpYWxpemUgYXBwIGJvdW5kIGRvbWFpbnMgZm9yCisgICAgICAgIGluLWFwcC1icm93
c2VyLXByaXZhY3kgdGVzdHMsIHNpbmNlIHRoZXkgYXJlIG9ubHkgaW5pdGlhbGl6ZWQgb25jZQor
ICAgICAgICB3aGVuIHRoZSBXZWJzaXRlRGF0YVN0b3JlIGlzIGNyZWF0ZWQuIFRoaXMgY2F1c2Vz
IGlzc3VlcyBpZiB0aGUgdGVzdHMKKyAgICAgICAgYXJlIHJ1biBpbiBwYXJhbGxlbCB3aXRoIG90
aGVyIHRlc3RzIHdpdGggZGlmZmVyZW50IGFwcC1ib3VuZCBkb21haW5zLgorCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHA6CisgICAgICAgIChXS1dl
YnNpdGVEYXRhU3RvcmVSZWluaXRpYWxpemVBcHBCb3VuZERvbWFpbnMpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpjbGVhckFwcEJvdW5kRG9tYWlucyk6CisgICAgICAg
IChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OnJlaW5pdGlhbGl6ZUFwcEJvdW5kRG9tYWlucyk6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaDoKKwog
MjAyMC0wMy0xMyAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZW1vdmUgdW51c2VkIFNtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIgTWFnbmlmeSBtZXNz
YWdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVE
YXRhU3RvcmVSZWYuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRl
RGF0YVN0b3JlUmVmLmNwcAppbmRleCA5NTBkMmVmNWI0ZTUxY2NhMThlNjFiMDQwMzU4ZTliY2Nh
YmFkM2EzLi4zMzVmYzIwYjMzOTMwM2RmNmFhZWQzYzk1YjQ1YWIyYzQxNjc4ZjE4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9y
ZVJlZi5jcHAKQEAgLTcyNSwzICs3MjUsMTAgQEAgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRJ
bkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZChXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVMKICAg
ICAgICAgY29tcGxldGlvbkhhbmRsZXIoY29udGV4dCk7CiAgICAgfSk7CiB9CisKK3ZvaWQgV0tX
ZWJzaXRlRGF0YVN0b3JlUmVpbml0aWFsaXplQXBwQm91bmREb21haW5zKFdLV2Vic2l0ZURhdGFT
dG9yZVJlZiBkYXRhU3RvcmVSZWYpCit7CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgV2ViS2l0
Ojp0b0ltcGwoZGF0YVN0b3JlUmVmKS0+cmVpbml0aWFsaXplQXBwQm91bmREb21haW5zKCk7Cisj
ZW5kaWYKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vi
c2l0ZURhdGFTdG9yZVJlZi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJz
aXRlRGF0YVN0b3JlUmVmLmgKaW5kZXggZDJhNWU3YTE2MzI4ZGJjMmZjMzNhZTZlZjIzNjI2ZGFk
ZDA1NWQ4Yi4uNTgwMmZlYWIyZTNhYzRmMzk4OWY0ZWE3NjhiNGY5MmNkYzliYTg5NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVm
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3Jl
UmVmLmgKQEAgLTE2NCw2ICsxNjQsOCBAQCBXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3Rv
cmVSZXNldFF1b3RhKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsCiB0eXBlZGVm
IHZvaWQgKCpXS1dlYnNpdGVEYXRhU3RvcmVTZXRJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZEZ1
bmN0aW9uKSh2b2lkKiBmdW5jdGlvbkNvbnRleHQpOwogV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRl
RGF0YVN0b3JlU2V0SW5BcHBCcm93c2VyUHJpdmFjeUVuYWJsZWQoV0tXZWJzaXRlRGF0YVN0b3Jl
UmVmIGRhdGFTdG9yZVJlZiwgYm9vbCBlbmFibGVkLCB2b2lkKiBjb250ZXh0LCBXS1dlYnNpdGVE
YXRhU3RvcmVTZXRJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZEZ1bmN0aW9uIGNvbXBsZXRpb25I
YW5kbGVyKTsKIAorV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlUmVpbml0aWFsaXpl
QXBwQm91bmREb21haW5zKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYpOworCiAj
aWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNv
Y29hLm1tCmluZGV4IDRkZjE3NzYzNjcxNzE1NzcwM2Y0ZTczOWQzNWM3M2U0YWQ4YjhmOGMuLjcx
YTE3OTA3ZjE1NTBlMTFiYWRjZjNkOGZlNzg2MDk5MzVjYzIxMTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL0NvY29hL1dlYnNpdGVEYXRhU3RvcmVDb2Nv
YS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9Db2NvYS9XZWJz
aXRlRGF0YVN0b3JlQ29jb2EubW0KQEAgLTQ0OCw2ICs0NDgsMTUgQEAgc3RhdGljIEhhc2hTZXQ8
V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4+JiBhcHBCb3VuZERvbWFpbnMoKQogICAgIHJldHVy
biBhcHBCb3VuZERvbWFpbnM7CiB9CiAKK3ZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6Y2xlYXJBcHBC
b3VuZERvbWFpbnMoKQoreworICAgIGFwcEJvdW5kRG9tYWluUXVldWUoKS5kaXNwYXRjaChbXSAo
KSBtdXRhYmxlIHsKKyAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFtdICgpIG11dGFi
bGUgeworICAgICAgICAgICAgYXBwQm91bmREb21haW5zKCkuY2xlYXIoKTsKKyAgICAgICAgfSk7
CisgICAgfSk7Cit9CisKIHZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6aW5pdGlhbGl6ZUFwcEJvdW5k
RG9tYWlucygpCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKQEAgLTUxMiw0ICs1
MjEsMTEgQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjphcHBCb3VuZERvbWFpbnNGb3JUZXN0aW5n
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgSGEKICAgICB9KTsKIH0KIAordm9pZCBXZWJz
aXRlRGF0YVN0b3JlOjpyZWluaXRpYWxpemVBcHBCb3VuZERvbWFpbnMoKQoreworICAgIGNsZWFy
QXBwQm91bmREb21haW5zKCk7CisgICAgaGFzSW5pdGlhbGl6ZWRBcHBCb3VuZERvbWFpbnMgPSBm
YWxzZTsKKyAgICBpbml0aWFsaXplQXBwQm91bmREb21haW5zKCk7Cit9CisKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUu
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUu
aAppbmRleCBhZjJhOWVjYWI3M2Y0M2E5YjQyZDQxOGE3YTRmNDUzZWNlMDY2MzMxLi41MDAzMmFk
ZGU5ZDgwYTZhYWIwYzk3ZDQ2ZDViOWUxNjYxMDcxZDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCkBAIC0yODYs
OCArMjg2LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIGJlZ2luQXBwQm91bmREb21haW5DaGVjayhX
ZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiYmLCBXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkm
KTsKICAgICB2b2lkIGFwcEJvdW5kRG9tYWluc0ZvclRlc3RpbmcoQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChjb25zdCBIYXNoU2V0PFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluPiYpPiYmKSBjb25z
dDsKICAgICB2b2lkIGVuc3VyZUFwcEJvdW5kRG9tYWlucyhDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGNvbnN0IEhhc2hTZXQ8V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4+Jik+JiYpIGNvbnN0Owor
ICAgIHZvaWQgcmVpbml0aWFsaXplQXBwQm91bmREb21haW5zKCk7CiAKIHByaXZhdGU6CisgICAg
dm9pZCBjbGVhckFwcEJvdW5kRG9tYWlucygpOwogICAgIHZvaWQgaW5pdGlhbGl6ZUFwcEJvdW5k
RG9tYWlucygpOwogICAgIHZvaWQgZmV0Y2hEYXRhQW5kQXBwbHkoT3B0aW9uU2V0PFdlYnNpdGVE
YXRhVHlwZT4sIE9wdGlvblNldDxXZWJzaXRlRGF0YUZldGNoT3B0aW9uPiwgUmVmUHRyPFdvcmtR
dWV1ZT4mJiwgRnVuY3Rpb248dm9pZChWZWN0b3I8V2Vic2l0ZURhdGFSZWNvcmQ+KT4mJiBhcHBs
eSk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRl
eCBjMDJmM2QwYTVhZDc5ZmE3NmE3Mzg4ZjU5MGNmMDEyMDU0YzU5MTU3Li5kMDM1ODM3ZjM5NzI0
MDk3NDU2ODNlNGQ3ZTA5NDEwNzRlMjcyY2E2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cK
KysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDMtMTMgIEthdGUg
Q2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgWyBpT1MgYW5k
IE1hYyB3azIgXSBodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvIHRlc3RzIGZhaWxp
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTAx
NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjAzMjk1MzA+IAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlLWluaXRpYWxpemUgdGhlIGFwcC1ib3Vu
ZCBkb21haW5zIHdoZW4gdGhlIGNvcnJlY3QKKyAgICAgICAgVGVzdE9wdGlvbnMgcGFyYW1ldGVy
IGlzIHNldC4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6Y3JlYXRlV2ViVmlld1dpdGhPcHRpb25z
KToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnJlaW5pdGlhbGl6ZUFwcEJvdW5kRG9t
YWlucyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oOgorCiAy
MDIwLTAzLTEzICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIENy
YXNoIGluIFRleHRJdGVyYXRvcjo6bm9kZSB2aWEgVGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXI6
OnJlcGxhY2UKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xs
ZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXgg
NzFjMzU4YTI3ZGUyNmM4ZmM5ZTY4ZTcyZmM2NzUzYTUyYTZhOTI3ZS4uZWI4NzY3MGNmZGI5NjA4
OTM0YThmOWI2ODgyMDE5NDZiZmE3MzA2ZCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
Q29udHJvbGxlci5jcHAKQEAgLTc5MSw2ICs3OTEsOSBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpj
cmVhdGVXZWJWaWV3V2l0aE9wdGlvbnMoY29uc3QgVGVzdE9wdGlvbnMmIG9wdGlvbnMpCiAgICAg
Ly8gR2VuZXJhbGx5LCB0aGUgdGVzdHMgc2hvdWxkIGRlZmF1bHQgdG8gcnVubmluZyBhdCAxeC4g
dXBkYXRlV2luZG93U2NhbGVGb3JUZXN0KCkgd2lsbCBhZGp1c3QgdGhlIHNjYWxlIHRvCiAgICAg
Ly8gc29tZXRoaW5nIGVsc2UgZm9yIHNwZWNpZmljIHRlc3RzIHRoYXQgbmVlZCB0byBydW4gYXQg
YSBkaWZmZXJlbnQgd2luZG93IHNjYWxlLgogICAgIG1fbWFpbldlYlZpZXctPmNoYW5nZVdpbmRv
d1NjYWxlSWZOZWVkZWQoMSk7CisgICAgCisgICAgaWYgKCFvcHRpb25zLmFwcGxpY2F0aW9uQnVu
ZGxlSWRlbnRpZmllci5pc0VtcHR5KCkpCisgICAgICAgIHJlaW5pdGlhbGl6ZUFwcEJvdW5kRG9t
YWlucygpOwogfQogCiB2b2lkIFRlc3RDb250cm9sbGVyOjplbnN1cmVWaWV3U3VwcG9ydHNPcHRp
b25zRm9yVGVzdChjb25zdCBUZXN0SW52b2NhdGlvbiYgdGVzdCkKQEAgLTM3ODIsNiArMzc4NSwx
MSBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZChi
b29sIHZhbHVlKQogICAgIG1fY3VycmVudEludm9jYXRpb24tPmRpZFNldEluQXBwQnJvd3NlclBy
aXZhY3lFbmFibGVkKCk7CiB9CiAKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnJlaW5pdGlhbGl6ZUFw
cEJvdW5kRG9tYWlucygpCit7CisgICAgV0tXZWJzaXRlRGF0YVN0b3JlUmVpbml0aWFsaXplQXBw
Qm91bmREb21haW5zKFRlc3RDb250cm9sbGVyOjp3ZWJzaXRlRGF0YVN0b3JlKCkpOworfQorCiAj
aWYgIVBMQVRGT1JNKENPQ09BKQogdm9pZCBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1BZGRUZXN0
T3B0aW9ucyhUZXN0T3B0aW9ucyYpIGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmgKaW5kZXggYThhZDU4ZmUxYTc4OTAxZjM1YjllODNmNmQyYzU1ZjdiMTM2MDVi
Ni4uMzg0NWQ1MmU5MDQ2MmQzYWZhZTc1YTc0OWJlM2Q4OWU3MjViZGMyZiAxMDA2NDQKLS0tIGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaApAQCAtMjY5LDYgKzI2OSw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGNsZWFyUHJldmFsZW50RG9tYWlucygpOwogICAgIHZvaWQgZ2V0V2ViVmlld0Nh
dGVnb3J5KCk7CiAgICAgdm9pZCBzZXRJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZChib29sKTsK
KyAgICB2b2lkIHJlaW5pdGlhbGl6ZUFwcEJvdW5kRG9tYWlucygpOwogCiAgICAgV0tBcnJheVJl
ZiBvcGVuUGFuZWxGaWxlVVJMcygpIGNvbnN0IHsgcmV0dXJuIG1fb3BlblBhbmVsRmlsZVVSTHMu
Z2V0KCk7IH0KICAgICB2b2lkIHNldE9wZW5QYW5lbEZpbGVVUkxzKFdLQXJyYXlSZWYgZmlsZVVS
THMpIHsgbV9vcGVuUGFuZWxGaWxlVVJMcyA9IGZpbGVVUkxzOyB9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjA5MmQzN2I3
N2ViZmM3NzIyODJmZjIzYWQ4YzQwNzRkYWUwZmJlMy4uZjI4NjcyMzNlNjU0ZWNlNzhlMjYxNDc4
MzdlNmM1NDIxZDdiMTg3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTAzLTEzICBLYXRl
IENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIFsgaU9TIGFu
ZCBNYWMgd2syIF0gaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5LyB0ZXN0cyBmYWls
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkw
MTYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYwMzI5NTMwPiAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgVGVzdE9wdGlvbnMgdG8gdHJpZ2dl
ciB0aGUgcmUtaW5pdGlhbGl6YXRpb24gb2YgYXBwLWJvdW5kIGRvbWFpbnMuCisKKyAgICAgICAg
KiBodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWRvbWFpbi5odG1s
OgorICAgICAgICAqIGh0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9zd2l0Y2gtc2Vz
c2lvbi1vbi1uYXZpZ2F0aW9uLXRvLWFwcC1ib3VuZC1kb21haW4uaHRtbDoKKwogMjAyMC0wMy0x
MiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9T
IFdLMl0gU29tZSBwb2ludGVyZXZlbnRzIHRlc3RzIHRpbWUgb3V0CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWRvbWFp
bi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L2Fw
cC1ib3VuZC1kb21haW4uaHRtbAppbmRleCA1MjI1YzVmNDU5MWZhMGUyYjc4NDBmNDJhMjQzNmNi
MTY5NjBmMTY2Li4zYWZlZTliNGU4N2U5ZGQwNDY0MjI5NmIxZmY4Y2I1NzEyYjIwM2I5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBw
LWJvdW5kLWRvbWFpbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW4tYXBwLWJy
b3dzZXItcHJpdmFjeS9hcHAtYm91bmQtZG9tYWluLmh0bWwKQEAgLTEsNCArMSw0IEBACi08IURP
Q1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGludGVybmFsOklzSW5BcHBCcm93
c2VyUHJpdmFjeUVuYWJsZWQ9dHJ1ZSBhcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI9dGVzdGlk
ZW50aWZpZXIgXSAtLT4KKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
aW50ZXJuYWw6SXNJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZD10cnVlIGFwcGxpY2F0aW9uQnVu
ZGxlSWRlbnRpZmllcj1pbkFwcEJyb3dzZXJQcml2YWN5VGVzdElkZW50aWZpZXIgXSAtLT4KIDxo
dG1sPgogPGhlYWQ+CiAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
LWFwcC1icm93c2VyLXByaXZhY3kvc3dpdGNoLXNlc3Npb24tb24tbmF2aWdhdGlvbi10by1hcHAt
Ym91bmQtZG9tYWluLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93c2Vy
LXByaXZhY3kvc3dpdGNoLXNlc3Npb24tb24tbmF2aWdhdGlvbi10by1hcHAtYm91bmQtZG9tYWlu
Lmh0bWwKaW5kZXggNDRjNjYxYTk5NzNlMmIwNWVmOTE5ZDk0YWNhZmVlZTQyZWM3YjU4OC4uM2Vi
N2NmNDUwNmU0ZGIxMzhkYmE5ZDZlYTg2ZmI3MTgwMzNiYzI0ZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L3N3aXRjaC1zZXNzaW9uLW9u
LW5hdmlnYXRpb24tdG8tYXBwLWJvdW5kLWRvbWFpbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9zd2l0Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0
aW9uLXRvLWFwcC1ib3VuZC1kb21haW4uaHRtbApAQCAtMSw0ICsxLDQgQEAKLTwhRE9DVFlQRSBo
dG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgaW50ZXJuYWw6SXNJbkFwcEJyb3dzZXJQcml2
YWN5RW5hYmxlZD10cnVlIGFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcj10ZXN0aWRlbnRpZmll
ciBdIC0tPgorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBpbnRlcm5h
bDpJc0luQXBwQnJvd3NlclByaXZhY3lFbmFibGVkPXRydWUgYXBwbGljYXRpb25CdW5kbGVJZGVu
dGlmaWVyPWluQXBwQnJvd3NlclByaXZhY3lUZXN0SWRlbnRpZmllciBdIC0tPgogPGh0bWwgbGFu
Zz0iZW4iPgogPGhlYWQ+CiAgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393525</attachid>
            <date>2020-03-13 13:53:43 -0700</date>
            <delta_ts>2020-03-13 14:57:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209016-20200313135342.patch</filename>
            <type>text/plain</type>
            <size>11374</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NDA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYwYTA2ZjhkZTRiNTM3ODQx
MGM1ODVlNWYyNjg1MTc2OWZlM2RjNGEuLjYwY2RlNzBkMjc3MmYxYjFkYjllZmRkZjE2MjI3YWJh
NTVlNTNlODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjAtMDMtMTMgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgWyBpT1MgYW5kIE1h
YyB3azIgXSBodHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvIHRlc3RzIGZhaWxpbmcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTAxNgor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjAzMjk1MzA+IAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBhIGZ1bmN0aW9uIHRv
IHJlLWluaXRpYWxpemUgYXBwIGJvdW5kIGRvbWFpbnMgZm9yCisgICAgICAgIGluLWFwcC1icm93
c2VyLXByaXZhY3kgdGVzdHMsIHNpbmNlIHRoZXkgYXJlIG9ubHkgaW5pdGlhbGl6ZWQgb25jZQor
ICAgICAgICB3aGVuIHRoZSBXZWJzaXRlRGF0YVN0b3JlIGlzIGNyZWF0ZWQuIFRoaXMgY2F1c2Vz
IGlzc3VlcyBpZiB0aGUgdGVzdHMKKyAgICAgICAgYXJlIHJ1biBpbiBwYXJhbGxlbCB3aXRoIG90
aGVyIHRlc3RzIHdpdGggZGlmZmVyZW50IGFwcC1ib3VuZCBkb21haW5zLgorCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHA6CisgICAgICAgIChXS1dl
YnNpdGVEYXRhU3RvcmVSZWluaXRpYWxpemVBcHBCb3VuZERvbWFpbnMpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpjbGVhckFwcEJvdW5kRG9tYWlucyk6CisgICAgICAg
IChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OnJlaW5pdGlhbGl6ZUFwcEJvdW5kRG9tYWlucyk6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaDoKKwog
MjAyMC0wMy0xMyAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZW1vdmUgdW51c2VkIFNtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIgTWFnbmlmeSBtZXNz
YWdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVE
YXRhU3RvcmVSZWYuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRl
RGF0YVN0b3JlUmVmLmNwcAppbmRleCA5NTBkMmVmNWI0ZTUxY2NhMThlNjFiMDQwMzU4ZTliY2Nh
YmFkM2EzLi4zMzVmYzIwYjMzOTMwM2RmNmFhZWQzYzk1YjQ1YWIyYzQxNjc4ZjE4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9y
ZVJlZi5jcHAKQEAgLTcyNSwzICs3MjUsMTAgQEAgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTZXRJ
bkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZChXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVMKICAg
ICAgICAgY29tcGxldGlvbkhhbmRsZXIoY29udGV4dCk7CiAgICAgfSk7CiB9CisKK3ZvaWQgV0tX
ZWJzaXRlRGF0YVN0b3JlUmVpbml0aWFsaXplQXBwQm91bmREb21haW5zKFdLV2Vic2l0ZURhdGFT
dG9yZVJlZiBkYXRhU3RvcmVSZWYpCit7CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgV2ViS2l0
Ojp0b0ltcGwoZGF0YVN0b3JlUmVmKS0+cmVpbml0aWFsaXplQXBwQm91bmREb21haW5zKCk7Cisj
ZW5kaWYKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vi
c2l0ZURhdGFTdG9yZVJlZi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJz
aXRlRGF0YVN0b3JlUmVmLmgKaW5kZXggZDJhNWU3YTE2MzI4ZGJjMmZjMzNhZTZlZjIzNjI2ZGFk
ZDA1NWQ4Yi4uNTgwMmZlYWIyZTNhYzRmMzk4OWY0ZWE3NjhiNGY5MmNkYzliYTg5NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVm
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3Jl
UmVmLmgKQEAgLTE2NCw2ICsxNjQsOCBAQCBXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3Rv
cmVSZXNldFF1b3RhKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsCiB0eXBlZGVm
IHZvaWQgKCpXS1dlYnNpdGVEYXRhU3RvcmVTZXRJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZEZ1
bmN0aW9uKSh2b2lkKiBmdW5jdGlvbkNvbnRleHQpOwogV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRl
RGF0YVN0b3JlU2V0SW5BcHBCcm93c2VyUHJpdmFjeUVuYWJsZWQoV0tXZWJzaXRlRGF0YVN0b3Jl
UmVmIGRhdGFTdG9yZVJlZiwgYm9vbCBlbmFibGVkLCB2b2lkKiBjb250ZXh0LCBXS1dlYnNpdGVE
YXRhU3RvcmVTZXRJbkFwcEJyb3dzZXJQcml2YWN5RW5hYmxlZEZ1bmN0aW9uIGNvbXBsZXRpb25I
YW5kbGVyKTsKIAorV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlUmVpbml0aWFsaXpl
QXBwQm91bmREb21haW5zKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYpOworCiAj
aWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNv
Y29hLm1tCmluZGV4IDRkZjE3NzYzNjcxNzE1NzcwM2Y0ZTczOWQzNWM3M2U0YWQ4YjhmOGMuLmRm
NzU5NGE0ZjIwYWY3NWNhMGJiNDczNjdjOWRkNTY4NTk3MmQ4ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL0NvY29hL1dlYnNpdGVEYXRhU3RvcmVDb2Nv
YS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9Db2NvYS9XZWJz
aXRlRGF0YVN0b3JlQ29jb2EubW0KQEAgLTQ0OCwyMiArNDQ4LDI1IEBAIHN0YXRpYyBIYXNoU2V0
PFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluPiYgYXBwQm91bmREb21haW5zKCkKICAgICByZXR1
cm4gYXBwQm91bmREb21haW5zOwogfQogCi12b2lkIFdlYnNpdGVEYXRhU3RvcmU6OmluaXRpYWxp
emVBcHBCb3VuZERvbWFpbnMoKQordm9pZCBXZWJzaXRlRGF0YVN0b3JlOjppbml0aWFsaXplQXBw
Qm91bmREb21haW5zKEZvcmNlUmVpbml0aWFsaXphdGlvbiBmb3JjZVJlaW5pdGlhbGl6YXRpb24p
CiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKIAotICAgIGlmIChoYXNJbml0aWFs
aXplZEFwcEJvdW5kRG9tYWlucykKKyAgICBpZiAoaGFzSW5pdGlhbGl6ZWRBcHBCb3VuZERvbWFp
bnMgJiYgZm9yY2VSZWluaXRpYWxpemF0aW9uICE9IEZvcmNlUmVpbml0aWFsaXphdGlvbjo6WWVz
KQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgc3RhdGljIGNvbnN0IGF1dG8gbWF4QXBwQm91
bmREb21haW5Db3VudCA9IDEwOwogICAgIAotICAgIGFwcEJvdW5kRG9tYWluUXVldWUoKS5kaXNw
YXRjaChbXSAoKSBtdXRhYmxlIHsKLSAgICAgICAgaWYgKGhhc0luaXRpYWxpemVkQXBwQm91bmRE
b21haW5zKQorICAgIGFwcEJvdW5kRG9tYWluUXVldWUoKS5kaXNwYXRjaChbZm9yY2VSZWluaXRp
YWxpemF0aW9uXSAoKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKGhhc0luaXRpYWxpemVkQXBwQm91
bmREb21haW5zICYmIGZvcmNlUmVpbml0aWFsaXphdGlvbiAhPSBGb3JjZVJlaW5pdGlhbGl6YXRp
b246OlllcykKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgCiAgICAgICAgIE5TQXJyYXk8
TlNTdHJpbmcgKj4gKmRvbWFpbnMgPSBbW05TQnVuZGxlIG1haW5CdW5kbGVdIG9iamVjdEZvcklu
Zm9EaWN0aW9uYXJ5S2V5OkAiV0tBcHBCb3VuZERvbWFpbnMiXTsKICAgICAgICAgCi0gICAgICAg
IFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbZG9tYWlucyA9IHJldGFpblB0cihkb21haW5zKV0g
eworICAgICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW2ZvcmNlUmVpbml0aWFsaXphdGlv
biAsIGRvbWFpbnMgPSByZXRhaW5QdHIoZG9tYWlucyldIHsKKyAgICAgICAgICAgIGlmIChmb3Jj
ZVJlaW5pdGlhbGl6YXRpb24gPT0gRm9yY2VSZWluaXRpYWxpemF0aW9uOjpZZXMpCisgICAgICAg
ICAgICAgICAgYXBwQm91bmREb21haW5zKCkuY2xlYXIoKTsKKwogICAgICAgICAgICAgZm9yIChO
U1N0cmluZyAqZG9tYWluIGluIGRvbWFpbnMuZ2V0KCkpIHsKICAgICAgICAgICAgICAgICBVUkwg
dXJsIHsgVVJMKCksIGRvbWFpbiB9OwogICAgICAgICAgICAgICAgIGlmICghdXJsLmlzVmFsaWQo
KSkKQEAgLTUxMiw0ICs1MTUsMTAgQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjphcHBCb3VuZERv
bWFpbnNGb3JUZXN0aW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgSGEKICAgICB9KTsK
IH0KIAordm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpyZWluaXRpYWxpemVBcHBCb3VuZERvbWFpbnMo
KQoreworICAgIGhhc0luaXRpYWxpemVkQXBwQm91bmREb21haW5zID0gZmFsc2U7CisgICAgaW5p
dGlhbGl6ZUFwcEJvdW5kRG9tYWlucyhGb3JjZVJlaW5pdGlhbGl6YXRpb246Olllcyk7Cit9CisK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNp
dGVEYXRhU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNp
dGVEYXRhU3RvcmUuaAppbmRleCBhZjJhOWVjYWI3M2Y0M2E5YjQyZDQxOGE3YTRmNDUzZWNlMDY2
MzMxLi5kNjNiNDQ3ZTJkNGY3YTZmMzk3MDcyMTkzYjc4YzczZmQyY2RhNzllIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9y
ZS5oCkBAIC0yODYsOSArMjg2LDEyIEBAIHB1YmxpYzoKICAgICB2b2lkIGJlZ2luQXBwQm91bmRE
b21haW5DaGVjayhXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiYmLCBXZWJGcmFtZVBvbGljeUxp
c3RlbmVyUHJveHkmKTsKICAgICB2b2lkIGFwcEJvdW5kRG9tYWluc0ZvclRlc3RpbmcoQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChjb25zdCBIYXNoU2V0PFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWlu
PiYpPiYmKSBjb25zdDsKICAgICB2b2lkIGVuc3VyZUFwcEJvdW5kRG9tYWlucyhDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKGNvbnN0IEhhc2hTZXQ8V2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4+Jik+
JiYpIGNvbnN0OworICAgIHZvaWQgcmVpbml0aWFsaXplQXBwQm91bmREb21haW5zKCk7CiAKIHBy
aXZhdGU6Ci0gICAgdm9pZCBpbml0aWFsaXplQXBwQm91bmREb21haW5zKCk7CisgICAgZW51bSBj
bGFzcyBGb3JjZVJlaW5pdGlhbGl6YXRpb24gOiBib29sIHsgTm8sIFllcyB9OworICAgIHZvaWQg
aW5pdGlhbGl6ZUFwcEJvdW5kRG9tYWlucyhGb3JjZVJlaW5pdGlhbGl6YXRpb24gPSBGb3JjZVJl
aW5pdGlhbGl6YXRpb246Ok5vKTsKKwogICAgIHZvaWQgZmV0Y2hEYXRhQW5kQXBwbHkoT3B0aW9u
U2V0PFdlYnNpdGVEYXRhVHlwZT4sIE9wdGlvblNldDxXZWJzaXRlRGF0YUZldGNoT3B0aW9uPiwg
UmVmUHRyPFdvcmtRdWV1ZT4mJiwgRnVuY3Rpb248dm9pZChWZWN0b3I8V2Vic2l0ZURhdGFSZWNv
cmQ+KT4mJiBhcHBseSk7CiAKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGMwMmYzZDBhNWFk
NzlmYTc2YTczODhmNTkwY2YwMTIwNTRjNTkxNTcuLmQwMzU4MzdmMzk3MjQwOTc0NTY4M2U0ZDdl
MDk0MTA3NGUyNzJjYTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMC0wMy0xMyAgS2F0ZSBDaGVuZXkgIDxrYXRo
ZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBbIGlPUyBhbmQgTWFjIHdrMiBdIGh0
dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS8gdGVzdHMgZmFpbGluZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDE2CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS82MDMyOTUzMD4gCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUmUtaW5pdGlhbGl6ZSB0aGUgYXBwLWJvdW5kIGRvbWFpbnMgd2hl
biB0aGUgY29ycmVjdAorICAgICAgICBUZXN0T3B0aW9ucyBwYXJhbWV0ZXIgaXMgc2V0LgorCisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChX
VFI6OlRlc3RDb250cm9sbGVyOjpjcmVhdGVXZWJWaWV3V2l0aE9wdGlvbnMpOgorICAgICAgICAo
V1RSOjpUZXN0Q29udHJvbGxlcjo6cmVpbml0aWFsaXplQXBwQm91bmREb21haW5zKToKKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmg6CisKIDIwMjAtMDMtMTMgIFJ5
b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ3Jhc2ggaW4gVGV4dEl0
ZXJhdG9yOjpub2RlIHZpYSBUZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlcjo6cmVwbGFjZQpkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCA3MWMzNThhMjdkZTI2
YzhmYzllNjhlNzJmYzY3NTNhNTJhNmE5MjdlLi5lYjg3NjcwY2ZkYjk2MDg5MzRhOGY5YjY4ODIw
MTk0NmJmYTczMDZkIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250
cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNw
cApAQCAtNzkxLDYgKzc5MSw5IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmNyZWF0ZVdlYlZpZXdX
aXRoT3B0aW9ucyhjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW9ucykKICAgICAvLyBHZW5lcmFsbHks
IHRoZSB0ZXN0cyBzaG91bGQgZGVmYXVsdCB0byBydW5uaW5nIGF0IDF4LiB1cGRhdGVXaW5kb3dT
Y2FsZUZvclRlc3QoKSB3aWxsIGFkanVzdCB0aGUgc2NhbGUgdG8KICAgICAvLyBzb21ldGhpbmcg
ZWxzZSBmb3Igc3BlY2lmaWMgdGVzdHMgdGhhdCBuZWVkIHRvIHJ1biBhdCBhIGRpZmZlcmVudCB3
aW5kb3cgc2NhbGUuCiAgICAgbV9tYWluV2ViVmlldy0+Y2hhbmdlV2luZG93U2NhbGVJZk5lZWRl
ZCgxKTsKKyAgICAKKyAgICBpZiAoIW9wdGlvbnMuYXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVy
LmlzRW1wdHkoKSkKKyAgICAgICAgcmVpbml0aWFsaXplQXBwQm91bmREb21haW5zKCk7CiB9CiAK
IHZvaWQgVGVzdENvbnRyb2xsZXI6OmVuc3VyZVZpZXdTdXBwb3J0c09wdGlvbnNGb3JUZXN0KGNv
bnN0IFRlc3RJbnZvY2F0aW9uJiB0ZXN0KQpAQCAtMzc4Miw2ICszNzg1LDExIEBAIHZvaWQgVGVz
dENvbnRyb2xsZXI6OnNldEluQXBwQnJvd3NlclByaXZhY3lFbmFibGVkKGJvb2wgdmFsdWUpCiAg
ICAgbV9jdXJyZW50SW52b2NhdGlvbi0+ZGlkU2V0SW5BcHBCcm93c2VyUHJpdmFjeUVuYWJsZWQo
KTsKIH0KIAordm9pZCBUZXN0Q29udHJvbGxlcjo6cmVpbml0aWFsaXplQXBwQm91bmREb21haW5z
KCkKK3sKKyAgICBXS1dlYnNpdGVEYXRhU3RvcmVSZWluaXRpYWxpemVBcHBCb3VuZERvbWFpbnMo
VGVzdENvbnRyb2xsZXI6OndlYnNpdGVEYXRhU3RvcmUoKSk7Cit9CisKICNpZiAhUExBVEZPUk0o
Q09DT0EpCiB2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUFkZFRlc3RPcHRpb25zKFRlc3RP
cHRpb25zJikgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dENvbnRyb2xsZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaApp
bmRleCBhOGFkNThmZTFhNzg5MDFmMzViOWU4M2Y2ZDJjNTVmN2IxMzYwNWI2Li4zODQ1ZDUyZTkw
NDYyZDNhZmFlNzVhNzQ5YmUzZDg5ZTcyNWJkYzJmIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0Q29udHJvbGxlci5oCkBAIC0yNjksNiArMjY5LDcgQEAgcHVibGljOgogICAgIHZvaWQgY2xl
YXJQcmV2YWxlbnREb21haW5zKCk7CiAgICAgdm9pZCBnZXRXZWJWaWV3Q2F0ZWdvcnkoKTsKICAg
ICB2b2lkIHNldEluQXBwQnJvd3NlclByaXZhY3lFbmFibGVkKGJvb2wpOworICAgIHZvaWQgcmVp
bml0aWFsaXplQXBwQm91bmREb21haW5zKCk7CiAKICAgICBXS0FycmF5UmVmIG9wZW5QYW5lbEZp
bGVVUkxzKCkgY29uc3QgeyByZXR1cm4gbV9vcGVuUGFuZWxGaWxlVVJMcy5nZXQoKTsgfQogICAg
IHZvaWQgc2V0T3BlblBhbmVsRmlsZVVSTHMoV0tBcnJheVJlZiBmaWxlVVJMcykgeyBtX29wZW5Q
YW5lbEZpbGVVUkxzID0gZmlsZVVSTHM7IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2MDkyZDM3Yjc3ZWJmYzc3MjI4MmZm
MjNhZDhjNDA3NGRhZTBmYmUzLi5mMjg2NzIzM2U2NTRlY2U3OGUyNjE0NzgzN2U2YzU0MjFkN2Ix
ODdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMDMtMTMgIEthdGUgQ2hlbmV5ICA8a2F0
aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgWyBpT1MgYW5kIE1hYyB3azIgXSBo
dHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvIHRlc3RzIGZhaWxpbmcKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTAxNgorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNjAzMjk1MzA+IAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVzZSBUZXN0T3B0aW9ucyB0byB0cmlnZ2VyIHRoZSByZS1pbml0
aWFsaXphdGlvbiBvZiBhcHAtYm91bmQgZG9tYWlucy4KKworICAgICAgICAqIGh0dHAvdGVzdHMv
aW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtZG9tYWluLmh0bWw6CisgICAgICAgICog
aHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5L3N3aXRjaC1zZXNzaW9uLW9uLW5hdmln
YXRpb24tdG8tYXBwLWJvdW5kLWRvbWFpbi5odG1sOgorCiAyMDIwLTAzLTEyICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1MgV0syXSBTb21lIHBv
aW50ZXJldmVudHMgdGVzdHMgdGltZSBvdXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtZG9tYWluLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvYXBwLWJvdW5kLWRvbWFp
bi5odG1sCmluZGV4IDUyMjVjNWY0NTkxZmEwZTJiNzg0MGY0MmEyNDM2Y2IxNjk2MGYxNjYuLjNh
ZmVlOWI0ZTg3ZTlkZDA0NjQyMjk2YjFmZjhjYjU3MTJiMjAzYjkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9hcHAtYm91bmQtZG9tYWlu
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbi1hcHAtYnJvd3Nlci1wcml2YWN5
L2FwcC1ib3VuZC1kb21haW4uaHRtbApAQCAtMSw0ICsxLDQgQEAKLTwhRE9DVFlQRSBodG1sPjwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgaW50ZXJuYWw6SXNJbkFwcEJyb3dzZXJQcml2YWN5RW5h
YmxlZD10cnVlIGFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcj10ZXN0aWRlbnRpZmllciBdIC0t
PgorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBpbnRlcm5hbDpJc0lu
QXBwQnJvd3NlclByaXZhY3lFbmFibGVkPXRydWUgYXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVy
PWluQXBwQnJvd3NlclByaXZhY3lUZXN0SWRlbnRpZmllciBdIC0tPgogPGh0bWw+CiA8aGVhZD4K
ICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXIt
cHJpdmFjeS9zd2l0Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLWFwcC1ib3VuZC1kb21haW4u
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW4tYXBwLWJyb3dzZXItcHJpdmFjeS9zd2l0
Y2gtc2Vzc2lvbi1vbi1uYXZpZ2F0aW9uLXRvLWFwcC1ib3VuZC1kb21haW4uaHRtbAppbmRleCA0
NGM2NjFhOTk3M2UyYjA1ZWY5MTlkOTRhY2FmZWVlNDJlYzdiNTg4Li4zZWI3Y2Y0NTA2ZTRkYjEz
OGRiYTlkNmVhODZmYjcxODAzM2JjMjRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luLWFwcC1icm93c2VyLXByaXZhY3kvc3dpdGNoLXNlc3Npb24tb24tbmF2aWdhdGlvbi10
by1hcHAtYm91bmQtZG9tYWluLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbi1h
cHAtYnJvd3Nlci1wcml2YWN5L3N3aXRjaC1zZXNzaW9uLW9uLW5hdmlnYXRpb24tdG8tYXBwLWJv
dW5kLWRvbWFpbi5odG1sCkBAIC0xLDQgKzEsNCBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBpbnRlcm5hbDpJc0luQXBwQnJvd3NlclByaXZhY3lFbmFibGVkPXRy
dWUgYXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyPXRlc3RpZGVudGlmaWVyIF0gLS0+Cis8IURP
Q1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGludGVybmFsOklzSW5BcHBCcm93
c2VyUHJpdmFjeUVuYWJsZWQ9dHJ1ZSBhcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXI9aW5BcHBC
cm93c2VyUHJpdmFjeVRlc3RJZGVudGlmaWVyIF0gLS0+CiA8aHRtbCBsYW5nPSJlbiI+CiA8aGVh
ZD4KICAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>