<?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>171090</bug_id>
          
          <creation_ts>2017-04-20 16:54:55 -0700</creation_ts>
          <short_desc>WebContent process becomes unresponsive after returning nil from async version of -webView:createWebViewWithConfiguration:...</short_desc>
          <delta_ts>2017-04-20 18:02:52 -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="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>aestes</cc>
    
    <cc>commit-queue</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1299395</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-04-20 16:54:55 -0700</bug_when>
    <thetext>WebContent process becomes unresponsive after returning nil from async version of -webView:createWebViewWithConfiguration:...

&lt;rdar://problem/31739023&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299398</commentid>
    <comment_count>1</comment_count>
      <attachid>307664</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-04-20 17:00:10 -0700</bug_when>
    <thetext>Created attachment 307664
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299402</commentid>
    <comment_count>2</comment_count>
      <attachid>307664</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-04-20 17:03:04 -0700</bug_when>
    <thetext>Comment on attachment 307664
Patch

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

&gt; Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm:198
&gt; +            if (webView &amp;&amp; [webView-&gt;_configuration _relatedWebView] != relatedWebView.get())
&gt;                  [NSException raise:NSInternalInconsistencyException format:@&quot;Returned WKWebView was not created with the given configuration.&quot;];

If this exception is caught, does it leave the WebProcess in an unresponsive state as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299403</commentid>
    <comment_count>3</comment_count>
      <attachid>307664</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-04-20 17:03:45 -0700</bug_when>
    <thetext>Comment on attachment 307664
Patch

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

&gt; Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm:-198
&gt; -            if (!webView)
&gt; -                return;

Can you call completionHandler with nullptr here and then not bother with the null checks below?

&gt; Tools/TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm:180
&gt;  // https://bugs.webkit.org/show_bug.cgi?id=171083 - Try to figure out why this fails for some configs but not others, and resolve.
&gt;  //TEST(WebKit2, OpenAndCloseWindowAsyncCallbackException)
&gt;  //{
&gt; -//    openedWebView = nullptr;
&gt; -//    isDone = false;
&gt; +//    resetToConsistentState();
&gt;  //
&gt;  //    RetainPtr&lt;WKWebView&gt; webView = adoptNS([[WKWebView alloc] initWithFrame:NSMakeRect(0, 0, 800, 600)]);
&gt;  //

Commented out code!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299404</commentid>
    <comment_count>4</comment_count>
      <attachid>307664</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-04-20 17:05:53 -0700</bug_when>
    <thetext>Comment on attachment 307664
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm:198
&gt;&gt;                  [NSException raise:NSInternalInconsistencyException format:@&quot;Returned WKWebView was not created with the given configuration.&quot;];
&gt; 
&gt; If this exception is caught, does it leave the WebProcess in an unresponsive state as well?

No.

Though it&apos;s a good point here...  should we allow a bogusly created WebView through just because the app caught the exception?

