<?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>144079</bug_id>
          
          <creation_ts>2015-04-22 16:26:44 -0700</creation_ts>
          <short_desc>Provide a runtime flag to run-webkit-tests that shows the test view</short_desc>
          <delta_ts>2015-05-04 21:13:08 -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>Tools / Tests</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>144588</blocked>
    
    <blocked>144589</blocked>
    
    <blocked>144621</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>bfulgham</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1087639</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-04-22 16:26:44 -0700</bug_when>
    <thetext>I find it helpful when debugging tests to be able to see the WebView as the test runs. We should provide a runtime flag so that instead of rendering off screen we can display the view.

This should be available for:
1. DumpRenderTree
2. WebKitTestRunner
3. TestWebKitAPI</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090527</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-04-30 12:13:28 -0700</bug_when>
    <thetext>Skipping TestWebKitAPI for now, since it doesn&apos;t process its own arguments (it&apos;s all driven by the Google test infrastructure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090531</commentid>
    <comment_count>2</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-04-30 12:23:27 -0700</bug_when>
    <thetext>Since this is only needed for debugging while creating tests, we will invoke it via the &quot;--additional-drt-flag&quot; option:

--additional-drt-flag=&quot;--show-webview&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090532</commentid>
    <comment_count>3</comment_count>
      <attachid>252078</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-04-30 12:23:39 -0700</bug_when>
    <thetext>Created attachment 252078
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090570</commentid>
    <comment_count>4</comment_count>
      <attachid>252078</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-04-30 14:17:04 -0700</bug_when>
    <thetext>Comment on attachment 252078
Patch

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

&gt; Tools/WebKitTestRunner/Options.cpp:115
&gt; +    if (option[0] &amp;&amp; option[1] &amp;&amp; option[0] == &apos;-&apos; &amp;&amp; option[1] == &apos;-&apos;)
&gt; +        return true;

Why this bit? It&apos;s different from how handleOptionRemoteLayerTree works.

&gt; Tools/WebKitTestRunner/TestInvocation.cpp:180
&gt; +    WKRetainPtr&lt;WKStringRef&gt; shouldShowWebViewKey(AdoptWK, WKStringCreateWithUTF8CString(&quot;ShouldShowWebView&quot;));
&gt; +    WKRetainPtr&lt;WKBooleanRef&gt; shouldShowWebViewValue = adoptWK(WKBooleanCreate(TestController::singleton().shouldShowWebView()));
&gt; +    WKDictionarySetItem(beginTestMessageBody.get(), shouldShowWebViewKey.get(), shouldShowWebViewValue.get());

I don&apos;t get why these have to go to the injected bundle. We create the view in the UI process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090600</commentid>
    <comment_count>5</comment_count>
      <attachid>252095</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-04-30 15:26:45 -0700</bug_when>
    <thetext>Created attachment 252095
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090602</commentid>
    <comment_count>6</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-04-30 15:28:03 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 252078 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=252078&amp;action=review
&gt; 
&gt; &gt; Tools/WebKitTestRunner/Options.cpp:115
&gt; &gt; +    if (option[0] &amp;&amp; option[1] &amp;&amp; option[0] == &apos;-&apos; &amp;&amp; option[1] == &apos;-&apos;)
&gt; &gt; +        return true;
&gt; 
&gt; Why this bit? It&apos;s different from how handleOptionRemoteLayerTree works.

OK -- I fixed it to be consistent with &quot;--remote-layer-tree&quot;.

&gt; &gt; Tools/WebKitTestRunner/TestInvocation.cpp:180
&gt; &gt; +    WKRetainPtr&lt;WKStringRef&gt; shouldShowWebViewKey(AdoptWK, WKStringCreateWithUTF8CString(&quot;ShouldShowWebView&quot;));
&gt; &gt; +    WKRetainPtr&lt;WKBooleanRef&gt; shouldShowWebViewValue = adoptWK(WKBooleanCreate(TestController::singleton().shouldShowWebView()));
&gt; &gt; +    WKDictionarySetItem(beginTestMessageBody.get(), shouldShowWebViewKey.get(), shouldShowWebViewValue.get());
&gt; 
&gt; I don&apos;t get why these have to go to the injected bundle. We create the view
&gt; in the UI process.

I was just blindly following the &quot;timeout&quot; option. We don&apos;t need this for the InjectedBundle. I&apos;ll remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090626</commentid>
    <comment_count>7</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-04-30 16:15:05 -0700</bug_when>
    <thetext>Committed r183651: &lt;http://trac.webkit.org/changeset/183651&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090797</commentid>
    <comment_count>8</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-05-01 09:24:46 -0700</bug_when>
    <thetext>Follow-up correction landed in r183765:
Committed r183765: &lt;http://trac.webkit.org/changeset/183765&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252078</attachid>
            <date>2015-04-30 12:23:39 -0700</date>
            <delta_ts>2015-04-30 15:26:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144079-20150430122228.patch</filename>
            <type>text/plain</type>
            <size>15822</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE4MzYzOCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQzIEBACisyMDE1LTA0LTMwICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29t
PgorCisgICAgICAgIFByb3ZpZGUgYSBydW50aW1lIGZsYWcgdG8gcnVuLXdlYmtpdC10ZXN0cyB0
aGF0IHNob3dzIHRoZSB0ZXN0IHZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE0NDA3OS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgZmxhZyAoLS1zaG93LXdlYnZpZXcpIHRoYXQgY2F1
c2VzIER1bXBSZW5kZXJUcmVlIGFuZCBXZWJLaXRUZXN0UnVubmVyIHRvIGRpc3BsYXkKKyAgICAg
ICAgdGhlaXIgV2ViVmlld3Mgb24tc2NyZWVuLiBUaGlzIGNhbiBiZSB1c2VkIHdoZW4gcnVubmlu
ZyB0ZXN0cyB2aWEgdGhlICItLWFkZGl0aW9uYWwtZHJ0LWZsYWciCisgICAgICAgIG9wdGlvbjoK
KyAgICAgICAgCisgICAgICAgIC0tYWRkaXRpb25hbC1kcnQtZmxhZz0iLS1zaG93LXdlYnZpZXci
CisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAg
ICAgIChjcmVhdGVXZWJWaWV3QW5kT2Zmc2NyZWVuV2luZG93KTogVXNlIGFuIG9uLXNjcmVlbiB3
aW5kb3cgcmVjdCBpZiB0aGUgdXNlciBwYXNzZWQgdGhlCisgICAgICAgICctLXNob3ctd2Vidmll
dycgZmxhZy4KKyAgICAgICAgKGluaXRpYWxpemVHbG9iYWxzRnJvbUNvbW1hbmRMaW5lT3B0aW9u
cyk6IFJlY29nbml6ZSB0aGUgIi0tc2hvdy13ZWJ2aWV3IiBvcHRpb24uCisgICAgICAgICogV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHA6CisgICAgICAg
IChXVFI6OkluamVjdGVkQnVuZGxlOjpJbmplY3RlZEJ1bmRsZSk6CisgICAgICAgIChXVFI6Oklu
amVjdGVkQnVuZGxlOjpkaWRSZWNlaXZlTWVzc2FnZVRvUGFnZSk6IENoZWNrIHBhc3NlZCBkaWN0
aW9uYXJ5IGZvciB0aGUKKyAgICAgICAgJ1Nob3VsZFNob3dXZWJWaWV3JyBrZXkuCisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oOgorICAg
ICAgICAoV1RSOjpJbmplY3RlZEJ1bmRsZTo6c2hvdWxkU2hvd1dlYlZpZXcpOgorICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvT3B0aW9ucy5jcHA6CisgICAgICAgIChXVFI6Ok9wdGlvbnM6Ok9w
dGlvbnMpOgorICAgICAgICAoV1RSOjpoYW5kbGVPcHRpb25TaG93V2ViVmlldyk6CisgICAgICAg
IChXVFI6Ok9wdGlvbnNIYW5kbGVyOjpPcHRpb25zSGFuZGxlcik6IFJlY29nbml6ZSB0aGUgbmV3
ICItLXNob3ctd2VidmlldyIgb3B0aW9uLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvT3B0
aW9ucy5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAo
V1RSOjpUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZSk6IFVzZSB2YWx1ZSBvZiAnc2hvdWxkU2hv
d1dlYlZpZXcnIGZyb20gdGhlIE9wdGlvbnMgYnVuZGxlLgorICAgICAgICAqIFdlYktpdFRlc3RS
dW5uZXIvVGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnNo
b3VsZFNob3dXZWJWaWV3KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0
aW9uLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdEludm9jYXRpb246Omludm9rZSk6IFBhc3MgdGhl
ICdTaG91bGRTaG93V2ViVmlldycgdmFsdWUgdGhyb3VnaCB0aGUgdGVzdCBkaWN0aW9uYXJ5IHVz
ZWQKKyAgICAgICAgYnkgdGhlIHJ1bm5pbmcgd2ViIHByb2Nlc3MuCisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9tYWMvUGxhdGZvcm1XZWJWaWV3TWFjLm1tOgorICAgICAgICAoV1RSOjpQbGF0
Zm9ybVdlYlZpZXc6OlBsYXRmb3JtV2ViVmlldyk6IFJldHJpZXZlIHRoZSB2YWx1ZSBvZiB0aGUg
J1Nob3VsZFNob3dXZWJWaWV3JyBrZXkgZnJvbSB0aGUKKyAgICAgICAgb3B0aW9ucyBkaWN0aW9u
YXJ5LiBJZiBpdCBpcyB0cnVlLCBkaXNwbGF5IHRoZSB3ZWIgdmlldyB3aGlsZSBydW5uaW5nIHRo
ZSB0ZXN0LgorCiAyMDE1LTA0LTMwICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlz
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gQWRkIGxpYmh5cGhlbi1kZXYgdG8gdGhlIGJ1
aWxkIGRlcGVuZGVuY2llcwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5k
ZXJUcmVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVu
ZGVyVHJlZS5tbQkocmV2aXNpb24gMTgzNjI2KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFj
L0R1bXBSZW5kZXJUcmVlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUtMjAwOSwgMjAxNSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiAgICAgICAgICAgKEMpIDIwMDcgR3JhaGFt
IERlbm5pcyAoZ3JhaGFtLmRlbm5pc0BnbWFpbC5jb20pCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC0y
MDUsNiArMjA1LDcgQEAgc3RhdGljIGludCB1c2VUaW1lb3V0V2F0Y2hkb2cgPSBZRVM7CiBzdGF0
aWMgaW50IGZvcmNlQ29tcGxleFRleHQ7CiBzdGF0aWMgaW50IHVzZUFjY2VsZXJhdGVkRHJhd2lu
ZzsKIHN0YXRpYyBpbnQgZ2NCZXR3ZWVuVGVzdHM7CitzdGF0aWMgaW50IHNob3dXZWJWaWV3ID0g
Tk87CiBzdGF0aWMgQk9PTCBwcmludFNlcGFyYXRvcnM7CiBzdGF0aWMgUmV0YWluUHRyPENGU3Ry
aW5nUmVmPiBwZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbjsKIHN0YXRpYyBzdGQ6OnNl
dDxzdGQ6OnN0cmluZz4gYWxsb3dlZEhvc3RzOwpAQCAtNzg0LDEzICs3ODUsMTYgQEAgV2ViVmll
dyAqY3JlYXRlV2ViVmlld0FuZE9mZnNjcmVlbldpbmRvdwogICAgIC8vIFRvIG1ha2UgdGhpbmdz
IGxpa2UgY2VydGFpbiBOU1ZpZXdzLCBkcmFnZ2luZywgYW5kIHBsdWctaW5zIHdvcmssIHB1dCB0
aGUgV2ViVmlldyBhIHdpbmRvdywgYnV0IHB1dCBpdCBvZmYtc2NyZWVuIHNvIHlvdSBkb24ndCBz
ZWUgaXQuCiAgICAgLy8gUHV0IGl0IGF0IC0xMDAwMCwgLTEwMDAwIGluICJmbGlwcGVkIGNvb3Jk
aW5hdGVzIiwgc2luY2UgV2ViQ29yZSBhbmQgdGhlIERPTSB1c2UgZmxpcHBlZCBjb29yZGluYXRl
cy4KICAgICBOU1NjcmVlbiAqZmlyc3RTY3JlZW4gPSBbW05TU2NyZWVuIHNjcmVlbnNdIGZpcnN0
T2JqZWN0XTsKLSAgICBOU1JlY3Qgd2luZG93UmVjdCA9IE5TT2Zmc2V0UmVjdChyZWN0LCAtMTAw
MDAsIFtmaXJzdFNjcmVlbiBmcmFtZV0uc2l6ZS5oZWlnaHQgLSByZWN0LnNpemUuaGVpZ2h0ICsg
MTAwMDApOworICAgIE5TUmVjdCB3aW5kb3dSZWN0ID0gKHNob3dXZWJWaWV3KSA/IE5TT2Zmc2V0
UmVjdChyZWN0LCAxMDAsIDEwMCkgOiBOU09mZnNldFJlY3QocmVjdCwgLTEwMDAwLCBbZmlyc3RT
Y3JlZW4gZnJhbWVdLnNpemUuaGVpZ2h0IC0gcmVjdC5zaXplLmhlaWdodCArIDEwMDAwKTsKICAg
ICBEdW1wUmVuZGVyVHJlZVdpbmRvdyAqd2luZG93ID0gW1tEdW1wUmVuZGVyVHJlZVdpbmRvdyBh
bGxvY10gaW5pdFdpdGhDb250ZW50UmVjdDp3aW5kb3dSZWN0IHN0eWxlTWFzazpOU0JvcmRlcmxl
c3NXaW5kb3dNYXNrIGJhY2tpbmc6TlNCYWNraW5nU3RvcmVCdWZmZXJlZCBkZWZlcjpZRVNdOwog
CiAgICAgW3dpbmRvdyBzZXRDb2xvclNwYWNlOltmaXJzdFNjcmVlbiBjb2xvclNwYWNlXV07CiAg
ICAgW3dpbmRvdyBzZXRDb2xsZWN0aW9uQmVoYXZpb3I6TlNXaW5kb3dDb2xsZWN0aW9uQmVoYXZp
b3JTdGF0aW9uYXJ5XTsKICAgICBbW3dpbmRvdyBjb250ZW50Vmlld10gYWRkU3Vidmlldzp3ZWJW
aWV3XTsKLSAgICBbd2luZG93IG9yZGVyQmFjazpuaWxdOworICAgIGlmIChzaG93V2ViVmlldykK
KyAgICAgICAgW3dpbmRvdyBvcmRlckZyb250Om5pbF07CisgICAgZWxzZQorICAgICAgICBbd2lu
ZG93IG9yZGVyQmFjazpuaWxdOwogICAgIFt3aW5kb3cgc2V0QXV0b2Rpc3BsYXk6Tk9dOwogCiAg
ICAgW3dpbmRvdyBzdGFydExpc3RlbmluZ0ZvckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdDaGFuZ2Vz
XTsKQEAgLTExMjEsNiArMTEyNSw3IEBAIHN0YXRpYyB2b2lkIGluaXRpYWxpemVHbG9iYWxzRnJv
bUNvbW1hbmQKICAgICAgICAgeyJnYy1iZXR3ZWVuLXRlc3RzIiwgbm9fYXJndW1lbnQsICZnY0Jl
dHdlZW5UZXN0cywgWUVTfSwKICAgICAgICAgeyJuby10aW1lb3V0Iiwgbm9fYXJndW1lbnQsICZ1
c2VUaW1lb3V0V2F0Y2hkb2csIE5PfSwKICAgICAgICAgeyJhbGxvd2VkLWhvc3QiLCByZXF1aXJl
ZF9hcmd1bWVudCwgbnVsbHB0ciwgJ2EnfSwKKyAgICAgICAgeyJzaG93LXdlYnZpZXciLCBub19h
cmd1bWVudCwgJnNob3dXZWJWaWV3LCBZRVN9LAogICAgICAgICB7bnVsbHB0ciwgMCwgbnVsbHB0
ciwgMH0KICAgICB9OwogICAgIApJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9PcHRpb25z
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL09wdGlvbnMuY3BwCShy
ZXZpc2lvbiAxODM2MjYpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL09wdGlvbnMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMyBV
bml2ZXJzaXR5IG9mIFN6ZWdlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAo
QykgMjAxMyBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDEsNiArNDIsNyBAQCBPcHRpb25zOjpPcHRpb25z
KCkKICAgICAsIGZvcmNlQ29tcGxleFRleHQoZmFsc2UpCiAgICAgLCBzaG91bGRVc2VBY2NlbGVy
YXRlZERyYXdpbmcoZmFsc2UpCiAgICAgLCBzaG91bGRVc2VSZW1vdGVMYXllclRyZWUoZmFsc2Up
CisgICAgLCBzaG91bGRTaG93V2ViVmlldyhmYWxzZSkKIHsKIH0KIApAQCAtMTA3LDYgKzEwOSwx
NCBAQCBib29sIGhhbmRsZU9wdGlvblVubWF0Y2hlZChPcHRpb25zJiBvcHRpCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKK2Jvb2wgaGFuZGxlT3B0aW9uU2hvd1dlYlZpZXcoT3B0aW9ucyYgb3B0aW9u
cywgY29uc3QgY2hhciogb3B0aW9uLCBjb25zdCBjaGFyKikKK3sKKyAgICBpZiAob3B0aW9uWzBd
ICYmIG9wdGlvblsxXSAmJiBvcHRpb25bMF0gPT0gJy0nICYmIG9wdGlvblsxXSA9PSAnLScpCisg
ICAgICAgIHJldHVybiB0cnVlOworICAgIG9wdGlvbnMuc2hvdWxkU2hvd1dlYlZpZXcgPSB0cnVl
OworICAgIHJldHVybiB0cnVlOworfQorCiBPcHRpb25zSGFuZGxlcjo6T3B0aW9uc0hhbmRsZXIo
T3B0aW9ucyYgbykKICAgICA6IG9wdGlvbnMobykKIHsKQEAgLTEyMCw2ICsxMzAsNyBAQCBPcHRp
b25zSGFuZGxlcjo6T3B0aW9uc0hhbmRsZXIoT3B0aW9ucyYgCiAgICAgb3B0aW9uTGlzdC5hcHBl
bmQoT3B0aW9uKCItLWFjY2VsZXJhdGVkLWRyYXdpbmciLCAiVXNlIGFjY2VsZXJhdGVkIGRyYXdp
bmcuIiwgaGFuZGxlT3B0aW9uQWNjZWxlcmF0ZWREcmF3aW5nKSk7CiAgICAgb3B0aW9uTGlzdC5h
cHBlbmQoT3B0aW9uKCItLXJlbW90ZS1sYXllci10cmVlIiwgIlVzZSByZW1vdGUgbGF5ZXIgdHJl
ZS4iLCBoYW5kbGVPcHRpb25SZW1vdGVMYXllclRyZWUpKTsKICAgICBvcHRpb25MaXN0LmFwcGVu
ZChPcHRpb24oIi0tYWxsb3dlZC1ob3N0IiwgIkFsbG93cyBhY2Nlc3MgdG8gdGhlIHNwZWNpZmll
ZCBob3N0IGZyb20gdGVzdHMuIiwgaGFuZGxlT3B0aW9uQWxsb3dlZEhvc3QsIHRydWUpKTsKKyAg
ICBvcHRpb25MaXN0LmFwcGVuZChPcHRpb24oIi0tc2hvdy13ZWJ2aWV3IiwgIlNob3cgdGhlIFdl
YlZpZXcgZHVyaW5nIHRlc3QgcnVucyAoZm9yIERlYnVnZ2luZykiLCBoYW5kbGVPcHRpb25TaG93
V2ViVmlldywgZmFsc2UpKTsKIAogICAgIG9wdGlvbkxpc3QuYXBwZW5kKE9wdGlvbigwLCAwLCBo
YW5kbGVPcHRpb25Vbm1hdGNoZWQpKTsKIH0KSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIv
T3B0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvT3B0aW9ucy5o
CShyZXZpc2lvbiAxODM2MjYpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL09wdGlvbnMuaAko
d29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMg
VW5pdmVyc2l0eSBvZiBTemVnZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ2LDYgKzQ3LDcgQEAgc3RydWN0IE9wdGlvbnMg
ewogICAgIGJvb2wgZm9yY2VDb21wbGV4VGV4dDsKICAgICBib29sIHNob3VsZFVzZUFjY2VsZXJh
dGVkRHJhd2luZzsKICAgICBib29sIHNob3VsZFVzZVJlbW90ZUxheWVyVHJlZTsKKyAgICBib29s
IHNob3VsZFNob3dXZWJWaWV3OwogICAgIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBwYXRoczsK
ICAgICBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4gYWxsb3dlZEhvc3RzOwogfTsKSW5kZXg6IFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAxODM2MjYp
CisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDE0
LTIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC0xMjUsNiArMTI1LDcgQEAgVGVzdENvbnRyb2xsZXI6OlRlc3RDb250
cm9sbGVyKGludCBhcmdjLAogICAgICwgbV9zaG91bGRVc2VBY2NlbGVyYXRlZERyYXdpbmcoZmFs
c2UpCiAgICAgLCBtX3Nob3VsZFVzZVJlbW90ZUxheWVyVHJlZShmYWxzZSkKICAgICAsIG1fc2hv
dWxkTG9nSGlzdG9yeUNsaWVudENhbGxiYWNrcyhmYWxzZSkKKyAgICAsIG1fc2hvdWxkU2hvd1dl
YlZpZXcoZmFsc2UpCiB7CiAgICAgaW5pdGlhbGl6ZShhcmdjLCBhcmd2KTsKICAgICBjb250cm9s
bGVyID0gdGhpczsKQEAgLTMyOCw2ICszMjksNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjppbml0
aWFsaXplKGludCBhcmdjCiAgICAgbV9zaG91bGRVc2VSZW1vdGVMYXllclRyZWUgPSBvcHRpb25z
LnNob3VsZFVzZVJlbW90ZUxheWVyVHJlZTsKICAgICBtX3BhdGhzID0gb3B0aW9ucy5wYXRoczsK
ICAgICBtX2FsbG93ZWRIb3N0cyA9IG9wdGlvbnMuYWxsb3dlZEhvc3RzOworICAgIG1fc2hvdWxk
U2hvd1dlYlZpZXcgPSBvcHRpb25zLnNob3VsZFNob3dXZWJWaWV3OwogCiAgICAgaWYgKG9wdGlv
bnMucHJpbnRTdXBwb3J0ZWRGZWF0dXJlcykgewogICAgICAgICAvLyBGSVhNRTogT24gV2luZG93
cywgRHVtcFJlbmRlclRyZWUgdXNlcyB0aGlzIHRvIGV4cG9zZSB3aGV0aGVyIGl0IHN1cHBvcnRz
IDNkCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCShyZXZpc2lv
biAxODM2MjYpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAx
NSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTc0LDcgKzc0LDkgQEAgcHVibGljOgogICAgIGJvb2wgdXNlV2FpdFRvRHVt
cFdhdGNoZG9nVGltZXIoKSB7IHJldHVybiBtX3VzZVdhaXRUb0R1bXBXYXRjaGRvZ1RpbWVyOyB9
CiAgICAgdm9pZCBydW5VbnRpbChib29sJiBkb25lLCBkb3VibGUgdGltZW91dFNlY29uZHMpOwog
ICAgIHZvaWQgbm90aWZ5RG9uZSgpOwotICAgIAorCisgICAgYm9vbCBzaG91bGRTaG93V2ViVmll
dygpIGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxkU2hvd1dlYlZpZXc7IH0KKwogICAgIHZvaWQgY29u
ZmlndXJlVmlld0ZvclRlc3QoY29uc3QgVGVzdEludm9jYXRpb24mKTsKICAgICAKICAgICBib29s
IGJlZm9yZVVubG9hZFJldHVyblZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9iZWZvcmVVbmxvYWRS
ZXR1cm5WYWx1ZTsgfQpAQCAtMjY5LDYgKzI3MSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3No
b3VsZFVzZVJlbW90ZUxheWVyVHJlZTsKIAogICAgIGJvb2wgbV9zaG91bGRMb2dIaXN0b3J5Q2xp
ZW50Q2FsbGJhY2tzOworICAgIGJvb2wgbV9zaG91bGRTaG93V2ViVmlldzsKIAogICAgIHN0ZDo6
dW5pcXVlX3B0cjxFdmVudFNlbmRlclByb3h5PiBtX2V2ZW50U2VuZGVyUHJveHk7CiAKSW5kZXg6
IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCShyZXZpc2lvbiAxODM2
MjYpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEs
IDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDEwLTIwMTIsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJp
Z2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dApAQCAtMTc1LDYgKzE3NSwxMCBAQCB2b2lkIFRlc3RJbnZvY2F0aW9uOjpp
bnZva2UoKQogICAgIFdLUmV0YWluUHRyPFdLVUludDY0UmVmPiB0aW1lb3V0VmFsdWUgPSBhZG9w
dFdLKFdLVUludDY0Q3JlYXRlKG1fdGltZW91dCkpOwogICAgIFdLRGljdGlvbmFyeVNldEl0ZW0o
YmVnaW5UZXN0TWVzc2FnZUJvZHkuZ2V0KCksIHRpbWVvdXRLZXkuZ2V0KCksIHRpbWVvdXRWYWx1
ZS5nZXQoKSk7CiAKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gc2hvdWxkU2hvd1dlYlZp
ZXdLZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlNob3VsZFNob3dX
ZWJWaWV3IikpOworICAgIFdLUmV0YWluUHRyPFdLQm9vbGVhblJlZj4gc2hvdWxkU2hvd1dlYlZp
ZXdWYWx1ZSA9IGFkb3B0V0soV0tCb29sZWFuQ3JlYXRlKFRlc3RDb250cm9sbGVyOjpzaW5nbGV0
b24oKS5zaG91bGRTaG93V2ViVmlldygpKSk7CisgICAgV0tEaWN0aW9uYXJ5U2V0SXRlbShiZWdp
blRlc3RNZXNzYWdlQm9keS5nZXQoKSwgc2hvdWxkU2hvd1dlYlZpZXdLZXkuZ2V0KCksIHNob3Vs
ZFNob3dXZWJWaWV3VmFsdWUuZ2V0KCkpOworCiAgICAgV0tQYWdlUG9zdE1lc3NhZ2VUb0luamVj
dGVkQnVuZGxlKFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5tYWluV2ViVmlldygpLT5wYWdl
KCksIG1lc3NhZ2VOYW1lLmdldCgpLCBiZWdpblRlc3RNZXNzYWdlQm9keS5nZXQoKSk7CiAKICAg
ICBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkucnVuVW50aWwobV9nb3RJbml0aWFsUmVzcG9u
c2UsIFRlc3RDb250cm9sbGVyOjpzaG9ydFRpbWVvdXQpOwpJbmRleDogVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAJ
KHJldmlzaW9uIDE4MzYyNikKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEsIDIwMTIsIDIwMTUgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC01NCw2ICs1NCw3IEBAIEluamVjdGVkQnVuZGxlOjpJbmplY3RlZEJ1bmRsZSgpCiAgICAg
LCBtX2R1bXBQaXhlbHMoZmFsc2UpCiAgICAgLCBtX3VzZVdhaXRUb0R1bXBXYXRjaGRvZ1RpbWVy
KHRydWUpCiAgICAgLCBtX3VzZVdvcmtRdWV1ZShmYWxzZSkKKyAgICAsIG1fc2hvdWxkU2hvd1dl
YlZpZXcoZmFsc2UpCiAgICAgLCBtX3RpbWVvdXQoMCkKIHsKIH0KQEAgLTE1NCw2ICsxNTUsOSBA
QCB2b2lkIEluamVjdGVkQnVuZGxlOjpkaWRSZWNlaXZlTWVzc2FnZVRvCiAgICAgICAgIFdLUmV0
YWluUHRyPFdLU3RyaW5nUmVmPiB0aW1lb3V0S2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0
aFVURjhDU3RyaW5nKCJUaW1lb3V0IikpOwogICAgICAgICBtX3RpbWVvdXQgPSAoaW50KVdLVUlu
dDY0R2V0VmFsdWUoc3RhdGljX2Nhc3Q8V0tVSW50NjRSZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1G
b3JLZXkobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCB0aW1lb3V0S2V5LmdldCgpKSkpOwogCisgICAg
ICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBzaG91bGRTaG93V2ViVmlld0tleShBZG9wdFdL
LCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiU2hvdWxkU2hvd1dlYlZpZXciKSk7Cisg
ICAgICAgIG1fc2hvdWxkU2hvd1dlYlZpZXcgPSBXS0Jvb2xlYW5HZXRWYWx1ZShzdGF0aWNfY2Fz
dDxXS0Jvb2xlYW5SZWY+KFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXkobWVzc2FnZUJvZHlEaWN0
aW9uYXJ5LCBzaG91bGRTaG93V2ViVmlld0tleS5nZXQoKSkpKTsKKwogICAgICAgICBXS1JldGFp
blB0cjxXS1N0cmluZ1JlZj4gYWNrTWVzc2FnZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVX
aXRoVVRGOENTdHJpbmcoIkFjayIpKTsKICAgICAgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+
IGFja01lc3NhZ2VCb2R5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJC
ZWdpblRlc3QiKSk7CiAgICAgICAgIFdLQnVuZGxlUGFnZVBvc3RNZXNzYWdlKHBhZ2UsIGFja01l
c3NhZ2VOYW1lLmdldCgpLCBhY2tNZXNzYWdlQm9keS5nZXQoKSk7CkluZGV4OiBUb29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5o
CShyZXZpc2lvbiAxODM2MjYpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTc2LDcgKzc2LDkgQEAgcHVi
bGljOgogCiAgICAgYm9vbCBzaG91bGREdW1wUGl4ZWxzKCkgY29uc3QgeyByZXR1cm4gbV9kdW1w
UGl4ZWxzOyB9CiAgICAgYm9vbCB1c2VXYWl0VG9EdW1wV2F0Y2hkb2dUaW1lcigpIGNvbnN0IHsg
cmV0dXJuIG1fdXNlV2FpdFRvRHVtcFdhdGNoZG9nVGltZXI7IH0KLSAgICAKKworICAgIGJvb2wg
c2hvdWxkU2hvd1dlYlZpZXcoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZFNob3dXZWJWaWV3OyB9
CisKICAgICB2b2lkIG91dHB1dFRleHQoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBwb3N0TmV3
QmVmb3JlVW5sb2FkUmV0dXJuVmFsdWUoYm9vbCk7CiAgICAgdm9pZCBwb3N0QWRkQ2hyb21lSW5w
dXRGaWVsZCgpOwpAQCAtMTYyLDYgKzE2NCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2R1bXBQ
aXhlbHM7CiAgICAgYm9vbCBtX3VzZVdhaXRUb0R1bXBXYXRjaGRvZ1RpbWVyOwogICAgIGJvb2wg
bV91c2VXb3JrUXVldWU7CisgICAgYm9vbCBtX3Nob3VsZFNob3dXZWJWaWV3OwogICAgIGludCBt
X3RpbWVvdXQ7CiAKICAgICBXS1JldGFpblB0cjxXS0RhdGFSZWY+IG1fYXVkaW9SZXN1bHQ7Cklu
ZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9QbGF0Zm9ybVdlYlZpZXdNYWMubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvUGxhdGZvcm1XZWJWaWV3TWFj
Lm1tCShyZXZpc2lvbiAxODM2MjYpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9QbGF0
Zm9ybVdlYlZpZXdNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICog
Q29weXJpZ2h0IChDKSAyMDEwLCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMywgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTE0MSwxNCArMTQx
LDIxIEBAIFBsYXRmb3JtV2ViVmlldzo6UGxhdGZvcm1XZWJWaWV3KFdLQ29udGUKICAgICBtX3Zp
ZXcgPSBbW1Rlc3RSdW5uZXJXS1ZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6cmVjdCBjb250ZXh0
UmVmOmNvbnRleHRSZWYgcGFnZUdyb3VwUmVmOnBhZ2VHcm91cFJlZiByZWxhdGVkVG9QYWdlOnJl
bGF0ZWRQYWdlIHVzZVRocmVhZGVkU2Nyb2xsaW5nOnVzZVRocmVhZGVkU2Nyb2xsaW5nXTsKICAg
ICBbbV92aWV3IHNldFdpbmRvd09jY2x1c2lvbkRldGVjdGlvbkVuYWJsZWQ6Tk9dOwogCisgICAg
V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHNob3VsZFNob3dXZWJWaWV3S2V5KEFkb3B0V0ssIFdL
U3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJTaG91bGRTaG93V2ViVmlldyIpKTsKKyAgICBX
S1R5cGVSZWYgc2hvdWxkU2hvd1dlYlZpZXdWYWx1ZSA9IG9wdGlvbnMgPyBXS0RpY3Rpb25hcnlH
ZXRJdGVtRm9yS2V5KG9wdGlvbnMsIHNob3VsZFNob3dXZWJWaWV3S2V5LmdldCgpKSA6IE5VTEw7
CisgICAgYm9vbCBzaG91bGRTaG93V2ViVmlldyA9IHNob3VsZFNob3dXZWJWaWV3VmFsdWUgJiYg
V0tCb29sZWFuR2V0VmFsdWUoc3RhdGljX2Nhc3Q8V0tCb29sZWFuUmVmPihzaG91bGRTaG93V2Vi
Vmlld1ZhbHVlKSk7CisKICAgICBOU1NjcmVlbiAqZmlyc3RTY3JlZW4gPSBbW05TU2NyZWVuIHNj
cmVlbnNdIG9iamVjdEF0SW5kZXg6MF07Ci0gICAgTlNSZWN0IHdpbmRvd1JlY3QgPSBOU09mZnNl
dFJlY3QocmVjdCwgLTEwMDAwLCBbZmlyc3RTY3JlZW4gZnJhbWVdLnNpemUuaGVpZ2h0IC0gcmVj
dC5zaXplLmhlaWdodCArIDEwMDAwKTsKKyAgICBOU1JlY3Qgd2luZG93UmVjdCA9IChzaG91bGRT
aG93V2ViVmlldykgPyBOU09mZnNldFJlY3QocmVjdCwgLTEwMDAwLCBbZmlyc3RTY3JlZW4gZnJh
bWVdLnNpemUuaGVpZ2h0IC0gcmVjdC5zaXplLmhlaWdodCArIDEwMDAwKSA6IE5TT2Zmc2V0UmVj
dChyZWN0LCAxMDAsIDEwMCk7CiAgICAgbV93aW5kb3cgPSBbW1dlYktpdFRlc3RSdW5uZXJXaW5k
b3cgYWxsb2NdIGluaXRXaXRoQ29udGVudFJlY3Q6d2luZG93UmVjdCBzdHlsZU1hc2s6TlNCb3Jk
ZXJsZXNzV2luZG93TWFzayBiYWNraW5nOihOU0JhY2tpbmdTdG9yZVR5cGUpX05TQmFja2luZ1N0
b3JlVW5idWZmZXJlZCBkZWZlcjpZRVNdOwogICAgIG1fd2luZG93LnBsYXRmb3JtV2ViVmlldyA9
IHRoaXM7CiAgICAgW21fd2luZG93IHNldENvbG9yU3BhY2U6W2ZpcnN0U2NyZWVuIGNvbG9yU3Bh
Y2VdXTsKICAgICBbbV93aW5kb3cgc2V0Q29sbGVjdGlvbkJlaGF2aW9yOk5TV2luZG93Q29sbGVj
dGlvbkJlaGF2aW9yU3RhdGlvbmFyeV07CiAgICAgW1ttX3dpbmRvdyBjb250ZW50Vmlld10gYWRk
U3VidmlldzptX3ZpZXddOwotICAgIFttX3dpbmRvdyBvcmRlckJhY2s6bmlsXTsKKyAgICBpZiAo
c2hvdWxkU2hvd1dlYlZpZXcpCisgICAgICAgIFttX3dpbmRvdyBvcmRlckZyb250Om5pbF07Cisg
ICAgZWxzZQorICAgICAgICBbbV93aW5kb3cgb3JkZXJCYWNrOm5pbF07CiAgICAgW21fd2luZG93
IHNldFJlbGVhc2VkV2hlbkNsb3NlZDpOT107CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252095</attachid>
            <date>2015-04-30 15:26:45 -0700</date>
            <delta_ts>2015-04-30 16:05:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144079-20150430152534.patch</filename>
            <type>text/plain</type>
            <size>11352</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE4MzYzOCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDM0IEBACisyMDE1LTA0LTMwICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29t
PgorCisgICAgICAgIFByb3ZpZGUgYSBydW50aW1lIGZsYWcgdG8gcnVuLXdlYmtpdC10ZXN0cyB0
aGF0IHNob3dzIHRoZSB0ZXN0IHZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE0NDA3OS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgZmxhZyAoLS1zaG93LXdlYnZpZXcpIHRoYXQgY2F1
c2VzIER1bXBSZW5kZXJUcmVlIGFuZCBXZWJLaXRUZXN0UnVubmVyIHRvIGRpc3BsYXkKKyAgICAg
ICAgdGhlaXIgV2ViVmlld3Mgb24tc2NyZWVuLiBUaGlzIGNhbiBiZSB1c2VkIHdoZW4gcnVubmlu
ZyB0ZXN0cyB2aWEgdGhlICItLWFkZGl0aW9uYWwtZHJ0LWZsYWciCisgICAgICAgIG9wdGlvbjoK
KyAgICAgICAgCisgICAgICAgIC0tYWRkaXRpb25hbC1kcnQtZmxhZz0iLS1zaG93LXdlYnZpZXci
CisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAg
ICAgIChjcmVhdGVXZWJWaWV3QW5kT2Zmc2NyZWVuV2luZG93KTogVXNlIGFuIG9uLXNjcmVlbiB3
aW5kb3cgcmVjdCBpZiB0aGUgdXNlciBwYXNzZWQgdGhlCisgICAgICAgICctLXNob3ctd2Vidmll
dycgZmxhZy4KKyAgICAgICAgKGluaXRpYWxpemVHbG9iYWxzRnJvbUNvbW1hbmRMaW5lT3B0aW9u
cyk6IFJlY29nbml6ZSB0aGUgIi0tc2hvdy13ZWJ2aWV3IiBvcHRpb24uCisgICAgICAgICogV2Vi
S2l0VGVzdFJ1bm5lci9PcHRpb25zLmNwcDoKKyAgICAgICAgKFdUUjo6T3B0aW9uczo6T3B0aW9u
cyk6CisgICAgICAgIChXVFI6OmhhbmRsZU9wdGlvblNob3dXZWJWaWV3KToKKyAgICAgICAgKFdU
Ujo6T3B0aW9uc0hhbmRsZXI6Ok9wdGlvbnNIYW5kbGVyKTogUmVjb2duaXplIHRoZSBuZXcgIi0t
c2hvdy13ZWJ2aWV3IiBvcHRpb24uCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9PcHRpb25z
Lmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpUZXN0Q29udHJvbGxlcik6CisgICAgICAgIChXVFI6
OlRlc3RDb250cm9sbGVyOjppbml0aWFsaXplKTogVXNlIHZhbHVlIG9mICdzaG91bGRTaG93V2Vi
VmlldycgZnJvbSB0aGUgT3B0aW9ucyBidW5kbGUuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0Q29udHJvbGxlci5oOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6c2hvdWxk
U2hvd1dlYlZpZXcpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvbWFjL1BsYXRmb3JtV2Vi
Vmlld01hYy5tbToKKyAgICAgICAgKFdUUjo6UGxhdGZvcm1XZWJWaWV3OjpQbGF0Zm9ybVdlYlZp
ZXcpOiBSZXRyaWV2ZSB0aGUgdmFsdWUgb2YgdGhlICdTaG91bGRTaG93V2ViVmlldycga2V5IGZy
b20gdGhlCisgICAgICAgIG9wdGlvbnMgZGljdGlvbmFyeS4gSWYgaXQgaXMgdHJ1ZSwgZGlzcGxh
eSB0aGUgd2ViIHZpZXcgd2hpbGUgcnVubmluZyB0aGUgdGVzdC4KKwogMjAxNS0wNC0zMCAgWGFi
aWVyIFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtH
VEtdIEFkZCBsaWJoeXBoZW4tZGV2IHRvIHRoZSBidWlsZCBkZXBlbmRlbmNpZXMKSW5kZXg6IFRv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHJldmlzaW9uIDE4MzYy
NikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYs
IDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDA1LTIwMDksIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICogICAgICAgICAgIChDKSAyMDA3IEdyYWhhbSBEZW5uaXMgKGdyYWhhbS5kZW5uaXNAZ21h
aWwuY29tKQogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMjA1LDYgKzIwNSw3IEBAIHN0YXRpYyBpbnQg
dXNlVGltZW91dFdhdGNoZG9nID0gWUVTOwogc3RhdGljIGludCBmb3JjZUNvbXBsZXhUZXh0Owog
c3RhdGljIGludCB1c2VBY2NlbGVyYXRlZERyYXdpbmc7CiBzdGF0aWMgaW50IGdjQmV0d2VlblRl
c3RzOworc3RhdGljIGludCBzaG93V2ViVmlldyA9IE5POwogc3RhdGljIEJPT0wgcHJpbnRTZXBh
cmF0b3JzOwogc3RhdGljIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gcGVyc2lzdGVudFVzZXJTdHls
ZVNoZWV0TG9jYXRpb247CiBzdGF0aWMgc3RkOjpzZXQ8c3RkOjpzdHJpbmc+IGFsbG93ZWRIb3N0
czsKQEAgLTc4NCwxMyArNzg1LDE2IEBAIFdlYlZpZXcgKmNyZWF0ZVdlYlZpZXdBbmRPZmZzY3Jl
ZW5XaW5kb3cKICAgICAvLyBUbyBtYWtlIHRoaW5ncyBsaWtlIGNlcnRhaW4gTlNWaWV3cywgZHJh
Z2dpbmcsIGFuZCBwbHVnLWlucyB3b3JrLCBwdXQgdGhlIFdlYlZpZXcgYSB3aW5kb3csIGJ1dCBw
dXQgaXQgb2ZmLXNjcmVlbiBzbyB5b3UgZG9uJ3Qgc2VlIGl0LgogICAgIC8vIFB1dCBpdCBhdCAt
MTAwMDAsIC0xMDAwMCBpbiAiZmxpcHBlZCBjb29yZGluYXRlcyIsIHNpbmNlIFdlYkNvcmUgYW5k
IHRoZSBET00gdXNlIGZsaXBwZWQgY29vcmRpbmF0ZXMuCiAgICAgTlNTY3JlZW4gKmZpcnN0U2Ny
ZWVuID0gW1tOU1NjcmVlbiBzY3JlZW5zXSBmaXJzdE9iamVjdF07Ci0gICAgTlNSZWN0IHdpbmRv
d1JlY3QgPSBOU09mZnNldFJlY3QocmVjdCwgLTEwMDAwLCBbZmlyc3RTY3JlZW4gZnJhbWVdLnNp
emUuaGVpZ2h0IC0gcmVjdC5zaXplLmhlaWdodCArIDEwMDAwKTsKKyAgICBOU1JlY3Qgd2luZG93
UmVjdCA9IChzaG93V2ViVmlldykgPyBOU09mZnNldFJlY3QocmVjdCwgMTAwLCAxMDApIDogTlNP
ZmZzZXRSZWN0KHJlY3QsIC0xMDAwMCwgW2ZpcnN0U2NyZWVuIGZyYW1lXS5zaXplLmhlaWdodCAt
IHJlY3Quc2l6ZS5oZWlnaHQgKyAxMDAwMCk7CiAgICAgRHVtcFJlbmRlclRyZWVXaW5kb3cgKndp
bmRvdyA9IFtbRHVtcFJlbmRlclRyZWVXaW5kb3cgYWxsb2NdIGluaXRXaXRoQ29udGVudFJlY3Q6
d2luZG93UmVjdCBzdHlsZU1hc2s6TlNCb3JkZXJsZXNzV2luZG93TWFzayBiYWNraW5nOk5TQmFj
a2luZ1N0b3JlQnVmZmVyZWQgZGVmZXI6WUVTXTsKIAogICAgIFt3aW5kb3cgc2V0Q29sb3JTcGFj
ZTpbZmlyc3RTY3JlZW4gY29sb3JTcGFjZV1dOwogICAgIFt3aW5kb3cgc2V0Q29sbGVjdGlvbkJl
aGF2aW9yOk5TV2luZG93Q29sbGVjdGlvbkJlaGF2aW9yU3RhdGlvbmFyeV07CiAgICAgW1t3aW5k
b3cgY29udGVudFZpZXddIGFkZFN1YnZpZXc6d2ViVmlld107Ci0gICAgW3dpbmRvdyBvcmRlckJh
Y2s6bmlsXTsKKyAgICBpZiAoc2hvd1dlYlZpZXcpCisgICAgICAgIFt3aW5kb3cgb3JkZXJGcm9u
dDpuaWxdOworICAgIGVsc2UKKyAgICAgICAgW3dpbmRvdyBvcmRlckJhY2s6bmlsXTsKICAgICBb
d2luZG93IHNldEF1dG9kaXNwbGF5Ok5PXTsKIAogICAgIFt3aW5kb3cgc3RhcnRMaXN0ZW5pbmdG
b3JBY2NlbGVyYXRlZENvbXBvc2l0aW5nQ2hhbmdlc107CkBAIC0xMTIxLDYgKzExMjUsNyBAQCBz
dGF0aWMgdm9pZCBpbml0aWFsaXplR2xvYmFsc0Zyb21Db21tYW5kCiAgICAgICAgIHsiZ2MtYmV0
d2Vlbi10ZXN0cyIsIG5vX2FyZ3VtZW50LCAmZ2NCZXR3ZWVuVGVzdHMsIFlFU30sCiAgICAgICAg
IHsibm8tdGltZW91dCIsIG5vX2FyZ3VtZW50LCAmdXNlVGltZW91dFdhdGNoZG9nLCBOT30sCiAg
ICAgICAgIHsiYWxsb3dlZC1ob3N0IiwgcmVxdWlyZWRfYXJndW1lbnQsIG51bGxwdHIsICdhJ30s
CisgICAgICAgIHsic2hvdy13ZWJ2aWV3Iiwgbm9fYXJndW1lbnQsICZzaG93V2ViVmlldywgWUVT
fSwKICAgICAgICAge251bGxwdHIsIDAsIG51bGxwdHIsIDB9CiAgICAgfTsKICAgICAKSW5kZXg6
IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvT3B0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9PcHRpb25zLmNwcAkocmV2aXNpb24gMTgzNjI2KQorKysgVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9PcHRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDcg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgVW5pdmVyc2l0eSBvZiBTemVnZWQuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmlj
cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTQxLDYgKzQyLDcgQEAgT3B0aW9uczo6T3B0aW9ucygpCiAgICAgLCBmb3JjZUNvbXBsZXhUZXh0
KGZhbHNlKQogICAgICwgc2hvdWxkVXNlQWNjZWxlcmF0ZWREcmF3aW5nKGZhbHNlKQogICAgICwg
c2hvdWxkVXNlUmVtb3RlTGF5ZXJUcmVlKGZhbHNlKQorICAgICwgc2hvdWxkU2hvd1dlYlZpZXco
ZmFsc2UpCiB7CiB9CiAKQEAgLTkzLDYgKzk1LDEyIEBAIGJvb2wgaGFuZGxlT3B0aW9uUmVtb3Rl
TGF5ZXJUcmVlKE9wdGlvbnMKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBoYW5kbGVPcHRp
b25TaG93V2ViVmlldyhPcHRpb25zJiBvcHRpb25zLCBjb25zdCBjaGFyKiwgY29uc3QgY2hhciop
Cit7CisgICAgb3B0aW9ucy5zaG91bGRTaG93V2ViVmlldyA9IHRydWU7CisgICAgcmV0dXJuIHRy
dWU7Cit9CisKIGJvb2wgaGFuZGxlT3B0aW9uQWxsb3dlZEhvc3QoT3B0aW9ucyYgb3B0aW9ucywg
Y29uc3QgY2hhciosIGNvbnN0IGNoYXIqIGhvc3QpCiB7CiAgICAgb3B0aW9ucy5hbGxvd2VkSG9z
dHMucHVzaF9iYWNrKGhvc3QpOwpAQCAtMTIwLDYgKzEyOCw3IEBAIE9wdGlvbnNIYW5kbGVyOjpP
cHRpb25zSGFuZGxlcihPcHRpb25zJiAKICAgICBvcHRpb25MaXN0LmFwcGVuZChPcHRpb24oIi0t
YWNjZWxlcmF0ZWQtZHJhd2luZyIsICJVc2UgYWNjZWxlcmF0ZWQgZHJhd2luZy4iLCBoYW5kbGVP
cHRpb25BY2NlbGVyYXRlZERyYXdpbmcpKTsKICAgICBvcHRpb25MaXN0LmFwcGVuZChPcHRpb24o
Ii0tcmVtb3RlLWxheWVyLXRyZWUiLCAiVXNlIHJlbW90ZSBsYXllciB0cmVlLiIsIGhhbmRsZU9w
dGlvblJlbW90ZUxheWVyVHJlZSkpOwogICAgIG9wdGlvbkxpc3QuYXBwZW5kKE9wdGlvbigiLS1h
bGxvd2VkLWhvc3QiLCAiQWxsb3dzIGFjY2VzcyB0byB0aGUgc3BlY2lmaWVkIGhvc3QgZnJvbSB0
ZXN0cy4iLCBoYW5kbGVPcHRpb25BbGxvd2VkSG9zdCwgdHJ1ZSkpOworICAgIG9wdGlvbkxpc3Qu
YXBwZW5kKE9wdGlvbigiLS1zaG93LXdlYnZpZXciLCAiU2hvdyB0aGUgV2ViVmlldyBkdXJpbmcg
dGVzdCBydW5zIChmb3IgRGVidWdnaW5nKSIsIGhhbmRsZU9wdGlvblNob3dXZWJWaWV3KSk7CiAK
ICAgICBvcHRpb25MaXN0LmFwcGVuZChPcHRpb24oMCwgMCwgaGFuZGxlT3B0aW9uVW5tYXRjaGVk
KSk7CiB9CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL09wdGlvbnMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL09wdGlvbnMuaAkocmV2aXNpb24gMTgzNjI2KQor
KysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9PcHRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTEs
NiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEzIFVuaXZlcnNpdHkgb2YgU3plZ2Vk
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxl
Y3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC00Niw2ICs0Nyw3IEBAIHN0cnVjdCBPcHRpb25zIHsKICAgICBib29sIGZvcmNlQ29t
cGxleFRleHQ7CiAgICAgYm9vbCBzaG91bGRVc2VBY2NlbGVyYXRlZERyYXdpbmc7CiAgICAgYm9v
bCBzaG91bGRVc2VSZW1vdGVMYXllclRyZWU7CisgICAgYm9vbCBzaG91bGRTaG93V2ViVmlldzsK
ICAgICBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4gcGF0aHM7CiAgICAgc3RkOjp2ZWN0b3I8c3Rk
OjpzdHJpbmc+IGFsbG93ZWRIb3N0czsKIH07CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVy
L1Rlc3RDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVy
L1Rlc3RDb250cm9sbGVyLmNwcAkocmV2aXNpb24gMTgzNjI2KQorKysgVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxNC0yMDE1IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTI1
LDYgKzEyNSw3IEBAIFRlc3RDb250cm9sbGVyOjpUZXN0Q29udHJvbGxlcihpbnQgYXJnYywKICAg
ICAsIG1fc2hvdWxkVXNlQWNjZWxlcmF0ZWREcmF3aW5nKGZhbHNlKQogICAgICwgbV9zaG91bGRV
c2VSZW1vdGVMYXllclRyZWUoZmFsc2UpCiAgICAgLCBtX3Nob3VsZExvZ0hpc3RvcnlDbGllbnRD
YWxsYmFja3MoZmFsc2UpCisgICAgLCBtX3Nob3VsZFNob3dXZWJWaWV3KGZhbHNlKQogewogICAg
IGluaXRpYWxpemUoYXJnYywgYXJndik7CiAgICAgY29udHJvbGxlciA9IHRoaXM7CkBAIC0zMjgs
NiArMzI5LDcgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZShpbnQgYXJnYwogICAg
IG1fc2hvdWxkVXNlUmVtb3RlTGF5ZXJUcmVlID0gb3B0aW9ucy5zaG91bGRVc2VSZW1vdGVMYXll
clRyZWU7CiAgICAgbV9wYXRocyA9IG9wdGlvbnMucGF0aHM7CiAgICAgbV9hbGxvd2VkSG9zdHMg
PSBvcHRpb25zLmFsbG93ZWRIb3N0czsKKyAgICBtX3Nob3VsZFNob3dXZWJWaWV3ID0gb3B0aW9u
cy5zaG91bGRTaG93V2ViVmlldzsKIAogICAgIGlmIChvcHRpb25zLnByaW50U3VwcG9ydGVkRmVh
dHVyZXMpIHsKICAgICAgICAgLy8gRklYTUU6IE9uIFdpbmRvd3MsIER1bXBSZW5kZXJUcmVlIHVz
ZXMgdGhpcyB0byBleHBvc2Ugd2hldGhlciBpdCBzdXBwb3J0cyAzZApJbmRleDogVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAkocmV2aXNpb24gMTgzNjI2KQorKysgVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC03NCw3ICs3
NCw5IEBAIHB1YmxpYzoKICAgICBib29sIHVzZVdhaXRUb0R1bXBXYXRjaGRvZ1RpbWVyKCkgeyBy
ZXR1cm4gbV91c2VXYWl0VG9EdW1wV2F0Y2hkb2dUaW1lcjsgfQogICAgIHZvaWQgcnVuVW50aWwo
Ym9vbCYgZG9uZSwgZG91YmxlIHRpbWVvdXRTZWNvbmRzKTsKICAgICB2b2lkIG5vdGlmeURvbmUo
KTsKLSAgICAKKworICAgIGJvb2wgc2hvdWxkU2hvd1dlYlZpZXcoKSBjb25zdCB7IHJldHVybiBt
X3Nob3VsZFNob3dXZWJWaWV3OyB9CisKICAgICB2b2lkIGNvbmZpZ3VyZVZpZXdGb3JUZXN0KGNv
bnN0IFRlc3RJbnZvY2F0aW9uJik7CiAgICAgCiAgICAgYm9vbCBiZWZvcmVVbmxvYWRSZXR1cm5W
YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fYmVmb3JlVW5sb2FkUmV0dXJuVmFsdWU7IH0KQEAgLTI2
OSw2ICsyNzEsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9zaG91bGRVc2VSZW1vdGVMYXllclRy
ZWU7CiAKICAgICBib29sIG1fc2hvdWxkTG9nSGlzdG9yeUNsaWVudENhbGxiYWNrczsKKyAgICBi
b29sIG1fc2hvdWxkU2hvd1dlYlZpZXc7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8RXZlbnRTZW5k
ZXJQcm94eT4gbV9ldmVudFNlbmRlclByb3h5OwogCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVu
bmVyL21hYy9QbGF0Zm9ybVdlYlZpZXdNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9tYWMvUGxhdGZvcm1XZWJWaWV3TWFjLm1tCShyZXZpc2lvbiAxODM2MjYpCisr
KyBUb29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9QbGF0Zm9ybVdlYlZpZXdNYWMubW0JKHdvcmtp
bmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEz
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwg
MjAxMywgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTE0MSwxNCArMTQxLDIxIEBAIFBsYXRmb3JtV2ViVmlldzo6
UGxhdGZvcm1XZWJWaWV3KFdLQ29udGUKICAgICBtX3ZpZXcgPSBbW1Rlc3RSdW5uZXJXS1ZpZXcg
YWxsb2NdIGluaXRXaXRoRnJhbWU6cmVjdCBjb250ZXh0UmVmOmNvbnRleHRSZWYgcGFnZUdyb3Vw
UmVmOnBhZ2VHcm91cFJlZiByZWxhdGVkVG9QYWdlOnJlbGF0ZWRQYWdlIHVzZVRocmVhZGVkU2Ny
b2xsaW5nOnVzZVRocmVhZGVkU2Nyb2xsaW5nXTsKICAgICBbbV92aWV3IHNldFdpbmRvd09jY2x1
c2lvbkRldGVjdGlvbkVuYWJsZWQ6Tk9dOwogCisgICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+
IHNob3VsZFNob3dXZWJWaWV3S2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3Ry
aW5nKCJTaG91bGRTaG93V2ViVmlldyIpKTsKKyAgICBXS1R5cGVSZWYgc2hvdWxkU2hvd1dlYlZp
ZXdWYWx1ZSA9IG9wdGlvbnMgPyBXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5KG9wdGlvbnMsIHNo
b3VsZFNob3dXZWJWaWV3S2V5LmdldCgpKSA6IE5VTEw7CisgICAgYm9vbCBzaG91bGRTaG93V2Vi
VmlldyA9IHNob3VsZFNob3dXZWJWaWV3VmFsdWUgJiYgV0tCb29sZWFuR2V0VmFsdWUoc3RhdGlj
X2Nhc3Q8V0tCb29sZWFuUmVmPihzaG91bGRTaG93V2ViVmlld1ZhbHVlKSk7CisKICAgICBOU1Nj
cmVlbiAqZmlyc3RTY3JlZW4gPSBbW05TU2NyZWVuIHNjcmVlbnNdIG9iamVjdEF0SW5kZXg6MF07
Ci0gICAgTlNSZWN0IHdpbmRvd1JlY3QgPSBOU09mZnNldFJlY3QocmVjdCwgLTEwMDAwLCBbZmly
c3RTY3JlZW4gZnJhbWVdLnNpemUuaGVpZ2h0IC0gcmVjdC5zaXplLmhlaWdodCArIDEwMDAwKTsK
KyAgICBOU1JlY3Qgd2luZG93UmVjdCA9IChzaG91bGRTaG93V2ViVmlldykgPyBOU09mZnNldFJl
Y3QocmVjdCwgMTAwLCAxMDApIDogTlNPZmZzZXRSZWN0KHJlY3QsIC0xMDAwMCwgW2ZpcnN0U2Ny
ZWVuIGZyYW1lXS5zaXplLmhlaWdodCAtIHJlY3Quc2l6ZS5oZWlnaHQgKyAxMDAwMCk7CiAgICAg
bV93aW5kb3cgPSBbW1dlYktpdFRlc3RSdW5uZXJXaW5kb3cgYWxsb2NdIGluaXRXaXRoQ29udGVu
dFJlY3Q6d2luZG93UmVjdCBzdHlsZU1hc2s6TlNCb3JkZXJsZXNzV2luZG93TWFzayBiYWNraW5n
OihOU0JhY2tpbmdTdG9yZVR5cGUpX05TQmFja2luZ1N0b3JlVW5idWZmZXJlZCBkZWZlcjpZRVNd
OwogICAgIG1fd2luZG93LnBsYXRmb3JtV2ViVmlldyA9IHRoaXM7CiAgICAgW21fd2luZG93IHNl
dENvbG9yU3BhY2U6W2ZpcnN0U2NyZWVuIGNvbG9yU3BhY2VdXTsKICAgICBbbV93aW5kb3cgc2V0
Q29sbGVjdGlvbkJlaGF2aW9yOk5TV2luZG93Q29sbGVjdGlvbkJlaGF2aW9yU3RhdGlvbmFyeV07
CiAgICAgW1ttX3dpbmRvdyBjb250ZW50Vmlld10gYWRkU3VidmlldzptX3ZpZXddOwotICAgIFtt
X3dpbmRvdyBvcmRlckJhY2s6bmlsXTsKKyAgICBpZiAoc2hvdWxkU2hvd1dlYlZpZXcpCisgICAg
ICAgIFttX3dpbmRvdyBvcmRlckZyb250Om5pbF07CisgICAgZWxzZQorICAgICAgICBbbV93aW5k
b3cgb3JkZXJCYWNrOm5pbF07CiAgICAgW21fd2luZG93IHNldFJlbGVhc2VkV2hlbkNsb3NlZDpO
T107CiB9CiAK
</data>
<flag name="review"
          id="276926"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>