Same possibility has always existed for the synchronous form of this API, so it&apos;s not a new issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299405</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-04-20 17:06:22 -0700</bug_when>
    <thetext>(In reply to Andy Estes from comment #3)
&gt; Comment on attachment 307664 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=307664&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm:-198
&gt; &gt; -            if (!webView)
&gt; &gt; -                return;
&gt; 
&gt; Can you call completionHandler with nullptr here and then not bother with
&gt; the null checks below?

Yup!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299409</commentid>
    <comment_count>6</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-04-20 17:18:33 -0700</bug_when>
    <thetext>(In reply to Brady Eidson from comment #4)
&gt; Comment on attachment 307664 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=307664&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm:198
&gt; &gt;&gt;                  [NSException raise:NSInternalInconsistencyException format:@&quot;Returned WKWebView was not created with the given configuration.&quot;];
&gt; &gt; 
&gt; &gt; If this exception is caught, does it leave the WebProcess in an unresponsive state as well?
&gt; 
&gt; No.
&gt; 
&gt; Though it&apos;s a good point here...  should we allow a bogusly created WebView
&gt; through just because the app caught the exception?
&gt; 
&gt; Same possibility has always existed for the synchronous form of this API, so
&gt; it&apos;s not a new issue.


Nevermind, it would totally hang and you&apos;d be left in a completely inconsistent state...

But same thing for the sync version of this API, as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299412</commentid>
    <comment_count>7</comment_count>
      <attachid>307667</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-04-20 17:20:56 -0700</bug_when>
    <thetext>Created attachment 307667
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299429</commentid>
    <comment_count>8</comment_count>
      <attachid>307667</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-20 18:02:51 -0700</bug_when>
    <thetext>Comment on attachment 307667
Patch

Clearing flags on attachment: 307667

Committed r215598: &lt;http://trac.webkit.org/changeset/215598&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1299430</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-20 18:02:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>307664</attachid>
            <date>2017-04-20 17:00:10 -0700</date>
            <delta_ts>2017-04-20 17:20:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171090-20170420170009.patch</filename>
            <type>text/plain</type>
            <size>9032</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1NTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggN2NmZDNjMGU2NzRmOTg2
MjJlMzcxYzBlNWMyNjA1YTI5OWU3MzQ2Ni4uY2ZhNGQ3YzkyOGE0MTA2YmU1ZDQwNTA1YjU4OWRh
ZDVmMTgxNDg1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE3LTA0LTIwICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJDb250ZW50IHByb2Nl
c3MgYmVjb21lcyB1bnJlc3BvbnNpdmUgYWZ0ZXIgcmV0dXJuaW5nIG5pbCBmcm9tIGFzeW5jIHZl
cnNpb24gb2YgLXdlYlZpZXc6Y3JlYXRlV2ViVmlld1dpdGhDb25maWd1cmF0aW9uOi4uLgorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMzE3MzkwMjM+IGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTcxMDkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbToKKyAgICAg
ICAgKFdlYktpdDo6VUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OmNyZWF0ZU5ld1BhZ2VDb21tb24pOiBI
YW5kbGUgdGhlIHBlcmZlY3RseSB2YWxpZCAibmlsIHdlYlZpZXciIGNhc2UgY29ycmVjdGx5Lgor
CiAyMDE3LTA0LTIwICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAg
RGlzYWJsZSBoZWFkZXIgcG9zdHByb2Nlc3Npbmcgd2hlbiBidWlsZGluZyBmb3IgU2llcnJhCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbSBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCmluZGV4IDNjOGRk
NzM3NDhhM2YyNjkwMTJkYzMzM2QwNDBiYjI0OGEzYmVmNmYuLjNiYWI3YjNiZTk2MTY0MmQ3NTc4
YmE2NjExNzFlOGI4MmIzNjg1MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db2NvYS9VSURlbGVnYXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2Nv
YS9VSURlbGVnYXRlLm1tCkBAIC0xOTQsMTQgKzE5NCwxMCBAQCBSZWZQdHI8V2ViS2l0OjpXZWJQ
YWdlUHJveHk+IFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpjcmVhdGVOZXdQYWdlQ29tbW9uKFdlYktp
dDo6VwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIGNoZWNrZXItPmRpZENh
bGxDb21wbGV0aW9uSGFuZGxlcigpOwogCi0gICAgICAgICAgICBpZiAoIXdlYlZpZXcpCi0gICAg
ICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBpZiAoW3dlYlZpZXctPl9jb25maWd1
cmF0aW9uIF9yZWxhdGVkV2ViVmlld10gIT0gcmVsYXRlZFdlYlZpZXcuZ2V0KCkpCisgICAgICAg
ICAgICBpZiAod2ViVmlldyAmJiBbd2ViVmlldy0+X2NvbmZpZ3VyYXRpb24gX3JlbGF0ZWRXZWJW
aWV3XSAhPSByZWxhdGVkV2ViVmlldy5nZXQoKSkKICAgICAgICAgICAgICAgICBbTlNFeGNlcHRp
b24gcmFpc2U6TlNJbnRlcm5hbEluY29uc2lzdGVuY3lFeGNlcHRpb24gZm9ybWF0OkAiUmV0dXJu
ZWQgV0tXZWJWaWV3IHdhcyBub3QgY3JlYXRlZCB3aXRoIHRoZSBnaXZlbiBjb25maWd1cmF0aW9u
LiJdOwogCi0gICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcih3ZWJWaWV3LT5fcGFnZS5nZXQo
KSk7Ci0KKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHdlYlZpZXcgPyB3ZWJWaWV3LT5f
cGFnZS5nZXQoKSA6IG51bGxwdHIpOwogICAgICAgICB9KS5nZXQoKV07CiAKICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggNWEyOTAzOTA2ZmRhMDYwYTJjZWY4NTA0ZThhMjBkZmM3NWZlZDdjNC4uNWJjYzk1
NzEzMGUyNTcyYWVmMzMyN2E4NzUzNjRmYTk4MDAxOWI1NCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIwIEBACiAyMDE3LTA0LTIw
ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAorICAgICAgICBXZWJDb250ZW50
IHByb2Nlc3MgYmVjb21lcyB1bnJlc3BvbnNpdmUgYWZ0ZXIgcmV0dXJuaW5nIG5pbCBmcm9tIGFz
eW5jIHZlcnNpb24gb2YgLXdlYlZpZXc6Y3JlYXRlV2ViVmlld1dpdGhDb25maWd1cmF0aW9uOi4u
LgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzE3MzkwMjM+IGFuZCBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxMDkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvb3Bl
bi1hbmQtY2xvc2Utd2luZG93Lmh0bWw6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQyQ29jb2EvT3BlbkFuZENsb3NlV2luZG93Lm1tOgorICAgICAgICAocmVzZXRUb0NvbnNp
c3RlbnRTdGF0ZSk6CisgICAgICAgICgtW09wZW5BbmRDbG9zZVdpbmRvd1VJRGVsZWdhdGUgd2Vi
Vmlld0RpZENsb3NlOl0pOgorICAgICAgICAoLVtPcGVuQW5kQ2xvc2VXaW5kb3dVSURlbGVnYXRl
IHdlYlZpZXc6Y3JlYXRlV2ViVmlld1dpdGhDb25maWd1cmF0aW9uOmZvck5hdmlnYXRpb25BY3Rp
b246d2luZG93RmVhdHVyZXM6XSk6CisgICAgICAgIChURVNUKToKKyAgICAgICAgKC1bT3BlbkFu
ZENsb3NlV2luZG93VUlEZWxlZ2F0ZUFzeW5jIF93ZWJWaWV3OmNyZWF0ZVdlYlZpZXdXaXRoQ29u
ZmlndXJhdGlvbjpmb3JOYXZpZ2F0aW9uQWN0aW9uOndpbmRvd0ZlYXR1cmVzOmNvbXBsZXRpb25I
YW5kbGVyOl0pOgorCisyMDE3LTA0LTIwICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNv
bT4KKwogICAgICAgICBTa2lwIFdlYktpdDIuT3BlbkFuZENsb3NlV2luZG93QXN5bmNDYWxsYmFj
a0V4Y2VwdGlvbiBmb3Igbm93LgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTcxMDgzCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Mi9vcGVuLWFuZC1jbG9zZS13aW5kb3cuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Mi9vcGVuLWFuZC1jbG9zZS13aW5kb3cuaHRtbAppbmRleCA2YWM3Nzhh
OWUyYjY3NDJhYWU1M2VmNjgxMDg3Mjk3YzQ1M2NmY2EyLi42NzcxODdlNjkyZmU4Njk5ODU1ODY0
NmY5YzA3NjA1ZjRhNDlmZjliIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdDIvb3Blbi1hbmQtY2xvc2Utd2luZG93Lmh0bWwKKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQyL29wZW4tYW5kLWNsb3NlLXdpbmRvdy5odG1sCkBAIC00LDggKzQs
MTAgQEAKIDxzY3JpcHQ+CiBpZiAoZG9jdW1lbnQubG9jYXRpb24uc2VhcmNoID09PSAiP2Nsb3Nl
LXdpbmRvdyIpCiAgICAgd2luZG93LmNsb3NlKCk7Ci1lbHNlCi0gICAgd2luZG93Lm9wZW4oIm9w
ZW4tYW5kLWNsb3NlLXdpbmRvdy5odG1sP2Nsb3NlLXdpbmRvdyIpOworZWxzZSB7CisgICAgaWYg
KCF3aW5kb3cub3Blbigib3Blbi1hbmQtY2xvc2Utd2luZG93Lmh0bWw/Y2xvc2Utd2luZG93Iikp
CisgICAgICAgIHdpbmRvdy5jbG9zZSgpOworfQogPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8L2h0bWw+
CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9PcGVu
QW5kQ2xvc2VXaW5kb3cubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2Nv
YS9PcGVuQW5kQ2xvc2VXaW5kb3cubW0KaW5kZXggNTEyZGE2ZGIzZWUyMDcwODE2MjNkNzE3YTk0
YzkzMTZlNThlMDUyYi4uMjJhNGRiODZkYzliZWJiMzM3NGM0ZjdhOWEwZDhiNTQzYjkyNmVhNCAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvT3BlbkFu
ZENsb3NlV2luZG93Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNv
Y29hL09wZW5BbmRDbG9zZVdpbmRvdy5tbQpAQCAtNDIsMTQgKzQyLDIzIEBAIHN0YXRpYyBSZXRh
aW5QdHI8V0tXZWJWaWV3PiBvcGVuZWRXZWJWaWV3Owogc3RhdGljIFJldGFpblB0cjxPcGVuQW5k
Q2xvc2VXaW5kb3dVSURlbGVnYXRlPiBzaGFyZWRVSURlbGVnYXRlOwogc3RhdGljIFJldGFpblB0
cjxPcGVuQW5kQ2xvc2VXaW5kb3dVSURlbGVnYXRlQXN5bmM+IHNoYXJlZFVJRGVsZWdhdGVBc3lu
YzsKIAorc3RhdGljIHZvaWQgcmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpCit7CisgICAgaXNEb25l
ID0gZmFsc2U7CisgICAgb3BlbmVkV2ViVmlldyA9IG5pbDsKKyAgICBzaGFyZWRVSURlbGVnYXRl
ID0gbmlsOworICAgIHNoYXJlZFVJRGVsZWdhdGVBc3luYyA9IG5pbDsKK30KKwogQGludGVyZmFj
ZSBPcGVuQW5kQ2xvc2VXaW5kb3dVSURlbGVnYXRlIDogTlNPYmplY3QgPFdLVUlEZWxlZ2F0ZT4K
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFdLV2ViVmlldyAqZXhwZWN0ZWRDbG9zaW5n
VmlldzsKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIE9wZW5BbmRDbG9zZVdpbmRvd1VJRGVsZWdh
dGUKIAogLSAodm9pZCl3ZWJWaWV3RGlkQ2xvc2U6KFdLV2ViVmlldyAqKXdlYlZpZXcKIHsKLSAg
ICBFWFBFQ1RfRVEob3BlbmVkV2ViVmlldywgd2ViVmlldyk7CisgICAgRVhQRUNUX0VRKF9leHBl
Y3RlZENsb3NpbmdWaWV3LCB3ZWJWaWV3KTsKICAgICBpc0RvbmUgPSB0cnVlOwogfQogCkBAIC01
Nyw2ICs2Niw3IEBAIC0gKFdLV2ViVmlldyAqKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcg
Y3JlYXRlV2ViVmlld1dpdGhDb25maWd1cmF0aW9uOihXS1dlCiB7CiAgICAgb3BlbmVkV2ViVmll
dyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgw
LCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXSk7CiAgICAgW29wZW5l
ZFdlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpzaGFyZWRVSURlbGVnYXRlLmdldCgpXTsKKyAgICBfZXhw
ZWN0ZWRDbG9zaW5nVmlldyA9IG9wZW5lZFdlYlZpZXcuZ2V0KCk7CiAgICAgcmV0dXJuIG9wZW5l
ZFdlYlZpZXcuZ2V0KCk7CiB9CiAKQEAgLTY0LDggKzc0LDcgQEAgQGVuZAogCiBURVNUKFdlYktp
dDIsIE9wZW5BbmRDbG9zZVdpbmRvdykKIHsKLSAgICBvcGVuZWRXZWJWaWV3ID0gbnVsbHB0cjsK
LSAgICBpc0RvbmUgPSBmYWxzZTsKKyAgICByZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CiAKICAg
ICBSZXRhaW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxv
Y10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKV0pOwogCkBAIC04Myw3
ICs5Miw3IEBAIFRFU1QoV2ViS2l0MiwgT3BlbkFuZENsb3NlV2luZG93KQogQGludGVyZmFjZSBP
cGVuQW5kQ2xvc2VXaW5kb3dVSURlbGVnYXRlQXN5bmMgOiBPcGVuQW5kQ2xvc2VXaW5kb3dVSURl
bGVnYXRlCiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBzaG91bGRDYWxsYmFjazsKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIGlkIHNhdmVkQ29tcGxldGlvbkhhbmRsZXI7Ci0KK0Bw
cm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHNob3VsZENhbGxiYWNrV2l0aE5pbDsKIEBlbmQKIAog
QGltcGxlbWVudGF0aW9uIE9wZW5BbmRDbG9zZVdpbmRvd1VJRGVsZWdhdGVBc3luYwpAQCAtMTAz
LDExICsxMTIsMTkgQEAgLSAoV0tXZWJWaWV3ICopd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmll
dyBjcmVhdGVXZWJWaWV3V2l0aENvbmZpZ3VyYXRpb246KFdLV2UKIC0gKHZvaWQpX3dlYlZpZXc6
KFdLV2ViVmlldyAqKXdlYlZpZXcgY3JlYXRlV2ViVmlld1dpdGhDb25maWd1cmF0aW9uOihXS1dl
YlZpZXdDb25maWd1cmF0aW9uICopY29uZmlndXJhdGlvbiBmb3JOYXZpZ2F0aW9uQWN0aW9uOihX
S05hdmlnYXRpb25BY3Rpb24gKiluYXZpZ2F0aW9uQWN0aW9uIHdpbmRvd0ZlYXR1cmVzOihXS1dp
bmRvd0ZlYXR1cmVzICopd2luZG93RmVhdHVyZXMgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4p
KFdLV2ViVmlldyAqd2ViVmlldykpY29tcGxldGlvbkhhbmRsZXIKIHsKICAgICBpZiAoX3Nob3Vs
ZENhbGxiYWNrKSB7Ci0gICAgICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1
ZXVlKCksIF4gewotICAgICAgICAgICAgb3BlbmVkV2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZp
ZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmln
dXJhdGlvbjpjb25maWd1cmF0aW9uXSk7Ci0gICAgICAgICAgICBbb3BlbmVkV2ViVmlldyBzZXRV
SURlbGVnYXRlOnNoYXJlZFVJRGVsZWdhdGVBc3luYy5nZXQoKV07Ci0gICAgICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcihvcGVuZWRXZWJWaWV3LmdldCgpKTsKLSAgICAgICAgfSk7CisgICAgICAg
IGlmICghX3Nob3VsZENhbGxiYWNrV2l0aE5pbCkgeworICAgICAgICAgICAgZGlzcGF0Y2hfYXN5
bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXiB7CisgICAgICAgICAgICAgICAgb3BlbmVk
V2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtl
UmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXSk7CisgICAg
ICAgICAgICAgICAgW29wZW5lZFdlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpzaGFyZWRVSURlbGVnYXRl
QXN5bmMuZ2V0KCldOworICAgICAgICAgICAgICAgIHNlbGYuZXhwZWN0ZWRDbG9zaW5nVmlldyA9
IG9wZW5lZFdlYlZpZXcuZ2V0KCk7CisgICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIo
b3BlbmVkV2ViVmlldy5nZXQoKSk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIF4g
eworICAgICAgICAgICAgICAgIHNlbGYuZXhwZWN0ZWRDbG9zaW5nVmlldyA9IHdlYlZpZXc7Cisg
ICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIobmlsKTsKKyAgICAgICAgICAgIH0pOwor
ICAgICAgICB9CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTExOSwxMyArMTM2LDMxIEBA
IEBlbmQKIAogVEVTVChXZWJLaXQyLCBPcGVuQW5kQ2xvc2VXaW5kb3dBc3luYykKIHsKLSAgICBv
cGVuZWRXZWJWaWV3ID0gbnVsbHB0cjsKLSAgICBpc0RvbmUgPSBmYWxzZTsKKyAgICByZXNldFRv
Q29uc2lzdGVudFN0YXRlKCk7CisKKyAgICBSZXRhaW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0g
YWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAs
IDgwMCwgNjAwKV0pOworCisgICAgc2hhcmVkVUlEZWxlZ2F0ZUFzeW5jID0gYWRvcHROUyhbW09w
ZW5BbmRDbG9zZVdpbmRvd1VJRGVsZWdhdGVBc3luYyBhbGxvY10gaW5pdF0pOworICAgIHNoYXJl
ZFVJRGVsZWdhdGVBc3luYy5nZXQoKS5zaG91bGRDYWxsYmFjayA9IFlFUzsKKyAgICBbd2ViVmll
dyBzZXRVSURlbGVnYXRlOnNoYXJlZFVJRGVsZWdhdGVBc3luYy5nZXQoKV07CisKKyAgICBbd2Vi
VmlldyBjb25maWd1cmF0aW9uXS5wcmVmZXJlbmNlcy5qYXZhU2NyaXB0Q2FuT3BlbldpbmRvd3NB
dXRvbWF0aWNhbGx5ID0gWUVTOworCisgICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJM
UmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291
cmNlOkAib3Blbi1hbmQtY2xvc2Utd2luZG93IiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGly
ZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXV07CisgICAgW3dlYlZpZXcgbG9hZFJl
cXVlc3Q6cmVxdWVzdF07CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmlzRG9uZSk7
Cit9CisKK1RFU1QoV2ViS2l0MiwgT3BlbkFzeW5jV2l0aE5pbCkKK3sKKyAgICByZXNldFRvQ29u
c2lzdGVudFN0YXRlKCk7CiAKICAgICBSZXRhaW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRv
cHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgw
MCwgNjAwKV0pOwogCiAgICAgc2hhcmVkVUlEZWxlZ2F0ZUFzeW5jID0gYWRvcHROUyhbW09wZW5B
bmRDbG9zZVdpbmRvd1VJRGVsZWdhdGVBc3luYyBhbGxvY10gaW5pdF0pOwogICAgIHNoYXJlZFVJ
RGVsZWdhdGVBc3luYy5nZXQoKS5zaG91bGRDYWxsYmFjayA9IFlFUzsKKyAgICBzaGFyZWRVSURl
bGVnYXRlQXN5bmMuZ2V0KCkuc2hvdWxkQ2FsbGJhY2tXaXRoTmlsID0gWUVTOwogICAgIFt3ZWJW
aWV3IHNldFVJRGVsZWdhdGU6c2hhcmVkVUlEZWxlZ2F0ZUFzeW5jLmdldCgpXTsKIAogICAgIFt3
ZWJWaWV3IGNvbmZpZ3VyYXRpb25dLnByZWZlcmVuY2VzLmphdmFTY3JpcHRDYW5PcGVuV2luZG93
c0F1dG9tYXRpY2FsbHkgPSBZRVM7CkBAIC0xMzksOCArMTc0LDcgQEAgVEVTVChXZWJLaXQyLCBP
cGVuQW5kQ2xvc2VXaW5kb3dBc3luYykKIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzEwODMgLSBUcnkgdG8gZmlndXJlIG91dCB3aHkgdGhpcyBmYWlscyBmb3Ig
c29tZSBjb25maWdzIGJ1dCBub3Qgb3RoZXJzLCBhbmQgcmVzb2x2ZS4KIC8vVEVTVChXZWJLaXQy
LCBPcGVuQW5kQ2xvc2VXaW5kb3dBc3luY0NhbGxiYWNrRXhjZXB0aW9uKQogLy97Ci0vLyAgICBv
cGVuZWRXZWJWaWV3ID0gbnVsbHB0cjsKLS8vICAgIGlzRG9uZSA9IGZhbHNlOworLy8gICAgcmVz
ZXRUb0NvbnNpc3RlbnRTdGF0ZSgpOwogLy8KIC8vICAgIFJldGFpblB0cjxXS1dlYlZpZXc+IHdl
YlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJl
Y3QoMCwgMCwgODAwLCA2MDApXSk7CiAvLwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>307667</attachid>
            <date>2017-04-20 17:20:56 -0700</date>
            <delta_ts>2017-04-20 18:02:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-171090-20170420172056.patch</filename>
            <type>text/plain</type>
            <size>8944</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE1NTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggN2NmZDNjMGU2NzRmOTg2
MjJlMzcxYzBlNWMyNjA1YTI5OWU3MzQ2Ni4uZmE3YzhiNWExMWE3ZmRjMjIxZWE2YmVhZmZhYzdh
YjI0YTJjNjM0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE3LTA0LTIwICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJDb250ZW50IHByb2Nl
c3MgYmVjb21lcyB1bnJlc3BvbnNpdmUgYWZ0ZXIgcmV0dXJuaW5nIG5pbCBmcm9tIGFzeW5jIHZl
cnNpb24gb2YgLXdlYlZpZXc6Y3JlYXRlV2ViVmlld1dpdGhDb25maWd1cmF0aW9uOi4uLgorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMzE3MzkwMjM+IGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTcxMDkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW5keSBFc3Rl
cy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAgICAo
V2ViS2l0OjpVSURlbGVnYXRlOjpVSUNsaWVudDo6Y3JlYXRlTmV3UGFnZUNvbW1vbik6IEhhbmRs
ZSB0aGUgcGVyZmVjdGx5IHZhbGlkICJuaWwgd2ViVmlldyIgY2FzZSBjb3JyZWN0bHkuCisKIDIw
MTctMDQtMjAgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBEaXNh
YmxlIGhlYWRlciBwb3N0cHJvY2Vzc2luZyB3aGVuIGJ1aWxkaW5nIGZvciBTaWVycmEKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KaW5kZXggM2M4ZGQ3Mzc0
OGEzZjI2OTAxMmRjMzMzZDA0MGJiMjQ4YTNiZWY2Zi4uNTZhYmJhNzAzZjM5MDJkMDQ1NjkwNmU1
N2E2ZGQ2NjgxMzQxNzA2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
Y29hL1VJRGVsZWdhdGUubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1VJ
RGVsZWdhdGUubW0KQEAgLTE5NCwxNCArMTk0LDE1IEBAIFJlZlB0cjxXZWJLaXQ6OldlYlBhZ2VQ
cm94eT4gVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OmNyZWF0ZU5ld1BhZ2VDb21tb24oV2ViS2l0OjpX
CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgY2hlY2tlci0+ZGlkQ2FsbENv
bXBsZXRpb25IYW5kbGVyKCk7CiAKLSAgICAgICAgICAgIGlmICghd2ViVmlldykKKyAgICAgICAg
ICAgIGlmICghd2ViVmlldykgeworICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG51
bGxwdHIpOwogICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KIAogICAgICAg
ICAgICAgaWYgKFt3ZWJWaWV3LT5fY29uZmlndXJhdGlvbiBfcmVsYXRlZFdlYlZpZXddICE9IHJl
bGF0ZWRXZWJWaWV3LmdldCgpKQogICAgICAgICAgICAgICAgIFtOU0V4Y2VwdGlvbiByYWlzZTpO
U0ludGVybmFsSW5jb25zaXN0ZW5jeUV4Y2VwdGlvbiBmb3JtYXQ6QCJSZXR1cm5lZCBXS1dlYlZp
ZXcgd2FzIG5vdCBjcmVhdGVkIHdpdGggdGhlIGdpdmVuIGNvbmZpZ3VyYXRpb24uIl07CiAKICAg
ICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHdlYlZpZXctPl9wYWdlLmdldCgpKTsKLQogICAg
ICAgICB9KS5nZXQoKV07CiAKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNWEyOTAzOTA2ZmRhMDYwYTJj
ZWY4NTA0ZThhMjBkZmM3NWZlZDdjNC4uMWNjMzllMDUwMTYyNjI3MDg1NDAzNWJkNjgyNzVmMjFj
ZjcyOTEzYiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSw1ICsxLDIwIEBACiAyMDE3LTA0LTIwICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFw
cGxlLmNvbT4KIAorICAgICAgICBXZWJDb250ZW50IHByb2Nlc3MgYmVjb21lcyB1bnJlc3BvbnNp
dmUgYWZ0ZXIgcmV0dXJuaW5nIG5pbCBmcm9tIGFzeW5jIHZlcnNpb24gb2YgLXdlYlZpZXc6Y3Jl
YXRlV2ViVmlld1dpdGhDb25maWd1cmF0aW9uOi4uLgorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MzE3MzkwMjM+IGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcx
MDkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW5keSBFc3Rlcy4KKworICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9vcGVuLWFuZC1jbG9zZS13aW5kb3cuaHRtbDoKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9PcGVuQW5kQ2xvc2VXaW5kb3cu
bW06CisgICAgICAgIChyZXNldFRvQ29uc2lzdGVudFN0YXRlKToKKyAgICAgICAgKC1bT3BlbkFu
ZENsb3NlV2luZG93VUlEZWxlZ2F0ZSB3ZWJWaWV3RGlkQ2xvc2U6XSk6CisgICAgICAgICgtW09w
ZW5BbmRDbG9zZVdpbmRvd1VJRGVsZWdhdGUgd2ViVmlldzpjcmVhdGVXZWJWaWV3V2l0aENvbmZp
Z3VyYXRpb246Zm9yTmF2aWdhdGlvbkFjdGlvbjp3aW5kb3dGZWF0dXJlczpdKToKKyAgICAgICAg
KFRFU1QpOgorICAgICAgICAoLVtPcGVuQW5kQ2xvc2VXaW5kb3dVSURlbGVnYXRlQXN5bmMgX3dl
YlZpZXc6Y3JlYXRlV2ViVmlld1dpdGhDb25maWd1cmF0aW9uOmZvck5hdmlnYXRpb25BY3Rpb246
d2luZG93RmVhdHVyZXM6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisKKzIwMTctMDQtMjAgIEJyYWR5
IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCiAgICAgICAgIFNraXAgV2ViS2l0Mi5PcGVu
QW5kQ2xvc2VXaW5kb3dBc3luY0NhbGxiYWNrRXhjZXB0aW9uIGZvciBub3cuCiAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzEwODMKIApkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL29wZW4tYW5kLWNsb3NlLXdpbmRv
dy5odG1sIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL29wZW4tYW5kLWNsb3Nl
LXdpbmRvdy5odG1sCmluZGV4IDZhYzc3OGE5ZTJiNjc0MmFhZTUzZWY2ODEwODcyOTdjNDUzY2Zj
YTIuLjY3NzE4N2U2OTJmZTg2OTk4NTU4NjQ2ZjljMDc2MDVmNGE0OWZmOWIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9vcGVuLWFuZC1jbG9zZS13aW5kb3cu
aHRtbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvb3Blbi1hbmQtY2xv
c2Utd2luZG93Lmh0bWwKQEAgLTQsOCArNCwxMCBAQAogPHNjcmlwdD4KIGlmIChkb2N1bWVudC5s
b2NhdGlvbi5zZWFyY2ggPT09ICI/Y2xvc2Utd2luZG93IikKICAgICB3aW5kb3cuY2xvc2UoKTsK
LWVsc2UKLSAgICB3aW5kb3cub3Blbigib3Blbi1hbmQtY2xvc2Utd2luZG93Lmh0bWw/Y2xvc2Ut
d2luZG93Iik7CitlbHNlIHsKKyAgICBpZiAoIXdpbmRvdy5vcGVuKCJvcGVuLWFuZC1jbG9zZS13
aW5kb3cuaHRtbD9jbG9zZS13aW5kb3ciKSkKKyAgICAgICAgd2luZG93LmNsb3NlKCk7Cit9CiA8
L3NjcmlwdD4KIDwvaGVhZD4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0MkNvY29hL09wZW5BbmRDbG9zZVdpbmRvdy5tbSBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL09wZW5BbmRDbG9zZVdpbmRvdy5tbQppbmRleCA1
MTJkYTZkYjNlZTIwNzA4MTYyM2Q3MTdhOTRjOTMxNmU1OGUwNTJiLi4yMmE0ZGI4NmRjOWJlYmIz
Mzc0YzRmN2E5YTBkOGI1NDNiOTI2ZWE0IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdDJDb2NvYS9PcGVuQW5kQ2xvc2VXaW5kb3cubW0KKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvT3BlbkFuZENsb3NlV2luZG93Lm1tCkBAIC00
MiwxNCArNDIsMjMgQEAgc3RhdGljIFJldGFpblB0cjxXS1dlYlZpZXc+IG9wZW5lZFdlYlZpZXc7
CiBzdGF0aWMgUmV0YWluUHRyPE9wZW5BbmRDbG9zZVdpbmRvd1VJRGVsZWdhdGU+IHNoYXJlZFVJ
RGVsZWdhdGU7CiBzdGF0aWMgUmV0YWluUHRyPE9wZW5BbmRDbG9zZVdpbmRvd1VJRGVsZWdhdGVB
c3luYz4gc2hhcmVkVUlEZWxlZ2F0ZUFzeW5jOwogCitzdGF0aWMgdm9pZCByZXNldFRvQ29uc2lz
dGVudFN0YXRlKCkKK3sKKyAgICBpc0RvbmUgPSBmYWxzZTsKKyAgICBvcGVuZWRXZWJWaWV3ID0g
bmlsOworICAgIHNoYXJlZFVJRGVsZWdhdGUgPSBuaWw7CisgICAgc2hhcmVkVUlEZWxlZ2F0ZUFz
eW5jID0gbmlsOworfQorCiBAaW50ZXJmYWNlIE9wZW5BbmRDbG9zZVdpbmRvd1VJRGVsZWdhdGUg
OiBOU09iamVjdCA8V0tVSURlbGVnYXRlPgorQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikg
V0tXZWJWaWV3ICpleHBlY3RlZENsb3NpbmdWaWV3OwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24g
T3BlbkFuZENsb3NlV2luZG93VUlEZWxlZ2F0ZQogCiAtICh2b2lkKXdlYlZpZXdEaWRDbG9zZToo
V0tXZWJWaWV3ICopd2ViVmlldwogewotICAgIEVYUEVDVF9FUShvcGVuZWRXZWJWaWV3LCB3ZWJW
aWV3KTsKKyAgICBFWFBFQ1RfRVEoX2V4cGVjdGVkQ2xvc2luZ1ZpZXcsIHdlYlZpZXcpOwogICAg
IGlzRG9uZSA9IHRydWU7CiB9CiAKQEAgLTU3LDYgKzY2LDcgQEAgLSAoV0tXZWJWaWV3ICopd2Vi
VmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBjcmVhdGVXZWJWaWV3V2l0aENvbmZpZ3VyYXRpb246
KFdLV2UKIHsKICAgICBvcGVuZWRXZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10g
aW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNv
bmZpZ3VyYXRpb25dKTsKICAgICBbb3BlbmVkV2ViVmlldyBzZXRVSURlbGVnYXRlOnNoYXJlZFVJ
RGVsZWdhdGUuZ2V0KCldOworICAgIF9leHBlY3RlZENsb3NpbmdWaWV3ID0gb3BlbmVkV2ViVmll
dy5nZXQoKTsKICAgICByZXR1cm4gb3BlbmVkV2ViVmlldy5nZXQoKTsKIH0KIApAQCAtNjQsOCAr
NzQsNyBAQCBAZW5kCiAKIFRFU1QoV2ViS2l0MiwgT3BlbkFuZENsb3NlV2luZG93KQogewotICAg
IG9wZW5lZFdlYlZpZXcgPSBudWxscHRyOwotICAgIGlzRG9uZSA9IGZhbHNlOworICAgIHJlc2V0
VG9Db25zaXN0ZW50U3RhdGUoKTsKIAogICAgIFJldGFpblB0cjxXS1dlYlZpZXc+IHdlYlZpZXcg
PSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwg
MCwgODAwLCA2MDApXSk7CiAKQEAgLTgzLDcgKzkyLDcgQEAgVEVTVChXZWJLaXQyLCBPcGVuQW5k
Q2xvc2VXaW5kb3cpCiBAaW50ZXJmYWNlIE9wZW5BbmRDbG9zZVdpbmRvd1VJRGVsZWdhdGVBc3lu
YyA6IE9wZW5BbmRDbG9zZVdpbmRvd1VJRGVsZWdhdGUKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBC
T09MIHNob3VsZENhbGxiYWNrOwogQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgaWQgc2F2
ZWRDb21wbGV0aW9uSGFuZGxlcjsKLQorQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgc2hvdWxk
Q2FsbGJhY2tXaXRoTmlsOwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gT3BlbkFuZENsb3NlV2lu
ZG93VUlEZWxlZ2F0ZUFzeW5jCkBAIC0xMDMsMTEgKzExMiwxOSBAQCAtIChXS1dlYlZpZXcgKil3
ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGNyZWF0ZVdlYlZpZXdXaXRoQ29uZmlndXJhdGlv
bjooV0tXZQogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBjcmVhdGVXZWJW
aWV3V2l0aENvbmZpZ3VyYXRpb246KFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKiljb25maWd1cmF0
aW9uIGZvck5hdmlnYXRpb25BY3Rpb246KFdLTmF2aWdhdGlvbkFjdGlvbiAqKW5hdmlnYXRpb25B
Y3Rpb24gd2luZG93RmVhdHVyZXM6KFdLV2luZG93RmVhdHVyZXMgKil3aW5kb3dGZWF0dXJlcyBj
b21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoV0tXZWJWaWV3ICp3ZWJWaWV3KSljb21wbGV0aW9u
SGFuZGxlcgogewogICAgIGlmIChfc2hvdWxkQ2FsbGJhY2spIHsKLSAgICAgICAgZGlzcGF0Y2hf
YXN5bmMoZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXiB7Ci0gICAgICAgICAgICBvcGVuZWRX
ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VS
ZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb25dKTsKLSAgICAg
ICAgICAgIFtvcGVuZWRXZWJWaWV3IHNldFVJRGVsZWdhdGU6c2hhcmVkVUlEZWxlZ2F0ZUFzeW5j
LmdldCgpXTsKLSAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG9wZW5lZFdlYlZpZXcuZ2V0
KCkpOwotICAgICAgICB9KTsKKyAgICAgICAgaWYgKCFfc2hvdWxkQ2FsbGJhY2tXaXRoTmlsKSB7
CisgICAgICAgICAgICBkaXNwYXRjaF9hc3luYyhkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBe
IHsKKyAgICAgICAgICAgICAgICBvcGVuZWRXZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBh
bGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0
aW9uOmNvbmZpZ3VyYXRpb25dKTsKKyAgICAgICAgICAgICAgICBbb3BlbmVkV2ViVmlldyBzZXRV
SURlbGVnYXRlOnNoYXJlZFVJRGVsZWdhdGVBc3luYy5nZXQoKV07CisgICAgICAgICAgICAgICAg
c2VsZi5leHBlY3RlZENsb3NpbmdWaWV3ID0gb3BlbmVkV2ViVmlldy5nZXQoKTsKKyAgICAgICAg
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihvcGVuZWRXZWJWaWV3LmdldCgpKTsKKyAgICAgICAg
ICAgIH0pOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZGlzcGF0Y2hfYXN5bmMoZGlz
cGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXiB7CisgICAgICAgICAgICAgICAgc2VsZi5leHBlY3Rl
ZENsb3NpbmdWaWV3ID0gd2ViVmlldzsKKyAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cihuaWwpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KICAgICAgICAgcmV0dXJuOwogICAg
IH0KIApAQCAtMTE5LDEzICsxMzYsMzEgQEAgQGVuZAogCiBURVNUKFdlYktpdDIsIE9wZW5BbmRD
bG9zZVdpbmRvd0FzeW5jKQogewotICAgIG9wZW5lZFdlYlZpZXcgPSBudWxscHRyOwotICAgIGlz
RG9uZSA9IGZhbHNlOworICAgIHJlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKKworICAgIFJldGFp
blB0cjxXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0
V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApXSk7CisKKyAgICBzaGFyZWRVSURl
bGVnYXRlQXN5bmMgPSBhZG9wdE5TKFtbT3BlbkFuZENsb3NlV2luZG93VUlEZWxlZ2F0ZUFzeW5j
IGFsbG9jXSBpbml0XSk7CisgICAgc2hhcmVkVUlEZWxlZ2F0ZUFzeW5jLmdldCgpLnNob3VsZENh
bGxiYWNrID0gWUVTOworICAgIFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6c2hhcmVkVUlEZWxlZ2F0
ZUFzeW5jLmdldCgpXTsKKworICAgIFt3ZWJWaWV3IGNvbmZpZ3VyYXRpb25dLnByZWZlcmVuY2Vz
LmphdmFTY3JpcHRDYW5PcGVuV2luZG93c0F1dG9tYXRpY2FsbHkgPSBZRVM7CisKKyAgICBOU1VS
TFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltbTlNCdW5k
bGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJvcGVuLWFuZC1jbG9zZS13aW5kb3ciIHdp
dGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNl
cyJdXTsKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpyZXF1ZXN0XTsKKworICAgIFRlc3RXZWJL
aXRBUEk6OlV0aWw6OnJ1bigmaXNEb25lKTsKK30KKworVEVTVChXZWJLaXQyLCBPcGVuQXN5bmNX
aXRoTmlsKQoreworICAgIHJlc2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKIAogICAgIFJldGFpblB0
cjxXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0
aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApXSk7CiAKICAgICBzaGFyZWRVSURlbGVn
YXRlQXN5bmMgPSBhZG9wdE5TKFtbT3BlbkFuZENsb3NlV2luZG93VUlEZWxlZ2F0ZUFzeW5jIGFs
bG9jXSBpbml0XSk7CiAgICAgc2hhcmVkVUlEZWxlZ2F0ZUFzeW5jLmdldCgpLnNob3VsZENhbGxi
YWNrID0gWUVTOworICAgIHNoYXJlZFVJRGVsZWdhdGVBc3luYy5nZXQoKS5zaG91bGRDYWxsYmFj
a1dpdGhOaWwgPSBZRVM7CiAgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpzaGFyZWRVSURlbGVn
YXRlQXN5bmMuZ2V0KCldOwogCiAgICAgW3dlYlZpZXcgY29uZmlndXJhdGlvbl0ucHJlZmVyZW5j
ZXMuamF2YVNjcmlwdENhbk9wZW5XaW5kb3dzQXV0b21hdGljYWxseSA9IFlFUzsKQEAgLTEzOSw4
ICsxNzQsNyBAQCBURVNUKFdlYktpdDIsIE9wZW5BbmRDbG9zZVdpbmRvd0FzeW5jKQogLy8gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTA4MyAtIFRyeSB0byBmaWd1
cmUgb3V0IHdoeSB0aGlzIGZhaWxzIGZvciBzb21lIGNvbmZpZ3MgYnV0IG5vdCBvdGhlcnMsIGFu
ZCByZXNvbHZlLgogLy9URVNUKFdlYktpdDIsIE9wZW5BbmRDbG9zZVdpbmRvd0FzeW5jQ2FsbGJh
Y2tFeGNlcHRpb24pCiAvL3sKLS8vICAgIG9wZW5lZFdlYlZpZXcgPSBudWxscHRyOwotLy8gICAg
aXNEb25lID0gZmFsc2U7CisvLyAgICByZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CiAvLwogLy8g
ICAgUmV0YWluUHRyPFdLV2ViVmlldz4gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxs
b2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCldKTsKIC8vCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>